import IP from '@/assets/icons/svg/ip.svg';
import { registerBackgroundUploadTask, triggerManualUpload } from '@/components/file-upload/backgroundUploader';
import Lottie from '@/components/lottie/lottie';
import MessagePush from '@/components/message-push';
import * as MediaLibrary from 'expo-media-library';
import { useRouter } from 'expo-router';
import * as SecureStore from 'expo-secure-store';
import { useEffect } from 'react';
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;
    // 在组件中使用
    useEffect(() => {
        const setupBackgroundTask = async () => {
            try {
                // 请求必要的权限
                const { status } = await MediaLibrary.requestPermissionsAsync();
                if (status !== 'granted') {
                    console.warn('Media library permission not granted');
                    return;
                }

                // 注册后台任务
                await registerBackgroundUploadTask();

                // 立即执行一次上传
                const now = new Date();
                const oneDayAgo = new Date(now.getTime() - 24 * 60 * 60 * 1000);
                triggerManualUpload(oneDayAgo, now);
            } catch (error) {
                console.error('Error setting up background task:', error);
            }
        };

        setupBackgroundTask();
    }, []);

    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('/user-message')
                    } else {
                        router.push('/login')
                    }

                }}
                activeOpacity={0.8}
            >
                <Text className="text-[#4C320C] font-bold text-lg">
                    {t('auth.welcomeAwaken.awake', { ns: 'login' })}
                </Text>
            </TouchableOpacity>
        </View>
    );
}