<?php

// SPDX-FileCopyrightText: 2023 Icinga GmbH <https://icinga.com>
// SPDX-License-Identifier: GPL-3.0-or-later

namespace Icinga\Module\Icingadb\Web\Control;

/**
 * View mode switcher to toggle between grid and list view
 */
class GridViewModeSwitcher extends ViewModeSwitcher
{
    /** @var string Default view mode */
    public const DEFAULT_VIEW_MODE = 'list';

    /** @var array View mode-icon pairs */
    public static $viewModes = [
        'list' => 'default',
        'grid' => 'grid'
    ];

    protected function getTitle(string $viewMode): string
    {
        $active = null;
        $inactive = null;
        switch ($viewMode) {
            case 'list':
                $active = t('List view active');
                $inactive = t('Switch to list view');
                break;
            case 'grid':
                $active = t('Grid view active');
                $inactive = t('Switch to grid view');
                break;
        }

        return $viewMode === $this->getViewMode() ? $active : $inactive;
    }
}
