Some checks failed
Test and deploy staging / staging (push) Failing after 43s
Run the sveltekit-3 migration and finish its manual tasks:
- Move kit config into the sveltekit() Vite plugin; drop svelte.config.js
- Replace $lib with #lib subpath imports
- Declare env vars in src/env.ts and import them from $app/env/{private,public}
- Consolidate param matchers into src/params.ts
- Use error(status, message), Response.json, refreshAll and goto reset/shallow
- Fall back to a full page load when goto rejects a login return path
Switch from adapter-node to adapter-bun: the build script runs Vite under
Bun (the adapter requires it) and the image starts with `bun ./build`.
Runtime env names (PORT, BODY_SIZE_LIMIT, ADDRESS_HEADER, ...) are unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
42 lines
1.8 KiB
Svelte
42 lines
1.8 KiB
Svelte
<script lang="ts">
|
|
import { resolve } from '$app/paths';
|
|
import type { PageProps } from './$types';
|
|
let { data }: PageProps = $props();
|
|
</script>
|
|
|
|
<!-- Download manifest links point to reviewed external image sources. -->
|
|
<!-- eslint-disable svelte/no-navigation-without-resolve -->
|
|
<div class="mx-auto max-w-4xl px-4 py-10 sm:px-6">
|
|
<a href={resolve('projects/game-tracker')} class="text-sm text-muted-foreground hover:underline"
|
|
>← Game tracker</a
|
|
>
|
|
<h1 class="mt-6 text-3xl font-semibold">Artwork credits</h1>
|
|
<p class="mt-3 text-muted-foreground">
|
|
Game covers, logos, sprites, maps and screenshots belong to their respective owners. The tracker
|
|
stores WebP copies for consistent, reliable display. Map imagery is shared across games in the
|
|
same region; later-region landmark positions are approximate.
|
|
</p>
|
|
<h2 class="mt-8 text-xl font-semibold">Regional maps</h2>
|
|
<ul class="mt-4 space-y-3">
|
|
{#each data.maps as map (map.name)}<li>
|
|
<a href={map.source} target="_blank" rel="noreferrer" class="font-medium underline"
|
|
>{map.name}</a
|
|
>
|
|
<p class="text-xs text-muted-foreground">{map.credit}</p>
|
|
</li>{/each}
|
|
</ul>
|
|
<h2 class="mt-8 text-xl font-semibold">Covers, sprites and other artwork</h2>
|
|
<p class="mt-2 text-sm text-muted-foreground">
|
|
{data.total.toLocaleString()} downloaded image records. Box art is archived by Libretro and Serebii;
|
|
Pokémon sprites and official artwork are archived by PokéAPI. COD covers and achievement icons come
|
|
from Steam.
|
|
</p>
|
|
<ul class="mt-4 space-y-3">
|
|
{#each data.sources as item (item.source)}<li>
|
|
<a href={item.source} target="_blank" rel="noreferrer" class="text-sm underline"
|
|
>{item.credit}</a
|
|
><span class="ml-2 text-xs text-muted-foreground">{item.count} images</span>
|
|
</li>{/each}
|
|
</ul>
|
|
</div>
|