20260726225220

This commit is contained in:
oneao committed 2026-07-26 22:52:21 +08:00
1 parent e3c7c6f8da
commit a8478d60ed
170 files changed
+6786 -1678

No files matched your search

+21 -3
View File
@@ -1,9 +1,9 @@
import { View } from "react-native";
import { View, BackHandler } from "react-native";
import Tabbar, { TabbarItem } from "@/components/layout/tabbar";
import Navbar from "@/components/layout/navbar";
import { useSafeAreaInsets } from "react-native-safe-area-context";
import { Slot, useRouter, usePathname } from "expo-router";
import { useMemo, useRef } from "react";
import { useMemo, useRef, useEffect } from "react";
export default function ModuleLayout({ tabs }: { tabs: TabbarItem[] }) {
const router = useRouter();
@@ -26,8 +26,26 @@ export default function ModuleLayout({ tabs }: { tabs: TabbarItem[] }) {
return lastValidTabRef.current;
}, [pathname, tabs]);
// 区分当前是否在 tab 页上
const isTabPage = useMemo(
() => tabs.some((t) => t.id === pathname && !t.isCenter),
[pathname, tabs],
);
// 在 tab 页时,手势返回直接回首页;子页面时正常返回
useEffect(() => {
const handler = BackHandler.addEventListener("hardwareBackPress", () => {
if (isTabPage) {
router.dismissTo("/home");
return true;
}
return false;
});
return () => handler.remove();
}, [isTabPage, router]);
function handleClose() {
router.dismissTo("/tools");
router.dismissTo("/home");
}
return (