feat: add tablet of the day hero card with daily rotation

Stacked on !10

Summary

Tablet of the Day hero card on Home, with one tablet surfaced per day and no repeats until the whole collection is used

Changes

  • tabletOfTheDay - picks the day's tablet from a permutation seeded by the cycle number: cycle = day / 527, position = day % 527, shuffle(ids, cycle)[position]. Walking a permutation in order means all 527 appear exactly once before any repeat, then a fresh order for the next cycle
  • HeroCard - 4:3 card matching the source images (all 2048x1536, so cover crops nothing), dark film over the image, "Daily Tablet" pill, title, 2-line blurb, Explore Detail -> tablet detail
  • plainText in parseHTML - strips tags for the blurb preview

Notes

  • Stateless by design - no storage, so the same tablet shows for every user, it works offline, and it survives a cleared cache. A stored-shuffle approach would give each device a different tablet and restart the cycle whenever storage is cleared
  • Rolls over at local midnight, derived from the local calendar date rather than raw Date.now()
  • Known limitation: if a curator adds a tablet the collection size changes, so both the permutation and the position shift and the day's pick can change mid-day. It stays a valid tablet. Caching the pick in MMKV would fix it, at the cost of the statelessness above
  • Positioning and the overlay use inline styles rather than NativeWind classes;

Screenshots

Screenshot_2026-08-24_at_1.38.46_PM

Merge request reports

Loading
Loading