Extract favicon_url to CoreComponents

This commit is contained in:
Claudio Ortolina
2025-10-02 11:48:19 +03:00
parent b6f47fd986
commit d1efc90925
7 changed files with 9 additions and 14 deletions
-2
View File
@@ -3,7 +3,6 @@ defmodule MusicLibrary.Artists do
alias MusicLibrary.Artists.ArtistInfo alias MusicLibrary.Artists.ArtistInfo
alias MusicLibrary.Assets alias MusicLibrary.Assets
alias MusicLibrary.Favicon
alias MusicLibrary.Records.{ArtistRecord, Record} alias MusicLibrary.Records.{ArtistRecord, Record}
alias MusicLibrary.Repo alias MusicLibrary.Repo
alias MusicLibrary.{BackgroundRepo, Worker} alias MusicLibrary.{BackgroundRepo, Worker}
@@ -179,7 +178,6 @@ defmodule MusicLibrary.Artists do
end) end)
end end
def favicon_url(external_link), do: Favicon.favicon_url(external_link.url)
defp get_collected_artist_ids do defp get_collected_artist_ids do
q = q =
-6
View File
@@ -1,6 +0,0 @@
defmodule MusicLibrary.Favicon do
def favicon_url(url) do
uri = URI.parse(url)
"https://www.google.com/s2/favicons?domain=#{uri.host}&sz=16"
end
end
+1 -3
View File
@@ -5,7 +5,7 @@ defmodule MusicLibrary.OnlineStoreTemplates do
import Ecto.Query, warn: false import Ecto.Query, warn: false
alias MusicLibrary.OnlineStoreTemplates.OnlineStoreTemplate alias MusicLibrary.OnlineStoreTemplates.OnlineStoreTemplate
alias MusicLibrary.{Favicon, Repo} alias MusicLibrary.Repo
@doc """ @doc """
Returns the list of enabled online store templates ordered by name. Returns the list of enabled online store templates ordered by name.
@@ -75,6 +75,4 @@ defmodule MusicLibrary.OnlineStoreTemplates do
|> String.replace("{title}", URI.encode_www_form(record.title)) |> String.replace("{title}", URI.encode_www_form(record.title))
|> String.replace("{format}", URI.encode_www_form(format_string)) |> String.replace("{format}", URI.encode_www_form(format_string))
end end
def favicon_url(template), do: Favicon.favicon_url(template.url_template)
end end
@@ -136,6 +136,11 @@ defmodule MusicLibraryWeb.CoreComponents do
""" """
end end
def favicon_url(url) do
uri = URI.parse(url)
"https://www.google.com/s2/favicons?domain=#{uri.host}&sz=16"
end
## JS Commands ## JS Commands
def show(js \\ %JS{}, selector) do def show(js \\ %JS{}, selector) do
@@ -191,7 +191,7 @@
> >
<img <img
class="mr-2" class="mr-2"
src={MusicLibrary.Artists.favicon_url(external_link)} src={favicon_url(external_link.url)}
alt={external_link.name} alt={external_link.name}
loading="lazy" loading="lazy"
/> />
@@ -30,7 +30,7 @@
<div class="min-w-0"> <div class="min-w-0">
<div class="flex items-center gap-x-2"> <div class="flex items-center gap-x-2">
<img <img
src={MusicLibrary.OnlineStoreTemplates.favicon_url(template)} src={favicon_url(template.url_template)}
alt={template.name} alt={template.name}
/> />
<p class="text-sm font-semibold text-gray-900 dark:text-white"> <p class="text-sm font-semibold text-gray-900 dark:text-white">
@@ -290,7 +290,7 @@
> >
<img <img
class="mr-2" class="mr-2"
src={MusicLibrary.OnlineStoreTemplates.favicon_url(template)} src={favicon_url(template.url_template)}
alt={template.name} alt={template.name}
loading="lazy" loading="lazy"
/> />