Files
front/pages/index.vue
T
2024-12-29 23:39:15 +01:00

39 lines
798 B
Vue

<script setup lang="ts">
import { useLobbyStore } from "~/store/lobby.store";
import { useUserStore } from "~/store/user.store";
const loading = ref(false);
const lobbyStore = useLobbyStore();
const userStore = useUserStore();
async function createGame() {
if (loading.value) {
return;
}
loading.value = true;
await lobbyStore.createGame().catch((e) => {
if (e.data.statusCode == 400) {
console.error("Owned game limit reached");
} else {
console.log(e);
}
});
}
</script>
<template>
<LobbyGame v-for="game in lobbyStore.games" :key="game.id" :id="game.id" />
<input
type="button"
value="Create Game"
@click="createGame"
:disabled="!userStore.self"
/>
</template>
<style lang="css" scoped>
input:disabled {
cursor: wait;
}
</style>