Compare commits
36 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 381220b1e7 | |||
| dc40d06eaf | |||
| 17720354d0 | |||
| b0e010f1b6 | |||
| e20c964ec9 | |||
| c125065886 | |||
| 01c55509d7 | |||
| 6b02aa6bc1 | |||
| 0443aa41c6 | |||
| 3768276359 | |||
| 52f8ae3813 | |||
| 3d6785f573 | |||
| 51aebaa699 | |||
| b25680bbf8 | |||
| 443f5828bf | |||
| bfda844f35 | |||
| bdbc6203ac | |||
| 0a1a9f700e | |||
| 9433e9f20e | |||
| bb42a8abda | |||
| 0683f11482 | |||
| 7876cdadac | |||
| 389c4060f6 | |||
| a2efa131ef | |||
| fc0c22fed5 | |||
| ef34e041e7 | |||
| d0b389a608 | |||
| 39fae5c28d | |||
| 7f6b4e2295 | |||
| 47f260b4c2 | |||
| e7de8f5228 | |||
| f1f467346d | |||
| d85d2e39d5 | |||
| 56000785d9 | |||
| d87ca2b631 | |||
| f88a5bf093 |
@@ -1,45 +1,24 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Roboto } from "next/font/google";
|
import { Inter } from "next/font/google";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
import "./styles/variables.css";
|
||||||
import Tag from "@/tag/Tag";
|
import "./styles/base.css";
|
||||||
|
|
||||||
const roboto = Roboto({
|
const inter = Inter({
|
||||||
variable: "--font-roboto", subsets: ["latin"],
|
variable: "--font-inter", subsets: ["latin"],
|
||||||
weight: ["100", "300", "400", "500", "700", "900"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Brew & Co - Premium Specialty Coffee & Community", description: "Discover exceptional single-origin coffee, expert baristas, and a welcoming community space. Visit Brew & Co for the perfect cup.", keywords: "specialty coffee, espresso, cafe, barista, premium coffee, coffee shop, single origin", openGraph: {
|
title: "Brew & Co - Premium Specialty Coffee", description: "Experience premium specialty coffee in an inviting space designed for authentic connections and exceptional taste."};
|
||||||
title: "Brew & Co - Premium Specialty Coffee", description: "Experience exceptional coffee and community connection", siteName: "Brew & Co", type: "website", images: [
|
|
||||||
{
|
|
||||||
url: "https://img.b2bpic.net/free-photo/caffeine-romantic-milk-wood-aroma_1232-4541.jpg", alt: "Brew & Co Premium Coffee"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
twitter: {
|
|
||||||
card: "summary_large_image", title: "Brew & Co - Premium Specialty Coffee", description: "Exceptional coffee crafted by passionate baristas", images: ["https://img.b2bpic.net/free-photo/cooking-coffee-with-automatic-coffeemachine_1220-5264.jpg"]
|
|
||||||
},
|
|
||||||
robots: {
|
|
||||||
index: true,
|
|
||||||
follow: true
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default function RootLayout({
|
export default function RootLayout({
|
||||||
children,
|
children,
|
||||||
}: Readonly<{
|
}: {
|
||||||
children: React.ReactNode;
|
children: React.ReactNode;
|
||||||
}>) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en">
|
||||||
<ServiceWrapper>
|
<body className={inter.variable}>{children}
|
||||||
<body
|
|
||||||
className={roboto.variable}
|
|
||||||
>
|
|
||||||
<Tag />
|
|
||||||
{children}
|
|
||||||
|
|
||||||
<script
|
<script
|
||||||
dangerouslySetInnerHTML={{
|
dangerouslySetInnerHTML={{
|
||||||
__html: `
|
__html: `
|
||||||
@@ -1407,7 +1386,6 @@ export default function RootLayout({
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
"use client"
|
"use client";
|
||||||
|
|
||||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||||
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
|
||||||
@@ -45,7 +45,7 @@ export default function LandingPage() {
|
|||||||
|
|
||||||
<div id="hero" data-section="hero">
|
<div id="hero" data-section="hero">
|
||||||
<HeroBillboardGallery
|
<HeroBillboardGallery
|
||||||
title="Crafted Coffee, Community Connection"
|
title="dskfjsdlkjf"
|
||||||
description="Experience premium specialty coffee in an inviting space designed for authentic connections and exceptional taste."
|
description="Experience premium specialty coffee in an inviting space designed for authentic connections and exceptional taste."
|
||||||
tag="Welcome to Brew & Co"
|
tag="Welcome to Brew & Co"
|
||||||
tagIcon={Coffee}
|
tagIcon={Coffee}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
headingFontWeight="normal"
|
headingFontWeight="normal"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="navbar" data-section="navbar">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Brew & Co"
|
brandName="Brew & Co"
|
||||||
navItems={[
|
navItems={[
|
||||||
@@ -98,7 +98,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
{"name":"Testimonials","id":"testimonials"},
|
{"name":"Testimonials","id":"testimonials"},
|
||||||
{"name":"Contact","id":"contact"}
|
{"name":"Contact","id":"contact"}
|
||||||
]}
|
]}
|
||||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
button={{ text: "Reserve Now", href: "#contact" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<main className="min-h-screen flex items-center justify-center pt-20">
|
<main className="min-h-screen flex items-center justify-center pt-20">
|
||||||
@@ -135,7 +135,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
headingFontWeight="normal"
|
headingFontWeight="normal"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="navbar" data-section="navbar">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Brew & Co"
|
brandName="Brew & Co"
|
||||||
navItems={[
|
navItems={[
|
||||||
@@ -145,7 +145,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
{"name":"Testimonials","id":"testimonials"},
|
{"name":"Testimonials","id":"testimonials"},
|
||||||
{"name":"Contact","id":"contact"}
|
{"name":"Contact","id":"contact"}
|
||||||
]}
|
]}
|
||||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
button={{ text: "Reserve Now", href: "#contact" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<main className="min-h-screen flex items-center justify-center pt-20">
|
<main className="min-h-screen flex items-center justify-center pt-20">
|
||||||
@@ -189,7 +189,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
headingFontWeight="normal"
|
headingFontWeight="normal"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="navbar" data-section="navbar">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Brew & Co"
|
brandName="Brew & Co"
|
||||||
navItems={[
|
navItems={[
|
||||||
@@ -199,7 +199,7 @@ function ProductPageContent({ params }: ProductPageProps) {
|
|||||||
{"name":"Testimonials","id":"testimonials"},
|
{"name":"Testimonials","id":"testimonials"},
|
||||||
{"name":"Contact","id":"contact"}
|
{"name":"Contact","id":"contact"}
|
||||||
]}
|
]}
|
||||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
button={{ text: "Reserve Now", href: "#contact" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div id="productDetailCard" data-section="productDetailCard">
|
<div id="productDetailCard" data-section="productDetailCard">
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ function ShopPageContent() {
|
|||||||
headingFontWeight="normal"
|
headingFontWeight="normal"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="navbar" data-section="navbar">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Brew & Co"
|
brandName="Brew & Co"
|
||||||
navItems={[
|
navItems={[
|
||||||
@@ -43,7 +43,7 @@ function ShopPageContent() {
|
|||||||
{"name":"Testimonials","id":"testimonials"},
|
{"name":"Testimonials","id":"testimonials"},
|
||||||
{"name":"Contact","id":"contact"}
|
{"name":"Contact","id":"contact"}
|
||||||
]}
|
]}
|
||||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
button={{ text: "Reserve Now", href: "#contact" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<main className="min-h-screen flex items-center justify-center pt-20">
|
<main className="min-h-screen flex items-center justify-center pt-20">
|
||||||
@@ -79,7 +79,7 @@ function ShopPageContent() {
|
|||||||
headingFontWeight="normal"
|
headingFontWeight="normal"
|
||||||
>
|
>
|
||||||
<ReactLenis root>
|
<ReactLenis root>
|
||||||
<div id="navbar" data-section="navbar">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingOverlay
|
<NavbarLayoutFloatingOverlay
|
||||||
brandName="Brew & Co"
|
brandName="Brew & Co"
|
||||||
navItems={[
|
navItems={[
|
||||||
@@ -89,7 +89,7 @@ function ShopPageContent() {
|
|||||||
{"name":"Testimonials","id":"testimonials"},
|
{"name":"Testimonials","id":"testimonials"},
|
||||||
{"name":"Contact","id":"contact"}
|
{"name":"Contact","id":"contact"}
|
||||||
]}
|
]}
|
||||||
button={{ text: "Cart", onClick: () => setCartOpen(true) }}
|
button={{ text: "Reserve Now", href: "#contact" }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div id="productCatalog" data-section="productCatalog">
|
<div id="productCatalog" data-section="productCatalog">
|
||||||
|
|||||||
@@ -2,23 +2,23 @@
|
|||||||
/* Base units */
|
/* Base units */
|
||||||
/* --vw is set by ThemeProvider */
|
/* --vw is set by ThemeProvider */
|
||||||
|
|
||||||
/* --background: #000802;;
|
/* --background: #f5faff;;
|
||||||
--card: #0b1a0b;;
|
--card: #f1f8ff;;
|
||||||
--foreground: #e6ffe6;;
|
--foreground: #001122;;
|
||||||
--primary-cta: #80da9b;;
|
--primary-cta: #159c49;;
|
||||||
--secondary-cta: #07170b;;
|
--secondary-cta: #ffffff;;
|
||||||
--accent: #38714a;;
|
--accent: #a8e8ba;;
|
||||||
--background-accent: #2c6541;; */
|
--background-accent: #6bbf8e;; */
|
||||||
|
|
||||||
--background: #000802;;
|
--background: #f5faff;;
|
||||||
--card: #0b1a0b;;
|
--card: #f1f8ff;;
|
||||||
--foreground: #e6ffe6;;
|
--foreground: #001122;;
|
||||||
--primary-cta: #80da9b;;
|
--primary-cta: #159c49;;
|
||||||
--primary-cta-text: #f7f6f7;;
|
--primary-cta-text: #ffffff;;
|
||||||
--secondary-cta: #07170b;;
|
--secondary-cta: #ffffff;;
|
||||||
--secondary-cta-text: #0c1325;;
|
--secondary-cta-text: #3d2817;;
|
||||||
--accent: #38714a;;
|
--accent: #a8e8ba;;
|
||||||
--background-accent: #2c6541;;
|
--background-accent: #6bbf8e;;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user