diff --git a/example/app/(app)/home.tsx b/example/app/(app)/home.tsx index df972f0..7dc639c 100644 --- a/example/app/(app)/home.tsx +++ b/example/app/(app)/home.tsx @@ -1,18 +1,13 @@ import Line, { AccessToken, UserProfile } from '@xmartlabs/react-native-line' import { useRouter } from 'expo-router' -import { useEffect, useState } from 'react' -import { - ActivityIndicator, - Alert, - Dimensions, - Image, - StyleSheet, -} from 'react-native' +import { Fragment, useEffect, useState } from 'react' +import { Alert, Dimensions, Image, StyleSheet } from 'react-native' import { removeLocalStorageItem, setLocalStorageItem, } from '@/common/localStorage' +import { ActivityBanner } from '@/components/ActivityBanner' import { Bullet } from '@/components/Bullet' import { Button } from '@/components/Button' import { ThemedView } from '@/components/ThemedView' @@ -39,56 +34,60 @@ export default function () { }, []) function logOut() { - return Line.logout().then(() => { - removeLocalStorageItem('accessToken') - router.replace('/login') - }) + setLoading(true) + return Line.logout() + .then(() => { + removeLocalStorageItem('accessToken') + router.replace('/login') + }) + .finally(() => setLoading(false)) } function getFriendshipStatus() { + setLoading(true) return Line.getFriendshipStatus() .then(result => Alert.alert(strings.isFriend, String(result.friendFlag))) .catch(handleError) + .finally(() => setLoading(false)) } function refreshAccessToken() { + setLoading(true) return Line.refreshAccessToken() .then(accessToken => { setLocalStorageItem('accessToken', accessToken.accessToken) setToken(accessToken) }) .catch(handleError) + .finally(() => setLoading(false)) } function verifyAccessToken() { + setLoading(true) return Line.verifyAccessToken() .then(result => Alert.alert(result.clientId, result.expiresIn.toString())) .catch(handleError) - } - - if (loading) { - return ( - - - - ) + .finally(() => setLoading(false)) } return ( - - - - - - - -