Account for no artist country or area

This commit is contained in:
Claudio Ortolina
2025-05-21 22:35:45 +01:00
parent cd3448cd64
commit d38fcd6fee
3 changed files with 9 additions and 7 deletions
+3 -1
View File
@@ -38,9 +38,11 @@ defmodule MusicLibrary.Records.ArtistInfo do
nil -> artist_info.musicbrainz_data["country"]
end
%{name: area["name"], code: keep_alpha_2(country_code)}
%{name: area["name"] || "World", code: keep_alpha_2(country_code) || "XW"}
end
defp keep_alpha_2(nil), do: nil
defp keep_alpha_2(country_code) do
String.slice(country_code, 0..1)
end
@@ -313,11 +313,11 @@ defmodule MusicLibraryWeb.RecordComponents do
|> Enum.join(" ")
end
defp country_label(nil), do: nil
defp country_label("XW"), do: "🌍"
defp country_label("XE"), do: "🇪🇺"
def country_label(nil), do: nil
def country_label("XW"), do: "🌍"
def country_label("XE"), do: "🇪🇺"
defp country_label(country_code) do
def country_label(country_code) do
if flagmoji = Flagmojis.by_iso(country_code) do
flagmoji.emoji
else
@@ -5,13 +5,13 @@ defmodule MusicLibraryWeb.ArtistLive.Show do
alias MusicLibrary.Records.ArtistInfo
import MusicLibraryWeb.RecordComponents,
only: [record_grid: 1, toggle_actions_menu: 1, close_actions_menu: 1]
only: [record_grid: 1, toggle_actions_menu: 1, close_actions_menu: 1, country_label: 1]
attr :country, :map, required: true
defp country_flag(assigns) do
~H"""
<span>{Flagmojis.by_iso(@country.code).emoji}</span>
<span>{country_label(@country.code)}</span>
<span class="sr-only">{@country.name}</span>
"""
end