Initial commit

This commit is contained in:
root
2026-05-09 17:28:23 +02:00
commit 9d73f82529
5575 changed files with 281989 additions and 0 deletions
+128
View File
@@ -0,0 +1,128 @@
<?php
namespace App\Filament\Resources\Atom;
use App\Filament\Resources\Atom\HelpQuestionResource\Pages\CreateHelpQuestion;
use App\Filament\Resources\Atom\HelpQuestionResource\Pages\EditHelpQuestion;
use App\Filament\Resources\Atom\HelpQuestionResource\Pages\ListHelpQuestions;
use App\Filament\Resources\Atom\HelpQuestionResource\Pages\ViewHelpQuestion;
use App\Filament\Resources\Atom\HelpQuestionResource\RelationManagers\CategoriesRelationManager;
use App\Filament\Traits\TranslatableResource;
use App\Models\Help\WebsiteHelpCenterTicket;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Toggle;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\ToggleColumn;
use Filament\Tables\Table;
class HelpQuestionResource extends Resource
{
use TranslatableResource;
#[\Override]
protected static ?string $model = WebsiteHelpCenterTicket::class;
#[\Override]
protected static string|\BackedEnum|null $navigationIcon = 'heroicon-o-question-mark-circle';
#[\Override]
protected static string|\UnitEnum|null $navigationGroup = 'Help Center';
#[\Override]
protected static ?string $slug = 'help/questions';
public static string $translateIdentifier = 'help-questions';
#[\Override]
public static function form(Schema $schema): Schema
{
return $schema
->components(static::getForm());
}
public static function getForm(bool $forRelationManager = false): array
{
return [
TextInput::make('title')
->label(__('Title'))
->required()
->maxLength(255),
Textarea::make('content')
->label(__('Content'))
->required(),
Select::make('category_id')
->label(__('Category'))
->relationship('category', 'name')
->required()
->visible(! $forRelationManager),
Select::make('user_id')
->label(__('User'))
->relationship('user', 'username')
->required(),
Toggle::make('open')
->label(__('Open'))
->default(true),
];
}
#[\Override]
public static function table(Table $table): Table
{
return $table
->columns(static::getTable());
}
public static function getTable(): array
{
return [
TextColumn::make('id')
->label(__('ID'))
->sortable(),
TextColumn::make('title')
->label(__('Title'))
->searchable(),
TextColumn::make('user.username')
->label(__('User'))
->searchable(),
TextColumn::make('category.name')
->label(__('Category')),
ToggleColumn::make('open')
->label(__('Open')),
TextColumn::make('created_at')
->label(__('Created'))
->dateTime(),
];
}
#[\Override]
public static function getRelations(): array
{
return [
CategoriesRelationManager::class,
];
}
#[\Override]
public static function getPages(): array
{
return [
'index' => ListHelpQuestions::route('/'),
'create' => CreateHelpQuestion::route('/create'),
'view' => ViewHelpQuestion::route('/{record}'),
'edit' => EditHelpQuestion::route('/{record}/edit'),
];
}
}