diff --git a/src/app/about/about.module.css b/src/app/about/about.module.css index e04bda6..9b480e9 100644 --- a/src/app/about/about.module.css +++ b/src/app/about/about.module.css @@ -154,7 +154,7 @@ padding: 2.5rem 2rem; text-align: center; border: 2px solid #b07c4b; - transition: transform 0.3s ease; + transition: transform 0.3s ease; } .featureCard:hover { @@ -195,10 +195,11 @@ display: flex; align-items: center; justify-content: center; - gap: 2rem; + /* gap: 2rem; */ max-width: 900px; margin: 0 auto; position: relative; + padding: 0 70px; } .sliderBtn { @@ -214,6 +215,18 @@ cursor: pointer; transition: all 0.3s; flex-shrink: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); + z-index: 10; +} + +.sliderBtn:first-child { + left: 10px; +} + +.sliderBtn:last-child { + right: 10px; } .sliderBtn:hover { @@ -225,7 +238,7 @@ background-color: #F5E6D3; padding: 3rem 2.5rem; border: 2px solid #b07c4b; - display: flex; + display: flex; flex-direction: column; gap: 2rem; flex: 1; @@ -360,20 +373,12 @@ @media (max-width: 1024px) { .featuresGrid { + grid-template-columns: repeat(2, 1fr); + } + + /* .featuresGrid { grid-template-columns: 1fr; - } - - .testimonialSlider { - flex-direction: column; - } - - .sliderBtn { - order: 2; - } - - .testimonialCard { - order: 1; - } + } */ .faqContainer { grid-template-columns: 1fr; @@ -417,6 +422,18 @@ font-size: 2rem; } + .testimonialSlider { + padding: 0 40px; + } + + .sliderBtn:first-child { + left: 0; + } + + .sliderBtn:last-child { + right: 0; + } + .faqSection { padding: 60px 20px; } @@ -602,6 +619,10 @@ gap: 1.5rem; } + .featuresGrid { + grid-template-columns: 1fr; + } + /* Image should come to top */ .faqImageBlock { width: 100% !important; diff --git a/src/app/about/about_temp.css b/src/app/about/about_temp.css index 1ed0327..2bfbff3 100644 --- a/src/app/about/about_temp.css +++ b/src/app/about/about_temp.css @@ -150,7 +150,7 @@ padding: 2.5rem 2rem; text-align: center; border: 2px solid #b07c4b; - transition: transform 0.3s ease; + transition: transform 0.3s ease; } .featureCard:hover { diff --git a/src/app/blog/blog.module.css b/src/app/blog/blog.module.css index e3d4fa8..458ece5 100644 --- a/src/app/blog/blog.module.css +++ b/src/app/blog/blog.module.css @@ -42,11 +42,46 @@ color: var(--color-gold); } +/* Section Heading Styles */ +.sectionHeading { + padding: 60px 20px 40px; + max-width: 900px; + margin: 0 auto; + text-align: center; +} + +.smallHeading { + font-size: 0.9rem; + color: #c49c5c; + font-family: var(--font-lato); + font-weight: 600; + letter-spacing: 2px; + margin-bottom: 1rem; +} + +.mainHeading { + font-family: var(--font-playfair); + font-size: 2.5rem; + color: #5d4037; + line-height: 1.3; + font-weight: 700; + margin-bottom: 1.5rem; +} + +.description { + font-size: 1rem; + color: #c49c5c; + line-height: 1.8; + font-family: var(--font-lato); + max-width: 800px; + margin: 0 auto; +} + .blogSection { - padding: 80px 10px; + padding: 20px 10px; max-width: 1200px; margin: 0 auto; - /* background-color: #0a0a0a; */ + padding-bottom: 80px; } .grid { @@ -58,7 +93,7 @@ .card { background-color: #F5E6D3; border: 2px solid #b07c4b; - overflow: hidden; + overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; } @@ -98,7 +133,6 @@ .date { font-size: 0.9rem; - /* color: #836839; */ margin-bottom: 1rem; font-family: var(--font-lato); font-weight: 600; @@ -106,7 +140,6 @@ .excerpt { font-size: 1rem; - /* color: #5d4037; */ line-height: 1.6; margin-bottom: 1.5rem; flex-grow: 1; @@ -137,6 +170,10 @@ font-size: 3rem; } + .mainHeading { + font-size: 2rem; + } + .blogSection { padding: 60px 10px; } diff --git a/src/app/blog/page.tsx b/src/app/blog/page.tsx index 5749e18..143c69c 100644 --- a/src/app/blog/page.tsx +++ b/src/app/blog/page.tsx @@ -64,6 +64,14 @@ export default function BlogPage() { +
+

🍴 ANTALYA 🍴

+

Stories From Our Kitchen, Turkish Culture, And Culinary Traditions

+

+ Discover the rich heritage of Turkish cuisine through our blog. From traditional recipes and cooking techniques to the cultural significance of tea and hospitality, we share insights into what makes Turkish food truly special. +

+
+
{ - const user = "info"; - const domain = "antalya-restaurant.com"; + const user = "hello"; + const domain = "antalyarestaurant.ca"; setEmail(`${user}@${domain}`); }, []); @@ -313,67 +313,79 @@ export default function ContactPage() { viewport={{ once: true }} transition={{ duration: 0.8 }} > - {/* Location Cards */} -
-
- - - - -
-
-

Kitchener Location

-

Main Restaurant

-

- 1187 Fischer-Hallman Rd #411
- Kitchener, ON N2T 4H2 -

-
-
- -
-
- - - - -
-
-

Burlington Location

-

Second Location

-

- 1860 Appleby Line
- Burlington, ON L7L 7H7 -

-
-
-
+
+

Call Us

+ +
+ + Kitchener : 519-581-6363 + + + + Burlington : 289-313-9838 + +
+
+ + +
+ {/* Location Cards */} + + +
+
+ + + + +
-

Call Us

-

For reservations & inquiries

-

(519) 570-4848

+

Contact Us

+ + + hello@antalyarestaurant.ca + +
+ +
+ +
+
+ + + + +
+
+

Location

+

1187 Fischer-Hallman Rd #435, Kitchener, ON N2E 4H9

+

+ 1860 Appleby Line, Burlington, ON L7L 7H7 +

+ + {/* Map */}
+
diff --git a/src/app/gallery/gallery.module.css b/src/app/gallery/gallery.module.css index 140b1fa..3261ff5 100644 --- a/src/app/gallery/gallery.module.css +++ b/src/app/gallery/gallery.module.css @@ -42,11 +42,46 @@ color: var(--color-gold); } +/* Section Heading Styles */ +.sectionHeading { + padding: 60px 20px 40px; + max-width: 900px; + margin: 0 auto; + text-align: center; +} + +.smallHeading { + font-size: 0.9rem; + color: #c49c5c; + font-family: var(--font-lato); + font-weight: 600; + letter-spacing: 2px; + margin-bottom: 1rem; +} + +.mainHeading { + font-family: var(--font-playfair); + font-size: 2.5rem; + color: #5d4037; + line-height: 1.3; + font-weight: 700; + margin-bottom: 1.5rem; +} + +.description { + font-size: 1rem; + color: #c49c5c; + line-height: 1.8; + font-family: var(--font-lato); + max-width: 800px; + margin: 0 auto; +} + .section { - padding: 80px 10px; + padding: 20px 10px; + padding-bottom: 80px; max-width: 1200px; margin: 0 auto; - /* background-color: #0a0a0a; */ } .tabs { @@ -87,7 +122,7 @@ aspect-ratio: 4/3; cursor: pointer; overflow: hidden; - border: 2px solid #b07c4b + border: 2px solid #b07c4b; } .image { @@ -205,6 +240,10 @@ font-size: 3rem; } + .mainHeading { + font-size: 2rem; + } + .prevBtn { left: 10px; } diff --git a/src/app/gallery/page.tsx b/src/app/gallery/page.tsx index 4cb4c09..da2daba 100644 --- a/src/app/gallery/page.tsx +++ b/src/app/gallery/page.tsx @@ -108,6 +108,14 @@ export default function GalleryPage() { +
+

🍴 ANTALYA 🍴

+

A Visual Journey Through Authentic Turkish Cuisine

+

+ Explore our gallery showcasing the authentic flavors and elegant atmosphere of Antalya. From charcoal-grilled kebabs to handcrafted baklava, each image tells a story of culinary excellence and Turkish hospitality. +

+
+
+
+

🍴 ANTALYA 🍴

+

Delicious Turkish Dishes, Including Kebabs, Mezze, And More

+

+ Looking for authentic Turkish dining? At Antalya, we offer a wide variety of traditional dishes, from crispy appetizers to charcoal-grilled kebabs. Whether you're craving mezze platters or hearty main courses, our menu has something for everyone. +

+
+
{/* Category Tabs */} @@ -131,10 +139,6 @@ export default function MenuPage() { className={styles.dishImage} /> -
-
-
-
diff --git a/src/app/page.tsx b/src/app/page.tsx index 05406e0..0959826 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,6 +1,7 @@ import Hero from "@/components/Hero/Hero"; import PopularDishes from "@/components/PopularDishes/PopularDishes"; import About from "@/components/About/About"; +import Menu from "@/components/Menu/Menu"; import Gallery from "@/components/Gallery/Gallery"; import Testimonials from "@/components/Testimonials/Testimonials"; import Blogs from "@/components/Blogs/Blogs"; @@ -13,6 +14,7 @@ export default function Home() { + diff --git a/src/components/BookTable/BookTable.tsx b/src/components/BookTable/BookTable.tsx index d2a243a..a36ac21 100644 --- a/src/components/BookTable/BookTable.tsx +++ b/src/components/BookTable/BookTable.tsx @@ -17,8 +17,8 @@ export default function BookTable() { const [email, setEmail] = useState(""); useEffect(() => { - const user = "info"; - const domain = "antalya-restaurant.com"; + const user = "hello"; + const domain = "antalyarestaurant.ca"; setEmail(`${user}@${domain}`); }, []); diff --git a/src/components/Footer/Footer.tsx b/src/components/Footer/Footer.tsx index cc1c570..f22c1b5 100644 --- a/src/components/Footer/Footer.tsx +++ b/src/components/Footer/Footer.tsx @@ -31,9 +31,39 @@ export default function Footer() { Discover the essence of fusion cuisine in the heart of Ontario at Antalya Restaurant. Our carefully curated menu offers a delicious selection from sizzling kebabs and succulent doners to authentic pides, sandwiches, and wraps.

@@ -76,8 +106,8 @@ export default function Footer() {

Opening Hours

- Sunday–Thursday 11am–10pm
- Friday–Saturday 11am–11pm + Sunday-Thursday 11am-10pm
+ Friday-Saturday 11am-11pm

diff --git a/src/components/Menu/Menu.module.css b/src/components/Menu/Menu.module.css new file mode 100644 index 0000000..692da9f --- /dev/null +++ b/src/components/Menu/Menu.module.css @@ -0,0 +1,294 @@ +.menuSection { + padding: 6rem 2rem; + background-color: #232323; + background-size: cover; + background-position: center; + text-align: center; +} + +.title { + font-family: var(--font-cinzel), serif; + font-size: 3.5rem; + color: #c49c5c; + margin-bottom: 3rem; + text-transform: uppercase; + letter-spacing: 2px; + line-height: 1.2; + text-align: center; +} + +/* Category Tabs */ +.tabs { + display: flex; + justify-content: center; + gap: 1.5rem; + margin-bottom: 3rem; + flex-wrap: wrap; + max-width: 1200px; + margin-left: auto; + margin-right: auto; +} + +.tab { + background: transparent; + border: 2px solid #b07c4b; + color: #c49c5c; + padding: 12px 30px; + font-size: 1rem; + cursor: pointer; + transition: all 0.3s ease; + font-family: var(--font-playfair); + text-transform: uppercase; + letter-spacing: 1px; + font-weight: 600; +} + +.tab:hover, +.activeTab { + background-color: #c49c5c; + color: #F5E6D3; + transform: translateY(-2px); +} + +.menuGrid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 2rem; + max-width: 1200px; + margin: 0 auto; +} + +.menuCard { + display: flex; + gap: 1.2rem; + background: #c49c5c; + padding: 1.2rem; + border: 1px solid rgba(197, 160, 89, 0.2); + transition: all 0.4s ease; + animation: fadeInUp 0.6s ease forwards; + opacity: 0; +} + +.menuCard:nth-child(1) { + animation-delay: 0.1s; +} + +.menuCard:nth-child(2) { + animation-delay: 0.2s; +} + +.menuCard:nth-child(3) { + animation-delay: 0.3s; +} + +.menuCard:nth-child(4) { + animation-delay: 0.4s; +} + +.menuCard:nth-child(5) { + animation-delay: 0.5s; +} + +.menuCard:nth-child(6) { + animation-delay: 0.6s; +} + +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px); + } + + to { + opacity: 1; + transform: translateY(0); + } +} + +.menuCard:hover { + background: #c49c5c; + border-color: #F5E6D3; + transform: translateY(-5px); + box-shadow: 0 10px 30px rgba(197, 160, 89, 0.2); +} + +.imageFrame { + position: relative; + width: 130px; + height: 130px; + flex-shrink: 0; + padding: 6px; + background: linear-gradient(135deg, rgba(197, 160, 89, 0.1), rgba(197, 160, 89, 0.05)); +} + +.imageWrapper { + position: relative; + width: 100%; + height: 100%; + border: 2px solid #F5E6D3; + overflow: hidden; +} + +.dishImage { + object-fit: cover; + transition: transform 0.5s ease; +} + +.menuCard:hover .dishImage { + transform: scale(1.1); +} + +/* Corner decorations */ +.cornerTL, +.cornerTR, +.cornerBL, +.cornerBR { + position: absolute; + width: 15px; + height: 15px; + border: 2px solid #F5E6D3; +} + +.cornerTL { + top: 0; + left: 0; + border-right: none; + border-bottom: none; +} + +.cornerTR { + top: 0; + right: 0; + border-left: none; + border-bottom: none; +} + +.cornerBL { + bottom: 0; + left: 0; + border-right: none; + border-top: none; +} + +.cornerBR { + bottom: 0; + right: 0; + border-left: none; + border-top: none; +} + +.cardContent { + flex: 1; + display: flex; + flex-direction: column; + justify-content: center; +} + +.cardHeader { + display: flex; + justify-content: space-between; + align-items: baseline; + margin-bottom: 0.6rem; +} + +.dishName { + font-family: var(--font-playfair); + font-size: 1.3rem; + color: #F5E6D3; + text-transform: capitalize; + transition: color 0.3s; +} + +.menuCard:hover .dishName { + color: #F5E6D3; +} + +.price { + font-size: 1.2rem; + color: #F5E6D3; + font-weight: bold; + font-family: var(--font-playfair); +} + +.description { + font-size: 0.9rem; + color: #F5E6D3; + line-height: 1.6; + font-family: var(--font-lato); + opacity: 0.85; + text-align: start; +} + +/* View More Button */ +.viewMoreContainer { + margin-top: 3rem; + text-align: center; +} + +.button { + display: inline-block; + padding: 0.8rem 2rem; + border: 1px solid #b07c4b; + color: #c49c5c; + font-family: var(--font-lato); + text-transform: uppercase; + text-decoration: none; + transition: all 0.3s ease; + background: transparent; + cursor: pointer; + font-weight: 600; +} + +.button:hover { + background-color: #c49c5c; + color: #fff; + border-color: #c49c5c; +} + +@media (max-width: 968px) { + .menuGrid { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (max-width: 768px) { + .title { + font-size: 2.5rem; + } + + .menuSection { + padding: 40px 20px 60px; + } + + .tabs { + gap: 1rem; + } + + .tab { + padding: 10px 20px; + font-size: 0.9rem; + } + + .menuCard { + flex-direction: column; + align-items: center; + text-align: center; + } + + .imageFrame { + width: 150px; + height: 150px; + } + + .cardHeader { + flex-direction: column; + gap: 0.5rem; + align-items: center; + } +} + +@media (max-width: 767px) and (min-width: 200px) { + .menuGrid { + grid-template-columns: 1fr; + } +} \ No newline at end of file diff --git a/src/components/Menu/Menu.tsx b/src/components/Menu/Menu.tsx new file mode 100644 index 0000000..6edcd66 --- /dev/null +++ b/src/components/Menu/Menu.tsx @@ -0,0 +1,148 @@ +'use client' + +import { useState } from 'react'; +import Image from "next/image"; +import Link from "next/link"; +import styles from "./Menu.module.css"; +import { menuData } from "@/utils/constant"; +import { motion } from "framer-motion"; + +export default function Menu() { + const [activeCategory, setActiveCategory] = useState(0); + + // Animation variants + const tabsVariants = { + hidden: { opacity: 0, y: 20 }, + visible: { + opacity: 1, + y: 0, + transition: { + staggerChildren: 0.1, + delayChildren: 0.2 + } + } + }; + + const tabVariants = { + hidden: { opacity: 0, y: 10 }, + visible: { + opacity: 1, + y: 0, + transition: { duration: 0.4 } + } + }; + + const gridVariants = { + hidden: { opacity: 0 }, + visible: { + opacity: 1, + transition: { + staggerChildren: 0.1, + delayChildren: 0.2 + } + } + }; + + const cardVariants = { + hidden: { opacity: 0, y: 30 }, + visible: { + opacity: 1, + y: 0, + transition: { duration: 0.5 } + } + }; + + return ( +
+ {/* Section Title */} + + OUR MENU + + + {/* Category Tabs */} + + {menuData.map((section, index) => ( + setActiveCategory(index)} + variants={tabVariants} + whileHover={{ scale: 1.05 }} + whileTap={{ scale: 0.95 }} + > + {section.category} + + ))} + + + {/* Menu Items Grid */} + + {menuData[activeCategory].items.map((item, itemIndex) => ( + +
+
+ {item.name} +
+
+
+
+
+
+ +
+
+

{item.name}

+ {item.price} +
+

{item.description}

+
+
+ ))} +
+ + {/* View More Button */} + + + View More + + +
+ ); +}