From 6aa05e47f351694d60fe6cf2e48951fe1c5f5d63 Mon Sep 17 00:00:00 2001 From: vk Date: Fri, 13 Feb 2026 16:02:03 +0100 Subject: [PATCH] News Design (vibe-kanban 220425f3) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nutze das aktuelle pencil Design und setze die News Seite 100% genauso um. Validiere deine Ergebnisse mit playwright. Überschreibe tailwindcss und Flux UI Styles wenn nötig. --- app/Enums/Emoji.php | 9 + app/Enums/NewsCategory.php | 22 +- resources/css/components/custom.css | 62 +++++ .../views/livewire/association/news.blade.php | 234 +++++++++--------- 4 files changed, 205 insertions(+), 122 deletions(-) create mode 100644 app/Enums/Emoji.php diff --git a/app/Enums/Emoji.php b/app/Enums/Emoji.php new file mode 100644 index 0000000..adf913a --- /dev/null +++ b/app/Enums/Emoji.php @@ -0,0 +1,9 @@ + self::fromName($name) ->icon(), + 'emoji' => self::fromName($name) + ->emoji(), ] ) ->values() diff --git a/resources/css/components/custom.css b/resources/css/components/custom.css index eddb882..e547e84 100644 --- a/resources/css/components/custom.css +++ b/resources/css/components/custom.css @@ -81,4 +81,66 @@ .brand-icon { @apply w-8 h-8 rounded-lg bg-orange-primary flex items-center justify-center; } + + /** + * News Category Badges + * + * Farbige Kategorie-Badges für News-Karten. + * Jede Farbe hat einen transparenten Hintergrund mit passender Textfarbe. + */ + .news-category-badge { + @apply bg-bg-elevated text-text-secondary border border-border-default; + } + + .news-category-badge--amber { + background-color: #FF5C0033; + color: #FF5C00; + border: none; + } + + .news-category-badge--zinc { + @apply bg-bg-elevated text-text-secondary border border-border-default; + } + + .news-category-badge--cyan { + background-color: #06b6d433; + color: #06b6d4; + border: none; + } + + .news-category-badge--orange { + background-color: #FF5C0033; + color: #FF5C00; + border: none; + } + + .news-category-badge--green { + background-color: #22c55e33; + color: #22c55e; + border: none; + } + + .news-category-badge--blue { + background-color: #3b82f633; + color: #3b82f6; + border: none; + } + + .news-category-badge--purple { + background-color: #7c3aed33; + color: #7c3aed; + border: none; + } + + .news-category-badge--emerald { + background-color: #10b98133; + color: #10b981; + border: none; + } + + .news-category-badge--rose { + background-color: #f4365833; + color: #f43658; + border: none; + } } diff --git a/resources/views/livewire/association/news.blade.php b/resources/views/livewire/association/news.blade.php index 25ed66e..0cfb97a 100644 --- a/resources/views/livewire/association/news.blade.php +++ b/resources/views/livewire/association/news.blade.php @@ -142,109 +142,89 @@ class extends Component {
@if($isAllowed) -
+
-
- -
- News -
+
+ +

News

- -
- +
+ @foreach(\App\Enums\NewsCategory::selectOptions() as $category) - - - {{ $category['label'] }} - + {{ $category['emoji'] }} {{ $category['label'] }} + @endforeach
-
+
@forelse($this->filteredNews as $post) - - -
- + +
+ {{ $post->einundzwanzigPleb->profile?->name ?? 'Anonym' }} -
-
- - {{ $post->einundzwanzigPleb?->profile?->name ?? str($post->einundzwanzigPleb?->npub)->limit(32) }} - - - {{ $post->created_at->format('d.m.Y') }} - +
+
+ {{ $post->einundzwanzigPleb?->profile?->name ?? str($post->einundzwanzigPleb?->npub)->limit(32) }} + {{ $post->created_at->format('d.m.Y') }} +
+
+
- - - {{ $post->category->label() }} -
- -
- {{ $post->name }} + +
+

{{ $post->name }}

@if($post->description) - {{ $post->description }} +

{{ $post->description }}

@endif
- -
+ +
@if($post->getFirstMedia('pdf')) - + PDF öffnen - + @endif @if($canEdit) - +
- + Löschen - + @@ -265,56 +245,61 @@ class extends Component {
+
@endif
- +
@empty - +
@if($selectedCategory !== null) - - Keine News in dieser Kategorie - Versuche eine andere Kategorie oder zeige alle an. - + +

Keine News in dieser Kategorie

+

Versuche eine andere Kategorie oder zeige alle an.

+ @else - - Noch keine News vorhanden - Hier werden zukünftige Neuigkeiten angezeigt. + +

Noch keine News vorhanden

+

Hier werden zukünftige Neuigkeiten angezeigt.

@endif
- +
@endforelse
@if($canEdit) -
-
- - News anlegen - +
+
+
+

News anlegen

- - - - + +
+ + + + + - @if ($file) - - - - - - @endif + @if ($file) + + + + + + @endif +
- - Kategorie + +
+ - +
- - Titel + +
+ - +
- - Beschreibung - optional + +
+
+ + optional +
- +
- + + + + + @if(NostrAuth::check()) + @php + $currentPleb = \App\Models\EinundzwanzigPleb::query()->where('pubkey', NostrAuth::pubkey())->first(); + @endphp + @if($currentPleb) +
+ {{ $currentPleb->profile?->name ?? 'Anonym' }} + {{ $currentPleb->profile?->name ?? str($currentPleb->npub)->limit(32) }} +
+ @endif + @endif +
@endif