mirror of
https://github.com/AnimeThemes/animethemes-server.git
synced 2026-07-11 01:24:46 +02:00
feat(filament): navigation groups (#959)
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Enums\Filament;
|
||||
|
||||
use Filament\Support\Contracts\HasLabel;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
enum NavigationGroup implements HasLabel
|
||||
{
|
||||
case CONTENT;
|
||||
case ADMIN;
|
||||
case AUTH;
|
||||
case DOCUMENT;
|
||||
case DISCORD;
|
||||
case LIST;
|
||||
case USER;
|
||||
|
||||
public function getLabel(): string
|
||||
{
|
||||
return Str::of($this->name)
|
||||
->lower()
|
||||
->pascal()
|
||||
->__toString();
|
||||
}
|
||||
}
|
||||
@@ -32,14 +32,24 @@ class PerformanceCreated extends WikiCreatedEvent implements SyncArtistSongEvent
|
||||
protected function getDiscordMessageDescription(): string
|
||||
{
|
||||
$performance = $this->getModel();
|
||||
|
||||
$song = $performance->song;
|
||||
$artist = $performance->artist;
|
||||
|
||||
$artistName = $performance->alias ?? $artist->getName();
|
||||
$artistName = filled($performance->as) ? "{$performance->as} (CV: {$artistName})" : $artistName;
|
||||
|
||||
if ($this->getModel()->isMembership()) {
|
||||
return "Song '**{$song->getName()}**' has been attached to Artist '**{$artist->member->getName()}**' as member of '**{$artist->group->getName()}**'.";
|
||||
$groupName = $artistName;
|
||||
$membership = $artist;
|
||||
|
||||
$memberName = $membership->alias ?? $membership->member->getName();
|
||||
$memberName = filled($membership->as) ? "{$membership->as} (CV: {$memberName})" : $memberName;
|
||||
|
||||
return "Song '**{$song->getName()}**' has been attached to Member '**{$memberName}**' of '**{$groupName}**'.";
|
||||
}
|
||||
|
||||
return "Song '**{$song->getName()}**' has been attached to Artist '**{$artist->getName()}**'.";
|
||||
return "Song '**{$song->getName()}**' has been attached to Artist '**{$artistName}**'.";
|
||||
}
|
||||
|
||||
public function updateRelatedIndices(): void
|
||||
|
||||
@@ -35,14 +35,24 @@ class PerformanceDeleted extends WikiDeletedEvent implements SyncArtistSongEvent
|
||||
protected function getDiscordMessageDescription(): string
|
||||
{
|
||||
$performance = $this->getModel();
|
||||
|
||||
$song = $performance->song;
|
||||
$artist = $performance->artist;
|
||||
|
||||
if ($performance->isMembership()) {
|
||||
return "Song '**{$song->getName()}**' has been detached from Artist '**{$artist->member->getName()}**' via Group '**{$artist->group->getName()}**'.";
|
||||
$artistName = $performance->alias ?? $artist->getName();
|
||||
$artistName = filled($performance->as) ? "{$performance->as} (CV: {$artistName})" : $artistName;
|
||||
|
||||
if ($this->getModel()->isMembership()) {
|
||||
$groupName = $artistName;
|
||||
$membership = $artist;
|
||||
|
||||
$memberName = $membership->alias ?? $membership->member->getName();
|
||||
$memberName = filled($membership->as) ? "{$membership->as} (CV: {$memberName})" : $memberName;
|
||||
|
||||
return "Song '**{$song->getName()}**' has been detached from Member '**{$memberName}**' of '**{$groupName}**'.";
|
||||
}
|
||||
|
||||
return "Song '**{$song->getName()}**' has been detached from Artist '**{$artist->getName()}**'.";
|
||||
return "Song '**{$song->getName()}**' has been detached from Artist '**{$artistName}**'.";
|
||||
}
|
||||
|
||||
protected function getNotificationMessage(): string
|
||||
|
||||
@@ -8,7 +8,6 @@ use App\Concerns\Filament\ActionLogs\HasPivotActionLogs;
|
||||
use App\Filament\Components\Fields\Select;
|
||||
use App\Filament\RelationManagers\BaseRelationManager;
|
||||
use App\Models\Admin\ActionLog;
|
||||
use App\Models\Wiki\ExternalResource;
|
||||
use App\Models\Wiki\Image;
|
||||
use Filament\Actions\AttachAction as BaseAttachAction;
|
||||
use Filament\Facades\Filament;
|
||||
@@ -84,6 +83,6 @@ class AttachAction extends BaseAttachAction
|
||||
*/
|
||||
private function shouldShowCreateOption(string $model): bool
|
||||
{
|
||||
return ! ($model === Image::class || $model === ExternalResource::class);
|
||||
return ! ($model === Image::class);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ namespace App\Filament\Actions\Base;
|
||||
|
||||
use App\Concerns\Filament\ActionLogs\HasPivotActionLogs;
|
||||
use App\Filament\RelationManagers\BaseRelationManager;
|
||||
use App\Filament\RelationManagers\Wiki\ResourceRelationManager;
|
||||
use App\Filament\Resources\Base\BaseListResources;
|
||||
use App\Filament\Resources\Base\BaseManageResources;
|
||||
use App\Models\Admin\ActionLog;
|
||||
@@ -60,10 +59,6 @@ class CreateAction extends BaseCreateAction
|
||||
return $livewire->getResource()::canCreate() && Gate::allows('create', $model);
|
||||
}
|
||||
|
||||
if ($livewire instanceof ResourceRelationManager) {
|
||||
return $livewire->canCreate();
|
||||
}
|
||||
|
||||
if (! $livewire->canCreate()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\RelationManagers\Wiki;
|
||||
|
||||
use App\Enums\Auth\Role;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\TextInput;
|
||||
use App\Filament\RelationManagers\BaseRelationManager;
|
||||
@@ -15,7 +14,6 @@ use App\Pivots\Morph\Resourceable;
|
||||
use Filament\Schemas\Components\Component;
|
||||
use Filament\Tables\Columns\Column;
|
||||
use Filament\Tables\Table;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class ResourceRelationManager extends BaseRelationManager
|
||||
{
|
||||
@@ -62,9 +60,4 @@ class ResourceRelationManager extends BaseRelationManager
|
||||
->defaultSort(ExternalResource::TABLE.'.'.ExternalResource::ATTRIBUTE_ID, 'desc')
|
||||
);
|
||||
}
|
||||
|
||||
public function canCreate(): bool
|
||||
{
|
||||
return Auth::user()->hasRole(Role::ADMIN->value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Filament\Resources\Admin;
|
||||
|
||||
use App\Enums\Auth\Role;
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\Admin\ActionLogStatus;
|
||||
use App\Filament\Actions\Base\ViewAction;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
@@ -51,9 +52,9 @@ class ActionLog extends BaseResource
|
||||
return __('filament.resources.label.action_logs');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.admin');
|
||||
return NavigationGroup::ADMIN;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Admin;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Infolist\TextEntry;
|
||||
use App\Filament\Components\Infolist\TimestampSection;
|
||||
@@ -39,9 +40,9 @@ class Announcement extends BaseResource
|
||||
return __('filament.resources.label.announcements');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.admin');
|
||||
return NavigationGroup::ADMIN;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Admin;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Repositories\Storage\Admin\Dump\ReconcileDumpAction;
|
||||
use App\Filament\Actions\Storage\Admin\DumpDocumentAction;
|
||||
use App\Filament\Actions\Storage\Admin\DumpWikiAction;
|
||||
@@ -41,9 +42,9 @@ class Dump extends BaseResource
|
||||
return __('filament.resources.label.dumps');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.admin');
|
||||
return NavigationGroup::ADMIN;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Filament\Resources\Admin;
|
||||
|
||||
use App\Constants\FeatureConstants;
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\TextInput;
|
||||
use App\Filament\Components\Infolist\TextEntry;
|
||||
@@ -38,9 +39,9 @@ class Feature extends BaseResource
|
||||
return __('filament.resources.label.features');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.admin');
|
||||
return NavigationGroup::ADMIN;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Admin;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\BelongsTo;
|
||||
@@ -51,9 +52,9 @@ class FeaturedTheme extends BaseResource
|
||||
return __('filament.resources.label.featured_themes');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.admin');
|
||||
return NavigationGroup::ADMIN;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Auth;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Models\Auth\Permission\GiveRoleAction;
|
||||
use App\Filament\Actions\Models\Auth\Permission\RevokeRoleAction;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -42,9 +43,9 @@ class Permission extends BaseResource
|
||||
return __('filament.resources.label.permissions');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.auth');
|
||||
return NavigationGroup::AUTH;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Auth;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Models\Auth\Role\GivePermissionAction;
|
||||
use App\Filament\Actions\Models\Auth\Role\RevokePermissionAction;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -50,9 +51,9 @@ class Role extends BaseResource
|
||||
return __('filament.resources.label.roles');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.auth');
|
||||
return NavigationGroup::AUTH;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Auth;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Models\Auth\User\GivePermissionAction;
|
||||
use App\Filament\Actions\Models\Auth\User\GiveRoleAction;
|
||||
use App\Filament\Actions\Models\Auth\User\RevokePermissionAction;
|
||||
@@ -47,9 +48,9 @@ class User extends BaseResource
|
||||
return __('filament.resources.label.users');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.auth');
|
||||
return NavigationGroup::AUTH;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Filament\Resources\Discord;
|
||||
|
||||
use App\Actions\Discord\DiscordThreadAction;
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Models\Discord\DiscordEditMessageAction;
|
||||
use App\Filament\Actions\Models\Discord\DiscordSendMessageAction;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
@@ -50,9 +51,9 @@ class DiscordThread extends BaseResource
|
||||
return __('filament.resources.label.discord_threads');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.discord');
|
||||
return NavigationGroup::DISCORD;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Document;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\TextInput;
|
||||
use App\Filament\Components\Infolist\TextEntry;
|
||||
@@ -39,9 +40,9 @@ class Page extends BaseResource
|
||||
return __('filament.resources.label.pages');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.document');
|
||||
return NavigationGroup::DOCUMENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
+3
-2
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\List\External;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\List\ExternalEntryWatchStatus;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -51,9 +52,9 @@ class ExternalEntry extends BaseResource
|
||||
return __('filament.resources.label.external_entries');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.list');
|
||||
return NavigationGroup::LIST;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\List;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\List\ExternalProfileSite;
|
||||
use App\Enums\Models\List\ExternalProfileVisibility;
|
||||
use App\Filament\Actions\Models\List\External\SyncExternalProfileAction;
|
||||
@@ -48,9 +49,9 @@ class ExternalProfile extends BaseResource
|
||||
return __('filament.resources.label.external_profiles');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.list');
|
||||
return NavigationGroup::LIST;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\List;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\List\PlaylistVisibility;
|
||||
use App\Filament\Actions\Models\List\AssignHashidsAction;
|
||||
use App\Filament\Actions\Models\List\Playlist\FixPlaylistAction;
|
||||
@@ -51,9 +52,9 @@ class Playlist extends BaseResource
|
||||
return __('filament.resources.label.playlists');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.list');
|
||||
return NavigationGroup::LIST;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\List\Playlist;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Models\List\AssignHashidsAction;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -54,9 +55,9 @@ class Track extends BaseResource
|
||||
return __('filament.resources.label.playlist_tracks');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.list');
|
||||
return NavigationGroup::LIST;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\User;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\User\ApprovableStatus;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -43,9 +44,9 @@ class Report extends BaseResource
|
||||
return __('filament.resources.label.reports');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.user');
|
||||
return NavigationGroup::USER;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Filament\Resources\User\Report;
|
||||
|
||||
use App\Contracts\Models\Nameable;
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\User\ApprovableStatus;
|
||||
use App\Enums\Models\User\ReportActionType;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
@@ -46,9 +47,9 @@ class ReportStep extends BaseResource
|
||||
return __('filament.resources.label.report_steps');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.user');
|
||||
return NavigationGroup::USER;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\Wiki\AnimeMediaFormat;
|
||||
use App\Enums\Models\Wiki\AnimeSeason;
|
||||
use App\Enums\Models\Wiki\ResourceSite;
|
||||
@@ -55,9 +56,9 @@ class Anime extends BaseResource
|
||||
return __('filament.resources.label.anime');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki\Anime;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\Wiki\AnimeSynonymType;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -49,9 +50,9 @@ class Synonym extends BaseResource
|
||||
return __('filament.resources.label.anime_synonyms');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki\Anime;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\Wiki\ThemeType;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -71,9 +72,9 @@ class Theme extends BaseResource
|
||||
return __('filament.resources.label.anime_themes');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||
namespace App\Filament\Resources\Wiki\Anime\Theme;
|
||||
|
||||
use App\Actions\Models\Wiki\AttachResourceAction;
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\Wiki\ResourceSite;
|
||||
use App\Enums\Models\Wiki\ThemeType;
|
||||
use App\Filament\Actions\Models\Wiki\Anime\Theme\Entry\AttachEntryResourceAction;
|
||||
@@ -66,9 +67,9 @@ class Entry extends BaseResource
|
||||
return __('filament.resources.label.anime_theme_entries');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Models\Wiki\Artist\AttachArtistResourceAction;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\Slug;
|
||||
@@ -49,9 +50,9 @@ class Artist extends BaseResource
|
||||
return __('filament.resources.label.artists');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Repositories\Storage\Wiki\Audio\ReconcileAudioAction;
|
||||
use App\Filament\Actions\Storage\Wiki\Audio\DeleteAudioAction;
|
||||
use App\Filament\Actions\Storage\Wiki\Audio\MoveAudioAction;
|
||||
@@ -45,9 +46,9 @@ class Audio extends BaseResource
|
||||
return __('filament.resources.label.audios');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\Wiki\ResourceSite;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\Select;
|
||||
@@ -48,9 +49,9 @@ class ExternalResource extends BaseResource
|
||||
return __('filament.resources.label.external_resources');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\TextInput;
|
||||
use App\Filament\Components\Infolist\TextEntry;
|
||||
@@ -39,9 +40,9 @@ class Group extends BaseResource
|
||||
return __('filament.resources.label.groups');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\Wiki\ImageFacet;
|
||||
use App\Filament\Actions\Models\Wiki\Image\UploadImageAction;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -49,9 +50,9 @@ class Image extends BaseResource
|
||||
return __('filament.resources.label.images');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\Slug;
|
||||
use App\Filament\Components\Fields\TextInput;
|
||||
@@ -40,9 +41,9 @@ class Series extends BaseResource
|
||||
return __('filament.resources.label.series');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Models\Wiki\Song\AttachSongResourceAction;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\TextInput;
|
||||
@@ -42,9 +43,9 @@ class Song extends BaseResource
|
||||
return __('filament.resources.label.songs');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki\Song;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
use App\Filament\Components\Fields\BelongsTo;
|
||||
@@ -43,9 +44,9 @@ class Membership extends BaseResource
|
||||
return __('filament.resources.label.memberships');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki\Song;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Http\Api\Filter\ComparisonOperator;
|
||||
use App\Filament\Components\Columns\BelongsToColumn;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -51,9 +52,9 @@ class Performance extends BaseResource
|
||||
return __('filament.resources.label.performances');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Models\Wiki\Studio\AttachStudioResourceAction;
|
||||
use App\Filament\Actions\Models\Wiki\Studio\BackfillStudioAction;
|
||||
use App\Filament\Components\Columns\TextColumn;
|
||||
@@ -44,9 +45,9 @@ class Studio extends BaseResource
|
||||
return __('filament.resources.label.studios');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Enums\Models\Wiki\VideoOverlap;
|
||||
use App\Enums\Models\Wiki\VideoSource;
|
||||
use App\Filament\Actions\Models\Wiki\Video\BackfillAudioAction;
|
||||
@@ -61,9 +62,9 @@ class Video extends BaseResource
|
||||
return __('filament.resources.label.videos');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Filament\Resources\Wiki\Video;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Actions\Repositories\Storage\Wiki\Video\Script\ReconcileScriptAction;
|
||||
use App\Filament\Actions\Storage\Wiki\Video\Script\DeleteScriptAction;
|
||||
use App\Filament\Actions\Storage\Wiki\Video\Script\MoveScriptAction;
|
||||
@@ -43,9 +44,9 @@ class Script extends BaseResource
|
||||
return __('filament.resources.label.video_scripts');
|
||||
}
|
||||
|
||||
public static function getNavigationGroup(): string
|
||||
public static function getNavigationGroup(): NavigationGroup
|
||||
{
|
||||
return __('filament.resources.group.wiki');
|
||||
return NavigationGroup::CONTENT;
|
||||
}
|
||||
|
||||
public static function getNavigationIcon(): Heroicon
|
||||
|
||||
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use App\Enums\Filament\NavigationGroup;
|
||||
use App\Filament\Components\Fields\TextInput;
|
||||
use App\Filament\Providers\GlobalSearchScoutProvider;
|
||||
use Awcodes\Recently\RecentlyPlugin;
|
||||
@@ -103,6 +104,7 @@ class FilamentPanelProvider extends PanelProvider
|
||||
FilamentApexChartsPlugin::make(),
|
||||
RecentlyPlugin::make()->rounded(),
|
||||
])
|
||||
->navigationGroups(NavigationGroup::class)
|
||||
->middleware([
|
||||
EncryptCookies::class,
|
||||
AddQueuedCookiesToResponse::class,
|
||||
|
||||
@@ -961,15 +961,6 @@ return [
|
||||
],
|
||||
],
|
||||
'resources' => [
|
||||
'group' => [
|
||||
'admin' => 'Admin',
|
||||
'auth' => 'Auth',
|
||||
'discord' => 'Discord',
|
||||
'document' => 'Document',
|
||||
'list' => 'List',
|
||||
'user' => 'User',
|
||||
'wiki' => 'Wiki',
|
||||
],
|
||||
'label' => [
|
||||
'action_logs' => 'Action Logs',
|
||||
'anime_synonyms' => 'Anime Synonyms',
|
||||
|
||||
Reference in New Issue
Block a user