このコミットが含まれているのは:
2026-10-26 21:24:32 +09:00
コミット 2563b3fef3
21個のファイルの変更、703行の追加、54行の削除
+18 -2
ファイルの表示
@@ -156,6 +156,22 @@ const DialogueProvider: FC<Props> = ({ children }) => {
},
[closeRequest, pendingIds])
const dismiss = async (request: DialogueRequest) => {
if (request.kind === 'form' && request.options.onCancel != null)
{
setPendingIds (current => [...current, request.id])
try
{
if (await request.options.onCancel () === false) return
}
finally
{
setPendingIds (current => current.filter (id => id !== request.id))
}
}
closeRequest (request.id, request.kind === 'confirm' ? false : null)
}
const active = queue[0]
const startActions =
active?.kind === 'form'
@@ -179,7 +195,7 @@ const DialogueProvider: FC<Props> = ({ children }) => {
nestedConfirm?.parentId === active.id
|| pendingIds.includes (active.id)
if (!(open) && !(blocked))
closeRequest (active.id, active.kind !== 'confirm' && null)
dismiss (active)
}}>
<DialogContent
closeLabel={(active.kind === 'confirm' || active.kind === 'choice')
@@ -244,7 +260,7 @@ const DialogueProvider: FC<Props> = ({ children }) => {
<Button
className="w-full md:w-auto"
variant="outline"
onClick={() => closeRequest (active.id)}
onClick={() => dismiss (active)}
disabled={pendingIds.includes (active.id)
|| nestedConfirm?.parentId === active.id}>
{active.options.cancelText ?? label ('actions.cancel')}