schema([ Select::make('emotion_id')->relationship('emotion', 'name')->required()->searchable()->preload(), Select::make('event_type_id')->relationship('eventType', 'name')->searchable()->preload()->label('Event Type (optional)'), KeyValue::make('title')->label('Title (de/en)')->default(['de' => '', 'en' => ''])->required(), KeyValue::make('description')->label('Description (de/en)'), Select::make('difficulty')->options([ 'easy' => 'Easy', 'medium' => 'Medium', 'hard' => 'Hard', ])->default('easy'), KeyValue::make('example_text')->label('Example (de/en)'), TextInput::make('sort_order')->numeric()->default(0), Toggle::make('is_active')->default(true), ])->columns(2); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('id')->sortable(), Tables\Columns\TextColumn::make('emotion.name')->label('Emotion')->sortable()->searchable(), Tables\Columns\TextColumn::make('eventType.name')->label('Event Type')->toggleable(), Tables\Columns\TextColumn::make('title')->searchable()->limit(40), Tables\Columns\TextColumn::make('difficulty')->badge(), Tables\Columns\IconColumn::make('is_active')->boolean(), Tables\Columns\TextColumn::make('sort_order')->sortable(), ]) ->filters([]) ->actions([ Actions\EditAction::make(), Actions\DeleteAction::make(), ]) ->bulkActions([ Actions\DeleteBulkAction::make(), ]); } public static function getPages(): array { return [ 'index' => Pages\ManageTasks::route('/'), 'import' => Pages\ImportTasks::route('/import'), ]; } }