Initial website — Astro + Tailwind + Sanity schema, 9 pages

This commit is contained in:
2026-06-04 15:53:52 +00:00
commit 1d1492e611
33 changed files with 7472 additions and 0 deletions

38
sanity/schemas/project.ts Normal file
View File

@@ -0,0 +1,38 @@
import { defineType, defineField } from "sanity";
export default defineType({
name: "project",
title: "Projekte",
type: "document",
fields: [
defineField({ name: "title", title: "Projektname", type: "string", validation: (r) => r.required() }),
defineField({ name: "slug", title: "URL-Slug", type: "slug", options: { source: "title" }, validation: (r) => r.required() }),
defineField({ name: "date", title: "Zeitraum", type: "string", description: 'z.B. "Sommer 2024" oder "MärzMai 2024"' }),
defineField({ name: "summary", title: "Kurzbeschreibung", type: "text", rows: 3, validation: (r) => r.required() }),
defineField({
name: "body",
title: "Ausführliche Beschreibung",
type: "array",
of: [{ type: "block" }, { type: "image", options: { hotspot: true } }],
}),
defineField({ name: "image", title: "Hauptbild", type: "image", options: { hotspot: true } }),
defineField({ name: "targetGroup", title: "Für wen", type: "string", description: 'z.B. "Alle Kinder" oder "Gruppe Schmetterlinge"' }),
defineField({ name: "featured", title: "Auf Startseite hervorheben?", type: "boolean", initialValue: false }),
defineField({
name: "status",
title: "Status",
type: "string",
options: {
list: [
{ title: "Geplant", value: "planned" },
{ title: "Laufend", value: "active" },
{ title: "Abgeschlossen", value: "done" },
],
},
initialValue: "done",
}),
],
preview: {
select: { title: "title", subtitle: "date", media: "image" },
},
});