diff --git a/app/restaurant/[slug]/components/Description.tsx b/app/restaurant/[slug]/components/Description.tsx
index 87eb302..2858dac 100644
--- a/app/restaurant/[slug]/components/Description.tsx
+++ b/app/restaurant/[slug]/components/Description.tsx
@@ -1,12 +1,8 @@
-export default function Description() {
+export default function Description({description}: {description: string}) {
return (
- The classics you love prepared with a perfect twist, all served up in an
- atmosphere that feels just right. That’s the Milestones promise. So,
- whether you’re celebrating a milestone, making the most of Happy Hour or
- enjoying brunch with friends, you can be sure that every Milestones
- experience is a simple and perfectly memorable one.
+ {description}
);
diff --git a/app/restaurant/[slug]/components/Header.tsx b/app/restaurant/[slug]/components/Header.tsx
index 3cdda7c..196f14f 100644
--- a/app/restaurant/[slug]/components/Header.tsx
+++ b/app/restaurant/[slug]/components/Header.tsx
@@ -1,9 +1,16 @@
-export default function Header() {
+export default function Header({name}: {name: string}) {
+
+ const renderTitle = () => {
+ const nameArray = name.split("-");
+ nameArray[nameArray.length - 1 ] = `(${nameArray[nameArray.length - 1 ]})`
+ return nameArray.join(" ");
+ }
+
return (
-
- Milestones Grill (Toronto)
+
+ {renderTitle()}
diff --git a/app/restaurant/[slug]/components/Images.tsx b/app/restaurant/[slug]/components/Images.tsx
index bc51edf..b88426e 100644
--- a/app/restaurant/[slug]/components/Images.tsx
+++ b/app/restaurant/[slug]/components/Images.tsx
@@ -1,33 +1,15 @@
-export default function Images() {
+export default function Images({images}: {images: string[]}) {
return (
-
5 photos
+
{images.length} photo{images.length > 1 ? "s" : ""}
);
diff --git a/app/restaurant/[slug]/components/Menu.tsx b/app/restaurant/[slug]/components/Menu.tsx
index 6920b77..965cb93 100644
--- a/app/restaurant/[slug]/components/Menu.tsx
+++ b/app/restaurant/[slug]/components/Menu.tsx
@@ -1,15 +1,24 @@
import MenuCard from "./MenuCard";
+import { Item } from "@prisma/client";
-export default function Menu() {
+export default function Menu({ menu }: { menu: Item[] }) {
return (
Menu
-
-
-
+ {menu.length ? (
+
+ {menu.map((item) => {
+ return ;
+ })}
+
+ ) : (
+
+
This restaurant does not have a menu
+
+ )}
);
diff --git a/app/restaurant/[slug]/components/MenuCard.tsx b/app/restaurant/[slug]/components/MenuCard.tsx
index 3692e83..0e974db 100644
--- a/app/restaurant/[slug]/components/MenuCard.tsx
+++ b/app/restaurant/[slug]/components/MenuCard.tsx
@@ -1,11 +1,11 @@
-export default function MenuCard() {
+import { Item } from "@prisma/client";
+
+export default function MenuCard({item}: {item: Item}) {
return (
-
Surf and Turf
-
- A well done steak with lobster and rice
-
-
$80.00
+
{item.name}
+
{item.description}
+
{item.price}
);
}
diff --git a/app/restaurant/[slug]/components/RestaurantNavBar.tsx b/app/restaurant/[slug]/components/RestaurantNavBar.tsx
index 2914385..2e0f9ba 100644
--- a/app/restaurant/[slug]/components/RestaurantNavBar.tsx
+++ b/app/restaurant/[slug]/components/RestaurantNavBar.tsx
@@ -1,12 +1,12 @@
import Link from "next/link";
-export default function RestaurantNavBar() {
+export default function RestaurantNavBar({slug}: {slug: string} ) {
return (
-
+
Overview
-
+
Menu
diff --git a/app/restaurant/[slug]/components/Title.tsx b/app/restaurant/[slug]/components/Title.tsx
index 4d39c52..d9c43dc 100644
--- a/app/restaurant/[slug]/components/Title.tsx
+++ b/app/restaurant/[slug]/components/Title.tsx
@@ -1,7 +1,7 @@
-export default function Title() {
+export default function Title({name}: {name:string}) {
return (
-
Milesstone Grill
+ {name}
);
}
diff --git a/app/restaurant/[slug]/layout.tsx b/app/restaurant/[slug]/layout.tsx
index abcb3f2..2d33681 100644
--- a/app/restaurant/[slug]/layout.tsx
+++ b/app/restaurant/[slug]/layout.tsx
@@ -2,12 +2,14 @@ import Header from "./components/Header";
export default function RestorantLayout({
children,
+ params
}: {
children: React.ReactNode;
+ params: {slug: string}
}) {
return (
-
+
{children}
diff --git a/app/restaurant/[slug]/menu/page.tsx b/app/restaurant/[slug]/menu/page.tsx
index da63f5d..b87cd25 100644
--- a/app/restaurant/[slug]/menu/page.tsx
+++ b/app/restaurant/[slug]/menu/page.tsx
@@ -1,12 +1,33 @@
+import { PrismaClient } from "@prisma/client";
import Header from "../components/Header";
import Menu from "../components/Menu";
import RestaurantNavBar from "../components/RestaurantNavBar";
-export default function RestaurantMenu() {
+const prisma = new PrismaClient();
+
+const fetchRestaurantMenu = async (slug: string) => {
+ const restaurant = await prisma.restaurant.findUnique({
+ where: {
+ slug
+ },
+ select: {
+ items: true
+ }
+ })
+
+ if (!restaurant) {
+ throw new Error
+ }
+
+ return restaurant.items
+}
+
+export default async function RestaurantMenu({params}: {params: {slug: string}}) {
+ const menu = await fetchRestaurantMenu(params.slug)
return (
-
-
+
+
);
}
diff --git a/app/restaurant/[slug]/page.tsx b/app/restaurant/[slug]/page.tsx
index f984350..49f71db 100644
--- a/app/restaurant/[slug]/page.tsx
+++ b/app/restaurant/[slug]/page.tsx
@@ -47,11 +47,11 @@ export default async function RestaurantDetails({
return (
<>
-
-
+
+
-
-
+
+