| ... | @@ -1,5 +1,6 @@ | ... | @@ -1,5 +1,6 @@ |
| 1 | import type { EnvironmentId, SidebarThreadSortOrder } from "@t3tools/contracts"; | 1 | import type { EnvironmentId, SidebarThreadSortOrder } from "@t3tools/contracts"; |
| 2 | import type { MenuAction } from "@react-native-menu/menu"; | 2 | import type { MenuAction } from "@react-native-menu/menu"; |
| | 3 | import Constants from "expo-constants"; |
| 3 | import { NativeHeaderToolbar, NativeStackScreenOptions } from "../../native/StackHeader"; | 4 | import { NativeHeaderToolbar, NativeStackScreenOptions } from "../../native/StackHeader"; |
| 4 | import { useCallback, useMemo, useRef } from "react"; | 5 | import { useCallback, useMemo, useRef } from "react"; |
| 5 | import { Platform, Pressable, Text as RNText, TextInput, View } from "react-native"; | 6 | import { Platform, Pressable, Text as RNText, TextInput, View } from "react-native"; |
| ... | @@ -9,6 +10,8 @@ import { useSafeAreaInsets } from "react-native-safe-area-context"; | ... | @@ -9,6 +10,8 @@ import { useSafeAreaInsets } from "react-native-safe-area-context"; |
| 9 | import { ControlPillMenu } from "../../components/ControlPill"; | 10 | import { ControlPillMenu } from "../../components/ControlPill"; |
| 10 | import { SymbolView } from "../../components/AppSymbol"; | 11 | import { SymbolView } from "../../components/AppSymbol"; |
| 11 | import { T3Wordmark } from "../../components/T3Wordmark"; | 12 | import { T3Wordmark } from "../../components/T3Wordmark"; |
| | 13 | import { HOME_HORIZONTAL_INSET } from "../../lib/layoutMetrics"; |
| | 14 | import { resolveMobileStageLabel } from "../../lib/mobileBranding"; |
| 12 | import { useThemeColor } from "../../lib/useThemeColor"; | 15 | import { useThemeColor } from "../../lib/useThemeColor"; |
| 13 | import { useThreadListV2Enabled } from "../threads/use-thread-list-v2-enabled"; | 16 | import { useThreadListV2Enabled } from "../threads/use-thread-list-v2-enabled"; |
| 14 | import { useHardwareKeyboardCommand } from "../keyboard/hardwareKeyboardCommands"; | 17 | import { useHardwareKeyboardCommand } from "../keyboard/hardwareKeyboardCommands"; |
| ... | @@ -64,6 +67,7 @@ function AndroidHomeHeader(props: HomeHeaderProps) { | ... | @@ -64,6 +67,7 @@ function AndroidHomeHeader(props: HomeHeaderProps) { |
| 64 | const insets = useSafeAreaInsets(); | 67 | const insets = useSafeAreaInsets(); |
| 65 | const iconColor = useThemeColor("--color-icon"); | 68 | const iconColor = useThemeColor("--color-icon"); |
| 66 | const mutedColor = useThemeColor("--color-foreground-muted"); | 69 | const mutedColor = useThemeColor("--color-foreground-muted"); |
| | 70 | const stageLabel = resolveMobileStageLabel(Constants.expoConfig?.extra?.appVariant); |
| 67 | // Thread List v2 lays the list out in fixed creation order, so the | 71 | // Thread List v2 lays the list out in fixed creation order, so the |
| 68 | // sort/group filter controls would be silently ignored — hide them and | 72 | // sort/group filter controls would be silently ignored — hide them and |
| 69 | // key the "customized" icon state off the environment filter alone. | 73 | // key the "customized" icon state off the environment filter alone. |
| ... | @@ -195,8 +199,9 @@ function AndroidHomeHeader(props: HomeHeaderProps) { | ... | @@ -195,8 +199,9 @@ function AndroidHomeHeader(props: HomeHeaderProps) { |
| 195 | <> | 199 | <> |
| 196 | <NativeStackScreenOptions options={{ headerShown: false }} /> | 200 | <NativeStackScreenOptions options={{ headerShown: false }} /> |
| 197 | <View | 201 | <View |
| 198 | className="border-b border-header-border bg-header px-4 pb-3" | 202 | className="border-b border-header-border bg-header pb-3" |
| 199 | style={{ | 203 | style={{ |
| | 204 | paddingHorizontal: HOME_HORIZONTAL_INSET, |
| 200 | paddingTop: Math.max(insets.top, 12), | 205 | paddingTop: Math.max(insets.top, 12), |
| 201 | }} | 206 | }} |
| 202 | > | 207 | > |
| ... | @@ -210,7 +215,7 @@ function AndroidHomeHeader(props: HomeHeaderProps) { | ... | @@ -210,7 +215,7 @@ function AndroidHomeHeader(props: HomeHeaderProps) { |
| 210 | </RNText> | 215 | </RNText> |
| 211 | <View className="rounded-full bg-subtle px-2 py-0.75"> | 216 | <View className="rounded-full bg-subtle px-2 py-0.75"> |
| 212 | <RNText className="text-[11px] font-t3-bold tracking-[1.1px] text-foreground-muted uppercase"> | 217 | <RNText className="text-[11px] font-t3-bold tracking-[1.1px] text-foreground-muted uppercase"> |
| 213 | Alpha | 218 | {stageLabel} |
| 214 | </RNText> | 219 | </RNText> |
| 215 | </View> | 220 | </View> |
| 216 | </View> | 221 | </View> |