diff options
author | polwex <polwex@sortug.com> | 2025-07-16 09:58:34 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-07-16 09:58:34 +0700 |
commit | dc0ad21f0e857adb87d710dd0f2f9affd0a9cbc9 (patch) | |
tree | 3d556ead415654e03b511b007365bcdff6d612ee /app/(tabs) | |
parent | 697ed671f394cbd07ea9751fe17f262744d99a49 (diff) |
kinda works
Diffstat (limited to 'app/(tabs)')
-rw-r--r-- | app/(tabs)/_layout.tsx | 54 | ||||
-rw-r--r-- | app/(tabs)/explore.tsx | 110 | ||||
-rw-r--r-- | app/(tabs)/index.tsx | 75 | ||||
-rw-r--r-- | app/(tabs)/login.tsx | 122 |
4 files changed, 0 insertions, 361 deletions
diff --git a/app/(tabs)/_layout.tsx b/app/(tabs)/_layout.tsx deleted file mode 100644 index a102c45..0000000 --- a/app/(tabs)/_layout.tsx +++ /dev/null @@ -1,54 +0,0 @@ -import { Tabs } from "expo-router"; -import { Toaster } from "react-hot-toast"; -import React from "react"; -import { Platform } from "react-native"; - -import { HapticTab } from "@/components/HapticTab"; -import { IconSymbol } from "@/components/ui/IconSymbol"; -import TabBarBackground from "@/components/ui/TabBarBackground"; -import { Colors } from "@/constants/Colors"; -import { useColorScheme } from "@/hooks/useColorScheme"; - -export default function TabLayout() { - const colorScheme = useColorScheme(); - - return ( - <> - <Tabs - screenOptions={{ - tabBarActiveTintColor: Colors[colorScheme ?? "light"].tint, - headerShown: false, - tabBarButton: HapticTab, - tabBarBackground: TabBarBackground, - tabBarStyle: Platform.select({ - ios: { - // Use a transparent background on iOS to show the blur effect - position: "absolute", - }, - default: {}, - }), - }} - > - <Tabs.Screen - name="index" - options={{ - title: "Home", - tabBarIcon: ({ color }) => ( - <IconSymbol size={28} name="house.fill" color={color} /> - ), - }} - /> - <Tabs.Screen - name="explore" - options={{ - title: "Explore", - tabBarIcon: ({ color }) => ( - <IconSymbol size={28} name="paperplane.fill" color={color} /> - ), - }} - /> - </Tabs> - <Toaster position="top-center" /> - </> - ); -} diff --git a/app/(tabs)/explore.tsx b/app/(tabs)/explore.tsx deleted file mode 100644 index d4fbcaa..0000000 --- a/app/(tabs)/explore.tsx +++ /dev/null @@ -1,110 +0,0 @@ -import { Image } from 'expo-image'; -import { Platform, StyleSheet } from 'react-native'; - -import { Collapsible } from '@/components/Collapsible'; -import { ExternalLink } from '@/components/ExternalLink'; -import ParallaxScrollView from '@/components/ParallaxScrollView'; -import { ThemedText } from '@/components/ThemedText'; -import { ThemedView } from '@/components/ThemedView'; -import { IconSymbol } from '@/components/ui/IconSymbol'; - -export default function TabTwoScreen() { - return ( - <ParallaxScrollView - headerBackgroundColor={{ light: '#D0D0D0', dark: '#353636' }} - headerImage={ - <IconSymbol - size={310} - color="#808080" - name="chevron.left.forwardslash.chevron.right" - style={styles.headerImage} - /> - }> - <ThemedView style={styles.titleContainer}> - <ThemedText type="title">Explore</ThemedText> - </ThemedView> - <ThemedText>This app includes example code to help you get started.</ThemedText> - <Collapsible title="File-based routing"> - <ThemedText> - This app has two screens:{' '} - <ThemedText type="defaultSemiBold">app/(tabs)/index.tsx</ThemedText> and{' '} - <ThemedText type="defaultSemiBold">app/(tabs)/explore.tsx</ThemedText> - </ThemedText> - <ThemedText> - The layout file in <ThemedText type="defaultSemiBold">app/(tabs)/_layout.tsx</ThemedText>{' '} - sets up the tab navigator. - </ThemedText> - <ExternalLink href="https://docs.expo.dev/router/introduction"> - <ThemedText type="link">Learn more</ThemedText> - </ExternalLink> - </Collapsible> - <Collapsible title="Android, iOS, and web support"> - <ThemedText> - You can open this project on Android, iOS, and the web. To open the web version, press{' '} - <ThemedText type="defaultSemiBold">w</ThemedText> in the terminal running this project. - </ThemedText> - </Collapsible> - <Collapsible title="Images"> - <ThemedText> - For static images, you can use the <ThemedText type="defaultSemiBold">@2x</ThemedText> and{' '} - <ThemedText type="defaultSemiBold">@3x</ThemedText> suffixes to provide files for - different screen densities - </ThemedText> - <Image source={require('@/assets/images/react-logo.png')} style={{ alignSelf: 'center' }} /> - <ExternalLink href="https://reactnative.dev/docs/images"> - <ThemedText type="link">Learn more</ThemedText> - </ExternalLink> - </Collapsible> - <Collapsible title="Custom fonts"> - <ThemedText> - Open <ThemedText type="defaultSemiBold">app/_layout.tsx</ThemedText> to see how to load{' '} - <ThemedText style={{ fontFamily: 'SpaceMono' }}> - custom fonts such as this one. - </ThemedText> - </ThemedText> - <ExternalLink href="https://docs.expo.dev/versions/latest/sdk/font"> - <ThemedText type="link">Learn more</ThemedText> - </ExternalLink> - </Collapsible> - <Collapsible title="Light and dark mode components"> - <ThemedText> - This template has light and dark mode support. The{' '} - <ThemedText type="defaultSemiBold">useColorScheme()</ThemedText> hook lets you inspect - what the user's current color scheme is, and so you can adjust UI colors accordingly. - </ThemedText> - <ExternalLink href="https://docs.expo.dev/develop/user-interface/color-themes/"> - <ThemedText type="link">Learn more</ThemedText> - </ExternalLink> - </Collapsible> - <Collapsible title="Animations"> - <ThemedText> - This template includes an example of an animated component. The{' '} - <ThemedText type="defaultSemiBold">components/HelloWave.tsx</ThemedText> component uses - the powerful <ThemedText type="defaultSemiBold">react-native-reanimated</ThemedText>{' '} - library to create a waving hand animation. - </ThemedText> - {Platform.select({ - ios: ( - <ThemedText> - The <ThemedText type="defaultSemiBold">components/ParallaxScrollView.tsx</ThemedText>{' '} - component provides a parallax effect for the header image. - </ThemedText> - ), - })} - </Collapsible> - </ParallaxScrollView> - ); -} - -const styles = StyleSheet.create({ - headerImage: { - color: '#808080', - bottom: -90, - left: -35, - position: 'absolute', - }, - titleContainer: { - flexDirection: 'row', - gap: 8, - }, -}); diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx deleted file mode 100644 index 462e8cd..0000000 --- a/app/(tabs)/index.tsx +++ /dev/null @@ -1,75 +0,0 @@ -import { Image } from 'expo-image'; -import { Platform, StyleSheet } from 'react-native'; - -import { HelloWave } from '@/components/HelloWave'; -import ParallaxScrollView from '@/components/ParallaxScrollView'; -import { ThemedText } from '@/components/ThemedText'; -import { ThemedView } from '@/components/ThemedView'; - -export default function HomeScreen() { - return ( - <ParallaxScrollView - headerBackgroundColor={{ light: '#A1CEDC', dark: '#1D3D47' }} - headerImage={ - <Image - source={require('@/assets/images/partial-react-logo.png')} - style={styles.reactLogo} - /> - }> - <ThemedView style={styles.titleContainer}> - <ThemedText type="title">Welcome!</ThemedText> - <HelloWave /> - </ThemedView> - <ThemedView style={styles.stepContainer}> - <ThemedText type="subtitle">Step 1: Try it</ThemedText> - <ThemedText> - Edit <ThemedText type="defaultSemiBold">app/(tabs)/index.tsx</ThemedText> to see changes. - Press{' '} - <ThemedText type="defaultSemiBold"> - {Platform.select({ - ios: 'cmd + d', - android: 'cmd + m', - web: 'F12', - })} - </ThemedText>{' '} - to open developer tools. - </ThemedText> - </ThemedView> - <ThemedView style={styles.stepContainer}> - <ThemedText type="subtitle">Step 2: Explore</ThemedText> - <ThemedText> - {`Tap the Explore tab to learn more about what's included in this starter app.`} - </ThemedText> - </ThemedView> - <ThemedView style={styles.stepContainer}> - <ThemedText type="subtitle">Step 3: Get a fresh start</ThemedText> - <ThemedText> - {`When you're ready, run `} - <ThemedText type="defaultSemiBold">npm run reset-project</ThemedText> to get a fresh{' '} - <ThemedText type="defaultSemiBold">app</ThemedText> directory. This will move the current{' '} - <ThemedText type="defaultSemiBold">app</ThemedText> to{' '} - <ThemedText type="defaultSemiBold">app-example</ThemedText>. - </ThemedText> - </ThemedView> - </ParallaxScrollView> - ); -} - -const styles = StyleSheet.create({ - titleContainer: { - flexDirection: 'row', - alignItems: 'center', - gap: 8, - }, - stepContainer: { - gap: 8, - marginBottom: 8, - }, - reactLogo: { - height: 178, - width: 290, - bottom: 0, - left: 0, - position: 'absolute', - }, -}); diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx deleted file mode 100644 index c5f826d..0000000 --- a/app/(tabs)/login.tsx +++ /dev/null @@ -1,122 +0,0 @@ -import React, { useState } from "react"; -import { - View, - Text, - StyleSheet, - Image, - KeyboardAvoidingView, - Platform, - Alert, -} from "react-native"; -import PrimaryButton from "../../components/PrimaryButton"; -import ScreenWrapper from "../../components/ScreenWrapper"; -import { useThemeColors, ColorScheme } from "../../constants"; -import { ROUTES } from "../../constants/routes"; -import { Passkee } from "@/components/auth/Auth"; - -// import { useSettingsStore } from "../store/useSettingsStore"; -// import useAuthStore from "../store/useAuthStore"; -// import { createPasskey, isPasskeySupported } from "../lib/passkey"; -// import { navigationRef } from "../lib/navigationRef"; - -const PasskeySetupScreen = async () => { - const [isLoading, setIsLoading] = useState(false); - // const isDarkMode = useSettingsStore((s) => s.isDarkMode); - const isDarkMode = false; - const colors = useThemeColors(); - const styles = getStyles(colors); - // const { setHasPasskey, setHasSeenPasskeyPrompt } = useAuthStore(); - - const logoSource = isDarkMode - ? require("../../assets/urbit-logo-dark.png") - : require("../../assets/urbit-logo-light.png"); - - const handleSkip = () => { - // setHasSeenPasskeyPrompt(true); - // navigationRef.current?.navigate(ROUTES.LOGIN as never); - }; - - return ( - <KeyboardAvoidingView - style={styles.container} - behavior={Platform.OS === "ios" ? "padding" : undefined} - > - <ScreenWrapper> - <View style={styles.topSection}> - <Image - source={logoSource} - style={styles.walletIcon} - resizeMode="contain" - /> - <Text style={styles.title}>Secure Your Wallet</Text> - <Text style={styles.subtitle}> - Create a passkey for easy and secure access to your Urbit wallet - </Text> - </View> - - <View style={styles.bottomSection}> - <Passkee /> - <PrimaryButton - label="Skip for Now" - onPress={handleSkip} - style={{ - backgroundColor: colors.card, - borderWidth: 1, - borderColor: colors.border, - }} - textStyle={{ color: colors.text }} - /> - - <Text style={styles.infoText}> - You can always set up a passkey later in settings - </Text> - </View> - </ScreenWrapper> - </KeyboardAvoidingView> - ); -}; - -export const getStyles = (colors: ColorScheme) => - StyleSheet.create({ - container: { - flex: 1, - backgroundColor: colors.background, - justifyContent: "space-between", - padding: 20, - }, - topSection: { - flex: 1, - justifyContent: "center", - alignItems: "center", - }, - walletIcon: { - width: 64, - height: 64, - marginBottom: 24, - }, - title: { - fontSize: 24, - color: colors.text, - fontWeight: "600", - marginBottom: 12, - textAlign: "center", - }, - subtitle: { - fontSize: 16, - color: colors.secondary, - textAlign: "center", - paddingHorizontal: 20, - lineHeight: 24, - }, - bottomSection: { - marginBottom: 40, - }, - infoText: { - color: colors.secondary, - fontSize: 14, - textAlign: "center", - marginTop: 16, - }, - }); - -export default PasskeySetupScreen; |