Files
qaffee/frontend/src/routes/company/[id]/+page.svelte

45 lines
1.1 KiB
Svelte
Raw Normal View History

2026-03-31 14:48:36 +02:00
<script lang="ts">
import { onMount } from 'svelte';
import { page } from '$app/stores';
import { api, type Employee, type Company } from '$lib/api/client';
2026-03-31 15:39:11 +02:00
import Header from '$lib/components/Header.svelte';
2026-03-31 14:48:36 +02:00
let employees: Employee[] = [];
let companyName = '';
let loading = true;
$: companyId = Number($page.params.id);
onMount(async () => {
const [emps, companies] = await Promise.all([
api.getEmployees(companyId),
api.getCompanies()
]);
employees = emps;
const company = companies.find((c: Company) => c.id === companyId);
companyName = company?.name ?? '';
loading = false;
});
</script>
<svelte:head>
2026-03-31 15:39:11 +02:00
<title>{companyName} Qaffee</title>
2026-03-31 14:48:36 +02:00
</svelte:head>
2026-03-31 15:39:11 +02:00
<Header title={companyName} backHref="/" />
2026-03-31 14:48:36 +02:00
{#if loading}
<div style="text-align: center; padding: 48px;">
<p>Laden...</p>
</div>
{:else}
<div class="card-grid" style="padding: 24px;">
{#each employees as emp}
<a href="/company/{companyId}/tally?employee={emp.id}" class="card">
<div style="font-size: 2.5rem;">👤</div>
<h3>{emp.firstName} {emp.lastName}</h3>
</a>
{/each}
</div>
{/if}