Skip to content

Conversation

ronjalh
Copy link
Member

@ronjalh ronjalh commented Nov 10, 2026

No description provided.

Anettkva and others added 30 commits November 5, 2026 12:45
- Move the Elements page, the element page, Your gymnasts and the login page
  with their tests from src/components/ to src/pages/ (git mv)
- Move the Calculator, About and not-found placeholders out of App.tsx
- Import the pages from @/pages in App.tsx
- Keep the page theme test checking the two moved pages
- Describe src/pages, src/components, src/components/ui and src/lib in the
  README, and update the links in the docs

Closes #97

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Move all 29 frontend tests with git mv into src/tests/, in the same
  folders as the code they test
- Import what they test with the @/ alias instead of relative paths
- Read the theme files from the new place in gymnastTheme.test.ts
- Describe src/tests in the README, and update the links to the tests

Part of #97

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-project

style: format the whole project with Prettier
- Changed default API URL from '/graphql' to '/project2/graphql' in Apollo client.
- Updated Vite configuration to add a proxy for '/project2/graphql' to forward requests to the backend.
Added with the shadcn CLI (npx shadcn@latest add tabs) and formatted with Prettier. It is built on the Base UI tabs, so it follows the WAI-ARIA tabs pattern.
The dialog of DeleteGymnastButton becomes its own component, so that removing an element from the list can use the same "are you sure?" dialog.
One query asks for the gymnast with all routines and elements. gymnastDetail.ts groups them by apparatus and marks the highest routine, so changing apparatus costs no request.
Route /gymnasts/:gymnastId behind the login check, with a tab for each apparatus, the routines of the chosen apparatus, the list of elements with a remove button for each element, and loading, error, empty and not-found states.

Refs: #149
The name is a link inside the heading, and its ::after covers the whole card. The delete button stays above it.

Refs: #149
Introduce the site and the sport for people who do not know
gymnastics, link the official Code of Points PDF, say that the
content is not ours, and explain that the site is made for trainers
and why it has a login. Plain text with links, in light and dark mode.

- add a glossary: apparatus, routine, element with the A-J values,
  vault, D-score, E-score, final score and Code of Points
- say what the calculator does not support yet: composition
  requirements, connection values, bonuses and the E-score
- add component tests for the PDF link, the rights text, the heading
  order and that the page has no buttons
- add the About page to docs/AI_USAGE.md

Closes #146
Keep the tests of the structure, the login text, the limits of the calculator and the links. The tests of the mission, the glossary and the PDF and rights text only checked that words were present, so they broke on any rewording.
Replace the line that said nothing was committed or posted with what the team changed after the first version: the trainers and the login, the A-J mapping, routines and vaults, and what the calculator does not support yet.
Add a link at the end of every page that takes a keyboard or screen
reader user back to the start of the page. It is read by a screen
reader and not seen until it has the focus, like the skip link.

- scroll to the top and put the focus on the first thing that can be
  reached, the "Skip to main content" link
- do not follow the link, so the address and the history do not change
- put the component once in App.tsx, so every page has it
- add tests of the component and a test that the link comes after the
  page on each route
- add the change to docs/AI_USAGE.md

Closes #165
Say in the comments of SkipLink and GoToTop that the skip link is what
meets WCAG 2.4.1 Bypass Blocks (level A, technique G1), and that the
go-to-top link is the way back, which WCAG does not require.
This reverts commit 86fbf08. The skip link already existed, so the pull request only adds the go-to-top link and does not refer to WCAG 2.4.1.
Add New routine and Add from search buttons, a shared TrashButton, ListSection
and StretchedLink, LinkButton (a real link with the pill look) and Button icon.
Errors are in three layers: ErrorMessage, ErrorPanel and ErrorPage.
Fix the layout on phones, the dark hover color and the Highest label.

Refs: #149
The element page follows the theme with readable contrast. Add to gymnast is
a menu for a logged-in coach and a link with a lock otherwise. Try in a
routine uses Button with an icon, and DifficultyBadge is used for vaults.

Refs: #149
The query, the mutation and add() leave the menu component, so it only
shows the choices. The behaviour and the tests are unchanged.

Refs: #149
… pages

Add docs/STATE_MANAGEMENT.md, a section on the two pages in ACCESSIBILITY.md,
a link in the README, and remove the deleted ElementValueBadge from its table.

Refs: #149
Delete the unused src/assets files (hero.png, react.svg, vite.svg), the
unused src/App.css and public/icons.svg. Remove the dead rules and tokens
of the template from src/index.css (.counter, #social, --accent-bg,
--accent-border, --social-bg, --shadow).

Closes #180
feat(gymnasts): add the gymnast page
…he-bottom-of-every-page

feat(a11y): add a go-to-top link to every page
Ronja and others added 9 commits November 10, 2026 14:13
The rest of the site calls the letter of an element its difficulty.

Refs: #146
# Conflicts:
#	docs/AI_USAGE.md
#	src/styles/global.css
The lockfile changes in 1cfdae8 were unrelated dependency bumps
(no package.json changed), so the lockfile now matches main again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Matches the backend's new default port from f5c286a.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Update API URL and Vite proxy configuration for project structure
@ronjalh ronjalh requested a review from a team as a code owner November 10, 2026 19:33
feat(theme): follow the system colour scheme on the first visit
…he-vite-template

chore: remove the leftovers of the Vite template
@xeniag xeniag merged commit fcb746e into main Nov 10, 2026
@xeniag xeniag deleted the dev branch November 10, 2026 19:45
@xeniag xeniag restored the dev branch November 10, 2026 19:45
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants