From c7d15cef2464b6916f03b65572c6e878fcc06477 Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode <123783602+HolgerHatGarKeineNode@users.noreply.github.com> Date: Mon, 18 May 2026 22:15:26 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20UI:=20Add=20vote=20ribbon=20for?= =?UTF-8?q?=20board=20members=20to=20highlight=20pending=20voting=20decisi?= =?UTF-8?q?ons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/ProjectProposal.php | 5 +++++ resources/css/components/custom.css | 17 +++++++++++++++++ .../views/components/project-card.blade.php | 12 +++++++++++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/app/Models/ProjectProposal.php b/app/Models/ProjectProposal.php index f358e0b..6073213 100644 --- a/app/Models/ProjectProposal.php +++ b/app/Models/ProjectProposal.php @@ -103,4 +103,9 @@ class ProjectProposal extends Model implements HasMedia { return $this->hasMany(Vote::class); } + + public function hasVoteFrom(EinundzwanzigPleb $pleb): bool + { + return $this->votes->contains('einundzwanzig_pleb_id', $pleb->id); + } } diff --git a/resources/css/components/custom.css b/resources/css/components/custom.css index e547e84..596f14c 100644 --- a/resources/css/components/custom.css +++ b/resources/css/components/custom.css @@ -143,4 +143,21 @@ color: #f43658; border: none; } + + /** + * Board Vote Ribbon + * + * Diagonal ribbon in der oberen rechten Ecke einer Card, das + * Vorstandsmitglieder auf ausstehende Voting-Entscheidungen hinweist. + */ + .vote-ribbon { + @apply pointer-events-none absolute top-6 -right-12 z-10 w-44 rotate-45 + bg-gradient-to-r from-amber-400 via-orange-500 to-orange-600 + py-1.5 text-center text-[10px] font-bold uppercase tracking-[0.18em] text-white + shadow-[0_4px_12px_rgba(249,115,22,0.45)] ring-1 ring-white/20; + } + + .vote-ribbon__label { + @apply drop-shadow-[0_1px_1px_rgba(0,0,0,0.35)]; + } } diff --git a/resources/views/components/project-card.blade.php b/resources/views/components/project-card.blade.php index c38764b..fbd5a0e 100644 --- a/resources/views/components/project-card.blade.php +++ b/resources/views/components/project-card.blade.php @@ -15,11 +15,21 @@ 'approved' => ($approveCount === 3 || $disapproveCount !== 3), default => true, }; + + $showBoardVoteRibbon = $currentPleb + && $currentPleb->isBoardMember() + && ! $project->sats_paid + && ! $project->hasVoteFrom($currentPleb); @endphp @if($shouldDisplay) - + + @if($showBoardVoteRibbon) +
+ Jetzt voten +
+ @endif @if(!$project->sats_paid)