<?php

namespace ControlScripts;

/**
 * Central registry for system modes.
 *
 * Tags are boolean contexts (not mutually exclusive).
 * A Scope can query modes via $this->mode()->is('night'),
 * and an action script can flip them via $this->mode()->enable('away').
 *
 * Labels and descriptions live here, in code — DB only stores runtime state.
 */
class ModesRegistry {

    public static function definitions(): array {
        return [
            'home' => [
                'label'       => 'Дома',
                'description' => 'Основной режим присутствия. Все системы работают в штатном режиме.',
            ],
            'away' => [
                'label'       => 'Не дома',
                'description' => 'Никого нет дома. Активны охранные сценарии и энергосбережение.',
            ],
            'night' => [
                'label'       => 'Ночь',
                'description' => 'Пониженная яркость освещения, тихие уведомления, усиленный контроль шума.',
            ],
            'sleep' => [
                'label'       => 'Сон',
                'description' => 'Минимум света и звука. Датчики движения переведены в тихий режим.',
            ],
            'movie' => [
                'label'       => 'Кино',
                'description' => 'Приглушённый свет в гостиной, отключены звуковые уведомления.',
            ],
            'guest' => [
                'label'       => 'Гости',
                'description' => 'В доме гости. Основное освещение и уведомления активны, тихие режимы отключены.',
            ],
        ];
    }
}
