fix(dialog): prevent scroll to top on modal close (#318)

* fix(dialog): prevent both open and close auto focus to avoid page scroll

Add onOpenAutoFocus handler to prevent Radix Dialog from auto-focusing
content on open, which can cause unwanted scroll behavior.

* fix(dialog): remove onOpenAutoFocus, keep only onCloseAutoFocus

Remove onOpenAutoFocus handler that was causing scroll issues on first open.
Keep onCloseAutoFocus to prevent scroll to trigger element on close.

Key fix: Move {...props} before onCloseAutoFocus to prevent override.

* fix(dialog): prevent scroll to top on modal close

- Move {...props} before onCloseAutoFocus to prevent override
- Simplify handler to just e.preventDefault()
- Apply fix to both dialog.tsx and modal.tsx
This commit is contained in:
sagit
2026-03-14 10:32:35 +08:00
committed by GitHub
parent 05c3b5842e
commit e56dd898ef
156 changed files with 294 additions and 167452 deletions
@@ -1,7 +1,4 @@
import type {
BatchOperationFailure,
BatchOperationResult,
} from "@/api/types";
import type { BatchOperationFailure, BatchOperationResult } from "@/api/types";
import {
batchChangeTunnel,
@@ -46,7 +43,11 @@ const buildBatchToast = (
resultTitle: string,
): Pick<
ForwardBatchActionOutcome,
"toastVariant" | "toastMessage" | "resultTitle" | "resultSummary" | "failureDetails"
| "toastVariant"
| "toastMessage"
| "resultTitle"
| "resultSummary"
| "failureDetails"
> => {
if (result.failCount === 0) {
return {