tristan-wip #2
@ -51,8 +51,7 @@ const optionsOpen = ref(false);
|
|||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
games.value = await fetchGames();
|
games.value = await fetchGames();
|
||||||
tags.value = [...new Set(games.value.flatMap(game => game.Genres.split(",")))];
|
tags.value = [...new Set(games.value.flatMap(game => game.Genres.split(",")))];
|
||||||
selectedTag.value = tags.value[0];
|
store.selectTag(tags.value[0])
|
||||||
selectedGame.value = store.filteredGames[0];
|
|
||||||
});
|
});
|
||||||
|
|
||||||
KeyboardManager.switchContext("sidebar")
|
KeyboardManager.switchContext("sidebar")
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="p-6 h-full overflow-auto">
|
<div class="p-6 h-full overflow-auto">
|
||||||
<div v-if="game" class="space-y-4">
|
<div v-if="game" class="space-y-4">
|
||||||
<h1 class="text-4xl font-bold">{{ game.title }}</h1>
|
<h1 class="text-4xl font-bold">{{ game.Game }}</h1>
|
||||||
<div class="text-sm text-gray-400">{{ game.genre }} - {{ game.players }} players</div>
|
<div class="text-sm text-gray-400">{{ game.Genres }} - {{ game.Players }} players</div>
|
||||||
<p class="text-lg">{{ game.description }}</p>
|
<p class="text-lg">{{ game.Description }}</p>
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-4">
|
<div class="grid grid-cols-2 gap-4">
|
||||||
<img
|
<img
|
||||||
v-for="(img, index) in game.media"
|
v-for="(img, index) in [game.ImagePath, game.ThumbnailPath]"
|
||||||
:key="index"
|
:key="index"
|
||||||
:src="img"
|
:src="img"
|
||||||
class="rounded-lg border border-gray-600 max-h-48 object-cover"
|
class="rounded-lg border border-gray-600 max-h-48 object-cover"
|
||||||
@ -15,10 +15,11 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<div><strong>Languages:</strong> {{ game.languages.join(', ') }}</div>
|
|
||||||
<div class="flex gap-2 mt-2">
|
<div class="flex gap-2 mt-2">
|
||||||
<button
|
<button
|
||||||
v-for="(link, name) in game.links"
|
v-for="(link, name) in {
|
||||||
|
Repo: game.PublicRepositoryLink
|
||||||
|
}"
|
||||||
:key="name"
|
:key="name"
|
||||||
class="bg-blue-600 px-3 py-1 rounded hover:bg-blue-500"
|
class="bg-blue-600 px-3 py-1 rounded hover:bg-blue-500"
|
||||||
@click="$emit('qr', link)"
|
@click="$emit('qr', link)"
|
||||||
@ -33,9 +34,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
defineProps({
|
import { models } from "../../wailsjs/go/models";
|
||||||
game: Object,
|
import Game = models.Game;
|
||||||
});
|
|
||||||
|
defineProps<{
|
||||||
|
game: Game,
|
||||||
|
}>();
|
||||||
|
|
||||||
defineEmits(['qr']);
|
defineEmits(['qr']);
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user