Commit Graph

544 Commits

Author SHA1 Message Date
Claudio Ortolina 2476a17978 Add small experiment to test genre lookup 2024-12-10 16:18:11 +03:00
Claudio Ortolina 4a706dc77a No need to expose these functions 2024-12-10 15:24:43 +03:00
Claudio Ortolina c2ccb7dde2 Add LastFm.Feed.all_artists/0 and LastFm.Feed.all_albums/0 2024-12-10 14:57:28 +03:00
Claudio Ortolina a6e1e4e34a Renamte LastFm.Feed.all/0 to LastFm.Feed.all_tracks/0 2024-12-10 14:57:06 +03:00
Claudio Ortolina f48372f7b3 Use MapSets for performance
Not noticeable with current database size, but lays a good foundation
for larger libraries.

For example, given a list of 300 artist IDs, checking if an ID is in the
list takes between 30 and 40 ms (for an ID towards the end of the list),
while the MapSet version takes consistently between 15 and 20 ms.
2024-12-10 14:21:57 +03:00
Claudio Ortolina 9e57103842 Where possible, link scrobbled artists to artist page 2024-12-10 14:13:50 +03:00
Claudio Ortolina 5c30a052fa Fix line-length formatting issues 2024-12-09 23:45:12 +03:00
Claudio Ortolina 758ce629d0 Remove stray text 2024-12-09 23:28:20 +03:00
Claudio Ortolina 55124b3265 Improve README structure 2024-12-09 23:27:11 +03:00
Claudio Ortolina 7e31c95839 Smooth scroll to top when paginating records 2024-12-08 15:18:14 +01:00
Claudio Ortolina 517a5e26fa Improve README 2024-12-08 14:41:53 +01:00
Claudio Ortolina 1df3801865 Fix attribution link for SQLite extensions 2024-12-07 21:00:59 +01:00
Claudio Ortolina 1c47473c11 Move SQLite extension loading to config/runtime.exs
Addresses deprecation mentioned at https://hexdocs.pm/ecto/Ecto.Repo.html#c:init/2
2024-12-07 20:29:33 +01:00
Claudio Ortolina 11ebd0b6de Add test to verify correct loading of SQLite extension 2024-12-07 19:45:06 +01:00
Claudio Ortolina 3f46865fe2 Merge pull request #8 from cloud8421/cloud8421/support-unicode
Sort records taking into account unicode names
2024-12-07 19:40:38 +01:00
Claudio Ortolina 06fd591e5f Use unicode extension to normalize sorting accented records 2024-12-07 19:38:10 +01:00
Claudio Ortolina 0f926ed86a Load Sqlite unicode extension 2024-12-07 18:32:22 +01:00
Claudio Ortolina 83007a3de1 Update dependencies
bandit 1.6.0 => 1.6.1
floki 0.36.3 => 0.37.0 (minor)
hpax 1.0.0 => 1.0.1
nimble_ownership 1.0.0 => 1.0.1
2024-12-07 11:22:39 +01:00
Claudio Ortolina 8350ffd3a4 To get artist info, try mbid and then artist name 2024-12-04 21:07:56 +00:00
Claudio Ortolina 39b925676f Use NimbleOptions to validate MusicBrainz.Config 2024-12-04 15:01:52 +00:00
Claudio Ortolina 8c5f199773 Add nimble_options as a direct dependency 2024-12-04 14:59:08 +00:00
Claudio Ortolina 774c8d6006 Use NimbleOptions to validate LastFm.Config 2024-12-04 14:58:05 +00: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 a279d6175e Remove obsolete comment 2024-12-04 10:45:35 +00:00
Claudio Ortolina e1dc2bfc7f Make MusicBrainz user agent configurable 2024-12-04 10:44:31 +00:00
Claudio Ortolina 7575e5978a Extract config for MusicBrainz 2024-12-04 10:33:41 +00:00
Claudio Ortolina 14518870a0 Make LastFm user agent configurable 2024-12-04 10:07:25 +00:00
Claudio Ortolina 0cae20a390 Add LastFm.Config test
It might seem redundant, but helps with refactoring down the line.
2024-12-04 09:58:42 +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 4dcd0f2dd0 Update dependencies
phoenix 1.7.15 => 1.7.17
phoenix_live_view 1.0.0-rc.8 => 1.0.0
2024-12-03 23:05:13 +00:00
Claudio Ortolina 2321cc8cfb Attempt at preventing layout shifts in record show pages 2024-12-03 22:54:53 +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 bef38967a1 Stub artist show test 2024-12-03 20:16:35 +00:00
Claudio Ortolina 9f2335cfa0 Use correct LastFm api module 2024-12-03 20:14:48 +00:00
Claudio Ortolina 61cda5a62c Explicitly set auto-refresh config for LastFm refresh 2024-12-03 19:58:17 +00:00
Claudio Ortolina f58a5e83b7 Revert "Reduce pool size in test"
This reverts commit 7a26b6bda6.
2024-12-03 19:42:52 +00:00
Claudio Ortolina 907f480bc1 Improve formatting of bio read more link and license block
Prefer inline Tailwind classes for consistency with rest of the codebase
2024-12-03 19:37:37 +00:00
Claudio Ortolina acee09aab0 Format bio sections 2024-12-03 16:25:16 +00:00
Claudio Ortolina cf85c78852 Improve readability of artist bio 2024-12-03 10:37:37 +00:00
Claudio Ortolina 371ed511cc Render bio with <details> element 2024-12-03 10:01:22 +00:00
Claudio Ortolina 26e96994a4 Use full content for bio 2024-12-03 09:58:24 +00:00
Claudio Ortolina 4dc1228a2d Show "Biography not available" notice 2024-12-03 09:55:20 +00:00
Claudio Ortolina 6519a8b3e8 Space out bio a bit more 2024-12-03 09:51:43 +00:00
Claudio Ortolina 2c520be102 Tighten typography on artist h1 page 2024-12-03 09:51:03 +00:00
Claudio Ortolina b301a5da7d Display number of scrobbles per artist 2024-12-03 09:47:52 +00:00
Claudio Ortolina 669d2558d4 No need to expose LastFm.Config.new/1 2024-12-03 09:40:17 +00:00
Claudio Ortolina 916c381ed0 Add TODO 2024-12-03 09:40:17 +00:00
Claudio Ortolina ab7a8eeb5a Add play count to LastFm.Artist 2024-12-03 09:40:17 +00:00
Claudio Ortolina 2094c1cf7b Use LastFm.Config where needed 2024-12-03 09:18:55 +00:00
Claudio Ortolina b49434b789 Extract LastFm.Config module 2024-12-03 08:56:23 +00:00