Skip to content

Commit 8e1cd99

Browse files
Add all App panel resources and fix Admin panel provider
Co-authored-by: delicatacurtis <247246500+delicatacurtis@users.noreply.github.com>
1 parent 7b978df commit 8e1cd99

File tree

5 files changed

+412
-2
lines changed

5 files changed

+412
-2
lines changed
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
<?php
2+
3+
namespace App\Filament\Admin\Resources;
4+
5+
use Override;
6+
use Filament\Forms\Components\TextInput;
7+
use Filament\Forms\Components\Select;
8+
use Filament\Tables\Columns\TextColumn;
9+
use Filament\Actions\EditAction;
10+
use Filament\Actions\BulkActionGroup;
11+
use Filament\Actions\DeleteBulkAction;
12+
use App\Filament\Admin\Resources\MenuResource\Pages\ListMenus;
13+
use App\Filament\Admin\Resources\MenuResource\Pages\CreateMenu;
14+
use App\Filament\Admin\Resources\MenuResource\Pages\EditMenu;
15+
use App\Filament\Admin\Resources\MenuResource\Pages;
16+
use App\Models\Menu;
17+
use Filament\Resources\Resource;
18+
use Filament\Schemas\Schema;
19+
use Filament\Tables;
20+
use Filament\Tables\Table;
21+
22+
class MenuResource extends Resource
23+
{
24+
protected static ?string $model = Menu::class;
25+
26+
protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-bars-3';
27+
28+
protected static ?string $navigationLabel = 'Menus';
29+
30+
protected static string | \UnitEnum | null $navigationGroup = '🛠️ System';
31+
32+
protected static ?int $navigationSort = 20;
33+
34+
#[Override]
35+
public static function form(Schema $schema): Schema
36+
{
37+
return $schema
38+
->components([
39+
TextInput::make('name')
40+
->required()
41+
->maxLength(255),
42+
TextInput::make('url')
43+
->maxLength(255),
44+
Select::make('parent_id')
45+
->label('Parent Menu')
46+
->relationship('parent', 'name')
47+
->nullable(),
48+
TextInput::make('order')
49+
->numeric()
50+
->default(0),
51+
]);
52+
}
53+
54+
#[Override]
55+
public static function table(Table $table): Table
56+
{
57+
return $table
58+
->columns([
59+
TextColumn::make('name')
60+
->searchable()
61+
->sortable(),
62+
TextColumn::make('url')
63+
->searchable(),
64+
TextColumn::make('parent.name')
65+
->label('Parent')
66+
->sortable(),
67+
TextColumn::make('order')
68+
->numeric()
69+
->sortable(),
70+
TextColumn::make('created_at')
71+
->dateTime()
72+
->sortable()
73+
->toggleable(isToggledHiddenByDefault: true),
74+
TextColumn::make('updated_at')
75+
->dateTime()
76+
->sortable()
77+
->toggleable(isToggledHiddenByDefault: true),
78+
])
79+
->filters([
80+
//
81+
])
82+
->recordActions([
83+
EditAction::make(),
84+
])
85+
->toolbarActions([
86+
BulkActionGroup::make([
87+
DeleteBulkAction::make(),
88+
]),
89+
]);
90+
}
91+
92+
#[Override]
93+
public static function getRelations(): array
94+
{
95+
return [
96+
//
97+
];
98+
}
99+
100+
public static function getPages(): array
101+
{
102+
return [
103+
'index' => ListMenus::route('/'),
104+
'create' => CreateMenu::route('/create'),
105+
'edit' => EditMenu::route('/{record}/edit'),
106+
];
107+
}
108+
}
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
<?php
2+
3+
namespace App\Filament\Admin\Resources;
4+
5+
use Override;
6+
use Filament\Forms\Components\TextInput;
7+
use Filament\Tables\Columns\TextColumn;
8+
use Filament\Actions\EditAction;
9+
use Filament\Actions\BulkActionGroup;
10+
use Filament\Actions\DeleteBulkAction;
11+
use App\Filament\Admin\Resources\SiteSettingsResource\Pages\ListSiteSettings;
12+
use App\Filament\Admin\Resources\SiteSettingsResource\Pages\CreateSiteSettings;
13+
use App\Filament\Admin\Resources\SiteSettingsResource\Pages\EditSiteSettings;
14+
use App\Filament\Admin\Resources\SiteSettingsResource\Pages;
15+
use App\Models\SiteSettings;
16+
use Filament\Resources\Resource;
17+
use Filament\Schemas\Schema;
18+
use Filament\Tables;
19+
use Filament\Tables\Table;
20+
21+
class SiteSettingsResource extends Resource
22+
{
23+
protected static ?string $model = SiteSettings::class;
24+
25+
protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-cog-6-tooth';
26+
27+
protected static ?string $navigationLabel = 'Site Settings';
28+
29+
protected static string | \UnitEnum | null $navigationGroup = '⚙️ Settings';
30+
31+
protected static ?int $navigationSort = 1;
32+
33+
#[Override]
34+
public static function form(Schema $schema): Schema
35+
{
36+
return $schema
37+
->components([
38+
TextInput::make('name')
39+
->maxLength(255),
40+
TextInput::make('currency')
41+
->maxLength(255),
42+
TextInput::make('default_language')
43+
->maxLength(255),
44+
TextInput::make('address')
45+
->maxLength(255),
46+
TextInput::make('country')
47+
->maxLength(255),
48+
TextInput::make('email')
49+
->email()
50+
->maxLength(255),
51+
TextInput::make('phone_01')
52+
->maxLength(255),
53+
TextInput::make('phone_02')
54+
->maxLength(255),
55+
TextInput::make('phone_03')
56+
->maxLength(255),
57+
TextInput::make('facebook')
58+
->maxLength(255),
59+
TextInput::make('twitter')
60+
->maxLength(255),
61+
TextInput::make('github')
62+
->maxLength(255),
63+
TextInput::make('youtube')
64+
->maxLength(255),
65+
]);
66+
}
67+
68+
#[Override]
69+
public static function table(Table $table): Table
70+
{
71+
return $table
72+
->columns([
73+
TextColumn::make('name')
74+
->searchable()
75+
->sortable(),
76+
TextColumn::make('currency')
77+
->searchable(),
78+
TextColumn::make('default_language')
79+
->searchable(),
80+
TextColumn::make('email')
81+
->searchable(),
82+
TextColumn::make('created_at')
83+
->dateTime()
84+
->sortable()
85+
->toggleable(isToggledHiddenByDefault: true),
86+
TextColumn::make('updated_at')
87+
->dateTime()
88+
->sortable()
89+
->toggleable(isToggledHiddenByDefault: true),
90+
])
91+
->filters([
92+
//
93+
])
94+
->recordActions([
95+
EditAction::make(),
96+
])
97+
->toolbarActions([
98+
BulkActionGroup::make([
99+
DeleteBulkAction::make(),
100+
]),
101+
]);
102+
}
103+
104+
#[Override]
105+
public static function getRelations(): array
106+
{
107+
return [
108+
//
109+
];
110+
}
111+
112+
public static function getPages(): array
113+
{
114+
return [
115+
'index' => ListSiteSettings::route('/'),
116+
'create' => CreateSiteSettings::route('/create'),
117+
'edit' => EditSiteSettings::route('/{record}/edit'),
118+
];
119+
}
120+
}
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
<?php
2+
3+
namespace App\Filament\App\Resources;
4+
5+
use Override;
6+
use Filament\Forms\Components\TextInput;
7+
use Filament\Tables\Columns\TextColumn;
8+
use Filament\Actions\EditAction;
9+
use Filament\Actions\BulkActionGroup;
10+
use Filament\Actions\DeleteBulkAction;
11+
use App\Filament\App\Resources\DatabaseResource\Pages\ListDatabases;
12+
use App\Filament\App\Resources\DatabaseResource\Pages\CreateDatabase;
13+
use App\Filament\App\Resources\DatabaseResource\Pages\EditDatabase;
14+
use App\Filament\App\Resources\DatabaseResource\Pages;
15+
use App\Models\Tree;
16+
use Filament\Forms;
17+
use Filament\Resources\Resource;
18+
use Filament\Schemas\Schema;
19+
use Filament\Tables;
20+
use Filament\Tables\Table;
21+
22+
class DatabaseResource extends Resource
23+
{
24+
protected static ?string $model = Tree::class;
25+
26+
protected static string | \BackedEnum | null $navigationIcon = 'heroicon-o-circle-stack';
27+
28+
protected static ?string $navigationLabel = 'Databases';
29+
30+
protected static string | \UnitEnum | null $navigationGroup = '🛠️ Data Management';
31+
32+
protected static ?int $navigationSort = 1;
33+
34+
#[Override]
35+
public static function form(Schema $schema): Schema
36+
{
37+
return $schema
38+
->components([
39+
TextInput::make('name')
40+
->required()
41+
->maxLength(255),
42+
TextInput::make('description')
43+
->maxLength(255),
44+
]);
45+
}
46+
47+
#[Override]
48+
public static function table(Table $table): Table
49+
{
50+
return $table
51+
->columns([
52+
TextColumn::make('name')
53+
->searchable()
54+
->sortable(),
55+
TextColumn::make('description')
56+
->searchable(),
57+
TextColumn::make('created_at')
58+
->dateTime()
59+
->sortable()
60+
->toggleable(isToggledHiddenByDefault: true),
61+
TextColumn::make('updated_at')
62+
->dateTime()
63+
->sortable()
64+
->toggleable(isToggledHiddenByDefault: true),
65+
])
66+
->filters([
67+
//
68+
])
69+
->recordActions([
70+
EditAction::make(),
71+
])
72+
->toolbarActions([
73+
BulkActionGroup::make([
74+
DeleteBulkAction::make(),
75+
]),
76+
]);
77+
}
78+
79+
#[Override]
80+
public static function getRelations(): array
81+
{
82+
return [
83+
//
84+
];
85+
}
86+
87+
public static function getPages(): array
88+
{
89+
return [
90+
'index' => ListDatabases::route('/'),
91+
'create' => CreateDatabase::route('/create'),
92+
'edit' => EditDatabase::route('/{record}/edit'),
93+
];
94+
}
95+
}

app/Providers/Filament/AdminPanelProvider.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ class AdminPanelProvider extends PanelProvider
3434
public function panel(Panel $panel): Panel
3535
{
3636
$panel
37-
->default()
3837
->id('admin')
3938
->path('admin')
4039
->login([AuthenticatedSessionController::class, 'create'])
@@ -53,7 +52,7 @@ public function panel(Panel $panel): Panel
5352
? url(EditProfile::getUrl())
5453
: url($panel->getPath())),
5554
])
56-
->discoverResources(in: app_path('Filament/App/Resources'), for: 'App\\Filament\\App\\Resources')
55+
->discoverResources(in: app_path('Filament/Admin/Resources'), for: 'App\\Filament\\Admin\\Resources')
5756
->discoverPages(in: app_path('Filament/Admin/Pages'), for: 'App\\Filament\\Admin\\Pages')
5857
->pages([
5958
FilamentPage\Dashboard::class,

0 commit comments

Comments
 (0)