diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 0acf61fa..459a3573 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -22,7 +22,9 @@ "mcp__tidewave__get_logs", "mcp__tidewave__project_eval", "Bash(mix format:*)", - "Bash(mise run dev:static-checks:*)" + "Bash(mise run dev:static-checks:*)", + "Bash(find:*)", + "Bash(xargs sed:*)" ] }, "enableAllProjectMcpServers": false diff --git a/docs/plans/scrobbled-tracks-crud.md b/docs/plans/scrobbled-tracks-crud.md index f142d376..5e678507 100644 --- a/docs/plans/scrobbled-tracks-crud.md +++ b/docs/plans/scrobbled-tracks-crud.md @@ -84,7 +84,7 @@ Add to `LastFm` module (`lib/last_fm.ex`): - Album title - Scrobbled date/time - Edit/Delete action buttons -- Pagination component at bottom using `MusicLibraryWeb.PaginationComponent` +- Pagination component at bottom using `MusicLibraryWeb.Components.Pagination` - Empty state message when no tracks found ### Form Component Template @@ -127,7 +127,7 @@ Add to the "More" dropdown menu (after line 58): ### Pagination Integration - **Pattern**: Follow `CollectionLive.Index` pagination approach -- **Component**: Reuse `MusicLibraryWeb.PaginationComponent` +- **Component**: Reuse `MusicLibraryWeb.Components.Pagination` - **Parameters**: Support `query`, `page`, `page_size`, and `order` - **URL Structure**: `/scrobbled-tracks?page=2&query=artist&page_size=50` diff --git a/lib/music_library_web/components/add_record_component.ex b/lib/music_library_web/components/add_record.ex similarity index 99% rename from lib/music_library_web/components/add_record_component.ex rename to lib/music_library_web/components/add_record.ex index 8bb635ea..94c19ec7 100644 --- a/lib/music_library_web/components/add_record_component.ex +++ b/lib/music_library_web/components/add_record.ex @@ -1,4 +1,4 @@ -defmodule MusicLibraryWeb.AddRecordComponent do +defmodule MusicLibraryWeb.Components.AddRecord do use MusicLibraryWeb, :live_component import MusicLibraryWeb.RecordComponents, only: [format_label: 1, type_label: 1] diff --git a/lib/music_library_web/components/barcode_scanner_component.ex b/lib/music_library_web/components/barcode_scanner.ex similarity index 99% rename from lib/music_library_web/components/barcode_scanner_component.ex rename to lib/music_library_web/components/barcode_scanner.ex index 48603f9d..103eebbe 100644 --- a/lib/music_library_web/components/barcode_scanner_component.ex +++ b/lib/music_library_web/components/barcode_scanner.ex @@ -1,4 +1,4 @@ -defmodule MusicLibraryWeb.BarcodeScannerComponent do +defmodule MusicLibraryWeb.Components.BarcodeScanner do use MusicLibraryWeb, :live_component alias MusicBrainz.ReleaseGroupSearchResult diff --git a/lib/music_library_web/components/notes_component.ex b/lib/music_library_web/components/notes.ex similarity index 99% rename from lib/music_library_web/components/notes_component.ex rename to lib/music_library_web/components/notes.ex index 1ee636a0..e97bafa1 100644 --- a/lib/music_library_web/components/notes_component.ex +++ b/lib/music_library_web/components/notes.ex @@ -1,4 +1,4 @@ -defmodule MusicLibraryWeb.NotesComponent do +defmodule MusicLibraryWeb.Components.Notes do use MusicLibraryWeb, :live_component alias MusicLibrary.Notes diff --git a/lib/music_library_web/components/pagination_component.ex b/lib/music_library_web/components/pagination.ex similarity index 99% rename from lib/music_library_web/components/pagination_component.ex rename to lib/music_library_web/components/pagination.ex index e660a495..63683cfe 100644 --- a/lib/music_library_web/components/pagination_component.ex +++ b/lib/music_library_web/components/pagination.ex @@ -1,4 +1,4 @@ -defmodule MusicLibraryWeb.PaginationComponent do +defmodule MusicLibraryWeb.Components.Pagination do use MusicLibraryWeb, :html attr :pagination_params, :map, required: true diff --git a/lib/music_library_web/components/record_form.ex b/lib/music_library_web/components/record_form.ex index c76da16c..1b148b41 100644 --- a/lib/music_library_web/components/record_form.ex +++ b/lib/music_library_web/components/record_form.ex @@ -1,4 +1,4 @@ -defmodule MusicLibraryWeb.RecordForm do +defmodule MusicLibraryWeb.Components.RecordForm do use MusicLibraryWeb, :live_component import MusicLibraryWeb.RecordComponents, diff --git a/lib/music_library_web/components/release_component.ex b/lib/music_library_web/components/release.ex similarity index 99% rename from lib/music_library_web/components/release_component.ex rename to lib/music_library_web/components/release.ex index 6aeb9bce..f0e4e121 100644 --- a/lib/music_library_web/components/release_component.ex +++ b/lib/music_library_web/components/release.ex @@ -1,4 +1,4 @@ -defmodule MusicLibraryWeb.ReleaseComponent do +defmodule MusicLibraryWeb.Components.Release do use MusicLibraryWeb, :live_component use Gettext, backend: MusicLibraryWeb.Gettext diff --git a/lib/music_library_web/live/artist_live/show.html.heex b/lib/music_library_web/live/artist_live/show.html.heex index 00e7acc0..8eb902a3 100644 --- a/lib/music_library_web/live/artist_live/show.html.heex +++ b/lib/music_library_web/live/artist_live/show.html.heex @@ -10,7 +10,7 @@