feat(web): add /admin/requests approval queue with override modal
Pending/Approved/Completed/Rejected tabs (active count only). Override modal collapsed by default; reject modal with notes textarea. Lidarr-unreachable toast surfaces sync-Approve failures. Cancel buttons in both modals are Pewter ghost; Reject/Confirm reject use Bronze (the design system reserves Oxblood for irreversible actions like Disconnect).
This commit is contained in:
@@ -8,7 +8,6 @@
|
|||||||
approveRequest,
|
approveRequest,
|
||||||
rejectRequest
|
rejectRequest
|
||||||
} from '$lib/api/admin';
|
} from '$lib/api/admin';
|
||||||
import { qk } from '$lib/api/queries';
|
|
||||||
import StatusPill from '$lib/components/StatusPill.svelte';
|
import StatusPill from '$lib/components/StatusPill.svelte';
|
||||||
import type { LidarrRequest, LidarrRequestKind, LidarrRequestStatus } from '$lib/api/types';
|
import type { LidarrRequest, LidarrRequestKind, LidarrRequestStatus } from '$lib/api/types';
|
||||||
|
|
||||||
@@ -348,7 +347,7 @@
|
|||||||
<div class="mt-5 flex justify-end gap-2">
|
<div class="mt-5 flex justify-end gap-2">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="rounded-md bg-action-secondary px-3 py-1.5 text-sm text-text-primary"
|
class="rounded-md border border-border px-3 py-1.5 text-sm text-text-secondary hover:text-text-primary"
|
||||||
onclick={cancelOverride}
|
onclick={cancelOverride}
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
@@ -400,14 +399,14 @@
|
|||||||
<div class="mt-5 flex justify-end gap-2">
|
<div class="mt-5 flex justify-end gap-2">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="rounded-md bg-action-secondary px-3 py-1.5 text-sm text-text-primary"
|
class="rounded-md border border-border px-3 py-1.5 text-sm text-text-secondary hover:text-text-primary"
|
||||||
onclick={cancelReject}
|
onclick={cancelReject}
|
||||||
>
|
>
|
||||||
Cancel
|
Cancel
|
||||||
</button>
|
</button>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="inline-flex items-center gap-1 rounded-md bg-action-destructive px-3 py-1.5 text-sm text-text-primary"
|
class="inline-flex items-center gap-1 rounded-md bg-action-secondary px-3 py-1.5 text-sm text-text-primary"
|
||||||
onclick={() => confirmReject(rejectRow!)}
|
onclick={() => confirmReject(rejectRow!)}
|
||||||
>
|
>
|
||||||
<X size={14} strokeWidth={2} />
|
<X size={14} strokeWidth={2} />
|
||||||
|
|||||||
Reference in New Issue
Block a user