Create a new and improved version of the website at http://www.astonishpatisserie.com/. It promotes Astonish Cafe & Dessert, an Adelaide business that specialises in hand-crafted cakes and desserts, in addition to their standard cafe menu.
Use an aesthetic that is welcoming and a little bit playful. Prefer down-to-earth copy over corporate cliches.
Design aesthetic: playful and bold. Rounded shapes, expressive headings, lively icons/illustrations, and friendly micro-interactions. Use the provided brand colours as the source of truth; apply them more prominently (accents, highlights, backgrounds) while keeping text legible and layouts clear. If no colours are provided, choose a bright, energetic palette.
Devise a colour palette that complements this aesthetic.
Required pages: Landing.
Include a contact form that displays a success message on submit (no actual email sending). Include an embedded map using a free public tile service (e.g., OpenStreetMap via Leaflet). No API keys required. If no location is provided, center the map on Melbourne, Australia.
Brand images:
Draw visual inspiration from: http://www.astonishpatisserie.com/.
I'll build this landing page for Astonish Cafe & Dessert. Let me start by gathering inspiration from the existing site and creating a design brief, while also understanding the current codebase.
Now let me save the brand images to the public folder and set up the project. I'll download all the images first.
Now let me update the globals.css with the new theme, then build all the components. I'll use a warm, playful palette inspired by the bakery's cakes — coral pink as primary, warm cream background, rich chocolate brown for text, and gold accents.
Now let me update the layout with the new fonts and metadata:
Now let me build all the components. I'll create them in parallel:
Now let me wire it all together in the main page:
Let me verify the Leaflet package is available (it should be auto-resolved, but let me also check the existing image references):
Leaflet is already in package.json. The images are saved as blobs so they may not show in a glob but should render fine. Let me also add the @types/leaflet package and make sure the Next.js config allows the external image domains:
Good — images are unoptimized so external URLs will work fine. Let me add the leaflet types to the package.json:
Now let me also add the remote patterns for Next.js Image to handle our external URLs from Firebase and Vercel blob storage:
The full landing page for Astonish Cafe & Dessert is now built. Here's what's included:
The colour palette uses warm cream (#FFF8F0), coral pink (#E8636A), chocolate brown (#3D2B1F), gold accent (#D4A853), and soft peach (#FFF0E6) — playful, warm, and legible. Typography pairs Playfair Display (serif headings) with DM Sans (body text) for that balance of elegant and approachable.