refactor(admin): unify webui fetch/copy/format helpers; fix audit tab load and delete-group count

- apiFetch + shared needLogin (any 401 shows the login card) replaces six
  duplicated fetch/401/error-handling blocks in the admin composables
- useCopy composable: clipboard + execCommand fallback with timed reset,
  used by MembersPanel and WebhookPanel
- utils/format.ts (fmtTime/splitList/parseMatch) removes inline duplicates
  across SendLogs, AuditLog, RouteEditor and GroupEditor
- fix: load the audit log when the audit tab becomes active (client-side
  navigation never remounted the page, leaving the list empty on first visit)
- fix: fetch the real route count for a group before confirming deletion
  instead of reusing the currently open group's route list
This commit is contained in:
RhenCloud 2026-08-14 07:18:55 +08:00
parent c438fe96dc
commit e59b10f739
No known key found for this signature in database
GPG key ID: A574A617378C4E0B
16 changed files with 137 additions and 202 deletions

View file

@ -70,10 +70,6 @@ const emit = defineEmits<{
(e: "update:selectedGroupId", value: string): void;
}>();
function fmtTime(ts: number): string {
return new Date(ts).toLocaleString();
}
function refresh(): void {
emit("refresh");
}