From 648e77ee0b283b9b172932b4431915587b44cfaa Mon Sep 17 00:00:00 2001 From: Sabine Maennel <5292683+sabinem@users.noreply.github.com> Date: Tue, 1 Sep 2026 21:16:42 +0200 Subject: [PATCH] style(frontend): a participant's profile is set to be read MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every sentence on the page was 12px mono at the full width of the window — about 120 characters to a line, nearly twice the 68 the theme's own `.prose` caps at, in the face reserved for scanning rather than reading. The page used `text-xs` thirteen times and `.prose` not once, while overview, timeline, manage and the registration answers page all use it. That left two sizes for the whole page: a 21px name, then an undifferentiated grey field with no rung between them. The disclaimer above the answers was physically larger than the answers it qualified, on a page whose reason to exist is those answers. And each answer ran its question and its value together on one line at one size, so "Which university are you with? University of Basel" read as a single sentence with no column to scan down. Sentences move to `.prose`, headings to `text-section`, answers to `text-body`, and the answers themselves into a two-column grid with the question quieter beside the value. The visibility note drops below them as the footnote it always was. The two sections become cards, and the column is capped — this page is one person and several sentences, not a roster that wants the width. The question labels deliberately do not use `.meta`, which uppercases: these labels are whole questions, and a question shouted in 11px capitals is harder to read, not easier. --- .../participants/[participantId]/+page.svelte | 283 +++++++++++------- 1 file changed, 169 insertions(+), 114 deletions(-) diff --git a/components/frontend/src/routes/(app)/my/hackathon/[id]/participants/[participantId]/+page.svelte b/components/frontend/src/routes/(app)/my/hackathon/[id]/participants/[participantId]/+page.svelte index 8981f938..f331fd29 100644 --- a/components/frontend/src/routes/(app)/my/hackathon/[id]/participants/[participantId]/+page.svelte +++ b/components/frontend/src/routes/(app)/my/hackathon/[id]/participants/[participantId]/+page.svelte @@ -35,7 +35,18 @@ -
@{data.participant.username}
-@{data.participant.username}
+
- The hackathon's organizers see all of these. The ones marked
- Shared
- are also visible to everyone in the hackathon. Change them on the
-
+
+ You have not answered the registration form.
+
+ {data.answerScope === 'mine' ? 'Registration answers' : 'Shared answers'}
+
+
+ {#if data.answers.length === 0}
+
+
- registration form
.
-
- Answers this event shares with everyone taking part. The rest of - {data.participant.name}'s form is between them and the organizers. + {#each data.answers as answer (answer.questionId)} + +
+ {#if data.answerScope === 'mine'} + The hackathon's organizers see all of these. The ones marked + Shared + are also visible to everyone in the hackathon. Change them on the + + registration form. + {:else} + Answers this event shares with everyone taking part. The rest of + {data.participant.name}'s form is between them and the organizers. + {/if}
- {/if} + + {/if} - {#if data.answers.length === 0} - -
- You have not answered the registration form.
+
+ Team assignments have not been published in this hackathon yet.
+
+ Teams could not be loaded. Reload the page to try again.
+
+ {data.participant.name} is not on a team in this hackathon yet.
Teams
+
+ {#if !data.teamsPublished}
+
- {#each data.answers as answer (answer.questionId)}
-
- Team assignments have not been published in this hackathon yet. -
- {:else if data.teamsFailed} -- Teams could not be loaded. Reload the page to try again. -
- {:else if data.teams.length === 0} -- {data.participant.name} is not on a team in this hackathon yet. -
- {:else} - {#each data.teams as team (team.id)} - - {team.name} - {#if team.projectTitle} - {team.projectTitle} - {/if} - - {/each} - {/if} +