Skip to content

Fix How It Works branding, screenshot fill, and detail/My Apps touch targets#53

Merged
The-Big-Mini merged 4 commits into
developfrom
ClaudeCode
Jul 1, 2026
Merged

Fix How It Works branding, screenshot fill, and detail/My Apps touch targets#53
The-Big-Mini merged 4 commits into
developfrom
ClaudeCode

Conversation

@The-Big-Mini

Copy link
Copy Markdown
Owner

Changes

  • How It Works popup — rebrand the onboarding copy from SideStore → MiniStore (all four step strings in InstructionsView). VPN wording left untouched (the sanctioned LocalDevVPN redirect flow).
  • App Detail screenshots — zoom to fill — thumbnails were framed to each screenshot's own metadata aspect ratio, so a screenshot whose real image differs from that ratio (or carries baked-in letterbox padding) still showed black bars even with scaledToFill. Every thumbnail is now framed to one uniform modern-iPhone portrait ratio and aspect-filled, so off-ratio content crops to fill instead of letterboxing. The shared width also makes the viewAligned carousel snap cleanly. The fullscreen preview carousel is unchanged (it should show the whole screenshot, not a cropped fill).
  • App Detail screenshots — scroll-off — the horizontal carousel now clips to its own band so thumbnails can't bleed past the rounded content card during a scroll/overscroll.
  • Back button touch target — the floating back button on App Detail and Source Detail was a 40×40 circle with a body-weight chevron, under Apple's 44pt minimum. Bumped to 44×44 with a title3 chevron on both screens; the backButtonSize used in the banner-zone layout math tracks the new size.
  • My Apps section-header buttons — the Refresh All button (and the Inactive info button) were small subheadline labels whose only tap target was the glyph. Extended each hit area toward the title and vertically (padding + contentShape) without moving the glyph, and reserved the Refresh All label's footprint while it spins so the header's trailing edge no longer jumps when the spinner swaps in — the control stays symmetric across the idle/refreshing states.

Todo before merge

  • UI changes
  • On-device check of the screenshot carousel. The black bars are almost certainly baked into the source screenshot PNGs (the earlier scaledToFill + clip fixes are already shipped, yet bars persist). Uniform aspect-fill crops off-ratio padding, but if a source image is letterboxed at the same aspect as the display frame, the bars can only be removed by re-exporting that screenshot without padding — flagging in case a source needs updating.

🤖 Generated with Claude Code


Generated by Claude Code

The How It Works onboarding screen still referred to SideStore in all
four step strings. Rebrand the visible copy to MiniStore. VPN wording is
left untouched (the sanctioned LocalDevVPN redirect flow).

https://claude.ai/code/session_01PT8zpkUrgTRaGeKmbvVyNe
The App Detail and Source Detail screens draw their own floating back
button (a circular glyph over the artwork). It was a 40x40 circle with a
body-weight chevron — under Apple's 44pt minimum touch target and hard to
hit. Bump the circle to 44x44 and the chevron to title3 so it is easier
to press. backButtonSize (used in the banner-zone layout math) tracks the
new size on both screens.

https://claude.ai/code/session_01PT8zpkUrgTRaGeKmbvVyNe
Two carousel issues on the App Detail page:

- Black bars: thumbnails were framed to each screenshot's own metadata
  aspect ratio, so a screenshot whose real image differs from that ratio
  (or carries baked-in letterbox padding) showed bars even with
  scaledToFill. Frame every thumbnail to one uniform modern-iPhone
  portrait ratio and aspect-fill it, so off-ratio content crops to fill
  instead of letterboxing. A shared width also makes the viewAligned
  carousel snap cleanly.
- Scroll-off: give the horizontal carousel its own .clipped() band so
  thumbnails can't bleed past the rounded content card during a
  scroll/overscroll.

The fullscreen preview carousel keeps per-image sizing (it should show the
whole screenshot, not a cropped fill).

https://claude.ai/code/session_01PT8zpkUrgTRaGeKmbvVyNe
The My Apps section-header buttons (Refresh All, and the Inactive info
button) were small subheadline labels with only their glyph as the tap
target, so they were fiddly to press. Two changes:

- Extend each button's hit area toward the title and vertically (padding +
  contentShape) without moving the visible glyph, so it is easier to tap.
- Reserve the Refresh All label's footprint in a ZStack while it spins, so
  the header's trailing edge no longer jumps when the spinner swaps in —
  the control stays symmetric across the idle and refreshing states.

https://claude.ai/code/session_01PT8zpkUrgTRaGeKmbvVyNe
github-actions Bot added a commit that referenced this pull request Jul 1, 2026
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Builds for this Pull Request are available at
MiniStore-0.6.5-pr.53.628c68d-dSYMs
MiniStore-0.6.5-pr.53.628c68d
build-logs-0.6.5-pr.53.628c68d
Have a nice day.

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Download the artifacts for this pull request (nightly.link):

@The-Big-Mini The-Big-Mini merged commit f751284 into develop Jul 1, 2026
1 check passed
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.

1 participant