74 lines
1.1 KiB
Vue
74 lines
1.1 KiB
Vue
<template>
|
|
<!-- Only render when profile has been set -->
|
|
<main id="app" v-if="ready">
|
|
|
|
<Header />
|
|
|
|
<Messenger v-if="account"/>
|
|
<Login v-else />
|
|
|
|
</main>
|
|
|
|
<!-- Show spash screen if ready is false -->
|
|
<Splash v-else />
|
|
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
|
|
import { defineComponent, onMounted } from "vue";
|
|
|
|
import Splash from "@/render/components/splash.vue";
|
|
import Messenger from "@/render/components/messenger.vue";
|
|
import Login from "@/render/components/login.vue";
|
|
import Header from "@/render/components/header.vue";
|
|
|
|
import { ready, account, setAccount, clearAccount } from "@/render/shared/account";
|
|
import { postAppMount } from "@/render/ipc";
|
|
|
|
export default defineComponent({
|
|
|
|
components: {
|
|
Splash,
|
|
Messenger,
|
|
Login,
|
|
Header
|
|
},
|
|
|
|
setup() {
|
|
|
|
onMounted(() => {
|
|
|
|
postAppMount()
|
|
|
|
});
|
|
|
|
return {
|
|
account,
|
|
ready
|
|
}
|
|
}
|
|
})
|
|
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
|
|
html, body {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
#app {
|
|
font-family: "SF Pro Text";
|
|
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
|
|
height: 100vh;
|
|
width: 100vw;
|
|
|
|
border-radius: 15px;
|
|
}
|
|
|
|
</style>
|