From 589558a20d4dcd6e464a7c050df65be915016498 Mon Sep 17 00:00:00 2001 From: RhenCloud Date: Sat, 8 Aug 2026 23:09:06 +0800 Subject: [PATCH] feat: add group filter to send logs view - Add groupId query param to GET /api/logs endpoint - Add group filter dropdown in SendLogs component - Pass groups list and filter state from admin.vue - Update useLogs.ts to accept optional groupId parameter - Add groupId to SendRecord type - Add i18n keys and CSS for filter UI --- admin/assets/css/main.css | 31 +++++++++++++++++++++++++++++++ admin/components/SendLogs.vue | 34 +++++++++++++++++++++++++++++++--- admin/composables/useI18n.ts | 4 ++++ admin/composables/useLogs.ts | 8 +++++--- admin/pages/admin.vue | 16 +++++++++++++--- admin/types.ts | 1 + src/web/admin-routes.ts | 16 +++++++++------- 7 files changed, 94 insertions(+), 16 deletions(-) diff --git a/admin/assets/css/main.css b/admin/assets/css/main.css index a14b74a..51d2ff9 100644 --- a/admin/assets/css/main.css +++ b/admin/assets/css/main.css @@ -909,7 +909,38 @@ main { display: flex; align-items: center; justify-content: space-between; + gap: 12px; margin-bottom: 14px; + flex-wrap: wrap; +} + +.log-filters { + display: flex; + align-items: center; + gap: 6px; +} + +.filter-label { + font-size: 11px; + font-weight: 700; + letter-spacing: 0.8px; + color: var(--muted); + text-transform: uppercase; +} + +.filter-select { + background: var(--surface); + border: 1px solid var(--border); + border-radius: var(--radius); + color: var(--text); + font-size: 13px; + padding: 4px 8px; + cursor: pointer; + outline: none; +} + +.filter-select:focus { + border-color: var(--accent); } .log-list { diff --git a/admin/components/SendLogs.vue b/admin/components/SendLogs.vue index 0656392..79cc515 100644 --- a/admin/components/SendLogs.vue +++ b/admin/components/SendLogs.vue @@ -2,6 +2,20 @@
{{ t("logs.lastSends", { n: logs.length }) }} +
+ + +
@@ -68,13 +82,22 @@