Cleanup: Keycloak console link nits from PR #68 #69

Closed
opened 2026-03-21 21:45:32 +00:00 by forgejo_admin · 2 comments

Type

Feature

Lineage

plan-wkq → Phase 11 — QA nits from PR #68

Repo

forgejo_admin/westside-app

User Story

As a developer
I want Keycloak URLs DRY and links accessible to all roles
So that maintenance is easier and coaches aren't left out

Context

QA nits from PR #68 (Keycloak console links). None were merge-blocking but should be cleaned up.

File Targets

  • src/routes/(app)/+layout.svelte — import Keycloak URL constants from $lib/keycloak.js instead of hardcoding, add Account link for coach role nav
  • src/routes/(app)/admin/+page.svelte — import Keycloak URL constants, replace inline style with CSS class, add aria-label for external link
  • src/lib/keycloak.js — export KEYCLOAK_URL and REALM constants (needed by the above imports)

Acceptance Criteria

  • Keycloak URLs imported from $lib/keycloak.js constants (DRY)
  • $lib/keycloak.js exports KEYCLOAK_URL and REALM constants
  • Account link visible for coach role (not just player/parent)
  • Inline style replaced with CSS class
  • aria-label on external links indicating new tab

Test Expectations

  • Build passes: npm run build
  • Run command: npm run build

Constraints

  • Use existing KEYCLOAK_URL and REALM constants from $lib/keycloak.js

Checklist

  • PR opened
  • Tests pass
  • No unrelated changes
  • westside-app #68 — PR that introduced these nits
  • basketball-api #144 — parent feature
### Type Feature ### Lineage `plan-wkq` → Phase 11 — QA nits from PR #68 ### Repo `forgejo_admin/westside-app` ### User Story As a developer I want Keycloak URLs DRY and links accessible to all roles So that maintenance is easier and coaches aren't left out ### Context QA nits from PR #68 (Keycloak console links). None were merge-blocking but should be cleaned up. ### File Targets - `src/routes/(app)/+layout.svelte` — import Keycloak URL constants from `$lib/keycloak.js` instead of hardcoding, add Account link for coach role nav - `src/routes/(app)/admin/+page.svelte` — import Keycloak URL constants, replace inline style with CSS class, add aria-label for external link - `src/lib/keycloak.js` — export `KEYCLOAK_URL` and `REALM` constants (needed by the above imports) ### Acceptance Criteria - [ ] Keycloak URLs imported from `$lib/keycloak.js` constants (DRY) - [ ] `$lib/keycloak.js` exports `KEYCLOAK_URL` and `REALM` constants - [ ] Account link visible for coach role (not just player/parent) - [ ] Inline style replaced with CSS class - [ ] aria-label on external links indicating new tab ### Test Expectations - [ ] Build passes: `npm run build` - Run command: `npm run build` ### Constraints - Use existing `KEYCLOAK_URL` and `REALM` constants from `$lib/keycloak.js` ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] No unrelated changes ### Related - westside-app #68 — PR that introduced these nits - basketball-api #144 — parent feature
Author
Owner

Scope Review: NEEDS_REFINEMENT

Review note: review-269-2026-03-27

File paths in the ticket are wrong — SvelteKit route group (app) is missing from both paths, and a required file target is absent.

Issues found:

  • src/routes/+layout.svelte should be src/routes/(app)/+layout.svelte (the root layout is only 7 lines with no Keycloak refs)
  • src/routes/admin/+page.svelte does not exist — should be src/routes/(app)/admin/+page.svelte
  • Missing file target: src/lib/keycloak.jsKEYCLOAK_URL and REALM are module-private (const, not export const), so the agent must export them before they can be imported elsewhere
  • Inline style criterion is ambiguous — admin page has 3 inline styles (lines 71, 101, 107); specify which one to replace
  • Board item missing story:X and arch:X traceability labels
## Scope Review: NEEDS_REFINEMENT Review note: `review-269-2026-03-27` File paths in the ticket are wrong — SvelteKit route group `(app)` is missing from both paths, and a required file target is absent. **Issues found:** - `src/routes/+layout.svelte` should be `src/routes/(app)/+layout.svelte` (the root layout is only 7 lines with no Keycloak refs) - `src/routes/admin/+page.svelte` does not exist — should be `src/routes/(app)/admin/+page.svelte` - Missing file target: `src/lib/keycloak.js` — `KEYCLOAK_URL` and `REALM` are module-private (`const`, not `export const`), so the agent must export them before they can be imported elsewhere - Inline style criterion is ambiguous — admin page has 3 inline styles (lines 71, 101, 107); specify which one to replace - Board item missing `story:X` and `arch:X` traceability labels
Author
Owner

Issue body updated per scope review corrections.

Issue body updated per scope review corrections.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/westside-landing#69
No description provided.