one
Version:
One is a new React Framework that makes Vite serve both native and web.
50 lines (48 loc) • 1.31 kB
JavaScript
"use client";
import { createNavigatorFactory, StackActions, StackRouter, useNavigationBuilder } from "@react-navigation/native";
import { useEffect } from "react";
import { WebStackView } from "./WebStackView.mjs";
import { jsx } from "react/jsx-runtime";
function WebStackNavigator({
initialRouteName,
children,
screenOptions,
...rest
}) {
const {
state,
navigation,
descriptors,
NavigationContent,
describe
} = useNavigationBuilder(StackRouter, {
...rest,
children,
screenOptions,
initialRouteName
});
useEffect(() => {
return navigation?.addListener?.("tabPress", e => {
const isFocused = navigation.isFocused();
requestAnimationFrame(() => {
if (state.index > 0 && isFocused && !e.defaultPrevented) {
navigation.dispatch({
...StackActions.popToTop(),
target: state.key
});
}
});
});
}, [navigation, state.index, state.key]);
return /* @__PURE__ */jsx(NavigationContent, {
children: /* @__PURE__ */jsx(WebStackView, {
state,
navigation,
descriptors,
describe
})
});
}
const createWebStackNavigator = createNavigatorFactory(WebStackNavigator);
export { createWebStackNavigator };
//# sourceMappingURL=WebStackNavigator.mjs.map