diff --git a/.env.example b/.env.example old mode 100644 new mode 100755 diff --git a/.eslintrc.cjs b/.eslintrc.cjs old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/components.json b/components.json old mode 100644 new mode 100755 diff --git a/drizzle.config.ts b/drizzle.config.ts old mode 100644 new mode 100755 diff --git a/next.config.js b/next.config.js old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 index 964266f..7f77556 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "lint": "next lint", "start": "next start", "generate-apple-secret": "tsx src/scripts/generate_apple_secret.ts", - "go": "git pull && next dev", + "go": "next dev", "goprod": "next build && next start" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml old mode 100644 new mode 100755 diff --git a/postcss.config.cjs b/postcss.config.cjs old mode 100644 new mode 100755 diff --git a/prettier.config.js b/prettier.config.js old mode 100644 new mode 100755 diff --git a/public/favicon.ico b/public/favicon.ico old mode 100644 new mode 100755 diff --git a/public/logos/Apple_logo_black.svg b/public/logos/Apple_logo_black.svg old mode 100644 new mode 100755 diff --git a/public/logos/Apple_logo_grey.svg b/public/logos/Apple_logo_grey.svg old mode 100644 new mode 100755 diff --git a/src/app/api/auth/[...nextauth]/route.ts b/src/app/api/auth/[...nextauth]/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/users/set_users_name_by_email/route.ts b/src/app/api/users/set_users_name_by_email/route.ts old mode 100644 new mode 100755 diff --git a/src/app/api/users/set_users_pfp_by_email/route.ts b/src/app/api/users/set_users_pfp_by_email/route.ts old mode 100644 new mode 100755 diff --git a/src/app/billtracker/page.tsx b/src/app/billtracker/page.tsx old mode 100644 new mode 100755 diff --git a/src/app/layout.tsx b/src/app/layout.tsx old mode 100644 new mode 100755 index ede535b..031692c --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,16 +2,12 @@ import "~/styles/globals.css"; import { Inter as FontSans } from "next/font/google"; import { cn } from "~/lib/utils" import { auth } from "~/auth" -import Sign_In_Apple_Button from "~/components/auth/server/SignInAppleButton" -import Title from "~/components/home/Title" -import First_Sign_In_Form from "~/components/auth/FirstSignInForm" import { SessionProvider } from "next-auth/react"; import Theme_Provider from "~/components/theme/theme_provider" -import Hero from "~/components/home/Hero" -import Nav_Bar from "~/components/home/NavBar" -import Avatar_Popover from "~/components/auth/AvatarPopover" -import Theme_Toggle from "~/components/theme/theme_toggle" import { type Metadata } from "next"; +import Theme_Toggle from '~/components/theme/theme_toggle' +import { Button } from "~/components/ui/button" +import Link from 'next/link' export const metadata: Metadata = { title: "Tenant Portal", @@ -29,76 +25,75 @@ export default async function RootLayout({ }: Readonly<{ children: React.ReactNode }>) { const session = await auth(); if (!session?.user) { - return ( - - - - -
-
- -
-
- - <Sign_In_Apple_Button /> - </div> - </main> - {children} - </SessionProvider> - </Theme_Provider> - </body> - </html> - ); - } else { - const users_email = session.user.email ?? ""; - const users_name = session.user.name ?? "New User"; - return ( - <html lang="en"> - <body - className={cn( - "min-h-screen bg-background font-sans antialiased", - fontSans.variable)} - > - <Theme_Provider - attribute="class" - defaultTheme="system" - enableSystem={true} - disableTransitionOnChange={true} - > - <SessionProvider> - <div className="w-11/12 flex flex-col mx-auto"> - < First_Sign_In_Form users_name={users_name} users_email={users_email} /> - </div> - <div className="flex flex-row p-4"> - <div className="w-1/6 md:w-1/4 p-4"> - <div className="flex flex-col"> - <Hero /> - <Nav_Bar /> - </div> - </div> - {children} - <div className="w-1/12 p-4 flex flex-row justify-end"> - <div className="pb-1 px-4"> - <Theme_Toggle /> - </div> - <div className="w-auto"> - <Avatar_Popover /> - </div> - </div> - </div> - </SessionProvider> - </Theme_Provider> - </body> - </html> - ); } + return ( + <html lang="en"> + <body + className={cn( + "min-h-screen bg-background font-sans antialiased", + fontSans.variable)} + > + <Theme_Provider + attribute="class" + defaultTheme="system" + enableSystem={true} + disableTransitionOnChange={true} + > + <SessionProvider> + + <div className="flex flex-col min-h-screen"> + <header className="bg-background shadow-sm"> + <div className="container mx-auto px-4 py-4 flex justify-between items-center"> + <Link href="/" className="text-2xl:md font-bold text-primary">Magnolia Coast Properties</Link> + <nav className="hidden md:flex space-x-2 lg:space-x-4 text-sm lg:text-lg"> + <Link href="#" className="text-gray-600 hover:text-primary">Home</Link> + <Link href="#" className="text-gray-600 hover:text-primary">Properties</Link> + <Link href="#" className="text-gray-600 hover:text-primary">Services</Link> + <Link href="#" className="text-gray-600 hover:text-primary">About</Link> + <Link href="#" className="text-gray-600 hover:text-primary">Contact</Link> + </nav> + <div className="flex space-x-2"> + <Theme_Toggle/> + <Button variant="outline">Login</Button> + <Button>Register</Button> + </div> + </div> + </header> + {children} + <footer className="bg-background text-primary py-8"> + <div className="container mx-auto px-4"> + <div className="grid grid-cols-1 md:grid-cols-3 gap-8"> + <div> + <h3 className="text-xl font-bold mb-4">Magnolia Coast Property Management</h3> + <p>Your trusted partner in property management</p> + </div> + <div> + <h4 className="text-lg font-semibold mb-4">Quick Links</h4> + <ul className="space-y-2"> + <li><Link href="#" className="hover:text-primary-foreground">Home</Link></li> + <li><Link href="#" className="hover:text-primary-foreground">Properties</Link></li> + <li><Link href="#" className="hover:text-primary-foreground">Services</Link></li> + <li><Link href="#" className="hover:text-primary-foreground">About Us</Link></li> + <li><Link href="#" className="hover:text-primary-foreground">Contact</Link></li> + </ul> + </div> + <div> + <h4 className="text-lg font-semibold mb-4">Contact Us</h4> + <p>123 Property Street</p> + <p>City, State 12345</p> + <p>Phone: (123) 456-7890</p> + <p>Email: info@propertypro.com</p> + </div> + </div> + <div className="mt-8 text-center"> + <p>© 2024 Magnolia Coast Property Management LLC. All rights reserved.</p> + </div> + </div> + </footer> + </div> + </SessionProvider> + </Theme_Provider> + </body> + </html> + ); } diff --git a/src/app/page.tsx b/src/app/page.tsx old mode 100644 new mode 100755 index 3d6f1b6..007a5da --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,17 +1,88 @@ -"use server" -import { auth } from "~/auth" -import Breadcrumb_Home from "~/components/home/breadcrumb/BreadcrumbHome" +import Link from 'next/link' +import { Button } from "~/components/ui/button" +import { Input } from "~/components/ui/input" +import { Card, CardContent, CardFooter, CardHeader, CardTitle } from "~/components/ui/card" +import { Search, Home, Key, Wrench, DollarSign } from 'lucide-react' export default async function HomePage() { - const session = await auth() - if (!session?.user) return <></> - return ( - <div className="w-2/3 flex flex-col p-6"> - <div className="flex flex-row"> - <div className=""> - <Breadcrumb_Home /> + return ( + <main className="flex-grow"> + <section className="bg-gradient-to-r from-background to-primary-foreground text-primary py-20"> + <div className="container mx-auto px-4 text-center"> + <h1 className="text-4xl md:text-5xl font-bold mb-4">Find Your Perfect Property</h1> + <p className="text-xl mb-8">Discover a wide range of properties for sale and rent</p> + <div className="max-w-2xl mx-auto flex"> + <Input type="text" placeholder="Search properties..." className="flex-grow" /> + <Button className="ml-2"> + <Search className="mr-2 h-4 w-4" /> Search + </Button> </div> </div> - </div> - ); + </section> + + <section className="py-16"> + <div className="container mx-auto px-4"> + <h2 className="text-3xl font-bold mb-8 text-center">Featured Properties</h2> + <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8"> + {[1, 2, 3].map((i) => ( + <Card key={i}> + <CardHeader> + <CardTitle>Beautiful Property {i}</CardTitle> + </CardHeader> + <CardContent> + <img src={`/placeholder.svg?height=200&width=300`} alt={`Property ${i}`} className="w-full h-48 object-cover mb-4 rounded" /> + <p className="text-gray-600">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> + </CardContent> + <CardFooter> + <Button className="w-full">View Details</Button> + </CardFooter> + </Card> + ))} + </div> + </div> + </section> + + <section className="bg-background py-16"> + <div className="container mx-auto px-4"> + <h2 className="text-3xl font-bold mb-8 text-center">Our Services</h2> + <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-8"> + {[ + { icon: Home, title: "Property Management" }, + { icon: Key, title: "Rentals" }, + { icon: Wrench, title: "Maintenance" }, + { icon: DollarSign, title: "Rent Collection" }, + ].map((service, i) => ( + <Card key={i} className="text-center"> + <CardHeader> + <service.icon className="mx-auto h-12 w-12 text-primary" /> + <CardTitle>{service.title}</CardTitle> + </CardHeader> + <CardContent> + <p className="text-gray-600">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> + </CardContent> + </Card> + ))} + </div> + </div> + </section> + + </main> + ) } +//"use server" +//import { auth } from "~/auth" +//import Breadcrumb_Home from "~/components/home/breadcrumb/BreadcrumbHome" + +//export default async function HomePage() { + //const session = await auth() + //if (!session?.user) return <></> + //return ( + //<div className="w-2/3 flex flex-col p-6"> + //<div className="flex flex-row"> + //<div className=""> + //<Breadcrumb_Home /> + //</div> + //</div> + //</div> + //); +//} diff --git a/src/auth.config.ts b/src/auth.config.ts old mode 100644 new mode 100755 diff --git a/src/auth.ts b/src/auth.ts old mode 100644 new mode 100755 diff --git a/src/components/auth/AvatarPopover.tsx b/src/components/auth/AvatarPopover.tsx old mode 100644 new mode 100755 diff --git a/src/components/auth/FirstSignInForm.tsx b/src/components/auth/FirstSignInForm.tsx old mode 100644 new mode 100755 diff --git a/src/components/auth/client/SignInAppleButton.tsx b/src/components/auth/client/SignInAppleButton.tsx old mode 100644 new mode 100755 diff --git a/src/components/auth/client/SignOutButton.tsx b/src/components/auth/client/SignOutButton.tsx old mode 100644 new mode 100755 diff --git a/src/components/auth/server/SignInAppleButton.tsx b/src/components/auth/server/SignInAppleButton.tsx old mode 100644 new mode 100755 diff --git a/src/components/auth/server/SignOutButton.tsx b/src/components/auth/server/SignOutButton.tsx old mode 100644 new mode 100755 diff --git a/src/components/billtracker/BillForm.tsx b/src/components/billtracker/BillForm.tsx old mode 100644 new mode 100755 diff --git a/src/components/billtracker/BillTrackerCalendar.tsx b/src/components/billtracker/BillTrackerCalendar.tsx old mode 100644 new mode 100755 diff --git a/src/components/billtracker/CreateBillDrawer.tsx b/src/components/billtracker/CreateBillDrawer.tsx old mode 100644 new mode 100755 diff --git a/src/components/billtracker/CreateBillForm.tsx b/src/components/billtracker/CreateBillForm.tsx old mode 100644 new mode 100755 diff --git a/src/components/billtracker/ServerBillDrawer.tsx b/src/components/billtracker/ServerBillDrawer.tsx old mode 100644 new mode 100755 diff --git a/src/components/home/Hero.tsx b/src/components/home/Hero.tsx old mode 100644 new mode 100755 diff --git a/src/components/home/NavBar.tsx b/src/components/home/NavBar.tsx old mode 100644 new mode 100755 diff --git a/src/components/home/Title.tsx b/src/components/home/Title.tsx old mode 100644 new mode 100755 diff --git a/src/components/home/breadcrumb/BreadCrumbBillTracker.tsx b/src/components/home/breadcrumb/BreadCrumbBillTracker.tsx old mode 100644 new mode 100755 diff --git a/src/components/home/breadcrumb/BreadcrumbHome.tsx b/src/components/home/breadcrumb/BreadcrumbHome.tsx old mode 100644 new mode 100755 diff --git a/src/components/theme/theme_provider.tsx b/src/components/theme/theme_provider.tsx old mode 100644 new mode 100755 diff --git a/src/components/theme/theme_toggle.tsx b/src/components/theme/theme_toggle.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/BillTrackerCalendar.tsx b/src/components/ui/BillTrackerCalendar.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/alert-dialog.tsx b/src/components/ui/alert-dialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/breadcrumb.tsx b/src/components/ui/breadcrumb.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/card.tsx b/src/components/ui/card.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/checkbox.tsx b/src/components/ui/checkbox.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/command.tsx b/src/components/ui/command.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/drawer.tsx b/src/components/ui/drawer.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/form.tsx b/src/components/ui/form.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/input.tsx b/src/components/ui/input.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/label.tsx b/src/components/ui/label.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/navigation-menu.tsx b/src/components/ui/navigation-menu.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/popover.tsx b/src/components/ui/popover.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/sonner.tsx b/src/components/ui/sonner.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/table.tsx b/src/components/ui/table.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/toast.tsx b/src/components/ui/toast.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/toaster.tsx b/src/components/ui/toaster.tsx old mode 100644 new mode 100755 diff --git a/src/components/ui/use-toast.ts b/src/components/ui/use-toast.ts old mode 100644 new mode 100755 diff --git a/src/env.js b/src/env.js old mode 100644 new mode 100755 diff --git a/src/lib/utils.ts b/src/lib/utils.ts old mode 100644 new mode 100755 diff --git a/src/middleware.ts b/src/middleware.ts old mode 100644 new mode 100755 diff --git a/src/scripts/generate_apple_secret.ts b/src/scripts/generate_apple_secret.ts old mode 100644 new mode 100755 diff --git a/src/server/db/index.ts b/src/server/db/index.ts old mode 100644 new mode 100755 diff --git a/src/server/db/schema.ts b/src/server/db/schema.ts old mode 100644 new mode 100755 diff --git a/src/server/functions.ts b/src/server/functions.ts old mode 100644 new mode 100755 diff --git a/src/styles/globals.css b/src/styles/globals.css old mode 100644 new mode 100755 diff --git a/tailwind.config.ts b/tailwind.config.ts old mode 100644 new mode 100755 diff --git a/tsconfig.json b/tsconfig.json old mode 100644 new mode 100755