columns([ TextColumn::make('id') ->label('ID') ->searchable() ->copyable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('name') ->label('Nom') ->searchable(), TextColumn::make('email') ->label('Adresse email') ->searchable(), TextColumn::make('email_verified_at') ->label('Email vérifié le') ->dateTime() ->sortable() ->placeholder('Non vérifié'), TextColumn::make('account_verified_at') ->label('Compte vérifié le') ->dateTime() ->sortable() ->placeholder('Non vérifié') ->toggleable(isToggledHiddenByDefault: true), ImageColumn::make('avatar_url') ->label('Avatar') ->disk('public') ->circular(), TextColumn::make('sex') ->label('Sexe') ->badge() ->sortable(), TextColumn::make('date_of_birth') ->label('Date de naissance') ->date() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('height') ->label('Taille') ->numeric(decimalPlaces: 0) ->suffix(' cm') ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('physical_activity_level') ->label('Activité') ->badge() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('weight_goal') ->label('Objectif poids') ->badge() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('pace_preference') ->label('Rythme') ->badge() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('daily_calorie_goal') ->label('Calories') ->numeric(decimalPlaces: 0) ->suffix(' kcal') ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('daily_protein_goal') ->label('Protéines') ->numeric(maxDecimalPlaces: 2) ->suffix(' g') ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('daily_carbs_goal') ->label('Glucides') ->numeric(maxDecimalPlaces: 2) ->suffix(' g') ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('daily_fats_goal') ->label('Lipides') ->numeric(maxDecimalPlaces: 2) ->suffix(' g') ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('bio') ->label('Bio') ->limit(50) ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('created_at') ->label('Créé le') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), TextColumn::make('updated_at') ->label('Mis à jour le') ->dateTime() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ SelectFilter::make('sex') ->label('Sexe') ->options(UserSex::class), SelectFilter::make('physical_activity_level') ->label('Activité') ->options(PhysicalActivityLevel::class), SelectFilter::make('weight_goal') ->label('Objectif poids') ->options(WeightGoal::class), SelectFilter::make('pace_preference') ->label('Rythme') ->options(PacePreference::class), TernaryFilter::make('email_verified_at') ->label('Email vérifié') ->nullable(), TernaryFilter::make('account_verified_at') ->label('Compte vérifié') ->nullable(), ]) ->recordActions([ ViewAction::make(), EditAction::make(), ]) ->toolbarActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]); } }