Skip to content

Design layout change#439

Open
ABuljko wants to merge 5 commits into
Nitrokey:mainfrom
ABuljko:design-layout-change
Open

Design layout change#439
ABuljko wants to merge 5 commits into
Nitrokey:mainfrom
ABuljko:design-layout-change

Conversation

@ABuljko

@ABuljko ABuljko commented Jun 13, 2026

Copy link
Copy Markdown
Contributor
Before After
Screenshot 2026-06-13 084324 Screenshot 2026-06-13 085330
Screenshot 2026-06-13 084351 Screenshot 2026-06-13 085343
Screenshot 2026-06-13 084411 Screenshot 2026-06-13 085436
Screenshot 2026-06-13 084747 Screenshot 2026-06-13 085359
Screenshot 2026-06-13 084813 Screenshot 2026-06-13 085503

@ABuljko

ABuljko commented Jun 13, 2026

Copy link
Copy Markdown
Contributor Author

Hi @robin-nitrokey
Do you know by any chance why there is a version update commit in my PR, and if we can ignore it since there is already a time stamp on it for when it was released

@robin-nitrokey

Copy link
Copy Markdown
Member

It looks like this is my commit from the main branch: 6abc3c0

Did you maybe accidentally run git amend --reset-author on it? Anyway, you can just drop it.

Regarding the dark mode, I think this was actually an intended change in #297. But indeed it does not look good with the default icons. Maybe we should have a different icon set for dark mode?

@ABuljko

ABuljko commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

No, I did not run any command like that, but yeah I will drop it

Good to know, then I will also fix up the dark mode as well, and change up the SVGs that we have and separate them in their respective folders

@ABuljko ABuljko force-pushed the design-layout-change branch from e53d3db to babaf0d Compare June 16, 2026 08:27
@ABuljko

ABuljko commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

Added the dark mode properly now
Screenshot 2026-06-16 131743
Screenshot 2026-06-16 131755
Screenshot 2026-06-16 131803
Screenshot 2026-06-16 131812
Screenshot 2026-06-16 131938

@robin-nitrokey

Copy link
Copy Markdown
Member

Thanks! Looking at the screenshot I noticed two things:

  • In the third screenshot, the REVERSE HOTP label and the Require PIN/Touch fields have a different background than the reset.
  • In the third and fifth screenshot, the lock icon for passwords and passkeys is still quite hard to see.

@ABuljko

ABuljko commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

Thank you!
I implemented your suggestions :)

@robin-nitrokey

Copy link
Copy Markdown
Member

I noticed that you also included some functional changes/fixes. Can you please move them to separate commits with some context to make them easier to review (or maybe a separate PR)?

@ABuljko

ABuljko commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

Sorry, I forgot to mention them
I will see after work if making a new PR or highlighting it in the commits would be better

@ABuljko ABuljko force-pushed the design-layout-change branch from 9aa42ee to ae06152 Compare June 19, 2026 08:56
ABuljko added 2 commits June 19, 2026 11:03
- Redesign main layout, sidebar, and card styles across all tabs
- Add dark stylesheet that auto-switches with the OS color scheme
- Wire up colorSchemeChanged signal for live light/dark switching
- Add QTimer.singleShot(0) to fix Qt startup theme-detection race
- Introduce light_mode/ and dark_mode/ icon folders; themed icon
  resolver in QtUtilsMixIn picks the correct variant per scheme
- Add refresh_icons() to all tabs so icons update on theme switch
- Fix Passkeys tab (Fido2Tab) missing from icon refresh chain
- Change device tile hover/checked state to reddish accent
- Warn the user when ≤2 PIN retries remain before the Passwords app
  locks the device permanently
- Require PIN confirmation when setting a new Passwords PIN to catch
  typos before they take effect
- Show a friendlier 'Incorrect PIN. Please try again.' error instead
  of the raw SDK exception string
- Style status bar error text red and bold; clear the style on dismiss
- Remove a hardcoded grey stylesheet from the progress bar
@ABuljko ABuljko force-pushed the design-layout-change branch from ae06152 to 9817609 Compare June 19, 2026 09:04
@ABuljko

ABuljko commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

@robin-nitrokey
It is done 🍀
Do you know why the check for Linux failed? I checked the code it was fine

@mmerklinger mmerklinger requested review from a team, daringer, james-knippes, mmerklinger, robin-nitrokey and sosthene-nitrokey and removed request for a team June 22, 2026 10:44
Comment thread nitrokeyapp/__main__.py Outdated
@ABuljko ABuljko requested a review from robin-nitrokey June 22, 2026 21:54
@ABuljko ABuljko requested a review from a team as a code owner June 22, 2026 22:54
Comment thread nitrokeyapp/fido2_tab/__init__.py Outdated

@Slot(object)
def credential_deleted(self, credential: Optional[Fido2Credential]) -> None:
def credential_deleted(self, credential: object) -> None:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There are some more changes like this. Can’t we change the slot type to match the type annotation?

@ABuljko ABuljko Jun 26, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The reviewer is right, @slot(object) and Optional[Fido2Credential] can coexist 😲

Changing it to an object was unnecessary and made the type safety weaker 😅😅😅

Restored the original annotations. Added # type: ignore [arg-type] due to a PySide6-stubs limitation
Alternative options would take more effort, U can decide if I should go through with them or drop the last commit

Use type: ignore [arg-type] to satisfy PySide6-stubs while keeping
the more specific Optional[Fido2Credential] and Type[BaseException]
annotations instead of the weaker object fallback.
@ABuljko ABuljko requested a review from robin-nitrokey June 27, 2026 00:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants