diff --git a/lib/music_library/records/artist_info.ex b/lib/music_library/records/artist_info.ex
index 082c8c3f..dc3eb069 100644
--- a/lib/music_library/records/artist_info.ex
+++ b/lib/music_library/records/artist_info.ex
@@ -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
diff --git a/lib/music_library_web/components/record_components.ex b/lib/music_library_web/components/record_components.ex
index 282386f7..ecd0385c 100644
--- a/lib/music_library_web/components/record_components.ex
+++ b/lib/music_library_web/components/record_components.ex
@@ -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
diff --git a/lib/music_library_web/live/artist_live/show.ex b/lib/music_library_web/live/artist_live/show.ex
index 454c6509..95925c2c 100644
--- a/lib/music_library_web/live/artist_live/show.ex
+++ b/lib/music_library_web/live/artist_live/show.ex
@@ -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"""
- {Flagmojis.by_iso(@country.code).emoji}
+ {country_label(@country.code)}
{@country.name}
"""
end