Files
webapp-front/pages/index.vue
T
2024-12-30 00:39:39 +01:00

44 lines
885 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()
.then(() => {
loading.value = false;
})
.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 || loading"
/>
</template>
<style lang="css" scoped>
input:disabled {
cursor: wait;
}
</style>