aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/src/components/VersionsView.svelte
diff options
context:
space:
mode:
author简律纯 <i@jyunko.cn>2026-01-14 12:09:36 +0800
committerGitHub <noreply@github.com>2026-01-14 12:09:36 +0800
commitb8cfb443b23e644ac0a7f469b500b2beaf001e9a (patch)
tree220f1968d22c4116bb86849168e242eb18234921 /ui/src/components/VersionsView.svelte
parentf1babdf9a625ddbb661f4e0678e6258511347656 (diff)
parente636559dbc509a305dc372887fd1549322092d72 (diff)
downloadDropOut-b8cfb443b23e644ac0a7f469b500b2beaf001e9a.tar.gz
DropOut-b8cfb443b23e644ac0a7f469b500b2beaf001e9a.zip
Merge pull request #11 from NtskwK/refactor/ui
Diffstat (limited to 'ui/src/components/VersionsView.svelte')
-rw-r--r--ui/src/components/VersionsView.svelte34
1 files changed, 34 insertions, 0 deletions
diff --git a/ui/src/components/VersionsView.svelte b/ui/src/components/VersionsView.svelte
new file mode 100644
index 0000000..8c0ddfe
--- /dev/null
+++ b/ui/src/components/VersionsView.svelte
@@ -0,0 +1,34 @@
+<script lang="ts">
+ import { gameState } from "../stores/game.svelte";
+</script>
+
+<div class="p-8 h-full overflow-y-auto bg-zinc-900">
+ <h2 class="text-3xl font-bold mb-6">Versions</h2>
+ <div class="grid gap-2">
+ {#if gameState.versions.length === 0}
+ <div class="text-zinc-500">Loading versions...</div>
+ {:else}
+ {#each gameState.versions as version}
+ <button
+ class="flex items-center justify-between p-4 bg-zinc-800 rounded hover:bg-zinc-700 transition text-left border border-zinc-700 {gameState.selectedVersion ===
+ version.id
+ ? 'border-green-500 bg-zinc-800/80 ring-1 ring-green-500'
+ : ''}"
+ onclick={() => (gameState.selectedVersion = version.id)}
+ >
+ <div>
+ <div class="font-bold font-mono text-lg">{version.id}</div>
+ <div class="text-xs text-zinc-400 capitalize">
+ {version.type} • {new Date(
+ version.releaseTime
+ ).toLocaleDateString()}
+ </div>
+ </div>
+ {#if gameState.selectedVersion === version.id}
+ <div class="text-green-500 font-bold text-sm">SELECTED</div>
+ {/if}
+ </button>
+ {/each}
+ {/if}
+ </div>
+</div>