<?php

namespace Config;

use CodeIgniter\Config\BaseConfig;

/**
 * TIEASY application constants (functional authority from Master Build Spec v1.0).
 */
class Tieasy extends BaseConfig
{
    public string $name = 'TIEASY';

    public string $rememberCookie = 'tieasy_remember';

    public int $otpLength = 6;

    public int $otpExpiryMinutes = 10;

    public int $otpMaxAttempts = 5;

    public int $otpResendCooldownSeconds = 60;

    public int $otpMaxSendsPerWindow = 5;

    public int $otpSendWindowMinutes = 30;

    public int $occurrenceHorizonDays = 90;

    /**
     * Priority IDs as stored on tasks.priority.
     * Display labels follow the finalized wireframe wording.
     *
     * @var array<int, string>
     */
    public array $priorities = [
        1 => 'Important & Urgent',
        2 => 'Important but Not Urgent',
        3 => 'Not Important but Urgent',
        4 => 'Not Important & Not Urgent',
    ];

    /**
     * @var list<string>
     */
    public array $ageGroups = [
        'Under 15',
        '15–24',
        '25–34',
        '35–44',
        '45–54',
        '55–64',
        '65+',
    ];

    /**
     * @var list<string>
     */
    public array $genders = [
        'Male',
        'Female',
        'Non-binary',
        'Prefer not to say',
        'Other',
    ];

    /**
     * Weekday mapping: 1=Monday … 7=Sunday.
     *
     * @var array<int, string>
     */
    public array $weekdays = [
        1 => 'Monday',
        2 => 'Tuesday',
        3 => 'Wednesday',
        4 => 'Thursday',
        5 => 'Friday',
        6 => 'Saturday',
        7 => 'Sunday',
    ];
}
