Files
riwa-ionic/src/App.vue

44 lines
1.0 KiB
Vue

<script setup lang="ts">
import { App as CapacitorApp } from "@capacitor/app";
const userStore = useUserStore();
const { isAuthenticated } = storeToRefs(userStore);
const { locale, loadSavedLanguage } = useLanguage();
const { initializeWallet } = useWalletStore();
const { updateProfile } = useUserStore();
const platform = usePlatform();
const { checkAndPromptUpdate } = useAppUpdate();
onBeforeMount(() => {
loadSavedLanguage();
});
onMounted(() => {
if (!isAuthenticated.value)
return;
updateProfile();
CapacitorApp.addListener("appStateChange", ({ isActive }) => {
if (isActive) {
userStore.updateProfile();
}
});
if (import.meta.env.MODE === "production") {
useTimeoutFn(() => {
checkAndPromptUpdate();
}, 3000);
}
});
watch(locale, (newLocale) => {
document.querySelector("html")?.setAttribute("lang", newLocale);
}, { immediate: true });
</script>
<template>
<IonApp>
<Suspense>
<IonRouterOutlet :animated="platform !== 'browser'" />
</Suspense>
</IonApp>
</template>