Claudio Ortolina
f1e3b22f91
Make online store templates searchable
2026-03-16 11:56:39 +00:00
Claudio Ortolina
654b172ddb
Fix UI inconsistencies across templates
...
- Replace .separator with .dropdown_separator in 4 dropdown menus
- Change gray-* to zinc-* color classes in online store templates
- Wrap hardcoded page titles in gettext() in online store templates
- Add consistent dark:text-zinc-200 to maintenance h3 subsections
- Add text-zinc-900 dark:text-zinc-200 to scrobble section headers
- Fix heading hierarchy (h1/h2 → h2/h3) in record set items
- Align artist form modal header to text-lg font-semibold
- Use size="xs" prop instead of class override on format badge
- Add external link icon to wishlist online store buttons
2026-03-16 11:37:29 +00:00
Claudio Ortolina
028f111300
Stabilize rate limiter tests by using dependency injection
2026-03-16 11:21:24 +00:00
Claudio Ortolina
4a2b7f4e03
Extract dropdown_nav/1 component in Layouts
2026-03-16 11:13:45 +00:00
Claudio Ortolina
d59ee157db
Add current section border to top right menu sections
2026-03-16 11:09:31 +00:00
Claudio Ortolina
3fb6c93d9d
Add sorting optoins to scrobble rules page
2026-03-16 08:03:47 +00:00
Claudio Ortolina
6d6cf21047
Uniform scrobble rules layout
2026-03-16 08:00:17 +00:00
Claudio Ortolina
43b054b34a
Search scrobble rules, improved layout
2026-03-16 07:58:21 +00:00
Claudio Ortolina
ac2758aabf
Fix more margins
2026-03-15 21:09:52 +00:00
Claudio Ortolina
805f93cd3c
Improve wording and layout of scrobbled tracks order buttons
2026-03-15 21:03:11 +00:00
Claudio Ortolina
d2cccce9dc
Uniform margins
2026-03-15 20:58:50 +00:00
Claudio Ortolina
d815928f91
Fix SearchParser catch-all wiping valid filters
...
The `_, %{}` catch-all in `normalize/1` matched any map, so an
invalid filter (e.g. `format:vin`) would reset the accumulator
even when valid filters were already collected. Add a `map_size`
guard so it only returns `%{query: ""}` for a truly empty
accumulator. Also update the moduledoc.
2026-03-15 18:56:30 +00:00
Claudio Ortolina
4fb148e9db
Simplify signatures of scrobbling functions
2026-03-14 22:22:41 +00:00
Claudio Ortolina
69ff926aba
Allow WASM evaluation on prod
2026-03-14 18:02:27 +00:00
Claudio Ortolina
2dd6f10a7f
Fix CSP error for barcode detection
2026-03-14 17:38:04 +00:00
Claudio Ortolina
4d1ac9652c
Link the scrobbled count in stats
2026-03-14 09:59:09 +00:00
Claudio Ortolina
7cdd502701
Streamline print/scrobble buttons
2026-03-14 08:51:19 +00:00
Claudio Ortolina
3d66d7a6d7
Remove unnecessary spacing in the application footer
2026-03-14 07:17:08 +00:00
Claudio Ortolina
1dd7974cc7
Use socket assigns instead of threading IDs via JS.push
...
Extends the same optimization from the previous commit to
all remaining show page handlers across collection, wishlist,
and artist LiveViews. Also simplifies bare JS.push() calls
to plain phx-click strings.
2026-03-13 16:48:12 +00:00
Claudio Ortolina
0b9d008ecb
No need to thread the record ID when we can use the record directly
2026-03-13 16:29:11 +00:00
Claudio Ortolina
be563d8fca
Streamline record set items reordering query
2026-03-13 16:26:01 +00:00
Claudio Ortolina
002c81d3b8
Load Tidewave only in dev
2026-03-13 15:13:37 +00:00
Claudio Ortolina
854a6e1816
Allow worker blob URLs in CSP directives
...
canvas-confetti creates web workers from blob URLs,
which requires an explicit worker-src directive.
2026-03-13 15:01:28 +00:00
Claudio Ortolina
145c5c288c
Allow loading img blobs in csp directives
2026-03-13 14:47:35 +00:00
Claudio Ortolina
9e1dbfd530
Re-enable Credo ModuleDoc check
...
Closes #108
2026-03-13 10:52:01 +00:00
Claudio Ortolina
4977f4631c
Show grouped records in records on this day email
2026-03-12 17:23:22 +00:00
Claudio Ortolina
dbc6d029b4
Move collected artist IDs query to Collection context
...
Closes #112
2026-03-12 16:58:31 +00:00
Claudio Ortolina
d057f29ba1
Split ScrobbleActivity into focused modules
...
Move track CRUD/listing to ListeningStats and diagnostics
to Maintenance, leaving ScrobbleActivity for scrobbling only.
Closes #111
2026-03-12 16:51:33 +00:00
Claudio Ortolina
ee4d2555ee
Move scrobble queries from Records to ListeningStats
...
Closes #110
2026-03-12 16:32:10 +00:00
Claudio Ortolina
24efa3986c
Route artist search queries through Artists context
...
Closes #113
2026-03-12 16:21:04 +00:00
Claudio Ortolina
d6553ae061
Uniform record detail page title logic
2026-03-12 14:58:25 +00:00
Claudio Ortolina
24863b16c4
Remove unused Logger requires
2026-03-12 14:57:48 +00:00
Claudio Ortolina
1a62360b21
Group records in records on this day widget
2026-03-12 09:09:25 +00:00
Claudio Ortolina
a6348fe647
Streamline record detail actions, and add a quick scrobble everything button
2026-03-12 08:26:25 +00:00
Claudio Ortolina
cd0101ba4a
Make page_title/2 private in all LiveViews
...
The Index modules were calling Show.page_title/2 for modal edit
routes. Inlined the logic as private functions in each Index
module and removed the now-unused Show aliases.
Closes #104
2026-03-12 07:44:39 +00:00
Claudio Ortolina
8d9bf78974
Extract shared TopByPeriod LiveComponent
...
Closes #103
2026-03-12 07:38:58 +00:00
Claudio Ortolina
c4bbd7a0f6
Add counter for errored requests
2026-03-11 11:33:11 +00:00
Claudio Ortolina
5ddc9ae466
Add metrics for requests by status code
2026-03-11 11:14:07 +00:00
Claudio Ortolina
159d5ad695
Include more maintenance tasks
...
- Asset tasks
- Records on this day email
2026-03-11 09:31:59 +00:00
Claudio Ortolina
97e9cdf6c4
Spell out Purchased on label in records email
2026-03-11 08:40:42 +00:00
Claudio Ortolina
20b497bbb8
Don't track route not found errors
2026-03-10 20:05:27 +00:00
Claudio Ortolina
fa535393e0
Fix toggling/scrobbling event handlers in scrobble anything show view
2026-03-10 20:04:39 +00:00
Claudio Ortolina
59ac2a503f
Space out lines a bit more
2026-03-10 15:13:28 +00:00
Claudio Ortolina
95302e069b
Improve column detection heuristics
2026-03-10 14:56:25 +00:00
Claudio Ortolina
47ff505fa9
Refactor pdf rendering to use page-level columns
2026-03-10 14:22:11 +00:00
Claudio Ortolina
04955bff84
Fix notification skipping
2026-03-10 08:44:27 +00:00
Claudio Ortolina
8347bd04e8
Skip notifications for muted errors
2026-03-10 08:22:21 +00:00
Claudio Ortolina
3ddb287187
Fix csp directives for online store template logos
2026-03-09 18:30:29 +00:00
Claudio Ortolina
c352ad4809
Can print an individual medium tracklist
2026-03-09 14:52:26 +00:00
Claudio Ortolina
4c6baa6e13
Improve printout PDF layout
...
Support multiple columns in case the tracklist is long, or there's
multiple media.
2026-03-09 14:44:28 +00:00