diff --git a/docs/architecture.md b/docs/architecture.md index 4170a096..a86f4b69 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -297,6 +297,7 @@ All authenticated routes live inside a single `live_session` with three `on_moun | `StatsComponents` | Stats dashboard widgets (`section/1` layout, counters, album preview, records on this day) | | `ScrobbleComponents` | Scrobble activity displays: status badges, import dropdowns, metadata tooltips, and record-matching UI | | `SearchComponents` | Search result rendering | +| `CartComponents` | `cart_sidebar/1` — shared cart aside used by `AddRecord` and `BarcodeScanner` | | `Pagination` | Pagination UI and logic | ### Web Utility Modules (lib/music_library_web/) diff --git a/lib/music_library_web/components/add_record.ex b/lib/music_library_web/components/add_record.ex index 6609ff9c..2e8c2b58 100644 --- a/lib/music_library_web/components/add_record.ex +++ b/lib/music_library_web/components/add_record.ex @@ -13,6 +13,7 @@ defmodule MusicLibraryWeb.Components.AddRecord do use MusicLibraryWeb, :live_component + import MusicLibraryWeb.CartComponents, only: [cart_sidebar: 1] import MusicLibraryWeb.RecordComponents, only: [format_label: 1, type_label: 1] alias MusicBrainz.ReleaseGroupSearchResult @@ -81,156 +82,101 @@ defmodule MusicLibraryWeb.Components.AddRecord do - + + """ diff --git a/lib/music_library_web/components/barcode_scanner.ex b/lib/music_library_web/components/barcode_scanner.ex index bb22667b..04ae9063 100644 --- a/lib/music_library_web/components/barcode_scanner.ex +++ b/lib/music_library_web/components/barcode_scanner.ex @@ -1,6 +1,8 @@ defmodule MusicLibraryWeb.Components.BarcodeScanner do use MusicLibraryWeb, :live_component + import MusicLibraryWeb.CartComponents, only: [cart_sidebar: 1] + alias MusicBrainz.ReleaseGroupSearchResult alias MusicLibrary.BarcodeScan alias MusicLibrary.Records @@ -40,108 +42,48 @@ defmodule MusicLibraryWeb.Components.BarcodeScanner do - + {ngettext( + "Add %{count} release", + "Add %{count} releases", + length(@scan_results), + count: length(@scan_results) + )} + + +