Commit Graph

763 Commits

Author SHA1 Message Date
Claudio Ortolina 5a418248ad Use same gaps in stats page
Closes #120
2026-03-16 19:30:52 +00:00
Claudio Ortolina 270762cdb6 Move maintenance menu item, remove redundant title 2026-03-16 19:28:47 +00:00
Claudio Ortolina a459666126 Autosize all icon buttons 2026-03-16 15:09:05 +00:00
Claudio Ortolina 62359092d8 Uniform play icon sizes
Closes #121
2026-03-16 14:54:54 +00:00
Claudio Ortolina 3bae241d74 Uniform card corners/shadows
Closes #119
2026-03-16 14:51:04 +00:00
Claudio Ortolina 4370391265 Remove useless space-y directive 2026-03-16 14:15:45 +00:00
Claudio Ortolina 74a2b9bce8 Update and uniform styles for scrobble rules and online templates lists 2026-03-16 12:43:07 +00:00
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 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 4fb148e9db Simplify signatures of scrobbling functions 2026-03-14 22:22:41 +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 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 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 d6553ae061 Uniform record detail page title logic 2026-03-12 14:58:25 +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 159d5ad695 Include more maintenance tasks
- Asset tasks
- Records on this day email
2026-03-11 09:31:59 +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 4584b7bcb8 Remove drop down from record set items
Have just a bin icon, and rely on drag and drop.

This solves a massive performance issue with the page, which is
traceable to the Fluxon dropdowns, particularly the Class.merge logic
used to merge Tailwind classes
2026-03-08 13:21:33 +00:00
Claudio Ortolina d76471b03e Use MDEx to consolidate Markdown handling 2026-03-08 09:31:09 +00:00
Claudio Ortolina e4d03a19e4 Compute in advance all needed assigns in record_set_card
Theory is that this makes change tracking easier, and therefore
rendering more performant.
2026-03-07 23:52:32 +00:00
Claudio Ortolina 52815bde2f When doing markdown to HTML, sanitize HTML
Closes #101
Closes #102
2026-03-07 19:05:37 +00:00
Claudio Ortolina 2e3732e38b Apply all necessary exclusions to sobelow findings 2026-03-07 18:37:24 +00:00
Claudio Ortolina effcc3966c Fix id in record set show page 2026-03-06 20:20:48 +00:00
Claudio Ortolina c9ee94bd4a Key record set item ids during rendering
Makes live render faster by 20%
2026-03-06 20:02:58 +00:00
Claudio Ortolina 436274a8ef Extract internal record set card component 2026-03-06 17:02:19 +00:00
Claudio Ortolina 08f7565d44 Replace inspect(reason) with friendly error messages
Closes #81
2026-03-05 20:25:13 +00:00
Claudio Ortolina 6d72df3905 Extract apply_fallback_index to shared helper
Closes #92
2026-03-05 19:50:50 +00:00
Claudio Ortolina d4376e5fa0 Extract DB queries from MaintenanceLive into context 2026-03-05 18:01:50 +00:00
Claudio Ortolina 4b1f6bb245 Fix inconsistent toast arity in form components
Closes #94
2026-03-05 17:06:23 +00:00
Claudio Ortolina eb8a00ab54 Replace String.to_integer with safe Integer.parse
Use Integer.parse/1 instead of String.to_integer/1 on user-supplied
and external API input to prevent ArgumentError crashes on non-numeric
values. Adds fallback defaults or nil returns at each call site.
2026-03-05 14:27:37 +00:00
Claudio Ortolina 6d451481b7 Remove obsolete color extraction strategies 2026-03-03 16:01:25 +00:00
Claudio Ortolina 1d3361c425 BETA: accurate color extractor 2026-03-03 15:41:24 +00:00
Claudio Ortolina 88e09a6ad8 Handle errors when storing assets 2026-03-03 08:27:05 +00:00
Claudio Ortolina a0df11d26f Use new style for MB link and copy button in artist page 2026-03-01 20:19:46 +00:00
Claudio Ortolina 6836cf5c9e Integrate refresh of Last.fm data (both per artist and batch) 2026-03-01 09:46:27 +00:00
Claudio Ortolina d5238eb35c Stabilize record detail layout 2026-02-28 09:55:47 +00:00
Claudio Ortolina 49b7c3c955 Extract common elements from record detail pages 2026-02-28 09:46:31 +00:00
Claudio Ortolina 871f4b3554 Extract ListeningStats out of ScrobbleActivity 2026-02-27 12:16:38 +00:00