mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
Shift automatically applies the Laravel coding style - which uses the PSR-12 coding style as a base with some minor additions. You may customize the code style applied by configuring [Pint](https://laravel.com/docs/pint), [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer), or [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) for your project root. For more information on customizing the code style applied by Shift, [watch this short video](https://laravelshift.com/videos/shift-code-style).
64 lines
1.6 KiB
PHP
64 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Livewire\BookCase;
|
|
|
|
use App\Models\Country;
|
|
use App\Models\User;
|
|
use Livewire\Component;
|
|
use RalphJSmit\Laravel\SEO\Support\SEOData;
|
|
|
|
class HighscoreTable extends Component
|
|
{
|
|
public Country $country;
|
|
|
|
public bool $viewingModal = false;
|
|
|
|
public ?User $modal = null;
|
|
|
|
public function render()
|
|
{
|
|
return view('livewire.book-case.highscore-table', [
|
|
'plebs' => User::query()
|
|
->with([
|
|
'reputations',
|
|
])
|
|
->withCount([
|
|
'orangePills',
|
|
])
|
|
->where('reputation', '>', 0)
|
|
->orderByDesc('reputation')
|
|
->get(),
|
|
])->layout('layouts.app', [
|
|
'SEOData' => new SEOData(
|
|
title: __('Highscore Table'),
|
|
description: __('Hall of fame of our honorable plebs'),
|
|
image: asset('img/highscore_table_screenshot.png'),
|
|
),
|
|
]);
|
|
}
|
|
|
|
public function toggleChat()
|
|
{
|
|
$this->emit('toggleHighscoreChat');
|
|
}
|
|
|
|
public function openModal($id)
|
|
{
|
|
$this->modal = User::query()
|
|
->with([
|
|
'orangePills',
|
|
'reputations',
|
|
])
|
|
->where('id', $id)
|
|
->first();
|
|
|
|
$this->viewingModal = true;
|
|
}
|
|
|
|
public function resetModal()
|
|
{
|
|
$this->modal = null;
|
|
$this->viewingModal = false;
|
|
}
|
|
}
|