feat(client): add client's page + CRUD operations modals

This commit is contained in:
2026-03-13 05:09:55 +08:00
parent 3948505a30
commit bbf7dfad2e
13 changed files with 588 additions and 14 deletions

View File

@@ -1,6 +1,4 @@
// src/components/FilterBar.tsx
import { Search, ArrowUpDown } from 'lucide-react';
import { useTranslation } from '../hooks/useTranslation';
interface FilterBarProps {
searchQuery: string;
@@ -8,11 +6,10 @@ interface FilterBarProps {
ordering: string;
setOrdering: (val: string) => void;
orderingOptions: { value: string; label: string }[];
searchPlaceholder: string;
}
export default function FilterBar({ searchQuery, setSearchQuery, ordering, setOrdering, orderingOptions }: FilterBarProps) {
const { t } = useTranslation();
export default function FilterBar({ searchQuery, setSearchQuery, ordering, setOrdering, orderingOptions, searchPlaceholder }: FilterBarProps) {
return (
<div className="flex flex-col sm:flex-row gap-4 mb-6">
<div className="relative flex-1">
@@ -21,7 +18,7 @@ export default function FilterBar({ searchQuery, setSearchQuery, ordering, setOr
type="text"
value={searchQuery}
onChange={(e) => setSearchQuery(e.target.value)}
placeholder={t.workspace?.searchPlaceholder || 'Search...'}
placeholder={searchPlaceholder || "Search..."}
className="w-full pl-10 pr-4 py-2.5 rounded-xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 text-slate-900 dark:text-white outline-none focus:ring-2 focus:ring-blue-500 transition-shadow"
/>
</div>