<?php

namespace GriffinForms\Admin\Language;

class FormThemes extends \GriffinForms\Admin\Language\Lists
{
    protected static $instance;

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

    protected function createFormTheme()
    {
        return __('Create Theme', 'griffinforms-form-builder');
    }

    protected function formThemesSearchBtnLabel()
    {
        return __('Search Themes', 'griffinforms-form-builder');
    }

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

    protected function headingTableHeader()
    {
        return __('Title', 'griffinforms-form-builder');
    }

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

    protected function categoryTableHeader()
    {
        return __('Category', 'griffinforms-form-builder');
    }

    protected function colorsListHead()
    {
        return __('Colors', 'griffinforms-form-builder');
    }

    protected function authorListHead()
    {
        return __('Author', 'griffinforms-form-builder');
    }

    protected function createdListHead()
    {
        return __('Created', 'griffinforms-form-builder');
    }

    protected function descriptionListHead() { return __('Description', 'griffinforms-form-builder'); }
    protected function categoryListHead()    { return __('Category', 'griffinforms-form-builder'); }
    protected function idListHead()          { return __('ID', 'griffinforms-form-builder'); }
    protected function lasteditedListHead()  { return __('Last Edited', 'griffinforms-form-builder'); }

    protected function noItemsFound()
    {
        return __('No themes found. Create your first theme to get started.', 'griffinforms-form-builder');
    }

    protected function editRowAction()
    {
        return __('Edit', 'griffinforms-form-builder');
    }

    protected function trashRowAction()
    {
        return __('Delete', 'griffinforms-form-builder');
    }

    protected function duplicateRowAction()
    {
        return __('Duplicate', 'griffinforms-form-builder');
    }

    protected function downloadRowAction()
    {
        return __('Download', 'griffinforms-form-builder');
    }

    protected function deleteFormThemesBulkAction()
    {
        return __('Delete Themes', 'griffinforms-form-builder');
    }

    public function itemCountPagination($count = 0)
    {
        // Translators: %d is the number of themes on current page.
        return sprintf(__('%d themes', 'griffinforms-form-builder'), $count);
    }

    protected function deleteFormThemesModalText()
    {
        return __('You have selected <strong class="text-griffin">0</strong> theme(s) for deletion.', 'griffinforms-form-builder');
    }

    protected function noFormThemesSelectedModalText()
    {
        return __('You have not selected any themes.', 'griffinforms-form-builder');
    }

    protected function deleteFormThemesSideEffectsText()
    {
        return __('Deleting a theme will not affect existing forms. Forms using this theme will revert to their default styling.', 'griffinforms-form-builder');
    }

    public static function getInstance()
    {
        if (self::$instance == null) {
            self::$instance = new FormThemes();
        }

        return self::$instance;
    }

    private function __construct()
    {
    }
}
