feat: response in mobile and accouting
This commit is contained in:
@@ -7,6 +7,7 @@ import { remindersApi } from '@/lib/api/reminders';
|
||||
import ReminderList from '@/components/admin/reminders/ReminderList';
|
||||
import ReminderForm from '@/components/admin/reminders/ReminderForm';
|
||||
import PageHeader from '@/components/admin/PageHeader';
|
||||
import ConfirmDialog from '@/components/admin/ConfirmDialog';
|
||||
import { showToast } from '@/components/Toast';
|
||||
import { PackageName } from '@/types/package';
|
||||
import { Reminder, CreateReminderData, UpdateReminderData } from '@/types/reminder';
|
||||
@@ -22,6 +23,7 @@ export default function RemindersPage() {
|
||||
const [isLoadingPackages, setIsLoadingPackages] = useState(false);
|
||||
const [isFormVisible, setIsFormVisible] = useState(false);
|
||||
const [error, setError] = useState<string | null>(null);
|
||||
const [deleteTarget, setDeleteTarget] = useState<Reminder | null>(null);
|
||||
|
||||
const initialLoadRef = useRef(false);
|
||||
const prevPackageRef = useRef<string | null>(null);
|
||||
@@ -94,11 +96,13 @@ export default function RemindersPage() {
|
||||
setIsFormVisible(true);
|
||||
};
|
||||
|
||||
const handleDelete = async (reminder: Reminder) => {
|
||||
if (!selectedPackage) return;
|
||||
if (!confirm(`آیا از حذف یادآوری "${reminder.title}" اطمینان دارید؟`)) {
|
||||
return;
|
||||
}
|
||||
const handleDelete = (reminder: Reminder) => {
|
||||
setDeleteTarget(reminder);
|
||||
};
|
||||
|
||||
const confirmDelete = async () => {
|
||||
if (!selectedPackage || !deleteTarget) return;
|
||||
const reminder = deleteTarget;
|
||||
|
||||
setIsLoading(true);
|
||||
setError(null);
|
||||
@@ -114,6 +118,7 @@ export default function RemindersPage() {
|
||||
setError(err instanceof Error ? err.message : 'خطا در حذف یادآوری');
|
||||
} finally {
|
||||
setIsLoading(false);
|
||||
setDeleteTarget(null);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -226,6 +231,16 @@ export default function RemindersPage() {
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
|
||||
<ConfirmDialog
|
||||
open={!!deleteTarget}
|
||||
title="حذف یادآوری"
|
||||
message={`آیا از حذف یادآوری «${deleteTarget?.title || ''}» اطمینان دارید؟`}
|
||||
confirmLabel="حذف"
|
||||
isLoading={isLoading}
|
||||
onConfirm={confirmDelete}
|
||||
onCancel={() => setDeleteTarget(null)}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user