backend:
  name: github
  repo: baumbachdev/baumbachmediation
  branch: main
  squash_merges: true
  open_authoring: true

publish_mode: editorial_workflow
media_folder: "src/assets/images"
public_folder: "/src/assets/images"
site_url: "https://baumbachmediation.netlify.app/"

i18n:
  structure: multiple_folders
  locales: [en, de]
  default_locale: en

collections:
  # Blog Categories Collection
  - name: blogCategories
    label: Blog Categories
    folder: src/content/blog-categories
    create: true
    format: frontmatter
    i18n: true
    fields:
      - { name: title, label: Category Name, widget: string, i18n: true }
      - {
          name: slug,
          label: Slug,
          widget: string,
          i18n: true,
          description: "For English, use slugs like 'en/your-slug'. For German, use 'de/your-slug'.",
        }
      - { name: lang, label: Language, widget: hidden, default: "{{locale}}" }

  # Authors Collection
  - name: authors
    label: Authors
    folder: src/content/authors
    create: true
    format: frontmatter
    i18n: true
    fields:
      - { name: name, label: Author Name, widget: string, i18n: true }
      - {
          name: slug,
          label: Slug,
          widget: string,
          i18n: true,
          description: "For English, use slugs like 'en/your-slug'. For German, use 'de/your-slug'.",
        }

  # Blog Posts Collection
  - name: blog
    label: Blog Posts
    folder: src/content/blog
    create: true
    format: frontmatter
    preview_path: blog/{{slug}}
    i18n: true
    fields:
      - { name: title, label: Title, widget: string, i18n: true }
      - {
          name: slug,
          label: Slug,
          widget: string,
          i18n: true,
          description: "For English, use slugs like 'en/your-slug'. For German, use 'de/your-slug'.",
        }
      - { name: description, label: Description, widget: text, i18n: true }
      - {
          name: publishedAt,
          label: Published Date,
          widget: date,
          i18n: duplicate,
        }
      - {
          name: featuredImage,
          label: Featured Image,
          widget: image,
          i18n: duplicate,
        }
      - {
          name: featuredImageAlt,
          label: Featured Image Alt Text,
          widget: string,
          i18n: true,
        }
      - name: category
        label: Category
        widget: relation
        collection: blogCategories
        search_fields: ["title"]
        value_field: "slug"
        display_fields: ["title"]
        i18n: duplicate
      - name: author
        label: Author
        widget: relation
        collection: authors
        search_fields: ["name"]
        value_field: "slug"
        display_fields: ["name"]
        i18n: duplicate
      - {
          name: isFeatured,
          label: Featured Post,
          widget: boolean,
          default: false,
          i18n: duplicate,
        }
      - {
          name: isPublished,
          label: Published,
          widget: boolean,
          default: true,
          i18n: duplicate,
        }
      - {
          name: metaTitle,
          label: Meta Title,
          widget: string,
          i18n: true,
          required: false,
        }
      - {
          name: metaDescription,
          label: Meta Description,
          widget: text,
          i18n: true,
          required: false,
        }
      - {
          name: canonicalUrl,
          label: Canonical URL,
          widget: string,
          i18n: duplicate,
          required: false,
        }
      - {
          name: ogImage,
          label: OG Image,
          widget: image,
          i18n: duplicate,
          required: false,
        }
      - name: content
        label: Content
        widget: markdown
        i18n: true
        buttons:
          - bold
          - italic
          - link
          - heading-two
          - heading-three
          - heading-four
          - quote
          - code
          - bulleted-list
          - numbered-list
      - { name: lang, label: Language, widget: hidden, default: "{{locale}}" }

  - name: pages
    label: Pages
    folder: src/content/pages
    create: true
    format: frontmatter
    i18n: true
    fields:
      - { name: title, label: Title, widget: string, i18n: true }
      - {
          name: slug,
          label: Slug,
          widget: string,
          i18n: true,
          description: "For English, use slugs like 'en/your-slug'. For German, use 'de/your-slug'.",
        }
      - {
          name: description,
          label: Description,
          widget: text,
          i18n: true,
          required: false,
        }
      - { name: metaTitle, label: Meta Title, widget: string, i18n: true }
      - {
          name: metaDescription,
          label: Meta Description,
          widget: text,
          i18n: true,
        }
      - {
          name: canonicalUrl,
          label: Canonical URL,
          widget: string,
          i18n: duplicate,
          required: false,
        }
      - {
          name: ogImage,
          label: OG Image,
          widget: image,
          i18n: duplicate,
          required: false,
        }
      - name: blocks
        label: Page Blocks
        widget: list
        i18n: true
        types:
          - name: hero
            label: Hero Section
            fields:
              - {
                  name: title,
                  label: Hero Title,
                  widget: string,
                  i18n: true,
                  required: true,
                }
              - {
                  name: subtitle,
                  label: Hero Subtitle,
                  widget: string,
                  i18n: true,
                  required: false,
                }
              - {
                  name: backgroundImage,
                  label: Background Image,
                  widget: image,
                  i18n: duplicate,
                }
              - {
                  name: buttonText,
                  label: Button Text,
                  widget: string,
                  i18n: true,
                  required: false,
                }
              - {
                  name: buttonLink,
                  label: Button Link,
                  widget: string,
                  i18n: duplicate,
                  required: false,
                }
          - name: twoCol
            label: Two Column
            fields:
              - {
                  name: description,
                  label: Content,
                  widget: markdown,
                  i18n: true,
                }
              - name: imagePlacement
                label: Image Placement
                widget: select
                options:
                  [{ label: Left, value: left }, { label: Right, value: right }]
                default: left
                i18n: duplicate
              - {
                  name: stickyImage,
                  label: Sticky Image,
                  widget: boolean,
                  default: false,
                  hint: "if checked image will be stick to the top of the column",
                  i18n: duplicate,
                }
              - { name: image, label: Image, widget: image, i18n: duplicate }
              - {
                  name: imageAlt,
                  label: Image Alt Text,
                  widget: string,
                  i18n: true,
                }
          - name: richText
            label: Rich Text Block
            fields:
              - {
                  name: title,
                  label: Section Title,
                  widget: string,
                  i18n: true,
                }
              - name: content
                label: Content
                widget: markdown
                i18n: true
                buttons:
                  - bold
                  - italic
                  - link
                  - heading-two
                  - heading-three
                  - heading-four
                  - quote
                  - code
                  - bulleted-list
                  - numbered-list
              - name: textAlign
                label: Text Alignment
                widget: select
                options:
                  - { label: Left, value: left }
                  - { label: Center, value: center }
                  - { label: Right, value: right }
                default: left
                i18n: duplicate
              - name: backgroundColor
                label: Background Color
                widget: select
                options:
                  - { label: White, value: white }
                  - { label: Light Gray, value: gray-50 }
                  - { label: Dark Gray, value: gray-800 }
                  - { label: Blue, value: blue-50 }
                default: white
                i18n: duplicate
              - name: maxWidth
                label: Max Width
                widget: select
                options:
                  - { label: Small, value: small }
                  - { label: Medium, value: medium }
                  - { label: Large, value: large }
                  - { label: Full Width, value: full }
                default: medium
                i18n: duplicate
          - name: logos
            label: Logos Block
            fields:
              - name: logos
                label: Logos
                widget: list
                i18n: true
                fields:
                  - {
                      name: src,
                      label: Logo Image,
                      widget: image,
                      i18n: duplicate,
                    }
                  - { name: alt, label: Alt Text, widget: string, i18n: true }
          - name: cta
            label: Call to Action
            fields:
              - {
                  name: title,
                  label: CTA Title,
                  widget: string,
                  i18n: true,
                  required: true,
                }
              - {
                  name: description,
                  label: CTA Description,
                  widget: text,
                  i18n: true,
                  required: false,
                }
              - {
                  name: primaryButtonText,
                  label: Primary Button Text,
                  widget: string,
                  i18n: true,
                  required: false,
                }
              - {
                  name: primaryButtonLink,
                  label: Primary Button Link,
                  widget: string,
                  i18n: duplicate,
                  required: false,
                }
              - {
                  name: secondaryButtonText,
                  label: Secondary Button Text,
                  widget: string,
                  i18n: true,
                  required: false,
                }
              - {
                  name: secondaryButtonLink,
                  label: Secondary Button Link,
                  widget: string,
                  i18n: duplicate,
                  required: false,
                }
              - {
                  name: fullWidth,
                  label: Full Width,
                  widget: boolean,
                  default: false,
                  i18n: duplicate,
                }
          - name: contact
            label: Contact Block
            fields:
              - {
                  name: title,
                  label: Section Title,
                  widget: string,
                  i18n: true,
                  required: false,
                }
          - name: testimonials
            label: Testimonials Block
            fields:
              - {
                  name: title,
                  label: Section Title,
                  widget: string,
                  i18n: true,
                }
              - name: testimonials
                label: Testimonials
                widget: list
                i18n: true
                fields:
                  - { name: name, label: Name, widget: string, i18n: true }
                  - {
                      name: role,
                      label: Role,
                      widget: string,
                      i18n: true,
                      required: false,
                    }
                  - {
                      name: avatar,
                      label: Avatar Image,
                      widget: image,
                      i18n: duplicate,
                      required: false,
                    }
                  - {
                      name: rating,
                      label: Rating (1-5),
                      widget: number,
                      min: 1,
                      max: 5,
                      value_type: int,
                      i18n: duplicate,
                    }
                  - name: content
                    label: Content
                    widget: markdown
                    i18n: true
                    buttons:
                      - bold
                      - italic
                      - link
                      - heading-two
                      - heading-three
                      - heading-four
                      - quote
                      - code
                      - bulleted-list
                      - numbered-list
      - { name: lang, label: Language, widget: hidden, default: "{{locale}}" }

  - name: config
    label: Site Configuration
    files:
      - name: navigation-en
        label: Navigation EN
        file: src/content/singletons/navbar-en.yml
        i18n: true
        fields:
          - { name: logo, label: Logo, widget: image }
          - name: menu
            label: Menu
            widget: list
            i18n: true
            fields:
              - { name: text, label: Text, widget: string, i18n: true }
              - {
                  name: link,
                  label: Link,
                  widget: string,
                  hint: "Use this link which doesn't have dropdown",
                  i18n: true,
                }
              - name: subMenu
                label: Submenu Items
                widget: list
                i18n: true
                fields:
                  - {
                      name: text,
                      label: Submenu Text,
                      widget: string,
                      i18n: true,
                    }
                  - {
                      name: link,
                      label: Submenu Link,
                      widget: string,
                      i18n: true,
                    }
      - name: navigation-de
        label: Navigation DE
        file: src/content/singletons/navbar-de.yml
        i18n: true
        fields:
          - { name: logo, label: Logo, widget: image }
          - name: menu
            label: Menu
            widget: list
            i18n: true
            fields:
              - { name: text, label: Text, widget: string, i18n: true }
              - {
                  name: link,
                  label: Link,
                  widget: string,
                  hint: "Use this link which doesn't have dropdown",
                  i18n: true,
                }
              - name: subMenu
                label: Submenu Items
                widget: list
                i18n: true
                fields:
                  - {
                      name: text,
                      label: Submenu Text,
                      widget: string,
                      i18n: true,
                    }
                  - {
                      name: link,
                      label: Submenu Link,
                      widget: string,
                      i18n: true,
                    }
      - name: footer-en
        label: Footer EN
        file: src/content/singletons/footer-en.yml
        i18n: true
        fields:
          - name: leftColumn
            label: Left Column
            widget: object
            i18n: true
            fields:
              - { name: name, label: Name, widget: string, i18n: true }
              - {
                  name: services,
                  label: Services,
                  widget: string,
                  hint: "e.g., Mediation | Supervision | Training",
                  i18n: true,
                }
              - {
                  name: address,
                  label: Address,
                  widget: string,
                  hint: "e.g., Gormannstraße 14, 10119 Berlin",
                  i18n: true,
                }
              - { name: email, label: E-Mail, widget: string, i18n: duplicate }
              - { name: phone, label: Telefon, widget: string, i18n: duplicate }
          - name: rightColumn
            label: Right Links
            widget: list
            i18n: true
            fields:
              - { name: label, label: Label, widget: string, i18n: true }
              - { name: link, label: Link URL, widget: string, i18n: duplicate }
      - name: footer-de
        label: Footer DE
        file: src/content/singletons/footer-de.yml
        i18n: true
        fields:
          - name: leftColumn
            label: Left Column
            widget: object
            i18n: true
            fields:
              - { name: name, label: Name, widget: string, i18n: true }
              - {
                  name: services,
                  label: Services,
                  widget: string,
                  hint: "e.g., Mediation | Supervision | Training",
                  i18n: true,
                }
              - {
                  name: address,
                  label: Address,
                  widget: string,
                  hint: "e.g., Gormannstraße 14, 10119 Berlin",
                  i18n: true,
                }
              - { name: email, label: E-Mail, widget: string, i18n: duplicate }
              - { name: phone, label: Telefon, widget: string, i18n: duplicate }
          - name: rightColumn
            label: Right Links
            widget: list
            i18n: true
            fields:
              - { name: label, label: Label, widget: string, i18n: true }
              - { name: link, label: Link URL, widget: string, i18n: duplicate }
