backend:
  name: git-gateway
  branch: main
  commit_messages:
    create: "Create {{collection}} “{{slug}}”"
    update: "Update {{collection}} “{{slug}}”"
    delete: "Delete {{collection}} “{{slug}}”"
    uploadMedia: "[skip ci] Upload “{{path}}”"
    deleteMedia: "[skip ci] Delete “{{path}}”"

local_backend: true

site_url: "https://sciclubcornuda.org"
logo_url: "https://sciclubcornuda.netlify.app/logo_stemma_minimo.svg"

locale: it

media_folder: "/public/assets"
public_folder: "/assets"

search: true

slug:
  encoding: unicode
  clean_accents: true
  sanitize_replacement: "-"

editor:
  preview: false

collections:
  - name: posts
    label: Articoli
    label_singular: Articolo
    description: "Articoli del sito. Appariranno in ordine cronologico inverso nella pagina delle notizie."
    folder: src/content/posts/
    extension: md
    create: true
    delete: true
    media_folder: "/public/assets/images"
    public_folder: "/assets/images"
    fields:
      - label: Titolo
        name: title
        widget: string
      - label: Data di pubblicazione
        name: date
        widget: datetime
        default: "{{now}}"
        date_format: YYYY-MM-DD
        hint: "Seleziona la data di pubblicazione da mostrare. È un'impostazione cosmetica, che non influisce sulla pubblicazione effettiva (che può essere posteriore alla data indicata)."
      - label: Categoria
        name: category
        widget: select
        options:
          - "Eventi"
          - "Comunicati"
          - "Gallery"
          - "Varie"
        default: "Eventi"
        hint: "Categoria dell'articolo."
      - label: Immagine di copertina
        name: image
        widget: image
        required: false
        choose_url: false
        media_library:
          config:
            multiple: false
            max_file_size: 5000000 # 5MB
      - label: Contenuto
        name: body
        widget: markdown
      - label: Bozza
        name: draft
        widget: boolean
        default: false
        required: false
        hint: "Seleziona questa opzione per salvare l'articolo come bozza e non renderlo pubblico."
    identifier_field: title
    slug: "{{year}}{{month}}{{day}}_{{title}}"
    summary: "{{title}}"
    sortable_fields:
      - title
      - date
    view_filters:
      - label: Pubblicati
        field: draft
        pattern: false
      - label: Bozze
        field: draft
        pattern: true
    view_groups:
      - label: "Categoria"
        field: "category"

  - name: events
    label: "Calendario"
    label_singular: "Evento di calendario"
    description: "Eventi del calendario. Appariranno in ordine cronologico nella pagina degli eventi, suddivisi per disciplina."
    folder: "src/content/events/"
    extension: "md"
    create: true
    delete: true
    fields:
      - label: Titolo
        name: title
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Data
        name: date
        widget: datetime
        default: "{{now}}"
        date_format: YYYY-MM-DD
        hint: "Seleziona la data dell'evento."
      - label: Data di fine
        name: endDate
        widget: datetime
        date_format: YYYY-MM-DD
        required: false
        hint: "Se l'evento si svolge in più giorni, inserisci la data di fine."
      - label: Disciplina
        name: disciplines
        widget: select
        options:
          - "Sci alpino"
          - "Snowboard"
          - "Sci di fondo"
          - "Ciaspole"
        multiple: true
        required: false
        hint: "Disciplina sportiva dell'evento. Se l'evento riguarda tutti i soci a prescindere dalla disciplina praticata (come ad esempio i pranzi sociali), lascia vuoto."
      - label: Corso
        name: lesson
        widget: boolean
        default: false
        required: false
        hint: "Seleziona questa opzione se l'evento riguarda i corsi della Scuola."
      - label: Luogo
        name: location
        widget: string
        required: false
        hint: "Il luogo dell'evento sarà visualizzato accanto alla data."
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Descrizione
        name: description
        widget: text
        required: false
        hint: "La descrizione dell'evento sarà visualizzata accanto alla data."
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Servizio di trasporto
        name: service_line
        widget: relation
        collection: transportation
        search_fields:
          - title
        value_field: "{{slug}}"
        display_fields:
          - title
        required: false
        multiple: false
        hint: "Configura i trasporti nella collezione Trasporti."
      - label: Bozza
        name: draft
        widget: boolean
        default: false
        hint: "Seleziona questa opzione per salvare l'evento come bozza e non renderlo pubblico."
    identifier_field: title
    slug: "{{year}}{{month}}{{day}}_{{title}}"
    summary: "{{date}} - {{title | upper}} ({{location}})"
    sortable_fields:
      - title
      - date
    view_filters:
      - label: Pubblicati
        field: draft
        pattern: false
      - label: Bozze
        field: draft
        pattern: true
    view_groups:
      - label: "Disciplina"
        field: disciplines

  - name: competitive-calendars
    label: "Calendari agonistica"
    label_singular: "Calendario agonistica"
    description: "Calendari degli appuntamenti dei gruppi agonistici e preagonistici. Appariranno in ordine di età nella pagina dedicata."
    folder: "src/content/competitiveCalendars/"
    extension: md
    create: true
    delete: true
    media_folder: "/public/assets/calendars"
    public_folder: "/assets/calendars"
    fields:
      - label: Categoria
        name: category
        widget: relation
        collection: settings
        file: competitive-categories
        value_field: categories.*.name
        search_fields:
          - categories.*.name
        display_fields:
          - categories.*.name
        hint: "Categoria degli atleti. Configura le categorie nelle impostazioni."
      - label: Calendario
        name: url
        widget: file
        choose_url: false
        media_library:
          config:
            multiple: false
            max_file_size: 5000000 # 5MB
        hint: "Sono supportati tutti i principali formati di documento, ma prediligi il formato PDF."
      - label: Allenatori
        name: coaches
        widget: relation
        collection: people
        search_fields:
          - name
          - surname
        value_field: surname
        filters:
          - field: coach
            values: [true]
        display_fields:
          - name
          - surname
        required: false
        multiple: true
        hint: "Allenatori associati a questa categoria di atleti. Configura gli allenatori nella collezione Persone."
    identifier_field: category
    slug: "{{category}}"
    summary: "{{category}}"

  - name: races
    label: Gare
    label_singular: Gara
    description: "Gare di sci alpino e snowboard. Appariranno come post nella sezione Notizie."
    folder: src/content/races/
    extension: md
    create: true
    delete: true
    fields:
      - label: Titolo
        name: title
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Organizzazione
        name: organization
        widget: select
        options:
          - "FISI"
          - "CSI"
        default: "FISI"
        multiple: false
      - label: Data
        name: date
        widget: datetime
        default: "{{now}}"
        date_format: YYYY-MM-DD
        hint: "Seleziona la data dell'evento."
      - label: Luogo
        name: location
        widget: string
        required: false
        hint: "Il luogo dell'evento sarà visualizzato accanto alla data."
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Descrizione
        name: description
        widget: text
        required: false
        hint: "La descrizione dell'evento sarà visualizzata accanto alla data."
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Link al meeting organizzativo
        name: meetingLink
        widget: string
        required: false
        pattern: [
          '(http(s)?)\:\/\/(www)?[a-zA-Z0-9@:%._\+\/?&~#=]{2,256}',
          "Il formato del URL non è corretto."
        ]
      - label: Regolamento
        name: ruleBook
        widget: list
        required: false
        allow_add: true
        collapsed: true
        add_to_top: false
        summary: "{{title}}"
        fields:
          - label: Titolo
            name: title
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
          - label: Documento
            name: url
            widget: file
            choose_url: false
            media_library:
              config:
                multiple: false
                max_file_size: 5000000 # 5MB
            hint: "Sono supportati tutti i principali formati di documento, ma prediligi il formato PDF."
      - label: Ordine di partenza
        name: startingOrder
        widget: list
        required: false
        allow_add: true
        collapsed: true
        add_to_top: false
        summary: "{{title}}"
        fields:
          - label: Titolo
            name: title
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
          - label: Documento
            name: url
            widget: file
            choose_url: false
            media_library:
              config:
                multiple: false
                max_file_size: 5000000 # 5MB
            hint: "Sono supportati tutti i principali formati di documento, ma prediligi il formato PDF."
      - label: Comunicato di giuria
        name: juryStatements
        widget: list
        required: false
        allow_add: true
        collapsed: true
        add_to_top: false
        summary: "{{title}}"
        fields:
          - label: Titolo
            name: title
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
          - label: Documento
            name: url
            widget: file
            choose_url: false
            media_library:
              config:
                multiple: false
                max_file_size: 5000000 # 5MB
            hint: "Sono supportati tutti i principali formati di documento, ma prediligi il formato PDF."
      - label: Risultati
        name: results
        widget: list
        required: false
        allow_add: true
        collapsed: true
        add_to_top: false
        summary: "{{title}}"
        fields:
          - label: Titolo
            name: title
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
          - label: Documento
            name: url
            widget: file
            choose_url: false
            media_library:
              config:
                multiple: false
                max_file_size: 5000000 # 5MB
            hint: "Sono supportati tutti i principali formati di documento, ma prediligi il formato PDF."
      - label: Risultati Club
        name: clubResults
        widget: list
        required: false
        allow_add: true
        collapsed: true
        add_to_top: false
        summary: "{{title}}"
        fields:
          - label: Titolo
            name: title
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
          - label: Documento
            name: url
            widget: file
            choose_url: false
            media_library:
              config:
                multiple: false
                max_file_size: 5000000 # 5MB
            hint: "Sono supportati tutti i principali formati di documento, ma prediligi il formato PDF."
      - label: Immagine di copertina
        name: image
        widget: image
        required: true
        choose_url: false
        media_library:
          config:
            multiple: false
            max_file_size: 5000000 # 5MB
        default: "/assets/gara.jpg"
      - label: Bozza
        name: draft
        widget: boolean
        default: false
        hint: "Seleziona questa opzione per salvare l'evento come bozza e non renderlo pubblico."
    sortable_fields:
      - title
      - date
    view_filters:
      - label: Pubblicati
        field: draft
        pattern: false
      - label: Bozze
        field: draft
        pattern: true

  - name: rates
    label: Tariffe
    label_singular: Tariffa
    description: "Tariffe e prezzi dei servizi, con possibilità di pagamento elettronico digitale."
    folder: src/content/rates/
    extension: md
    create: true
    delete: true
    fields:
      - label: Titolo
        name: title
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Categoria
        name: category
        widget: select
        options:
          - "Tesseramento sociale"
          - "Tesseramento Federazione"
          - "Scuola"
          - "Corsi di presciistica"
          - "Altro"
        multiple: false
      - label: Disciplina
        name: disciplines
        widget: select
        options:
          - "Sci alpino"
          - "Snowboard"
          - "Sci di fondo"
          - "Ciaspole"
        multiple: true
        required: false
        hint: "Disciplina sportiva a cui si riferisce la tariffa. Se la tariffa è valida per tutte le discipline oppure non è direttamente correlata ad una disciplina specifica, lascia vuoto."
      - label: Descrizione
        name: description
        widget: string
        required: false
        hint: "Descrizione della tariffa, ad esempio i servizi inclusi o la durata del pacchetto."
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Prezzo
        name: price
        widget: number
        value_type: float
        min: 0
        required: false
        hint: "Prezzo della tariffa. Se il prezzo è gratuito, scrivere 0. Se il prezzo è su richiesta, lasciare vuoto."
      - label: Link di pagamento
        name: url
        widget: string
        pattern: [
          '(http(s)?)\:\/\/(www)?[a-zA-Z0-9@:%._\+\/?&~#=]{2,256}',
          "Il formato del URL non è corretto."
        ]
        required: false
        hint: "Inserisci il link al servizio di pagamento online, se disponibile."
    identifier_field: title
    slug: "{{category}_{{title}}"
    summary: "{{title}} ({{category}})"
    sortable_fields:
      - title
      - price
    view_filters:
      - label: "Pagamento online"
        field: "url"
        pattern: true
    view_groups:
      - label: "Categoria"
        field: "category"

  - name: people
    label: Persone
    label_singular: Persona
    description: "Persone coinvolte nell'organizzazione, inclusi i membri del Consiglio e gli allenatori."
    folder: src/content/people/
    extension: md
    create: true
    delete: true
    media_folder: "/public/assets/portraits"
    public_folder: "/assets/portraits"
    fields:
      - label: Nome
        name: name
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Cognome
        name: surname
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Ruolo istituzionale
        name: role
        widget: select
        options:
          - Presidente
          - Vicepresidente
          - Segretario
          - Consigliere
        required: false
        multiple: false
      - label: Incarichi
        name: jobs
        widget: relation
        collection: settings
        file: jobs
        value_field: jobs.*.name
        search_fields:
          - jobs.*.name
        display_fields:
          - jobs.*.name
        required: false
        multiple: true
        hint: "Incarichi istituzionali della persona. Configura gli incarichi nelle impostazioni."
      - label: Allenatore
        name: coach
        widget: boolean
        required: false
        hint: "Indica se la persona è un allenatore. Questa persona potrà essere associata agli eventi di calendario agonistico."
      - label: Telefono
        name: phone
        widget: string
        required: false
        hint: "Il numero di telefono sarà visualizzato nella pagina dell'organigramma. Sarà anche visualizzato nella pagina dei contatti, ma solo se la persona è anche responsabile (vedi sotto)."
        pattern: [
          '^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$',
          "Usare il formato \"+393XXXXXXXXX\", senza spazi tra le cifre e includendo il codice internazionale (+39 per i numeri italiani)."
        ]
      - label: Ritratto
        name: image
        widget: image
        required: false
        choose_url: false
        media_library:
          config:
            multiple: false
            max_file_size: 5000000 # 5MB
        hint: "L'immagina sarà centrata. Per un risultato ottimale, carica un ritratto quadrato."
    slug: "{{surname}}-{{name}}"
    summary: "{{surname | upper}} {{name}}"
    sortable_fields:
      - surname
      - name
    view_filters:
      - label: Allenatori
        field: coach
        pattern: true
      - label: Membri del consiglio
        field: role
        pattern: '.+'
      - label: Con telefono
        field: phone
        pattern: '\+39[\d -]*'
    view_groups:
      - label: Ruolo istituzionale
        field: role
      - label: Incarico
        field: jobs

  - name: documents
    label: "Documenti"
    label_singular: "Documento"
    description: "Documenti da pubblicare, come regolamenti e comunicati, nell'apposita pagina."
    folder: "src/content/documents/"
    extension: md
    create: true
    delete: true
    media_folder: "/public/assets/documents"
    public_folder: "/assets/documents"
    fields:
      - label: Titolo
        name: title
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Descrizione
        name: description
        widget: string
        required: false
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Documento
        name: url
        widget: file
        choose_url: false
        media_library:
          config:
            multiple: false
            max_file_size: 5000000 # 5MB
        hint: "Sono supportati tutti i principali formati di documento, ma prediligi il formato PDF."
    identifier_field: title
    slug: "{{title}}"
    summary: "{{title}}"

  - name: palmares
    label: Trofeo Provincia di Treviso
    label_singular: Premio Trofeo provinciale
    description: "Lista dei vincitori del trofeo \"Provincia di Treviso Sci Alpino\"."
    folder: src/content/palmares/
    extension: md
    create: true
    delete: false
    fields:
      - label: Anno
        name: year
        widget: number
        value_type: int
        min: 1900
        max: 2100
        default: "{{date('YYYY')}}"
        hint: "Anno della competizione"
      - label: Club
        name: club
        widget: relation
        collection: settings
        file: clubs
        value_field: clubs.*.name
        search_fields:
          - clubs.*.name
        display_fields:
          - clubs.*.name
        multiple: false
        required: false
        hint: "Club vincitore. Configura la lista di club e associazioni nelle impostazioni. Se la competizione non è stata disputata, lascia vuoto."
    identifier_field: year
    slug: "{{year}}"
    summary: "{{fields.year}} {{fields.club}}"
    sortable_fields:
      - year
    view_groups:
      - label: Club
        field: club

  - name: champions
    label: Albo d'oro
    label_singular: Premio sociale
    description: "Lista dei vincitori del trofeo sociale dello Sci Club."
    folder: src/content/champions/
    extension: md
    create: true
    delete: false
    fields:
      - label: Anno
        name: year
        widget: number
        value_type: int
        min: 1900
        max: 2100
        default: "{{date('YYYY')}}"
        hint: "Anno della competizione"
      - label: Atleti
        label_singular: Atleta
        name: athletes
        widget: list
        required: false
        collapsed: true
        add_to_top: true
        summary: "{{surname | upper}} {{name}}"
        fields:
          - label: Nome
            name: name
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
          - label: Cognome
            name: surname
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
        hint: "Se la competizione non è stata disputata, lascia vuoto."
    identifier_field: year
    slug: "{{year}}"
    summary: "{{fields.year}}"
    sortable_fields:
      - year

  - name: memorial
    label: Memorial "Zavarise"
    label_singular: Premio Memorial "Zavarise"
    description: "Lista dei vincitori del Memorial \"Livio Zavarise\"."
    folder: src/content/memorial/
    extension: md
    create: true
    delete: false
    fields:
      - label: Anno
        name: year
        widget: number
        value_type: int
        min: 1900
        max: 2100
        default: "{{date('YYYY')}}"
        hint: "Anno della competizione"
      - label: Club
        name: club
        widget: relation
        collection: settings
        file: clubs
        value_field: clubs.*.name
        search_fields:
          - clubs.*.name
        display_fields:
          - clubs.*.name
        multiple: false
        required: false
        hint: "Club vincitore. Configura la lista di club e associazioni nelle impostazioni. Se la competizione non è stata disputata, lascia vuoto."
      - label: Atleti
        label_singular: Atleta
        name: athletes
        widget: list
        required: false
        collapsed: true
        add_to_top: true
        summary: "{{surname | upper}} {{name}}"
        fields:
          - label: Nome
            name: name
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
          - label: Cognome
            name: surname
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
        hint: "Se la competizione non è stata disputata, lascia vuoto."
    identifier_field: year
    slug: "{{year}}"
    summary: "{{fields.year}} {{fields.club}}"
    sortable_fields:
      - year
    view_groups:
      - label: Club
        field: club

  - name: partners
    label: Partner
    label_singular: Partner
    description: "Sponsor e partner tecnici e alimentari."
    folder: src/content/partners/
    extension: md
    create: true
    delete: true
    media_folder: "/public/images/partners"
    public_folder: "/images/partners"
    fields:
      - label: Nome
        name: name
        widget: string
      - label: Banner
        name: banner
        widget: image
        choose_url: false
        media_library:
          config:
            multiple: false
            max_file_size: 5000000 # 5MB
      - label: Sito web
        name: website
        widget: string
        required: false
        pattern: [
          '[(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)',
          "Il formato del URL non è corretto."
        ]
      - label: Tipo
        name: types
        widget: select
        options:
          - Technical Partner
          - Food Partner
          - Sponsor
        default: Sponsor
        multiple: true
        hint: "Tipo di partner. I partner di tipo Technical e Food saranno visualizzati in fondo alla pagina dei partner."
      - label: Livello
        name: tier
        widget: select
        options:
          - Base
          - Gold
        default: Base
        multiple: false
        hint: "Livello di sponsorizzazione. I partner Gold saranno visualizzati in cima alla pagina dei partner e appariranno con maggior frequenza. L'impostazione non influenza i partner di tipo Food o Technical."
      - label: Descrizione
        name: description
        widget: text
        required: false
        hint: "Breve descrizione del tipo di vantaggi offerti. Sarà visualizzata esclusivamente per gli sponsor di tipo Food o Technical."
      - label: Indirizzo
        name: address
        widget: string
        hint: "Preferisci il formato \"Via [Nome della via], [Numero civico], [Città] ([Provincia])\". Sarà visualizzato esclusivamente per gli sponsor di tipo Food o Technical."
        required: false
      - label: Bozza
        name: draft
        widget: boolean
        default: false
        required: false
    identifier_field: name
    slug: "{{name}}"
    summary: "{{name}}"
    view_filters:
      - label: Pubblicati
        field: draft
        pattern: false
      - label: Bozze
        field: draft
        pattern: true
    view_groups:
      - label: Livello
        field: tier

  - name: skilifts
    label: Impianti di risalita
    label_singular: Impianto di risalita
    description: "Elenco degli impianti di risalita convenzionati."
    folder: src/content/skiLifts/
    extension: md
    create: true
    delete: true
    media_folder: "/public/assets/documents"
    public_folder: "/assets/documents"
    fields:
      - label: Nome
        name: name
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Descrizione
        name: description
        widget: string
        required: false
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Documento di convenzione
        name: url
        widget: file
        choose_url: false
        media_library:
          config:
            multiple: false
            max_file_size: 5000000 # 5MB
        required: false
        hint: "Sono supportati tutti i principali formati di documento, ma prediligi il formato PDF."
      - label: Webcam
        name: webcam
        widget: string
        pattern: [
          '(http(s)?)\:\/\/(www)?[a-zA-Z0-9@:%._\+\/?&~#=]{2,256}',
          "Il formato del URL non è corretto."
        ]
        required: false
        hint: "Inserisci il link alla pagina della diretta tramite webcam."
    identifier_field: name
    slug: "{{name}}"
    summary: "{{name}}"

  - name: transportation
    label: Trasporti
    label_singular: Orario autobus
    description: "Orari degli autobus per le gite sociali."
    folder: src/content/transportation/
    extension: md
    create: true
    delete: true
    fields:
      - label: Titolo
        name: title
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
        hint: "Usa un nome descrittivo: il titolo sarà visualizzato negli elementi del Calendario, ma non sarà visibile ai visitatori."
      - label: Fermate
        label_singular: Fermata
        name: timetable
        widget: list
        summary: "{{timestamp}} {{departure}}"
        allow_add: true
        collapsed: true
        add_to_top: false
        min: 1
        fields:
          - label: Località
            name: departure
            widget: string
            pattern: [
              '[A-Z]{1}[a-z][^A-Z]*',
              "Usa la maiuscola iniziale."
            ]
            hint: "Indica il paese. Utilizza il campo \"Descrizione\" per indicare l'indirizzo o la località della fermata."
          - label: Descrizione
            name: description
            widget: string
            required: false
            hint: "Indica l'indirizzo o la località della fermata."
          - label: Orario
            name: timestamp
            widget: string
            pattern: [
              '([01]?[0-9]|2[0-3]):[0-5][0-9]',
              "Usa il formato \"HH:MM\" (24H)."
            ]

  - name: medical
    label: Convenzioni mediche
    label_singular: Convenzione medica
    description: "Elenco dei centri di medicina sportiva convenzionati."
    folder: src/content/medical/
    extension: md
    create: true
    delete: true
    fields:
      - label: Nome
        name: name
        widget: string
        pattern: [
          '[A-Z]{1}[a-z][^A-Z]*',
          "Usa la maiuscola iniziale."
        ]
      - label: Indirizzo
        name: address
        widget: string
        hint: "Preferisci il formato \"Via [Nome della via], [Numero civico], [Città] ([Provincia])\"."
      - label: Telefono
        name: phone
        widget: string
        pattern: [
          '^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3,4}[-\s\.]?[0-9]{4,6}$',
          "Usare il formato \"+393XXXXXXXXX\", senza spazi tra le cifre e includendo il codice internazionale (+39 per i numeri italiani)."
        ]
        required: false
      - label: Email
        name: email
        widget: string
        required: false
        pattern: [
          '^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$',
          "Usare il formato \"mail@provider.ext\"."
        ]
    identifier_field: name
    slug: "{{name}}"
    summary: "{{name}}"

  - name: settings
    label: Impostazioni
    description: "Impostazioni del sito e dei contenuti."
    files:
      - name: clubs
        label: Club e associazioni
        label_singular: Club
        description: ""
        file: "src/content/clubs/clubs.yml"
        extension: yml
        fields:
          - label: Club
            label_singular: Club
            name: clubs
            widget: list
            min: 1
            collapsed: true
            minimize_collapsed: false
            fields:
              - label: Nome
                name: name
                widget: string

      - name: jobs
        label: Incarichi
        label_singular: Incarico
        description: ""
        file: "src/content/jobs/jobs.yml"
        extension: yml
        fields:
          - label: Incarichi
            label_singular: Incarico
            name: jobs
            widget: list
            min: 1
            collapsed: true
            minimize_collapsed: false
            fields:
              - label: Nome
                name: name
                widget: string
                pattern: [
                  '[A-Z]{1}[a-z][^A-Z]*',
                  "Usa la maiuscola iniziale."
                ]

      - name: competitive-categories
        label: Categorie atleti
        description: "ehi"
        file: "src/content/competitiveCategories/competitive-categories.yml"
        extension: yml
        fields:
          - label: Categorie
            label_singular: Categoria
            name: categories
            widget: list
            min: 1
            collapsed: true
            minimize_collapsed: false
            fields:
              - label: Nome
                name: name
                widget: string
                pattern: [
                  '[A-Z]{1}[a-z][^A-Z]*',
                  "Usa la maiuscola iniziale."
                ]

      - label: Orari di apertura al pubblico
        name: timetables
        file: "src/content/timetables/timetable.yml"
        extension: yml
        fields:
          - label: Orari
            name: timetable
            widget: text