Commit Graph

527 Commits

Author SHA1 Message Date
Claudio Ortolina f7045a9f14 Extend testing of artist page 2024-12-13 22:25:06 +03:00
Claudio Ortolina ed86ef7b5a Enable new actions menu on wishlist detail page 2024-12-12 20:23:48 +03:00
Claudio Ortolina c3f973b1e1 Move record actions into menu 2024-12-12 20:14:02 +03:00
Claudio Ortolina 21439a580f TODO: make artist records a stream 2024-12-11 23:24:38 +03:00
Claudio Ortolina 8d7fe4d660 Extract record list component 2024-12-11 22:47:23 +03:00
Claudio Ortolina b68a7ac734 Can fetch genres from OpenAI 2024-12-10 16:45:29 +03:00
Claudio Ortolina 9e57103842 Where possible, link scrobbled artists to artist page 2024-12-10 14:13:50 +03:00
Claudio Ortolina 7e31c95839 Smooth scroll to top when paginating records 2024-12-08 15:18:14 +01:00
Claudio Ortolina 1df3801865 Fix attribution link for SQLite extensions 2024-12-07 21:00:59 +01:00
Claudio Ortolina 0f926ed86a Load Sqlite unicode extension 2024-12-07 18:32:22 +01:00
Claudio Ortolina 24319b1bff Annotate templates with TODOs for markup replacement
To open source the project down the line, it makes sense to have either
everything custom or using OSS components in order to keep licensing as
simple as possible.
2024-12-04 14:43:07 +00:00
Claudio Ortolina 740e94fdf6 Use <.async_result> component
Removes need for custom conditional logic, and covers all needed states.
2024-12-03 23:34:25 +00:00
Claudio Ortolina 2c055acad6 Fix error in rendering an artist with empty bio
Includes a refactor for a helper to test for play count
2024-12-03 22:26:41 +00:00
Claudio Ortolina 371ed511cc Render bio with <details> element 2024-12-03 10:01:22 +00:00
Claudio Ortolina 4dc1228a2d Show "Biography not available" notice 2024-12-03 09:55:20 +00:00
Claudio Ortolina b301a5da7d Display number of scrobbles per artist 2024-12-03 09:47:52 +00:00
Claudio Ortolina 9d02a8e00b Render bio with linebreaks 2024-12-03 00:33:37 +00:00
Claudio Ortolina b42b4744a0 Display records in artist page 2024-12-02 21:40:13 +00:00
Claudio Ortolina b63b3a633a Can fetch records by a specific artist 2024-12-02 10:55:12 +00:00
Claudio Ortolina df9d18a21f Add nav link to dev dashboard
Invisible on mobile portrait layout - visible if device is turned to
landscape. Reasoning is that the dev dashboard is pretty unusable in
portrait mode anyway.
2024-11-29 08:33:29 +00:00
Claudio Ortolina 3a813f9b4a Add personal website link in footer 2024-11-28 08:48:49 +00:00
Claudio Ortolina 7701ef9bc5 Add missing translation 2024-11-27 23:45:57 +00:00
Claudio Ortolina 135d1c2fbd Remove unused handle_event clause 2024-11-27 11:13:04 +00:00
Claudio Ortolina ccff972aa0 Surface duplicate importing error in collection 2024-11-27 11:11:36 +00:00
Claudio Ortolina 2e40cbd5da Improve page titles
- When showing a single record, use record details
- Split title into logical breadcrumbs
2024-11-26 21:00:53 +00:00
Claudio Ortolina 6339196b17 Search by genre
Can also click on genres in detail views.
2024-11-26 13:35:15 +00:00
Claudio Ortolina f0212eeb6f Consolidate cover resize logic
Moves resizing out of the MusicBrainz namespace to Records - which
improves division of responsibilities, and removes double resizing
during import.
2024-11-26 08:35:16 +00:00
Claudio Ortolina eef60a66a8 Shorten "No MusicBrainz ID" -> "No MB ID"
So that it's inline with other UI elements, and fits nicely in mobile UI
2024-11-26 08:03:34 +00:00
Claudio Ortolina 02d126ac90 Blur background when modal is open 2024-11-25 16:46:24 +00:00
Claudio Ortolina bdcc5633bf Resize uploaded cover 2024-11-25 11:22:55 +00:00
Claudio Ortolina b2e1f1f8d1 Index records by type to improve query perf 2024-11-23 23:16:24 +00:00
Claudio Ortolina 93b347ad8d Add badge for tracks whose albums cannot be imported
Includes a small optimization that removes "" release IDs from the list
of IDs checked against releases in the database.
2024-11-23 22:57:25 +00:00
Claudio Ortolina 2e2000fe01 Introduce separate search index
Uses a fts5 virtual table, kept up to date via triggers on the records
table.
2024-11-22 19:37:13 +00:00
Claudio Ortolina c97064fd70 Update fallback cover art
Track the file inside the Record module to aid recompilation
2024-11-21 18:33:44 +00:00
Claudio Ortolina 4581666282 Don't apply fallback cover when refreshing it
So that we don't accidentally override a user-uploaded cover with the
fallback one.
2024-11-21 17:57:49 +00:00
Claudio Ortolina 81e332d00d Fix sr text for wishlisting from scrobble activity
Includes an integration test for the scrobble activity feed.
2024-11-21 09:20:36 +00:00
Claudio Ortolina e519f355bc Add TODOs for component extraction 2024-11-20 15:54:12 +00:00
Claudio Ortolina 5b3aab51ed Change routes from "/records/*" to "/collection/*" 2024-11-20 15:43:25 +00:00
Claudio Ortolina b8f3bb9b2c Promote Collection to proper namespace 2024-11-20 15:37:04 +00:00
Claudio Ortolina 47a20d259e Limit artwork sizes and remove duplicate IDs 2024-11-19 18:31:46 +00:00
Claudio Ortolina eee70b0999 Improve refresh buttons in wishlist details view 2024-11-19 16:31:26 +00:00
Claudio Ortolina 7e93ee71bc Improve refresh buttons in collection details view 2024-11-19 16:31:22 +00:00
Claudio Ortolina 730c69a3aa Use phx-click-loading class to animate refresh icon 2024-11-19 16:02:35 +00:00
Claudio Ortolina a5315e81ce Can refresh cover for a record in the wishlist 2024-11-19 11:28:50 +00:00
Claudio Ortolina 09f3563134 Can refresh cover for a record in the collection 2024-11-19 11:28:50 +00:00
Claudio Ortolina e0ac8d1923 Add button to refresh Scrobble activity 2024-11-17 21:55:43 +00:00
Claudio Ortolina 659894aaee Materialize included release group ids 2024-11-17 11:52:47 +00:00
Claudio Ortolina 297aa07829 Allow changing MusicBrainz ID 2024-11-16 15:14:35 +00:00
Claudio Ortolina 67389f6b24 Use a button group for show record actions 2024-11-16 09:28:52 +00:00
Claudio Ortolina 5babccfeb8 Can refresh data for wishlist records 2024-11-15 10:03:45 +00:00