New design
This commit is contained in:
46
app/Enums/Parties.php
Normal file
46
app/Enums/Parties.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum Parties: string
|
||||
{
|
||||
case SOCIAL_DEMOCRATS = 'S';
|
||||
case CENTER_PARTY = 'C';
|
||||
case LIBERALS = 'L';
|
||||
case GREEN_PARTY = 'MP';
|
||||
case LEFT_PARTY = 'V';
|
||||
case MODERATES = 'M';
|
||||
case CHRIST_DEMOCRATS = 'KD';
|
||||
case SWEDEN_DEMOCRATS = 'SD';
|
||||
case OTHER = '-';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SOCIAL_DEMOCRATS => 'Socialdemokraterna',
|
||||
self::CENTER_PARTY => 'Centerpartiet',
|
||||
self::LIBERALS => 'Liberalerna',
|
||||
self::GREEN_PARTY => 'Miljöpartiet',
|
||||
self::LEFT_PARTY => 'Vänsterpartiet',
|
||||
self::MODERATES => 'Moderaterna',
|
||||
self::CHRIST_DEMOCRATS => 'Kristdemokraterna',
|
||||
self::SWEDEN_DEMOCRATS => 'Sverigedemokraterna',
|
||||
self::OTHER => 'Partilös',
|
||||
};
|
||||
}
|
||||
|
||||
public function logo(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SOCIAL_DEMOCRATS => 'https://bilder.riksdagen.se/publishedmedia/cj3cmk5s63xb1ihzlalj/Symbol_Socialdemokraterna__134px.png',
|
||||
self::CENTER_PARTY => 'https://bilder.riksdagen.se/publishedmedia/t1cxmh6vk2olrgltat9j/Symbol_Centern_125.png',
|
||||
self::LIBERALS => 'https://bilder.riksdagen.se/publishedmedia/ve2gtm25br1jr8t8c3mo/L_partilogga.png',
|
||||
self::GREEN_PARTY => 'https://bilder.riksdagen.se/publishedmedia/zzxff0abnuukdggtqboe/MP_partilogga.png',
|
||||
self::LEFT_PARTY => 'https://bilder.riksdagen.se/publishedmedia/9ktrv8a5x75lo7zm90pn/Symbol_Va-nsterpartiet_121px.png',
|
||||
self::MODERATES => 'https://bilder.riksdagen.se/publishedmedia/hxssexpfw01wb5uh3nfp/Symbol_Moderaterna_125px.png',
|
||||
self::CHRIST_DEMOCRATS => 'https://bilder.riksdagen.se/publishedmedia/sjyk5gmvg3rkxmy2x84o/KD_partilogga.png',
|
||||
self::SWEDEN_DEMOCRATS => 'https://bilder.riksdagen.se/publishedmedia/aog7hfhgv94tykktrkpy/Sveriedemokraterna_132px.png',
|
||||
self::OTHER => '-',
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Enums;
|
||||
|
||||
enum PartyEnum: string
|
||||
{
|
||||
case SOCIAL_DEMOCRATS = 'S';
|
||||
case CENTER_PARTY = 'C';
|
||||
case LIBERALS = 'L';
|
||||
case GREEN_PARTY = 'MP';
|
||||
case LEFT_PARTY = 'V';
|
||||
case MODERATES = 'M';
|
||||
case CHRIST_DEMOCRATS = 'KD';
|
||||
case SWEDEN_DEMOCRATS = 'SD';
|
||||
|
||||
public function label(): string
|
||||
{
|
||||
return match ($this) {
|
||||
self::SOCIAL_DEMOCRATS => 'Socialdemokraterna',
|
||||
self::CENTER_PARTY => 'Centerpartiet',
|
||||
self::LIBERALS => 'Liberalerna',
|
||||
self::GREEN_PARTY => 'Miljöpartiet',
|
||||
self::LEFT_PARTY => 'Vänsterpartiet',
|
||||
self::MODERATES => 'Moderaterna',
|
||||
self::CHRIST_DEMOCRATS => 'Kristdemokraterna',
|
||||
self::SWEDEN_DEMOCRATS => 'Sverigedemokraterna',
|
||||
};
|
||||
}
|
||||
}
|
||||
13
app/Livewire/HomePage.php
Normal file
13
app/Livewire/HomePage.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Livewire;
|
||||
|
||||
use Livewire\Component;
|
||||
|
||||
class HomePage extends Component
|
||||
{
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.home-page');
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ namespace App\Livewire\Person;
|
||||
|
||||
use Livewire\Component;
|
||||
use App\Services\RiksdagenService;
|
||||
use App\Enums\PartyEnum;
|
||||
use App\Enums\Parties;
|
||||
|
||||
class Search extends Component
|
||||
{
|
||||
@@ -16,7 +16,7 @@ class Search extends Component
|
||||
|
||||
public function mount()
|
||||
{
|
||||
$this->parties = PartyEnum::cases();
|
||||
$this->parties = collect(Parties::cases())->sortBy(fn($party) => $party->label())->toArray();
|
||||
}
|
||||
|
||||
public function search()
|
||||
|
||||
@@ -6,7 +6,9 @@ use Livewire\Component;
|
||||
use App\Services\RiksdagenService;
|
||||
use Livewire\Attributes\Computed;
|
||||
use Asantibanez\LivewireCharts\Models\PieChartModel;
|
||||
use Livewire\Attributes\Lazy;
|
||||
|
||||
#[Lazy()]
|
||||
class Show extends Component
|
||||
{
|
||||
public $personId;
|
||||
@@ -132,8 +134,9 @@ class Show extends Component
|
||||
$statistics = $this->votingStatistics;
|
||||
|
||||
$pieChart = (new PieChartModel())
|
||||
->setTitle('Röststatistik för ' . $this->selectedYear)
|
||||
->setAnimated(true);
|
||||
->setTitle('Voteringsstatistik för ' . $this->selectedYear)
|
||||
->setAnimated(true)
|
||||
->withDataLabels();
|
||||
|
||||
$colors = [
|
||||
'Ja' => '#10b981', // Green
|
||||
@@ -150,6 +153,11 @@ class Show extends Component
|
||||
return $pieChart;
|
||||
}
|
||||
|
||||
public function placeholder()
|
||||
{
|
||||
return view('livewire.person.show-skeleton');
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.person.show');
|
||||
|
||||
Reference in New Issue
Block a user