80 lines
1.3 KiB
Vue
80 lines
1.3 KiB
Vue
<template>
|
|
<!-- Only render when profile has been set -->
|
|
<main id="app" v-if="authComplete">
|
|
|
|
<Header />
|
|
|
|
<!-- Main Components
|
|
<Messenger
|
|
v-if="profile"
|
|
:profile="profile"
|
|
:messages="state.messages"
|
|
/>
|
|
-->
|
|
<div v-if="profile">{{profile}}</div>
|
|
<Login v-else />
|
|
|
|
</main>
|
|
|
|
<!-- Show spash screen if ready is false -->
|
|
<Splash v-else />
|
|
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
|
|
import { defineComponent, onMounted } from "vue";
|
|
import { IpcRendererEvent } from "electron";
|
|
|
|
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 useProfile from "@/render/composables/useProfile";
|
|
import { postAppMount } from "@/render/ipc";
|
|
|
|
export default defineComponent({
|
|
|
|
components: {
|
|
Splash,
|
|
Messenger,
|
|
Login,
|
|
Header
|
|
},
|
|
|
|
setup() {
|
|
|
|
const { profile, authComplete } = useProfile();
|
|
|
|
onMounted(() => postAppMount());
|
|
|
|
return {
|
|
authComplete,
|
|
profile
|
|
}
|
|
}
|
|
})
|
|
|
|
</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>
|