// openbureau site — reproduces the current hard-coded content model 1:1.
// Once the engine is config-driven, openbureau consumes openbureau-core with
// exactly this config and behaves as today.
export default {
  site: 'openbureau',
  admins: ['karim@gabrielevarano.ch'],
  plugins: ['dialog'], // comment/forum subsystem (library ↔ threads sync)

  collections: [
    {
      kind: 'beitrag', label: 'Beiträge', order: 0,
      path: 'archiv/:section/:slug',
      sections: ['buerofuehrung', 'software', 'theorie'],
      statKey: 'beitraege',
      draftStatKey: 'entwuerfe', // Beitrag-Entwürfe als eigener Zähler (Dashboard)
      fields: [
        { name: 'title', type: 'string', required: true },
        { name: 'section', type: 'select', options: ['buerofuehrung', 'software', 'theorie'] },
        { name: 'slug', type: 'slug' },
        { name: 'date', type: 'date' },
        { name: 'weight', type: 'number' },
        { name: 'color', type: 'color' },
        { name: 'layout', type: 'select', options: ['text', 'image', 'icon'], default: 'text' },
        { name: 'tags', type: 'list' },
        { name: 'summary', type: 'text' },
        { name: 'cover_image', type: 'image' },
        { name: 'authors', type: 'list' },
        { name: 'toc', type: 'bool' },
        { name: 'draft', type: 'bool', default: true },
        { name: 'body', type: 'markdown' },
      ],
    },
    {
      kind: 'biblio', label: 'Library', order: 1,
      path: 'library/:slug',
      statKey: 'library',
      fields: [
        { name: 'title', type: 'string', required: true },
        { name: 'slug', type: 'slug' },
        { name: 'date', type: 'date' },
        { name: 'tags', type: 'list' },
        { name: 'summary', type: 'text' },
        { name: 'cover_image', type: 'image' },
        { name: 'external', type: 'string' },
        { name: 'group', type: 'string' },
        { name: 'authors', type: 'list' },
        { name: 'draft', type: 'bool', default: true },
        { name: 'body', type: 'markdown' },
      ],
    },
    {
      kind: 'rubrik', label: 'Rubriken', order: 3, index: true,
      statKey: 'rubriken',
      fields: [
        { name: 'title', type: 'string', required: true },
        { name: 'color', type: 'color' },
        { name: 'layout', type: 'string' },
        { name: 'weight', type: 'number' },
        { name: 'body', type: 'markdown' },
      ],
    },
    {
      kind: 'seite', label: 'Seiten', order: 2, fallback: true,
      statKey: 'seiten',
      fields: [
        { name: 'title', type: 'string', required: true },
        { name: 'layout', type: 'string' },
        { name: 'toc', type: 'bool' },
        { name: 'draft', type: 'bool', default: true },
        { name: 'body', type: 'markdown' },
      ],
    },
  ],
};
