diff --git a/packages/frontend/src/routes/admin/articles/+page.svelte b/packages/frontend/src/routes/admin/articles/+page.svelte index 1072eca..3e38cf2 100644 --- a/packages/frontend/src/routes/admin/articles/+page.svelte +++ b/packages/frontend/src/routes/admin/articles/+page.svelte @@ -8,7 +8,7 @@ import { getAssetUrl } from "$lib/api"; import { Button } from "$lib/components/ui/button"; import { Input } from "$lib/components/ui/input"; - import { Select, SelectContent, SelectItem, SelectTrigger } from "$lib/components/ui/select"; + import { FilterPills } from "$lib/components/ui/filter-pills"; import * as Dialog from "$lib/components/ui/dialog"; import type { Article } from "$lib/types"; import TimeAgo from "javascript-time-ago"; @@ -95,30 +95,30 @@ debounceSearch(searchValue); }} /> - - +
+ setFilter("category", v === "all" ? null : v)} + /> + setFilter("featured", v === "all" ? null : "true")} + /> +
diff --git a/packages/frontend/src/routes/admin/queues/+page.svelte b/packages/frontend/src/routes/admin/queues/+page.svelte index 76b7f64..4eb524b 100644 --- a/packages/frontend/src/routes/admin/queues/+page.svelte +++ b/packages/frontend/src/routes/admin/queues/+page.svelte @@ -7,6 +7,7 @@ import { adminRetryJob, adminRemoveJob, adminPauseQueue, adminResumeQueue } from "$lib/services"; import { Button } from "$lib/components/ui/button"; import { Badge } from "$lib/components/ui/badge"; + import { FilterPills } from "$lib/components/ui/filter-pills"; import type { Job } from "$lib/services"; import Meta from "$lib/components/meta/meta.svelte"; import Pagination from "$lib/components/pagination/pagination.svelte"; @@ -176,15 +177,13 @@ {#if data.queue} -
- {#each STATUS_FILTERS as f (f.value ?? "all")} - - {/each} +
+ ({ value: f.value ?? "all", label: f.label }))} + onchange={(v) => selectStatus(v === "all" ? null : v)} + />
diff --git a/packages/frontend/src/routes/admin/recordings/+page.svelte b/packages/frontend/src/routes/admin/recordings/+page.svelte index 640fdba..974d820 100644 --- a/packages/frontend/src/routes/admin/recordings/+page.svelte +++ b/packages/frontend/src/routes/admin/recordings/+page.svelte @@ -8,6 +8,7 @@ import { Button } from "$lib/components/ui/button"; import { Input } from "$lib/components/ui/input"; import { Badge } from "$lib/components/ui/badge"; + import { FilterPills } from "$lib/components/ui/filter-pills"; import * as Dialog from "$lib/components/ui/dialog"; import type { Recording } from "$lib/types"; import TimeAgo from "javascript-time-ago"; @@ -85,20 +86,15 @@ debounceSearch(searchValue); }} /> -
- - - -
+ setFilter("status", v === "all" ? null : v)} + />
diff --git a/packages/frontend/src/routes/admin/users/+page.svelte b/packages/frontend/src/routes/admin/users/+page.svelte index 37d8bb7..2ee712b 100644 --- a/packages/frontend/src/routes/admin/users/+page.svelte +++ b/packages/frontend/src/routes/admin/users/+page.svelte @@ -10,6 +10,7 @@ import { Input } from "$lib/components/ui/input"; import { Select, SelectContent, SelectItem, SelectTrigger } from "$lib/components/ui/select"; import { Badge } from "$lib/components/ui/badge"; + import { FilterPills } from "$lib/components/ui/filter-pills"; import * as Dialog from "$lib/components/ui/dialog"; import type { User } from "$lib/types"; import Meta from "$lib/components/meta/meta.svelte"; @@ -108,16 +109,15 @@ }} /> -
- {#each roles as role (role)} - - {/each} -
+ setRole(v)} + />
diff --git a/packages/frontend/src/routes/admin/videos/+page.svelte b/packages/frontend/src/routes/admin/videos/+page.svelte index a0f5ddf..dcaf73d 100644 --- a/packages/frontend/src/routes/admin/videos/+page.svelte +++ b/packages/frontend/src/routes/admin/videos/+page.svelte @@ -9,6 +9,7 @@ import { Button } from "$lib/components/ui/button"; import { Badge } from "$lib/components/ui/badge"; import { Input } from "$lib/components/ui/input"; + import { FilterPills } from "$lib/components/ui/filter-pills"; import * as Dialog from "$lib/components/ui/dialog"; import type { Video } from "$lib/types"; import Meta from "$lib/components/meta/meta.svelte"; @@ -92,25 +93,23 @@ debounceSearch(searchValue); }} /> -
- - - +
+ setFilter("featured", v === "all" ? null : "true")} + /> + setFilter("premium", v === "all" ? null : "true")} + />