-
-
Notifications
You must be signed in to change notification settings - Fork 80.7k
Improve iOS phone Control row density #99439
Copy link
Copy link
Closed
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Description
Metadata
Metadata
Assignees
Labels
P3Low-priority cleanup, docs, polish, ergonomics, or speculative work.Low-priority cleanup, docs, polish, ergonomics, or speculative work.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.ClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.ClawSweeper found a high-confidence source-level issue reproduction.impact:otherThis issue has meaningful maintainer-visible impact outside the owned taxonomy.This issue has meaningful maintainer-visible impact outside the owned taxonomy.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.Very strong issue quality with high-confidence source-level or clear reproduction.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.Issue affects a taxonomy feature currently scored M4/M5.
Type
Fields
Priority
None yet
Summary
Improve the iPhone Control tab destination row styling so the rows feel cleaner, better balanced, and closer to native iOS list rows without changing the iPad sidebar or the Gateway status row.
Problem to solve
The iPhone Control tab destination rows currently feel too tall and visually empty. The current row implementation combines a custom row layout, explicit semibold subheadline text styling, and explicit vertical padding. In the grouped Control list, this makes the rows feel heavier than necessary and leaves more empty vertical space than the content requires.
This issue is specifically about the phone Control tab destination rows. The Gateway row is a distinct status row and should not be changed as part of this issue. The iPad sidebar/control presentation should also remain unchanged.
Proposed solution
Update only the iPhone Control tab destination rows in
RootTabsPhoneControlHub.rowLabel(_:)to use SwiftUI's nativeLabelstructure while keeping the existingProIconBadgetreatment for the leading icon:This keeps the app's established row icon badge styling, but removes the custom row wrapper, explicit title font override, and extra vertical padding that were making the Control rows feel oversized.
Keep the surrounding row behavior unchanged:
Alternatives considered
Label. This made the rows denser, but looked too plain compared with the app's existing Settings row style.Impact
Affected: iPhone users viewing the Control tab destination list.
Severity: Low to medium UX polish issue.
Frequency: Always visible when users open the phone Control tab.
Consequence: The Control destination list currently feels less balanced and less native than it should, making the screen look emptier than the content requires.
Evidence/examples
A local simulator PoC compared several row treatments. The preferred version keeps the row as a native SwiftUI
Labelwhile usingProIconBadgeas the icon content:The PoC was checked on the iPhone simulator. The intended change is phone-only because
RootTabsPhoneControlHub.swiftowns the phone Control hub rows, while the iPad sidebar uses a separate UI path and should remain unchanged.Screenshots from the PoC should be attached to the follow-up PR as before/after evidence.
Additional information
Suggested implementation surface:
apps/ios/Sources/Design/RootTabsPhoneControlHub.swiftNon-goals: