Initial commit

This commit is contained in:
Zdeněk Burda
2026-01-09 21:26:40 +01:00
parent e83aec6dca
commit 41e3ce6f25
404 changed files with 61250 additions and 28 deletions

View File

@@ -0,0 +1,136 @@
<?php
namespace Database\Seeders;
use App\Models\NewsPost;
use Illuminate\Database\Seeder;
use Illuminate\Support\Str;
class NewsPostSeeder extends Seeder
{
public function run(): void
{
// Pozor: pokud už máš v produkci data, truncate nepoužívej.
NewsPost::truncate();
$items = [
[
'title' => [
'cs' => 'Vývojová verze nového vyhodnocovacího systému VKV závodů',
'en' => 'Development version of the new VHF contest evaluation system',
],
'content' => [
'cs' => <<<MD
## Vývojová verze
Tento systém pro vyhodnocování VKV závodů je aktuálně ve vývojové verzi.
**Co to znamená:**
- mohou se objevit chyby nebo nekompletní funkce
- data a výsledky se mohou ještě měnit
- budeme rádi za zpětnou vazbu a nahlášené problémy
MD,
'en' => <<<MD
## Development version
This VHF contest evaluation system is currently a development version.
**What this means:**
- features may be incomplete and bugs may appear
- data and results may still change
- we welcome feedback and reported issues
MD,
],
'excerpt' => [
'cs' => 'Nový systém pro vyhodnocování VKV závodů je ve vývoji.',
'en' => 'The new VHF contest evaluation system is in development.',
],
'is_published' => true,
'published_at' => now()->subDays(7),
],
[
'title' => [
'cs' => 'Plánovaná údržba systému',
'en' => 'Planned system maintenance',
],
'content' => [
'cs' => <<<MD
## Plánovaná údržba
Systém bude nedostupný **15. 12. 2025** mezi *22:0023:00 CET* z důvodu údržby databáze.
Po dobu odstávky nebude možné:
- odesílat logy
- prohlížet výsledky
MD,
'en' => <<<MD
## Planned maintenance
The system will be unavailable on **15 Dec 2025** between *22:0023:00 CET* due to database maintenance.
During this window it will not be possible to:
- submit logs
- view results
MD,
],
'excerpt' => [
'cs' => 'Plánovaná odstávka systému 15. 12. 2025 mezi 22:0023:00 CET.',
'en' => 'Planned downtime on 15 Dec 2025 between 22:0023:00 CET.',
],
'is_published' => false,
'published_at' => now()->subDays(3),
],
[
'title' => [
'cs' => 'Testovací novinka pouze v češtině',
'en' => 'Test news item (Czech only translation)',
],
'content' => [
'cs' => <<<MD
## Testovací novinka
Tato novinka slouží k otestování zobrazení lokalizovaného obsahu v uživatelském rozhraní.
MD,
'en' => <<<MD
## Test news item
This news entry is used to test localized content rendering in the user interface.
MD,
],
'excerpt' => [
'cs' => 'Testovací novinka pro ověření lokalizace.',
'en' => 'Test news item for localization checks.',
],
'is_published' => false,
'published_at' => now()->subDay(),
],
];
foreach ($items as $item) {
// slug vygenerujeme z českého titulku (nebo fallback na en)
$titleForSlug = $item['title']['cs']
?? $item['title']['en']
?? reset($item['title']);
$slug = Str::slug($titleForSlug);
$news = new NewsPost();
// lokalizované položky nastavíme explicitně jako překlady
$news->setTranslations('title', $item['title']);
$news->setTranslations('content', $item['content']);
$news->setTranslations('excerpt', $item['excerpt']);
$news->slug = $slug;
$news->is_published = $item['is_published'];
$news->published_at = $item['published_at'];
$news->author_id = null; // nebo nějaký konkrétní user_id
$news->save();
}
}
}