13 Commits

Author SHA1 Message Date
0265fe97a9 Update src/app/reservations/page.tsx 2026-04-09 09:44:57 +00:00
516d35f73c Update src/app/menu/page.tsx 2026-04-09 09:44:57 +00:00
75b26de484 Update src/app/layout.tsx 2026-04-09 09:44:56 +00:00
d2d9832ed0 Update src/app/gallery/page.tsx 2026-04-09 09:44:56 +00:00
cbfe3e7414 Update src/app/contact/page.tsx 2026-04-09 09:44:55 +00:00
fdbbc92c45 Update src/app/blog/page.tsx 2026-04-09 09:44:55 +00:00
868c9f7218 Add src/app/reservations/page.tsx 2026-04-09 09:44:23 +00:00
003290b1cc Update src/app/page.tsx 2026-04-09 09:44:23 +00:00
32bf59417d Update src/app/menu/page.tsx 2026-04-09 09:44:22 +00:00
8b8795beef Add src/app/gallery/page.tsx 2026-04-09 09:44:22 +00:00
83ccc9fc01 Update src/app/contact/page.tsx 2026-04-09 09:44:21 +00:00
8ad72666cb Add src/app/blog/page.tsx 2026-04-09 09:44:21 +00:00
67bc07fff2 Merge version_1 into main
Merge version_1 into main
2026-04-09 09:39:38 +00:00
7 changed files with 131 additions and 456 deletions

31
src/app/blog/page.tsx Normal file
View File

@@ -0,0 +1,31 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterBase from '@/components/sections/footer/FooterBase';
import BlogCardOne from '@/components/sections/blog/BlogCardOne';
export default function BlogPage() {
return (
<ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<div id="nav" data-section="nav">
<NavbarStyleApple navItems={[{ name: "Bosh Sahifa", id: "/" }, { name: "Galereya", id: "/gallery" }, { name: "Blog", id: "/blog" }, { name: "Aloqa", id: "/contact" }]} />
</div>
<main className="container mx-auto py-20">
<div id="blog" data-section="blog">
<BlogCardOne
title="Blog va Yangiliklar"
description="Restoranimizdagi eng so'nggi yangiliklar va maqolalar."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
blogs={[]}
/>
</div>
</main>
<div id="footer" data-section="footer">
<FooterBase columns={[{ title: "Sahifalar", items: [{ label: "Galereya", href: "/gallery" }, { label: "Blog", href: "/blog" }] }, { title: "Biz haqimizda", items: [{ label: "Haqimizda", href: "/about" }, { label: "Aloqa", href: "/contact" }] }]} logoText="OSHTONCHA" />
</div>
</ThemeProvider>
);
}

View File

@@ -1,122 +1,30 @@
"use client"; "use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import ContactCenter from '@/components/sections/contact/ContactCenter';
import FooterBase from '@/components/sections/footer/FooterBase';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple'; import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterBase from '@/components/sections/footer/FooterBase';
import ContactSplit from '@/components/sections/contact/ContactSplit';
export default function LandingPage() { export default function ContactPage() {
return ( return (
<ThemeProvider <ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
defaultButtonVariant="hover-magnetic" <div id="nav" data-section="nav">
defaultTextAnimation="reveal-blur" <NavbarStyleApple navItems={[{ name: "Bosh Sahifa", id: "/" }, { name: "Galereya", id: "/gallery" }, { name: "Blog", id: "/blog" }, { name: "Aloqa", id: "/contact" }]} />
borderRadius="rounded" </div>
contentWidth="smallMedium" <main className="container mx-auto py-20">
sizing="largeSmallSizeMediumTitles" <div id="contact" data-section="contact">
background="blurBottom" <ContactSplit
cardStyle="gradient-radial" title="Biz bilan bog'laning"
primaryButtonStyle="double-inset" description="Savollaringiz bo'lsa, bizga yozing yoki manzillarga tashrif buyuring."
secondaryButtonStyle="radial-glow" tag="Aloqa"
headingFontWeight="normal" background={{ variant: "plain" }}
> useInvertedBackground={false}
<ReactLenis root> />
<div id="nav" data-section="nav"> </div>
<NavbarStyleApple </main>
navItems={[ <div id="footer" data-section="footer">
{ <FooterBase columns={[{ title: "Sahifalar", items: [{ label: "Galereya", href: "/gallery" }, { label: "Blog", href: "/blog" }] }, { title: "Biz haqimizda", items: [{ label: "Haqimizda", href: "/about" }, { label: "Aloqa", href: "/contact" }] }]} logoText="OSHTONCHA" />
name: "Bosh Sahifa", </div>
id: "/",
},
{
name: "Menyu",
id: "/menu",
},
{
name: "Haqimizda",
id: "/about",
},
{
name: "Aloqa",
id: "/contact",
},
{
name: "Hisob",
id: "/account",
},
]}
brandName="OSHTONCHA"
/>
</div>
<div id="contact-body" data-section="contact-body">
<ContactCenter
useInvertedBackground={false}
background={{
variant: "plain",
}}
tag="Aloqa"
title="Bizga yozing"
description="Manzil: Toshkent shahar"
/>
</div>
<div id="metric" data-section="metric">
<MetricCardFourteen
useInvertedBackground={false}
title="Aloqa kanallari"
tag="Statistika"
metrics={[
{
id: "c1",
value: "24/7",
description: "Qo'llab-quvvatlash",
},
{
id: "c2",
value: "15 min",
description: "O'rtacha javob vaqti",
},
]}
metricsAnimation="slide-up"
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
columns={[
{
title: "Menyu",
items: [
{
label: "Burgerlar",
href: "#",
},
{
label: "Pizzalar",
href: "#",
},
],
},
{
title: "Biz haqimizda",
items: [
{
label: "Tarix",
href: "/about",
},
{
label: "Aloqa",
href: "/contact",
},
],
},
]}
logoText="OSHTONCHA"
/>
</div>
</ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

21
src/app/gallery/page.tsx Normal file
View File

@@ -0,0 +1,21 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import FooterBase from '@/components/sections/footer/FooterBase';
export default function GalleryPage() {
return (
<ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<div id="nav" data-section="nav">
<NavbarStyleApple navItems={[{ name: "Bosh Sahifa", id: "/" }, { name: "Galereya", id: "/gallery" }, { name: "Blog", id: "/blog" }, { name: "Aloqa", id: "/contact" }]} />
</div>
<main className="container mx-auto py-20">
<h1 className="text-4xl font-bold mb-10 text-center">Restoran Galereyasi</h1>
</main>
<div id="footer" data-section="footer">
<FooterBase columns={[{ title: "Sahifalar", items: [{ label: "Galereya", href: "/gallery" }, { label: "Blog", href: "/blog" }] }, { title: "Biz haqimizda", items: [{ label: "Haqimizda", href: "/about" }, { label: "Aloqa", href: "/contact" }] }]} logoText="OSHTONCHA" />
</div>
</ThemeProvider>
);
}

View File

@@ -11,8 +11,8 @@ import { Montserrat } from "next/font/google";
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Oshtoncha Restoran | Premium Ta\'mlar', title: 'OSHTONCHA Restorani',
description: 'Oshtoncha - O\'zbekistondagi eng sara restoran.', description: 'Eng mazali o\'zbek va yevropa taomlari markazi.',
openGraph: { openGraph: {
"title": "Oshtoncha Restoran", "title": "Oshtoncha Restoran",
"siteName": "OSHTONCHA" "siteName": "OSHTONCHA"

View File

@@ -1,159 +1,30 @@
"use client"; "use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import FooterBase from '@/components/sections/footer/FooterBase';
import MetricCardFourteen from '@/components/sections/metrics/MetricCardFourteen';
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple'; import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import ProductCardOne from '@/components/sections/product/ProductCardOne'; import ProductCardThree from '@/components/sections/product/ProductCardThree';
export default function LandingPage() { export default function MenuPage() {
return ( return (
<ThemeProvider <ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
defaultButtonVariant="hover-magnetic" <div id="nav" data-section="nav">
defaultTextAnimation="reveal-blur" <NavbarStyleApple navItems={[{ name: "Bosh Sahifa", id: "/" }, { name: "Menyu", id: "/menu" }, { name: "Band qilish", id: "/reservations" }, { name: "Haqimizda", id: "/about" }, { name: "Aloqa", id: "/contact" }]} />
borderRadius="rounded" </div>
contentWidth="smallMedium" <div id="menu" data-section="menu">
sizing="largeSmallSizeMediumTitles" <ProductCardThree
background="blurBottom" title="Bizning Menyu"
cardStyle="gradient-radial" description="O'zbek va Yevropa taomlari."
primaryButtonStyle="double-inset" gridVariant="four-items-2x2-equal-grid"
secondaryButtonStyle="radial-glow" animationType="slide-up"
headingFontWeight="normal" textboxLayout="default"
> useInvertedBackground={false}
<ReactLenis root> products={[
<div id="nav" data-section="nav"> { id: "m1", name: "Palov", price: "65,000 UZS", imageSrc: "http://img.b2bpic.net/free-photo/grilled-cheeseburger-rustic-bun-with-fries-generative-ai_188544-36959.jpg?_wi=1" },
<NavbarStyleApple { id: "m2", name: "Steak", price: "150,000 UZS", imageSrc: "http://img.b2bpic.net/free-photo/homemade-sliced-pizza-brown-plate-black-surface_114579-89029.jpg?_wi=1" },
navItems={[ { id: "m3", name: "Salad", price: "40,000 UZS", imageSrc: "http://img.b2bpic.net/free-photo/fresh-vegetable-salad-with-cheese_114579-89029.jpg?_wi=1" }
{ ]}
name: "Bosh Sahifa", />
id: "/", </div>
},
{
name: "Menyu",
id: "/menu",
},
{
name: "Haqimizda",
id: "/about",
},
{
name: "Aloqa",
id: "/contact",
},
{
name: "Hisob",
id: "/account",
},
]}
brandName="OSHTONCHA"
/>
</div>
<div id="menu-body" data-section="menu-body">
<ProductCardOne
animationType="slide-up"
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
products={[
{
id: "m1",
name: "Fast Food",
price: "30,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/grilled-cheeseburger-rustic-bun-with-fries-generative-ai_188544-36959.jpg?_wi=3",
},
{
id: "m2",
name: "Burger",
price: "45,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/grilled-cheeseburger-rustic-bun-with-fries-generative-ai_188544-36959.jpg?_wi=4",
},
{
id: "m3",
name: "Pizza",
price: "85,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/homemade-sliced-pizza-brown-plate-black-surface_114579-89029.jpg?_wi=3",
},
{
id: "m4",
name: "Lavash",
price: "35,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/grilled-cheeseburger-rustic-bun-with-fries-generative-ai_188544-36959.jpg?_wi=5",
},
{
id: "m5",
name: "Ichimliklar",
price: "10,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/grilled-cheeseburger-rustic-bun-with-fries-generative-ai_188544-36959.jpg?_wi=6",
},
{
id: "m6",
name: "Desertlar",
price: "25,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/grilled-cheeseburger-rustic-bun-with-fries-generative-ai_188544-36959.jpg?_wi=7",
},
]}
title="Restoran Menusi"
description="Har bir taom o'ziga xos."
/>
</div>
<div id="metric" data-section="metric">
<MetricCardFourteen
useInvertedBackground={false}
title="Bizning yutuqlar"
tag="Statistika"
metrics={[
{
id: "m1",
value: "100+",
description: "Mamnun mijozlar",
},
{
id: "m2",
value: "50+",
description: "Sara taomlar",
},
]}
metricsAnimation="slide-up"
/>
</div>
<div id="footer" data-section="footer">
<FooterBase
columns={[
{
title: "Menyu",
items: [
{
label: "Burgerlar",
href: "#",
},
{
label: "Pizzalar",
href: "#",
},
],
},
{
title: "Biz haqimizda",
items: [
{
label: "Tarix",
href: "/about",
},
{
label: "Aloqa",
href: "/contact",
},
],
},
]}
logoText="OSHTONCHA"
/>
</div>
</ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -28,26 +28,10 @@ export default function LandingPage() {
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleApple <NavbarStyleApple
navItems={[ navItems={[
{ { name: "Bosh Sahifa", id: "/" },
name: "Bosh Sahifa", { name: "Galereya", id: "/gallery" },
id: "/", { name: "Blog", id: "/blog" },
}, { name: "Aloqa", id: "/contact" },
{
name: "Menyu",
id: "/menu",
},
{
name: "Haqimizda",
id: "/about",
},
{
name: "Aloqa",
id: "/contact",
},
{
name: "Hisob",
id: "/account",
},
]} ]}
brandName="OSHTONCHA" brandName="OSHTONCHA"
/> />
@@ -57,16 +41,7 @@ export default function LandingPage() {
<HeroLogo <HeroLogo
logoText="OSHTONCHA" logoText="OSHTONCHA"
description="Premium ta'mlar va sifatli servis. O'zbekistonning eng sara restorani." description="Premium ta'mlar va sifatli servis. O'zbekistonning eng sara restorani."
buttons={[ buttons={[{ text: "Menyu", href: "/menu" }, { text: "Buyurtma", href: "/order" }]}
{
text: "Menyu",
href: "/menu",
},
{
text: "Buyurtma",
href: "/order",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/salmon-salad-with-fresh-vegetables_140725-2439.jpg?_wi=1" imageSrc="http://img.b2bpic.net/free-photo/salmon-salad-with-fresh-vegetables_140725-2439.jpg?_wi=1"
imageAlt="gourmet food photography dark background" imageAlt="gourmet food photography dark background"
/> />
@@ -78,172 +53,17 @@ export default function LandingPage() {
textboxLayout="default" textboxLayout="default"
gridVariant="three-columns-all-equal-width" gridVariant="three-columns-all-equal-width"
useInvertedBackground={false} useInvertedBackground={false}
products={[ products={[]}
{
id: "p1",
name: "Klassik Burger",
price: "45,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/grilled-cheeseburger-rustic-bun-with-fries-generative-ai_188544-36959.jpg?_wi=1",
},
{
id: "p2",
name: "Artisan Pizza",
price: "85,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/homemade-sliced-pizza-brown-plate-black-surface_114579-89029.jpg?_wi=1",
},
{
id: "p3",
name: "Gourmet Steak",
price: "145,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/grilled-cheeseburger-rustic-bun-with-fries-generative-ai_188544-36959.jpg?_wi=2",
},
{
id: "p4",
name: "Tailandcha Salad",
price: "55,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/salmon-salad-with-fresh-vegetables_140725-2439.jpg?_wi=2",
},
{
id: "p5",
name: "Tiramisu Dessert",
price: "35,000 UZS",
imageSrc: "http://img.b2bpic.net/free-photo/homemade-sliced-pizza-brown-plate-black-surface_114579-89029.jpg?_wi=2",
},
]}
title="Eng Saralangan Taomlar" title="Eng Saralangan Taomlar"
description="Bizning eng mashhur taomlarimizni tatib ko'ring." description="Bizning eng mashhur taomlarimizni tatib ko'ring."
/> />
</div> </div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardOne
animationType="slide-up"
textboxLayout="default"
gridVariant="three-columns-all-equal-width"
useInvertedBackground={false}
testimonials={[
{
id: "1",
name: "Ali Valiyev",
role: "Mijoz",
company: "Toshkent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/people-cheering-with-wine-glasses-luxurious-restaurant_23-2150517422.jpg?_wi=1",
},
{
id: "2",
name: "Dilnoza Ahmedova",
role: "Mijoz",
company: "Toshkent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/portrait-handsome-asian-man-friends-reunion_23-2149244688.jpg?_wi=1",
},
{
id: "3",
name: "Jasur Karimov",
role: "Mijoz",
company: "Samarqand",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-smiley-woman-with-food_23-2149250084.jpg",
},
{
id: "4",
name: "Malika Umarova",
role: "Mijoz",
company: "Buxoro",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-couple-having-lunch-luxury-restaurant_23-2150598413.jpg",
},
{
id: "5",
name: "Said Bek",
role: "Mijoz",
company: "Toshkent",
rating: 5,
imageSrc: "http://img.b2bpic.net/free-photo/couple-together-romantic-dinner_23-2148060555.jpg",
},
]}
title="Mijozlarimiz fikri"
description="Mijozlarimiz restoranimiz haqida nima deyishadi."
/>
</div>
<div id="faq" data-section="faq">
<FaqSplitText
useInvertedBackground={false}
sideTitle="Ko'p so'raladigan savollar"
faqsAnimation="slide-up"
faqs={[
{
id: "f1",
title: "Ish vaqti qanday?",
content: "Biz har kuni soat 10:00 dan 23:00 gacha ochiqmiz.",
},
{
id: "f2",
title: "Yetkazib berish xizmati bormi?",
content: "Ha, biz butun shahar bo'ylab yetkazib berish xizmatini taklif qilamiz.",
},
{
id: "f3",
title: "Stol band qilish mumkinmi?",
content: "Albatta, telefon orqali yoki saytimizdagi hisobingizdan stol band qilishingiz mumkin.",
},
{
id: "f4",
title: "To'lov turlari qanday?",
content: "Biz naqd pul, plastik karta va onlayn to'lovlarni qabul qilamiz.",
},
{
id: "f5",
title: "Bolalar uchun menyu bormi?",
content: "Ha, kichik mehmonlarimiz uchun alohida menyuyimiz mavjud.",
},
]}
/>
</div>
<div id="contact" data-section="contact">
<ContactCenter
useInvertedBackground={false}
background={{
variant: "plain",
}}
tag="Aloqa"
title="Biz bilan bog'laning"
description="Savollaringiz bo'lsa, bizga yozing."
/>
</div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBase <FooterBase
columns={[ columns={[
{ { title: "Sahifalar", items: [{ label: "Galereya", href: "/gallery" }, { label: "Blog", href: "/blog" }] },
title: "Menyu", { title: "Biz haqimizda", items: [{ label: "Haqimizda", href: "/about" }, { label: "Aloqa", href: "/contact" }] },
items: [
{
label: "Burgerlar",
href: "#",
},
{
label: "Pizzalar",
href: "#",
},
],
},
{
title: "Biz haqimizda",
items: [
{
label: "Tarix",
href: "/about",
},
{
label: "Aloqa",
href: "/contact",
},
],
},
]} ]}
logoText="OSHTONCHA" logoText="OSHTONCHA"
/> />
@@ -251,4 +71,4 @@ export default function LandingPage() {
</ReactLenis> </ReactLenis>
</ThemeProvider> </ThemeProvider>
); );
} }

View File

@@ -0,0 +1,24 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
import ContactSplit from '@/components/sections/contact/ContactSplit';
export default function ReservationsPage() {
return (
<ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<div id="nav" data-section="nav">
<NavbarStyleApple navItems={[{ name: "Bosh Sahifa", id: "/" }, { name: "Menyu", id: "/menu" }, { name: "Band qilish", id: "/reservations" }, { name: "Haqimizda", id: "/about" }, { name: "Aloqa", id: "/contact" }]} />
</div>
<div id="reservations" data-section="reservations">
<ContactSplit
tag="Band qilish"
title="Stol buyurtma qiling"
description="Sizni kutamiz!"
background={{ variant: "plain" }}
useInvertedBackground={false}
/>
</div>
</ThemeProvider>
);
}