diff --git a/app/Livewire/Actions/Api/SearchMedia.php b/app/Actions/Api/SearchMedia.php similarity index 97% rename from app/Livewire/Actions/Api/SearchMedia.php rename to app/Actions/Api/SearchMedia.php index 87f51cc..637a76b 100644 --- a/app/Livewire/Actions/Api/SearchMedia.php +++ b/app/Actions/Api/SearchMedia.php @@ -1,6 +1,6 @@ table('documents')->find($id); + + if (! $document) { + return false; + } + + try { + Storage::disk('prezet')->delete("content/{$document->slug}.md"); + + DB::connection('prezet')->table('document_tags')->where('document_id', $id)->delete(); + + $imageDirectory = "images/{$document->slug}"; + + if (Storage::disk('prezet')->exists($imageDirectory)) { + Storage::disk('prezet')->deleteDirectory($imageDirectory); + } + + Document::where('id', $id)->delete(); + + DocumentView::where('document_id', $id)->delete(); + + Artisan::call('prezet:index'); + + return true; + } catch (Exception) { + return false; + } + } +} diff --git a/app/Actions/Blog/StoreBlogPost.php b/app/Actions/Blog/StoreBlogPost.php new file mode 100644 index 0000000..b18ae29 --- /dev/null +++ b/app/Actions/Blog/StoreBlogPost.php @@ -0,0 +1,38 @@ + $images + */ + public function handle(UploadedFile $file, array $images = []): void + { + $file->storeAs( + path: '/content', + name: $file->getClientOriginalName(), + options: ['disk' => 'prezet'] + ); + + Artisan::call('prezet:index'); + + $document = Document::query()->latest()->first(); + + if ($document && $images) { + foreach ($images as $image) { + $image->storeAs( + path: "images/{$document->slug}", + name: $image->getClientOriginalName(), + options: ['disk' => 'prezet'] + ); + } + + Artisan::call('prezet:index'); + } + } +} diff --git a/app/Actions/Logout.php b/app/Actions/Logout.php new file mode 100644 index 0000000..7a964ad --- /dev/null +++ b/app/Actions/Logout.php @@ -0,0 +1,17 @@ +logout(); + + Session::invalidate(); + Session::regenerateToken(); + } +} diff --git a/app/Console/Commands/CheckTwitchLiveStatus.php b/app/Console/Commands/CheckTwitchLiveStatus.php index 4a17c5a..b449168 100644 --- a/app/Console/Commands/CheckTwitchLiveStatus.php +++ b/app/Console/Commands/CheckTwitchLiveStatus.php @@ -2,8 +2,8 @@ namespace App\Console\Commands; +use App\Actions\Api\Twitch\RefreshToken; use App\Enums\ConnectionType; -use App\Livewire\Actions\Api\Twitch\RefreshToken; use App\Models\User; use Illuminate\Console\Command; use Illuminate\Support\Facades\DB; @@ -13,6 +13,7 @@ class CheckTwitchLiveStatus extends Command { protected $signature = 'twitch:check-live'; + protected $description = 'Check if spacelampsix is live on Twitch and notify Discord'; public function handle(): int @@ -31,6 +32,7 @@ public function handle(): int if (! $stream) { $this->info('spacelampsix is not currently live.'); + return self::SUCCESS; } @@ -38,6 +40,7 @@ public function handle(): int if ($this->alreadyNotified($startedAt)) { $this->info('Already notified for this stream session.'); + return self::SUCCESS; } @@ -45,6 +48,7 @@ public function handle(): int $this->recordNotification($startedAt); $this->info('Discord notification sent!'); + return self::SUCCESS; } @@ -52,7 +56,7 @@ private function getStreamData(string $token): ?array { $response = Http::withHeaders([ 'Client-ID' => config('services.twitch.client_id'), - 'Authorization' => 'Bearer ' . $token, + 'Authorization' => 'Bearer '.$token, ])->get('https://api.twitch.tv/helix/streams', [ 'user_login' => 'spacelampsix', ]); @@ -87,6 +91,6 @@ private function notifyDiscord(array $stream): void ], ]); - Log::channel('discord-internal-updates')->info("Discord notified of live stream successfully. Have a great stream!"); + Log::channel('discord-internal-updates')->info('Discord notified of live stream successfully. Have a great stream!'); } -} \ No newline at end of file +} diff --git a/app/Console/Commands/RefreshTwitchAccessToken.php b/app/Console/Commands/RefreshTwitchAccessToken.php index 8f2216d..817cae8 100644 --- a/app/Console/Commands/RefreshTwitchAccessToken.php +++ b/app/Console/Commands/RefreshTwitchAccessToken.php @@ -2,7 +2,7 @@ namespace App\Console\Commands; -use App\Livewire\Actions\Api\Twitch\RefreshToken; +use App\Actions\Api\Twitch\RefreshToken; use App\Models\User; use Illuminate\Console\Command; use Illuminate\Support\Facades\Log; @@ -30,6 +30,6 @@ public function handle() { (new RefreshToken)->handle(User::first()); - Log::channel('discord-internal-updates')->info("Twitch Token updated automatically."); + Log::channel('discord-internal-updates')->info('Twitch Token updated automatically.'); } } diff --git a/app/Console/Commands/UpdateArtistImages.php b/app/Console/Commands/UpdateArtistImages.php index c95fa69..bec9991 100644 --- a/app/Console/Commands/UpdateArtistImages.php +++ b/app/Console/Commands/UpdateArtistImages.php @@ -2,9 +2,9 @@ namespace App\Console\Commands; +use App\Actions\Api\Spotify\RefreshToken; use App\Enums\ConnectionType; use App\Enums\MediaType; -use App\Livewire\Actions\Api\Spotify\RefreshToken; use App\Models\Media; use App\Models\User; use GuzzleHttp\Client; @@ -34,7 +34,7 @@ public function handle() 'GET', "https://api.spotify.com/v1/artists?ids={$ids}", [ 'headers' => [ - 'Authorization' => 'Bearer '. $user->connections->firstWhere('type_id', ConnectionType::SPOTIFY->value)->token, + 'Authorization' => 'Bearer '.$user->connections->firstWhere('type_id', ConnectionType::SPOTIFY->value)->token, ], ] ); @@ -59,4 +59,4 @@ public function handle() return Command::SUCCESS; } -} \ No newline at end of file +} diff --git a/app/Livewire/Blog.php b/app/Livewire/Blog.php index 0e089c2..aca6dea 100644 --- a/app/Livewire/Blog.php +++ b/app/Livewire/Blog.php @@ -2,12 +2,12 @@ namespace App\Livewire; +use App\Actions\Blog\DestroyBlogPost; +use App\Actions\Blog\StoreBlogPost; use App\Livewire\Traits\TableHelpers; use App\Models\DocumentView; use Flux\Flux; -use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; -use Illuminate\Support\Facades\Storage; use Livewire\Attributes\Computed; use Livewire\Attributes\Validate; use Livewire\Component; @@ -36,29 +36,7 @@ public function store() { $this->validate(); - $this->file->storeAs( - path: '/content', - name: $this->file->getClientOriginalName(), - options: ['disk' => 'prezet'] - ); - - /* index in prezet disk */ - Artisan::call('prezet:index'); - - $document = Document::query()->latest()->first(); - - if ($document && $this->images) { - foreach ($this->images as $image) { - $image->storeAs( - path: "images/{$document->slug}", - name: $image->getClientOriginalName(), - options: ['disk' => 'prezet'] - ); - } - - /* index in prezet disk again (for the images) */ - Artisan::call('prezet:index'); - } + (new StoreBlogPost)->handle($this->file, $this->images); $this->file = null; $this->images = []; @@ -68,38 +46,13 @@ public function store() public function destroy($id) { - $document = DB::connection('prezet')->table('documents')->find($id); - - if ($document) { - try { - /* delete the file */ - Storage::disk('prezet')->delete("content/{$document->slug}.md"); - - /* delete the tags */ - DB::connection('prezet')->table('document_tags')->where('document_id', $id)->delete(); + $success = (new DestroyBlogPost)->handle($id); - /* delete images if there are any */ - $imageDirectory = "images/{$document->slug}"; - - if (Storage::disk('prezet')->exists($imageDirectory)) { - Storage::disk('prezet')->deleteDirectory($imageDirectory); - } - - /* delete the reference */ - Document::where('id', $id)->delete(); - - /* delete the views */ - DocumentView::where('document_id', $id)->delete(); - - /* Index the sqlite db */ - Artisan::call('prezet:index'); - - } catch (Exception) { - Flux::toast(variant: 'danger', text: 'Blog Post could not be deleted.', duration: 3000); - } - - Flux::toast(variant: 'success', text: 'Blog Post deleted.', duration: 3000); - } + Flux::toast( + variant: $success ? 'success' : 'danger', + text: $success ? 'Blog Post deleted.' : 'Blog Post could not be deleted.', + duration: 3000, + ); } #[Computed] diff --git a/app/Livewire/Forms/LoginForm.php b/app/Livewire/Forms/LoginForm.php index ddab874..f87bdd1 100644 --- a/app/Livewire/Forms/LoginForm.php +++ b/app/Livewire/Forms/LoginForm.php @@ -2,8 +2,8 @@ namespace App\Livewire\Forms; -use App\Livewire\Actions\Api\Spotify\RefreshToken as SpotifyRefreshToken; -use App\Livewire\Actions\Api\Twitch\RefreshToken as TwitchRefreshToken; +use App\Actions\Api\Spotify\RefreshToken as SpotifyRefreshToken; +use App\Actions\Api\Twitch\RefreshToken as TwitchRefreshToken; use Illuminate\Auth\Events\Lockout; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\RateLimiter; @@ -26,7 +26,7 @@ class LoginForm extends Form /** * Attempt to authenticate the request's credentials. * - * @throws \Illuminate\Validation\ValidationException + * @throws ValidationException */ public function authenticate(): void { diff --git a/app/Livewire/Media/Games/Edit.php b/app/Livewire/Media/Games/Edit.php index 258f5ed..309602e 100644 --- a/app/Livewire/Media/Games/Edit.php +++ b/app/Livewire/Media/Games/Edit.php @@ -2,8 +2,8 @@ namespace App\Livewire\Media\Games; +use App\Actions\Api\Twitch\SearchCategories; use App\Enums\MediaType; -use App\Livewire\Actions\Api\Twitch\SearchCategories; use App\Livewire\Forms\MediaForm; use App\Livewire\Traits\TableHelpers; use App\Models\Media; @@ -39,7 +39,8 @@ public function games() return Media::query() ->where('type_id', MediaType::VIDEO_GAME->value) ->when($this->search != '', fn (Builder $query) => $query->where('name', 'LIKE', "%$this->search%")) - ->paginate(10); + ->tap(fn ($query) => $this->sortBy ? $query->orderBy($this->sortBy, $this->sortDirection) : $query) + ->paginate($this->perPage); } public function searchCategories() diff --git a/app/Livewire/Media/Games/Show.php b/app/Livewire/Media/Games/Show.php index a570947..d1faafd 100644 --- a/app/Livewire/Media/Games/Show.php +++ b/app/Livewire/Media/Games/Show.php @@ -14,65 +14,30 @@ class Show extends Component use WithoutUrlPagination; use WithPagination; - public $favoritesPage = 1; - - public $activePage = 1; - - public $backlogPage = 1; - - public $playedBeforePage = 1; - - public $totalCompletionPage = 1; - public function render() { return view('livewire.pages.media.games.show', [ 'favorites' => Media::query() ->where('type_id', MediaType::VIDEO_GAME->value) ->where('is_favorite', true) - ->paginate(18, ['*'], 'favorites', $this->favoritesPage), + ->paginate(27, pageName: 'favorites'), 'current' => Media::query() ->where('type_id', MediaType::VIDEO_GAME->value) ->where('is_active', true) - ->paginate(18, ['*'], 'currentlyPlaying', $this->activePage), + ->paginate(27, pageName: 'currentlyPlaying'), 'backlog' => Media::query() ->where('type_id', MediaType::VIDEO_GAME->value) ->where('in_backlog', true) - ->paginate(18, ['*'], 'backlog', $this->backlogPage), + ->paginate(27, pageName: 'backlog'), 'playedBefore' => Media::query() ->where('type_id', MediaType::VIDEO_GAME->value) ->where('is_completed', true) - ->paginate(18, ['*'], 'completed', $this->playedBeforePage), + ->paginate(27, pageName: 'playedBefore'), 'completed' => Media::query() ->where('type_id', MediaType::VIDEO_GAME->value) ->where('data->total_completion', true) - ->paginate(18, ['*'], 'total_completion', $this->totalCompletionPage), + ->paginate(27, pageName: 'totalCompletion'), 'panel' => Panel::where('name', 'video_games')->first()->content, ]); } - - public function setFavoritesPage($page) - { - $this->favoritesPage = $page; - } - - public function setActivePage($page) - { - $this->activePage = $page; - } - - public function setBacklogPage($page) - { - $this->backlogPage = $page; - } - - public function setPlayedBeforePage($page) - { - $this->playedBeforePage = $page; - } - - public function setCompletedPage($page) - { - $this->totalCompletionPage = $page; - } } diff --git a/app/Livewire/Media/Movies/Edit.php b/app/Livewire/Media/Movies/Edit.php index 4590181..b595f93 100644 --- a/app/Livewire/Media/Movies/Edit.php +++ b/app/Livewire/Media/Movies/Edit.php @@ -2,8 +2,8 @@ namespace App\Livewire\Media\Movies; +use App\Actions\Api\SearchMedia; use App\Enums\MediaType; -use App\Livewire\Actions\Api\SearchMedia; use App\Livewire\Forms\MediaForm; use App\Livewire\Traits\TableHelpers; use App\Models\Media; @@ -37,7 +37,8 @@ public function medias() return Media::query() ->where('type_id', MediaType::MOVIE->value) ->when($this->search != '', fn (Builder $query) => $query->where('name', 'LIKE', "%$this->search%")) - ->paginate(10); + ->tap(fn ($query) => $this->sortBy ? $query->orderBy($this->sortBy, $this->sortDirection) : $query) + ->paginate($this->perPage); } public function searchMedia() diff --git a/app/Livewire/Media/Movies/Show.php b/app/Livewire/Media/Movies/Show.php index c97467b..24cb807 100644 --- a/app/Livewire/Media/Movies/Show.php +++ b/app/Livewire/Media/Movies/Show.php @@ -14,43 +14,22 @@ class Show extends Component use WithoutUrlPagination; use WithPagination; - public $favoritesPage = 1; - - public $backlogPage = 1; - - public $completedPage = 1; - public function render() { return view('livewire.pages.media.movies.show', [ 'favorites' => Media::query() ->where('type_id', MediaType::MOVIE->value) ->where('is_favorite', true) - ->paginate(9, ['*'], 'favorites', $this->favoritesPage), + ->paginate(27, pageName: 'favorites'), 'backlog' => Media::query() ->where('type_id', MediaType::MOVIE->value) ->where('in_backlog', true) - ->paginate(9, ['*'], 'backlog', $this->backlogPage), + ->paginate(27, pageName: 'backlog'), 'completed' => Media::query() ->where('type_id', MediaType::MOVIE->value) ->where('is_completed', true) - ->paginate(9, ['*'], 'completed', $this->completedPage), + ->paginate(27, pageName: 'completed'), 'panel' => Panel::where('name', 'movies')->first()->content, ]); } - - public function setFavoritesPage($page) - { - $this->favoritesPage = $page; - } - - public function setBacklogPage($page) - { - $this->backlogPage = $page; - } - - public function setCompletedPage($page) - { - $this->completedPage = $page; - } } diff --git a/app/Livewire/Media/Music/Edit.php b/app/Livewire/Media/Music/Edit.php index b4e704a..0c05fca 100644 --- a/app/Livewire/Media/Music/Edit.php +++ b/app/Livewire/Media/Music/Edit.php @@ -2,9 +2,9 @@ namespace App\Livewire\Media\Music; +use App\Actions\Api\Spotify\SearchArtist; +use App\Actions\Api\Spotify\SearchTrack; use App\Enums\MediaType; -use App\Livewire\Actions\Api\Spotify\SearchArtist; -use App\Livewire\Actions\Api\Spotify\SearchTrack; use App\Livewire\Traits\TableHelpers; use App\Models\Media; use Flux\Flux; @@ -24,8 +24,15 @@ class Edit extends Component public string $searchTracks = ''; + public int $perPageArtists = 10; + public ?array $searchedMedia = []; + public function updatedPerPageArtists(): void + { + $this->resetPage(); + } + public function render() { return view('livewire.pages.media.music.edit'); @@ -37,7 +44,8 @@ public function artists() return Media::query() ->where('type_id', MediaType::ARTIST) ->when($this->searchArtists != '', fn (Builder $query) => $query->where('name', 'LIKE', "%$this->searchArtists%")) - ->paginate(10); + ->tap(fn ($query) => $this->sortBy ? $query->orderBy($this->sortBy, $this->sortDirection) : $query) + ->paginate($this->perPageArtists); } #[Computed] @@ -46,7 +54,8 @@ public function tracks() return Media::query() ->where('type_id', MediaType::TRACK) ->when($this->searchTracks != '', fn (Builder $query) => $query->where('name', 'LIKE', "%$this->searchTracks%")) - ->paginate(10); + ->tap(fn ($query) => $this->sortBy ? $query->orderBy($this->sortBy, $this->sortDirection) : $query) + ->paginate($this->perPage); } public function searchSpotify(MediaType $mediaType) diff --git a/app/Livewire/Media/Music/Show.php b/app/Livewire/Media/Music/Show.php index 97e34f6..8ce2af9 100644 --- a/app/Livewire/Media/Music/Show.php +++ b/app/Livewire/Media/Music/Show.php @@ -14,30 +14,16 @@ class Show extends Component use WithoutUrlPagination; use WithPagination; - public $artistsPage = 1; - - public $tracksPage = 1; - public function render() { return view('livewire.pages.media.music.show', [ 'favoriteArtists' => Media::query() ->where('type_id', MediaType::ARTIST->value) - ->paginate(10, ['*'], 'artists', $this->artistsPage), + ->paginate(20, pageName: 'artists'), 'favoriteTracks' => Media::query() ->where('type_id', MediaType::TRACK->value) - ->paginate(6, ['*'], 'tracks', $this->tracksPage), + ->paginate(9, pageName: 'tracks'), 'panel' => Panel::where('name', 'music')->first()->content, ]); } - - public function setArtistsPage($page) - { - $this->artistsPage = $page; - } - - public function setTracksPage($page) - { - $this->tracksPage = $page; - } } diff --git a/app/Livewire/Media/Tv/Edit.php b/app/Livewire/Media/Tv/Edit.php index d780635..f2411f2 100644 --- a/app/Livewire/Media/Tv/Edit.php +++ b/app/Livewire/Media/Tv/Edit.php @@ -2,8 +2,8 @@ namespace App\Livewire\Media\Tv; +use App\Actions\Api\SearchMedia; use App\Enums\MediaType; -use App\Livewire\Actions\Api\SearchMedia; use App\Livewire\Forms\MediaForm; use App\Livewire\Traits\TableHelpers; use App\Models\Media; @@ -37,7 +37,8 @@ public function medias() return Media::query() ->where('type_id', MediaType::TV->value) ->when($this->search != '', fn (Builder $query) => $query->where('name', 'LIKE', "%$this->search%")) - ->paginate(10); + ->tap(fn ($query) => $this->sortBy ? $query->orderBy($this->sortBy, $this->sortDirection) : $query) + ->paginate($this->perPage); } public function searchMedia() diff --git a/app/Livewire/Media/Tv/Show.php b/app/Livewire/Media/Tv/Show.php index 876c3e6..55cf975 100644 --- a/app/Livewire/Media/Tv/Show.php +++ b/app/Livewire/Media/Tv/Show.php @@ -14,54 +14,26 @@ class Show extends Component use WithoutUrlPagination; use WithPagination; - public $favoritesPage = 1; - - public $activePage = 1; - - public $backlogPage = 1; - - public $completedPage = 1; - public function render() { return view('livewire.pages.media.tv.show', [ 'favorites' => Media::query() ->where('type_id', MediaType::TV->value) ->where('is_favorite', true) - ->paginate(9, ['*'], 'favorites', $this->favoritesPage), + ->paginate(27, pageName: 'favorites'), 'current' => Media::query() ->where('type_id', MediaType::TV->value) ->where('is_active', true) - ->paginate(9, ['*'], 'currentlyWatching', $this->activePage), + ->paginate(27, pageName: 'currentlyWatching'), 'backlog' => Media::query() ->where('type_id', MediaType::TV->value) ->where('in_backlog', true) - ->paginate(9, ['*'], 'backlog', $this->backlogPage), + ->paginate(27, pageName: 'backlog'), 'completed' => Media::query() ->where('type_id', MediaType::TV->value) ->where('is_completed', true) - ->paginate(9, ['*'], 'completed', $this->completedPage), + ->paginate(27, pageName: 'completed'), 'panel' => Panel::where('name', 'tv')->first()->content, ]); } - - public function setFavoritesPage($page) - { - $this->favoritesPage = $page; - } - - public function setActivePage($page) - { - $this->activePage = $page; - } - - public function setBacklogPage($page) - { - $this->backlogPage = $page; - } - - public function setCompletedPage($page) - { - $this->completedPage = $page; - } } diff --git a/app/Livewire/Traits/TableHelpers.php b/app/Livewire/Traits/TableHelpers.php index eef2691..914a0b5 100644 --- a/app/Livewire/Traits/TableHelpers.php +++ b/app/Livewire/Traits/TableHelpers.php @@ -10,7 +10,9 @@ trait TableHelpers public $sortDirection = 'desc'; - public function sort($column) + public int $perPage = 25; + + public function sort($column): void { if ($this->sortBy === $column) { $this->sortDirection = $this->sortDirection === 'asc' ? 'desc' : 'asc'; @@ -19,4 +21,9 @@ public function sort($column) $this->sortDirection = 'asc'; } } + + public function updatedPerPage(): void + { + $this->resetPage(); + } } diff --git a/composer.lock b/composer.lock index 8a95068..0e79c07 100644 --- a/composer.lock +++ b/composer.lock @@ -62,16 +62,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.371.3", + "version": "3.376.4", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "d300ec1c861e52dc8f17ca3d75dc754da949f065" + "reference": "fe7773b1e069a45aa74e09cdd65219af6039ff6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d300ec1c861e52dc8f17ca3d75dc754da949f065", - "reference": "d300ec1c861e52dc8f17ca3d75dc754da949f065", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fe7773b1e069a45aa74e09cdd65219af6039ff6b", + "reference": "fe7773b1e069a45aa74e09cdd65219af6039ff6b", "shasum": "" }, "require": { @@ -92,12 +92,12 @@ "aws/aws-php-sns-message-validator": "~1.0", "behat/behat": "~3.0", "composer/composer": "^2.7.8", - "dms/phpunit-arraysubset-asserts": "^0.4.0", + "dms/phpunit-arraysubset-asserts": "^v0.5.0", "doctrine/cache": "~1.4", "ext-dom": "*", "ext-openssl": "*", "ext-sockets": "*", - "phpunit/phpunit": "^9.6", + "phpunit/phpunit": "^10.0", "psr/cache": "^2.0 || ^3.0", "psr/simple-cache": "^2.0 || ^3.0", "sebastian/comparator": "^1.2.3 || ^4.0 || ^5.0", @@ -153,9 +153,9 @@ "support": { "forum": "https://github.com/aws/aws-sdk-php/discussions", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.371.3" + "source": "https://github.com/aws/aws-sdk-php/tree/3.376.4" }, - "time": "2026-02-27T19:05:40+00:00" + "time": "2026-04-06T18:18:41+00:00" }, { "name": "benbjurstrom/laravel-sitemap-lite", @@ -732,16 +732,16 @@ }, { "name": "firebase/php-jwt", - "version": "v7.0.3", + "version": "v7.0.5", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "28aa0694bcfdfa5e2959c394d5a1ee7a5083629e" + "reference": "47ad26bab5e7c70ae8a6f08ed25ff83631121380" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/28aa0694bcfdfa5e2959c394d5a1ee7a5083629e", - "reference": "28aa0694bcfdfa5e2959c394d5a1ee7a5083629e", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/47ad26bab5e7c70ae8a6f08ed25ff83631121380", + "reference": "47ad26bab5e7c70ae8a6f08ed25ff83631121380", "shasum": "" }, "require": { @@ -749,6 +749,7 @@ }, "require-dev": { "guzzlehttp/guzzle": "^7.4", + "phpfastcache/phpfastcache": "^9.2", "phpspec/prophecy-phpunit": "^2.0", "phpunit/phpunit": "^9.5", "psr/cache": "^2.0||^3.0", @@ -789,9 +790,9 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v7.0.3" + "source": "https://github.com/firebase/php-jwt/tree/v7.0.5" }, - "time": "2026-02-25T22:16:40+00:00" + "time": "2026-04-01T20:38:03+00:00" }, { "name": "fruitcake/php-cors", @@ -1137,16 +1138,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.8.0", + "version": "2.9.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "21dc724a0583619cd1652f673303492272778051" + "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/21dc724a0583619cd1652f673303492272778051", - "reference": "21dc724a0583619cd1652f673303492272778051", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884", + "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884", "shasum": "" }, "require": { @@ -1162,6 +1163,7 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "http-interop/http-factory-tests": "0.9.0", + "jshttp/mime-db": "1.54.0.1", "phpunit/phpunit": "^8.5.44 || ^9.6.25" }, "suggest": { @@ -1233,7 +1235,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.8.0" + "source": "https://github.com/guzzle/psr7/tree/2.9.0" }, "funding": [ { @@ -1249,7 +1251,7 @@ "type": "tidelift" } ], - "time": "2025-08-23T21:21:41+00:00" + "time": "2026-03-10T16:41:02+00:00" }, { "name": "guzzlehttp/uri-template", @@ -1557,16 +1559,16 @@ }, { "name": "laravel/framework", - "version": "v12.53.0", + "version": "v12.56.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "f57f035c0d34503d9ff30be76159bb35a003cd1f" + "reference": "dac16d424b59debb2273910dde88eb7050a2a709" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/f57f035c0d34503d9ff30be76159bb35a003cd1f", - "reference": "f57f035c0d34503d9ff30be76159bb35a003cd1f", + "url": "https://api.github.com/repos/laravel/framework/zipball/dac16d424b59debb2273910dde88eb7050a2a709", + "reference": "dac16d424b59debb2273910dde88eb7050a2a709", "shasum": "" }, "require": { @@ -1587,7 +1589,7 @@ "guzzlehttp/uri-template": "^1.0", "laravel/prompts": "^0.3.0", "laravel/serializable-closure": "^1.3|^2.0", - "league/commonmark": "^2.7", + "league/commonmark": "^2.8.1", "league/flysystem": "^3.25.1", "league/flysystem-local": "^3.25.1", "league/uri": "^7.5.1", @@ -1682,7 +1684,7 @@ "orchestra/testbench-core": "^10.9.0", "pda/pheanstalk": "^5.0.6|^7.0.0", "php-http/discovery": "^1.15", - "phpstan/phpstan": "^2.0", + "phpstan/phpstan": "^2.1.41", "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1", "predis/predis": "^2.3|^3.0", "resend/resend-php": "^0.10.0|^1.0", @@ -1775,20 +1777,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-02-24T14:35:15+00:00" + "time": "2026-03-26T14:51:54+00:00" }, { "name": "laravel/nightwatch", - "version": "v1.24.0", + "version": "v1.26.0", "source": { "type": "git", "url": "https://github.com/laravel/nightwatch.git", - "reference": "444f638e548bd9de999ae671aec8cffc571713cc" + "reference": "1a50baf0e2f06005206aecb4db0770b557e7a595" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/nightwatch/zipball/444f638e548bd9de999ae671aec8cffc571713cc", - "reference": "444f638e548bd9de999ae671aec8cffc571713cc", + "url": "https://api.github.com/repos/laravel/nightwatch/zipball/1a50baf0e2f06005206aecb4db0770b557e7a595", + "reference": "1a50baf0e2f06005206aecb4db0770b557e7a595", "shasum": "" }, "require": { @@ -1801,8 +1803,8 @@ "psr/http-message": "^1.0|^2.0", "psr/log": "^1.0|^2.0|^3.0", "ramsey/uuid": "^4.0", - "symfony/console": "^6.0|^7.0", - "symfony/http-foundation": "^6.0|^7.0", + "symfony/console": "^6.0|^7.0|^8.0", + "symfony/http-foundation": "^6.0|^7.0|^8.0", "symfony/polyfill-php84": "^1.29" }, "require-dev": { @@ -1817,16 +1819,16 @@ "livewire/livewire": "^2.0|^3.0", "mockery/mockery": "^1.0", "mongodb/laravel-mongodb": "^4.0|^5.0", - "orchestra/testbench": "^8.0|^9.0|^10.0", - "orchestra/testbench-core": "^8.0|^9.0|^10.0", - "orchestra/workbench": "^8.0|^9.0|^10.0", + "orchestra/testbench": "^8.0|^9.0|^10.0|^11.0", + "orchestra/testbench-core": "^8.0|^9.0|^10.0|^11.0", + "orchestra/workbench": "^8.0|^9.0|^10.0|^11.0", "phpstan/phpstan": "^1.0", "phpunit/phpunit": "^10.0|^11.0|^12.0", "singlestoredb/singlestoredb-laravel": "^1.0|^2.0", "spatie/laravel-ignition": "^2.0", - "symfony/mailer": "^6.0|^7.0", - "symfony/mime": "^6.0|^7.0", - "symfony/var-dumper": "^6.0|^7.0" + "symfony/mailer": "^6.0|^7.0|^8.0", + "symfony/mime": "^6.0|^7.0|^8.0", + "symfony/var-dumper": "^6.0|^7.0|^8.0" }, "type": "library", "extra": { @@ -1869,20 +1871,20 @@ "issues": "https://github.com/laravel/nightwatch/issues", "source": "https://github.com/laravel/nightwatch" }, - "time": "2026-02-27T18:23:32+00:00" + "time": "2026-04-01T05:26:52+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.13", + "version": "v0.3.16", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "ed8c466571b37e977532fb2fd3c272c784d7050d" + "reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/ed8c466571b37e977532fb2fd3c272c784d7050d", - "reference": "ed8c466571b37e977532fb2fd3c272c784d7050d", + "url": "https://api.github.com/repos/laravel/prompts/zipball/11e7d5f93803a2190b00e145142cb00a33d17ad2", + "reference": "11e7d5f93803a2190b00e145142cb00a33d17ad2", "shasum": "" }, "require": { @@ -1926,9 +1928,9 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.13" + "source": "https://github.com/laravel/prompts/tree/v0.3.16" }, - "time": "2026-02-06T12:17:10+00:00" + "time": "2026-03-23T14:35:33+00:00" }, { "name": "laravel/serializable-closure", @@ -1993,16 +1995,16 @@ }, { "name": "laravel/socialite", - "version": "v5.24.3", + "version": "v5.26.1", "source": { "type": "git", "url": "https://github.com/laravel/socialite.git", - "reference": "0feb62267e7b8abc68593ca37639ad302728c129" + "reference": "db6ec2ee967b7f06412c3a0cf1daaf072f4752a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/socialite/zipball/0feb62267e7b8abc68593ca37639ad302728c129", - "reference": "0feb62267e7b8abc68593ca37639ad302728c129", + "url": "https://api.github.com/repos/laravel/socialite/zipball/db6ec2ee967b7f06412c3a0cf1daaf072f4752a4", + "reference": "db6ec2ee967b7f06412c3a0cf1daaf072f4752a4", "shasum": "" }, "require": { @@ -2061,7 +2063,7 @@ "issues": "https://github.com/laravel/socialite/issues", "source": "https://github.com/laravel/socialite" }, - "time": "2026-02-21T13:32:50+00:00" + "time": "2026-03-29T14:50:53+00:00" }, { "name": "laravel/tinker", @@ -2131,16 +2133,16 @@ }, { "name": "league/commonmark", - "version": "2.8.0", + "version": "2.8.2", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb" + "reference": "59fb075d2101740c337c7216e3f32b36c204218b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb", - "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/59fb075d2101740c337c7216e3f32b36c204218b", + "reference": "59fb075d2101740c337c7216e3f32b36c204218b", "shasum": "" }, "require": { @@ -2165,9 +2167,9 @@ "phpstan/phpstan": "^1.8.2", "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3 | ^6.0 | ^7.0", - "symfony/process": "^5.4 | ^6.0 | ^7.0", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0", + "symfony/finder": "^5.3 | ^6.0 | ^7.0 || ^8.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0 || ^8.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0 || ^8.0", "unleashedtech/php-coding-standard": "^3.1.1", "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" }, @@ -2234,7 +2236,7 @@ "type": "tidelift" } ], - "time": "2025-11-26T21:48:24+00:00" + "time": "2026-03-19T13:16:38+00:00" }, { "name": "league/config", @@ -2320,16 +2322,16 @@ }, { "name": "league/flysystem", - "version": "3.32.0", + "version": "3.33.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "254b1595b16b22dbddaaef9ed6ca9fdac4956725" + "reference": "570b8871e0ce693764434b29154c54b434905350" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/254b1595b16b22dbddaaef9ed6ca9fdac4956725", - "reference": "254b1595b16b22dbddaaef9ed6ca9fdac4956725", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/570b8871e0ce693764434b29154c54b434905350", + "reference": "570b8871e0ce693764434b29154c54b434905350", "shasum": "" }, "require": { @@ -2397,9 +2399,9 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.32.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.33.0" }, - "time": "2026-02-25T17:01:41+00:00" + "time": "2026-03-25T07:59:30+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -2639,20 +2641,20 @@ }, { "name": "league/uri", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri.git", - "reference": "4436c6ec8d458e4244448b069cc572d088230b76" + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/4436c6ec8d458e4244448b069cc572d088230b76", - "reference": "4436c6ec8d458e4244448b069cc572d088230b76", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4", "shasum": "" }, "require": { - "league/uri-interfaces": "^7.8", + "league/uri-interfaces": "^7.8.1", "php": "^8.1", "psr/http-factory": "^1" }, @@ -2725,7 +2727,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri/tree/7.8.0" + "source": "https://github.com/thephpleague/uri/tree/7.8.1" }, "funding": [ { @@ -2733,20 +2735,20 @@ "type": "github" } ], - "time": "2026-01-14T17:24:56+00:00" + "time": "2026-03-15T20:22:25+00:00" }, { "name": "league/uri-interfaces", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4" + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/c5c5cd056110fc8afaba29fa6b72a43ced42acd4", - "reference": "c5c5cd056110fc8afaba29fa6b72a43ced42acd4", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928", "shasum": "" }, "require": { @@ -2809,7 +2811,7 @@ "docs": "https://uri.thephpleague.com", "forum": "https://thephpleague.slack.com", "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.0" + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1" }, "funding": [ { @@ -2817,20 +2819,20 @@ "type": "github" } ], - "time": "2026-01-15T06:54:53+00:00" + "time": "2026-03-08T20:05:35+00:00" }, { "name": "livewire/flux", - "version": "v2.12.2", + "version": "v2.13.2", "source": { "type": "git", "url": "https://github.com/livewire/flux.git", - "reference": "68a3b06b62b23bae82e02d6be39722cf2a8770ff" + "reference": "4dbf3c4fdb936a66e082495ebd26c0f3193fd72c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/flux/zipball/68a3b06b62b23bae82e02d6be39722cf2a8770ff", - "reference": "68a3b06b62b23bae82e02d6be39722cf2a8770ff", + "url": "https://api.github.com/repos/livewire/flux/zipball/4dbf3c4fdb936a66e082495ebd26c0f3193fd72c", + "reference": "4dbf3c4fdb936a66e082495ebd26c0f3193fd72c", "shasum": "" }, "require": { @@ -2881,25 +2883,25 @@ ], "support": { "issues": "https://github.com/livewire/flux/issues", - "source": "https://github.com/livewire/flux/tree/v2.12.2" + "source": "https://github.com/livewire/flux/tree/v2.13.2" }, - "time": "2026-02-24T16:29:56+00:00" + "time": "2026-03-31T20:25:36+00:00" }, { "name": "livewire/flux-pro", - "version": "2.12.2", + "version": "2.13.2", "dist": { "type": "zip", - "url": "https://composer.fluxui.dev/download/a129da01-0b6c-4769-9430-e9156c8da2ba/flux-pro-2.12.2.zip", - "reference": "f2fdc138527e51f628d296199e8f9241cbdcd645", - "shasum": "2b7c84785b253a90522fae68d962f61c53259cb7" + "url": "https://composer.fluxui.dev/download/a16f3bfb-a644-4cc1-af52-0125cc224b2d/flux-pro-2.13.2.zip", + "reference": "e6e02a77f2296b1c755149b89cfefafa05b0a62e", + "shasum": "c7fb89b5cd6e0b051b1aac8245970de9310b770b" }, "require": { "illuminate/console": "^10.0|^11.0|^12.0|^13.0", "illuminate/support": "^10.0|^11.0|^12.0|^13.0", "illuminate/view": "^10.0|^11.0|^12.0|^13.0", "laravel/prompts": "^0.1.24|^0.2|^0.3", - "livewire/flux": "2.12.2|dev-main", + "livewire/flux": "2.13.2|dev-main", "livewire/livewire": "^3.7.4|^4.0", "php": "^8.1", "symfony/console": "^6.0|^7.0|^8.0" @@ -2956,7 +2958,7 @@ "livewire", "ui" ], - "time": "2026-02-25T09:20:33+00:00" + "time": "2026-03-31T21:06:39+00:00" }, { "name": "livewire/livewire", @@ -3036,28 +3038,28 @@ }, { "name": "marvinlabs/laravel-discord-logger", - "version": "v1.4.3", + "version": "v1.4.4", "source": { "type": "git", "url": "https://github.com/vpratfr/laravel-discord-logger.git", - "reference": "b484e9742bc174920712434222f16654c343cf9b" + "reference": "01eff2df9c46b68d118399a1e46882db3fb40a9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vpratfr/laravel-discord-logger/zipball/b484e9742bc174920712434222f16654c343cf9b", - "reference": "b484e9742bc174920712434222f16654c343cf9b", + "url": "https://api.github.com/repos/vpratfr/laravel-discord-logger/zipball/01eff2df9c46b68d118399a1e46882db3fb40a9d", + "reference": "01eff2df9c46b68d118399a1e46882db3fb40a9d", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/guzzle": "^6.3|^7.0", - "illuminate/support": "^7.0|^8.0|^9.0|^10.0 | ^11.0 | ^12.0", - "php": ">=7.3 | ^8.0" + "guzzlehttp/guzzle": "^7.0", + "illuminate/support": "^12.0|^13.0", + "php": "^8.2" }, "require-dev": { "mockery/mockery": "^1.0", - "orchestra/testbench": "^5.0|^6.0|^8.0 | ^9.0 | ^10.0", - "phpunit/phpunit": "^8.0|^9.0 | ^10.5 | ^11.5.3", + "orchestra/testbench": "^10.0|^11.0", + "phpunit/phpunit": "^11.5|^12.5.12", "roave/security-advisories": "dev-master" }, "type": "library", @@ -3094,7 +3096,7 @@ ], "support": { "issues": "https://github.com/vpratfr/laravel-discord-logger/issues", - "source": "https://github.com/vpratfr/laravel-discord-logger/tree/v1.4.3" + "source": "https://github.com/vpratfr/laravel-discord-logger/tree/v1.4.4" }, "funding": [ { @@ -3102,7 +3104,7 @@ "type": "github" } ], - "time": "2025-03-04T11:10:14+00:00" + "time": "2026-03-27T08:19:49+00:00" }, { "name": "monolog/monolog", @@ -3275,16 +3277,16 @@ }, { "name": "nesbot/carbon", - "version": "3.11.1", + "version": "3.11.3", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon.git", - "reference": "f438fcc98f92babee98381d399c65336f3a3827f" + "reference": "6a7e652845bb018c668220c2a545aded8594fbbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/f438fcc98f92babee98381d399c65336f3a3827f", - "reference": "f438fcc98f92babee98381d399c65336f3a3827f", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/6a7e652845bb018c668220c2a545aded8594fbbf", + "reference": "6a7e652845bb018c668220c2a545aded8594fbbf", "shasum": "" }, "require": { @@ -3376,7 +3378,7 @@ "type": "tidelift" } ], - "time": "2026-01-29T09:26:29+00:00" + "time": "2026-03-11T17:23:39+00:00" }, { "name": "nette/schema", @@ -3931,16 +3933,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.49", + "version": "3.0.50", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "6233a1e12584754e6b5daa69fe1289b47775c1b9" + "reference": "aa6ad8321ed103dc3624fb600a25b66ebf78ec7b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/6233a1e12584754e6b5daa69fe1289b47775c1b9", - "reference": "6233a1e12584754e6b5daa69fe1289b47775c1b9", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/aa6ad8321ed103dc3624fb600a25b66ebf78ec7b", + "reference": "aa6ad8321ed103dc3624fb600a25b66ebf78ec7b", "shasum": "" }, "require": { @@ -4021,7 +4023,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.49" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.50" }, "funding": [ { @@ -4037,7 +4039,7 @@ "type": "tidelift" } ], - "time": "2026-01-27T09:17:28+00:00" + "time": "2026-03-19T02:57:58+00:00" }, { "name": "prezet/prezet", @@ -4543,16 +4545,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.20", + "version": "v0.12.22", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "19678eb6b952a03b8a1d96ecee9edba518bb0373" + "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/19678eb6b952a03b8a1d96ecee9edba518bb0373", - "reference": "19678eb6b952a03b8a1d96ecee9edba518bb0373", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/3be75d5b9244936dd4ac62ade2bfb004d13acf0f", + "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f", "shasum": "" }, "require": { @@ -4616,9 +4618,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.20" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.22" }, - "time": "2026-02-11T15:05:28+00:00" + "time": "2026-03-22T23:03:24+00:00" }, { "name": "ralouphie/getallheaders", @@ -4820,22 +4822,22 @@ }, { "name": "socialiteproviders/manager", - "version": "v4.8.1", + "version": "4.9.2", "source": { "type": "git", "url": "https://github.com/SocialiteProviders/Manager.git", - "reference": "8180ec14bef230ec2351cff993d5d2d7ca470ef4" + "reference": "35372dc62787e61e91cfec73f45fd5d5ae0f8891" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/8180ec14bef230ec2351cff993d5d2d7ca470ef4", - "reference": "8180ec14bef230ec2351cff993d5d2d7ca470ef4", + "url": "https://api.github.com/repos/SocialiteProviders/Manager/zipball/35372dc62787e61e91cfec73f45fd5d5ae0f8891", + "reference": "35372dc62787e61e91cfec73f45fd5d5ae0f8891", "shasum": "" }, "require": { - "illuminate/support": "^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0", + "illuminate/support": "^11.0 || ^12.0 || ^13.0", "laravel/socialite": "^5.5", - "php": "^8.1" + "php": "^8.2" }, "require-dev": { "mockery/mockery": "^1.2", @@ -4890,7 +4892,7 @@ "issues": "https://github.com/socialiteproviders/manager/issues", "source": "https://github.com/socialiteproviders/manager" }, - "time": "2025-02-24T19:33:30+00:00" + "time": "2026-03-18T22:13:24+00:00" }, { "name": "socialiteproviders/spotify", @@ -5061,16 +5063,16 @@ }, { "name": "spatie/laravel-health", - "version": "1.39.0", + "version": "1.39.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-health.git", - "reference": "ef13e7249adee21e42d71b05f93c61ecf49326df" + "reference": "b2dd80bd9d3e02639ba40b788aabca5977d3208f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-health/zipball/ef13e7249adee21e42d71b05f93c61ecf49326df", - "reference": "ef13e7249adee21e42d71b05f93c61ecf49326df", + "url": "https://api.github.com/repos/spatie/laravel-health/zipball/b2dd80bd9d3e02639ba40b788aabca5977d3208f", + "reference": "b2dd80bd9d3e02639ba40b788aabca5977d3208f", "shasum": "" }, "require": { @@ -5141,7 +5143,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/laravel-health/tree/1.39.0" + "source": "https://github.com/spatie/laravel-health/tree/1.39.1" }, "funding": [ { @@ -5149,7 +5151,7 @@ "type": "github" } ], - "time": "2026-03-01T12:56:10+00:00" + "time": "2026-03-17T20:58:31+00:00" }, { "name": "spatie/laravel-package-tools", @@ -5416,16 +5418,16 @@ }, { "name": "symfony/clock", - "version": "v8.0.0", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f" + "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/832119f9b8dbc6c8e6f65f30c5969eca1e88764f", - "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f", + "url": "https://api.github.com/repos/symfony/clock/zipball/b55a638b189a6faa875e0ccdb00908fb87af95b3", + "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3", "shasum": "" }, "require": { @@ -5469,7 +5471,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v8.0.0" + "source": "https://github.com/symfony/clock/tree/v8.0.8" }, "funding": [ { @@ -5489,20 +5491,20 @@ "type": "tidelift" } ], - "time": "2025-11-12T15:46:48+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/console", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "6d643a93b47398599124022eb24d97c153c12f27" + "reference": "1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/6d643a93b47398599124022eb24d97c153c12f27", - "reference": "6d643a93b47398599124022eb24d97c153c12f27", + "url": "https://api.github.com/repos/symfony/console/zipball/1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707", + "reference": "1e92e39c51f95b88e3d66fa2d9f06d1fb45dd707", "shasum": "" }, "require": { @@ -5567,7 +5569,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.4.6" + "source": "https://github.com/symfony/console/tree/v7.4.8" }, "funding": [ { @@ -5587,20 +5589,20 @@ "type": "tidelift" } ], - "time": "2026-02-25T17:02:47+00:00" + "time": "2026-03-30T13:54:39+00:00" }, { "name": "symfony/css-selector", - "version": "v8.0.6", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "2a178bf80f05dbbe469a337730eba79d61315262" + "reference": "8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/2a178bf80f05dbbe469a337730eba79d61315262", - "reference": "2a178bf80f05dbbe469a337730eba79d61315262", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed", + "reference": "8db1c00226a94d8ab6aa89d9224eeee91e2ea2ed", "shasum": "" }, "require": { @@ -5636,7 +5638,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v8.0.6" + "source": "https://github.com/symfony/css-selector/tree/v8.0.8" }, "funding": [ { @@ -5656,7 +5658,7 @@ "type": "tidelift" } ], - "time": "2026-02-17T13:07:04+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/deprecation-contracts", @@ -5727,16 +5729,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.4.4", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8" + "reference": "8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/8da531f364ddfee53e36092a7eebbbd0b775f6b8", - "reference": "8da531f364ddfee53e36092a7eebbbd0b775f6b8", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa", + "reference": "8dd79d8af777ee6cba2fd4d98da6ffb839f3c0fa", "shasum": "" }, "require": { @@ -5785,7 +5787,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.4.4" + "source": "https://github.com/symfony/error-handler/tree/v7.4.8" }, "funding": [ { @@ -5805,20 +5807,20 @@ "type": "tidelift" } ], - "time": "2026-01-20T16:42:42+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v8.0.4", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "99301401da182b6cfaa4700dbe9987bb75474b47" + "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/99301401da182b6cfaa4700dbe9987bb75474b47", - "reference": "99301401da182b6cfaa4700dbe9987bb75474b47", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f662acc6ab22a3d6d716dcb44c381c6002940df6", + "reference": "f662acc6ab22a3d6d716dcb44c381c6002940df6", "shasum": "" }, "require": { @@ -5870,7 +5872,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.4" + "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.8" }, "funding": [ { @@ -5890,7 +5892,7 @@ "type": "tidelift" } ], - "time": "2026-01-05T11:45:55+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -5970,16 +5972,16 @@ }, { "name": "symfony/filesystem", - "version": "v8.0.6", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "7bf9162d7a0dff98d079b72948508fa48018a770" + "reference": "66b769ae743ce2d13e435528fbef4af03d623e5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7bf9162d7a0dff98d079b72948508fa48018a770", - "reference": "7bf9162d7a0dff98d079b72948508fa48018a770", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/66b769ae743ce2d13e435528fbef4af03d623e5a", + "reference": "66b769ae743ce2d13e435528fbef4af03d623e5a", "shasum": "" }, "require": { @@ -6016,7 +6018,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v8.0.6" + "source": "https://github.com/symfony/filesystem/tree/v8.0.8" }, "funding": [ { @@ -6036,20 +6038,20 @@ "type": "tidelift" } ], - "time": "2026-02-25T16:59:43+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/finder", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "8655bf1076b7a3a346cb11413ffdabff50c7ffcf" + "reference": "e0be088d22278583a82da281886e8c3592fbf149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/8655bf1076b7a3a346cb11413ffdabff50c7ffcf", - "reference": "8655bf1076b7a3a346cb11413ffdabff50c7ffcf", + "url": "https://api.github.com/repos/symfony/finder/zipball/e0be088d22278583a82da281886e8c3592fbf149", + "reference": "e0be088d22278583a82da281886e8c3592fbf149", "shasum": "" }, "require": { @@ -6084,7 +6086,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.4.6" + "source": "https://github.com/symfony/finder/tree/v7.4.8" }, "funding": [ { @@ -6104,20 +6106,20 @@ "type": "tidelift" } ], - "time": "2026-01-29T09:40:50+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/http-foundation", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "fd97d5e926e988a363cef56fbbf88c5c528e9065" + "reference": "9381209597ec66c25be154cbf2289076e64d1eab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/fd97d5e926e988a363cef56fbbf88c5c528e9065", - "reference": "fd97d5e926e988a363cef56fbbf88c5c528e9065", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9381209597ec66c25be154cbf2289076e64d1eab", + "reference": "9381209597ec66c25be154cbf2289076e64d1eab", "shasum": "" }, "require": { @@ -6166,7 +6168,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.4.6" + "source": "https://github.com/symfony/http-foundation/tree/v7.4.8" }, "funding": [ { @@ -6186,20 +6188,20 @@ "type": "tidelift" } ], - "time": "2026-02-21T16:25:55+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "002ac0cf4cd972a7fd0912dcd513a95e8a81ce83" + "reference": "017e76ad089bac281553389269e259e155935e1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/002ac0cf4cd972a7fd0912dcd513a95e8a81ce83", - "reference": "002ac0cf4cd972a7fd0912dcd513a95e8a81ce83", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/017e76ad089bac281553389269e259e155935e1a", + "reference": "017e76ad089bac281553389269e259e155935e1a", "shasum": "" }, "require": { @@ -6285,7 +6287,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.4.6" + "source": "https://github.com/symfony/http-kernel/tree/v7.4.8" }, "funding": [ { @@ -6305,20 +6307,20 @@ "type": "tidelift" } ], - "time": "2026-02-26T08:30:57+00:00" + "time": "2026-03-31T20:57:01+00:00" }, { "name": "symfony/mailer", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "b02726f39a20bc65e30364f5c750c4ddbf1f58e9" + "reference": "f6ea532250b476bfc1b56699b388a1bdbf168f62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/b02726f39a20bc65e30364f5c750c4ddbf1f58e9", - "reference": "b02726f39a20bc65e30364f5c750c4ddbf1f58e9", + "url": "https://api.github.com/repos/symfony/mailer/zipball/f6ea532250b476bfc1b56699b388a1bdbf168f62", + "reference": "f6ea532250b476bfc1b56699b388a1bdbf168f62", "shasum": "" }, "require": { @@ -6369,7 +6371,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.4.6" + "source": "https://github.com/symfony/mailer/tree/v7.4.8" }, "funding": [ { @@ -6389,20 +6391,20 @@ "type": "tidelift" } ], - "time": "2026-02-25T16:50:00+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/mime", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "9fc881d95feae4c6c48678cb6372bd8a7ba04f5f" + "reference": "6df02f99998081032da3407a8d6c4e1dcb5d4379" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/9fc881d95feae4c6c48678cb6372bd8a7ba04f5f", - "reference": "9fc881d95feae4c6c48678cb6372bd8a7ba04f5f", + "url": "https://api.github.com/repos/symfony/mime/zipball/6df02f99998081032da3407a8d6c4e1dcb5d4379", + "reference": "6df02f99998081032da3407a8d6c4e1dcb5d4379", "shasum": "" }, "require": { @@ -6458,7 +6460,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.4.6" + "source": "https://github.com/symfony/mime/tree/v7.4.8" }, "funding": [ { @@ -6478,7 +6480,7 @@ "type": "tidelift" } ], - "time": "2026-02-05T15:57:06+00:00" + "time": "2026-03-30T14:11:46+00:00" }, { "name": "symfony/polyfill-ctype", @@ -7311,16 +7313,16 @@ }, { "name": "symfony/process", - "version": "v7.4.5", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "608476f4604102976d687c483ac63a79ba18cc97" + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/608476f4604102976d687c483ac63a79ba18cc97", - "reference": "608476f4604102976d687c483ac63a79ba18cc97", + "url": "https://api.github.com/repos/symfony/process/zipball/60f19cd3badc8de688421e21e4305eba50f8089a", + "reference": "60f19cd3badc8de688421e21e4305eba50f8089a", "shasum": "" }, "require": { @@ -7352,7 +7354,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.4.5" + "source": "https://github.com/symfony/process/tree/v7.4.8" }, "funding": [ { @@ -7372,20 +7374,20 @@ "type": "tidelift" } ], - "time": "2026-01-26T15:07:59+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/routing", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "238d749c56b804b31a9bf3e26519d93b65a60938" + "reference": "9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/238d749c56b804b31a9bf3e26519d93b65a60938", - "reference": "238d749c56b804b31a9bf3e26519d93b65a60938", + "url": "https://api.github.com/repos/symfony/routing/zipball/9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b", + "reference": "9608de9873ec86e754fb6c0a0fa7e5f1a960eb6b", "shasum": "" }, "require": { @@ -7437,7 +7439,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.4.6" + "source": "https://github.com/symfony/routing/tree/v7.4.8" }, "funding": [ { @@ -7457,7 +7459,7 @@ "type": "tidelift" } ], - "time": "2026-02-25T16:50:00+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/service-contracts", @@ -7548,16 +7550,16 @@ }, { "name": "symfony/string", - "version": "v8.0.6", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "6c9e1108041b5dce21a9a4984b531c4923aa9ec4" + "reference": "ae9488f874d7603f9d2dfbf120203882b645d963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/6c9e1108041b5dce21a9a4984b531c4923aa9ec4", - "reference": "6c9e1108041b5dce21a9a4984b531c4923aa9ec4", + "url": "https://api.github.com/repos/symfony/string/zipball/ae9488f874d7603f9d2dfbf120203882b645d963", + "reference": "ae9488f874d7603f9d2dfbf120203882b645d963", "shasum": "" }, "require": { @@ -7614,7 +7616,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v8.0.6" + "source": "https://github.com/symfony/string/tree/v8.0.8" }, "funding": [ { @@ -7634,20 +7636,20 @@ "type": "tidelift" } ], - "time": "2026-02-09T10:14:57+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/translation", - "version": "v8.0.6", + "version": "v8.0.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b" + "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b", - "reference": "13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b", + "url": "https://api.github.com/repos/symfony/translation/zipball/27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", + "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", "shasum": "" }, "require": { @@ -7707,7 +7709,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v8.0.6" + "source": "https://github.com/symfony/translation/tree/v8.0.8" }, "funding": [ { @@ -7727,7 +7729,7 @@ "type": "tidelift" } ], - "time": "2026-02-17T13:07:04+00:00" + "time": "2026-03-30T15:14:47+00:00" }, { "name": "symfony/translation-contracts", @@ -7813,16 +7815,16 @@ }, { "name": "symfony/uid", - "version": "v7.4.4", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36" + "reference": "6883ebdf7bf6a12b37519dbc0df62b0222401b56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/7719ce8aba76be93dfe249192f1fbfa52c588e36", - "reference": "7719ce8aba76be93dfe249192f1fbfa52c588e36", + "url": "https://api.github.com/repos/symfony/uid/zipball/6883ebdf7bf6a12b37519dbc0df62b0222401b56", + "reference": "6883ebdf7bf6a12b37519dbc0df62b0222401b56", "shasum": "" }, "require": { @@ -7867,7 +7869,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.4.4" + "source": "https://github.com/symfony/uid/tree/v7.4.8" }, "funding": [ { @@ -7887,20 +7889,20 @@ "type": "tidelift" } ], - "time": "2026-01-03T23:30:35+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "045321c440ac18347b136c63d2e9bf28a2dc0291" + "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/045321c440ac18347b136c63d2e9bf28a2dc0291", - "reference": "045321c440ac18347b136c63d2e9bf28a2dc0291", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9510c3966f749a1d1ff0059e1eabef6cc621e7fd", + "reference": "9510c3966f749a1d1ff0059e1eabef6cc621e7fd", "shasum": "" }, "require": { @@ -7954,7 +7956,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.4.6" + "source": "https://github.com/symfony/var-dumper/tree/v7.4.8" }, "funding": [ { @@ -7974,20 +7976,20 @@ "type": "tidelift" } ], - "time": "2026-02-15T10:53:20+00:00" + "time": "2026-03-30T13:44:50+00:00" }, { "name": "symfony/yaml", - "version": "v7.4.6", + "version": "v7.4.8", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "58751048de17bae71c5aa0d13cb19d79bca26391" + "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/58751048de17bae71c5aa0d13cb19d79bca26391", - "reference": "58751048de17bae71c5aa0d13cb19d79bca26391", + "url": "https://api.github.com/repos/symfony/yaml/zipball/c58fdf7b3d6c2995368264c49e4e8b05bcff2883", + "reference": "c58fdf7b3d6c2995368264c49e4e8b05bcff2883", "shasum": "" }, "require": { @@ -8030,7 +8032,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.4.6" + "source": "https://github.com/symfony/yaml/tree/v7.4.8" }, "funding": [ { @@ -8050,7 +8052,7 @@ "type": "tidelift" } ], - "time": "2026-02-09T09:33:46+00:00" + "time": "2026-03-24T13:12:05+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -8267,16 +8269,16 @@ }, { "name": "wendelladriel/laravel-validated-dto", - "version": "v4.5.0", + "version": "v4.6.0", "source": { "type": "git", "url": "https://github.com/WendellAdriel/laravel-validated-dto.git", - "reference": "1e4f7d8fe9b0b50ffefc2e73454197a38271c251" + "reference": "3500007abc8e274123665054ab7d15d548cabec9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WendellAdriel/laravel-validated-dto/zipball/1e4f7d8fe9b0b50ffefc2e73454197a38271c251", - "reference": "1e4f7d8fe9b0b50ffefc2e73454197a38271c251", + "url": "https://api.github.com/repos/WendellAdriel/laravel-validated-dto/zipball/3500007abc8e274123665054ab7d15d548cabec9", + "reference": "3500007abc8e274123665054ab7d15d548cabec9", "shasum": "" }, "require": { @@ -8338,7 +8340,7 @@ "type": "github" } ], - "time": "2026-02-25T12:12:34+00:00" + "time": "2026-03-11T11:28:05+00:00" } ], "packages-dev": [ @@ -8876,25 +8878,25 @@ }, { "name": "laravel/boost", - "version": "v2.2.1", + "version": "v2.4.1", "source": { "type": "git", "url": "https://github.com/laravel/boost.git", - "reference": "e27f1616177377fef95296620530c44a7dda4df9" + "reference": "f6241df9fd81a86d79a051851177d4ffe3e28506" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/boost/zipball/e27f1616177377fef95296620530c44a7dda4df9", - "reference": "e27f1616177377fef95296620530c44a7dda4df9", + "url": "https://api.github.com/repos/laravel/boost/zipball/f6241df9fd81a86d79a051851177d4ffe3e28506", + "reference": "f6241df9fd81a86d79a051851177d4ffe3e28506", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^7.9", - "illuminate/console": "^11.45.3|^12.41.1", - "illuminate/contracts": "^11.45.3|^12.41.1", - "illuminate/routing": "^11.45.3|^12.41.1", - "illuminate/support": "^11.45.3|^12.41.1", - "laravel/mcp": "^0.5.1", + "illuminate/console": "^11.45.3|^12.41.1|^13.0", + "illuminate/contracts": "^11.45.3|^12.41.1|^13.0", + "illuminate/routing": "^11.45.3|^12.41.1|^13.0", + "illuminate/support": "^11.45.3|^12.41.1|^13.0", + "laravel/mcp": "^0.5.1|^0.6.0", "laravel/prompts": "^0.3.10", "laravel/roster": "^0.5.0", "php": "^8.2" @@ -8902,7 +8904,7 @@ "require-dev": { "laravel/pint": "^1.27.0", "mockery/mockery": "^1.6.12", - "orchestra/testbench": "^9.15.0|^10.6", + "orchestra/testbench": "^9.15.0|^10.6|^11.0", "pestphp/pest": "^2.36.0|^3.8.4|^4.1.5", "phpstan/phpstan": "^2.1.27", "rector/rector": "^2.1" @@ -8938,33 +8940,33 @@ "issues": "https://github.com/laravel/boost/issues", "source": "https://github.com/laravel/boost" }, - "time": "2026-02-25T16:07:36+00:00" + "time": "2026-03-25T16:37:40+00:00" }, { "name": "laravel/breeze", - "version": "v2.3.8", + "version": "v2.4.1", "source": { "type": "git", "url": "https://github.com/laravel/breeze.git", - "reference": "1a29c5792818bd4cddf70b5f743a227e02fbcfcd" + "reference": "28cefeaf6af20177ddf5cc7b93e87e4ad79d533f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/breeze/zipball/1a29c5792818bd4cddf70b5f743a227e02fbcfcd", - "reference": "1a29c5792818bd4cddf70b5f743a227e02fbcfcd", + "url": "https://api.github.com/repos/laravel/breeze/zipball/28cefeaf6af20177ddf5cc7b93e87e4ad79d533f", + "reference": "28cefeaf6af20177ddf5cc7b93e87e4ad79d533f", "shasum": "" }, "require": { - "illuminate/console": "^11.0|^12.0", - "illuminate/filesystem": "^11.0|^12.0", - "illuminate/support": "^11.0|^12.0", - "illuminate/validation": "^11.0|^12.0", + "illuminate/console": "^11.0|^12.0|^13.0", + "illuminate/filesystem": "^11.0|^12.0|^13.0", + "illuminate/support": "^11.0|^12.0|^13.0", + "illuminate/validation": "^11.0|^12.0|^13.0", "php": "^8.2.0", - "symfony/console": "^7.0" + "symfony/console": "^7.0|^8.0" }, "require-dev": { - "laravel/framework": "^11.0|^12.0", - "orchestra/testbench-core": "^9.0|^10.0", + "laravel/framework": "^11.0|^12.0|^13.0", + "orchestra/testbench-core": "^9.0|^10.0|^11.0", "phpstan/phpstan": "^2.0" }, "type": "library", @@ -8999,20 +9001,20 @@ "issues": "https://github.com/laravel/breeze/issues", "source": "https://github.com/laravel/breeze" }, - "time": "2025-07-18T18:49:59+00:00" + "time": "2026-03-10T19:59:01+00:00" }, { "name": "laravel/mcp", - "version": "v0.5.9", + "version": "v0.6.5", "source": { "type": "git", "url": "https://github.com/laravel/mcp.git", - "reference": "39e8da60eb7bce4737c5d868d35a3fe78938c129" + "reference": "583a6282bf0f074d754f7ff5cd1fff9d34244691" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/mcp/zipball/39e8da60eb7bce4737c5d868d35a3fe78938c129", - "reference": "39e8da60eb7bce4737c5d868d35a3fe78938c129", + "url": "https://api.github.com/repos/laravel/mcp/zipball/583a6282bf0f074d754f7ff5cd1fff9d34244691", + "reference": "583a6282bf0f074d754f7ff5cd1fff9d34244691", "shasum": "" }, "require": { @@ -9072,7 +9074,7 @@ "issues": "https://github.com/laravel/mcp/issues", "source": "https://github.com/laravel/mcp" }, - "time": "2026-02-17T19:05:53+00:00" + "time": "2026-03-30T19:17:10+00:00" }, { "name": "laravel/pail", @@ -9156,16 +9158,16 @@ }, { "name": "laravel/pint", - "version": "v1.27.1", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "54cca2de13790570c7b6f0f94f37896bee4abcb5" + "reference": "bdec963f53172c5e36330f3a400604c69bf02d39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/54cca2de13790570c7b6f0f94f37896bee4abcb5", - "reference": "54cca2de13790570c7b6f0f94f37896bee4abcb5", + "url": "https://api.github.com/repos/laravel/pint/zipball/bdec963f53172c5e36330f3a400604c69bf02d39", + "reference": "bdec963f53172c5e36330f3a400604c69bf02d39", "shasum": "" }, "require": { @@ -9176,13 +9178,14 @@ "php": "^8.2.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.93.1", - "illuminate/view": "^12.51.0", - "larastan/larastan": "^3.9.2", + "friendsofphp/php-cs-fixer": "^3.94.2", + "illuminate/view": "^12.54.1", + "larastan/larastan": "^3.9.3", "laravel-zero/framework": "^12.0.5", "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^2.3.3", - "pestphp/pest": "^3.8.5" + "nunomaduro/termwind": "^2.4.0", + "pestphp/pest": "^3.8.6", + "shipfastlabs/agent-detector": "^1.1.0" }, "bin": [ "builds/pint" @@ -9219,20 +9222,20 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2026-02-10T20:00:20+00:00" + "time": "2026-03-12T15:51:39+00:00" }, { "name": "laravel/roster", - "version": "v0.5.0", + "version": "v0.5.1", "source": { "type": "git", "url": "https://github.com/laravel/roster.git", - "reference": "56904a78f4d7360c1c490ced7deeebf9aecb8c0e" + "reference": "5089de7615f72f78e831590ff9d0435fed0102bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/roster/zipball/56904a78f4d7360c1c490ced7deeebf9aecb8c0e", - "reference": "56904a78f4d7360c1c490ced7deeebf9aecb8c0e", + "url": "https://api.github.com/repos/laravel/roster/zipball/5089de7615f72f78e831590ff9d0435fed0102bb", + "reference": "5089de7615f72f78e831590ff9d0435fed0102bb", "shasum": "" }, "require": { @@ -9280,20 +9283,20 @@ "issues": "https://github.com/laravel/roster/issues", "source": "https://github.com/laravel/roster" }, - "time": "2026-02-17T17:33:35+00:00" + "time": "2026-03-05T07:58:43+00:00" }, { "name": "laravel/sail", - "version": "v1.53.0", + "version": "v1.56.0", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "e340eaa2bea9b99192570c48ed837155dbf24fbb" + "reference": "f43426bb42a1cb7a51a3861d9138063e54766d28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/e340eaa2bea9b99192570c48ed837155dbf24fbb", - "reference": "e340eaa2bea9b99192570c48ed837155dbf24fbb", + "url": "https://api.github.com/repos/laravel/sail/zipball/f43426bb42a1cb7a51a3861d9138063e54766d28", + "reference": "f43426bb42a1cb7a51a3861d9138063e54766d28", "shasum": "" }, "require": { @@ -9343,7 +9346,7 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2026-02-06T12:16:02+00:00" + "time": "2026-04-01T15:17:32+00:00" }, { "name": "mockery/mockery", @@ -9490,23 +9493,23 @@ }, { "name": "nunomaduro/collision", - "version": "v8.9.1", + "version": "v8.9.3", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "a1ed3fa530fd60bc515f9303e8520fcb7d4bd935" + "reference": "b0d8ab95b29c3189aeeb902d81215231df4c1b64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/a1ed3fa530fd60bc515f9303e8520fcb7d4bd935", - "reference": "a1ed3fa530fd60bc515f9303e8520fcb7d4bd935", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/b0d8ab95b29c3189aeeb902d81215231df4c1b64", + "reference": "b0d8ab95b29c3189aeeb902d81215231df4c1b64", "shasum": "" }, "require": { "filp/whoops": "^2.18.4", "nunomaduro/termwind": "^2.4.0", "php": "^8.2.0", - "symfony/console": "^7.4.4 || ^8.0.4" + "symfony/console": "^7.4.8 || ^8.0.4" }, "conflict": { "laravel/framework": "<11.48.0 || >=14.0.0", @@ -9514,12 +9517,12 @@ }, "require-dev": { "brianium/paratest": "^7.8.5", - "larastan/larastan": "^3.9.2", - "laravel/framework": "^11.48.0 || ^12.52.0", - "laravel/pint": "^1.27.1", - "orchestra/testbench-core": "^9.12.0 || ^10.9.0", - "pestphp/pest": "^3.8.5 || ^4.4.1 || ^5.0.0", - "sebastian/environment": "^7.2.1 || ^8.0.3 || ^9.0.0" + "larastan/larastan": "^3.9.3", + "laravel/framework": "^11.48.0 || ^12.56.0 || ^13.2.0", + "laravel/pint": "^1.29.0", + "orchestra/testbench-core": "^9.12.0 || ^10.12.1 || ^11.0.0", + "pestphp/pest": "^3.8.5 || ^4.4.3 || ^5.0.0", + "sebastian/environment": "^7.2.1 || ^8.0.4 || ^9.0.0" }, "type": "library", "extra": { @@ -9582,26 +9585,26 @@ "type": "patreon" } ], - "time": "2026-02-17T17:33:08+00:00" + "time": "2026-04-06T19:25:53+00:00" }, { "name": "pestphp/pest", - "version": "v3.8.5", + "version": "v3.8.6", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "7796630eafcfd1c02660cecdde3bc6984fbf01f4" + "reference": "8871a6f5ef1de8e7c8dee2a270991449a7b6af73" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/7796630eafcfd1c02660cecdde3bc6984fbf01f4", - "reference": "7796630eafcfd1c02660cecdde3bc6984fbf01f4", + "url": "https://api.github.com/repos/pestphp/pest/zipball/8871a6f5ef1de8e7c8dee2a270991449a7b6af73", + "reference": "8871a6f5ef1de8e7c8dee2a270991449a7b6af73", "shasum": "" }, "require": { "brianium/paratest": "^7.8.5", - "nunomaduro/collision": "^8.8.3", - "nunomaduro/termwind": "^2.3.3", + "nunomaduro/collision": "^8.9.1", + "nunomaduro/termwind": "^2.4.0", "pestphp/pest-plugin": "^3.0.0", "pestphp/pest-plugin-arch": "^3.1.1", "pestphp/pest-plugin-mutate": "^3.0.5", @@ -9617,7 +9620,7 @@ "require-dev": { "pestphp/pest-dev-tools": "^3.4.0", "pestphp/pest-plugin-type-coverage": "^3.6.1", - "symfony/process": "^7.4.4" + "symfony/process": "^7.4.5" }, "bin": [ "bin/pest" @@ -9682,7 +9685,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v3.8.5" + "source": "https://github.com/pestphp/pest/tree/v3.8.6" }, "funding": [ { @@ -9694,7 +9697,7 @@ "type": "github" } ], - "time": "2026-01-28T01:33:45+00:00" + "time": "2026-03-10T21:04:33+00:00" }, { "name": "pestphp/pest-plugin", @@ -10229,16 +10232,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "6.0.2", + "version": "6.0.3", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "897b5986ece6b4f9d8413fea345c7d49c757d6bf" + "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/897b5986ece6b4f9d8413fea345c7d49c757d6bf", - "reference": "897b5986ece6b4f9d8413fea345c7d49c757d6bf", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/7bae67520aa9f5ecc506d646810bd40d9da54582", + "reference": "7bae67520aa9f5ecc506d646810bd40d9da54582", "shasum": "" }, "require": { @@ -10288,9 +10291,9 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.2" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/6.0.3" }, - "time": "2026-03-01T18:43:49+00:00" + "time": "2026-03-18T20:49:53+00:00" }, { "name": "phpdocumentor/type-resolver", diff --git a/public/photos/me.jpg b/public/photos/me.jpg new file mode 100644 index 0000000..bb25114 Binary files /dev/null and b/public/photos/me.jpg differ diff --git a/resources/views/components/media-accordian-item.blade.php b/resources/views/components/media-accordian-item.blade.php index eef1285..d851c4a 100644 --- a/resources/views/components/media-accordian-item.blade.php +++ b/resources/views/components/media-accordian-item.blade.php @@ -2,10 +2,9 @@ 'collection', 'title', 'description', - 'pageName', ]) - + {{ $title }} @@ -21,10 +20,6 @@ - @if (isset($pageName)) - - @else - - @endif + \ No newline at end of file diff --git a/resources/views/components/media-showcase.blade.php b/resources/views/components/media-showcase.blade.php index d169e48..0cd1d8f 100644 --- a/resources/views/components/media-showcase.blade.php +++ b/resources/views/components/media-showcase.blade.php @@ -9,7 +9,7 @@ @if ($is_favorite) - + My Favorites @@ -25,7 +25,7 @@ @endif @if ($is_active) - + Currently {{ $action ?? 'doing' }} @@ -41,7 +41,7 @@ @endif @if ($in_backlog) - + In Backlog @@ -57,7 +57,7 @@ @endif @if ($is_completed) - + Completed diff --git a/resources/views/components/per-page-selector.blade.php b/resources/views/components/per-page-selector.blade.php new file mode 100644 index 0000000..47ce9f5 --- /dev/null +++ b/resources/views/components/per-page-selector.blade.php @@ -0,0 +1,10 @@ +@props([ + 'options' => [10, 25, 50, 100], + 'model' => 'perPage', +]) + + + @foreach ($options as $option) + {{ $option }} + @endforeach + diff --git a/resources/views/components/spotify-showcase.blade.php b/resources/views/components/spotify-showcase.blade.php index cc25cd2..db26cdd 100644 --- a/resources/views/components/spotify-showcase.blade.php +++ b/resources/views/components/spotify-showcase.blade.php @@ -4,7 +4,7 @@ ]) - + My Favorite Artists @@ -25,10 +25,10 @@ class="w-32 h-32 rounded-lg object-contain text-center" @endforeach - + - + My Favorite Tracks @@ -47,7 +47,7 @@ class="rounded-xl max-h-20" - + \ No newline at end of file diff --git a/resources/views/livewire/navigation.blade.php b/resources/views/livewire/navigation.blade.php index 897b65c..a6a083f 100644 --- a/resources/views/livewire/navigation.blade.php +++ b/resources/views/livewire/navigation.blade.php @@ -80,7 +80,7 @@ - + @auth @@ -184,7 +184,7 @@ - + @auth diff --git a/resources/views/livewire/pages/media/games/edit.blade.php b/resources/views/livewire/pages/media/games/edit.blade.php index f138f1d..8264850 100644 --- a/resources/views/livewire/pages/media/games/edit.blade.php +++ b/resources/views/livewire/pages/media/games/edit.blade.php @@ -20,29 +20,28 @@
-
- + +
+ + Name + Favorite + Playing + Backlog + Played Before + 100%-ed + Actions + + @forelse ($this->games as $game) - @if ($loop->first) - - Name - Favorite - Playing - Backlog - Played Before - 100%-ed - Actions - - @endif - {{ $game->name }} diff --git a/resources/views/livewire/pages/media/games/show.blade.php b/resources/views/livewire/pages/media/games/show.blade.php index f998f61..1090211 100644 --- a/resources/views/livewire/pages/media/games/show.blade.php +++ b/resources/views/livewire/pages/media/games/show.blade.php @@ -17,27 +17,22 @@ diff --git a/resources/views/livewire/pages/media/movies/edit.blade.php b/resources/views/livewire/pages/media/movies/edit.blade.php index d05646b..2b2feda 100644 --- a/resources/views/livewire/pages/media/movies/edit.blade.php +++ b/resources/views/livewire/pages/media/movies/edit.blade.php @@ -20,27 +20,26 @@
-
- + +
+ + Name + Favorite + Backlog + Completed + Actions + + @forelse ($this->medias as $media) - @if ($loop->first) - - Name - Favorite - Backlog - Completed - Actions - - @endif - {{ $media->name }} diff --git a/resources/views/livewire/pages/media/movies/show.blade.php b/resources/views/livewire/pages/media/movies/show.blade.php index a5e619f..85fbb22 100644 --- a/resources/views/livewire/pages/media/movies/show.blade.php +++ b/resources/views/livewire/pages/media/movies/show.blade.php @@ -17,17 +17,14 @@ diff --git a/resources/views/livewire/pages/media/music/edit.blade.php b/resources/views/livewire/pages/media/music/edit.blade.php index 8575d2e..3cce522 100644 --- a/resources/views/livewire/pages/media/music/edit.blade.php +++ b/resources/views/livewire/pages/media/music/edit.blade.php @@ -20,24 +20,23 @@
-
- + +
+ + Name + Actions + + @forelse ($this->artists as $artist) - @if ($loop->first) - - Name - Actions - - @endif - {{ $artist->name }} @@ -87,26 +86,25 @@ class="my-2 w-full md:w-1/4"
-
- + +
+ + Track + Artist + Album + Actions + + @forelse ($this->tracks as $track) - @if ($loop->first) - - Track - Artist - Album - Actions - - @endif - {{ $track->name }} diff --git a/resources/views/livewire/pages/media/tv/edit.blade.php b/resources/views/livewire/pages/media/tv/edit.blade.php index 921f8d1..db8708a 100644 --- a/resources/views/livewire/pages/media/tv/edit.blade.php +++ b/resources/views/livewire/pages/media/tv/edit.blade.php @@ -20,28 +20,27 @@
-
- + +
+ + Name + Favorite + Watching + Backlog + Completed + Actions + + @forelse ($this->medias as $media) - @if ($loop->first) - - Name - Favorite - Watching - Backlog - Completed - Actions - - @endif - {{ $media->name }} diff --git a/resources/views/livewire/pages/media/tv/show.blade.php b/resources/views/livewire/pages/media/tv/show.blade.php index 901cdee..58e248b 100644 --- a/resources/views/livewire/pages/media/tv/show.blade.php +++ b/resources/views/livewire/pages/media/tv/show.blade.php @@ -17,22 +17,18 @@ diff --git a/resources/views/livewire/profile/delete-user-form.blade.php b/resources/views/livewire/profile/delete-user-form.blade.php index 3b4c780..e9061ad 100644 --- a/resources/views/livewire/profile/delete-user-form.blade.php +++ b/resources/views/livewire/profile/delete-user-form.blade.php @@ -1,6 +1,6 @@
-
- +
+ Kyle