From 90a3b67cc4a3916ab456390957207d26cf9a2e40 Mon Sep 17 00:00:00 2001 From: Pattadon Date: Tue, 8 Apr 2025 14:14:36 +0700 Subject: [PATCH] feat: add property detail page with comprehensive property information and analytics - Implemented PropertyDetailPage component to display detailed information about a selected property, including images, features, amenities, and market trends. - Added SimilarPropertyCard component for showcasing similar properties. - Created loading state for property detail page. - Developed PropertiesPage component with filtering options and property listings in grid and list views. - Introduced PropertyCard and PropertyCardList components for displaying property information in different layouts. - Integrated UI components such as buttons, cards, badges, and tabs for enhanced user experience. --- .../data-pipeline/create/page.tsx | 0 .../data-pipeline/page.tsx | 0 .../data-pipeline/property-listings/page.tsx | 0 .../documentation/loading.tsx | 0 .../documentation/models/page.tsx | 0 .../documentation/page.tsx | 0 frontend/app/(sidebar)/layout.tsx | 16 ++++++++++++++++ .../app/{(topbar) => (sidebar)}/maps/page.tsx | 0 .../app/{(topbar) => (sidebar)}/models/page.tsx | 0 .../price-prediction/page.tsx | 0 .../properties/[id]/page.tsx | 0 .../properties/loading.tsx | 0 .../{(topbar) => (sidebar)}/properties/page.tsx | 0 frontend/app/layout.tsx | 2 -- 14 files changed, 16 insertions(+), 2 deletions(-) rename frontend/app/{(topbar) => (sidebar)}/data-pipeline/create/page.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/data-pipeline/page.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/data-pipeline/property-listings/page.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/documentation/loading.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/documentation/models/page.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/documentation/page.tsx (100%) create mode 100644 frontend/app/(sidebar)/layout.tsx rename frontend/app/{(topbar) => (sidebar)}/maps/page.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/models/page.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/price-prediction/page.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/properties/[id]/page.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/properties/loading.tsx (100%) rename frontend/app/{(topbar) => (sidebar)}/properties/page.tsx (100%) diff --git a/frontend/app/(topbar)/data-pipeline/create/page.tsx b/frontend/app/(sidebar)/data-pipeline/create/page.tsx similarity index 100% rename from frontend/app/(topbar)/data-pipeline/create/page.tsx rename to frontend/app/(sidebar)/data-pipeline/create/page.tsx diff --git a/frontend/app/(topbar)/data-pipeline/page.tsx b/frontend/app/(sidebar)/data-pipeline/page.tsx similarity index 100% rename from frontend/app/(topbar)/data-pipeline/page.tsx rename to frontend/app/(sidebar)/data-pipeline/page.tsx diff --git a/frontend/app/(topbar)/data-pipeline/property-listings/page.tsx b/frontend/app/(sidebar)/data-pipeline/property-listings/page.tsx similarity index 100% rename from frontend/app/(topbar)/data-pipeline/property-listings/page.tsx rename to frontend/app/(sidebar)/data-pipeline/property-listings/page.tsx diff --git a/frontend/app/(topbar)/documentation/loading.tsx b/frontend/app/(sidebar)/documentation/loading.tsx similarity index 100% rename from frontend/app/(topbar)/documentation/loading.tsx rename to frontend/app/(sidebar)/documentation/loading.tsx diff --git a/frontend/app/(topbar)/documentation/models/page.tsx b/frontend/app/(sidebar)/documentation/models/page.tsx similarity index 100% rename from frontend/app/(topbar)/documentation/models/page.tsx rename to frontend/app/(sidebar)/documentation/models/page.tsx diff --git a/frontend/app/(topbar)/documentation/page.tsx b/frontend/app/(sidebar)/documentation/page.tsx similarity index 100% rename from frontend/app/(topbar)/documentation/page.tsx rename to frontend/app/(sidebar)/documentation/page.tsx diff --git a/frontend/app/(sidebar)/layout.tsx b/frontend/app/(sidebar)/layout.tsx new file mode 100644 index 0000000..39c730d --- /dev/null +++ b/frontend/app/(sidebar)/layout.tsx @@ -0,0 +1,16 @@ +"use client"; +import Sidebar from "@/components/sidebar"; + +export default function AppLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( +
+ +
{children}
+
+ ); + +} \ No newline at end of file diff --git a/frontend/app/(topbar)/maps/page.tsx b/frontend/app/(sidebar)/maps/page.tsx similarity index 100% rename from frontend/app/(topbar)/maps/page.tsx rename to frontend/app/(sidebar)/maps/page.tsx diff --git a/frontend/app/(topbar)/models/page.tsx b/frontend/app/(sidebar)/models/page.tsx similarity index 100% rename from frontend/app/(topbar)/models/page.tsx rename to frontend/app/(sidebar)/models/page.tsx diff --git a/frontend/app/(topbar)/price-prediction/page.tsx b/frontend/app/(sidebar)/price-prediction/page.tsx similarity index 100% rename from frontend/app/(topbar)/price-prediction/page.tsx rename to frontend/app/(sidebar)/price-prediction/page.tsx diff --git a/frontend/app/(topbar)/properties/[id]/page.tsx b/frontend/app/(sidebar)/properties/[id]/page.tsx similarity index 100% rename from frontend/app/(topbar)/properties/[id]/page.tsx rename to frontend/app/(sidebar)/properties/[id]/page.tsx diff --git a/frontend/app/(topbar)/properties/loading.tsx b/frontend/app/(sidebar)/properties/loading.tsx similarity index 100% rename from frontend/app/(topbar)/properties/loading.tsx rename to frontend/app/(sidebar)/properties/loading.tsx diff --git a/frontend/app/(topbar)/properties/page.tsx b/frontend/app/(sidebar)/properties/page.tsx similarity index 100% rename from frontend/app/(topbar)/properties/page.tsx rename to frontend/app/(sidebar)/properties/page.tsx diff --git a/frontend/app/layout.tsx b/frontend/app/layout.tsx index 0d482f4..b494cda 100644 --- a/frontend/app/layout.tsx +++ b/frontend/app/layout.tsx @@ -3,7 +3,6 @@ import type { Metadata } from "next"; import { Poppins } from "next/font/google"; import "./globals.css"; import { ThemeProvider } from "@/components/theme-provider"; -import Sidebar from "@/components/sidebar"; const poppins = Poppins({ subsets: ["latin"], @@ -26,7 +25,6 @@ export default function RootLayout({
-
{children}