<?php

namespace App\Filament\Pages;

use App\Enums\OrientationsEnum;
use App\Settings\GeneralSetting;
use Filament\Forms;
use Filament\Pages\SettingsPage;
use RalphJSmit\Filament\SEO\SEO;

class ManageGeneralSettings extends SettingsPage
{
    protected static ?string $navigationIcon = 'heroicon-o-cog';

    protected static string $settings = GeneralSetting::class;

    protected static ?string $navigationGroup = 'Settings';

    protected static ?string $title = 'Paramètres généraux';

    protected static ?string $navigationLabel = 'Paramètres généraux';


    protected function getFormSchema(): array
    {
        return [
            Forms\Components\TextInput::make('prix_khw_en_dh')
                ->type('number')
                ->step('0.01')
                ->required(),

            Forms\Components\TextInput::make('maximum_consommation_kwh')
                ->type('number')
                ->integer()
                ->required(),

            Forms\Components\TextInput::make('double_orientation_description')
                ->label('Description de la double orientation')
                ->helperText("Description qui s'affiche dans le resume si le client a choisi une double orientation")
                ->required(),

            Forms\Components\Select::make('double_orientation_first')
                ->label('Première orientation de la double orientation')
                ->helperText("Première orientation à selectionner pour l'utilisateur si la double orientation est cochée")
                ->options(OrientationsEnum::toSelectArray())
                ->required(),

            Forms\Components\Select::make('double_orientation_second')
                ->label('Deuxième orientation de la double orientation')
                ->helperText("Deuxième orientation à selectionner pour l'utilisateur si la double orientation est cochée")
                ->options(OrientationsEnum::toSelectArray())
                ->different('double_orientation_first')
                ->required(),

//            address_reception_des_demandes
            Forms\Components\TextInput::make('address_reception_des_demandes')
                ->label('Adresse de réception des demandes')
                ->helperText("Adresse sur laquelle vous Allez recevoir les simulations des clients")
                ->email()
                ->required(),
        ];

    }
}
