<?php

namespace GriffinForms\Admin\Language;

class Folder extends \GriffinForms\Admin\Language\Format
{
    private static $instance;
    
    protected function headingCreateFolder()
    {
        return __('Create Folder', 'griffinforms-form-builder');
    }
    
    protected function headingEditFolder()
    {
        return __('Edit Folder', 'griffinforms-form-builder');
    }
    
    protected function headingLabel()
    {
        return __('Folder Label', 'griffinforms-form-builder');
    }

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

    protected function createItem()
    {
        return __('Save Folder', 'griffinforms-form-builder');
    }

    protected function nameDescription()
    {
        return __('Enter an internal name for the folder. This name is used for system purposes and will not be visible to users. It should be unique and follow a consistent naming convention to help with backend management.', 'griffinforms-form-builder');
    }

    protected function headingDescription()
    {
        return __('Enter a name for your folder. This is a required field, and it should help you easily identify the forms it contains. Folder names must be unique and representative of the forms grouped within it. e.g. “Event Registration Forms”, “Customer Feedback Surveys” etc.', 'griffinforms-form-builder');
    }

    protected function descriptionDescription()
    {
        return __('Provide an optional description for your folder. The description should give more context about the forms inside the folder, making it easier to understand its purpose. Keep the description concise and informative.', 'griffinforms-form-builder');
    }
    
    public static function getInstance()
    {
        if (self::$instance == null)
        {
            self::$instance = new Folder();
        }
        
        return self::$instance;
    }
    
    private function __construct() 
    {
    }

    protected function backToFolders()
    {
        return __('All Folders', 'griffinforms-form-builder');
    }

        /**
     * Label shown above the icon selector field on folder create/edit screens.
     */
    protected function iconHeading()
    {
        return __('Folder Icon', 'griffinforms-form-builder');
    }

    /**
     * Accessibility label for the icon selection field.
     */
    protected function iconLabel()
    {
        return __('Select Folder Icon', 'griffinforms-form-builder');
    }

    /**
     * Help text displayed below the icon selector, explaining its use.
     */
    protected function iconDescription()
    {
        return __('Choose an icon that visually represents this folder. Icons help distinguish folders quickly, especially in long lists.', 'griffinforms-form-builder');
    }

    /**
     * Error message shown when no folder icon is selected.
     */
    protected function noIconSelected()
    {
        return __('Please select a folder icon.', 'griffinforms-form-builder');
    }
}