since3-portal/modules/templates/catalog/restaurant/definition.ts
2026-10-05 08:23:02 +02:00

205 lines
9.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { defineTemplate, RICH_HINT, unsplash } from "../../lib/content"
export const restaurant = defineTemplate({
key: "restaurant",
name: "Osteria",
industry: "Restaurant & Café",
description: "Warm und atmosphärisch: großes Bild-Intro, Speisekarte mit Kategorien, Galerie zum Durchscrollen und Reservierung.",
cover: unsplash("1517248135467-4c7edcad34c4", 1200),
samples: {
inquiry: "Hallo, wir möchten am 12. Dezember unsere Weihnachtsfeier bei Ihnen machen – etwa 25 Personen, gern mit Menü und Weinbegleitung. Geht das, und was würde es ungefähr kosten? Viele Grüße, Sandra Becker",
topic: "Neues Herbstmenü mit Trüffel ab nächster Woche",
},
palettes: [
{ key: "glut", label: "Glut", dark: true, bg: "#14110f", fg: "#f3ece2", muted: "#a89c8c", surface: "#1f1a17", accent: "#d9a25f" },
{ key: "leinen", label: "Leinen", bg: "#f4efe6", fg: "#1f1a16", muted: "#6f655b", surface: "#ebe3d6", accent: "#a3472d" },
{ key: "olive", label: "Olive", dark: true, bg: "#181d17", fg: "#ece8dc", muted: "#9aa08f", surface: "#222920", accent: "#c9b26b" },
],
fonts: [
{ key: "klassisch", label: "Fraunces & Manrope" },
{ key: "modern", label: "Instrument Serif & Sans" },
],
sections: [
{
key: "brand",
label: "Marke",
fields: [
{ key: "name", label: "Name" },
{ key: "tagline", label: "Untertitel" },
],
},
{
key: "hero",
label: "Startbereich",
fields: [
{ key: "eyebrow", label: "Überzeile" },
{ key: "title", label: "Überschrift", type: "textarea", hint: RICH_HINT },
{ key: "text", label: "Text", type: "textarea" },
{ key: "image", label: "Bild", type: "image" },
{ key: "cta", label: "Button" },
{ key: "hours", label: "Öffnungszeiten (kurz)" },
],
},
{
key: "marquee",
label: "Laufband",
optional: true,
fields: [{ key: "items", label: "Begriffe", type: "list", itemLabel: "Begriff", fields: [{ key: "text", label: "Text" }] }],
},
{
key: "about",
label: "Über uns",
optional: true,
fields: [
{ key: "eyebrow", label: "Überzeile" },
{ key: "title", label: "Überschrift", type: "textarea", hint: RICH_HINT },
{ key: "text", label: "Text", type: "textarea" },
{ key: "signature", label: "Unterschrift" },
{ key: "image", label: "Bild groß", type: "image" },
{ key: "imageSecondary", label: "Bild klein", type: "image" },
],
},
{
key: "menu",
label: "Speisekarte",
optional: true,
fields: [
{ key: "eyebrow", label: "Überzeile" },
{ key: "title", label: "Überschrift", type: "textarea", hint: RICH_HINT },
{ key: "text", label: "Text", type: "textarea" },
{
key: "dishes",
label: "Gerichte",
type: "list",
itemLabel: "Gericht",
fields: [
{ key: "category", label: "Kategorie (wird zum Reiter)" },
{ key: "name", label: "Name" },
{ key: "description", label: "Beschreibung", type: "textarea" },
{ key: "price", label: "Preis" },
],
},
],
},
{
key: "gallery",
label: "Galerie",
optional: true,
fields: [
{ key: "eyebrow", label: "Überzeile" },
{ key: "title", label: "Überschrift", type: "textarea", hint: RICH_HINT },
{
key: "images",
label: "Bilder",
type: "list",
itemLabel: "Bild",
fields: [
{ key: "src", label: "Bild", type: "image" },
{ key: "caption", label: "Bildunterschrift" },
],
},
],
},
{
key: "quote",
label: "Gästestimme",
optional: true,
fields: [
{ key: "text", label: "Zitat", type: "textarea" },
{ key: "author", label: "Von" },
],
},
{
key: "reservation",
label: "Reservierung & Kontakt",
fields: [
{ key: "eyebrow", label: "Überzeile" },
{ key: "title", label: "Überschrift", type: "textarea", hint: RICH_HINT },
{ key: "text", label: "Text", type: "textarea" },
{ key: "address", label: "Adresse" },
{ key: "phone", label: "Telefon" },
{ key: "email", label: "E-Mail" },
{
key: "hours",
label: "Öffnungszeiten",
type: "list",
itemLabel: "Zeile",
fields: [
{ key: "days", label: "Tage" },
{ key: "time", label: "Uhrzeit" },
],
},
],
},
],
defaults: {
brand: { name: "Lumen", tagline: "Osteria & Weinbar" },
hero: {
eyebrow: "Osteria & Weinbar · seit 2009",
title: "Wo Abende\n*länger* werden.",
text: "Saisonale italienische Küche, natürliche Weine und ein Raum, in dem man gern bleibt – mitten in der Altstadt.",
image: unsplash("1517248135467-4c7edcad34c4"),
cta: "Tisch reservieren",
hours: "Heute geöffnet · 17 – 23 Uhr",
},
marquee: {
items: [{ text: "Hausgemachte Pasta" }, { text: "Natürliche Weine" }, { text: "Regionale Zutaten" }, { text: "Offene Küche" }],
},
about: {
eyebrow: "Über uns",
title: "Wir kochen, was die Saison uns *schenkt.*",
text: "Jeden Morgen beginnt unser Tag auf dem Markt. Was dort am besten aussieht, landet abends auf dem Teller – ehrlich, langsam gekocht und mit viel Liebe zum Detail. Dazu Weine von kleinen Winzern, die wir persönlich kennen.",
signature: "Marco & Lena, Gastgeber",
image: unsplash("1577219491135-ce391730fb2c", 1400),
imageSecondary: unsplash("1551218808-94e220e084d2", 800),
},
menu: {
eyebrow: "Speisekarte",
title: "Unsere *Karte*",
text: "Sie wechselt mit der Saison. Fragen Sie gern nach unseren Tagesempfehlungen.",
dishes: [
{ category: "Antipasti", name: "Vitello Tonnato", description: "Zart rosa Kalbsrücken, Thunfischcreme, Kapernäpfel", price: "16" },
{ category: "Antipasti", name: "Burrata", description: "Cremige Burrata, Erbstomaten, Basilikumöl", price: "14" },
{ category: "Antipasti", name: "Carpaccio di Manzo", description: "Rinderfilet, Rucola, 24 Monate gereifter Parmesan", price: "17" },
{ category: "Primi", name: "Tagliatelle al Ragù", description: "Hausgemachte Tagliatelle, sechs Stunden geschmortes Ragù", price: "19" },
{ category: "Primi", name: "Risotto ai Funghi", description: "Carnaroli-Reis, Steinpilze, frischer Thymian", price: "21" },
{ category: "Primi", name: "Ravioli di Ricotta", description: "Ricotta, braune Salbeibutter, Zitronenabrieb", price: "18" },
{ category: "Secondi", name: "Branzino", description: "Wolfsbarsch vom Grill, Fenchel, Blutorange", price: "29" },
{ category: "Secondi", name: "Tagliata di Manzo", description: "Rinderhüfte, Rosmarinkartoffeln, Rucola", price: "32" },
{ category: "Dolci", name: "Tiramisù", description: "Nach dem Rezept der Nonna", price: "9" },
{ category: "Dolci", name: "Panna Cotta", description: "Bourbon-Vanille, Waldbeeren", price: "8" },
],
},
gallery: {
eyebrow: "Einblicke",
title: "Ein Abend\nbei *uns.*",
images: [
{ src: unsplash("1414235077428-338989a2e8c0", 1400), caption: "Der Gastraum" },
{ src: unsplash("1504674900247-0877df9cc836", 1400), caption: "Aus der Küche" },
{ src: unsplash("1510812431401-41d2bd2722f3", 1400), caption: "Natürliche Weine" },
{ src: unsplash("1555396273-367ea4eb4db5", 1400), caption: "Unsere Bar" },
{ src: unsplash("1424847651672-bf20a4b0982b", 1400), caption: "Teilen erwünscht" },
{ src: unsplash("1559339352-11d035aa65de", 1400), caption: "Die Sommerterrasse" },
],
},
quote: {
text: "Man kommt wegen der Pasta und bleibt wegen der Atmosphäre. Für uns der schönste Abend der Woche.",
author: "Julia & Tom, Stammgäste",
},
reservation: {
eyebrow: "Reservierung",
title: "Reservieren Sie\nIhren *Tisch.*",
text: "Für Gruppen ab acht Personen oder private Feiern rufen Sie uns am besten direkt an.",
address: "Weinsteige 12, 70180 Stuttgart",
phone: "0711 123 45 67",
email: "ciao@lumen-osteria.de",
hours: [
{ days: "Dienstag – Donnerstag", time: "17 – 23 Uhr" },
{ days: "Freitag & Samstag", time: "17 – 24 Uhr" },
{ days: "Sonntag & Montag", time: "Ruhetag" },
],
},
},
})
export type RestaurantData = typeof restaurant.defaults