schema([]); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('name')->label('Nama')->searchable(), TextColumn::make('subject')->label('Subjek')->searchable()->limit(40), TextColumn::make('email')->label('Email'), TextColumn::make('phone')->label('Telepon')->default('-'), TextColumn::make('read_at')->label('Dibaca') ->badge() ->state(fn ($record) => $record->read_at ? 'Sudah dibaca' : 'Belum dibaca') ->color(fn ($record) => $record->read_at ? 'success' : 'warning'), TextColumn::make('created_at')->label('Diterima')->dateTime('d M Y H:i')->sortable(), ]) ->defaultSort('created_at', 'desc') ->recordActions([ ViewAction::make() ->after(fn ($record) => $record->read_at ?? $record->update(['read_at' => now()])), ]) ->toolbarActions([BulkActionGroup::make([DeleteBulkAction::make()])]); } public static function getPages(): array { return [ 'index' => ListContactMessages::route('/'), 'view' => ViewContactMessage::route('/{record}'), ]; } }