2026-06-12 23:42:09 +08:00
|
|
|
import { useEffect } from 'react';
|
2026-03-24 14:21:31 +08:00
|
|
|
import { Redirect } from 'expo-router';
|
|
|
|
|
|
|
|
|
|
import { AppRouteStack } from '../../src/app-navigation/AppRouteStack';
|
|
|
|
|
import { messageManager, useAuthStore } from '../../src/stores';
|
2026-06-12 23:42:09 +08:00
|
|
|
import { useRegisterPushDevice } from '../../src/hooks';
|
|
|
|
|
import { hrefAuthLogin } from '../../src/navigation/hrefs';
|
2026-03-24 14:21:31 +08:00
|
|
|
|
|
|
|
|
export default function AppLayout() {
|
|
|
|
|
const isAuthenticated = useAuthStore((s) => s.isAuthenticated);
|
2026-04-27 23:21:08 +08:00
|
|
|
const userID = useAuthStore((s) => s.currentUser?.id);
|
2026-03-24 14:21:31 +08:00
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
messageManager.initialize();
|
|
|
|
|
}, []);
|
|
|
|
|
|
2026-06-12 23:42:09 +08:00
|
|
|
useRegisterPushDevice(isAuthenticated, userID);
|
2026-04-27 23:21:08 +08:00
|
|
|
|
2026-03-24 14:21:31 +08:00
|
|
|
if (!isAuthenticated) {
|
2026-06-12 23:42:09 +08:00
|
|
|
return <Redirect href={hrefAuthLogin()} />;
|
2026-03-24 14:21:31 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return <AppRouteStack />;
|
2026-06-12 23:42:09 +08:00
|
|
|
}
|