'use client'; import { ServiceStatus } from '@/src/types/service'; interface DashboardFiltersProps { searchQuery: string; onSearchChange: (query: string) => void; selectedCategory: string; onCategoryChange: (category: string) => void; selectedStatus: ServiceStatus | 'all'; onStatusChange: (status: ServiceStatus | 'all') => void; categories: string[]; onRefresh: () => void; isRefreshing: boolean; visibleCount: number; totalCount: number; lastUpdated: string | null; } export function DashboardFilters({ searchQuery, onSearchChange, selectedCategory, onCategoryChange, selectedStatus, onStatusChange, categories, onRefresh, isRefreshing, visibleCount, totalCount, lastUpdated, }: DashboardFiltersProps) { const formatLastUpdated = (timestamp: string) => { const date = new Date(timestamp); return date.toLocaleTimeString('de-DE', { hour: '2-digit', minute: '2-digit', second: '2-digit', }); }; return (
{/* Search and Refresh Row */}
onSearchChange(e.target.value)} className="w-full px-4 py-2 border border-slate-300 dark:border-slate-600 rounded-lg bg-white dark:bg-slate-800 text-slate-900 dark:text-slate-100 placeholder-slate-500 dark:placeholder-slate-400 focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors" />
{/* Filters Row */}
{/* Category Filter */}
Kategorie:
{/* Status Filter */}
Status:
{/* Stats */}
{visibleCount} von {totalCount} Diensten {lastUpdated && ( Letzte Aktualisierung: {formatLastUpdated(lastUpdated)} )}
); }