various improvements

This commit is contained in:
Zoe
2023-04-20 21:19:22 -05:00
parent b6d3b045aa
commit 3ea8167569
60 changed files with 12369 additions and 7625 deletions

6
layouts/clean.vue Normal file → Executable file
View 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
View 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>