Claudio Ortolina
f58c82e1fd
Refactor cover controller to reuse common pieces
2024-12-31 15:54:49 +00:00
Claudio Ortolina
97533416f7
Support arbitrary resizing in cover controller
2024-12-31 11:58:30 +00:00
Claudio Ortolina
6a51251d55
Consolidate hashing into Cover module
2024-12-31 11:57:33 +00:00
Claudio Ortolina
68b2d48228
Return thumb_url in latest record response
2024-12-31 11:39:36 +00:00
Claudio Ortolina
467961128b
Validate order attribute values in pagination component
2024-12-29 21:22:42 +00:00
Claudio Ortolina
65b4f5c06b
Fix flash colors in dark mode
2024-12-29 21:06:23 +00:00
Claudio Ortolina
85b403817f
Move model definition into completion struct
2024-12-29 20:58:09 +00:00
Claudio Ortolina
c7e1be2f2f
Fix hover and active states for order selector
2024-12-29 16:55:47 +00:00
Claudio Ortolina
bb560e4356
Fix alignment of sorting options and count
2024-12-29 15:50:30 +00:00
Claudio Ortolina
6427710029
Enable sorting options in collection view
2024-12-29 15:47:37 +00:00
Claudio Ortolina
1534d28c9e
Wire buttons with view
2024-12-29 15:31:26 +00:00
Claudio Ortolina
48e2f4e2e3
Add collection sorting buttons (inactive)
2024-12-29 15:22:51 +00:00
Claudio Ortolina
17d1a87f3c
Use sum_by instead of plain reduce
...
Makes it for slightly simpler code.
2024-12-28 13:37:55 +00:00
Claudio Ortolina
48d8590c9b
Remove duplication in stats live lifecycle
2024-12-27 21:04:07 +00:00
Claudio Ortolina
b503662c2e
Reduce size of stats live socket
...
No need to store all artists IDs in the socket, instead it's enough to
intersect them with the scrobbled artist IDs.
2024-12-27 20:27:32 +00:00
Claudio Ortolina
db57195a0a
Map Last.fm error codes to error atoms
2024-12-27 19:54:10 +00:00
Claudio Ortolina
1a0e505e51
Rework error messages for failed playcount/bio fetch
2024-12-27 17:57:36 +00:00
Claudio Ortolina
2e8d72fe8f
Rename "Basics" -> "Records" in stats page
2024-12-27 08:33:24 +00:00
Claudio Ortolina
6bcce558c4
Restyle flash messages
2024-12-25 19:22:38 +00:00
Claudio Ortolina
2e73e810ea
Remove flash message for client error
2024-12-25 19:08:43 +00:00
Claudio Ortolina
2571d1dfd3
Use link+navigate instead of a+href
...
Makes application more performant as it avoids re-establishing a
connection.
2024-12-24 14:42:58 +00:00
Claudio Ortolina
e7a8a2c019
No need to provide a "" default
2024-12-24 14:15:47 +00:00
Claudio Ortolina
326b226d96
Remove unnecessary fallback to empty image version string
...
Images always have a hash now, so fallback is not needed anymore.
2024-12-23 23:30:57 +00:00
Claudio Ortolina
eabae0654f
Add missing version parameter to stats artwork image tag
2024-12-23 23:30:14 +00:00
Claudio Ortolina
b88b77cb78
Group status labels in scrobble activity
2024-12-23 17:49:15 +00:00
Claudio Ortolina
1102c40d16
Remove back links from detail views
...
Never used them, can be removed
2024-12-23 17:16:27 +00:00
Claudio Ortolina
f71fa6fa25
Make search smaller on desktop, full width on mobile
2024-12-23 17:11:39 +00:00
Claudio Ortolina
8b877e7ede
Shrink input text size at smallest viewport
2024-12-23 17:08:44 +00:00
Claudio Ortolina
fe05efb06d
Prevent pinch to zoom
...
I wouldn't normally do this, but I'm the only user and I'm ok with it.
2024-12-23 17:04:31 +00:00
Claudio Ortolina
3e07b50bdf
Add red accent to navigation menu
2024-12-23 16:38:04 +00:00
Claudio Ortolina
97f26e0cd2
Serve covers under API namespace as well
2024-12-22 22:15:24 +00:00
Claudio Ortolina
f1af38606a
Protect API behind a bearer token
2024-12-22 18:32:04 +00:00
Claudio Ortolina
c18379801f
Rename function
2024-12-22 18:23:15 +00:00
Claudio Ortolina
cf3761ca79
Fold RequireLogin plug into Auth module
2024-12-22 16:12:31 +00:00
Claudio Ortolina
341d276db5
Include artists and cover in latest record JSON
2024-12-22 15:55:41 +00:00
Claudio Ortolina
53e8d88b6a
Rename auth_password -> login_password
2024-12-21 14:57:44 +00:00
Claudio Ortolina
7214597aeb
Update translations
2024-12-21 14:57:44 +00:00
Claudio Ortolina
98087ae568
Extract MusicLibraryWeb.Auth module
2024-12-21 14:48:32 +00:00
Claudio Ortolina
4f456322fc
Bootstrap the /api namespace
2024-12-21 14:38:39 +00:00
Claudio Ortolina
4be2330891
Fix prompt to avoid the result being returned in a code block
...
Not sure why this is needed, considering that the API call clearly
specifies the `json_object` response format.
2024-12-19 21:05:02 +00:00
Claudio Ortolina
9dce1cacb9
Where possible, use built-in JSON instead of Jason
...
Note that it's not possible to replace any call where we encode and
pretty print, as JSON doesn't have such functionality.
2024-12-19 20:18:09 +00:00
Claudio Ortolina
45df749200
No need to create a range when total_pages is 0
...
Fixes:
warning: Range.new/2 and first..last default to a step of -1 when last < first.
Use Range.new(first, last, -1) or first..last//-1, or pass 1 if that was your intention
2024-12-19 19:07:08 +00:00
Claudio Ortolina
832e835252
Add function to get embeddings for arbitrary string
2024-12-18 22:20:41 +00:00
Claudio Ortolina
d76c108896
Rename file to match module name
2024-12-18 21:58:07 +00:00
Claudio Ortolina
6bef3bed05
Add total for collection and wishlist albums in artist view
2024-12-18 11:33:48 +00:00
Claudio Ortolina
a3306c84c3
Increase album grid density in artist view
2024-12-18 11:27:07 +00:00
Claudio Ortolina
53b89dc329
Extract Artists context
2024-12-18 11:12:06 +00:00
Claudio Ortolina
76605a1114
Add function to get similar artists
2024-12-17 20:44:31 +00:00
Claudio Ortolina
c60108292a
Scroll to top when paginating on small viewports
2024-12-16 18:03:26 +00:00
Claudio Ortolina
e4fe4e7f4b
Cache images for 24 hours
2024-12-15 12:09:29 +03:00