mirror of
https://github.com/jakejarvis/sofa.git
synced 2026-07-14 18:15:56 -04:00
Replace the `useTabScreenOptions` hook (and its `.android` variant) with a `TabStack` component that encapsulates all tab-level header styling in one place. Introduce `AuthStackHeader` and `DetailStackHeader` components to own header configuration for auth and detail screens respectively, removing scattered `Stack.Screen options` overrides from individual screen files.
- Delete `use-tab-screen-options.tsx` and `use-tab-screen-options.android.tsx`; all four tab layouts now render `<TabStack title="…" />` instead of manually composing `<Stack screenOptions={useTabScreenOptions()}>`.
- Add `AuthStackHeader` and swap every `<Stack.Screen options={{ title: "…" }}>` inside auth screens for it; strip the now-redundant header option overrides from the auth `_layout`.
- Add `DetailStackHeader` and remove the hardcoded `headerTransparent`/`headerTintColor`/`headerBackButtonDisplayMode` options from the title and person detail routes in `_layout.tsx`.
- Replace remaining `Stack.Screen options={{ title }}` patterns in non-tab screens (`change-password`, `+not-found`) with the `Stack.Screen.Title` helper.
- Refactor the search screen to use `Stack.Header`, `Stack.Screen.Title`, and `Stack.SearchBar` instead of an inline `Stack.Screen options` object; add `placement` and `allowToolbarIntegration` for the iOS integrated search bar.
- Add `browseTitleIds` server procedure and extend `explore` / `discover` procedures; add corresponding schema fields in `@sofa/api`.
24 lines
520 B
TypeScript
24 lines
520 B
TypeScript
import { Stack } from "expo-router";
|
|
import { useResolveClassNames } from "uniwind";
|
|
import { hasStoredServerUrl } from "@/lib/server-url";
|
|
|
|
export const unstable_settings = {
|
|
initialRouteName:
|
|
process.env.EXPO_PUBLIC_SERVER_URL || hasStoredServerUrl()
|
|
? "login"
|
|
: "server-url",
|
|
};
|
|
|
|
export default function AuthLayout() {
|
|
const contentStyle = useResolveClassNames("bg-background");
|
|
|
|
return (
|
|
<Stack
|
|
screenOptions={{
|
|
contentStyle,
|
|
animation: "fade",
|
|
}}
|
|
/>
|
|
);
|
|
}
|