mirror of
https://github.com/HolgerHatGarKeineNode/einundzwanzig-nostr.git
synced 2025-12-14 06:36:46 +00:00
✨ refactor(pleb-table, project-support): clean up concatenation, improve filter handling, and optimize layout
This commit is contained in:
@@ -81,8 +81,7 @@ final class EinundzwanzigPlebTable extends PowerGridComponent
|
|||||||
->add(
|
->add(
|
||||||
'payment',
|
'payment',
|
||||||
fn(EinundzwanzigPleb $model)
|
fn(EinundzwanzigPleb $model)
|
||||||
=> $model->paymentEvents->count() > 0 && $model->paymentEvents->first(
|
=> $model->paymentEvents->count() > 0 && $model->paymentEvents->first()->paid ? '<span class="text-green-500">'.number_format(
|
||||||
)->paid ? '<span class="text-green-500">' . number_format(
|
|
||||||
$model->paymentEvents->first()->amount,
|
$model->paymentEvents->first()->amount,
|
||||||
0,
|
0,
|
||||||
',',
|
',',
|
||||||
|
|||||||
@@ -14,9 +14,10 @@ use function Livewire\Volt\{state, mount, on, computed, updated};
|
|||||||
|
|
||||||
name('association.projectSupport');
|
name('association.projectSupport');
|
||||||
|
|
||||||
|
state(['activeFilter' => 'all',])->url();
|
||||||
|
|
||||||
state([
|
state([
|
||||||
'search' => '',
|
'search' => '',
|
||||||
'activeFilter' => 'all',
|
|
||||||
'projects' => fn()
|
'projects' => fn()
|
||||||
=> \App\Models\ProjectProposal::query()
|
=> \App\Models\ProjectProposal::query()
|
||||||
->with([
|
->with([
|
||||||
@@ -80,6 +81,10 @@ $confirmDelete = function ($id) {
|
|||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$setFilter = function ($filter) {
|
||||||
|
$this->activeFilter = $filter;
|
||||||
|
};
|
||||||
|
|
||||||
$delete = function ($id) {
|
$delete = function ($id) {
|
||||||
\App\Models\ProjectProposal::query()->findOrFail($id)->delete();
|
\App\Models\ProjectProposal::query()->findOrFail($id)->delete();
|
||||||
$this->projects = \App\Models\ProjectProposal::query()
|
$this->projects = \App\Models\ProjectProposal::query()
|
||||||
@@ -132,25 +137,25 @@ $delete = function ($id) {
|
|||||||
<div class="mb-5">
|
<div class="mb-5">
|
||||||
<ul class="flex flex-wrap -m-1">
|
<ul class="flex flex-wrap -m-1">
|
||||||
<li class="m-1">
|
<li class="m-1">
|
||||||
<button wire:click="$set('activeFilter', 'all')"
|
<button wire:click="setFilter('all')"
|
||||||
class="inline-flex items-center justify-center text-sm font-medium leading-5 rounded-full px-3 py-1 border {{ $activeFilter === 'all' ? 'border-transparent shadow-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-800' : 'border-gray-200 dark:border-gray-700/60 hover:border-gray-300 dark:hover:border-gray-600 shadow-sm bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400' }} transition">
|
class="inline-flex items-center justify-center text-sm font-medium leading-5 rounded-full px-3 py-1 border {{ $activeFilter === 'all' ? 'border-transparent shadow-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-800' : 'border-gray-200 dark:border-gray-700/60 hover:border-gray-300 dark:hover:border-gray-600 shadow-sm bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400' }} transition">
|
||||||
Alle
|
Alle
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="m-1">
|
<li class="m-1">
|
||||||
<button wire:click="$set('activeFilter', 'new')"
|
<button wire:click="setFilter('new')"
|
||||||
class="inline-flex items-center justify-center text-sm font-medium leading-5 rounded-full px-3 py-1 border {{ $activeFilter === 'new' ? 'border-transparent shadow-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-800' : 'border-gray-200 dark:border-gray-700/60 hover:border-gray-300 dark:hover:border-gray-600 shadow-sm bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400' }} transition">
|
class="inline-flex items-center justify-center text-sm font-medium leading-5 rounded-full px-3 py-1 border {{ $activeFilter === 'new' ? 'border-transparent shadow-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-800' : 'border-gray-200 dark:border-gray-700/60 hover:border-gray-300 dark:hover:border-gray-600 shadow-sm bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400' }} transition">
|
||||||
Neu
|
Neu
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="m-1">
|
<li class="m-1">
|
||||||
<button wire:click="$set('activeFilter', 'supported')"
|
<button wire:click="setFilter('supported')"
|
||||||
class="inline-flex items-center justify-center text-sm font-medium leading-5 rounded-full px-3 py-1 border {{ $activeFilter === 'supported' ? 'border-transparent shadow-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-800' : 'border-gray-200 dark:border-gray-700/60 hover:border-gray-300 dark:hover:border-gray-600 shadow-sm bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400' }} transition">
|
class="inline-flex items-center justify-center text-sm font-medium leading-5 rounded-full px-3 py-1 border {{ $activeFilter === 'supported' ? 'border-transparent shadow-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-800' : 'border-gray-200 dark:border-gray-700/60 hover:border-gray-300 dark:hover:border-gray-600 shadow-sm bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400' }} transition">
|
||||||
Unterstützt
|
Unterstützt
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="m-1">
|
<li class="m-1">
|
||||||
<button wire:click="$set('activeFilter', 'rejected')"
|
<button wire:click="setFilter('rejected')"
|
||||||
class="inline-flex items-center justify-center text-sm font-medium leading-5 rounded-full px-3 py-1 border {{ $activeFilter === 'rejected' ? 'border-transparent shadow-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-800' : 'border-gray-200 dark:border-gray-700/60 hover:border-gray-300 dark:hover:border-gray-600 shadow-sm bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400' }} transition">
|
class="inline-flex items-center justify-center text-sm font-medium leading-5 rounded-full px-3 py-1 border {{ $activeFilter === 'rejected' ? 'border-transparent shadow-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-800' : 'border-gray-200 dark:border-gray-700/60 hover:border-gray-300 dark:hover:border-gray-600 shadow-sm bg-white dark:bg-gray-800 text-gray-500 dark:text-gray-400' }} transition">
|
||||||
Abgelehnt
|
Abgelehnt
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
Reference in New Issue
Block a user