diff --git a/app/Livewire/Association/Election/Show.php b/app/Livewire/Association/Election/Show.php index b6e0185..19d4ee9 100644 --- a/app/Livewire/Association/Election/Show.php +++ b/app/Livewire/Association/Election/Show.php @@ -4,7 +4,9 @@ namespace App\Livewire\Association\Election; use App\Models\EinundzwanzigPleb; use App\Models\Election; +use App\Models\Profile; use App\Support\NostrAuth; +use Livewire\Attributes\Computed; use Livewire\Component; use swentel\nostr\Event\Event as NostrEvent; use swentel\nostr\Filter\Filter; @@ -39,12 +41,149 @@ final class Show extends Component public bool $isNotClosed = true; + public array $positions = [ + 'presidency' => ['icon' => 'fa-crown', 'title' => 'Präsidium'], + 'board' => ['icon' => 'fa-users', 'title' => 'Vizepräsidium'], + ]; + protected $listeners = [ 'nostrLoggedIn' => 'handleNostrLoggedIn', 'nostrLoggedOut' => 'handleNostrLoggedOut', 'echo:votes,.newVote' => 'handleNewVote', ]; + #[Computed] + public function loadedEvents(): array + { + return collect($this->events) + ->map(function ($event) { + $profile = Profile::query() + ->where('pubkey', $event['pubkey']) + ->first() + ?->toArray(); + $votedFor = Profile::query() + ->where('pubkey', str($event['content'])->before(',')->toString()) + ->first() + ?->toArray(); + + return [ + 'id' => $event['id'], + 'kind' => $event['kind'], + 'content' => $event['content'], + 'pubkey' => $event['pubkey'], + 'tags' => $event['tags'], + 'created_at' => $event['created_at'], + 'profile' => $profile, + 'votedFor' => $votedFor, + 'type' => str($event['content'])->after(',')->toString(), + ]; + }) + ->sortByDesc('created_at') + ->unique(fn ($event) => $event['pubkey'].$event['type']) + ->values() + ->toArray(); + } + + #[Computed] + public function loadedBoardEvents(): array + { + return collect($this->boardEvents) + ->map(function ($event) { + $profile = Profile::query() + ->where('pubkey', $event['pubkey']) + ->first() + ?->toArray(); + $votedFor = Profile::query() + ->where('pubkey', str($event['content'])->before(',')->toString()) + ->first() + ?->toArray(); + + return [ + 'id' => $event['id'], + 'kind' => $event['kind'], + 'content' => $event['content'], + 'pubkey' => $event['pubkey'], + 'tags' => $event['tags'], + 'created_at' => $event['created_at'], + 'profile' => $profile, + 'votedFor' => $votedFor, + 'type' => str($event['content'])->after(',')->toString(), + ]; + }) + ->sortByDesc('created_at') + ->values() + ->toArray(); + } + + #[Computed] + public function electionConfig(): array + { + $loadedEvents = $this->loadedEvents(); + + return collect(json_decode($this->election->candidates, true, 512, JSON_THROW_ON_ERROR)) + ->map(function ($c) use ($loadedEvents) { + $candidates = Profile::query() + ->whereIn('pubkey', $c['c']) + ->get() + ->map(function ($p) use ($loadedEvents, $c) { + $votedClass = ' bg-green-500/20 text-green-700'; + $notVotedClass = ' bg-gray-500/20 text-gray-100'; + $hasVoted = $loadedEvents + ->filter(fn ($e) => $e['type'] === $c['type'] && $e['pubkey'] === $this->currentPubkey) + ->firstWhere('votedFor.pubkey', $p->pubkey); + + return [ + 'pubkey' => $p->pubkey, + 'name' => $p->name, + 'picture' => $p->picture, + 'votedClass' => $hasVoted ? $votedClass : $notVotedClass, + ]; + }); + + return [ + 'type' => $c['type'], + 'c' => $c['c'], + 'candidates' => $candidates, + ]; + }) + ->toArray(); + } + + #[Computed] + public function electionConfigBoard(): array + { + $loadedBoardEvents = $this->loadedBoardEvents(); + + return collect(json_decode($this->election->candidates, true, 512, JSON_THROW_ON_ERROR)) + ->map(function ($c) use ($loadedBoardEvents) { + $candidates = Profile::query() + ->whereIn('pubkey', $c['c']) + ->get() + ->map(function ($p) use ($loadedBoardEvents, $c) { + $votedClass = ' bg-green-500/20 text-green-700'; + $notVotedClass = ' bg-gray-500/20 text-gray-100'; + $hasVoted = $loadedBoardEvents + ->filter(fn ($e) => $e['type'] === $c['type'] && $e['pubkey'] === $this->currentPubkey) + ->firstWhere('votedFor.pubkey', $p->pubkey); + + return [ + 'pubkey' => $p->pubkey, + 'name' => $p->name, + 'picture' => $p->picture, + 'votedClass' => $hasVoted ? $votedClass : $notVotedClass, + 'hasVoted' => $hasVoted, + ]; + }); + + return [ + 'type' => $c['type'], + 'c' => $c['c'], + 'candidates' => $candidates, + ]; + }) + ->toArray(); + } + public function mount(Election $election): void { $this->election = $election; diff --git a/app/Livewire/Changelog.php b/app/Livewire/Changelog.php index 46e63bb..8104dcc 100644 --- a/app/Livewire/Changelog.php +++ b/app/Livewire/Changelog.php @@ -2,6 +2,7 @@ namespace App\Livewire; +use Illuminate\Support\Facades\Process; use Livewire\Component; final class Changelog extends Component @@ -10,7 +11,9 @@ final class Changelog extends Component public function mount(): void { - $output = shell_exec('git log -n1000 --pretty=format:"%H|%s|%an|%ad" --date=format:"%Y-%m-%d %H:%M:%S"'); + $process = Process::fromShellCommandline('git log -n1000 --pretty=format:"%H|%s|%an|%ad" --date=format:"%Y-%m-%d %H:%M:%S"'); + $process->run(); + $output = $process->getOutput(); $lines = explode("\n", trim($output)); $entries = []; diff --git a/resources/views/livewire/association/election/admin.blade.php b/resources/views/livewire/association/election/admin.blade.php index b3d1411..4b7a27a 100644 --- a/resources/views/livewire/association/election/admin.blade.php +++ b/resources/views/livewire/association/election/admin.blade.php @@ -1,12 +1,12 @@
- ['icon' => 'fa-crown', 'title' => 'Präsidium'], 'board' => ['icon' => 'fa-users', 'title' => 'Vorstandsmitglieder'], ]; - ?> + @endphp - + @if($isAllowed)
@@ -16,16 +16,16 @@

- Wahl des Vorstands year); ?> + Wahl des Vorstands {{ $election->year }}

- + @endphp
@@ -33,11 +33,11 @@ class="flex flex-col bg-white dark:bg-gray-800 shadow-sm rounded-xl">

+ class="fa-sharp-duotone fa-solid {{ $president['icon'] }} w-5 h-5 fill-current text-white mr-4">{{ $president['title'] }}

- +
@@ -46,11 +46,11 @@ class="flex flex-col bg-white dark:bg-gray-800 shadow-sm rounded-xl">

+ class="fa-sharp-duotone fa-solid {{ $board['icon'] }} w-5 h-5 fill-current text-white mr-4">{{ $board['title'] }}

- +
@@ -59,7 +59,7 @@
- + @else
@@ -70,5 +70,5 @@
- + @endif
diff --git a/resources/views/livewire/association/election/index.blade.php b/resources/views/livewire/association/election/index.blade.php index f1e0f03..856d5cd 100644 --- a/resources/views/livewire/association/election/index.blade.php +++ b/resources/views/livewire/association/election/index.blade.php @@ -1,23 +1,23 @@
- + @if($isAllowed)
- -
+ @foreach($elections as $election) +
- + {{ $election['year'] }}
-
- +
- + @endforeach
- + @else
@@ -28,6 +28,6 @@
- + @endif
diff --git a/resources/views/livewire/association/election/show.blade.php b/resources/views/livewire/association/election/show.blade.php index 7f0f33d..732b96a 100644 --- a/resources/views/livewire/association/election/show.blade.php +++ b/resources/views/livewire/association/election/show.blade.php @@ -2,69 +2,11 @@ :seo="new \RalphJSmit\Laravel\SEO\Support\SEOData(title: 'Wahlen ' . $election->year, description: 'Wahlen des Vereins im Jahr ' . $election->year)" >
- + @if($isAllowed)
- ['icon' => 'fa-crown', 'title' => 'Präsidium'], - 'board' => ['icon' => 'fa-users', 'title' => 'Vizepräsidium'], - ]; - $loadedEvents = collect($events) - ->map(function($event) { - $profile = \App\Models\Profile::query() - ->where('pubkey', $event['pubkey']) - ->first() - ?->toArray(); - $votedFor = \App\Models\Profile::query() - ->where('pubkey', str($event['content'])->before(',')->toString()) - ->first() - ?->toArray(); - - return [ - 'id' => $event['id'], - 'kind' => $event['kind'], - 'content' => $event['content'], - 'pubkey' => $event['pubkey'], - 'tags' => $event['tags'], - 'created_at' => $event['created_at'], - 'profile' => $profile, - 'votedFor' => $votedFor, - 'type' => str($event['content'])->after(',')->toString(), - ]; - }) - ->sortByDesc('created_at') - ->unique(fn ($event) => $event['pubkey'] . $event['type']) - ->values(); - $loadedBoardEvents = collect($boardEvents) - ->map(function($event) { - $profile = \App\Models\Profile::query() - ->where('pubkey', $event['pubkey']) - ->first() - ?->toArray(); - $votedFor = \App\Models\Profile::query() - ->where('pubkey', str($event['content'])->before(',')->toString()) - ->first() - ?->toArray(); - - return [ - 'id' => $event['id'], - 'kind' => $event['kind'], - 'content' => $event['content'], - 'pubkey' => $event['pubkey'], - 'tags' => $event['tags'], - 'created_at' => $event['created_at'], - 'profile' => $profile, - 'votedFor' => $votedFor, - 'type' => str($event['content'])->after(',')->toString(), - ]; - }) - ->sortByDesc('created_at') - ->values(); - ?> - - +
@@ -154,11 +96,11 @@ Plebs
    - + @foreach($plebs as $pleb)
  • + class="text-sm font-semibold text-gray-800 dark:text-gray-100 truncate">{{ $pleb['profile']['name'] ?? $pleb['pubkey'] }}
    + :color="\App\Enums\AssociationStatus::from($pleb['association_status'])->color()" + :label="\App\Enums\AssociationStatus::from($pleb['association_status'])->label()"/>
    - $p): ?> - filter(fn ($e) => $e['pubkey'] === $pleb['pubkey'])->firstWhere('type', $name); - ?> + @foreach($positions as $name => $p) + @php + $votedResult = $this->loadedEvents->filter(fn ($e) => $e['pubkey'] === $pleb['pubkey'])->firstWhere('type', $name); + @endphp
    - - - + wire:key="p_{{ $name }}"> + @if($votedResult) + + @endif
    - + @endforeach
- + @endforeach
@@ -204,64 +146,7 @@ - - - candidates, true, 512, JSON_THROW_ON_ERROR)) - ->map(function ($c) use ($loadedEvents, $currentPubkey) { - $candidates = \App\Models\Profile::query() - ->whereIn('pubkey', $c['c']) - ->get() - ->map(function ($p) use ($loadedEvents, $c, $currentPubkey) { - $votedClass = ' bg-green-500/20 text-green-700'; - $notVotedClass = ' bg-gray-500/20 text-gray-100'; - $hasVoted = $loadedEvents - ->filter(fn($e) => $e['type'] === $c['type'] && $e['pubkey'] === $currentPubkey) - ->firstWhere('votedFor.pubkey', $p->pubkey); - - return [ - 'pubkey' => $p->pubkey, - 'name' => $p->name, - 'picture' => $p->picture, - 'votedClass' => $hasVoted ? $votedClass : $notVotedClass, - ]; - }); - - return [ - 'type' => $c['type'], - 'c' => $c['c'], - 'candidates' => $candidates, - ]; - }); - $electionConfigBoard = collect(json_decode($election->candidates, true, 512, JSON_THROW_ON_ERROR)) - ->map(function ($c) use ($loadedBoardEvents, $currentPubkey) { - $candidates = \App\Models\Profile::query() - ->whereIn('pubkey', $c['c']) - ->get() - ->map(function ($p) use ($loadedBoardEvents, $c, $currentPubkey) { - $votedClass = ' bg-green-500/20 text-green-700'; - $notVotedClass = ' bg-gray-500/20 text-gray-100'; - $hasVoted = $loadedBoardEvents - ->filter(fn($e) => $e['type'] === $c['type'] && $e['pubkey'] === $currentPubkey) - ->firstWhere('votedFor.pubkey', $p->pubkey); - - return [ - 'pubkey' => $p->pubkey, - 'name' => $p->name, - 'picture' => $p->picture, - 'votedClass' => $hasVoted ? $votedClass : $notVotedClass, - 'hasVoted' => $hasVoted, - ]; - }); - - return [ - 'type' => $c['type'], - 'c' => $c['c'], - 'candidates' => $candidates, - ]; - }); - ?> - + @if($currentPubkey)
@@ -272,12 +157,12 @@
- + @if($isNotClosed) - + label="Die Wahl ist geöffnet bis zum {{ $election->end_time?->timezone('Europe/Berlin')->format('d.m.Y H:i') }}"/> + @else - + @endif
Wahl des Präsidiums -
- +
-

+

{{ $positions['presidency']['title'] }}

- filter(fn ($event) => $event['pubkey'] === $currentPubkey)->firstWhere('type', 'presidency'); - ?> - - Du hast "" gewählt - + @php + $votedResult = $this->loadedEvents->filter(fn ($event) => $event['pubkey'] === $currentPubkey)->firstWhere('type', 'presidency'); + $votedName = $votedResult['votedFor']['name'] ?? 'error'; + @endphp + @if($votedResult) + Du hast "{{ $votedName }}" gewählt + @else Wähle deinen Kandidaten für das Präsidium. - + @endif
- firstWhere('type', 'presidency')['candidates'] ?? [] as $c): ?> + @foreach($this->electionConfig->firstWhere('type', 'presidency')['candidates'] ?? [] as $c)
wire:click="vote('', 'presidency')" - - class=" cursor-pointer text-xs inline-flex font-medium rounded-full text-center px-2.5 py-1"> + @if($isNotClosed)wire:click="vote('{{ $c['pubkey'] }}', 'presidency')" + @endif + class="{{ $c['votedClass'] }} cursor-pointer text-xs inline-flex font-medium rounded-full text-center px-2.5 py-1">
<?php echo e($c['name']); ?> - + alt="{{ $c['name'] }}"/> + {{ $c['name'] }}
- + @endforeach
@@ -378,21 +260,21 @@
- firstWhere('type', 'board')['candidates'] ?? [] as $c): ?> + @foreach($this->electionConfigBoard->firstWhere('type', 'board')['candidates'] ?? [] as $c)
wire:click="vote('', 'board', true)" - - class=" cursor-pointer text-xs inline-flex font-medium rounded-full text-center px-2.5 py-1"> + @if($isNotClosed && !$c['hasVoted'])wire:click="vote('{{ $c['pubkey'] }}', 'board', true)" + @endif + class="{{ $c['votedClass'] }} cursor-pointer text-xs inline-flex font-medium rounded-full text-center px-2.5 py-1">
<?php echo e($c['name']); ?> - + alt="{{ $c['name'] }}"/> + {{ $c['name'] }}
- + @endforeach
@@ -408,7 +290,7 @@

Präsidium Log count()); ?> + class="text-gray-400 dark:text-gray-500 font-medium">{{ count($this->loadedEvents) }}

@@ -442,29 +324,29 @@ - + @foreach($this->loadedEvents as $event)
+ class="font-medium">{{ Str::limit($event['id'], 10) }}
-
+
{{ $event['kind'] }}
-
+
{{ $event['profile']['name'] ?? '' }}
-
+
{{ $event['created_at'] }}
-
+
{{ $event['votedFor']['name'] ?? '' }}
-
+
{{ $event['type'] }}
- + @endforeach
@@ -475,7 +357,7 @@

Board Log count()); ?> + class="text-gray-400 dark:text-gray-500 font-medium">{{ count($this->loadedBoardEvents) }}

@@ -509,29 +391,29 @@ - + @foreach($this->loadedBoardEvents as $event)
+ class="font-medium">{{ Str::limit($event['id'], 10) }}
-
+
{{ $event['kind'] }}
-
+
{{ $event['profile']['name'] ?? '' }}
-
+
{{ $event['created_at'] }}
-
+
{{ $event['votedFor']['name'] ?? '' }}
-
+
{{ $event['type'] }}
- + @endforeach
@@ -542,10 +424,10 @@
- + @endif
- + @else
@@ -556,7 +438,7 @@
- + @endif
diff --git a/resources/views/livewire/association/members/admin.blade.php b/resources/views/livewire/association/members/admin.blade.php index 6017995..8ff8ad3 100644 --- a/resources/views/livewire/association/members/admin.blade.php +++ b/resources/views/livewire/association/members/admin.blade.php @@ -1,10 +1,10 @@
- + @if($isAllowed)
- + @else
@@ -15,6 +15,6 @@
- + @endif
diff --git a/resources/views/livewire/association/news/index.blade.php b/resources/views/livewire/association/news/index.blade.php index 2182b8b..713ef04 100644 --- a/resources/views/livewire/association/news/index.blade.php +++ b/resources/views/livewire/association/news/index.blade.php @@ -2,7 +2,7 @@ :seo="new \RalphJSmit\Laravel\SEO\Support\SEOData(title: 'News', description: 'Die News des Vereins.')" >
- + @if($isAllowed)
@@ -26,7 +26,6 @@
-
@@ -37,17 +36,17 @@ Menu
@@ -60,27 +59,25 @@
- - - -
<?php echo e($post->einundzwanzigPleb->profile?->name); ?> + alt="{{ $post->einundzwanzigPleb->profile?->name }}">

- name); ?> + {{ $post->name }}

- description); ?> + {{ $post->description }}

@@ -95,14 +92,14 @@ - einundzwanzigPleb->profile->name); ?> + {{ $post->einundzwanzigPleb->profile->name }}
created_at->format('d.m.Y')); ?> + class="text-gray-500">{{ $post->created_at->format('d.m.Y') }}
@@ -114,21 +111,21 @@ :href="url()->temporarySignedRoute('dl', now()->addMinutes(30), ['media' => $post->getFirstMedia('pdf')])" label="Öffnen" primary icon="cloud-arrow-down"/> - + @if($canEdit) - + @endif - - + @empty

Keine News vorhanden.

- + @endforelse @@ -145,43 +142,36 @@
- + @if($canEdit)
News anlegen
-
- - getBag($__errorProps ?? 'default'); -if ($__bag->has($__errorArgs)) : -if (isset($message)) { $__messageOriginal = $message; } -$message = $__bag->first($__errorArgs); ?> - - -
-
- -
-
- -
-
- -
+
+ + @error('file') + {{ $message }} + @enderror +
+
+ +
+
+ +
+
+ +
- + @endif
@@ -199,7 +189,7 @@ unset($__errorArgs, $__bag); ?> - + @else
@@ -212,6 +202,6 @@ unset($__errorArgs, $__bag); ?>
- + @endif diff --git a/resources/views/livewire/association/profile.blade.php b/resources/views/livewire/association/profile.blade.php index 561d880..ef209a5 100644 --- a/resources/views/livewire/association/profile.blade.php +++ b/resources/views/livewire/association/profile.blade.php @@ -199,10 +199,10 @@
-
- -
+
+ +
Statuten @@ -238,9 +238,10 @@
- + Ich informiere mich selbst in der News Sektion und gebe keine E-Mail Adresse raus. @@ -249,9 +250,9 @@ @if($showEmail)
- - + +
diff --git a/resources/views/livewire/association/project-support/form/create.blade.php b/resources/views/livewire/association/project-support/form/create.blade.php index 71838e7..73ae201 100644 --- a/resources/views/livewire/association/project-support/form/create.blade.php +++ b/resources/views/livewire/association/project-support/form/create.blade.php @@ -1,102 +1,74 @@ - +
- + @if($isAllowed)
-
-
-
+
+
+

+ Projektförderung anlegen +

+
+
- -
- getMimeType())->contains(['image/jpeg','image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp'])): ?> -
{{ __('Preview') }}:
- - - getFirstMediaUrl('main')): ?> -
{{ __('Current picture') }}:
- - +
+ +
+
+

+ Formular +

+
+
+ + @error('form.name') + {{ $message }} + @enderror
- - getBag($__errorProps ?? 'default'); -if ($__bag->has($__errorArgs)) : -if (isset($message)) { $__messageOriginal = $message; } -$message = $__bag->first($__errorArgs); ?> - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - getBag($__errorProps ?? 'default'); -if ($__bag->has($__errorArgs)) : -if (isset($message)) { $__messageOriginal = $message; } -$message = $__bag->first($__errorArgs); ?> - - -
- - - - - - - - - - - +
+ + @error('form.description') + {{ $message }} + @enderror +
+ +
- + + +
+
+

+ Information +

+

+ Fülle das Formular aus, um eine neue Projektförderung anzulegen. +

+
+
+
- + @else

- Projekt-Unterstützung

+ Projektförderung +

- Du bist nicht berechtigt, die Projekt-Unterstützungen zu bearbeiten. + Du bist nicht berechtigt, eine Projektförderung anzulegen.

- + @endif
diff --git a/resources/views/livewire/association/project-support/form/edit.blade.php b/resources/views/livewire/association/project-support/form/edit.blade.php index 7837aff..f7770cb 100644 --- a/resources/views/livewire/association/project-support/form/edit.blade.php +++ b/resources/views/livewire/association/project-support/form/edit.blade.php @@ -1,111 +1,74 @@ - +
- + @if($isAllowed)
-
-
-
+
+
+

+ Projektförderung bearbeiten +

+
+
- -
- getMimeType())->contains(['image/jpeg','image/jpg', 'image/png', 'image/gif', 'image/svg+xml', 'image/webp'])): ?> -
{{ __('Preview') }}:
- - - getFirstMediaUrl('main')): ?> -
{{ __('Current picture') }}:
- - +
+ +
+
+

+ Formular +

+
+
+ + @error('form.name') + {{ $message }} + @enderror
- - getBag($__errorProps ?? 'default'); -if ($__bag->has($__errorArgs)) : -if (isset($message)) { $__messageOriginal = $message; } -$message = $__bag->first($__errorArgs); ?> - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- - getBag($__errorProps ?? 'default'); -if ($__bag->has($__errorArgs)) : -if (isset($message)) { $__messageOriginal = $message; } -$message = $__bag->first($__errorArgs); ?> - - -
- - - - - - - - - - - +
+ + @error('form.description') + {{ $message }} + @enderror +
+ +
- + + +
+
+

+ Information +

+

+ Bearbeite die Projektförderung und speichere deine Änderungen. +

+
+
+
- + @else

- Projekt-Unterstützung

+ Projektförderung +

- Du bist nicht berechtigt, die Projekt-Unterstützungen zu bearbeiten. + Du bist nicht berechtigt, die Projektförderung zu bearbeiten.

- + @endif
diff --git a/resources/views/livewire/association/project-support/show.blade.php b/resources/views/livewire/association/project-support/show.blade.php index 250a7b9..7f6e13c 100644 --- a/resources/views/livewire/association/project-support/show.blade.php +++ b/resources/views/livewire/association/project-support/show.blade.php @@ -1,157 +1,85 @@ + :seo="new \RalphJSmit\Laravel\SEO\Support\SEOData(title: 'Projektförderung ' . $project->name, description: $project->description)" +>
- accepted || $isAllowed): ?> -
- - -
- - -
-
- - - - - Zurück zur Übersicht - + @if($isAllowed) +
+
+
+

+ {{ $project->name }} +

+
+ @if($project->status === 'pending') + + @elseif($project->status === 'active') + + @else + + @endif
-
- created_at->translatedFormat('d.m.Y')); ?> -
-
- -

- name); ?> -

- - description; ?> - -
- -
- -
- - User 04 - -
Eingereicht von -
einundzwanzigPleb?->profile->name ?? str($projectProposal->einundzwanzigPleb->npub)->limit(32)); ?>
-
-
- -
- -
- Webseite -
-
- support_in_sats, 0, ',', '.')); ?> Sats -
-
-
- -
- Picture -
- -
-
- - accepted): ?> - -
- - -
- -
- - -
- -
-

Du hast bereits abgestimmt.

-
- -
- - -
-
-
- Zustimmungen des Vorstands (where('value', 1))); ?>) -
-
-
- - -
-
-
- Ablehnungen des Vorstands (where('value', 0))); ?>) -
-
-
- - -
-
-
- Zustimmungen der übrigen Mitglieder (where('value', 1))); ?>) -
-
-
- - -
-
-
- Ablehnungen der übrigen Mitglieder (where('value', 0))); ?>) -
-
-
- -
- -
+
+ +
+
+

+ Details +

+
+
+
Status
+
+ @if($project->status === 'pending') + Ausstehend + @elseif($project->status === 'active') + Aktiv + @else + Archiviert + @endif +
+
+
+
Erstellt am
+
+ {{ $project->created_at->format('d.m.Y') }} +
+
+
+
+
+ + +
+
+

+ Beschreibung +

+

+ {{ $project->description ?? 'Keine Beschreibung' }} +

+
+
+
- + @else

- Projekt-Unterstützung + Projektförderung

- Du bist nicht berechtigt, die Projekt-Unterstützungen einzusehen. + Du bist nicht berechtigt, die Projektförderung einzusehen.

- + @endif
diff --git a/resources/views/livewire/meetups/mockup.blade.php b/resources/views/livewire/meetups/mockup.blade.php index 8071c70..17a0312 100644 --- a/resources/views/livewire/meetups/mockup.blade.php +++ b/resources/views/livewire/meetups/mockup.blade.php @@ -23,9 +23,7 @@
Beschreibung: {{ $event['content'] }}
-
- @dump($event) -
+