Files
einundzwanzig-verein/resources/views/pages/association/election/index.blade.php
fsociety 5623671bad feat: update layout and fix bugs in election related pages
This commit includes various updates to improve the layout and user experience on election related pages. It includes changes in grid layout for better responsiveness, updates to text sizing and wrapping for better readability, and fixes bugs related to null values and unique key generation.
2024-09-29 22:27:07 +02:00

55 lines
1.5 KiB
PHP

<?php
use Livewire\Volt\Component;
use function Livewire\Volt\computed;
use function Livewire\Volt\mount;
use function Livewire\Volt\state;
use function Livewire\Volt\with;
use function Livewire\Volt\updated;
use function Laravel\Folio\{middleware};
use function Laravel\Folio\name;
use function Livewire\Volt\{on};
name('association.elections');
state(['elections' => []]);
mount(function () {
$this->elections = \App\Models\Election::query()
->get()
->toArray();
});
updated([
]);
$saveElection = function ($index) {
$election = $this->elections[$index];
$electionModel = \App\Models\Election::find($election['id']);
$electionModel->candidates = $election['candidates'];
$electionModel->save();
};
?>
<x-layouts.app title="{{ __('Wahlen') }}">
@volt
<div class="relative flex h-full">
@foreach($elections as $election)
<div class="w-full sm:w-1/3 p-4">
<div class="shadow-lg rounded-lg overflow-hidden">
{{ $election['year'] }}
</div>
<div class="shadow-lg rounded-lg overflow-hidden">
<x-textarea wire:model="elections.{{ $loop->index }}.candidates" rows="25" label="candidates" placeholder="" />
</div>
<div class="py-2">
<x-button label="Speichern" wire:click="saveElection({{ $loop->index }})"/>
</div>
</div>
@endforeach
</div>
@endvolt
</x-layouts.app>