@@ -219,7 +219,7 @@ class AuthenticationLogsRelationManager extends RelationManager
219219 ->searchable()
220220 ->sortable(),
221221 Tables\Columns\TextColumn::make('device_name')
222- ->label('Browser/ Device')
222+ ->label('Device')
223223 ->searchable()
224224 ->default('Unknown Device'),
225225 Tables\Columns\TextColumn::make('user_agent')
@@ -229,23 +229,28 @@ class AuthenticationLogsRelationManager extends RelationManager
229229 ->toggleable(isToggledHiddenByDefault: true),
230230 Tables\Columns\TextColumn::make('location')
231231 ->label('Location')
232- ->searchable(query: function (Builder $query, string $search): Builder {
233- return $query
234- ->where('location->city', 'like', "%{$search}%")
235- ->orWhere('location->state', 'like', "%{$search}%")
236- ->orWhere('location->state_name', 'like', "%{$search}%")
237- ->orWhere('location->postal_code', 'like', "%{$search}%");
238- })
239- ->formatStateUsing(function ($state) {
240- if (!$state || ($state['default'] ?? false)) {
232+ ->getStateUsing(function ($record) {
233+ $location = $record->location;
234+
235+ if (!$location || !is_array($location)) {
241236 return '-';
242237 }
243- return ($state['city'] ?? 'Unknown City') . ', ' . ($state['state'] ?? 'Unknown State');
244- }),
245- Tables\Columns\TextColumn::make('device_name')
246- ->label('Device')
247- ->default('Unknown')
248- ->searchable(),
238+
239+ // Don't show default/fallback locations
240+ if ($location['default'] ?? false) {
241+ return '-';
242+ }
243+
244+ $city = $location['city'] ?? null;
245+ $state = $location['state'] ?? $location['state_name'] ?? null;
246+
247+ if (!$city && !$state) {
248+ return '-';
249+ }
250+
251+ return trim(($city ?? '') . ($city && $state ? ', ' : '') . ($state ?? '')) ?: '-';
252+ })
253+ ->searchable(false),
249254 Tables\Columns\IconColumn::make('login_successful')
250255 ->label('Status')
251256 ->boolean()
@@ -268,17 +273,17 @@ class AuthenticationLogsRelationManager extends RelationManager
268273 ->label('Login At')
269274 ->dateTime()
270275 ->sortable()
271- ->default ('-'),
276+ ->placeholder ('-'),
272277 Tables\Columns\TextColumn::make('logout_at')
273278 ->label('Logout At')
274279 ->dateTime()
275280 ->sortable()
276- ->default ('-'),
281+ ->placeholder ('-'),
277282 Tables\Columns\TextColumn::make('last_activity_at')
278283 ->label('Last Activity')
279284 ->dateTime()
280285 ->sortable()
281- ->default ('-'),
286+ ->placeholder ('-'),
282287 ])
283288 ->filters([
284289 Tables\Filters\TernaryFilter::make('login_successful')
@@ -304,7 +309,6 @@ class AuthenticationLogsRelationManager extends RelationManager
304309 ),
305310 ])
306311 ->defaultSort('login_at', 'desc');
307- // ->poll('30s'); // Optional: auto-refresh every 30 seconds
308312 }
309313}
310314```
0 commit comments