schema([ TextInput::make('name') ->label('Tenant Name') ->required() ->maxLength(255), TextInput::make('slug') ->label('Slug') ->required() ->unique(ignoreRecord: true) ->maxLength(255), TextInput::make('contact_email') ->label('Contact Email') ->email() ->required() ->maxLength(255), TextInput::make('event_credits_balance') ->label('Event Credits Balance') ->numeric() ->default(0), KeyValue::make('features') ->label('Features') ->keyLabel('Key') ->valueLabel('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('Credits'), Tables\Columns\TextColumn::make('last_activity_at')->since()->label('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'), ]; } }