<?php

declare(strict_types=1);

namespace Seka\Portal\Modul\Statistiky\Http\View;

/**
 * Enum ZaznamDatumFilterEnum
 *
 * @package Seka\Portal\Modul\Statistiky\Http\View
 */
enum ZaznamDatumFilterEnum: string
{
    case AKTUALNY_TYZDEN = 'AKTUALNY_TYZDEN';
    case PREDCHADZAJUCI_TYZDEN = 'PREDCHADZAJUCI_TYZDEN';
    case AKTUALNY_MESIAC = 'AKTUALNY_MESIAC';
    case PREDCHADZAJUCI_MESIAC = 'PREDCHADZAJUCI_MESIAC';
    case AKTUALNY_STVRTROK = 'AKTUALNY_STVRTROK';
    case PREDCHADZAJUCI_STVRTROK = 'PREDCHADZAJUCI_STVRTROK';
    case AKTUALNY_POLROK = 'AKTUALNY_POLROK';
    case PREDCHADZAJUCI_POLROK = 'PREDCHADZAJUCI_POLROK';
    case AKTUALNY_ROK = 'AKTUALNY_ROK';
    case PREDCHADZAJUCI_ROK = 'PREDCHADZAJUCI_ROK';
    case POUZIVATELOM_SPECIFIKOVANY_ROZSAH = 'POUZIVATELOM_SPECIFIKOVANY_ROZSAH';

    /**
     * @return string
     */
    public function label(): string
    {
        return match ($this) {
            self::AKTUALNY_TYZDEN => 'aktuálny týždeň',
            self::PREDCHADZAJUCI_TYZDEN => 'predchádzajúci týždeň',
            self::AKTUALNY_MESIAC => 'aktuálny mesiac',
            self::PREDCHADZAJUCI_MESIAC => 'predchádzajúci mesiac',
            self::AKTUALNY_STVRTROK => 'aktuálny štvrťrok',
            self::PREDCHADZAJUCI_STVRTROK => 'predchádzajúci štvrťrok',
            self::AKTUALNY_POLROK => 'aktuálny polrok',
            self::PREDCHADZAJUCI_POLROK => 'predchádzajúci polrok',
            self::AKTUALNY_ROK => 'aktuálny rok',
            self::PREDCHADZAJUCI_ROK => 'predchádzajúci rok',
            self::POUZIVATELOM_SPECIFIKOVANY_ROZSAH => 'používateľom špecifikovaný rozsah',
        };
    }

    /**
     * @param \Seka\Portal\Modul\Statistiky\Http\View\ZaznamDatumFilterEnum $other
     *
     * @return bool
     */
    public function equal(self $other): bool
    {
        return $this === $other;
    }
}
