From e2e14e414de25904d791b503d2852c68b3ac9415 Mon Sep 17 00:00:00 2001 From: polwex Date: Wed, 16 Jul 2025 07:55:57 +0700 Subject: m --- app/(tabs)/login.tsx | 136 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 app/(tabs)/login.tsx (limited to 'app/(tabs)') diff --git a/app/(tabs)/login.tsx b/app/(tabs)/login.tsx new file mode 100644 index 0000000..d09e613 --- /dev/null +++ b/app/(tabs)/login.tsx @@ -0,0 +1,136 @@ +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 = () => { + 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 handleCreatePasskey = async () => { + console.log("creaing psskey"); + setIsLoading(true); + + try { + // const res = await startRegistration({}) + } catch (error) { + console.error("Passkey creation error:", error); + Alert.alert("Error", "An error occurred while creating the passkey."); + } finally { + setIsLoading(false); + } + }; + + const handleSkip = () => { + // setHasSeenPasskeyPrompt(true); + // navigationRef.current?.navigate(ROUTES.LOGIN as never); + }; + + return ( + + + + + Secure Your Wallet + + Create a passkey for easy and secure access to your Urbit wallet + + + + + + + + + You can always set up a passkey later in settings + + + + + ); +}; + +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; -- cgit v1.2.3