# ─── Decap CMS Configuration ──────────────────────────────────────────────────
# Docs: https://decapcms.org/docs/configuration-options/
#
# Backend: GitHub OAuth via ECUSTA API.
# ─────────────────────────────────────────────────────────────────────────────

backend:
  name: github
  repo: aaronkebede/ecuweb-gai
  branch: main
  base_url: https://ecu.edu.et
  auth_endpoint: api/cms-auth

# ── Media ─────────────────────────────────────────────────────────────────────
media_folder: "public/uploads"
public_folder: "/uploads"

# ── Site URL (used for preview links) ─────────────────────────────────────────
site_url: https://ecu.edu.et
display_url: https://ecu.edu.et

# ── Slug Options ──────────────────────────────────────────────────────────────
slug:
  encoding: "ascii"
  clean_accents: true

# ══════════════════════════════════════════════════════════════════════════════
# Collections
# ══════════════════════════════════════════════════════════════════════════════
collections:

  # ── 1. Site Configuration ────────────────────────────────────────────────────
  - name: "site_config"
    label: "Site Configuration"
    description: "Global settings that control site-wide behaviour — alert banner, contact details, social links."
    files:

      - name: "global_alert"
        label: "Global Alert Banner"
        file: "content/site-config.json"
        description: "The announcement banner displayed at the top of every page."
        fields:
          - label: "Enable Banner"
            name: "enabled"
            widget: "boolean"
            default: false
            hint: "Toggle the banner on or off globally."

          - label: "Banner Message"
            name: "message"
            widget: "string"
            hint: "Supports basic HTML. Keep it concise."

          - label: "Call-to-Action Text"
            name: "linkText"
            widget: "string"
            required: false

          - label: "Call-to-Action URL"
            name: "linkUrl"
            widget: "string"
            required: false

          - label: "Popup Modal Title"
            name: "popupTitle"
            widget: "string"
            required: false
            hint: "Heading displayed inside the detail popup window."

          - label: "Popup Modal Details"
            name: "popupBody"
            widget: "text"
            required: false
            hint: "Full detailed announcement text shown when users click to view details popup."

          - label: "Alert ID"
            name: "id"
            widget: "string"
            hint: "Change this value whenever you update the message to reset dismissals."

          - label: "Background Colour"
            name: "bgColor"
            widget: "select"
            options:
              - { label: "Gold (default)", value: "gold" }
              - { label: "Crimson / Urgent", value: "crimson" }
              - { label: "Navy / Informational", value: "navy" }
              - { label: "Emerald / Success", value: "emerald" }
            default: "gold"

      - name: "contact_info"
        label: "Global Contact Information"
        file: "content/contact-info.json"
        description: "Official phone numbers, main email addresses, office hours, and physical campus location."
        fields:
          - { label: "Primary Phone Number", name: "phone", widget: "string" }
          - { label: "General Email Address", name: "email", widget: "string" }
          - { label: "Admissions Email Address", name: "admissionsEmail", widget: "string" }
          - { label: "Office Operating Hours", name: "officeHours", widget: "string" }
          - { label: "Physical Campus Address", name: "address", widget: "string" }
          - { label: "P.O. Box / Postal Code", name: "poBox", widget: "string" }

      - name: "social_links"
        label: "Social Media Handles & Links"
        file: "content/social-links.json"
        description: "Official social media handles and channel URLs displayed across the website."
        fields:
          - { label: "Official Social Handle", name: "handle", widget: "string", hint: "e.g. @ecustahli" }
          - { label: "Facebook Page URL", name: "facebook", widget: "string" }
          - { label: "Telegram Channel URL", name: "telegram", widget: "string" }
          - { label: "LinkedIn Page URL", name: "linkedin", widget: "string" }
          - { label: "YouTube Channel URL", name: "youtube", widget: "string" }
          - { label: "Twitter / X URL", name: "twitter", widget: "string" }

      - name: "footer_config"
        label: "Footer & Accreditation Metadata"
        file: "content/footer-config.json"
        description: "Footer copyright notices, IALU affiliation text, and accreditation disclaimers."
        fields:
          - { label: "Copyright Line", name: "copyrightText", widget: "string" }
          - { label: "IALU Affiliation Line", name: "ialuText", widget: "string" }
          - { label: "Accreditation Disclaimer", name: "accreditationNotice", widget: "text" }

      - name: "portals_config"
        label: "External Portals & Service Links"
        file: "content/portals-config.json"
        description: "Direct URLs to E-Learning, HelpDesk, Student Portal, and Webmail."
        fields:
          - { label: "E-Learning Platform URL", name: "elearningUrl", widget: "string" }
          - { label: "IT HelpDesk Portal URL", name: "helpdeskUrl", widget: "string" }
          - { label: "Student Portal Path", name: "portalUrl", widget: "string" }
          - { label: "Webmail Path", name: "webmailUrl", widget: "string" }

  # ── 2. Editable Pages ───────────────────────────────────────────────────────
  - name: "pages"
    label: "Website Pages"
    description: "Edit main content and text blocks for institutional website pages."
    files:
      - name: "about"
        label: "About & History Page"
        file: "content/pages/about.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Motto", name: "motto", widget: "string" }
          - { label: "History & Identity", name: "history", widget: "text" }
          - { label: "Institutional Vision", name: "vision", widget: "text" }
          - { label: "Institutional Mission", name: "mission", widget: "text" }

      - name: "admissions"
        label: "Admissions Page"
        file: "content/pages/admissions.json"
        fields:
          - { label: "Title", name: "title", widget: "string" }
          - { label: "Hero Subtitle", name: "heroText", widget: "string" }
          - { label: "Application Deadline", name: "applicationDeadline", widget: "string" }
          - label: "Requirements"
            name: "requirements"
            widget: "list"
            field: { label: "Requirement", name: "req", widget: "string" }
          - { label: "Admissions Contact Email", name: "contactEmail", widget: "string" }

      - name: "why-ecusta"
        label: "Why ECUSTA Page"
        file: "content/pages/why-ecusta.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Text", name: "heroText", widget: "text" }
          - label: "Key Institutional Pillars"
            name: "reasons"
            widget: "list"
            field: { label: "Pillar / Reason", name: "reason", widget: "string" }

      - name: "governance"
        label: "Governance & Leadership Page"
        file: "content/pages/governance.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Chancellor", name: "chancellor", widget: "string" }
          - { label: "Board Chair", name: "boardChair", widget: "string" }
          - { label: "Charter Summary", name: "charterSummary", widget: "text" }

      - name: "tuition"
        label: "Tuition & Fees Page"
        file: "content/pages/tuition.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Medicine Tuition Fee", name: "medicineFee", widget: "string" }
          - { label: "MLT Tuition Fee", name: "mltFee", widget: "string" }
          - { label: "Social Work Tuition Fee", name: "socialWorkFee", widget: "string" }
          - { label: "Financial Aid Policy", name: "scholarshipPolicy", widget: "text" }

      - name: "contact"
        label: "Contact & Campus Location Page"
        file: "content/pages/contact.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Campus Name", name: "campusName", widget: "string" }
          - { label: "Physical Address", name: "address", widget: "string" }
          - { label: "Phone Number", name: "phone", widget: "string" }
          - { label: "Email Address", name: "email", widget: "string" }
          - { label: "Office Hours", name: "officeHours", widget: "string" }
          - { label: "Google Maps Embed URL", name: "googleMapEmbed", widget: "string" }

      - name: "research"
        label: "Research & Innovation Page"
        file: "content/pages/research.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - label: "Focus Areas"
            name: "focusAreas"
            widget: "list"
            field: { label: "Focus Area", name: "area", widget: "string" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "library"
        label: "Library & Digital Resources Page"
        file: "content/pages/library.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Library Opening Hours", name: "libraryHours", widget: "string" }
          - { label: "Library Email", name: "contactEmail", widget: "string" }

      - name: "campus-facilities"
        label: "Campus Facilities & Infrastructure Page"
        file: "content/pages/campus-facilities.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - label: "Key Campus Facilities"
            name: "facilitiesList"
            widget: "list"
            field: { label: "Facility", name: "facility", widget: "string" }

      - name: "student-life"
        label: "Student Life Page"
        file: "content/pages/student-life.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - label: "Student Clubs & Organizations"
            name: "clubs"
            widget: "list"
            field: { label: "Club Name", name: "club", widget: "string" }

      - name: "partner-hospitals"
        label: "Partner Hospitals & Affiliations Page"
        file: "content/pages/partner-hospitals.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - label: "Hospital Affiliates"
            name: "hospitals"
            widget: "list"
            field: { label: "Hospital Name", name: "hospital", widget: "string" }

      - name: "accreditation"
        label: "Accreditation & Quality Assurance Page"
        file: "content/pages/accreditation.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Accreditation Status", name: "accreditationStatus", widget: "string" }
          - { label: "Accrediting Authority", name: "accreditationBody", widget: "string" }

      - name: "faq"
        label: "FAQ & Student Support Page"
        file: "content/pages/faq.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Help Desk Email", name: "contactHelpDesk", widget: "string" }

      - name: "programs"
        label: "Academic Programs & Degrees Page"
        file: "content/pages/programs.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - label: "Offered Programs"
            name: "programsList"
            widget: "list"
            field: { label: "Program Name", name: "program", widget: "string" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "office-president"
        label: "Office of the President Page"
        file: "content/pages/office-president.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "President Name", name: "presidentName", widget: "string" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "office-vice-president"
        label: "Office of Academic Vice President Page"
        file: "content/pages/office-vice-president.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "VP Name", name: "vpName", widget: "string" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "registrar"
        label: "Office of the Registrar Page"
        file: "content/pages/registrar.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }
          - { label: "Office Hours", name: "officeHours", widget: "string" }

      - name: "human-resources"
        label: "Human Resources & Administration Page"
        file: "content/pages/human-resources.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "finance"
        label: "Finance & Business Office Page"
        file: "content/pages/finance.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "project-office"
        label: "Project & Infrastructure Office Page"
        file: "content/pages/project-office.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "dean-medicine"
        label: "Office of Dean of Medicine Page"
        file: "content/pages/dean-medicine.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Dean Name", name: "deanName", widget: "string" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "cpd-center"
        label: "CPD Professional Development Page"
        file: "content/pages/cpd-center.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "student-services"
        label: "Student Services & Residential Life Page"
        file: "content/pages/student-services.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "community-service"
        label: "Community Service & Outreach Page"
        file: "content/pages/community-service.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "campus-ministry"
        label: "Campus Ministry & Pastoral Care Page"
        file: "content/pages/campus-ministry.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "it-services"
        label: "IT Services & Support Page"
        file: "content/pages/it-services.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "clinic"
        label: "University Health Clinic Page"
        file: "content/pages/clinic.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "laboratory"
        label: "Advanced Medical Laboratories Page"
        file: "content/pages/laboratory.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "course-catalog"
        label: "Course Catalog Page"
        file: "content/pages/course-catalog.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Academic Year", name: "academicYear", widget: "string" }

      - name: "academic-calendar"
        label: "Academic Calendar Page"
        file: "content/pages/academic-calendar.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Academic Year", name: "academicYear", widget: "string" }

      - name: "alumni"
        label: "Alumni & Graduation Page"
        file: "content/pages/alumni.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "giving"
        label: "Giving & Institutional Advancement Page"
        file: "content/pages/giving.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "international"
        label: "International Relations & IALU Page"
        file: "content/pages/international.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

      - name: "careers"
        label: "Careers & Employment Opportunities Page"
        file: "content/pages/careers.json"
        fields:
          - { label: "Page Title", name: "title", widget: "string" }
          - { label: "Subtitle", name: "subtitle", widget: "string" }
          - { label: "Hero Copy", name: "heroText", widget: "text" }
          - { label: "Contact Email", name: "contactEmail", widget: "string" }

  # ── 3. People & Directory ───────────────────────────────────────────────────
  - name: "people"
    label: "People & Directory"
    description: "Leadership, faculty, and administrative staff profiles."
    folder: "content/people"
    extension: "json"
    format: "json"
    create: true
    slug: "{{name | slugify}}"
    summary: "{{name}} — {{role}}"
    fields:
      - { label: "Full Name", name: "name", widget: "string" }
      - { label: "Role / Title", name: "role", widget: "string" }
      - label: "Category"
        name: "category"
        widget: "select"
        options:
          - Executive
          - Academics
          - Administration
          - Services
          - Governance
        default: "Academics"
      - label: "Department"
        name: "department"
        widget: "select"
        options:
          - Leadership
          - School of Medicine
          - MLT & Research
          - Social Work Department
          - Computer Science
          - Accounting & Finance
          - Human Resources
          - Office of the Registrar
          - Finance Office
          - Project Office
          - Quality Assurance
          - Student Services
          - Governance
          - Board of Trustees
          - Office of the President
          - Academic Affairs
          - Pastoral Office
          - MCH Clinic
          - Library & ICT
          - IT Services
          - Laboratories
          - General Services
        default: "School of Medicine"
      - { label: "Profile Photo URL", name: "image", widget: "string", required: false }
      - { label: "Biography", name: "bio", widget: "text", required: false }
      - { label: "Email Address", name: "email", widget: "string", required: false }
      - { label: "Office Link", name: "officeLink", widget: "string", required: false }

  # ── 4. Official Notices & Announcements ────────────────────────────────────
  - name: "announcements"
    label: "Official Announcements"
    description: "Official notices and announcements from the Registrar, Academic VP, or Administration."
    folder: "content/announcements"
    extension: "json"
    format: "json"
    create: true
    slug: "{{date | date('YYYY-MM-DD')}}-{{title | slugify}}"
    summary: "{{title}} — {{date}}"
    fields:
      - { label: "Announcement Title", name: "title", widget: "string" }
      - { label: "Publish Date & Time", name: "date", widget: "datetime" }
      - label: "Urgency / Priority"
        name: "priority"
        widget: "select"
        options:
          - { label: "Normal (Informational)", value: "normal" }
          - { label: "Important (Highlighted)", value: "important" }
          - { label: "Urgent (Red Alert)", value: "urgent" }
        default: "normal"
      - label: "Target Audience"
        name: "audience"
        widget: "select"
        options:
          - "All Students & Staff"
          - "Undergraduate Students"
          - "Postgraduate Students"
          - "Faculty & Academic Staff"
          - "Prospective Students"
        default: "All Students & Staff"
      - { label: "Issuer / Department", name: "issuer", widget: "string", default: "Office of the Registrar" }
      - { label: "Summary / Excerpt", name: "summary", widget: "text", hint: "Short summary shown in cards." }
      - { label: "Detailed Content / Body", name: "body", widget: "markdown" }
      - { label: "Document Attachment URL", name: "attachment", widget: "file", required: false }

  # ── 5. Academic Calendar & Events ───────────────────────────────────────────
  - name: "calendar"
    label: "Academic Calendar"
    description: "Manage official academic calendar events, exam schedules, and holiday dates."
    folder: "content/calendar"
    extension: "json"
    format: "json"
    create: true
    slug: "{{summary | slugify}}"
    summary: "{{summary}} — {{start_date}}"
    fields:
      - { label: "Title / Event Name", name: "summary", widget: "string" }
      - { label: "Description", name: "description", widget: "text", required: false }
      - { label: "Location", name: "location", widget: "string", required: false, default: "Main Campus" }
      - { label: "Start Date", name: "start_date", widget: "date", format: "YYYY-MM-DD" }
      - { label: "End Date", name: "end_date", widget: "date", format: "YYYY-MM-DD", required: false }
      - label: "Category"
        name: "category"
        widget: "select"
        options:
          - Academic
          - Exam
          - Registration
          - Holiday
          - Event
        default: "Academic"

  # ── 6. News & Dispatches ────────────────────────────────────────────────────
  - name: "news"
    label: "News & Announcements"
    description: "News posts and institutional articles."
    folder: "content/news"
    create: true
    slug: "{{year}}-{{month}}-{{day}}-{{title | slugify}}"
    summary: "{{title}} — {{date}}"
    fields:
      - { label: "Title", name: "title", widget: "string" }
      - { label: "Publish Date", name: "date", widget: "datetime" }
      - label: "Status"
        name: "status"
        widget: "select"
        options:
          - { label: "Draft", value: "draft" }
          - { label: "Review", value: "review" }
          - { label: "Published", value: "published" }
        default: "draft"
      - { label: "Featured Image", name: "image", widget: "image", required: false }
      - { label: "Summary", name: "summary", widget: "text", hint: "Short excerpt shown in news cards." }
      - { label: "Body", name: "body", widget: "markdown" }
      - label: "Tags / Labels"
        name: "tags"
        widget: "list"
        required: false

  # ── 7. Academic Programs ─────────────────────────────────────────────────────
  - name: "programs"
    label: "Academic Programs"
    description: "Manage program descriptions, highlights, faculty, and gallery images."
    folder: "content/programs"
    extension: "json"
    format: "json"
    create: true
    slug: "{{programId}}"
    summary: "{{title}} ({{degree}})"
    fields:
      - { label: "Program ID", name: "programId", widget: "string", hint: "e.g. medicine, mlt, socialwork" }
      - { label: "Title", name: "title", widget: "string" }
      - { label: "Degree", name: "degree", widget: "string", hint: "e.g. Doctor of Medicine (MD)" }
      - { label: "Duration", name: "duration", widget: "string" }
      - { label: "Faculty / School", name: "faculty", widget: "string" }
      - { label: "Hero Image URL", name: "image", widget: "string" }
      - { label: "Description", name: "description", widget: "text" }
      - label: "Highlights"
        name: "highlights"
        widget: "list"
        field: { label: "Highlight", name: "highlight", widget: "string" }
      - label: "Career Paths"
        name: "careers"
        widget: "list"
        field: { label: "Career", name: "career", widget: "string" }
