Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d12e4b6989 | |||
| f4d430f675 | |||
| 9e90ad755f | |||
| 45b1a16eb1 | |||
| 52bd5c1e01 | |||
| 100f7b6ac3 | |||
| 7b5fd1e5c7 | |||
| 08e4b30497 | |||
| 88309cd736 | |||
| 0d42112c1d | |||
| 74efe16eb7 | |||
| 3987fd0133 | |||
| 4c14ee6b99 | |||
| d31867e7fb | |||
| 30ba9591f1 | |||
| 1991a7ebf2 |
@@ -1,52 +1,47 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Halant } from "next/font/google";
|
import { Bitcount_Grid_Double_Ink } from "next/font/google";
|
||||||
import { Inter } from "next/font/google";
|
import "./styles/variables.css";
|
||||||
import { Nunito_Sans } from "next/font/google";
|
import "./styles/base.css";
|
||||||
import "./globals.css";
|
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
|
||||||
import Tag from "@/tag/Tag";
|
|
||||||
import { getVisualEditScript } from "@/utils/visual-edit-script";
|
|
||||||
|
|
||||||
const halant = Halant({
|
const bitcountGridDoubleInk = Bitcount_Grid_Double_Ink({
|
||||||
variable: "--font-halant", subsets: ["latin"],
|
variable: "--font-bitcount-grid-double-ink", subsets: ["latin"],
|
||||||
weight: ["300", "400", "500", "600", "700"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const inter = Inter({
|
|
||||||
variable: "--font-inter", subsets: ["latin"],
|
|
||||||
});
|
|
||||||
|
|
||||||
const nunitoSans = Nunito_Sans({
|
|
||||||
variable: "--font-nunito-sans", subsets: ["latin"],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
title: "Brew Haven | Premium Specialty Coffee Shop", description: "Discover exceptional specialty coffee handcrafted by passionate baristas. Ethically sourced, expertly roasted, and served with care.", keywords: "coffee shop, specialty coffee, espresso, cold brew, artisan coffee, barista, sustainable coffee", robots: {
|
title: "Brew Haven - Premium Specialty Coffee", description: "Experience the finest specialty coffee crafted by passionate baristas. From single-origin espresso to artisan cold brew."};
|
||||||
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" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<body className={`${bitcountGridDoubleInk.variable}`}>
|
||||||
<body
|
<ServiceWrapper>
|
||||||
className={`${halant.variable} ${inter.variable} ${nunitoSans.variable} antialiased`}
|
|
||||||
>
|
|
||||||
<Tag />
|
<Tag />
|
||||||
{children}
|
{children}
|
||||||
<script
|
</ServiceWrapper>
|
||||||
dangerouslySetInnerHTML={{
|
<script
|
||||||
__html: `${getVisualEditScript()}`
|
dangerouslySetInnerHTML={{
|
||||||
|
__html: `
|
||||||
|
if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
||||||
|
document.documentElement.classList.add('dark');
|
||||||
|
} else {
|
||||||
|
document.documentElement.classList.remove('dark');
|
||||||
|
}
|
||||||
|
`,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</body>
|
</body>
|
||||||
</ServiceWrapper>
|
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ServiceWrapper({ children }: { children: React.ReactNode }) {
|
||||||
|
return <>{children}</>;
|
||||||
|
}
|
||||||
|
|
||||||
|
function Tag() {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
@@ -193,4 +193,4 @@ export default function LandingPage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ html {
|
|||||||
body {
|
body {
|
||||||
background-color: var(--background);
|
background-color: var(--background);
|
||||||
color: var(--foreground);
|
color: var(--foreground);
|
||||||
font-family: var(--font-nunito-sans), sans-serif;
|
font-family: var(--font-bitcount-grid-double-ink), sans-serif;
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
@@ -24,5 +24,5 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-family: var(--font-nunito-sans), sans-serif;
|
font-family: var(--font-bitcount-grid-double-ink), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,15 +10,15 @@
|
|||||||
--accent: #ffffff;
|
--accent: #ffffff;
|
||||||
--background-accent: #ffffff; */
|
--background-accent: #ffffff; */
|
||||||
|
|
||||||
--background: #ffffff;
|
--background: #000000;
|
||||||
--card: #f9f9f9;
|
--card: #0c0c0c;
|
||||||
--foreground: #120a00e6;
|
--foreground: #ffffff;
|
||||||
--primary-cta: #FF7B05;
|
--primary-cta: #10b981;
|
||||||
--primary-cta-text: #ffffff;
|
--primary-cta-text: #ffffff;
|
||||||
--secondary-cta: #f9f9f9;
|
--secondary-cta: #000000;
|
||||||
--secondary-cta-text: #120a00e6;
|
--secondary-cta-text: #120a00e6;
|
||||||
--accent: #e2e2e2;
|
--accent: #10b981;
|
||||||
--background-accent: #FF7B05;
|
--background-accent: #10b981;
|
||||||
|
|
||||||
/* 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