Commit Graph

201 Commits

Author SHA1 Message Date
Claudio Ortolina fea1231304 Replace refresh scrobble list icon
Makes it for a better animation
2026-04-15 22:52:28 +01:00
Claudio Ortolina c816f2de4a Add scrobbled tracks search parser
Introduces ListeningStats.SearchParser with NimbleParsec supporting
record:, album_mbid:, artist_mbid:, artist:, album:, track: filters.
Links scrobble count on record page to filtered scrobbled tracks view.
2026-04-15 14:56:38 +01:00
Claudio Ortolina e43bccb9bc Extract shared index logic into LiveHelpers.IndexActions
Closes #150
2026-04-13 23:09:22 +01:00
Claudio Ortolina 76438360d7 Load collection summary asynchronously on mount 2026-04-13 13:11:15 +01:00
Claudio Ortolina 5512ac0837 Hide button text on mobile 2026-04-13 12:53:57 +01:00
Claudio Ortolina 3b8415d8c4 Add Collection Chat to universal search 2026-04-13 10:15:43 +01:00
Claudio Ortolina a509248625 Wire up Chat component in CollectionLive.Index 2026-04-13 10:12:49 +01:00
Claudio Ortolina 8f8eb0a656 Enable quick actions from universal search 2026-03-29 23:07:53 +01:00
Claudio Ortolina 8c7f2f5703 Make sure toasts are synced 2026-03-24 14:01:56 +00:00
Claudio Ortolina ca228db598 Extract RecordHelpers
Closes #123
2026-03-22 09:21:00 +00:00
Claudio Ortolina ef617efe86 Refactor params parsing out of live views
Closes #125
2026-03-22 07:47: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 1001610472 First pass at having a chat count in the entity pages 2026-03-19 12:28:58 +00:00
Claudio Ortolina 5afb5f9533 Inline similar records in collection show view 2026-03-18 07:30:45 +00:00
Claudio Ortolina 63c95ff1e2 Move all chat related code under chats 2026-03-17 14:30:24 +00:00
Claudio Ortolina a86c9ad6fc Remove dead code 2026-03-17 13:50:34 +00:00
Claudio Ortolina 8fd8dde73d Persist chat history 2026-03-17 13:50:01 +00:00
Claudio Ortolina a459666126 Autosize all icon buttons 2026-03-16 15:09:05 +00:00
Claudio Ortolina 62359092d8 Uniform play icon sizes
Closes #121
2026-03-16 14:54:54 +00:00
Claudio Ortolina d2cccce9dc Uniform margins 2026-03-15 20:58:50 +00:00
Claudio Ortolina 4fb148e9db Simplify signatures of scrobbling functions 2026-03-14 22:22:41 +00:00
Claudio Ortolina 1dd7974cc7 Use socket assigns instead of threading IDs via JS.push
Extends the same optimization from the previous commit to
all remaining show page handlers across collection, wishlist,
and artist LiveViews. Also simplifies bare JS.push() calls
to plain phx-click strings.
2026-03-13 16:48:12 +00:00
Claudio Ortolina 0b9d008ecb No need to thread the record ID when we can use the record directly 2026-03-13 16:29:11 +00:00
Claudio Ortolina ee4d2555ee Move scrobble queries from Records to ListeningStats
Closes #110
2026-03-12 16:32:10 +00:00
Claudio Ortolina d6553ae061 Uniform record detail page title logic 2026-03-12 14:58:25 +00:00
Claudio Ortolina a6348fe647 Streamline record detail actions, and add a quick scrobble everything button 2026-03-12 08:26:25 +00:00
Claudio Ortolina cd0101ba4a Make page_title/2 private in all LiveViews
The Index modules were calling Show.page_title/2 for modal edit
routes. Inlined the logic as private functions in each Index
module and removed the now-unused Show aliases.

Closes #104
2026-03-12 07:44:39 +00:00
Claudio Ortolina 08f7565d44 Replace inspect(reason) with friendly error messages
Closes #81
2026-03-05 20:25:13 +00:00
Claudio Ortolina 6d72df3905 Extract apply_fallback_index to shared helper
Closes #92
2026-03-05 19:50:50 +00:00
Claudio Ortolina 6d451481b7 Remove obsolete color extraction strategies 2026-03-03 16:01:25 +00:00
Claudio Ortolina 1d3361c425 BETA: accurate color extractor 2026-03-03 15:41:24 +00:00
Claudio Ortolina d5238eb35c Stabilize record detail layout 2026-02-28 09:55:47 +00:00
Claudio Ortolina 49b7c3c955 Extract common elements from record detail pages 2026-02-28 09:46:31 +00:00
Claudio Ortolina 871f4b3554 Extract ListeningStats out of ScrobbleActivity 2026-02-27 12:16:38 +00:00
Claudio Ortolina c6d778c1cd Render debug information in side sheet with highlighting 2026-02-26 11:16:55 +00:00
Claudio Ortolina 0257ea8b7c Render genres with badges 2026-02-26 10:08:08 +00:00
Claudio Ortolina b412017ed6 Show calendar icon in record detail release date 2026-02-26 10:08:08 +00:00
Claudio Ortolina bfbb74d601 BETA: new layout for record details page 2026-02-26 08:49:40 +00:00
Claudio Ortolina e9b9717b08 Inline templates inside LV modules 2026-02-24 17:20:21 +00:00
Claudio Ortolina 60d81e14de Enable chat for artists 2026-02-22 15:31:09 +00:00
Claudio Ortolina 8d38512712 Fix review blockers in record chat
- Add Task.Supervisor to app supervision tree
- Use tagged tuples instead of rescue for error handling
- Pass embedding_text from parent LiveView as prop
- Remove dead Completion struct fields
- Extract socket assigns before Task closure
- Log errors server-side, show generic user message
- Make build_system_prompt private, remove thin wrapper
- Extract do_send_message for retry reuse

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:20:58 +00:00
Claudio Ortolina 6e6e419801 Add record chat sheet with OpenAI streaming
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:13:05 +00:00
Claudio Ortolina 8862e1d374 Show record sets in records detail pages 2026-02-13 12:00:12 +00:00
Claudio Ortolina 43fd570d10 Extract pagination helpers 2026-02-09 11:09:45 +00:00
Claudio Ortolina a7056aa8d9 Extract some reused components 2026-02-07 17:23:13 +00:00
Claudio Ortolina 98a42a3762 Remove redundant markup 2026-02-07 13:48:05 +00:00
Claudio Ortolina ebeeaeae71 Regenerate embedding from collection record page 2026-02-04 16:17:21 +00:00
Claudio Ortolina 1ec804c1d7 Keep record embedding text in sync with collection page updates 2026-01-20 20:42:03 +00:00
Claudio Ortolina c1a7c9df44 Include record embedding text on collection show page 2026-01-19 15:24:29 +00:00
Claudio Ortolina a62e3809a4 Change open notes icon to differentiate from edit 2025-12-15 10:03:04 +03:00