118 lines
6.2 KiB
PHP
118 lines
6.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\NovaCardTemplate;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class NovaCardTemplateSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$templates = [
|
|
[
|
|
'slug' => 'minimal-black-white',
|
|
'name' => 'Minimal Black / White',
|
|
'description' => 'High-contrast minimalist typography.',
|
|
'formats' => ['square', 'portrait', 'landscape'],
|
|
'config' => ['font_preset' => 'minimal-editorial', 'gradient_preset' => 'deep-cinema', 'text_align' => 'left', 'layout' => 'minimal', 'text_color' => '#ffffff', 'overlay_style' => 'dark-soft'],
|
|
],
|
|
[
|
|
'slug' => 'neon-nova',
|
|
'name' => 'Neon Nova',
|
|
'description' => 'Bright accents with deep night gradients.',
|
|
'formats' => ['square', 'portrait', 'story'],
|
|
'config' => ['font_preset' => 'bold-poster', 'gradient_preset' => 'midnight-nova', 'text_align' => 'center', 'layout' => 'centered', 'text_color' => '#e0f2fe', 'overlay_style' => 'dark-strong'],
|
|
],
|
|
[
|
|
'slug' => 'soft-pastel',
|
|
'name' => 'Soft Pastel',
|
|
'description' => 'Soft pastel tones for uplifting cards.',
|
|
'formats' => ['square', 'portrait'],
|
|
'config' => ['font_preset' => 'soft-handwritten', 'gradient_preset' => 'soft-pastel', 'text_align' => 'center', 'layout' => 'quote_heavy', 'text_color' => '#1f2937', 'overlay_style' => 'light-soft'],
|
|
],
|
|
[
|
|
'slug' => 'romantic',
|
|
'name' => 'Romantic',
|
|
'description' => 'Warm romantic quote treatments.',
|
|
'formats' => ['square', 'portrait', 'story'],
|
|
'config' => ['font_preset' => 'elegant-serif', 'gradient_preset' => 'romantic-dusk', 'text_align' => 'center', 'layout' => 'author_emphasis', 'text_color' => '#fff1f2', 'overlay_style' => 'dark-soft'],
|
|
],
|
|
[
|
|
'slug' => 'cinematic-dark',
|
|
'name' => 'Cinematic Dark',
|
|
'description' => 'Moody cinematic composition.',
|
|
'formats' => ['square', 'portrait', 'landscape'],
|
|
'config' => ['font_preset' => 'modern-sans', 'gradient_preset' => 'deep-cinema', 'text_align' => 'left', 'layout' => 'quote_heavy', 'text_color' => '#f8fafc', 'overlay_style' => 'dark-strong'],
|
|
],
|
|
[
|
|
'slug' => 'golden-serif',
|
|
'name' => 'Golden Serif',
|
|
'description' => 'Elegant serif layout with warm highlights.',
|
|
'formats' => ['square', 'portrait', 'landscape'],
|
|
'config' => ['font_preset' => 'elegant-serif', 'gradient_preset' => 'amber-glow', 'text_align' => 'center', 'layout' => 'author_emphasis', 'text_color' => '#fffbeb', 'overlay_style' => 'dark-soft'],
|
|
],
|
|
[
|
|
'slug' => 'nature-calm',
|
|
'name' => 'Nature Calm',
|
|
'description' => 'Fresh greens and sky tones.',
|
|
'formats' => ['square', 'portrait', 'story'],
|
|
'config' => ['font_preset' => 'dreamy-aesthetic', 'gradient_preset' => 'nature-calm', 'text_align' => 'left', 'layout' => 'centered', 'text_color' => '#ecfeff', 'overlay_style' => 'dark-soft'],
|
|
],
|
|
[
|
|
'slug' => 'bold-statement',
|
|
'name' => 'Bold Statement',
|
|
'description' => 'Large statement typography.',
|
|
'formats' => ['square', 'portrait', 'landscape'],
|
|
'config' => ['font_preset' => 'bold-poster', 'gradient_preset' => 'midnight-nova', 'text_align' => 'left', 'layout' => 'quote_heavy', 'text_color' => '#ffffff', 'overlay_style' => 'dark-strong'],
|
|
],
|
|
[
|
|
'slug' => 'wallpaper-style',
|
|
'name' => 'Wallpaper Style',
|
|
'description' => 'Spacious wallpaper-like composition.',
|
|
'formats' => ['portrait', 'story', 'landscape'],
|
|
'config' => ['font_preset' => 'dreamy-aesthetic', 'gradient_preset' => 'dream-glow', 'text_align' => 'center', 'layout' => 'minimal', 'text_color' => '#fdf4ff', 'overlay_style' => 'dark-soft'],
|
|
],
|
|
[
|
|
'slug' => 'story-vertical',
|
|
'name' => 'Story Vertical',
|
|
'description' => 'Tall mobile-first story layout.',
|
|
'formats' => ['story'],
|
|
'config' => ['font_preset' => 'modern-sans', 'gradient_preset' => 'emerald-bloom', 'text_align' => 'center', 'layout' => 'centered', 'text_color' => '#ecfdf5', 'overlay_style' => 'dark-soft'],
|
|
],
|
|
[
|
|
'slug' => 'dream-glow',
|
|
'name' => 'Dream Glow',
|
|
'description' => 'Glowing dreamy aesthetic template.',
|
|
'formats' => ['square', 'portrait', 'story'],
|
|
'config' => ['font_preset' => 'dreamy-aesthetic', 'gradient_preset' => 'dream-glow', 'text_align' => 'center', 'layout' => 'quote_heavy', 'text_color' => '#faf5ff', 'overlay_style' => 'dark-soft'],
|
|
],
|
|
[
|
|
'slug' => 'classic-typography',
|
|
'name' => 'Classic Typography',
|
|
'description' => 'Classic bookish quote treatment.',
|
|
'formats' => ['square', 'portrait', 'landscape'],
|
|
'config' => ['font_preset' => 'elegant-serif', 'gradient_preset' => 'amber-glow', 'text_align' => 'left', 'layout' => 'author_emphasis', 'text_color' => '#fff7ed', 'overlay_style' => 'dark-soft'],
|
|
],
|
|
];
|
|
|
|
foreach ($templates as $index => $template) {
|
|
NovaCardTemplate::query()->updateOrCreate(
|
|
['slug' => $template['slug']],
|
|
[
|
|
'name' => $template['name'],
|
|
'description' => $template['description'],
|
|
'preview_image' => null,
|
|
'config_json' => $template['config'],
|
|
'supported_formats' => $template['formats'],
|
|
'active' => true,
|
|
'official' => true,
|
|
'order_num' => $index,
|
|
]
|
|
);
|
|
}
|
|
}
|
|
}
|