Commit Graph

595 Commits

Author SHA1 Message Date
Claudio Ortolina 37f72261c3 Extract MusicBrainz main module 2025-02-17 17:30:13 +00:00
Claudio Ortolina 5a391eb549 Use a button group for import/scan 2025-02-17 09:11:45 +00:00
Claudio Ortolina 6d0eeccbb7 Add TODOs for moving logic to MusicBrainz context 2025-02-17 08:47:59 +00:00
Claudio Ortolina dfcfd1a066 Move import releases button at the bottom
Disabled when no records are present.
2025-02-16 14:07:02 +00:00
Claudio Ortolina 23fab67e53 Add TODO around scanning an already collected record 2025-02-16 13:45:23 +00:00
Claudio Ortolina 9ff8106be4 Limit height of video preview 2025-02-16 13:43:48 +00:00
Claudio Ortolina dc4fd4160a Use a list for scanned releases
Doesn't remove duplicates, but guarantees a predictable order where the
most recently scanned element is at the top
2025-02-16 13:42:19 +00:00
Claudio Ortolina ee3bca475a Make scan video play inline 2025-02-15 19:12:48 +00:00
Claudio Ortolina 8d6e2b98f8 Simple import without error handling 2025-02-15 18:08:30 +00:00
Claudio Ortolina bb6e805e7b Show release metadata after scanning 2025-02-15 18:08:30 +00:00
Claudio Ortolina 337b1bb75d Add non-working import releases button 2025-02-15 18:08:30 +00:00
Claudio Ortolina 522f80194d Remove visible camera status text 2025-02-15 18:08:30 +00:00
Claudio Ortolina d13f3ce831 Improve camera request flow and layout 2025-02-15 18:08:30 +00:00
Claudio Ortolina 7be29f1bf0 Start formatting scan results 2025-02-15 18:08:30 +00:00
Claudio Ortolina 929719e513 Open camera via a button 2025-02-15 18:08:30 +00:00
Claudio Ortolina d077f08afa Start making it more robust
- Use structured data for search/render
- Start testing component
- Start testing domain logic
2025-02-15 18:08:30 +00:00
Claudio Ortolina 949fdb7138 Formalize search_release_by_barcode/2 callback 2025-02-15 18:08:30 +00:00
Claudio Ortolina 3c7c9cc596 Scan barcodes and display releases 2025-02-15 18:08:30 +00:00
Claudio Ortolina a626c68d65 Open scan modal, handle permissions, open/close video preview 2025-02-15 18:08:30 +00:00
Claudio Ortolina c85e66f129 Bubble up errors when streaming releases 2025-02-12 22:43:40 +00:00
Claudio Ortolina 4e77894783 Slow down batch refresh of metadata 2025-02-12 22:31:09 +00:00
Claudio Ortolina 219d39de00 Use correct method to batch refresh musicbrainz data 2025-02-12 21:55:28 +00:00
Claudio Ortolina bb72790be6 Include media in releases 2025-02-12 21:53:47 +00:00
Claudio Ortolina 1ae77b512e Make released?/2 handle nil releases 2025-02-11 20:14:30 +00:00
Claudio Ortolina f8147a6f52 Do not require a record release date 2025-02-11 20:05:54 +00:00
Claudio Ortolina eb1a75d2d0 Add aria-label to main navigation 2025-02-11 10:05:05 +00:00
Claudio Ortolina 2033c7e47e Fix tab navigation for all modals/menus 2025-02-11 09:49:10 +00:00
Claudio Ortolina ba288b8802 Rename parse_subtype to parse_type 2025-02-10 19:02:58 +00:00
Claudio Ortolina 27bd32b2a9 Move subtype parsing to ReleaseGroup 2025-02-10 19:01:56 +00:00
Claudio Ortolina c19184337b Move url/1 to ReleaseGroup 2025-02-10 19:01:00 +00:00
Claudio Ortolina 86db563bd4 Rename MusicbrainzData -> ReleaseGroup 2025-02-10 16:41:21 +00:00
Claudio Ortolina 027b3af547 Rename ReleaseGroup to ReleaseGroupSearchResult 2025-02-10 16:38:04 +00:00
Claudio Ortolina 7dff3564f2 Remove input shadows
As they bleed in unexpected places
2025-02-10 10:44:13 +00:00
Claudio Ortolina af77095e6c Add subpixel antialiasing to application
Subjective - makes it slightly more pleasing
2025-02-10 10:36:00 +00:00
Claudio Ortolina f99a55fca7 Simplify included release groups logic
This makes the code slightly less efficient as it constructs
intermediate structures BEFORE filtering, but it makes it for simpler
code to maintain down the line.

Performance is not visible affected as the largest lists involved count
around 200 items.
2025-02-10 09:59:25 +00:00
Claudio Ortolina 224bcdba38 Extract MusicbrainzData module 2025-02-10 09:49:34 +00:00
Claudio Ortolina 791807c137 Fix issue with formatting of "" release dates 2025-02-10 09:33:26 +00:00
Claudio Ortolina d39129e7ff Reorder module functions roughly by topic/usage 2025-02-09 17:02:54 +00:00
Claudio Ortolina b42a774936 Remove unused functionality and make functions private 2025-02-09 17:01:00 +00:00
Claudio Ortolina be1de52984 Refactor Records.Record for simplification
- Remove unnecessary intermediate variables
- Remove unnecessary pipes
2025-02-09 08:33:00 +00:00
Claudio Ortolina 828563e933 Shorten timeouts for Last.fm api
Especially when the application wakes up from suspension, requests tend
to timeout.
2025-02-09 08:07:27 +00:00
Claudio Ortolina 4593b60da5 Always use @base_url 2025-02-08 13:20:49 +00:00
Claudio Ortolina 9b25556245 Refactor Record.child_release_groups/1 to use stored ids 2025-02-06 21:03:38 +00:00
Claudio Ortolina b80a98a881 Included published releases count in record details pages 2025-02-06 11:37:55 +00:00
Claudio Ortolina 6ad28f1271 When importing a record, stream all its releases 2025-02-05 15:31:08 +00:00
Claudio Ortolina f29dd1f0ab Fetch 100 releases when importing a record
The release group contains only 25 releases, which breaks tracking
scrobble status. Albums like "Toto IV" or "Hounds of Love" end up
looking like they're not part of the collections because the individual
releases are not stored.

Still error prone, because this change doesn't paginate to more than 100
records, but that will be addressed in a future commit.
2025-02-05 10:12:27 +00:00
Claudio Ortolina acd52978ae Revise naming and notification around purchasing records 2025-02-04 12:11:16 +00:00
Claudio Ortolina f21729ac00 Cache covers for 1 year 2025-01-31 07:43:06 +00:00
Claudio Ortolina f82f2d447c Mount /api/backup route 2025-01-30 14:38:02 +00:00
Claudio Ortolina b47f282223 Add database backup functionality 2025-01-30 09:39:45 +00:00