feat(files): 大文件分片上传、停服解压 zip 先列冲突再覆盖、文件和文件夹可下载;导出和下载不再带出 RCON 密码与转发密钥

This commit is contained in:
Lemon-miaow committed 2026-09-28 22:44:03 +08:00
1 parent 3abf146321
commit 1d1549cea2
76 files changed
+10542 -569

No files matched your search

+4
View File
@@ -23,6 +23,8 @@ interface Props {
/** Runs the action. The dialog closes when it resolves; a rejection is shown in
* the dialog, which stays open so the action can be retried or dismissed. */
onConfirm: () => Promise<void>;
/** Shown under the description, for what a sentence cannot hold (a list). */
children?: ReactNode;
}
// ConfirmDialog asks before an action that cannot be taken back, in the panel's
@@ -38,6 +40,7 @@ export function ConfirmDialog({
cancelLabel,
confirmVariant = "destructive",
onConfirm,
children,
}: Props) {
const { t } = useTranslation("common");
const [busy, setBusy] = useState(false);
@@ -69,6 +72,7 @@ export function ConfirmDialog({
<DialogTitle>{title}</DialogTitle>
{description && <DialogDescription>{description}</DialogDescription>}
</DialogHeader>
{children}
{error && <MessageLine kind="error" message={error} compact />}
<ConfirmFooter
onCancel={() => setOpen(false)}