Files
eden/src/routes/characters/+page.svelte
T

18 lines
1.3 KiB
Svelte

<script lang="ts">
import LiveCharacters from '$lib/components/LiveCharacters.svelte';
let { data } = $props();
</script>
<p class="eyebrow">APPLICATION-USER AGGREGATION</p><h1>Characters</h1>
<p class="muted">Connect each character explicitly. ESI does not expose all characters on an EVE account.</p>
{#if data.mode !== 'demo' && data.identityEnabled}<form method="POST" action="/auth/eve"><button>Connect EVE Character</button></form>{/if}
{#if data.error}<p class="error" role="alert">{data.error}</p>{/if}
{#if data.userId && data.convexUrl && data.mode !== 'demo'}<LiveCharacters />{/if}
{#each data.characters as character (character.id)}
<section class="panel"><div class="row spread"><h2>{character.name}</h2><span class="muted">{character.assets.status}</span></div>
<small>Character {character.id}</small>
<p class="muted">Assets synchronized: {character.assets.syncedAt ? new Date(character.assets.syncedAt).toISOString() : 'Not yet'}<br />Granted scopes: {character.scopes.join(', ') || 'None'}</p>
{#if character.assets.error}<p class="warning">{character.assets.error}</p>{/if}
</section>
{:else}<section class="panel"><p>No connected characters. Your first verified EVE login creates your application user; further connections attach to that user.</p></section>{/each}
<p><a href="/assets">Open asset report →</a></p>