diff --git a/src/components/admin/admin-panel.tsx b/src/components/admin/admin-panel.tsx
index 323f8e6..01a3f60 100644
--- a/src/components/admin/admin-panel.tsx
+++ b/src/components/admin/admin-panel.tsx
@@ -4,6 +4,7 @@ import { useState, useEffect, useCallback } from "react";
import { useTranslations, useFormatter } from "next-intl";
import type { PiecedTenant, TenantRequest } from "@/types";
import { StatusBadge } from "@/components/ui/status-badge";
+import { Modal } from "@/components/ui/modal";
import { formatDateTime, formatRelative } from "@/lib/format";
import Link from "next/link";
@@ -794,13 +795,20 @@ export function AdminPanel({ initialTenants }: AdminPanelProps) {
)}
{/* ───── APPROVE MODAL ───── */}
- {approveModal &&
- (() => {
- const req = requests.find((r) => r.id === approveModal);
- const isReapprove = req?.status === "rejected";
- return (
-
-
+ {
+ setApproveModal(null);
+ setActionError("");
+ }}
+ ariaLabel={t("approveTitle")}
+ >
+ {approveModal &&
+ (() => {
+ const req = requests.find((r) => r.id === approveModal);
+ const isReapprove = req?.status === "rejected";
+ return (
+ <>
{t("approveTitle")}
@@ -838,15 +846,23 @@ export function AdminPanel({ initialTenants }: AdminPanelProps) {
{actionLoading === approveModal ? "…" : t("confirmApprove")}
-
-
- );
- })()}
+ >
+ );
+ })()}
+
{/* ───── REJECT MODAL ───── */}
- {rejectModal && (
-
-
+ {
+ setRejectModal(null);
+ setRejectNotes("");
+ setActionError("");
+ }}
+ ariaLabel={t("rejectTitle")}
+ >
+ {rejectModal && (
+ <>
{t("rejectTitle")}
@@ -870,6 +886,7 @@ export function AdminPanel({ initialTenants }: AdminPanelProps) {
onClick={() => {
setRejectModal(null);
setRejectNotes("");
+ setActionError("");
}}
className="px-4 py-2 text-sm text-text-secondary hover:text-text-primary transition-colors"
>
@@ -883,14 +900,21 @@ export function AdminPanel({ initialTenants }: AdminPanelProps) {
{actionLoading === rejectModal ? "…" : t("confirmReject")}
-
-
- )}
+ >
+ )}
+
{/* ───── DELETE MODAL ───── */}
- {deleteModal && (
-
-
+
{
+ setDeleteModal(null);
+ setActionError("");
+ }}
+ ariaLabel={t("deleteTitle")}
+ >
+ {deleteModal && (
+ <>
{t("deleteTitle")}
@@ -907,7 +931,10 @@ export function AdminPanel({ initialTenants }: AdminPanelProps) {
)}
-
-
- )}
+ >
+ )}
+
>
);
}