<?php

namespace App\Filament\Resources\SocialMedia\Pages;

use App\Filament\Resources\SocialMedia\SocialMediaResource;
use Filament\Actions\DeleteAction;
use Filament\Actions\ViewAction;
use Filament\Actions\Action; 
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Facades\Cache;

class EditSocialMedia extends EditRecord
{
    protected static string $resource = SocialMediaResource::class;

    protected function getHeaderActions(): array
    {
        return [
            ViewAction::make(),
            
            DeleteAction::make()
                ->after(fn () => Cache::forget('global_socials')),
            
            // Tombol Kembali
            // Action::make('back')
            //     ->label('Kembali')
            //     ->url($this->getResource()::getUrl('index'))
            //     ->color('gray')
            //     ->icon('heroicon-m-arrow-left'),
        ];
    }

    // TOMBOL SIMPAN (UPDATE)
    protected function getSaveFormAction(): Action
    {
        return Action::make('simpanPerubahan')
            ->label('Simpan Perubahan')
            ->action(fn () => $this->save()) 
            ->requiresConfirmation()
            ->modalIcon('heroicon-o-check-circle')
            ->modalHeading('Simpan Perubahan?')
            ->modalDescription('Yakin ingin mengubah data sosial media ini?')
            ->modalSubmitActionLabel('Ya, Update')
            ->keyBindings(['mod+s']);
    }

    // HAPUS CACHE SETELAH EDIT
    protected function afterSave(): void
    {
        Cache::forget('global_socials');
    }

    protected function getRedirectUrl(): string
    {
        return $this->getResource()::getUrl('index');
    }
}