schema([ TextInput::make('name') ->label(__('admin.tenants.fields.name')) ->required() ->maxLength(255), TextInput::make('slug') ->label(__('admin.tenants.fields.slug')) ->required() ->unique(ignoreRecord: true) ->maxLength(255), TextInput::make('contact_email') ->label(__('admin.tenants.fields.contact_email')) ->email() ->required() ->maxLength(255), TextInput::make('event_credits_balance') ->label(__('admin.tenants.fields.event_credits_balance')) ->numeric() ->default(0), KeyValue::make('features') ->label(__('admin.tenants.fields.features')) ->keyLabel(__('admin.common.key')) ->valueLabel(__('admin.common.value')), ])->columns(2); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('id')->sortable(), Tables\Columns\TextColumn::make('name')->searchable()->sortable(), Tables\Columns\TextColumn::make('slug')->searchable(), Tables\Columns\TextColumn::make('contact_email'), Tables\Columns\TextColumn::make('event_credits_balance')->label(__('admin.common.credits')), Tables\Columns\TextColumn::make('last_activity_at')->since()->label(__('admin.common.last_activity')), Tables\Columns\TextColumn::make('created_at')->dateTime()->toggleable(isToggledHiddenByDefault: true), ]) ->filters([]) ->actions([ Actions\EditAction::make(), ]) ->bulkActions([ Actions\DeleteBulkAction::make(), ]); } public static function getPages(): array { return [ 'index' => Pages\ListTenants::route('/'), 'view' => Pages\ViewTenant::route('/{record}'), 'edit' => Pages\EditTenant::route('/{record}/edit'), ]; } }