Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ed4200c564 | |||
| 1d7e0e7fe4 | |||
| 338bff5a0b | |||
| 5dca1fa1f9 | |||
| d9f37f7291 | |||
| e896b9e3a3 | |||
| 112ded484f | |||
| 61556f6a7b | |||
| 529ad05bbc | |||
| 4f952292e2 | |||
| 4174384e86 | |||
| 372190f49b | |||
| 9fddaa981e | |||
| 23432529c9 | |||
| 0edd5d12d5 | |||
| 1dacb1fad8 | |||
| 01a5ca0c4a | |||
| 2790f02604 | |||
| 61ad2280ee | |||
| d98d1be6c1 | |||
| 418c85c7b4 | |||
| be1ebce411 | |||
| c10a796c03 | |||
| 67563e4167 | |||
| 074a13becc | |||
| d1d683732f | |||
| 979e56c331 | |||
| ec96d39145 |
95
src/app/bagels/page.tsx
Normal file
95
src/app/bagels/page.tsx
Normal file
@@ -0,0 +1,95 @@
|
||||
"use client";
|
||||
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { Croissant } from "lucide-react";
|
||||
|
||||
export default function BagelsPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="bounce-effect"
|
||||
defaultTextAnimation="reveal-blur"
|
||||
borderRadius="soft"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="mediumLargeSizeLargeTitles"
|
||||
background="blurBottom"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
brandName="Artisan Coffee Co."
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Coffees", id: "/coffees" },
|
||||
{ name: "Bagels", id: "/bagels" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
]}
|
||||
button={{ text: "Order Now", href: "contact" }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="bagels" data-section="bagels">
|
||||
<ProductCardTwo
|
||||
title="Fan Favorite Bagels"
|
||||
description="Indulge in our bestselling bagels, freshly baked daily. From classic cream cheese to our signature salmon bagel, each one is crafted with premium ingredients."
|
||||
tag="Bestsellers"
|
||||
tagIcon={Croissant}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
animationType="blur-reveal"
|
||||
products={[
|
||||
{
|
||||
id: "1", brand: "Artisan Coffee Co.", name: "Salmon Bagel", price: "$8.99", rating: 5,
|
||||
reviewCount: "342", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AN51bjLT2H1DJy7cFepO8qMgO7/uploaded-1772445675642-eu470ff5.jpg", imageAlt: "Fresh salmon bagel with cream cheese"
|
||||
},
|
||||
{
|
||||
id: "2", brand: "Artisan Coffee Co.", name: "California Bagel", price: "$9.49", rating: 5,
|
||||
reviewCount: "298", imageSrc: "http://img.b2bpic.net/free-photo/sandwich-with-lettuce-tomato-cheese_1441-1508.jpg", imageAlt: "California bagel with avocado and veggies"
|
||||
},
|
||||
{
|
||||
id: "3", brand: "Artisan Coffee Co.", name: "Cream Cheese Bagel", price: "$4.99", rating: 5,
|
||||
reviewCount: "451", imageSrc: "http://img.b2bpic.net/free-photo/close-up-bagel-cream-cheese_1441-1510.jpg", imageAlt: "Classic cream cheese bagel"
|
||||
}
|
||||
]}
|
||||
gridVariant="uniform-all-items-equal"
|
||||
buttons={[
|
||||
{ text: "Shop All Bagels", href: "contact" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplitForm
|
||||
title="Special Orders & Catering"
|
||||
description="Planning an event or want to order in bulk? We'd love to help! Contact us for custom bagel platters, catering options, and special requests."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Your Email", required: true }
|
||||
]}
|
||||
textarea={{ name: "message", placeholder: "Tell us about your bagel order or catering needs...", rows: 5, required: true }}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/rustic-chandelier-made-bulbs-ropes-dining-table-vintage-kitchen_181624-9173.jpg?_wi=3"
|
||||
imageAlt="Coffee shop interior with bagels"
|
||||
mediaAnimation="slide-up"
|
||||
buttonText="Send Message"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Artisan Coffee Co."
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Visit Us: 123 Valencia St, SF", href: "https://maps.google.com" }}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
103
src/app/coffees/page.tsx
Normal file
103
src/app/coffees/page.tsx
Normal file
@@ -0,0 +1,103 @@
|
||||
"use client"
|
||||
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import ProductCardTwo from '@/components/sections/product/ProductCardTwo';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import FooterLogoReveal from '@/components/sections/footer/FooterLogoReveal';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import { Coffee, Mail } from "lucide-react";
|
||||
|
||||
export default function CoffeesPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="bounce-effect"
|
||||
defaultTextAnimation="reveal-blur"
|
||||
borderRadius="soft"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="mediumLargeSizeLargeTitles"
|
||||
background="blurBottom"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="primary-glow"
|
||||
secondaryButtonStyle="glass"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleCentered
|
||||
brandName="Artisan Coffee Co."
|
||||
navItems={[
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Coffees", id: "/coffees" },
|
||||
{ name: "Bagels", id: "/bagels" },
|
||||
{ name: "Contact", id: "contact" }
|
||||
]}
|
||||
button={{ text: "Order Now", href: "contact" }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="coffees" data-section="coffees">
|
||||
<ProductCardTwo
|
||||
title="Our Premium Coffee Collection"
|
||||
description="Discover our bestselling coffees, from smooth espresso blends to refreshing cold brews. Each coffee is carefully sourced and roasted to perfection."
|
||||
tag="Bestsellers"
|
||||
tagIcon={Coffee}
|
||||
tagAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
animationType="blur-reveal"
|
||||
products={[
|
||||
{
|
||||
id: "1", brand: "Artisan Coffee Co.", name: "Espresso", price: "$4.99", rating: 5,
|
||||
reviewCount: "189", imageSrc: "http://img.b2bpic.net/free-photo/young-man-working-with-coffee-machine-bar-counter-restaurant-barista-apron-white-shirt-making-coffee-by-coffee-machine-cafe-boy-working-as-barista-coffee-shop_574295-4942.jpg?_wi=2", imageAlt: "Perfect espresso shot with crema"
|
||||
},
|
||||
{
|
||||
id: "2", brand: "Artisan Coffee Co.", name: "Cappuccino", price: "$5.99", rating: 5,
|
||||
reviewCount: "276", imageSrc: "http://img.b2bpic.net/free-photo/close-up-cup-coffee-latte-art-woman-hand-coffee-shop-cafe_1150-10238.jpg?_wi=2", imageAlt: "Cappuccino with latte art"
|
||||
},
|
||||
{
|
||||
id: "3", brand: "Artisan Coffee Co.", name: "Americano", price: "$4.49", rating: 5,
|
||||
reviewCount: "142", imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-person-making-drip-coffee_53876-30607.jpg?_wi=2", imageAlt: "Americano coffee"
|
||||
},
|
||||
{
|
||||
id: "4", brand: "Artisan Coffee Co.", name: "Matcha Latte", price: "$6.99", rating: 5,
|
||||
reviewCount: "203", imageSrc: "http://img.b2bpic.net/free-photo/close-up-cup-coffee-latte-art-woman-hand-coffee-shop-cafe_1150-10238.jpg?_wi=3", imageAlt: "Matcha latte with creamy foam"
|
||||
},
|
||||
{
|
||||
id: "5", brand: "Artisan Coffee Co.", name: "Chaga Tea", price: "$5.49", rating: 5,
|
||||
reviewCount: "98", imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-person-making-drip-coffee_53876-30607.jpg?_wi=3", imageAlt: "Chaga tea blend"
|
||||
}
|
||||
]}
|
||||
gridVariant="uniform-all-items-equal"
|
||||
buttons={[
|
||||
{ text: "Shop All Coffees", href: "contact" }
|
||||
]}
|
||||
buttonAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<ContactSplitForm
|
||||
title="Get In Touch"
|
||||
description="Have questions about our coffees? Want to place an order or learn more about our sourcing practices? Fill out the form and we'll get back to you shortly."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Your Email", required: true }
|
||||
]}
|
||||
textarea={{ name: "message", placeholder: "Tell us about your coffee preferences...", rows: 5, required: true }}
|
||||
useInvertedBackground={false}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/rustic-chandelier-made-bulbs-ropes-dining-table-vintage-kitchen_181624-9173.jpg?_wi=2"
|
||||
imageAlt="Coffee shop interior"
|
||||
mediaAnimation="slide-up"
|
||||
buttonText="Send Message"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoReveal
|
||||
logoText="Artisan Coffee Co."
|
||||
leftLink={{ text: "Privacy Policy", href: "#" }}
|
||||
rightLink={{ text: "Visit Us: 123 Valencia St, SF", href: "https://maps.google.com" }}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
@@ -1,45 +1,23 @@
|
||||
import type { Metadata } from "next";
|
||||
import { Montserrat } from "next/font/google";
|
||||
import { Inter } from "next/font/google";
|
||||
import "./globals.css";
|
||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||
import Tag from "@/tag/Tag";
|
||||
import "./styles/variables.css";
|
||||
import "./styles/base.css";
|
||||
|
||||
const montserrat = Montserrat({
|
||||
variable: "--font-montserrat", subsets: ["latin"],
|
||||
});
|
||||
const inter = Inter({ subsets: ["latin"] });
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "Artisan Coffee Co. | Premium Coffee in San Francisco", description: "Discover freshly roasted, expertly crafted coffee in the heart of San Francisco. Visit our cafe for premium espresso, single-origin pour overs, and exceptional service.", keywords: ["coffee shop", "San Francisco", "artisan coffee", "specialty coffee", "espresso", "cafe", "premium roasted beans"],
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true
|
||||
},
|
||||
openGraph: {
|
||||
title: "Artisan Coffee Co. | Premium Coffee in San Francisco", description: "Discover freshly roasted, expertly crafted coffee in the heart of San Francisco.", type: "website", siteName: "Artisan Coffee Co.", images: [
|
||||
{
|
||||
url: "http://img.b2bpic.net/free-photo/rustic-chandelier-made-bulbs-ropes-dining-table-vintage-kitchen_181624-9173.jpg", alt: "Artisan Coffee Co. - San Francisco"
|
||||
}
|
||||
]
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image", title: "Artisan Coffee Co. | Premium Coffee in San Francisco", description: "Discover freshly roasted, expertly crafted coffee in the heart of San Francisco.", images: ["http://img.b2bpic.net/free-photo/rustic-chandelier-made-bulbs-ropes-dining-table-vintage-kitchen_181624-9173.jpg"]
|
||||
}
|
||||
title: "Artisan Coffee Co.", description: "Premium artisan coffee, freshly roasted and expertly prepared"
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
}: {
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
}) {
|
||||
return (
|
||||
<html lang="en" suppressHydrationWarning>
|
||||
<ServiceWrapper>
|
||||
<body
|
||||
className={`${montserrat.variable} antialiased`}
|
||||
>
|
||||
<Tag />
|
||||
{children}
|
||||
|
||||
<html lang="en">
|
||||
<body className={inter.className}>{children}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
@@ -1407,7 +1385,6 @@ export default function RootLayout({
|
||||
}}
|
||||
/>
|
||||
</body>
|
||||
</ServiceWrapper>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
"use client"
|
||||
"use client";
|
||||
|
||||
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
|
||||
import HeroSplit from '@/components/sections/hero/HeroSplit';
|
||||
@@ -33,7 +33,9 @@ export default function LandingPage() {
|
||||
{ name: "Menu", id: "products" },
|
||||
{ name: "Our Story", id: "story" },
|
||||
{ name: "Visit Us", id: "contact" },
|
||||
{ name: "Reviews", id: "testimonials" }
|
||||
{ name: "Reviews", id: "testimonials" },
|
||||
{ name: "Coffees", id: "/coffees" },
|
||||
{ name: "Bagels", id: "/bagels" }
|
||||
]}
|
||||
button={{ text: "Order Now", href: "contact" }}
|
||||
/>
|
||||
@@ -41,13 +43,13 @@ export default function LandingPage() {
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroSplit
|
||||
title="Freshly Roasted, Expertly Crafted Coffee in the Heart of San Francisco"
|
||||
title="i"
|
||||
description="Welcome to Artisan Coffee Co., where we believe in the perfect cup. Every bean is carefully selected, roasted to perfection, and prepared with passion by our experienced baristas."
|
||||
tag="Premium Artisan Coffee"
|
||||
tagIcon={Coffee}
|
||||
tagAnimation="slide-up"
|
||||
background={{ variant: "glowing-orb" }}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/rustic-chandelier-made-bulbs-ropes-dining-table-vintage-kitchen_181624-9173.jpg"
|
||||
videoSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AN51bjLT2H1DJy7cFepO8qMgO7/uploaded-1772446040564-b62odt8g.mp4"
|
||||
imageAlt="Warm, inviting coffee shop interior with specialty coffee equipment"
|
||||
imagePosition="right"
|
||||
mediaAnimation="slide-up"
|
||||
@@ -86,15 +88,15 @@ export default function LandingPage() {
|
||||
products={[
|
||||
{
|
||||
id: "1", brand: "Artisan Coffee Co.", name: "Signature Espresso Blend", price: "$16.99", rating: 5,
|
||||
reviewCount: "324", imageSrc: "http://img.b2bpic.net/free-photo/young-man-working-with-coffee-machine-bar-counter-restaurant-barista-apron-white-shirt-making-coffee-by-coffee-machine-cafe-boy-working-as-barista-coffee-shop_574295-4942.jpg", imageAlt: "Perfect espresso shot with crema"
|
||||
reviewCount: "324", imageSrc: "http://img.b2bpic.net/free-photo/young-man-working-with-coffee-machine-bar-counter-restaurant-barista-apron-white-shirt-making-coffee-by-coffee-machine-cafe-boy-working-as-barista-coffee-shop_574295-4942.jpg?_wi=1", imageAlt: "Perfect espresso shot with crema"
|
||||
},
|
||||
{
|
||||
id: "2", brand: "Artisan Coffee Co.", name: "Ethiopian Pour Over", price: "$18.99", rating: 5,
|
||||
reviewCount: "287", imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-person-making-drip-coffee_53876-30607.jpg", imageAlt: "Beautiful pour over coffee preparation"
|
||||
reviewCount: "287", imageSrc: "http://img.b2bpic.net/free-photo/aerial-view-person-making-drip-coffee_53876-30607.jpg?_wi=1", imageAlt: "Beautiful pour over coffee preparation"
|
||||
},
|
||||
{
|
||||
id: "3", brand: "Artisan Coffee Co.", name: "Artisan Latte Blend", price: "$15.99", rating: 4,
|
||||
reviewCount: "401", imageSrc: "http://img.b2bpic.net/free-photo/close-up-cup-coffee-latte-art-woman-hand-coffee-shop-cafe_1150-10238.jpg", imageAlt: "Perfect latte with latte art"
|
||||
reviewCount: "401", imageSrc: "http://img.b2bpic.net/free-photo/close-up-cup-coffee-latte-art-woman-hand-coffee-shop-cafe_1150-10238.jpg?_wi=1", imageAlt: "Perfect latte with latte art"
|
||||
}
|
||||
]}
|
||||
gridVariant="three-columns-all-equal-width"
|
||||
@@ -182,4 +184,4 @@ export default function LandingPage() {
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
/* Base units */
|
||||
/* --vw is set by ThemeProvider */
|
||||
|
||||
/* --background: #f7f6f7;;
|
||||
--card: #ffffff;;
|
||||
--foreground: #25190c;;
|
||||
--primary-cta: #ff6207;;
|
||||
--secondary-cta: #ffffff;;
|
||||
--accent: #ffce93;;
|
||||
--background-accent: #e8cfa8;; */
|
||||
/* --background: #000000;;;
|
||||
--card: #1a1a1a;;;
|
||||
--foreground: #ffffff;;;
|
||||
--primary-cta: #ff6207;;;
|
||||
--secondary-cta: #1a1a1a;;;
|
||||
--accent: #ff6207;;;
|
||||
--background-accent: #ff6207;;; */
|
||||
|
||||
--background: #f7f6f7;;
|
||||
--card: #ffffff;;
|
||||
--foreground: #25190c;;
|
||||
--primary-cta: #ff6207;;
|
||||
--primary-cta-text: #f7f6f7;;
|
||||
--secondary-cta: #ffffff;;
|
||||
--secondary-cta-text: #25190c;;
|
||||
--accent: #ffce93;;
|
||||
--background-accent: #e8cfa8;;
|
||||
--background: #000000;;;
|
||||
--card: #1a1a1a;;;
|
||||
--foreground: #ffffff;;;
|
||||
--primary-cta: #ff6207;;;
|
||||
--primary-cta-text: #f7f6f7;;;
|
||||
--secondary-cta: #1a1a1a;;;
|
||||
--secondary-cta-text: #ffffff;;;
|
||||
--accent: #ff6207;;;
|
||||
--background-accent: #ff6207;;;
|
||||
|
||||
/* text sizing - set by ThemeProvider */
|
||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||
|
||||
Reference in New Issue
Block a user