<?php

namespace GriffinForms\Admin\Language;

class PageRow extends \GriffinForms\Admin\Language\Format
{
    private static $instance;
    
    protected function headingCreate()
    {
        return __('Add New Row', 'griffinforms-form-builder');
    }
    
    protected function headingEditPageRow()
    {
        return __('Edit Row', 'griffinforms-form-builder');
    }
    
    // Label functions for row settings
    protected function nameLabel()
    {
        return __('Row Name', 'griffinforms-form-builder');
    }

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

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

    // Help text functions with examples
    protected function nameDescription()
    {
        return __('Enter the internal name for this row. This is used to help you organize rows within the page and is not visible to users. For example: "Complete Name".', 'griffinforms-form-builder');
    }

    protected function headingDescription()
    {
        return __('Specify the heading for this row. This heading will be displayed at the top of the row on the front-end, helping users understand the purpose of the fields within this row. For example: "Enter your complete name.".', 'griffinforms-form-builder');
    }

    protected function descriptionDescription()
    {
        return __('Provide a description for this row. This text can offer additional context or instructions related to the fields within this row and will be displayed beneath the heading. For example: "All details should match your ID card.".', 'griffinforms-form-builder');
    }
    
    protected function cssClassLabel()
    {
        return __('Row CSS Class', 'griffinforms-form-builder');
    }
    
    protected function cssIdLabel()
    {
        return __('Row CSS ID', 'griffinforms-form-builder');
    }
    
    protected function formIdLabel()
    {
        return __('Parent Form', 'griffinforms-form-builder');
    }
    
    protected function widthLabel()
    {
        return __('Width', 'griffinforms-form-builder');
    }
    
    protected function gutterLabel()
    {
        return __('Gutter', 'griffinforms-form-builder');
    }
    
    public static function getInstance()
    {
        if (self::$instance == null)
        {
            self::$instance = new PageRow();
        }
        
        return self::$instance;
    }
    
    private function __construct() 
    {
    }
}