// config/templateSchemas.js
export const templateSchemas = {
  home: {
    sections: {
      // 1) Banner Section
      banner: {
        name: "Banner Section",
        fields: {
          heading: {
            type: "text",
            label: "Main Heading",
            required: true,
            intent: "sectionTitle",
            // helpText: "Use the toolbar buttons to add line breaks and apply color formatting",

            maxLength: 100,
          },
          welcome_text: {
            type: "text",
            label: "Welcome Message",
            required: true,
            placeholder: "Welcome to Young Engineers",

            maxLength: 100,
          },
          territory_name: {
            type: "text",
            label: "Territory Name",
            required: true,
            placeholder: "e.g., New York City",

            maxLength: 100,
          },
          ctaText: {
            type: "text",
            label: "CTA Button Text",

            maxLength: 30,
          },
          ctaLink: {
            type: "url",
            label: "CTA Link",
          },
          desktopImage: {
            type: "image",
            label: "Desktop Banner Image or Video",
            mediaCategory: "home_banner",
          },
          mobileImage: {
            type: "image",
            label: "Mobile Banner Image or Video",
            mediaCategory: "home_banner",
          },
        },
      },

      // 2) Why Young Engineers Section
      whyYoungEngineers: {
        name: "Why Young Engineers Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "WHY YOUNG ENGINEERS",
            // helpText: "Use the toolbar buttons to add line breaks and apply color formatting",

            maxLength: 100,
          },
          sliders: {
            type: "repeater",
            // Rows are tall (heading + long description + images) — arrows only.
            dragReorder: false,
            label: "Content Sliders",
            minItems: 3,
            maxItems: 10,
            fields: {
              sliderHeading: {
                type: "text",
                label: "Slider Heading",
                placeholder: "e.g., RECOGNIZED BY EU & HARVARD",

                maxLength: 100,
              },
              title: {
                type: "text",
                label: "Title",
                placeholder: "e.g., LEARNING THROUGH PLAY",

                maxLength: 100,
              },
              description: {
                type: "textarea",
                label: "Description",
                placeholder: "Enter detailed description...",

                maxLength: 300,
              },
              image: {
                type: "image",
                label: "Slider Image",
                mediaCategory: "home_why_young_engineers",
                filterType: "image",
              },
              // `applyToAll` adds an "Apply to all sliders" action to the field
              // in FieldRenderer: most franchisees point every slide at the same
              // call to action, so the CTA is filled in once and copied across
              // the repeater instead of being retyped per slide.
              ctaButtonText: {
                type: "text",
                label: "CTA Button Text",
                placeholder: "e.g., LEARN MORE",
                applyToAll: true,

                maxLength: 30,
              },
              ctaButtonLink: {
                type: "url",
                label: "CTA Button Link",
                placeholder: "https://...",
                applyToAll: true,
              },
            },
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "DISCOVER PROGRAMS",

            maxLength: 30,
          },
        },
      },

      // 3) Program Section
      program: {
        name: "Program Section",
        fields: {
          heading: {
            type: "text",
            label: "Section Heading",
            intent: "sectionTitle",
            placeholder: "Our Programs",

            maxLength: 100,
          },
          ageRangeText: {
            type: "text",
            label: "Age Range Text",
            placeholder: "Ages 4–18",

            maxLength: 100,
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "View All Programs",

            maxLength: 30,
          },
        },
      },

      // 4) Join First Free Class Section
      joinFirstFreeClass: {
        name: "Join First Free Class Section",
        fields: {
          mainTitle: {
            type: "text",
            label: "Main Title",
            required: true,
            intent: "sectionTitle",
            placeholder: "JOIN FIRST FREE CLASS",
            // helpText: "Use the toolbar buttons to add line breaks and apply color formatting",

            maxLength: 100,
          },
          subTitle: {
            type: "richtext",
            label: "Sub Title",
            placeholder:
              "to unlock your child's potential even at the TRIAL LESSON",
            //helpText: "Use the toolbar buttons to add line breaks and apply color formatting",
          },
          description: {
            type: "richtext",
            label: "Description",
            placeholder: "WE GUARANTEE YOUR CHILD WILL ENJOY THE PROCESS",
            //helpText: "Use the toolbar buttons to add line breaks and apply color formatting",
          },
          buttonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "GET YOUR FREE TICKET",

            maxLength: 30,
          },
          sliderImages: {
            type: "image",
            label: "Slider Images or Videos (Multiple)",
            mediaCategory: "home_join_free_class",
            multiple: true,
          },
        },
      },

      // 5) Discover Section
      discoverSection: {
        name: "Discover Section",
        fields: {
          mainHeading: {
            type: "richtext",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "HOW YOUR CHILD WILL DISCOVER THE WORLD WITH YE",
            //helpText: "Use the toolbar buttons to add line breaks and apply color formatting",
          },

          sliders: {
            type: "repeater",
            // Rows are tall (heading + long description + images) — arrows only.
            dragReorder: false,
            label: "Discover Tabs / Sliders",
            minItems: 3,
            maxItems: 10,
            fields: {
              title: {
                type: "text",
                label: "Slider Title",
                placeholder: "e.g., NURTURING INNOVATION & PROBLEM SOLVING",

                maxLength: 100,
              },
              description: {
                type: "textarea",
                label: "Slider Description",
                placeholder: "Enter description for this discover item...",

                maxLength: 300,
              },
              mainImage: {
                type: "image",
                label: "Main Image",
                mediaCategory: "home_discover",
                filterType: "image",
              },
              thumbnails: {
                type: "image",
                label: "Gallery Images (Multiple)",
                mediaCategory: "home_discover",
                multiple: true,
                filterType: "image",
              },
            },
          },

          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "DISCOVER PROGRAMS",

            maxLength: 30,
          },
        },
      },
      sliderTexts: {
        name: "Slider Texts (Scrolling Banner)",
        fields: {
          sliderTexts: {
            type: "repeater",
            label: "Text Items",
            minItems: 1,
            fields: {
              text: {
                type: "text",
                label: "Text",
                placeholder: "Enter text for scrolling banner",
                maxLength: 100,
              },
            },
          },
        },
      },
      videoSlider: {
        name: "Video Slider Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Title",
            placeholder: "Enter section title",
            maxLength: 100,
          },
          videos: {
            type: "repeater",
            label: "Videos",
            minItems: 1,
            fields: {
              title: {
                type: "text",
                label: "Program Name",
                placeholder: "Enter program name",
                maxLength: 100,
              },
              thumbnail: {
                type: "image",
                label: "Thumbnail",
                mediaCategory: "home_video",
              },
              video_url: {
                type: "text",
                label: "Video URL",
                placeholder: "Enter video URL",
              },
            },
          },
        },
      },
      additionalActivities: {
        name: "Additional Activities Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "ADDITIONAL ACTIVITIES",

            maxLength: 100,
          },
        },
      },

      testimonialsSection: {
        name: "Testimonials Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "TRUSTED BY PARENTS WORLDWIDE",

            maxLength: 100,
          },
          subHeading: {
            type: "text",
            label: "Sub Heading",
            placeholder:
              "What parents often notice in their children after our classes",

            maxLength: 100,
          },
          feature1: {
            type: "text",
            label: "Feature 1",
            placeholder: "STRONGER LOGIC & CRITICAL THINKING",

            maxLength: 100,
          },
          feature2: {
            type: "text",
            label: "Feature 2",
            placeholder: "BOOSTED CONFIDENCE & INDEPENDENCE",

            maxLength: 100,
          },
          feature3: {
            type: "text",
            label: "Feature 3",
            placeholder: "IMPROVED TEAMWORK & COMMUNICATION",

            maxLength: 100,
          },
          feature4: {
            type: "text",
            label: "Feature 4",
            placeholder: "VISIBLE PROGRESS & GENUINE CURIOSITY",

            maxLength: 100,
          },
        },
      },

      // Bottom Sliders Section
      bottomSliders: {
        name: "Bottom Sliders Section",
        fields: {
          sliders: {
            type: "repeater",
            // Rows are tall (heading + long description + images) — arrows only.
            dragReorder: false,
            label: "Slider Items",
            minItems: 1,
            maxItems: 10,
            fields: {
              title: {
                type: "text",
                label: "Title",
                required: true,
                placeholder: "e.g., Feature Title",

                maxLength: 100,
              },
              tag: {
                type: "textarea",
                label: "Tag",
                placeholder: "e.g., Tag text",

                maxLength: 300,
              },
            },
          },
        },
      },
    },
  },

  // Program Template
  program: {
    sections: {
      // 1) Program Banner Section
      banner: {
        name: "Banner Section",
        fields: {
          heading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",

            maxLength: 100,
          },
          subHeading: {
            type: "text",
            label: "Sub Heading",
            required: true,

            maxLength: 100,
          },
          bannerImage: {
            type: "image",
            label: "Banner Image or Video",
            placeholder: "Upload banner image or video",
            mediaCategory: "program_banner",
            multiple: false,
          },
          ctaText: {
            type: "text",
            label: "CTA Button Text",

            maxLength: 30,
          },
          stats: {
            type: "repeater",
            label: "Stats",
            minItems: 1,
            maxItems: 10,
            fields: {
              number: {
                type: "text",
                label: "Number/Text",
                placeholder: "e.g., 60+",

                maxLength: 100,
              },
              label: {
                type: "text",
                label: "Label",
                placeholder: "e.g., Countries Presence",

                maxLength: 100,
              },
            },
          },
        },
      },

      // 2) Inspiring Young Minds Section
      inspiringMind: {
        name: "Inspiring Young Minds Section",
        fields: {
          heading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",

            maxLength: 100,
          },
          subHeading: {
            type: "text",
            label: "Sub Heading",
            placeholder: "Add sub heading...",

            maxLength: 100,
          },
          description: {
            type: "textarea",
            label: "Description",
            placeholder: "Enter detailed description...",

            maxLength: 300,
          },
          images: {
            type: "image",
            label: "Images or Videos",
            placeholder: "Upload images or videos",
            mediaCategory: "inspiring_minds",
            multiple: true,
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "Get Your Free Ticket",

            maxLength: 30,
          },
        },
      },

      // 3) Teacher Section
      teacher: {
        name: "Teacher Section",
        fields: {
          heading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",

            maxLength: 100,
          },
        },
      },

      // 4) Program Section
      program: {
        name: "Program Section",
        fields: {
          heading: {
            type: "text",
            label: "Section Heading",
            intent: "sectionTitle",
            placeholder: "Programs",

            maxLength: 100,
          },
          ageRangeText: {
            type: "text",
            label: "Age Range Text",
            placeholder: "Ages 4–18",

            maxLength: 100,
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "View All Programs",

            maxLength: 30,
          },
        },
      },

      // 5) All Programs Section
      allProgram: {
        name: "All Programs Section",
        fields: {
          heading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "All Programs",

            maxLength: 100,
          },
          showMoreText: {
            type: "text",
            label: "Show More Text",
            placeholder: "Show More",

            maxLength: 30,
          },
        },
      },

      // Bottom Sliders Section
      bottomSliders: {
        name: "Bottom Sliders Section",
        fields: {
          sliders: {
            type: "repeater",
            // Rows are tall (heading + long description + images) — arrows only.
            dragReorder: false,
            label: "Slider Items",
            minItems: 1,
            maxItems: 10,
            fields: {
              title: {
                type: "text",
                label: "Title",
                required: true,
                placeholder: "e.g., Feature Title",

                maxLength: 100,
              },
              tag: {
                type: "textarea",
                label: "Tag",
                placeholder: "e.g., Tag text",

                maxLength: 300,
              },
            },
          },
        },
      },
    },
  },

  // Workshop Template
  workshop: {
    sections: {
      // 1) Workshop Banner Section
      banner: {
        name: "Banner Section",
        fields: {
          heading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",

            maxLength: 100,
          },
          subHeading: {
            type: "text",
            label: "Sub Heading",
            required: true,

            maxLength: 100,
          },
          ctaText: {
            type: "text",
            label: "CTA Button Text",

            maxLength: 30,
          },
          ctaLink: {
            type: "url",
            label: "CTA Link",
          },
          stats: {
            type: "repeater",
            label: "Stats",
            minItems: 1,
            maxItems: 10,
            fields: {
              number: {
                type: "text",
                label: "Number/Text",
                placeholder: "e.g., 50+",

                maxLength: 100,
              },
              label: {
                type: "text",
                label: "Label",
                placeholder: "e.g., Workshops Offered",

                maxLength: 100,
              },
            },
          },
        },
      },

      // 2) Why Workshop Section
      whyWorkshop: {
        name: "Why Workshop Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "WHY WORKSHOPS",

            maxLength: 100,
          },
          sliders: {
            type: "repeater",
            // Rows are tall (heading + long description + images) — arrows only.
            dragReorder: false,
            label: "Content Sliders",
            minItems: 3,
            maxItems: 6,
            fields: {
              sliderHeading: {
                type: "text",
                label: "Slider Heading",
                placeholder: "e.g., HANDS-ON LEARNING",

                maxLength: 100,
              },
              title: {
                type: "text",
                label: "Title",
                placeholder: "e.g., PRACTICAL SKILLS",

                maxLength: 100,
              },
              description: {
                type: "textarea",
                label: "Description",
                placeholder: "Enter detailed description...",

                maxLength: 300,
              },
              image: {
                type: "image",
                label: "Image or Video",
                mediaCategory: "workshop_why",
              },
            },
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "DISCOVER WORKSHOPS",

            maxLength: 30,
          },
        },
      },

      // 3) All YE Workshops Section
      allProgram: {
        name: "All YE Workshops Section",
        fields: {
          heading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "All YE Workshops",

            maxLength: 100,
          },
        },
      },

      // Bottom Sliders Section
      bottomSliders: {
        name: "Bottom Sliders Section",
        fields: {
          sliders: {
            type: "repeater",
            // Rows are tall (heading + long description + images) — arrows only.
            dragReorder: false,
            label: "Slider Items",
            minItems: 1,
            maxItems: 10,
            fields: {
              title: {
                type: "text",
                label: "Title",
                required: true,
                placeholder: "e.g., Feature Title",

                maxLength: 100,
              },
              tag: {
                type: "textarea",
                label: "Tag",
                placeholder: "e.g., Tag text",

                maxLength: 300,
              },
            },
          },
        },
      },
    },
  },

  // iframe template stays separate
  // About Page Template
  about: {
    sections: {
      // 1) Heading Section
      heading: {
        name: "Heading Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Main Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "About Young Engineers",

            maxLength: 100,
          },
          subHeading: {
            type: "text",
            label: "Sub Heading",
            required: true,
            placeholder: "Where Learning Meets Imagination",

            maxLength: 100,
          },
        },
      },

      // 2) Who We Are Section
      whoWeAre: {
        name: "Who We Are Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "Who We Are",

            maxLength: 100,
          },
          paragraph1: {
            type: "textarea",
            label: "Paragraph 1",
            placeholder: "Enter first paragraph...",

            maxLength: 300,
          },
          paragraph2: {
            type: "textarea",
            label: "Paragraph 2",
            placeholder: "Enter second paragraph...",

            maxLength: 300,
          },
          images: {
            type: "image",
            label: "Images or Videos",
            placeholder: "Upload images or videos",
            mediaCategory: "who_we_are",
            multiple: true,
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "Learn More",

            maxLength: 30,
          },
        },
      },

      // 3) Our Mission Section
      ourMission: {
        name: "Our Mission Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "Our Mission",

            maxLength: 100,
          },
          paragraph1: {
            type: "textarea",
            label: "Paragraph 1",
            placeholder: "Enter first paragraph...",

            maxLength: 300,
          },
          paragraph2: {
            type: "textarea",
            label: "Paragraph 2",
            placeholder: "Enter second paragraph...",

            maxLength: 300,
          },
          paragraph3: {
            type: "textarea",
            label: "Paragraph 3",
            placeholder: "Enter third paragraph...",

            maxLength: 300,
          },
          subHeading: {
            type: "text",
            label: "Sub Heading",
            placeholder: "Key Benefits or Features",

            maxLength: 100,
          },
          features: {
            type: "repeater",
            label: "Key Features / Benefits",
            minItems: 1,
            maxItems: 6,
            fields: {
              featureTitle: {
                type: "text",
                label: "Feature Title",
                placeholder: "e.g., Stronger Logic & Critical Thinking",

                maxLength: 100,
              },
            },
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "Discover Our Mission",

            maxLength: 30,
          },
        },
      },

      // 4) Our Method Section
      ourMethod: {
        name: "Our Method Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "Our Method",

            maxLength: 100,
          },
          paragraph1: {
            type: "textarea",
            label: "Paragraph 1",
            placeholder: "Enter first paragraph...",

            maxLength: 300,
          },
          paragraph2: {
            type: "textarea",
            label: "Paragraph 2",
            placeholder: "Enter second paragraph...",

            maxLength: 300,
          },
          paragraph3: {
            type: "textarea",
            label: "Paragraph 3",
            placeholder: "Enter third paragraph...",

            maxLength: 300,
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "Explore Our Method",

            maxLength: 30,
          },
        },
      },

      // 5) What Children Gain Section
      whatChildrenGain: {
        name: "What Children Gain Section",
        fields: {
          mainHeading: {
            type: "text",
            label: "Section Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "What Children Gain",

            maxLength: 100,
          },
          programs: {
            type: "repeater",
            label: "Programs / Skills",
            minItems: 1,
            maxItems: 10,
            fields: {
              // Program is selected from a dropdown; logo + age + slug are
              // auto-filled from the chosen program (handled in the layout).
              program_id: {
                type: "text",
                label: "Program",
                placeholder: "Select a program",
              },
              programTitle: {
                type: "text",
                label: "Tag",
                placeholder: "e.g., Fan Moving Robot",
                maxLength: 100,
              },
              programHeading: {
                type: "text",
                label: "Description",
                placeholder: "e.g., Program for developing confidence",
                maxLength: 200,
              },
              programImage: {
                type: "image",
                label: "Robot Image",
                mediaCategory: "about_sliders",
                multiple: false,
              },
            },
          },
        },
      },

      // Bottom Sliders Section
      bottomSliders: {
        name: "Bottom Sliders Section",
        fields: {
          sliders: {
            type: "repeater",
            // Rows are tall (heading + long description + images) — arrows only.
            dragReorder: false,
            label: "Slider Items",
            minItems: 1,
            maxItems: 10,
            fields: {
              title: {
                type: "text",
                label: "Title",
                required: true,
                placeholder: "e.g., Feature Title",

                maxLength: 100,
              },
              tag: {
                type: "textarea",
                label: "Tag",
                placeholder: "e.g., Tag text",

                maxLength: 300,
              },
            },
          },
        },
      },

      // Slider Images Section
      sliderImages: {
        name: "Slider Images Section",
        description: "Image sliders for about page showcase",
        fields: {
          sliderImages: {
            type: "image",
            label: "Slider Images or Videos",
            placeholder: "Upload slider images or videos",
            mediaCategory: "about_sliders",
            multiple: true,
          },
          reverseSliderImages: {
            type: "image",
            label: "Reverse Slider Images or Videos",
            placeholder: "Upload reverse slider images or videos",
            mediaCategory: "about_sliders",
            multiple: true,
          },
        },
      },
      sliderTexts: {
        name: "Slider Texts (Scrolling Banner)",
        fields: {
          sliderTexts: {
            type: "repeater",
            label: "Text Items",
            minItems: 1,
            fields: {
              text: {
                type: "text",
                label: "Text",
                placeholder: "Enter text for scrolling banner",
                maxLength: 100,
              },
            },
          },
        },
      },
    },
  },

  // Payment Page Template
  payment: {
    sections: {
      // 1) Checkout Page Section
      checkout: {
        name: "Checkout Page",
        fields: {
          heading: {
            type: "text",
            label: "Heading",
            required: true,
            placeholder: "Checkout",
            maxLength: 100,
          },
          enrollmentConfirmationHeading: {
            type: "text",
            label: "Enrollment Confirmation Heading",
            placeholder: "Enrollment Confirmation",
            maxLength: 100,
          },
          enrollmentConfirmationText: {
            type: "textarea",
            label: "Enrollment Confirmation Text",
            placeholder: "Please confirm your enrollment details below.",
            maxLength: 300,
          },
          saveMyCardText: {
            type: "text",
            label: "Save My Card Text",
            placeholder: "Save my card for future payments",
            maxLength: 100,
          },
          payButtonText: {
            type: "text",
            label: "Pay Button Text",
            placeholder: "Pay Now",
            maxLength: 30,
          },
          setupButtonText: {
            type: "text",
            label: "Setup Button Text",
            placeholder: "Setup Payment",
            maxLength: 30,
          },
        },
      },

      // 2) Thank You Page Section
      thankyou: {
        name: "Thank You Page",
        fields: {
          paymentProcessingText: {
            type: "text",
            label: "Payment Processing Text",
            placeholder: "We are processing your payment...",
            maxLength: 200,
          },
          greetingText: {
            type: "text",
            label: "Greeting Text",
            placeholder: "Thank you for your enrollment!",
            maxLength: 100,
          },
          paymentConfirmingText: {
            type: "text",
            label: "Payment Confirming Text",
            placeholder: "Your payment has been successfully confirmed.",
            maxLength: 100,
          },
          classRegisteredText: {
            type: "text",
            label: "Class Registered Text",
            placeholder: "CLASS YOU REGISTERED:",
            maxLength: 100,
          },
          // Detail field labels
          ageLabel: {
            type: "text",
            label: "Age Label",
            placeholder: "Age:",
            maxLength: 50,
          },
          instructorLabel: {
            type: "text",
            label: "Instructor Label",
            placeholder: "Instructor:",
            maxLength: 50,
          },
          startDateLabel: {
            type: "text",
            label: "Start Date Label",
            placeholder: "Start Date:",
            maxLength: 50,
          },
          classTimeLabel: {
            type: "text",
            label: "Class Time Label",
            placeholder: "Class Time:",
            maxLength: 50,
          },
          locationLabel: {
            type: "text",
            label: "Location Label",
            placeholder: "Location:",
            maxLength: 50,
          },
          childNameLabel: {
            type: "text",
            label: "Child Name Label",
            placeholder: "Child Name:",
            maxLength: 50,
          },
          ctaButtonText: {
            type: "text",
            label: "CTA Button Text",
            placeholder: "GO BACK TO HOME",
            maxLength: 30,
          },
        },
      },
    },
  },

  // Checkout Page Template (was "Submission Page")
  "checkout-page": {
    sections: {
      checkoutPage: {
        name: "Checkout Page",
        fields: {
          registerMainHeading: {
            type: "text",
            label: "Register Main Heading",
            placeholder: "Register For A Program",
            maxLength: 100,
          },
          registerSubHeading: {
            type: "text",
            label: "Register Sub Heading",
            placeholder: "Fill in the form to join the classes",
            maxLength: 100,
          },
          // Parent details
          parentDetailText: {
            type: "text",
            label: "Parent Section Title",
            placeholder: "1. Provide parent info",
            maxLength: 100,
          },
          nameText: {
            type: "text",
            label: "First Name Placeholder",
            placeholder: "First name",
            maxLength: 50,
          },
          lastNameText: {
            type: "text",
            label: "Last Name Placeholder",
            placeholder: "Last name",
            maxLength: 50,
          },
          emailText: {
            type: "text",
            label: "Email Placeholder",
            placeholder: "E-mail",
            maxLength: 50,
          },
          phoneText: {
            type: "text",
            label: "Phone Placeholder",
            placeholder: "Phone",
            maxLength: 50,
          },
          // Child details
          childDetailText: {
            type: "text",
            label: "Child Section Title",
            placeholder: "2. Provide your child info",
            maxLength: 100,
          },
          childFirstNameText: {
            type: "text",
            label: "Child First Name Placeholder",
            placeholder: "First name",
            maxLength: 50,
          },
          childLastNameText: {
            type: "text",
            label: "Child Last Name Placeholder",
            placeholder: "Last name",
            maxLength: 50,
          },
          ageText: {
            type: "text",
            label: "Age Placeholder",
            placeholder: "Age",
            maxLength: 50,
          },
          schoolTypeText: {
            type: "text",
            label: "School Type Placeholder",
            placeholder: "School",
            maxLength: 50,
          },
          // Coupon
          couponSectionTitleText: {
            type: "text",
            label: "Coupon Section Title",
            placeholder: "3. Have a coupon?",
            maxLength: 100,
          },
          couponInputPlaceholderText: {
            type: "text",
            label: "Coupon Input Placeholder",
            placeholder: "Enter code",
            maxLength: 50,
          },
          couponApplyButtonText: {
            type: "text",
            label: "Coupon Apply Button",
            placeholder: "Apply",
            maxLength: 50,
          },
          // Payment options
          paymentSectionTitleText: {
            type: "text",
            label: "Payment Section Title",
            placeholder: "4. Choose payment method",
            maxLength: 100,
          },
          paymentByCardText: {
            type: "text",
            label: "Payment By Card Option",
            placeholder: "By card",
            maxLength: 50,
          },
          paymentPayLaterText: {
            type: "text",
            label: "Payment Pay Later Option",
            placeholder: "Pay later (we will contact you for more details)",
            maxLength: 100,
          },
          // CTAs (Register & Pay supports dynamic variables)
          ctaRegisterAndPayText: {
            type: "text",
            label: "CTA: Register and Pay",
            placeholder: "Register and pay {amount} for {plan_date}",
            helpText: "Available variables: {amount}, {plan_date}, {program_name}, {lessons}. Click the chips below the field to insert.",
            variables: ["{amount}", "{plan_date}", "{program_name}", "{lessons}"],
            maxLength: 150,
          },
          ctaPayLaterButtonText: {
            type: "text",
            label: "CTA: Pay Later",
            placeholder: "Register and pay later",
            maxLength: 50,
          },
          // Policy
          policyAgreementPrefixText: {
            type: "text",
            label: "Policy Agreement Prefix",
            placeholder: "I agree with the",
            maxLength: 100,
          },
          policyAgreementLinkText: {
            type: "text",
            label: "Policy Agreement Link Text",
            placeholder: "Data collection policy",
            maxLength: 100,
          },
          // ---------- Sidebar (Order Details) ----------
          sidebarTitleText: {
            type: "text",
            label: "Sidebar Title",
            placeholder: "ORDER DETAILS",
            maxLength: 50,
          },
          classInfoTitleText: {
            type: "text",
            label: "Class Info Title",
            placeholder: "Class Info",
            maxLength: 50,
          },
          studyPeriodLabel: {
            type: "text",
            label: "Study Period Label",
            placeholder: "Study Period",
            maxLength: 50,
          },
          daysLabel: {
            type: "text",
            label: "Days Label",
            placeholder: "Days",
            maxLength: 50,
          },
          classTimeLabel: {
            type: "text",
            label: "Class Time Label",
            placeholder: "Class Time",
            maxLength: 50,
          },
          numberOfLessonsLabel: {
            type: "text",
            label: "Number of Lessons Label",
            placeholder: "Number Of Lessons",
            maxLength: 50,
          },
          classScheduleLabel: {
            type: "text",
            label: "Class Schedule Label",
            placeholder: "Class Schedule",
            maxLength: 50,
          },
          startDateLabel: {
            type: "text",
            label: "Start Date Label",
            placeholder: "Start Date",
            maxLength: 50,
          },
          paymentInfoTitleText: {
            type: "text",
            label: "Payment Info Title",
            placeholder: "Payment Info",
            maxLength: 50,
          },
          totalValueLabel: {
            type: "text",
            label: "Total Value Label",
            placeholder: "Total Value of the Class",
            maxLength: 80,
          },
          pricePerClassLabel: {
            type: "text",
            label: "Price per Class Label",
            placeholder: "Price per class",
            maxLength: 50,
          },
          paymentFrequencyLabel: {
            type: "text",
            label: "Payment Frequency Label",
            placeholder: "Payment Frequency",
            maxLength: 50,
          },
          feeTypeLabel: {
            type: "text",
            label: "Fee Type Label",
            placeholder: "Fee Type",
            maxLength: 50,
          },
          paymentScheduleLabel: {
            type: "text",
            label: "Payment Schedule Label",
            placeholder: "Payment Schedule",
            maxLength: 50,
          },
          nextPaymentLabel: {
            type: "text",
            label: "Next Payment Label",
            placeholder: "Next payment",
            maxLength: 50,
          },
          lastPaymentLabel: {
            type: "text",
            label: "Last Payment Label",
            placeholder: "Last payment",
            maxLength: 50,
          },
          noFuturePlansText: {
            type: "text",
            label: "No Future Plans Text",
            placeholder: "No future plans available",
            maxLength: 80,
          },
          paymentAmountLabel: {
            type: "text",
            label: "Payment Amount Label",
            placeholder: "Payment Amount",
            maxLength: 50,
          },
        },
      },
    }
  },

  // Thank You Page Template
  "thank-you-page": {
    sections: {
      thankYouPage: {
        name: "Thank You Page",
        fields: {
          // Hero
          greetingText: {
            type: "text",
            label: "Greeting",
            placeholder: "Thank You!",
            maxLength: 80,
          },
          paymentSuccessSubheadingText: {
            type: "text",
            label: "Subheading (Payment Success)",
            placeholder: "Your payment has been received successfully.",
            maxLength: 200,
          },
          paylaterSuccessSubheadingText: {
            type: "text",
            label: "Subheading (Pay Later Success)",
            placeholder: "Your submission has been received successfully.",
            maxLength: 200,
          },
          setupSuccessSubheadingText: {
            type: "text",
            label: "Subheading (Account Setup Success)",
            placeholder: "Your account has been setup successfully.",
            maxLength: 200,
          },
          // Verifying state
          verifyingPaymentText: {
            type: "text",
            label: "Verifying Heading",
            placeholder: "Verifying Payment...",
            maxLength: 100,
          },
          verifyingSetupText: {
            type: "text",
            label: "Verifying Setup Heading",
            placeholder: "Verifying Setup...",
            maxLength: 100,
          },
          paymentProcessingText: {
            type: "textarea",
            label: "Verifying Body",
            placeholder: "Please wait while we securely confirm your transaction with the gateway. This page will automatically update in a few moments.",
            maxLength: 400,
          },
          // Success card
          mainHeadingText: {
            type: "text",
            label: "Card Heading",
            placeholder: "Thank You! Your payment was successful",
            maxLength: 150,
          },
          mainSubheadingText: {
            type: "text",
            label: "Card Subheading",
            placeholder: "Our manager will contact you for more details.",
            maxLength: 200,
          },
          // Detail row labels
          orderNumberLabel: {
            type: "text",
            label: "Order Number Label",
            placeholder: "Order number",
            maxLength: 50,
          },
          programNameLabel: {
            type: "text",
            label: "Program Name Label",
            placeholder: "Program name",
            maxLength: 50,
          },
          studyPeriodLabel: {
            type: "text",
            label: "Study Period Label",
            placeholder: "Study period",
            maxLength: 50,
          },
          numberOfLessonsLabel: {
            type: "text",
            label: "Number of Lessons Label",
            placeholder: "Number of lessons",
            maxLength: 50,
          },
          classScheduleLabel: {
            type: "text",
            label: "Class Schedule Label",
            placeholder: "Class Schedule",
            maxLength: 50,
          },
          totalValueLabel: {
            type: "text",
            label: "Total Value Label",
            placeholder: "Total value of the class",
            maxLength: 80,
          },
          couponAppliedLabel: {
            type: "text",
            label: "Coupon Applied Label",
            placeholder: "Coupon applied",
            maxLength: 50,
          },
          paidLabel: {
            type: "text",
            label: "Paid Label",
            placeholder: "Paid",
            maxLength: 50,
          },
          paymentMethodLabel: {
            type: "text",
            label: "Payment Method Label",
            placeholder: "Payment method",
            maxLength: 50,
          },
          // Action buttons
          downloadReceiptText: {
            type: "text",
            label: "Download Receipt Button",
            placeholder: "Download Receipt",
            maxLength: 50,
          },
          downloadInvoiceText: {
            type: "text",
            label: "Download Invoice Button",
            placeholder: "Download Invoice",
            maxLength: 50,
          },
        },
      },
    }
  },

  "iframe-template": {
    sections: {
      iframe: {
        name: "Embedded Content",
        fields: {
          iframeurl: { type: "url", label: "Embed URL", required: true },
        },
      },
    },
  },

  // Privacy Policy Template
  "privacy-policy": {
    sections: {
      privacyPolicy: {
        name: "Privacy Policy",
        fields: {
          heading: {
            type: "text",
            label: "Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "Privacy Policy",
            maxLength: 150,
            alphanumericOnly: true,
          },
          effectiveDate: {
            type: "date",
            label: "Effective Date",
          },
          content: {
            type: "textarea",
            label: "Content",
            required: true,
            placeholder: "Enter privacy policy content...",
          },
        },
      },
    },
  },

  // Terms of Use Template
  "terms-of-use": {
    sections: {
      termsOfUse: {
        name: "Terms of Use",
        fields: {
          heading: {
            type: "text",
            label: "Heading",
            required: true,
            intent: "sectionTitle",
            placeholder: "Terms of Use",
            maxLength: 150,
            alphanumericOnly: true,
          },
          effectiveDate: {
            type: "date",
            label: "Effective Date",
          },
          content: {
            type: "textarea",
            label: "Content",
            required: true,
            placeholder: "Enter terms of use content...",
          },
        },
      },
    },
  },
};
