diff --git a/src/components/Home.tsx b/src/components/Home.tsx index 0cd52af..4caf53d 100644 --- a/src/components/Home.tsx +++ b/src/components/Home.tsx @@ -117,6 +117,7 @@ export const Home: React.FC = ({ const scrollContainerRef = useRef(null) const groupRefs = useRef>({}) const searchAreaRef = useRef(null) + const immersiveToolbarRef = useRef(null) const [selectedStudent, setSelectedStudent] = useState(null) const [batchMode, setBatchMode] = useState(false) @@ -376,6 +377,10 @@ export const Home: React.FC = ({ setSearchKeyword((prev) => `${prev}${keyValue}`) } + const getImmersivePopupContainer = useCallback((triggerNode: HTMLElement) => { + return immersiveToolbarRef.current ?? triggerNode.parentElement ?? document.body + }, []) + const getDisplayText = (name: string) => { if (!name) return "" return name.length > 2 ? name.substring(name.length - 2) : name @@ -2469,6 +2474,8 @@ export const Home: React.FC = ({ {immersiveMode && (
= ({ WebkitBackdropFilter: "blur(16px)", boxShadow: "0 8px 30px rgba(0, 0, 0, 0.16)", padding: "10px", - overflow: "hidden", + overflow: "visible", }} >
= ({ setLayoutType(v as LayoutType)} + getPopupContainer={getImmersivePopupContainer} style={{ width: 126, flexShrink: 0 }} options={[ { value: "grouped", label: t("home.layoutBy.grouped") },