various improvements
This commit is contained in:
6
layouts/clean.vue
Normal file → Executable file
6
layouts/clean.vue
Normal file → Executable file
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="flex h-screen max-h-screen text-white">
|
||||
<slot />
|
||||
</div>
|
||||
<div class="flex h-screen max-h-screen text-white">
|
||||
<slot />
|
||||
</div>
|
||||
</template>
|
||||
72
layouts/default.vue
Normal file → Executable file
72
layouts/default.vue
Normal file → Executable file
@@ -1,63 +1,61 @@
|
||||
<template>
|
||||
<Suspense>
|
||||
<div class="flex h-screen max-h-screen text-white">
|
||||
<Nav />
|
||||
<Sidebar />
|
||||
<div class="w-[calc(100vw-88px-240px)] h-full">
|
||||
<slot />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<template #fallback>
|
||||
Loading...
|
||||
</template>
|
||||
</Suspense>
|
||||
<Suspense>
|
||||
<div class="flex h-screen max-h-screen text-white">
|
||||
<Nav />
|
||||
<Sidebar />
|
||||
<div class="w-[calc(100vw-88px-240px)] h-full">
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
<template #fallback>
|
||||
Loading...
|
||||
</template>
|
||||
</Suspense>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Nav, Sidebar } from '~/.nuxt/components'
|
||||
import { useGlobalStore } from '~/stores/store'
|
||||
import { SafeUser } from '~/types'
|
||||
import { io } from 'socket.io-client'
|
||||
import { useGlobalStore } from '~/stores/store';
|
||||
import { SafeUser, IChannel, IServer } from '~/types';
|
||||
import { io } from 'socket.io-client';
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
user: storeToRefs(useGlobalStore()).user,
|
||||
}
|
||||
},
|
||||
async setup() {
|
||||
const globalStore = useGlobalStore()
|
||||
const sessionToken = useCookie('sessionToken')
|
||||
const globalStore = useGlobalStore();
|
||||
const sessionToken = useCookie('sessionToken');
|
||||
if (globalStore.user.id === undefined && sessionToken.value) {
|
||||
const route = useRoute()
|
||||
const headers = useRequestHeaders(['cookie']) as Record<string, string>
|
||||
const route = useRoute();
|
||||
const headers = useRequestHeaders(['cookie']) as Record<string, string>;
|
||||
const [user, { dms, servers }] = await Promise.all([
|
||||
$fetch('/api/getCurrentUser', { headers }) as unknown as SafeUser,
|
||||
$fetch('/api/user/getServers', { headers })
|
||||
])
|
||||
$fetch('/api/user/getServers', { headers }) as unknown as { dms: IChannel[], servers: IServer[] }
|
||||
]);
|
||||
|
||||
if (!user || !servers || !dms) return;
|
||||
|
||||
globalStore.setUser(user)
|
||||
globalStore.setUser(user);
|
||||
|
||||
globalStore.setServers(servers)
|
||||
globalStore.setDms(dms)
|
||||
globalStore.setServers(servers);
|
||||
globalStore.setDms(dms);
|
||||
if (route.params.id && typeof route.params.id === 'string') {
|
||||
globalStore.setActiveServer(route.path.includes('@me') ? 'dms' : 'servers', route.params.id)
|
||||
globalStore.setActiveServer(route.path.includes('@me') ? 'dms' : 'servers', route.params.id);
|
||||
}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
user: storeToRefs(useGlobalStore()).user,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
const globalStore = useGlobalStore()
|
||||
const sessionToken = useCookie('sessionToken')
|
||||
const globalStore = useGlobalStore();
|
||||
const sessionToken = useCookie('sessionToken');
|
||||
const socket = io({
|
||||
auth: (cb) => {
|
||||
cb({ token: sessionToken.value })
|
||||
cb({ token: sessionToken.value });
|
||||
}
|
||||
});
|
||||
|
||||
globalStore.setSocket(socket)
|
||||
globalStore.setSocket(socket);
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
Reference in New Issue
Block a user