import React from "react"; import * as WebBrowser from "expo-web-browser"; import { Button, View, StyleSheet, TouchableOpacity, Text } from "react-native"; import { useOAuth } from "@clerk/clerk-expo"; import { useWarmUpBrowser } from "../../hooks/useWarmUpBrowser"; import { Ionicons } from "@expo/vector-icons"; WebBrowser.maybeCompleteAuthSession(); export function OAuthButtons() { useWarmUpBrowser(); const { startOAuthFlow } = useOAuth({ strategy: "oauth_google" }); const onPress = React.useCallback(async () => { try { const { createdSessionId, signIn, signUp, setActive } = await startOAuthFlow(); if (createdSessionId) { setActive!({ session: createdSessionId }); } else { // Use signIn or signUp for next steps such as MFA } } catch (err) { console.error("OAuth error", err); } }, []); return ( Continue with Google ); } const styles = StyleSheet.create({ container: { width: "100%", marginTop: 16, }, button: { flexDirection: "row", alignItems: "center", justifyContent: "center", backgroundColor: "#fff", borderWidth: 1, borderColor: "#ddd", paddingVertical: 12, borderRadius: 8, marginBottom: 12, }, icon: { marginRight: 10, }, text: { fontSize: 16, fontWeight: "500", color: "#333", }, });