Archived
added medias
This commit is contained in:
+8
-1
@@ -1,7 +1,14 @@
|
|||||||
import type { NextConfig } from "next";
|
import type { NextConfig } from "next";
|
||||||
|
|
||||||
const nextConfig: NextConfig = {
|
const nextConfig: NextConfig = {
|
||||||
/* config options here */
|
images: {
|
||||||
|
remotePatterns: [
|
||||||
|
{
|
||||||
|
protocol: 'https',
|
||||||
|
hostname: '**',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default nextConfig;
|
export default nextConfig;
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.4 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 64 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 136 KiB |
+9
-1
@@ -1,6 +1,8 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Playfair_Display, Raleway } from "next/font/google";
|
import { Playfair_Display, Raleway } from "next/font/google";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
|
import Header from '@/components/Header';
|
||||||
|
import Footer from '@/components/Footer';
|
||||||
|
|
||||||
const playfair = Playfair_Display({
|
const playfair = Playfair_Display({
|
||||||
subsets: ["latin"],
|
subsets: ["latin"],
|
||||||
@@ -34,7 +36,13 @@ export default function RootLayout({
|
|||||||
}>) {
|
}>) {
|
||||||
return (
|
return (
|
||||||
<html lang="fr" className={`${playfair.variable} ${raleway.variable}`}>
|
<html lang="fr" className={`${playfair.variable} ${raleway.variable}`}>
|
||||||
<body className="min-h-screen bg-bakery-50">{children}</body>
|
<body className="min-h-screen bg-bakery-50 flex flex-col">
|
||||||
|
<Header />
|
||||||
|
<main className="flex-grow">
|
||||||
|
{children}
|
||||||
|
</main>
|
||||||
|
<Footer />
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
import Link from 'next/link';
|
||||||
|
import Image from 'next/image';
|
||||||
|
|
||||||
|
const Footer = () => {
|
||||||
|
return (
|
||||||
|
<footer className="bg-bakery-800 text-white">
|
||||||
|
<div className="container mx-auto px-4 py-12">
|
||||||
|
<div className="grid grid-cols-1 md:grid-cols-4 gap-8">
|
||||||
|
{/* Logo and Description */}
|
||||||
|
<div className="col-span-1 md:col-span-2">
|
||||||
|
<Image
|
||||||
|
src="/images/ressources/logo.png"
|
||||||
|
alt="Boulangerie Artisanale"
|
||||||
|
width={60}
|
||||||
|
height={60}
|
||||||
|
className="mb-4"
|
||||||
|
/>
|
||||||
|
<p className="text-bakery-200 max-w-md">
|
||||||
|
Artisans boulangers depuis 1987, nous perpétuons la tradition
|
||||||
|
du bon pain et des pâtisseries artisanales.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Navigation Links */}
|
||||||
|
<div>
|
||||||
|
<h3 className="font-serif text-xl mb-4">Navigation</h3>
|
||||||
|
<ul className="space-y-2">
|
||||||
|
<li>
|
||||||
|
<Link href="/produits" className="text-bakery-200 hover:text-white transition">
|
||||||
|
Nos Produits
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href="/notre-histoire" className="text-bakery-200 hover:text-white transition">
|
||||||
|
Notre Histoire
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<Link href="/commander" className="text-bakery-200 hover:text-white transition">
|
||||||
|
Commander
|
||||||
|
</Link>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Contact Info */}
|
||||||
|
<div>
|
||||||
|
<h3 className="font-serif text-xl mb-4">Contact</h3>
|
||||||
|
<ul className="space-y-2 text-bakery-200">
|
||||||
|
<li>123 Rue du Pain</li>
|
||||||
|
<li>75001 Paris</li>
|
||||||
|
<li>01 23 45 67 89</li>
|
||||||
|
<li>contact@boulangerie-artisanale.fr</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Bottom Bar */}
|
||||||
|
<div className="border-t border-bakery-700 mt-8 pt-8 text-center text-bakery-300">
|
||||||
|
<p>© 2024 Boulangerie Artisanale. Tous droits réservés.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Footer;
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
import Link from 'next/link';
|
||||||
|
import Image from 'next/image';
|
||||||
|
|
||||||
|
const Header = () => {
|
||||||
|
const navItems = [
|
||||||
|
{ label: 'Accueil', href: '/' },
|
||||||
|
{ label: 'Nos Produits', href: '/produits' },
|
||||||
|
{ label: 'Notre Histoire', href: '/notre-histoire' },
|
||||||
|
{ label: 'Commander', href: '/commander' },
|
||||||
|
{ label: 'Contact', href: '/contact' },
|
||||||
|
];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<header className="bg-white shadow-sm">
|
||||||
|
<div className="container mx-auto px-4">
|
||||||
|
<div className="flex items-center justify-between h-20">
|
||||||
|
{/* Logo */}
|
||||||
|
<Link href="/" className="flex items-center">
|
||||||
|
<Image
|
||||||
|
src="/images/ressources/logo.png"
|
||||||
|
alt="Boulangerie Artisanale"
|
||||||
|
width={50}
|
||||||
|
height={50}
|
||||||
|
className="h-12 w-auto"
|
||||||
|
/>
|
||||||
|
<span className="ml-3 font-serif text-xl text-bakery-800">
|
||||||
|
Boulangerie Artisanale
|
||||||
|
</span>
|
||||||
|
</Link>
|
||||||
|
|
||||||
|
{/* Navigation */}
|
||||||
|
<nav className="hidden md:flex space-x-8">
|
||||||
|
{navItems.map((item) => (
|
||||||
|
<Link
|
||||||
|
key={item.href}
|
||||||
|
href={item.href}
|
||||||
|
className="text-bakery-700 hover:text-bakery-900 transition"
|
||||||
|
>
|
||||||
|
{item.label}
|
||||||
|
</Link>
|
||||||
|
))}
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
{/* Mobile menu button */}
|
||||||
|
<button className="md:hidden p-2">
|
||||||
|
<svg
|
||||||
|
className="h-6 w-6 text-bakery-700"
|
||||||
|
fill="none"
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
strokeWidth="2"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
stroke="currentColor"
|
||||||
|
>
|
||||||
|
<path d="M4 6h16M4 12h16M4 18h16"></path>
|
||||||
|
</svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Header;
|
||||||
@@ -5,21 +5,39 @@ const HomePage = () => {
|
|||||||
return (
|
return (
|
||||||
<div className="min-h-screen">
|
<div className="min-h-screen">
|
||||||
{/* Hero Section */}
|
{/* Hero Section */}
|
||||||
<section className="relative h-[80vh] bg-bakery-100">
|
<section className="relative h-[80vh]">
|
||||||
<div className="absolute inset-0 bg-black/30" />
|
{/* Background Image */}
|
||||||
|
<Image
|
||||||
|
src="/images/ressources/main-banner.jpeg"
|
||||||
|
alt="Boulangerie Artisanale"
|
||||||
|
fill
|
||||||
|
priority
|
||||||
|
className="object-cover"
|
||||||
|
quality={90}
|
||||||
|
/>
|
||||||
|
{/* Overlay */}
|
||||||
|
<div className="absolute inset-0 bg-black/40" />
|
||||||
|
|
||||||
|
{/* Content */}
|
||||||
<div className="relative container mx-auto px-4 h-full flex items-center">
|
<div className="relative container mx-auto px-4 h-full flex items-center">
|
||||||
<div className="text-white max-w-2xl">
|
<div className="text-white max-w-2xl">
|
||||||
<h1 className="font-serif text-5xl mb-4">Boulangerie Artisanale</h1>
|
<h1 className="font-serif text-5xl md:text-6xl mb-4">
|
||||||
<p className="text-xl mb-8">Découvrez nos pains et pâtisseries faits maison avec passion depuis 1987</p>
|
Boulangerie Artisanale
|
||||||
<Link href="/commander" className="bg-bakery-600 hover:bg-bakery-700 text-white px-8 py-3 rounded-md inline-block transition">
|
</h1>
|
||||||
|
<p className="text-xl mb-8">
|
||||||
|
Découvrez nos pains et pâtisseries faits maison avec passion depuis 1987
|
||||||
|
</p>
|
||||||
|
<Link
|
||||||
|
href="/commander"
|
||||||
|
className="bg-bakery-600 hover:bg-bakery-700 text-white px-8 py-3 rounded-md inline-block transition"
|
||||||
|
>
|
||||||
Commander en ligne
|
Commander en ligne
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
{/* Le reste du code reste identique, mais remplacez tous les `to=` par `href=` */}
|
|
||||||
{/* ... */}
|
|
||||||
|
|
||||||
{/* Nos Spécialités */}
|
{/* Nos Spécialités */}
|
||||||
<section className="py-16 bg-white">
|
<section className="py-16 bg-white">
|
||||||
|
|||||||
Reference in New Issue
Block a user