···
import { useOAuthSetter, useOAuthValue } from "@/providers/OAuthProvider";
import { Agent } from "@atproto/api";
import { useState } from "react";
-
import { Button, StyleSheet, TextInput, View } from "react-native";
export const Login = () => {
const [atprotoHandle, setAtprotoHandle] = useState("");
const oAuth = useOAuthValue();
const setOAuth = useOAuthSetter();
···
-
onChangeText={setAtprotoHandle}
-
placeholder="alice.bsky.social"
-
onSubmitEditing={handleSubmit}
-
<Button title="Log in with your PDS ->" onPress={handleSubmit} />
-
const styles = StyleSheet.create({
···
+
import { GmstnLogoColor } from "@/components/icons/gmstn/GmstnLogoColor";
+
import { Text } from "@/components/primitives/Text";
+
import { useFacet } from "@/lib/facet";
+
import { lighten } from "@/lib/facet/src/lib/colors";
import { useOAuthSetter, useOAuthValue } from "@/providers/OAuthProvider";
+
import { useCurrentPalette } from "@/providers/ThemeProvider";
import { Agent } from "@atproto/api";
+
import { ArrowRight } from "lucide-react-native";
import { useState } from "react";
+
import { Pressable, TextInput, View } from "react-native";
export const Login = () => {
+
const { semantic } = useCurrentPalette();
+
const { atoms, typography } = useFacet();
const [atprotoHandle, setAtprotoHandle] = useState("");
const oAuth = useOAuthValue();
const setOAuth = useOAuthSetter();
···
+
flexDirection: "column",
+
justifyContent: "center",
+
<View style={{ alignItems: "center" }}>
+
<View style={{ padding: 8, paddingLeft: 12, paddingTop: 12 }}>
+
<GmstnLogoColor height={36} width={36} />
+
typography.weights.byName.medium,
+
<View style={{ gap: 10 }}>
+
borderColor: semantic.border,
+
borderRadius: atoms.radii.lg,
+
}, typography.weights.byName.light]}
+
onChangeText={setAtprotoHandle}
+
placeholder="alice.bsky.social"
+
onSubmitEditing={handleSubmit}
+
placeholderTextColor={semantic.textPlaceholder}
+
<Pressable onPress={handleSubmit}>
+
backgroundColor: hovered
+
? lighten(semantic.primary, 7)
+
justifyContent: "center",
+
borderRadius: atoms.radii.lg,
+
{ color: semantic.textInverse },
+
typography.weights.byName.normal,
+
color={semantic.textInverse}