Skip to content

Expiry countdown stability, flush App Detail screenshots, and PR template#54

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

Expiry countdown stability, flush App Detail screenshots, and PR template#54
The-Big-Mini merged 4 commits into
developfrom
ClaudeCode

Conversation

@The-Big-Mini

Copy link
Copy Markdown
Owner

Summary

Three follow-ups: stabilize the My Apps expiry countdown so it no longer appears to lose a day within the same calendar day, make the App Detail screenshots sit flush with the page instead of reading as raised tiles, and replace the minimal pull request template with a professional layout.

Type of change

  • Bug fix — resolves incorrect behavior without changing existing APIs
  • UI / UX — visual or interaction changes
  • Documentation or tooling

Changes

  • Expiry countdown — the active-app banner rendered days-remaining by feeding the raw now → expirationDate interval to a maxUnitCount = 1 DateComponentsFormatter, which truncates to the largest unit and rolls the day count over at a 24h-from-now boundary. Reopening the app later the same day could therefore show one fewer day even though no calendar day had passed, and it disagreed with the color thresholds (which already use calendar days). The text is now computed from whole calendar days (start-of-day to start-of-day), so it only changes at midnight and matches the color logic; under a day remaining still shows the finer hours/minutes countdown.
  • App Detail screenshots — thumbnails read as separate cards hovering above the page: a hairline tertiaryLabel border outlined each one and the tile backing used secondarySystemBackground (lighter than the card). Removed the stroked border (keeping the corner rounding, App Store style) and switched the tile backing to altBackground, so thumbnails sit flush with the detail card.
  • Pull request template — expanded the two-section template into Summary, Type of change, Changes, Testing, Screenshots, Related issues, and a merge checklist. Guidance lives in HTML comments so it does not render in the submitted description.

Testing

  • Not run on device in this environment (no macOS/Xcode). CI (Build and upload MiniStore) is the compile check. The countdown and screenshot changes are self-contained view-layer edits; the countdown fix reuses the existing calendar-day helper already used by the banner color thresholds.

Screenshots

Not attached — no capture device available in this environment. Both visual changes were made against the reported behavior (screenshots flush with the card; countdown stable within a calendar day).

Checklist

  • This branch targets develop (never main)
  • I read the full file(s) before editing and followed the conventions in CLAUDE.md
  • The project builds and existing behavior is preserved
  • UI changes were checked on a device or simulator
  • No secrets, signing identities, or personal data are included in this change

🤖 Generated with Claude Code


Generated by Claude Code

The active-app banner showed the days-remaining text by feeding the raw
now→expirationDate interval to a maxUnitCount=1 DateComponentsFormatter.
That truncates to the largest unit and rolls the day count over at a
24h-from-now boundary, so reopening the app later the same day could show
one fewer day even though no calendar day had passed — and it disagreed
with the color thresholds, which already use calendar days.

Compute the day text from whole calendar days (start-of-day to start-of-day)
so it only changes at midnight and matches the color logic. Under a day
remaining still shows the finer hours/minutes countdown.

https://claude.ai/code/session_01PT8zpkUrgTRaGeKmbvVyNe
Replace the minimal two-section template with a professional layout:
Summary, Type of change, Changes, Testing, Screenshots, Related issues,
and a merge checklist (targets develop, CLAUDE.md conventions, build/behavior,
device check, no secrets). Guidance is kept in HTML comments so it does not
render in the submitted description.

https://claude.ai/code/session_01PT8zpkUrgTRaGeKmbvVyNe
The App Detail screenshot thumbnails read as separate cards hovering above
the page: a hairline tertiaryLabel border outlined each one and the tile
backing used secondarySystemBackground (lighter than the card). Remove the
stroked border (keep the corner rounding, App Store style) and change the
tile backing to altBackground so thumbnails sit flush with the detail card.

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

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

@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.54.720ebf4-dSYMs
MiniStore-0.6.5-pr.54.720ebf4
build-logs-0.6.5-pr.54.720ebf4
Have a nice day.

Enlarging a screenshot opened a blank fullscreen preview that never loaded.
The preview used .sheet(isPresented:) driven by a bool while reading a
separate previewScreenshot optional, both written in the same tap. That is
racy — SwiftUI can build the sheet before the optional commits, so the
if-let fails and the sheet is empty. Switch to .sheet(item:) with a small
Identifiable wrapper so presentation is bound to the screenshot itself and
it is always available when the sheet content builds.

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.54.8c8cf8a-dSYMs
MiniStore-0.6.5-pr.54.8c8cf8a
build-logs-0.6.5-pr.54.8c8cf8a
Have a nice day.

@The-Big-Mini The-Big-Mini merged commit 1618eb1 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