Merge version_2 into main #2
66
src/app/about/page.tsx
Normal file
66
src/app/about/page.tsx
Normal file
@@ -0,0 +1,66 @@
|
||||
"use client";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
import SplitAbout from '@/components/sections/about/SplitAbout';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
|
||||
export default function AboutPage() {
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Products", id: "/products" },
|
||||
{ name: "About Us", id: "/about" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
{ name: "FAQ", id: "/faq" }
|
||||
];
|
||||
const footerColumns = [
|
||||
{ items: [{ label: "Urban Bikes", href: "/products" }, { label: "Mountain Bikes", href: "/products" }, { label: "Folding Bikes", href: "/products" }, { label: "Accessories", href: "/products" }] },
|
||||
{ items: [{ label: "About Us", href: "/about" }, { label: "Our Story", href: "/about" }, { label: "Careers", href: "#" }, { label: "Blog", href: "#" }] },
|
||||
{ items: [{ label: "FAQ", href: "/faq" }, { label: "Support", href: "/contact" }, { label: "Warranty", href: "#" }, { label: "Privacy Policy", href: "#" }] }
|
||||
];
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="shift-hover"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="largeSmallSizeMediumTitles"
|
||||
background="noiseDiagonalGradient"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
brandName="E-Bike Emporium"
|
||||
navItems={navItems}
|
||||
/>
|
||||
</div>
|
||||
<div id="about-section" data-section="about-section">
|
||||
<SplitAbout
|
||||
title="Our Story: Powering Your Journey"
|
||||
description="At E-Bike Emporium, we believe in a greener, more active future. Since 20XX, we've been dedicated to providing high-quality electric bikes that blend innovative technology with sustainable urban and adventure mobility. Our passion drives us to curate the best e-bikes on the market, ensuring every ride is exhilarating and eco-conscious."
|
||||
bulletPoints={[
|
||||
{ title: "Innovation", description: "Leading the charge with cutting-edge e-bike technology." },
|
||||
{ title: "Sustainability", description: "Committed to eco-friendly transport solutions." },
|
||||
{ title: "Community", description: "Building a network of passionate riders worldwide." }
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/group-business-people-office_23-2147775510.jpg?_wi=1"
|
||||
imageAlt="Team working on bikes"
|
||||
mediaAnimation="slide-up"
|
||||
imagePosition="right"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
logoSrc="http://img.b2bpic.net/free-photo/adorable-illustration-animal-bike_23-2151850288.jpg"
|
||||
logoAlt="E-Bike Emporium Logo"
|
||||
logoText="E-Bike Emporium"
|
||||
columns={footerColumns}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
70
src/app/contact/page.tsx
Normal file
70
src/app/contact/page.tsx
Normal file
@@ -0,0 +1,70 @@
|
||||
"use client";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
|
||||
export default function ContactPage() {
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Products", id: "/products" },
|
||||
{ name: "About Us", id: "/about" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
{ name: "FAQ", id: "/faq" }
|
||||
];
|
||||
const footerColumns = [
|
||||
{ items: [{ label: "Urban Bikes", href: "/products" }, { label: "Mountain Bikes", href: "/products" }, { label: "Folding Bikes", href: "/products" }, { label: "Accessories", href: "/products" }] },
|
||||
{ items: [{ label: "About Us", href: "/about" }, { label: "Our Story", href: "/about" }, { label: "Careers", href: "#" }, { label: "Blog", href: "#" }] },
|
||||
{ items: [{ label: "FAQ", href: "/faq" }, { label: "Support", href: "/contact" }, { label: "Warranty", href: "#" }, { label: "Privacy Policy", href: "#" }] }
|
||||
];
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="shift-hover"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="largeSmallSizeMediumTitles"
|
||||
background="noiseDiagonalGradient"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
brandName="E-Bike Emporium"
|
||||
navItems={navItems}
|
||||
/>
|
||||
</div>
|
||||
<div id="contact-section" data-section="contact-section">
|
||||
<ContactSplitForm
|
||||
title="Get In Touch: We're Here to Help"
|
||||
description="Have questions about our e-bikes, need support, or just want to chat? Fill out the form below and our team will get back to you promptly. We're committed to providing excellent service."
|
||||
inputs={[
|
||||
{ name: "name", type: "text", placeholder: "Your Name", required: true },
|
||||
{ name: "email", type: "email", placeholder: "Your Email", required: true },
|
||||
{ name: "subject", type: "text", placeholder: "Subject" }
|
||||
]}
|
||||
textarea={{
|
||||
name: "message", placeholder: "Your Message", rows: 5,
|
||||
required: true
|
||||
}}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/view-white-phone-with-map-gps-system_23-2150348705.jpg?_wi=1"
|
||||
imageAlt="Contact Us"
|
||||
mediaAnimation="slide-up"
|
||||
mediaPosition="right"
|
||||
buttonText="Send Message"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
logoSrc="http://img.b2bpic.net/free-photo/adorable-illustration-animal-bike_23-2151850288.jpg"
|
||||
logoAlt="E-Bike Emporium Logo"
|
||||
logoText="E-Bike Emporium"
|
||||
columns={footerColumns}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
65
src/app/faq/page.tsx
Normal file
65
src/app/faq/page.tsx
Normal file
@@ -0,0 +1,65 @@
|
||||
"use client";
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
import FaqDouble from '@/components/sections/faq/FaqDouble';
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
|
||||
export default function FAQPage() {
|
||||
const navItems = [
|
||||
{ name: "Home", id: "/" },
|
||||
{ name: "Products", id: "/products" },
|
||||
{ name: "About Us", id: "/about" },
|
||||
{ name: "Contact", id: "/contact" },
|
||||
{ name: "FAQ", id: "/faq" }
|
||||
];
|
||||
const footerColumns = [
|
||||
{ items: [{ label: "Urban Bikes", href: "/products" }, { label: "Mountain Bikes", href: "/products" }, { label: "Folding Bikes", href: "/products" }, { label: "Accessories", href: "/products" }] },
|
||||
{ items: [{ label: "About Us", href: "/about" }, { label: "Our Story", href: "/about" }, { label: "Careers", href: "#" }, { label: "Blog", href: "#" }] },
|
||||
{ items: [{ label: "FAQ", href: "/faq" }, { label: "Support", href: "/contact" }, { label: "Warranty", href: "#" }, { label: "Privacy Policy", href: "#" }] }
|
||||
];
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="shift-hover"
|
||||
defaultTextAnimation="entrance-slide"
|
||||
borderRadius="rounded"
|
||||
contentWidth="mediumSmall"
|
||||
sizing="largeSmallSizeMediumTitles"
|
||||
background="noiseDiagonalGradient"
|
||||
cardStyle="gradient-radial"
|
||||
primaryButtonStyle="double-inset"
|
||||
secondaryButtonStyle="radial-glow"
|
||||
headingFontWeight="medium"
|
||||
>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
brandName="E-Bike Emporium"
|
||||
navItems={navItems}
|
||||
/>
|
||||
</div>
|
||||
<div id="faq-section" data-section="faq-section">
|
||||
<FaqDouble
|
||||
title="Frequently Asked Questions"
|
||||
description="Find quick answers to the most common questions about our electric bikes, orders, and services."
|
||||
faqs={[
|
||||
{ id: "q1", title: "What is the range of your e-bikes?", content: "Our e-bikes typically offer a range of 40-80 miles on a single charge, depending on the model, terrain, and rider weight." },
|
||||
{ id: "q2", title: "Do you offer international shipping?", content: "Currently, we ship within the United States and Canada. We are working to expand our international shipping options soon." },
|
||||
{ id: "q3", title: "What is your return policy?", content: "We offer a 30-day return policy for unused e-bikes in their original packaging. Please see our full returns page for details." },
|
||||
{ id: "q4", title: "How long does assembly take?", content: "Most of our e-bikes arrive 80% assembled. Final assembly usually takes about 30-60 minutes with basic tools and our detailed instructions." },
|
||||
{ id: "q5", title: "What kind of warranty do you provide?", content: "All our e-bikes come with a 2-year warranty on the frame, motor, and battery, and a 1-year warranty on other components." }
|
||||
]}
|
||||
faqsAnimation="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
/>
|
||||
</div>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
logoSrc="http://img.b2bpic.net/free-photo/adorable-illustration-animal-bike_23-2151850288.jpg"
|
||||
logoAlt="E-Bike Emporium Logo"
|
||||
logoText="E-Bike Emporium"
|
||||
columns={footerColumns}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
13
src/app/i18n.ts
Normal file
13
src/app/i18n.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { notFound } from 'next/navigation';
|
||||
import { getRequestConfig } from 'next-intl/server';
|
||||
|
||||
export const locales = ['en', 'fr', 'de', 'sv'];
|
||||
export const defaultLocale = 'en';
|
||||
|
||||
export default getRequestConfig(async ({ locale }) => {
|
||||
if (!locales.includes(locale as any)) notFound();
|
||||
|
||||
return {
|
||||
messages: (await import(`../locales/${locale}.json`)).default
|
||||
};
|
||||
});
|
||||
@@ -114,10 +114,11 @@ export default function HomePage() {
|
||||
columns={[
|
||||
{ items: [{ label: "Urban Bikes", href: "/products" }, { label: "Mountain Bikes", href: "/products" }, { label: "Folding Bikes", href: "/products" }, { label: "Accessories", href: "/products" }] },
|
||||
{ items: [{ label: "About Us", href: "/about" }, { label: "Our Story", href: "/about" }, { label: "Careers", href: "#" }, { label: "Blog", href: "#" }] },
|
||||
{ items: [{ label: "FAQ", href: "/contact" }, { label: "Support", href: "/contact" }, { label: "Warranty", href: "#" }, { label: "Privacy Policy", href: "#" }] }
|
||||
{ items: [{ label: "FAQ", href: "/contact" }, { label: "Support", href: "/contact" }, { label: "Warranty", href: "#" }, { label: "Privacy Policy", href: "#" }] },
|
||||
{ items: [{ label: "English", href: "/en" }, { label: "Español", href: "/es" }, { label: "Français", href: "/fr" }] }
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
12
src/middleware.ts
Normal file
12
src/middleware.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import createMiddleware from 'next-intl/middleware';
|
||||
import { locales, defaultLocale } from './i18n';
|
||||
|
||||
export default createMiddleware({
|
||||
locales,
|
||||
defaultLocale,
|
||||
localePrefix: 'as-needed'
|
||||
});
|
||||
|
||||
export const config = {
|
||||
matcher: ['/', '/(fr|de|sv|en)/:path*']
|
||||
};
|
||||
Reference in New Issue
Block a user