Claudio Ortolina
f6d2bcf3fd
Add function to search for record
2024-09-24 22:49:40 +01:00
Claudio Ortolina
12bb923aec
Rename /search to /import
2024-09-24 22:49:39 +01:00
Claudio Ortolina
25cbcdf16c
Align modals to the top
2024-09-24 20:06:34 +01:00
Claudio Ortolina
d3ea26ed8f
Improve importing visual feedback
2024-09-24 18:33:39 +01:00
Claudio Ortolina
31d74fde34
Handle importing errors
2024-09-24 18:33:16 +01:00
Claudio Ortolina
54ee84ad2f
Can delete records from the record show view
2024-09-24 09:57:31 +01:00
Claudio Ortolina
0b07eaf6a1
Restrict metadata editing for records
...
Most of the information is correct via the MusicBrainz API, however
_sometimes_ it's necessary to fix the year or the type of the album
(e.g. because of new releases).
2024-09-24 09:57:05 +01:00
Claudio Ortolina
bcb70c9e1b
Store artists when importing a record
2024-09-24 09:40:52 +01:00
Claudio Ortolina
089e61a574
Remove manual record creation
2024-09-24 09:27:35 +01:00
Claudio Ortolina
b6ae022a6a
Move obsidian-related imports under Obsidian
2024-09-24 09:21:13 +01:00
Claudio Ortolina
d97f21a8ef
Can search and import records
...
Requires refactor and cleanup, along with integration tests
2024-09-23 20:27:40 +01:00
Claudio Ortolina
7ebc12c4ac
Improve records list tests
...
- Remove scaffolded tests (precursor to removing functionality)
- Add tests for paginated list
2024-09-23 14:52:37 +01:00
Claudio Ortolina
e666b247e1
Improve display of single album page
2024-09-23 14:09:21 +01:00
Claudio Ortolina
878a7d7326
Clean up importer and music_brainz modules
...
- Add missing docs
- Move around existing information for better documentation
- Rename some functions for consistency
2024-09-23 09:42:51 +01:00
Claudio Ortolina
15bc1816cf
Add function to search the MusicBrainz API
2024-09-22 21:01:38 +01:00
Claudio Ortolina
5e97f72f2a
Sort records by artist, then title
2024-09-22 16:54:38 +01:00
Claudio Ortolina
bc85165988
Remove stock Phoenix header
2024-09-20 18:27:31 +01:00
Claudio Ortolina
480af30e80
Improve records#show information structure
2024-09-20 18:24:38 +01:00
Claudio Ortolina
99960832c8
Adds record pagination
2024-09-20 10:05:49 +01:00
Claudio Ortolina
5623a5239f
Resize cover images to 400x400
2024-09-19 13:34:26 +01:00
Claudio Ortolina
1200215321
Enable aggressive caching for the images endpoint
2024-09-16 14:59:54 +01:00
Claudio Ortolina
cb8b42aad6
When serving the image, only load its data
2024-09-16 14:47:13 +01:00
Claudio Ortolina
74e7d27ba4
Run the image import sequentially
...
Changed this for debug as many images are huge and were tripping the
logic off - the whole importer logic needs to be
restructured for better parallelism.
2024-09-16 14:46:16 +01:00
Claudio Ortolina
04755eb5fe
Removes boilerplate docs
2024-09-16 14:45:59 +01:00
Claudio Ortolina
6ac5a88c47
Raw importer for all cover images
2024-09-16 12:30:54 +01:00
Claudio Ortolina
afc1802399
Serve local cover images
2024-09-16 09:50:07 +01:00
Claudio Ortolina
8eb64c6a4c
Add dummy pagination with component wiring
2024-09-16 09:08:50 +01:00
Claudio Ortolina
4a8b8dcf43
Streamline information structure on records listing
2024-09-16 08:19:18 +01:00
Claudio Ortolina
5a3ff4be4b
Bad fix for genres being nil
2024-09-15 20:59:51 +01:00
Claudio Ortolina
4d17790cbe
Main list orders by the main artist
2024-09-15 20:59:30 +01:00
Claudio Ortolina
90e8022a77
Fix incorrect cast
2024-09-15 20:32:10 +01:00
Claudio Ortolina
27f57cc68c
Display artists in list
2024-09-15 20:31:13 +01:00
Claudio Ortolina
ce1ecf06a7
Import artists on top of existing records
2024-09-15 20:31:13 +01:00
Claudio Ortolina
affa7a007e
Simplify data model
...
Artists can be embedded inside records - given the projected size of the
dataset (a few 1000s in the worst case) relationships can be built in
memory without the need to be denormalized into separate tables.
2024-09-15 20:29:52 +01:00
Claudio Ortolina
988d311fef
Add artist importer
2024-09-15 20:28:39 +01:00
Claudio Ortolina
e3ff0228cd
Load artists when showing a record
2024-09-15 20:28:39 +01:00
Claudio Ortolina
99d87a5596
Add http client dependency
2024-09-15 20:28:39 +01:00
Claudio Ortolina
6063e560ba
Move album art to the left and constrain its size
2024-09-15 20:28:38 +01:00
Claudio Ortolina
7e394aaa46
Widen main container
2024-09-15 20:28:38 +01:00
Claudio Ortolina
d83a14773d
Display genres as comma-separated list
2024-09-15 20:28:38 +01:00
Claudio Ortolina
b386245740
Display record thumbnail in list
2024-09-15 20:28:38 +01:00
Claudio Ortolina
e1ab16a5fd
Limit the amount of records in the list
...
Needs to be replaced with pagination
2024-09-15 20:28:38 +01:00
Claudio Ortolina
705fd665d2
Formatter pass
2024-09-15 20:28:37 +01:00
Claudio Ortolina
170f195aae
Fix edge cases with parser
...
- Remove front_matter dependency, and use a hand-rolled simpler parser
which is suitable for the data to parse (which is well-formed).
- Fix a couple of edge cases with years and titles with commas
2024-09-15 20:28:37 +01:00
Claudio Ortolina
2c42f3ea32
Can parse an obsidian entry to retrieve correct metadata
2024-09-15 20:28:37 +01:00
Claudio Ortolina
e4ae157275
Associate artists and records
2024-09-15 20:28:35 +01:00
Claudio Ortolina
e08fbe3740
Generate schema and live_view scaffold for records
...
1. Records are not yet tied to artists
2. The generated edit route, along with related functionality, may be
deleted as I don't think it's gonna be needed. Leaving it included in
the commit for reference.
2024-09-12 14:51:58 +01:00
Claudio Ortolina
34111a44ba
Generate basic artist schema
2024-09-12 14:51:58 +01:00
Claudio Ortolina
8255e50e1d
Address gettext deprecations
...
Deprecation warning:
warning: defining a Gettext backend by calling
use Gettext, otp_app: ...
is deprecated. To define a backend, call:
use Gettext.Backend, otp_app: :my_app
Then, instead of importing your backend, call this in your module:
use Gettext, backend: MyApp.Gettext
2024-09-12 14:13:06 +01:00
Claudio Ortolina
d547ee6f8d
Generate project
...
Using `mix phx.new music_library --database sqlite3 --binary-id --no-mailer`
2024-09-12 14:05:08 +01:00