Claudio Ortolina
851cb36858
Fix dl accessibility violations on stats dashboard
2026-04-15 14:16:24 +01:00
Claudio Ortolina
405235e2b3
Add picker to create scrobble rules on the fly
2026-04-15 10:53:58 +01:00
Claudio Ortolina
888b5a68e6
Update all callers to use matching_records
...
Migrate StatsLive.Index, ScrobbledTracksLive.Index, and TopAlbums to
consume matching_records list instead of scalar record IDs. Remove the
derive_legacy_record_ids bridge function. TopAlbums now uses a dropdown
for multi-record badges with play count display.
2026-04-14 16:14:59 +01:00
Claudio Ortolina
40ea3aaa2a
Add fallback error images for scrobble activity
2026-04-05 08:35:23 +01:00
Claudio Ortolina
4e8f1fd6f0
Fix cover image distortion in scrobble activity
2026-04-01 21:14:18 +01:00
Claudio Ortolina
bb1c53c44f
Don't display some stats when there's no record
2026-03-29 08:48:30 +01:00
Claudio Ortolina
0e6760ea73
Fix display of latest record when db is empty
2026-03-29 08:39:13 +01:00
Claudio Ortolina
d45aff21ec
Rename refresh_lastfm_feed to refresh_scrobbles
2026-03-28 08:59:22 +00:00
Claudio Ortolina
61dd3f45c7
Move refresh config and callers to ListeningStats
2026-03-27 23:14:09 +00:00
Claudio Ortolina
88542cc537
Fix Tailwind layout and spacing issues
2026-03-27 16:11:05 +00:00
Claudio Ortolina
8c7f2f5703
Make sure toasts are synced
2026-03-24 14:01:56 +00:00
Claudio Ortolina
f3c50f05b8
Fix gaps and margins
2026-03-22 18:58:12 +00:00
Claudio Ortolina
9877751ff4
Reduce size of scrobble activity tabs list
2026-03-22 18:49:46 +00:00
Claudio Ortolina
87cbf55ee5
Uniform use of .section/1 across all stats components
2026-03-22 18:47:27 +00:00
Claudio Ortolina
a83efe9908
Extract an internal section/1 component
2026-03-22 18:37:24 +00:00
Claudio Ortolina
9aed3afd7a
Re-align buttons for scrobble activity
2026-03-22 17:38:38 +00:00
Claudio Ortolina
dcf89fbed3
Add missing attrs
2026-03-22 17:30:45 +00:00
Claudio Ortolina
710931dd4a
Refactor stats page with semantic components to experiment with alternative layouts
2026-03-22 17:15:48 +00:00
Claudio Ortolina
4c07eabd24
Move records on this day up on mobile
2026-03-22 11:03:46 +00:00
Claudio Ortolina
83c9d710ef
Change color of Top 20 release years chart
2026-03-21 20:57:40 +00:00
Claudio Ortolina
b85ce0831c
Move filters/selectors to the side of the title
2026-03-21 18:26:39 +00:00
Claudio Ortolina
19428b85f2
Move records on this day to the left, re-position filter
2026-03-21 18:12:00 +00:00
Claudio Ortolina
b12e70f471
Refactor charts to use plain HTML
...
More responsive, less edge cases, and simpler to maintain.
2026-03-21 18:00:06 +00:00
Claudio Ortolina
a479d60da3
Link top 20 years chart
2026-03-21 09:27:53 +00:00
Claudio Ortolina
5a27fc46ac
Add Top 20 Release Years widget
2026-03-21 09:02:25 +00:00
Claudio Ortolina
55aa7aa9d3
Move records on this day near top_* sections
2026-03-21 08:38:45 +00:00
Claudio Ortolina
47ca6fa1d2
Add canonical_tailwind to get correct formatting for tailwind classes
2026-03-20 13:02:32 +00:00
Claudio Ortolina
5a418248ad
Use same gaps in stats page
...
Closes #120
2026-03-16 19:30:52 +00:00
Claudio Ortolina
4d1ac9652c
Link the scrobbled count in stats
2026-03-14 09:59:09 +00:00
Claudio Ortolina
1a62360b21
Group records in records on this day widget
2026-03-12 09:09:25 +00:00
Claudio Ortolina
08f7565d44
Replace inspect(reason) with friendly error messages
...
Closes #81
2026-03-05 20:25:13 +00:00
Claudio Ortolina
871f4b3554
Extract ListeningStats out of ScrobbleActivity
2026-02-27 12:16:38 +00:00
Claudio Ortolina
e9b9717b08
Inline templates inside LV modules
2026-02-24 17:20:21 +00:00
Claudio Ortolina
857c981e1d
Improve display of scrobbled tracks in index
...
- Use proper time element
- Add tooltip with metadata
2025-12-09 15:01:16 +00:00
Claudio Ortolina
71f7a38fee
Don't use streams for records on this day
2025-11-26 18:50:35 +00:00
Claudio Ortolina
a597ff4032
Make application work with empty database
2025-11-19 10:16:21 +00:00
Claudio Ortolina
a12963cb0a
Always render cover hash for scrobbles if available
2025-10-23 13:53:10 +01:00
Claudio Ortolina
9542421229
Resolve date of today considering timezone
2025-10-07 01:27:40 +03:00
Claudio Ortolina
641ba3e1b7
Improve heuristics to render artist links for scrobbled tracks
2025-09-29 18:40:50 +03:00
Claudio Ortolina
2d1a99edfd
Can refresh feed from scrobbled tracks view
2025-09-28 10:14:44 +03:00
Claudio Ortolina
b462b8e53e
Do not try to use cover fallback when hash is nil
2025-09-27 21:15:07 +03:00
Claudio Ortolina
124bbe2b1d
Consolidate Last.fm fallback cover handling
2025-09-26 15:36:30 +03:00
Claudio Ortolina
08bf53910b
Resolve all data in one query in Scrobble Activity
...
Aim is to avoid having to do this in multiple rounds with in-memory
operations which are harder to follow
2025-09-26 15:21:27 +03:00
Claudio Ortolina
21783f5dbf
Resolve timezone from user browser
2025-09-11 22:14:15 +03:00
Claudio Ortolina
c67fd27ea1
Fix timezone definition and handling across app
2025-09-11 16:17:20 +03:00
Claudio Ortolina
7532431ae0
Show compact scrobble count
2025-09-02 08:28:29 +03:00
Claudio Ortolina
a4670412df
Add total scrobble count to stats
2025-09-02 08:17:42 +03:00
Claudio Ortolina
3e2c34c9da
Limit stats scrobble activity to 50
2025-08-29 18:32:18 +03:00
Claudio Ortolina
330ef1d9e8
Extract components to render counter stats
2025-08-29 18:13:46 +03:00
Claudio Ortolina
14a77c432e
Can set current date in stats view
2025-08-29 14:47:22 +03:00