diff --git a/packages/next/app/signup/SignUpForm.tsx b/packages/next/app/signup/SignUpForm.tsx index e511414..f1e6f20 100644 --- a/packages/next/app/signup/SignUpForm.tsx +++ b/packages/next/app/signup/SignUpForm.tsx @@ -165,7 +165,7 @@ const SignUpForm: React.FC = ({ backendURL }) => { > Show Dialog - + {!loading ? 注册 : } diff --git a/packages/next/components/ui/Dialog.tsx b/packages/next/components/ui/Dialog.tsx index c866b6d..f12e0f0 100644 --- a/packages/next/components/ui/Dialog.tsx +++ b/packages/next/components/ui/Dialog.tsx @@ -1,6 +1,17 @@ import { motion, AnimatePresence } from "framer-motion"; import React from "react"; import { TextButton } from "./Buttons/TextButton"; +import { useEffect } from "react"; + +export const useDisableBodyScroll = (open: boolean) => { + useEffect(() => { + if (open) { + document.body.style.overflow = "hidden"; + } else { + document.body.style.overflow = "unset"; + } + }, [open]); +}; interface DialogProps { show: boolean; @@ -36,6 +47,7 @@ export const DialogButtonGroup: React.FC = ({ children } }; export const Dialog: React.FC = ({ show, children }: DialogProps) => { + useDisableBodyScroll(show); return ( {show && (