Skip to content

feature(UI): Account Drawer Redesign#428

Open
asoucar wants to merge 8 commits into
thunderbird:mainfrom
asoucar:avatar
Open

feature(UI): Account Drawer Redesign#428
asoucar wants to merge 8 commits into
thunderbird:mainfrom
asoucar:avatar

Conversation

@asoucar

@asoucar asoucar commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Contribution Summary

Redesign of account drawer per design #396

Closes #414 Closes #413 Closes #415 Closes #417

simulator_screenshot_FAB1EDEB-7C93-4C21-ABAA-3715349596E7 Simulator Screenshot - iPhone 17 - 2026-07-16 at 15 55 25

Screenshots

Please include any screenshots of modified visuals within the project.

AI Contribution Disclosure

  • This contribution does not include any changes created or assisted by AI.
  • This contribution includes changes assisted by AI.
  • This contribution includes changes created by AI.

Contribution Checklist

  • I have read and affirm that my contribution adheres to Mozilla’s Community Participation Guidelines
  • This contribution adheres to the Thunderbird iOS Contribution Guidelines.
  • This contribution does not contain merge commits, and is rebased on the latest from the iOS codebase.
  • This contribution includes tests for any new functionality, and maintains tests for any updated functionality.
  • This PR has a descriptive title and body that accurately outlines all changes made, and contains a reference to any issues that it fixes (e.g. Closes #XXX or Fixes #XXX).

@asoucar
asoucar marked this pull request as ready for review July 16, 2026 20:18
@asoucar
asoucar requested a review from a team as a code owner July 16, 2026 20:18
@asoucar
asoucar requested review from Emifus and removed request for a team July 16, 2026 20:18
let letter = "\(splitName[0].capitalized.first!)\(splitName[1].capitalized.first!)"
return letter
} else {
return String(splitName[0].capitalized.first!)

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.

This crashes if displayName is empty:

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.

WebKit is SVG-capable, but there is no native SVG platform support. Instead, Xcode pre-renders SVGs in asset catalogs, and turns them into a set of PNGs at each specified DPI (@2x or @3x) or "one size" according to the original SVG viewbox, depending on which boxes you tick in the asset catalog.

You can also tick "preserve vector data," but I think all that does is copy the original SVG to the app bundle, so you can access the actual file, the XML data, but there's no way to render it without a third-party library -- or by loading into WebKit.

For SF Symbols, and the new Icon Composer app icons, it works like tvOS app icons, where you also start with SVGs that get pre-rendered into PNGs (and font outlines for SF Symbols), and more than one color means separate SVGs in back|middle|front layers (only 3!)...

tl;dr Drawing the icons like you're doing is probably as easy to maintain as anything else. Especially if the design tool provides the Swift Path code, it's gonna be easier than explaining why/how multicolor icons have to be split into color-separated SVG files

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.

Drawer redesign: Folder Drawer redesign: Icons Drawer redesign: Avatar Drawer redesign: Email Parent Cell

3 participants