defmodule MusicLibraryWeb.SearchComponents do @moduledoc """ Universal search modal and related components. """ use MusicLibraryWeb, :html import MusicLibraryWeb.RecordComponents, only: [ format_label: 1, type_label: 1, record_cover: 1, artist_image: 1, release_status_tooltip: 1 ] alias MusicLibrary.Records.Record alias MusicLibraryWeb.Components.BarcodeScanner alias MusicLibraryWeb.Markdown @doc """ Renders a search result item for records. ## Examples <.search_result_record record={record} /> """ attr :record, :map, required: true attr :type, :atom, required: true, values: [:collection, :wishlist] attr :rest, :global, include: ~w(phx-click phx-value-id) def search_result_record(assigns) do ~H"""
{@record.title}
{Record.artist_names(@record)}
<.release_status_tooltip record={@record} /> {format_label(@record.format)} · {type_label(@record.type)} · <.icon name="hero-calendar-days" class="-mt-1 size-4" aria-hidden="true" data-slot="icon" /> {Record.format_release_date(@record.release_date)} · <.icon name="hero-banknotes" class="size-4" aria-hidden="true" data-slot="icon" /> {Record.format_as_date(@record.purchased_at)}
{@artist.name}
{@artist.disambiguation}
{@record_set.name}
{@label}
Cmd/Ctrl+K {gettext("to open this search")}
{gettext("No results found for '%{query}'", query: @query)}