Fixes + new features
Visual fixes
- Heatmap cells now properly square — reworked from stretched SVG (
preserveAspectRatio=none) to CSS grid withaspect-ratio: 1. Every cell stays a perfect square at any range (30/90/180/365 days). Hover zoom effect added. - Streak calendar same treatment — grid-based, square cells, active days get a green gradient.
- Wrapped tab fully redesigned — large gradient hero with the year total as a giant number, 3 labelled sections (Your numbers, Your highlights, Your favorites), accent-bordered cards with emoji icons and hover-lift, list cards for top genres / directors / actors.
New features
- Smart Goals — new row above My Badges showing 3-5 actionable daily suggestions tied to your closest-to-unlock badges. Things like "Watch 3 more movies" and "Catch a late-night session". Click any card to open the chase modal for that badge. Also includes a streak-preservation goal if you haven't watched today.
- Co-watch detection — when two users on the server watch the same item within an hour, both get +20 score bank bonus. Opt-in per user.
- Compare history — last 10 comparisons you've made are saved as quick-access pills at the top of the Compare tab.
- Per-user notification preferences — new section in Stats tab with 5 toggles: unlock toasts, milestone toasts, confetti, activity feed visibility, co-watch bonus. enhance.js honors them.
Test checklist
- Update + restart
- Stats tab → heatmap should have proper square cells that fill width smoothly, hover zoom
- Stats tab → streak calendar below → same square cells
- Wrapped tab → huge gradient hero, labelled sections, cards with accent borders
- My Badges → Today's goals row at top with suggestions, click one → chase modal
- Compare tab → Recent comparisons pills at top, click to quick-switch
- Compare tab → make a few comparisons → they should appear in history
- Stats tab → scroll down → Notification preferences panel → toggle things, refresh, prefs persist
- Have another user on the server watch the same item within an hour → both should get +20 bank (check Score bank before/after)