media_folder: "src/assets/img" # Specify the public folder for image uploads
public_folder: "/img" # Public URL path for accessing images
logo_url: https://pfdmfcf.netlify.app/favicon.svg # The URL of your logo
display_url: https://pfdmfcf.netlify.app # The URL of your site

backend:
  name: bitbucket
  repo: pfdmdevelopment/html.fcf/ # Path to your Bitbucket repository
  branch: main # Branch to use
  auth_type: implicit
  app_id: bgxPmagNzXd7JdhgNY # prod bgxPmagNzXd7JdhgNY # local ySEPBJZ9qbQ6rLf3nC  https://bitbucket.org/pfdmdevelopment/workspace/settings/api

collections:
  - name: "siteConfig"
    label: "Site Configuration"
    files:
      - label: "Office Details"
        name: "siteConfig"
        file: "src/content/siteConfig/siteConfig.yml"
        fields:
          - { label: "Site Title", name: "siteTitle", widget: "string", required: true }
          - { label: "Practice Name", name: "practiceName", widget: "string", required: true }
          - { label: "Dr Name(s)", name: "drNames", widget: "string", required: true }
          - { label: "Dr Pronoun", name: "drPronoun", widget: "string", required: true }
          - { label: "Dr Title", name: "drTitle", widget: "string", required: true }
          - { label: "Dr To Be", name: "drBe", widget: "string", required: true }
          - { label: "Site Description", name: "siteDescription", widget: "string", required: true }
          - { label: "Site Logo", name: "siteLogo", widget: "image", required: true }
          - { label: "Site Favicon", name: "siteFavicon", widget: "image", required: true }
          - { label: "Phone Number", name: "phoneNumber", widget: "string", required: true }
          - { label: "Email", name: "email", widget: "string", required: false }
          - label: "Address"
            name: "address"
            widget: "list"
            fields:
              - { label: "Street", name: "street", widget: "string", required: true }
              - { label: "City", name: "city", widget: "string", required: true }
              - { label: "State", name: "state", widget: "string", required: true }
              - { label: "Zip", name: "zip", widget: "string", required: true }
            required: true
          - { label: "Google Maps Iframe", name: "googleMapsIframe", widget: "string", hint: "Copy from Google Maps: Share > Embed a Map > Copy HTML" }
          - { label: "Google Maps Directions", name: "googleMaps", widget: "string", hint: "Copy from Google Maps: Directions > Copy URL"  }
          - label: "Open Hours"
            name: "openHours"
            widget: "list"
            fields:
              - { label: "Day", name: "day", widget: "string" }
              - { label: "open", name: "open", widget: "string" }
              - { label: "close", name: "close", widget: "string" }
            hint: "You can format this however you like. E.g. 9am - 5pm"
      - label: "Social media"
        name: "socialMedia"
        file: "src/content/siteConfig/socialMedia.yml"
        fields:
          - label: "Social Media"
            name: "socialmedia"
            widget: "list"
            fields:
              - { label: "title", name: "title", widget: "string", hint: "The text that will show when users hover over the icon" }
              - {
                  label: "icon",
                  name: "icon",
                  widget: "image",
                  hint: "If you do not choose an icon, the default icon will be used.",
                  required: false,
                }
              - { label: "url", name: "url", widget: "string", hint: "The URL of the social media", required: true }
            hint: "Check the urls, please."
      - label: "Menu Manager - WIP do not use"
        name: "menuManager"
        file: "src/content/siteConfig/menuManager.yml"
        fields:
          - label: "Main Menu"
            name: "mainMenu"
            widget: "list"
            fields:
              - { label: "title", name: "title", widget: "string", hint: "The text that will show when users hover over the icon" }
              - { label: "url", name: "url", widget: "string", hint: "use relative URLs for pages in this site", required: true }
              - { label: "dropdown", name: "dropdown", widget: "boolean", hint: "Turn on if this item should have children", required: false }
              - label: "Parent Item"
                name: "parentItem"
                widget: "relation"
                collection: "pages"
                value_field: "title"
                search_fields: ["title"]
                multiple: false
                required: false
              - { label: "icon", name: "icon", widget: "image", hint: "This is usually not needed", required: false }
          - label: "footer Menu"
            name: "footerMenu"
            widget: "list"
            fields:
              - { label: "title", name: "title", widget: "string", hint: "The text that will show when users hover over the icon" }
              - { label: "url", name: "url", widget: "string", hint: "use relative URLs for pages in this site", required: true }
              - { label: "dropdown", name: "dropdown", widget: "boolean", hint: "Turn on if this item should have children", required: false }
              - label: "Parent Item"
                name: "parentItem"
                widget: "relation"
                collection: "pages"
                value_field: "title"
                search_fields: ["title"]
                multiple: false
                required: false
              - { label: "icon", name: "icon", widget: "image", hint: "This is usually not needed", required: false }

  - name: "pages"
    label: "Pages - WIP do not use"
    folder: "src/pages/"
    create: true
    fields:
      - label: "Title"
        name: "title"
        widget: "string"
        required: true
      - label: "Meta Title"
        name: "metaTitle"
        widget: "string"
        required: false
      - label: "Meta Description"
        name: "metaDescription"
        widget: "string"
        required: false
      - label: "Open Graph Image"
        name: "openGraphImage"
        widget: "image"
        required: false
      - label: "Slug"
        name: "slug"
        widget: "string"
        required: true
      - label: "Parent"
        name: "parent"
        widget: "string"
        required: false
      - label: "Order"
        name: "order"
        widget: "number"
        required: false
      - label: "Hero Title"
        name: "heroTitle"
        widget: "string"
        required: false
      - label: "Hero Paragraph"
        name: "heroParagraph"
        widget: "markdown"
        required: false
      - label: "Hero Image"
        name: "heroImage"
        widget: "image"
        required: false
      - label: "Hero CTA"
        name: "heroCta"
        widget: "string"
        required: false
      - label: "Hero CTA Link"
        name: "heroCtaLink"
        widget: "string"
        required: false
      - label: "Hero CTA Icon"
        name: "heroCtaIcon"
        widget: "string"
        required: false
      - label: "Body"
        name: "body"
        widget: "markdown"
        required: true
  - name: "servicesCategories"
    label: "Services Categories"
    extension: "md"
    folder: "src/content/servicesCategories/"
    create: true
    fields:
      - { label: "Title", name: "title", hint: "WARNING: Used to create the url dynamically. Changing this means you need to update all single services under this category.", widget: "string" }
      - { label: "Meta Title", name: "metaTitle", widget: "string", hint: "The title of the page for SEO purposes", required: false }
      - { label: "Meta Description", name: "description", widget: "string", hint: "The description of the page for SEO purposes", required: false }
      - {
          label: "show On Main Menu",
          name: "showOnMainMenu",
          widget: "boolean",
          hint: "Whether this should be shown on the main menu",
          required: false,
        }
      - {
          label: "show On Footer Menu",
          name: "showOnFooterMenu",
          widget: "boolean",
          hint: "Whether this should be shown on the main menu",
          required: false,
        }
      - {
          label: "show On Homepage",
          name: "showOnHomepage",
          widget: "boolean",
          hint: "Whether this should be shown on the homepage",
          required: false,
        }
      - {
          label: "order",
          name: "order",
          widget: "number",
          hint: "This affects the menu order as well as the order in the loops. E.g. Homepage Loop or Services Overview Loop",
        }
      - { label: "Hero Title", name: "heroTitle", hint: "shown on the page hero", widget: "string" }
      - { label: "Hero Paragraph", name: "heroParagraph", hint: "shown on the page hero", widget: "string" }
      - {
          label: "Hero CTA Text",
          name: "ctaText",
          widget: "string",
          hint: "The text of the CTA when this service is looped somewhere else. E.g. Homepage Loop or Services Overview Loop",
          required: false,
        }
      - { label: "Summary", name: "summary", widget: "markdown", hint: "shown on the service page", required: true }
      - label: "ctaBanner"
        name: "ctaBanner"
        widget: "list"
        fields:
          - { label: "Title", name: "title", widget: "string", required: false }
          - { label: "Paragraph", name: "paragraph", widget: "string", required: false }
          - { label: "CTA Link", name: "link", widget: "string", required: false }
          - { label: "CTA Image", name: "img", widget: "image", required: false }
          - { label: "CTA Text", name: "label", widget: "string", required: false }
          - { label: "CTA Icon", name: "icon", widget: "string", required: false }
        hint: "This is the all the text for the CTA banner at the bottom of the service page."
        required: false
      - {
          label: "Featured Image",
          name: "thumbnail",
          widget: "image",
          required: false,
          hint: "This image has multiple purposes. First, it is the Open Graph image of the page, second it is the image that appears when this services is being referenced somewhere else. Last, it is the image that appears in the loop. Last, it might be used somewhere on the service page itself.",
        }
      - {
          label: "Icon",
          name: "icon",
          widget: "image",
          hint: "The icon of the service that might be used instead of the featured image when this services is being referenced somewhere else. E.g. Homepage services Lopp",
          required: false,
        }
  - name: "services"
    label: "Services"
    extension: "md"
    folder: "src/content/services/"
    create: true
    fields:
      - { label: "Title", name: "title", hint: "The title of the service used to create the service slug dynamically", widget: "string" }
      - label: "Service Category"
        name: "serviceCategory"
        widget: "relation"
        collection: "servicesCategories"
        value_field: "title"
        search_fields: ["title"]
        multiple: false
        required: true
      - { label: "metaTitle", name: "metaTitle", widget: "string", hint: "The title of the page for SEO purposes" }
      - { label: "description", name: "description", widget: "string", hint: "The description of the page for SEO purposes" }
      - { label: "Summary", name: "summary", widget: "markdown", hint: "shown on the service page", required: true }
      - {
          label: "parent",
          name: "parent",
          widget: "string",
          hint: "This is a pretty big deal: it sets the url path, sets where this service should be looped and in which menu dropdown should it be displayed. Finally it is used as breadcrumb in the service page itself. If this is a parent service, leave blank.",
          required: false,
        }
      - {
          label: "Show On Main Menu",
          name: "showOnMainMenu",
          widget: "boolean",
          hint: "Whether this should be shown on the main menu",
          required: false,
        }
      - {
          label: "Show On Homepage",
          name: "showOnHomepage",
          widget: "boolean",
          hint: "Whether this should be shown on the homepage",
          required: false,
        }
      - {
          label: "ctaText",
          name: "ctaText",
          widget: "string",
          hint: "The text of the CTA when this service is looped somewhere else. E.g. Homepage Loop or Services Overview Loop",
        }
      - {
          label: "order",
          name: "order",
          widget: "number",
          hint: "This affects the menu order as well as the order in the loops. E.g. Homepage Loop or Services Overview Loop",
        }
      - { label: "heroTitle", name: "heroTitle", widget: "string", hint: "The title of the hero" }
      - { label: "heroParagraph", name: "heroParagraph", widget: "string", hint: "The paragraph of the hero" }
      - label: "FAQs"
        name: "faqs"
        widget: "list"
        fields:
          - { label: "Question", name: "question", widget: "string" }
          - { label: "Answer", name: "answer", widget: "markdown" }
        hint: "This is the list of FAQs for the service."
      - label: "ctaBanner"
        name: "ctaBanner"
        widget: "list"
        fields:
          - { label: "Title", name: "title", widget: "string", required: false }
          - { label: "Paragraph", name: "paragraph", widget: "string", required: false }
          - { label: "CTA Link", name: "link", widget: "string", required: false }
          - { label: "CTA Image", name: "img", widget: "image", required: false }
          - { label: "CTA Text", name: "label", widget: "string", required: false }
          - { label: "CTA Icon", name: "icon", widget: "string", required: false }
        hint: "This is the all the text for the CTA banner at the bottom of the service page."
        required: false
      - {
          label: "Featured Image",
          name: "thumbnail",
          widget: "image",
          required: false,
          hint: "This image has multiple purposes. First, it is the Open Graph image of the page, second it is the image that appears when this services is being referenced somewhere else. Last, it is the image that appears in the loop. Last, it might be used somewhere on the service page itself.",
        }
      - {
          label: "Icon",
          name: "icon",
          widget: "image",
          hint: "The icon of the service that might be used instead of the featured image when this services is being referenced somewhere else. E.g. Homepage services Lopp",
          required: false,
        }
      - { label: "Body", name: "body", widget: "markdown", hint: "The body of the service", required: false }
      - {
          label: "tags",
          name: "tags",
          widget: "list",
          hint: "This is a list of tags that can be used for filtering. E.g. General Dentistry, Orthodontics, etc.",
          required: false,
        }
      - label: "Related Services"
        name: "relatedServices"
        widget: "list"
        hint: "This is the list of related services. TBD: It has to be implemented yet."
        fields:
          - label: "Related Service"
            name: "relatedService"
            widget: "relation"
            collection: "services"
            value_field: "title"
            search_fields: ["title"]
            multiple: true
            min: 3
            max: 3
            required: false
  - label: "Team Members"
    name: "teamMembers"
    create: true
    folder: "src/content/teamMembers"
    widget: "list"
    slug: "{{name}}-{{role}}"
    fields:
      - { label: "Name", name: "title", widget: "string" }
      - { label: "Role", name: "role", widget: "string", required: true }
      - { label: "Image", name: "image", widget: "image", required: true }
      - {
          label: "Hide On Team Loop",
          name: "hideOnTeamLoop",
          widget: "boolean",
          hint: "Whether this should be hidden on the team loop. Doctors should be hidden.",
          required: false,
        }
      - { label: "Order", name: "order", widget: "number", required: true }
      - { label: "Body", name: "body", widget: "markdown", required: false }
      - label: "Trust Logos"
        name: "trustLogos"
        widget: "list"
        fields:
          - { label: "Title", name: "title", widget: "string", required: false }
          - { label: "Link", name: "link", widget: "string", required: false }
          - { label: "Image", name: "img", widget: "image", required: false }
        required: false
      - label: "Dr In Action"
        name: "drInAction"
        widget: "list"
        fields:
          - { label: "Title", name: "title", widget: "string", required: false }
          - { label: "Image", name: "img", widget: "image", required: false }
        required: false
      - label: "Image Gallery"
        name: "gallery"
        widget: "list"
        fields:
          - { label: "Title", name: "title", widget: "string", required: false }
          - { label: "Image", name: "img", widget: "image", required: false }
        required: false
  - label: "Technology"
    name: "technology"
    create: true
    folder: "src/content/technology"
    widget: "list"
    fields:
      - label: "ttile"
        name: "title"
        widget: "string"
        required: false
      - label: "Text"
        name: "text"
        widget: "markdown"
        required: false
      - label: "Image"
        name: "image"
        widget: "image"
        required: true
      - label: "Order"
        name: "order"
        widget: "number"
        required: false
  - label: "Before and After"
    name: "beforeAfter"
    create: true
    folder: "src/content/beforeAfter"
    widget: "list"
    fields:
      - label: "Title"
        name: "title"
        widget: "string"
        required: false
      - label: "Before Image"
        name: "beforeImage"
        widget: "image"
        required: true
      - label: "After Image"
        name: "afterImage"
        widget: "image"
        required: true
      - label: "Order"
        name: "order"
        widget: "number"
        required: true
      - label: "Text"
        name: "text"
        widget: "markdown"
        required: false
