cleaning up assets
Some checks are pending
Build and Deploy / build-and-deploy (push) Waiting to run
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
|
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 152 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 1.0 MiB |
BIN
src/assets/photos/services-1.webp
Normal file
|
After Width: | Height: | Size: 126 KiB |
BIN
src/assets/photos/services-2.webp
Normal file
|
After Width: | Height: | Size: 164 KiB |
BIN
src/assets/photos/services-3.webp
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
src/assets/photos/services-4.webp
Normal file
|
After Width: | Height: | Size: 152 KiB |
BIN
src/assets/photos/services-5.webp
Normal file
|
After Width: | Height: | Size: 202 KiB |
@@ -179,17 +179,9 @@ export default function SubmissionForm({ imageSrc, imageAlt, title, subtitle, fo
|
||||
const totalSize = uploadedFiles.reduce((sum, f) => sum + f.size, 0);
|
||||
|
||||
return (
|
||||
<div className="relative flex flex-col bg-brand-50 dark:bg-brand-900">
|
||||
<div className="order-2 lg:absolute lg:inset-0 lg:left-1/2">
|
||||
<img
|
||||
src={imageSrc}
|
||||
alt={imageAlt}
|
||||
className="h-64 w-full bg-brand-50 object-cover sm:h-80 lg:absolute lg:h-full dark:bg-brand-900"
|
||||
/>
|
||||
</div>
|
||||
<div className="order-1 pt-8 pb-24 lg:mx-auto lg:grid lg:max-w-7xl lg:grid-cols-2">
|
||||
<div className="px-6 lg:px-8">
|
||||
<div className="mx-auto max-w-xl lg:mx-0 lg:max-w-lg">
|
||||
<div className="bg-brand-50 dark:bg-brand-900 lg:grid lg:grid-cols-2">
|
||||
<div className="px-6 pt-8 pb-16 lg:px-6 lg:pt-8 lg:pb-16">
|
||||
<div className="mx-auto max-w-lg">
|
||||
{submitStatus === "success" ? (
|
||||
<div className="mt-16 flex flex-col items-center gap-4 rounded-2xl bg-green-50 p-10 text-center ring-1 ring-green-200 dark:bg-green-900/20 dark:ring-green-500/30">
|
||||
<CheckCircleIcon className="h-12 w-12 text-green-500" />
|
||||
@@ -414,6 +406,13 @@ export default function SubmissionForm({ imageSrc, imageAlt, title, subtitle, fo
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="relative hidden lg:block">
|
||||
<img
|
||||
src={imageSrc}
|
||||
alt={imageAlt}
|
||||
className="absolute inset-0 h-full w-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -38,7 +38,7 @@ export default function Contact({
|
||||
const labelClass = 'block text-sm/6 font-semibold text-brand-dark dark:text-white'
|
||||
|
||||
return (
|
||||
<div className="relative isolate bg-white dark:bg-brand-900">
|
||||
<div className="relative isolate bg-brand-50/50 dark:bg-brand-900">
|
||||
<div className="mx-auto grid max-w-7xl grid-cols-1 lg:grid-cols-2">
|
||||
<div className="relative px-6 pt-12 pb-20 lg:static">
|
||||
<div className="mx-auto max-w-xl lg:mx-0 lg:max-w-lg">
|
||||
|
||||
@@ -5,11 +5,7 @@ import {
|
||||
} from "@/components/ui/carousel";
|
||||
import Autoplay from "embla-carousel-autoplay";
|
||||
import general from "../../content/settings/general.json";
|
||||
import photo1 from "@/assets/photos/empty-room-blue-wall-with-moulding-and-parquet-fl-2023-11-27-04-52-31-utc.webp";
|
||||
import photo2 from "@/assets/photos/the-attic-of-a-home-with-white-ceilings-and-white-2023-11-27-05-27-44-utc.webp";
|
||||
import photo3 from "@/assets/photos/silver-and-white-apartment-interior-2023-11-27-05-32-03-utc.webp";
|
||||
import photo4 from "@/assets/photos/a-bedroom-with-white-walls-and-a-bed-and-a-2023-11-27-05-25-30-utc.webp";
|
||||
import photo5 from "@/assets/photos/empty-room-with-window-2023-11-27-05-08-12-utc.webp";
|
||||
|
||||
import logo from "@/assets/cachet-hero-logo.svg";
|
||||
|
||||
export type HeroContent = {
|
||||
@@ -21,11 +17,11 @@ export type HeroContent = {
|
||||
};
|
||||
|
||||
const slides = [
|
||||
{ src: photo1.src, alt: "Peinture intérieure" },
|
||||
{ src: photo2.src, alt: "Décoration murale" },
|
||||
{ src: photo3.src, alt: "Finition de qualité" },
|
||||
{ src: photo4.src, alt: "Chambre" },
|
||||
{ src: photo5.src, alt: "Pièce lumineuse" },
|
||||
{ src: '/images/carrousel-1.webp', alt: "Peinture intérieure" },
|
||||
{ src: '/images/carrousel-2.webp', alt: "Décoration murale" },
|
||||
{ src: '/images/carrousel-3.webp', alt: "Finition de qualité" },
|
||||
{ src: '/images/carrousel-4.webp', alt: "Chambre" },
|
||||
{ src: '/images/carrousel-5.webp', alt: "Pièce lumineuse" },
|
||||
];
|
||||
|
||||
const autoplayPlugin = Autoplay({
|
||||
|
||||
@@ -15,7 +15,7 @@ interface ContactHeroContent {
|
||||
<div className="absolute inset-0 mx-auto overflow-hidden">
|
||||
<img
|
||||
alt={imageAlt}
|
||||
src="/images/empty-room-blue-wall-with-moulding-and-parquet-fl-2023-11-27-04-52-31-utc.webp"
|
||||
src={imageSrc}
|
||||
className="size-full object-cover"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,7 @@ const contact = contactEntry.data;
|
||||
content={{
|
||||
title: contact.title,
|
||||
subtitle: contact.subtitle,
|
||||
imageSrc: "/images/empty-room-blue-wall-with-moulding-and-parquet-fl-2023-11-27-04-52-31-utc.webp",
|
||||
imageSrc: "/images/short-hero.webp",
|
||||
imageAlt: "Peintres décorateurs au travail",
|
||||
}}
|
||||
/>
|
||||
|
||||
@@ -28,30 +28,34 @@ const ctaData = ctaEntry.data;
|
||||
const pourquoiData = pourquoiEntry.data;
|
||||
const testimonialsData = testimonialsEntry.data;
|
||||
|
||||
const ctaImage = (await import('@/assets/Website Content/Photos/cozy-modern-kitchen-room-interior-design-with-dark-2024-04-01-23-13-59-utc.webp')).default;
|
||||
const ctaImage =
|
||||
{
|
||||
src: '/images/landing-cta.webp',
|
||||
alt: 'Peintres décorateurs au travail',
|
||||
};
|
||||
|
||||
const allServices = await getCollection('services', (s) => s.id.startsWith(`${locale}/`));
|
||||
const services = allServices.sort((a, b) => a.data.order - b.data.order);
|
||||
|
||||
const serviceImages: Record<string, { src: import('astro').ImageMetadata; alt: string }> = {
|
||||
const serviceImages: Record<string, { src: string; alt: string }> = {
|
||||
interior: {
|
||||
src: (await import('@/assets/photos/empty-room-blue-wall-with-moulding-and-parquet-fl-2023-11-27-04-52-31-utc.webp')).default,
|
||||
src: '/images/services-1.webp',
|
||||
alt: 'Salon avec peinture intérieure soignée',
|
||||
},
|
||||
exterior: {
|
||||
src: (await import('@/assets/Website Content/Photos/wooden-deck-with-sky-2023-11-27-05-29-44-utc.webp')).default,
|
||||
src: '/images/services-2.webp',
|
||||
alt: 'Maison avec peinture extérieure',
|
||||
},
|
||||
commercial: {
|
||||
src: (await import('@/assets/Website Content/Photos/minimalist-bright-office-room-interior-design-mee-2023-11-27-05-17-04-utc.webp')).default,
|
||||
src: '/images/services-3.webp',
|
||||
alt: 'Espace commercial peint',
|
||||
},
|
||||
decoration: {
|
||||
src: (await import('@/assets/Website Content/Photos/Mural_Jerkspot_02.jpg')).default,
|
||||
src: '/images/services-4.webp',
|
||||
alt: 'Décoration intérieure et murale',
|
||||
},
|
||||
renovation: {
|
||||
src: (await import('@/assets/Website Content/Photos/amazing-design-of-a-room-with-doors-and-parquet-fl-2023-11-27-05-33-04-utc.webp')).default,
|
||||
src: '/images/services-5.webp',
|
||||
alt: 'Rénovation et finitions',
|
||||
},
|
||||
};
|
||||
@@ -59,11 +63,10 @@ const serviceImages: Record<string, { src: import('astro').ImageMetadata; alt: s
|
||||
const features = services.map((service) => {
|
||||
const icon = service.data.icon ?? 'interior';
|
||||
const img = serviceImages[icon] ?? serviceImages.interior;
|
||||
const imageSrc = (img.src as import('astro').ImageMetadata).src;
|
||||
return {
|
||||
name: service.data.title,
|
||||
description: service.data.description,
|
||||
imageSrc,
|
||||
imageSrc: img.src ,
|
||||
imageAlt: img.alt,
|
||||
};
|
||||
});
|
||||
|
||||
@@ -24,15 +24,15 @@ const soumission = soumissionEntry.data;
|
||||
content={{
|
||||
title: soumission.title,
|
||||
subtitle: soumission.subtitle,
|
||||
imageSrc: "/images/empty-room-blue-wall-with-moulding-and-parquet-fl-2023-11-27-04-52-31-utc.webp",
|
||||
imageSrc: "/images/short-hero.webp",
|
||||
imageAlt: "Peintres décorateurs au travail",
|
||||
}}
|
||||
/>
|
||||
|
||||
<SubmissionForm
|
||||
client:load
|
||||
imageSrc="/images/stylish-bedroom-interior-with-double-bed-and-emera-2023-11-27-05-08-37-utc.webp"
|
||||
imageAlt="Peintres décorateurs au travail"
|
||||
imageSrc="/images/submission.webp"
|
||||
imageAlt="chambre avec peinture intérieure verte"
|
||||
title={soumission.title}
|
||||
subtitle={soumission.subtitle}
|
||||
form={soumission.form}
|
||||
|
||||