Custom user landing page — configurable home view per role #101

Open
opened 2026-03-30 22:10:11 +00:00 by forgejo_admin · 0 comments
Contributor

Type

Feature

Lineage

Depends on scoped sidebar and API permission filtering.

Repo

forgejo_admin/pal-e-production

User Story

As an admin (Lucas)
I want to configure what each user sees on their home page after login
So that stakeholders land on the most relevant project and board

Context

Currently all users see the same home page (recent notes, projects, in-progress items). Stakeholders like Mom need to land directly on the westside-basketball kanban board. This requires a per-user or per-role landing page configuration. Could be stored as a user preference in UserProjectPermission or as a Keycloak attribute.

File Targets

Files to modify:

  • src/routes/+page.svelte — home page, conditional rendering per user config
  • src/routes/+layout.svelte — post-login redirect logic

Acceptance Criteria

  • After login, user is redirected to their configured landing page
  • Default landing page works if no config set (current behavior)
  • Lucas can configure landing page for each user

Test Expectations

  • E2E test: login as configured user, verify redirect
  • Run command: npm run test:e2e

Constraints

  • Keep it simple — a single redirect URL per user is sufficient for v1
  • Consider where to store the config (DB column vs Keycloak attribute)

Checklist

  • PR opened
  • Tests pass
  • No unrelated changes
  • project-pal-e-app
  • arch-domain-pal-e-app
### Type Feature ### Lineage Depends on scoped sidebar and API permission filtering. ### Repo `forgejo_admin/pal-e-production` ### User Story As an admin (Lucas) I want to configure what each user sees on their home page after login So that stakeholders land on the most relevant project and board ### Context Currently all users see the same home page (recent notes, projects, in-progress items). Stakeholders like Mom need to land directly on the westside-basketball kanban board. This requires a per-user or per-role landing page configuration. Could be stored as a user preference in UserProjectPermission or as a Keycloak attribute. ### File Targets Files to modify: - `src/routes/+page.svelte` — home page, conditional rendering per user config - `src/routes/+layout.svelte` — post-login redirect logic ### Acceptance Criteria - [ ] After login, user is redirected to their configured landing page - [ ] Default landing page works if no config set (current behavior) - [ ] Lucas can configure landing page for each user ### Test Expectations - [ ] E2E test: login as configured user, verify redirect - Run command: `npm run test:e2e` ### Constraints - Keep it simple — a single redirect URL per user is sufficient for v1 - Consider where to store the config (DB column vs Keycloak attribute) ### Checklist - [ ] PR opened - [ ] Tests pass - [ ] No unrelated changes ### Related - `project-pal-e-app` - `arch-domain-pal-e-app`
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
1 participant
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
ldraney/pal-e-app#101
No description provided.