[web] Contest team logins
This commit is contained in:
parent
19f49089e8
commit
4971fb4851
@ -1,5 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { enhance } from '$app/forms';
|
||||
import { page } from '$app/stores';
|
||||
import type { Actions, PageData } from './$types';
|
||||
|
||||
export let data: PageData;
|
||||
@ -50,6 +51,7 @@
|
||||
<div class="mt-3 row">
|
||||
<div class="col-6">
|
||||
<h4>Teams</h4>
|
||||
<a href={`${$page.url}/logins`} class="mb-2 btn btn-outline-secondary">Printable Logins</a>
|
||||
<div class="list-group">
|
||||
{#each data.teams as team}
|
||||
<a href={`/admin/teams/${team.id}`} class="list-group-item list-group-item-action"
|
||||
|
@ -0,0 +1,31 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import type { PageServerLoad } from './$types';
|
||||
import { db } from '$lib/server/prisma';
|
||||
|
||||
export const load = (async ({ params }) => {
|
||||
if (!params.contestId) {
|
||||
throw redirect(302, '/admin/contests');
|
||||
}
|
||||
const contestId = parseInt(params.contestId);
|
||||
if (isNaN(contestId)) {
|
||||
throw redirect(302, '/admin/contests');
|
||||
}
|
||||
|
||||
const contest = await db.contest.findUnique({
|
||||
where: { id: contestId },
|
||||
include: { teams: true }
|
||||
});
|
||||
if (!contest) {
|
||||
throw redirect(302, '/admin/contests');
|
||||
}
|
||||
|
||||
return {
|
||||
teams: contest.teams.map((team) => {
|
||||
return {
|
||||
id: team.id,
|
||||
name: team.name,
|
||||
password: team.password
|
||||
};
|
||||
})
|
||||
};
|
||||
}) satisfies PageServerLoad;
|
@ -0,0 +1,20 @@
|
||||
<script lang="ts">
|
||||
import type { PageData } from './$types';
|
||||
|
||||
export let data: PageData;
|
||||
</script>
|
||||
|
||||
{#each data.teams as team}
|
||||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Team Name</th>
|
||||
<th>Password</th></tr
|
||||
>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr><td>{team.id}</td><td>{team.name}</td><td>{team.password}</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{/each}
|
@ -0,0 +1 @@
|
||||
export const csr = false;
|
Loading…
Reference in New Issue
Block a user