added medias

This commit is contained in:
Paul Fresnel
2024-11-07 03:20:04 +01:00
parent 0060fb2402
commit f3ddc0d81e
9 changed files with 173 additions and 9 deletions
+8 -1
View File
@@ -1,7 +1,14 @@
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
/* config options here */
images: {
remotePatterns: [
{
protocol: 'https',
hostname: '**',
},
],
},
};
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
View File
@@ -1,6 +1,8 @@
import type { Metadata } from "next";
import { Playfair_Display, Raleway } from "next/font/google";
import "./globals.css";
import Header from '@/components/Header';
import Footer from '@/components/Footer';
const playfair = Playfair_Display({
subsets: ["latin"],
@@ -34,7 +36,13 @@ export default function RootLayout({
}>) {
return (
<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>
);
}
+67
View File
@@ -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;
+64
View File
@@ -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;
+25 -7
View File
@@ -5,21 +5,39 @@ const HomePage = () => {
return (
<div className="min-h-screen">
{/* Hero Section */}
<section className="relative h-[80vh] bg-bakery-100">
<div className="absolute inset-0 bg-black/30" />
<section className="relative h-[80vh]">
{/* 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="text-white max-w-2xl">
<h1 className="font-serif text-5xl mb-4">Boulangerie Artisanale</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">
<h1 className="font-serif text-5xl md:text-6xl mb-4">
Boulangerie Artisanale
</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
</Link>
</div>
</div>
</section>
{/* Le reste du code reste identique, mais remplacez tous les `to=` par `href=` */}
{/* ... */}
{/* Nos Spécialités */}
<section className="py-16 bg-white">