Skip to content

General: Improve user interface of passkey explanation - #13428

Merged
krusche merged 39 commits into
developfrom
chore/passkey/ui-improvement
Aug 10, 2026
Merged

General: Improve user interface of passkey explanation#13428
krusche merged 39 commits into
developfrom
chore/passkey/ui-improvement

Conversation

@Lyynnnx

@Lyynnnx Lyynnnx commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Checklist

General

Client

  • Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data (e.g. using paging).
  • I strictly followed the principle of data economy for all client-server REST calls.
  • I strictly followed the client coding guidelines.
  • I strictly followed the AET UI-UX guidelines.
  • Following the theming guidelines, I specified colors only in the theming variable files and checked that the changes look consistent in both the light and the dark theme.
  • I added multiple integration tests (Vitest) related to the features (with a high test coverage), while following the test guidelines.
  • I added authorities to all new routes and checked the course groups for displaying navigation elements (links, buttons).
  • I documented the TypeScript code using JSDoc style.
  • I added multiple screenshots/screencasts of my UI changes.
  • I translated all newly inserted strings into English and German.

Motivation and Context

The passkey nudge model hasn't received any updates for a long time. To increase the usage of passkey of users, it's crucial to provide user with useful information about passkeys, keeping the text amount as few as possible.
Decreasing the amount of text in passkey-setup modal improves the UX and attracts the user's attention

Description

This PR rethinks the UI of SetupPasskeyModalComponent, decreases the amount of text, adds icons and make the whole design more clear to users. It also adds new facts about passkeys similar to as it is implemented in Thesis Management

Steps for Testing

Prerequisites:

  1. An account, where the passkey was not set up yet
  2. Log in to Artemis
  3. Verify that you got the Set Up Your First Passkey on This Device modal with a new UI.

Testserver States

You can manage test servers using Helios. Check environment statuses in the environment list. To deploy to a test server, go to the CI/CD page, find your PR or branch, and trigger the deployment.

Review Progress

Code Review

  • Code Review 1
  • Code Review 2

Manual Tests

  • Test 1
  • Test 2

Test Coverage

Client

Class/File Line Coverage Lines Expects Ratio
setup-passkey-modal.component.ts 91.89% 76 17 22.4

Last updated: 2026-08-08 14:19:41 UTC

Screenshots

Summary by CodeRabbit

  • UI Improvements
    • Refreshed the passkey setup dialog with improved sizing, layout, and styling.
    • Added visual explanations highlighting faster sign-in, passwordless access, and enhanced security.
    • Updated controls for a more consistent and accessible experience.
    • Improved actions for setting up a passkey, closing the dialog, or being reminded later.
  • Localization
    • Added English and German translations for the passkey setup content and reminder option.

Lyynnnx added 24 commits May 27, 2026 16:20
@Lyynnnx
Lyynnnx requested a review from krusche as a code owner August 5, 2026 00:45
@github-project-automation github-project-automation Bot moved this to Work In Progress in Artemis Development Aug 5, 2026
@github-actions github-actions Bot added client Pull requests that update TypeScript code. (Added Automatically!) course labels Aug 5, 2026

@Claudia-Anthropica Claudia-Anthropica left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Lyynnnx The latest tests cover the rendered footer controls, and I found no new code-level regression in the responsive TUM UI implementation. However, the exact-head snapshot has a failed required All required CI Passed check and a failed E2E / Report E2E Overall Status aggregate. The repository gate explicitly treats that aggregate as the authoritative E2E verdict despite successful phase jobs, so please obtain a green required CI result.

@Lyynnnx
Lyynnnx temporarily deployed to playwright-e2e-tests August 8, 2026 07:17 — with GitHub Actions Inactive
@Lyynnnx
Lyynnnx temporarily deployed to playwright-e2e-tests August 8, 2026 07:19 — with GitHub Actions Inactive
@Lyynnnx
Lyynnnx temporarily deployed to playwright-e2e-tests August 8, 2026 08:03 — with GitHub Actions Inactive
@Lyynnnx
Lyynnnx temporarily deployed to playwright-e2e-tests August 8, 2026 08:05 — with GitHub Actions Inactive

@SultanTheHL SultanTheHL left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issues mentioned above has been resolved. Approve👍

@Lyynnnx
Lyynnnx temporarily deployed to playwright-e2e-tests August 8, 2026 13:49 — with GitHub Actions Inactive
@Lyynnnx
Lyynnnx temporarily deployed to playwright-e2e-tests August 8, 2026 13:57 — with GitHub Actions Inactive
@Lyynnnx Lyynnnx added this to the 9.9 milestone Aug 8, 2026

@Claudia-Anthropica Claudia-Anthropica left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Lyynnnx The exact-head implementation resolves the prior localization, semantic styling, responsive footer, and test-coverage findings, and I found no new code-level regression. However, the required All required CI Passed check and authoritative E2E / Report E2E Overall Status aggregate remain failed; please fix or rerun the E2E failure and obtain a green required CI result.

@helios-aet
helios-aet Bot temporarily deployed to artemis-test5.artemis.cit.tum.de August 9, 2026 09:48 Inactive

@LuisL02 LuisL02 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested on TS5, new passkey UI is clean and works as expected - buttons are highlighted on hover and functional.
Image

@az108 az108 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review and Tested on TS5 and works as described with a great new passkey overview. 👍

One thing I noticed was that the set up later button was not consistent with the other buttons, but this seems to be wanted.

Image

@krusche krusche changed the title General: Improve UI of passkey nudge modal General: Improve UI of passkey explanation Aug 10, 2026
@krusche krusche changed the title General: Improve UI of passkey explanation General: Improve user interface of passkey explanation Aug 10, 2026
@krusche
krusche merged commit dc638b0 into develop Aug 10, 2026
54 of 57 checks passed
@krusche
krusche deleted the chore/passkey/ui-improvement branch August 10, 2026 06:46
@github-project-automation github-project-automation Bot moved this from Ready For Review to Merged in Artemis Development Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

client Pull requests that update TypeScript code. (Added Automatically!) course ready for review ready to merge

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

6 participants