mirror of
https://github.com/kennethnym/aris.git
synced 2026-03-24 02:51:17 +00:00
feat(client): add component library and simplify routing (#66)
* feat(client): add component library and simplify routing Remove tab layout, explore page, modal, and unused template components. Replace with single-page layout and a dev component showcase with per-component detail pages. - Add Button with label prop, leading/trailing icon support - Add FeedCard, SerifText, SansSerifText, MonospaceText - Add colocated *.showcase.tsx files for each component - Use Stack navigator with themed headers Co-authored-by: Ona <no-reply@ona.com> * fix(client): render showcase as JSX component Co-authored-by: Ona <no-reply@ona.com> * chore(client): remove dead code chain Remove ThemedText, useThemeColor, useColorScheme hook, Colors, and Fonts — none referenced by current screens. Co-authored-by: Ona <no-reply@ona.com> --------- Co-authored-by: Ona <no-reply@ona.com>
This commit is contained in:
@@ -1,23 +1,45 @@
|
||||
import { DarkTheme, DefaultTheme, ThemeProvider } from "@react-navigation/native"
|
||||
import "react-native-reanimated"
|
||||
import { Stack } from "expo-router"
|
||||
import { StatusBar } from "expo-status-bar"
|
||||
import "react-native-reanimated"
|
||||
import { useColorScheme } from "@/hooks/use-color-scheme"
|
||||
|
||||
export const unstable_settings = {
|
||||
anchor: "(tabs)",
|
||||
}
|
||||
import { useColorScheme } from "react-native"
|
||||
import tw, { useDeviceContext } from "twrnc"
|
||||
|
||||
export default function RootLayout() {
|
||||
useDeviceContext(tw)
|
||||
const colorScheme = useColorScheme()
|
||||
const headerBg = colorScheme === "dark" ? "#1c1917" : "#f5f5f4"
|
||||
const headerTint = colorScheme === "dark" ? "#e7e5e4" : "#1c1917"
|
||||
|
||||
return (
|
||||
<ThemeProvider value={colorScheme === "dark" ? DarkTheme : DefaultTheme}>
|
||||
<Stack>
|
||||
<Stack.Screen name="(tabs)" options={{ headerShown: false }} />
|
||||
<Stack.Screen name="modal" options={{ presentation: "modal", title: "Modal" }} />
|
||||
<>
|
||||
<Stack
|
||||
screenOptions={{
|
||||
headerShown: false,
|
||||
contentStyle: { backgroundColor: headerBg },
|
||||
}}
|
||||
>
|
||||
<Stack.Screen
|
||||
name="components/index"
|
||||
options={{
|
||||
headerShown: true,
|
||||
title: "Components",
|
||||
headerStyle: { backgroundColor: headerBg },
|
||||
headerTintColor: headerTint,
|
||||
headerShadowVisible: false,
|
||||
}}
|
||||
/>
|
||||
<Stack.Screen
|
||||
name="components/[name]"
|
||||
options={{
|
||||
headerShown: true,
|
||||
title: "",
|
||||
headerStyle: { backgroundColor: headerBg },
|
||||
headerTintColor: headerTint,
|
||||
headerShadowVisible: false,
|
||||
}}
|
||||
/>
|
||||
</Stack>
|
||||
<StatusBar style="auto" />
|
||||
</ThemeProvider>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user