Merge version_2 into main

Merge version_2 into main
This commit was merged in pull request #3.
This commit is contained in:
2026-03-09 07:36:56 +00:00
2 changed files with 28 additions and 176 deletions

View File

@@ -45,7 +45,7 @@ export default function RootLayout({
children: React.ReactNode;
}>) {
return (
<html lang="en" suppressHydrationWarning>
<html lang="ru" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} ${lato.variable} antialiased`}
@@ -179,7 +179,7 @@ export default function RootLayout({
const backgroundImage = computedStyle.backgroundImage;
if (backgroundImage && backgroundImage !== 'none') {
const urlMatch = backgroundImage.match(/url(['"]?([^'")]+)['"]?)/);
const urlMatch = backgroundImage.match(/url(['"\(]?([^'"\)]+)['")\)]?/);
if (urlMatch && urlMatch[1] && !urlMatch[1].includes('gradient')) {
const area = element.offsetWidth * element.offsetHeight;
const hasReasonableSize = area > 1000;
@@ -348,7 +348,7 @@ export default function RootLayout({
const computedStyle = window.getComputedStyle(element);
const backgroundImage = computedStyle.backgroundImage;
if (backgroundImage && backgroundImage !== 'none') {
const urlMatch = backgroundImage.match(/url(['"]?([^'")]+)['"]?)/);
const urlMatch = backgroundImage.match(/url(['"\(]?([^'"\)]+)['")\)]?/);
if (urlMatch) {
const originalBgSrc = extractOriginalUrl(urlMatch[1]);
if (tagName !== 'img') {
@@ -1301,7 +1301,7 @@ export default function RootLayout({
let cleanOldValue = oldValue;
if (oldValue.includes('url(')) {
const urlMatch = oldValue.match(/url(['"]?([^'")]+)['"]?)/);
const urlMatch = oldValue.match(/url(['"\(]?([^'"\)]+)['")\)]?/);
if (urlMatch) {
cleanOldValue = urlMatch[1];
}

View File

@@ -1,182 +1,34 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import HeroLogoBillboard from "@/components/sections/hero/HeroLogoBillboard";
import FeatureCardMedia from "@/components/sections/feature/FeatureCardMedia";
import ProductCardTwo from "@/components/sections/product/ProductCardTwo";
import TestimonialCardSix from "@/components/sections/testimonial/TestimonialCardSix";
import ContactFaq from "@/components/sections/contact/ContactFaq";
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
import { Phone } from "lucide-react";
import ThemeProvider from "@/theme/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
export default function LandingPage() {
export default function Page() {
return (
<ThemeProvider
defaultButtonVariant="directional-hover"
defaultTextAnimation="reveal-blur"
borderRadius="pill"
defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="mediumLargeSizeLargeTitles"
background="noise"
cardStyle="outline"
primaryButtonStyle="primary-glow"
secondaryButtonStyle="layered"
headingFontWeight="semibold"
sizing="medium"
background="aurora"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="bold"
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
navItems={[
{ name: "Home", id: "home" },
{ name: "Menu", id: "menu" },
{ name: "About", id: "about" },
{ name: "Reviews", id: "reviews" },
{ name: "Contact", id: "contact" },
]}
brandName="Special Coffee & Tea"
button={{ text: "Call Now", href: "tel:+998955719191" }}
/>
</div>
<div id="hero" data-section="hero">
<HeroLogoBillboard
logoText="Special Coffee & Tea"
description="Premium coffee, authentic Italian-style brews, and fresh sweets. Open 24 hours in the heart of Tashkent."
buttons={[
{ text: "Call Now", href: "tel:+998955719191" },
{ text: "Get Directions", href: "https://maps.google.com/?q=76M2+6W5,+100097+Tashkent" },
]}
buttonAnimation="slide-up"
background={{ variant: "sparkles-gradient" }}
imageSrc="http://img.b2bpic.net/free-photo/girl-with-phone-night_1303-5741.jpg"
imageAlt="Special Coffee & Tea cozy interior with warm lighting"
mediaAnimation="blur-reveal"
frameStyle="card"
/>
</div>
<div id="why-choose-us" data-section="why-choose-us">
<FeatureCardMedia
title="Why Customers Love Us"
description="Experience the perfect blend of quality, convenience, and warmth at Special Coffee & Tea"
features={[
{
id: "1", tag: "Coffee Excellence", title: "Authentic Italian-Style Coffee", description: "Our baristas craft every cup with precision using premium beans and traditional Italian techniques. Each espresso is pulled to perfection.", imageSrc: "http://img.b2bpic.net/free-photo/hot-coffee-cup_53876-88531.jpg", imageAlt: "Professional barista preparing authentic Italian espresso"},
{
id: "2", tag: "Always Open", title: "Open 24 Hours", description: "Whether you need a morning brew or a late-night pick-me-up, we're always here for you. Perfect for students, night shift workers, and coffee lovers.", imageSrc: "http://img.b2bpic.net/free-vector/set-neon-lights-with-we-are-open-signs_23-2148548824.jpg", imageAlt: "Cozy cafe ambiance open late at night"},
{
id: "3", tag: "Fresh & Delicious", title: "Coffee with Fresh Sweets", description: "Pair your perfect cup with our selection of freshly baked pastries and desserts. Handpicked for quality and taste.", imageSrc: "http://img.b2bpic.net/free-photo/gourmet-chocolate-chip-muffins-sweet-indulgence-generated-by-ai_188544-42296.jpg", imageAlt: "Fresh pastries and desserts displayed in cafe counter"},
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
/>
</div>
<div id="menu-preview" data-section="menu-preview">
<ProductCardTwo
title="Menu Preview"
description="Explore our selection of premium coffee and specialty beverages"
tag="Popular Items"
products={[
{
id: "1", brand: "Specialty Coffees", name: "Espresso", price: "8,000 UZS", rating: 5,
reviewCount: "1.2k", imageSrc: "http://img.b2bpic.net/free-photo/milk-poured-into-transparent-glass_23-2148349577.jpg?_wi=1", imageAlt: "Classic espresso shot"},
{
id: "2", brand: "Specialty Coffees", name: "Cappuccino", price: "12,000 UZS", rating: 5,
reviewCount: "980", imageSrc: "http://img.b2bpic.net/free-photo/milk-poured-into-transparent-glass_23-2148349577.jpg?_wi=2", imageAlt: "Creamy cappuccino with latte art"},
{
id: "3", brand: "Specialty Coffees", name: "Latte", price: "12,000 UZS", rating: 5,
reviewCount: "1.1k", imageSrc: "http://img.b2bpic.net/free-photo/milk-poured-into-transparent-glass_23-2148349577.jpg?_wi=3", imageAlt: "Smooth latte with microfoam"},
{
id: "4", brand: "Tea Selection", name: "Premium Tea", price: "10,000 UZS", rating: 5,
reviewCount: "650", imageSrc: "http://img.b2bpic.net/free-photo/milk-poured-into-transparent-glass_23-2148349577.jpg?_wi=4", imageAlt: "Specialty tea brewing"},
]}
gridVariant="four-items-2x2-equal-grid"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={true}
buttons={[{ text: "View Full Menu", href: "tel:+998955719191" }]}
/>
</div>
<div id="reviews" data-section="reviews">
<TestimonialCardSix
title="What Our Customers Say"
description="Real reviews from people who love our coffee"
tag="4.3★ Rating"
testimonials={[
{
id: "1", name: "Aziz Xamirov", handle: "@azizx", testimonial: "Coffee tasted just like in Italy. Highly recommend this place! The barista knows what they're doing.", imageSrc: "http://img.b2bpic.net/free-photo/authentic-book-club-scene_23-2150104578.jpg?_wi=1", imageAlt: "Aziz Xamirov"},
{
id: "2", name: "Zainab Karimova", handle: "@zainab.k", testimonial: "Amazing aroma and flavor. Great service and cozy atmosphere. I come here every day!", imageSrc: "http://img.b2bpic.net/free-photo/portrait-professional-confident-young-woman-working-retail-business-industry-promote-company-advertise-join-her-team-smiling-self-assured-pleased-camera-stand-hall_197531-22167.jpg?_wi=1", imageAlt: "Zainab Karimova"},
{
id: "3", name: "Rustam Aliyev", handle: "@rustam_ali", testimonial: "Best espresso in Tashkent. Open 24 hours is perfect for my night shifts. Keep it up!", imageSrc: "http://img.b2bpic.net/free-photo/front-view-cute-barista-girl_23-2148436121.jpg", imageAlt: "Rustam Aliyev"},
{
id: "4", name: "Mehriban Mirza", handle: "@mehriban_m", testimonial: "Perfect place to study or work with friends. Fresh coffee and friendly staff. Highly recommend!", imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-attractive-woman-elegant-hotel-cafeteria_657883-403.jpg", imageAlt: "Mehriban Mirza"},
{
id: "5", name: "Malik Shodmonov", handle: "@malik_s", testimonial: "The pastries are so fresh and delicious. Best coffee shop in the neighborhood!", imageSrc: "http://img.b2bpic.net/free-photo/authentic-book-club-scene_23-2150104578.jpg?_wi=2", imageAlt: "Malik Shodmonov"},
{
id: "6", name: "Sevara Rahimova", handle: "@sevara_r", testimonial: "Always excellent service and quality. The 24-hour schedule is amazing for late-night studies.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-professional-confident-young-woman-working-retail-business-industry-promote-company-advertise-join-her-team-smiling-self-assured-pleased-camera-stand-hall_197531-22167.jpg?_wi=2", imageAlt: "Sevara Rahimova"},
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
speed={40}
/>
</div>
<div id="location" data-section="location">
<ContactFaq
ctaTitle="Visit Us Today"
ctaDescription="Stop by for fresh coffee and a warm welcome. We're open 24 hours, 7 days a week."
ctaButton={{ text: "Call +998 95 571 91 91", href: "tel:+998955719191" }}
ctaIcon={Phone}
faqs={[
{
id: "1", title: "Where are you located?", content: "We're located at 76M2+6W5, 100097 Tashkent, Uzbekistan. Easy to find and convenient for locals and visitors. Use Google Maps to get directions."},
{
id: "2", title: "What are your operating hours?", content: "We're open 24 hours, 7 days a week! Whether you need morning coffee, afternoon meetings, or late-night study sessions, we're always ready to serve you."},
{
id: "3", title: "Do you have seating available?", content: "Yes! We have comfortable seating perfect for studying, working, or just enjoying your coffee with friends. Our cozy atmosphere makes it ideal for all occasions."},
{
id: "4", title: "What payment methods do you accept?", content: "We accept cash and card payments for your convenience. Contact us directly for any specific payment inquiries."},
]}
useInvertedBackground={true}
animationType="slide-up"
accordionAnimationType="smooth"
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoEmphasis
logoText="Special Coffee & Tea"
columns={[
{
items: [
{ label: "Home", href: "#home" },
{ label: "Menu", href: "#menu" },
{ label: "About", href: "#about" },
],
},
{
items: [
{ label: "Call Us", href: "tel:+998955719191" },
{
label: "Get Directions", href: "https://maps.google.com/?q=76M2+6W5,+100097+Tashkent"},
{ label: "Hours: 24/7", href: "#" },
],
},
{
items: [
{ label: "Reviews", href: "#reviews" },
{ label: "Contact", href: "#contact" },
{ label: "Privacy", href: "#" },
],
},
]}
/>
</div>
<NavbarStyleCentered
navItems={[
{ name: "Главная", id: "/" },
{ name: "О нас", id: "#about" },
{ name: "Услуги", id: "#services" },
{ name: "Меню", id: "#menu" },
{ name: "Контакты", id: "#contact" },
]}
button={{
text: "Заказать", href: "#contact"}}
brandName="Special Coffee & Tea"
/>
</ThemeProvider>
);
}