diff --git a/.changeset/fair-expo-kotlin-fixture.md b/.changeset/fair-expo-kotlin-fixture.md new file mode 100644 index 00000000000..a845151cc84 --- /dev/null +++ b/.changeset/fair-expo-kotlin-fixture.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/integration/templates/expo-kotlin-alignment/.gitignore b/integration/templates/expo-kotlin-alignment/.gitignore new file mode 100644 index 00000000000..c31beb8f218 --- /dev/null +++ b/integration/templates/expo-kotlin-alignment/.gitignore @@ -0,0 +1,6 @@ +/.expo/ +/.env* +/android/ +/ios/ +/node_modules/ +/pnpm-lock.yaml diff --git a/integration/templates/expo-kotlin-alignment/App.js b/integration/templates/expo-kotlin-alignment/App.js new file mode 100644 index 00000000000..a8ff51ae5ac --- /dev/null +++ b/integration/templates/expo-kotlin-alignment/App.js @@ -0,0 +1,75 @@ +import React, { useState } from 'react'; +import { Button, Text, View } from 'react-native'; +import { ClerkProvider, useAuth, useClerk } from '@clerk/expo'; +import { AuthView, UserProfileView } from '@clerk/expo/native'; +import { tokenCache } from '@clerk/expo/token-cache'; + +function Probe() { + const { isLoaded, isSignedIn, getToken } = useAuth(); + const { signOut } = useClerk(); + const [message, setMessage] = useState(''); + const [profile, setProfile] = useState(false); + const [mounted, setMounted] = useState(true); + + async function checkToken() { + try { + setMessage((await getToken()) ? 'Session token obtained' : 'No session token'); + } catch (error) { + setMessage(error.message); + } + } + + return ( + + Clerk Kotlin alignment probe + + Loaded: {String(isLoaded)}; signed in: {String(isSignedIn)} + + {message} +