diff --git a/public/assets/images/home/top.png b/public/assets/images/home/top.png
new file mode 100644
index 0000000..64b7bdc
Binary files /dev/null and b/public/assets/images/home/top.png differ
diff --git a/src/app/properties/[id]/layout.tsx b/src/app/properties/[slug]/layout.tsx
similarity index 100%
rename from src/app/properties/[id]/layout.tsx
rename to src/app/properties/[slug]/layout.tsx
diff --git a/src/app/properties/[id]/metadata.ts b/src/app/properties/[slug]/metadata.ts
similarity index 100%
rename from src/app/properties/[id]/metadata.ts
rename to src/app/properties/[slug]/metadata.ts
diff --git a/src/app/properties/[slug]/page.tsx b/src/app/properties/[slug]/page.tsx
new file mode 100644
index 0000000..f061b7d
--- /dev/null
+++ b/src/app/properties/[slug]/page.tsx
@@ -0,0 +1,20 @@
+import { properties } from "@/data/properties";
+import { notFound } from "next/navigation";
+import PropertyDetailClient from "@/components/PropertyDetailClient";
+
+export async function generateStaticParams() {
+ return properties.map((property) => ({
+ slug: property.slug,
+ }));
+}
+
+export default async function PropertyDetailPage({ params }: { params: Promise<{ slug: string }> }) {
+ const { slug } = await params;
+ const property = properties.find(p => p.slug === slug);
+
+ if (!property) {
+ notFound();
+ }
+
+ return
+
Everything you need to know about our properties and services.
+ + {/* Tabs */} +