66 lines
2.8 KiB
TypeScript
66 lines
2.8 KiB
TypeScript
import IP from '@/assets/icons/svg/ip.svg';
|
||
import Lottie from '@/components/lottie/lottie';
|
||
import MessagePush from '@/components/message-push';
|
||
import { useRouter } from 'expo-router';
|
||
import * as SecureStore from 'expo-secure-store';
|
||
import { useTranslation } from 'react-i18next';
|
||
import { Platform, Text, TouchableOpacity, View } from 'react-native';
|
||
export default function HomeScreen() {
|
||
const router = useRouter();
|
||
const { t } = useTranslation();
|
||
let token;
|
||
|
||
return (
|
||
<View className="flex-1 bg-bgPrimary px-[1rem] h-screen overflow-auto py-[2rem] pt-[10rem]">
|
||
{/* 标题区域 */}
|
||
<View className="items-start mb-10 w-full px-5">
|
||
<Text className="text-white text-3xl font-bold mb-3 text-left">
|
||
{t('auth.welcomeAwaken.awaken', { ns: 'login' })}
|
||
{"\n"}
|
||
{t('auth.welcomeAwaken.your', { ns: 'login' })}
|
||
{"\n"}
|
||
{t('auth.welcomeAwaken.pm', { ns: 'login' })}
|
||
</Text>
|
||
<Text className="text-white/85 text-base text-left">
|
||
{t('auth.welcomeAwaken.slogan', { ns: 'login' })}
|
||
</Text>
|
||
</View>
|
||
|
||
{/* Memo 形象区域 */}
|
||
{/* 如果是web端,使用静态ip形象,否则使用lottie */}
|
||
{Platform.OS === 'web' ? <IP /> : <Lottie source={'welcome'} style={{ width: 200, height: 200 }} />}
|
||
|
||
{/* 介绍文本 */}
|
||
<Text className="text-white text-base text-center mb-[1rem] leading-6 opacity-90 px-10 -mt-[4rem]">
|
||
{t('auth.welcomeAwaken.gallery', { ns: 'login' })}
|
||
{"\n"}
|
||
{t('auth.welcomeAwaken.back', { ns: 'login' })}
|
||
</Text>
|
||
<MessagePush />
|
||
{/* 唤醒按钮 */}
|
||
<TouchableOpacity
|
||
className="bg-white rounded-full px-10 py-4 shadow-[0_2px_4px_rgba(0,0,0,0.1)] w-full items-center"
|
||
onPress={async () => {
|
||
// 判断是否有用户信息,有的话直接到usermessage页面 没有到登录页
|
||
if (Platform.OS === 'web') {
|
||
token = localStorage.getItem('token') || "";
|
||
} else {
|
||
token = await SecureStore.getItemAsync('token') || "";
|
||
}
|
||
console.log("token111111111", token);
|
||
if (token) {
|
||
router.push('/ask')
|
||
} else {
|
||
router.push('/login')
|
||
}
|
||
|
||
}}
|
||
activeOpacity={0.8}
|
||
>
|
||
<Text className="text-[#4C320C] font-bold text-lg">
|
||
{t('auth.welcomeAwaken.awake', { ns: 'login' })}
|
||
</Text>
|
||
</TouchableOpacity>
|
||
</View>
|
||
);
|
||
} |