<?php

namespace GriffinForms\Admin\Language;

class FormPage extends \GriffinForms\Admin\Language\Lists
{
    private static $instance;
    
    protected function headingcreateFormPage()
    {
        return __('New Page', 'griffinforms-form-builder');
    }    
    
    protected function headingEditFormPage()
    {
        return __('Edit Page', 'griffinforms-form-builder');
    }
    
    // Label functions for page settings
    protected function nameLabel()
    {
        return __('Page Name', 'griffinforms-form-builder');
    }

    protected function headingLabel()
    {
        return __('Page Heading', 'griffinforms-form-builder');
    }

    protected function descriptionLabel()
    {
        return __('Page Description', 'griffinforms-form-builder');
    }

    // Help text functions with examples
    protected function nameDescription()
    {
        return __('Enter the internal name for this page. This name helps you identify the page in the admin area and is not displayed to users. For example: "user-personal-details".', 'griffinforms-form-builder');
    }

    protected function headingDescription()
    {
        return __('Specify the heading for this page. This heading will be displayed at the top of the page on the front-end, visible to users. For example: "Personal Details".', 'griffinforms-form-builder');
    }

    protected function descriptionDescription()
    {
        return __('Provide a description for this page. This text can give users additional context or instructions and will be shown below the heading. For example: "Please fill out the form below to contact us. We typically respond within 24 hours.".', 'griffinforms-form-builder');
    }

    protected function stepDataLabel()
    {
        return __('Step Data', 'griffinforms-form-builder');
    }

    protected function stepdata()
    {
        return __('Step Data', 'griffinforms-form-builder');
    }

    protected function stepDataDescription()
    {
        return __('Optional custom step label and icon used by the progress bar renderer. Leave empty to keep the page heading and number.', 'griffinforms-form-builder');
    }

    protected function stepNameLabel()
    {
        return __('Step Name', 'griffinforms-form-builder');
    }

    protected function stepNameDescription()
    {
        return __('Overrides the page heading in the progress bar. If blank, the page heading is used when "Use page headings as step labels" is enabled.', 'griffinforms-form-builder');
    }

    protected function stepIconLabel()
    {
        return __('Step Icon', 'griffinforms-form-builder');
    }

    protected function stepIconDescription()
    {
        return __('Google Material Symbols icon name, for example toggle_on. You can browse the library at https://fonts.google.com/icons. Leave this blank to use the default numerical marker.', 'griffinforms-form-builder');
    }
    
    public static function getInstance()
    {
        if (self::$instance == null)
        {
            self::$instance = new FormPage();
        }
        
        return self::$instance;
    }
    
    private function __construct() 
    {
    }
}
