*/ public static function labels(): array { return [ 'classic' => 'Classic', 'modern' => 'Modern', 'minimal' => 'Minimal', 'bold' => 'Bold', 'professional' => 'Professional', ]; } public static function isValid(string $template): bool { return array_key_exists($template, self::labels()); } public static function default(): string { return 'classic'; } public static function view(string $template): string { $template = self::isValid($template) ? $template : self::default(); return 'invoices.templates.'.$template; } /** Preview thumbnail URL for a template (public/images/invoice-templates/.svg). */ public static function thumbnail(string $template): string { $template = self::isValid($template) ? $template : self::default(); return asset('images/invoice-templates/'.$template.'.svg'); } }