Files
crewli/docs/.vitepress/config.ts
bert.hausmans a97922d6a4 docs(form-builder): document S3a PR 2 complex field types and update FORM-05 stub note
- Add VitePress pages for AVAILABILITY_PICKER and SECTION_PRIORITY
  and a TAG_PICKER configuration note. Wire them into the organisator
  sidebar under a new Formulieren section alongside the existing
  "Wat is een formulier" page.
- BACKLOG.md: nuance FORM-05 — the stub-shaped behaviour for public
  event_registration submissions is already shipping via the existing
  TriggerPersonIdentityMatchOnFormSubmit listener (writes 'pending').
  The real work (PersonIdentityService::detectMatchesByValues + an
  extra branch in resolveStatus) is what remains. Added a done entry
  for S3a PR 2 to the Opgeloste items list.
- API.md: add VALIDATION_FAILED to the public-form error code table
  and document the SECTION_PRIORITY shape error messages (Dutch copy
  served under errors."values.{slug}").
- COPY_CATALOGUE.md: new S3a PR 2 section capturing the seeder
  help_text, the IdentityMatchBanner copy (clearly marking the
  backend message as authoritative), all empty/error state copy for
  the three new components, and the SECTION_PRIORITY shape error
  strings.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 20:34:34 +02:00

205 lines
5.9 KiB
TypeScript

import { defineConfig } from "vitepress";
export default defineConfig({
title: "Crewli Docs",
description: "Documentatie voor het Crewli event management platform",
lang: "nl-NL",
head: [["link", { rel: "icon", href: "/favicon.ico" }]],
vite: {
server: {
port: 5176,
},
},
themeConfig: {
logo: "/logo.svg",
nav: [
{ text: "Handleiding", link: "/guide/getting-started" },
{ text: "Organisator", link: "/organizer/" },
{ text: "Vrijwilliger", link: "/volunteer/" },
{ text: "Portal", link: "/portal/" },
],
sidebar: {
"/guide/": [
{
text: "Aan de slag",
items: [
{ text: "Introductie", link: "/guide/getting-started" },
{ text: "Kernconcepten", link: "/guide/concepts" },
{ text: "Leden vs Personen", link: "/guide/leden-vs-personen" },
{ text: "Woordenlijst", link: "/guide/glossary" },
],
},
{
text: "Praktisch",
items: [
{
text: "Operationele checklist",
link: "/guide/operational-checklist",
},
],
},
],
"/organizer/": [
{
text: "Organisatie",
items: [
{ text: "Overzicht", link: "/organizer/" },
{
text: "Organisatie dashboard",
link: "/organizer/organisation-dashboard",
},
{
text: "Organisatie inrichten",
link: "/organizer/organisation-setup",
},
{ text: "Teamleden beheren", link: "/organizer/team-members" },
],
},
{
text: "Evenementen",
items: [
{ text: "Event aanmaken", link: "/organizer/events/create-event" },
{
text: "Festival series",
link: "/organizer/events/festival-series",
},
{
text: "Event statussen",
link: "/organizer/events/event-statuses",
},
],
},
{
text: "Secties & Diensten",
items: [
{ text: "Secties beheren", link: "/organizer/shifts/sections" },
{ text: "Tijdslots", link: "/organizer/shifts/time-slots" },
{ text: "Diensten plannen", link: "/organizer/shifts/planning" },
{ text: "Toewijzingen", link: "/organizer/shifts/assignments" },
],
},
{
text: "Personen & Crowd",
items: [
{ text: "Personen beheren", link: "/organizer/persons/manage" },
{ text: "Crowd types", link: "/organizer/persons/crowd-types" },
{ text: "Crowd lijsten", link: "/organizer/persons/crowd-lists" },
{ text: "Tags", link: "/organizer/persons/tags" },
],
},
{
text: "Accreditatie",
items: [
{
text: "Accreditatie overzicht",
link: "/organizer/accreditation/overview",
},
{
text: "Access zones",
link: "/organizer/accreditation/access-zones",
},
{ text: "Templates", link: "/organizer/accreditation/templates" },
],
},
{
text: "Artiesten",
items: [
{ text: "Artiesten beheren", link: "/organizer/artists/manage" },
{
text: "Advancing workflow",
link: "/organizer/artists/advancing",
},
{ text: "Programma", link: "/organizer/artists/programme" },
],
},
{
text: "Communicatie",
items: [
{ text: "Briefings", link: "/organizer/communication/briefings" },
{ text: "Berichten", link: "/organizer/communication/messages" },
],
},
{
text: "Formulieren",
items: [
{
text: "Wat is een formulier",
link: "/organizer/forms/concepts/wat-is-een-formulier",
},
{
text: "Beschikbaarheid",
link: "/organizer/forms/field-types/availability-picker",
},
{
text: "Sectievoorkeur",
link: "/organizer/forms/field-types/section-priority",
},
{
text: "Tags kiezen",
link: "/organizer/forms/field-types/tag-picker",
},
],
},
],
"/volunteer/": [
{
text: "Vrijwilliger",
items: [
{ text: "Overzicht", link: "/volunteer/" },
{ text: "Registreren", link: "/volunteer/registration" },
{ text: "Je aanmelden via een link", link: "/volunteer/je-aanmelden-via-een-link" },
{ text: "Diensten kiezen", link: "/volunteer/shift-signup" },
{ text: "Mijn paspoort", link: "/volunteer/passport" },
{ text: "Check-in", link: "/volunteer/check-in" },
],
},
],
"/portal/": [
{
text: "Artiestenportaal",
items: [
{ text: "Overzicht", link: "/portal/" },
{ text: "Advancing invullen", link: "/portal/artist-advancing" },
],
},
{
text: "Leveranciersportaal",
items: [{ text: "Toegang", link: "/portal/supplier-access" }],
},
{
text: "Persportaal",
items: [
{
text: "Accreditatie aanvragen",
link: "/portal/press-accreditation",
},
],
},
],
},
search: {
provider: "local",
},
socialLinks: [
// { icon: 'github', link: 'https://github.com/...' },
],
footer: {
message: "Crewli — Event Management Platform",
},
editLink: {
pattern:
"https://gitea.hausmans.cloud/bert.hausmans/crewli/_edit/main/docs/:path",
text: "Bewerk deze pagina",
},
},
});