Files
chopin-frontend/src/views/Servers.vue
Raphix ea9cf2ce42
All checks were successful
Frontend Deployment / deploy-frontend (push) Successful in 35s
Version 1.2.0 - Ajout des suggestions et de paramètres
2025-09-07 18:18:54 +02:00

134 lines
3.4 KiB
Vue

<script setup>
import Splash from '@/components/UI/Splash.vue';
import Box from '@/components/UI/Box.vue';
import SocketEnvironment from "../utils/SocketEnvironment.vue"
import { useRouter } from 'vue-router';
import { useGlobalStore } from '@/stores/globalStore';
import { useUserStore } from '@/stores/userStore';
import Button from '@/components/UI/Button.vue';
import ReturnHomeButton from '@/components/Widget/ReturnHomeButton.vue';
import { ref, onMounted } from 'vue';
import ServerListItem from '@/components/Widget/Server/ServerListItem.vue';
import Info from '@/components/UI/Info.vue';
import Account from '@/components/Layout/Account.vue';
const globalStore = useGlobalStore();
onMounted(() => {
document.title = "Mes Serveurs - Subsonics";
});
const userStore = useUserStore();
console.log("Last route:", globalStore.lastRoute);
const router = useRouter();
const hasLink = ref(false);
const botInviteUrl = ref("");
console.log(globalStore.lastGuild);
fetch('/information.json')
.then(response => response.json())
.then(data => {
botInviteUrl.value = import.meta.env.DEV ? data.bot_invite.development : data.bot_invite.production;
hasLink.value = true
})
.catch(error => {
console.error("Error fetching bot invite URL:", error);
hasLink.value = false;
});
function inviteSubsonics() {
window.open(botInviteUrl.value, '_blank', `popup,width=600,height=600,left=${(window.innerWidth - 600) / 2},top=${(window.innerHeight - 600) / 2}`);
}
// Vérifier RaphX pourquoi ca plante !
</script>
<template>
<SocketEnvironment>
<Splash>
<ReturnHomeButton v-if="globalStore.lastGuild"/>
<div class="servers-div">
<Box box-class="server-box" padding="closed">
<div class="servers-content">
<div class="servers-container">
<div class="servers-list">
<ServerListItem v-if="userStore.userInfo.guilds.length > 0" v-for="server in userStore.userInfo.guilds" :key="server.id" :server="server" />
<Info class="center" v-else>Aucun de tes serveurs n'est référencé dans le bot. Invite le bot sur un serveur pour le voir ici.</Info>
</div>
</div>
<Button :disabled="!hasLink" @click="inviteSubsonics()" icon="fa-solid fa-user-plus">Inviter Subsonics</Button>
</div>
</Box>
<Account class="full"/>
</div>
</Splash>
</SocketEnvironment>
</template>
<style scoped>
.servers-div {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 10px;
width: 90%;
max-width: 800px;;
margin-left: 20px;
margin-right: 20px;
}
.servers-content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 20px;
}
.center {
margin-left: auto;
margin-right: auto;
padding: 10px;;
}
.server-box {
width: 100%;
max-width: 800px;
}
.servers-list {
display: flex;
flex-direction: column;
gap:10px;
overflow-y: auto;
width: 100%;
}
.servers-container {
overflow-y: auto;
flex: 1;
padding-right: 5px;
padding-left: 5px;
width: 100%;
position: relative;
max-height: 45vh;
}
h1 {
font-size: 20px;;
}
</style>