Account for no artist country or area
This commit is contained in:
@@ -38,9 +38,11 @@ defmodule MusicLibrary.Records.ArtistInfo do
|
|||||||
nil -> artist_info.musicbrainz_data["country"]
|
nil -> artist_info.musicbrainz_data["country"]
|
||||||
end
|
end
|
||||||
|
|
||||||
%{name: area["name"], code: keep_alpha_2(country_code)}
|
%{name: area["name"] || "World", code: keep_alpha_2(country_code) || "XW"}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp keep_alpha_2(nil), do: nil
|
||||||
|
|
||||||
defp keep_alpha_2(country_code) do
|
defp keep_alpha_2(country_code) do
|
||||||
String.slice(country_code, 0..1)
|
String.slice(country_code, 0..1)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -313,11 +313,11 @@ defmodule MusicLibraryWeb.RecordComponents do
|
|||||||
|> Enum.join(" ")
|
|> Enum.join(" ")
|
||||||
end
|
end
|
||||||
|
|
||||||
defp country_label(nil), do: nil
|
def country_label(nil), do: nil
|
||||||
defp country_label("XW"), do: "🌍"
|
def country_label("XW"), do: "🌍"
|
||||||
defp country_label("XE"), 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
|
if flagmoji = Flagmojis.by_iso(country_code) do
|
||||||
flagmoji.emoji
|
flagmoji.emoji
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -5,13 +5,13 @@ defmodule MusicLibraryWeb.ArtistLive.Show do
|
|||||||
alias MusicLibrary.Records.ArtistInfo
|
alias MusicLibrary.Records.ArtistInfo
|
||||||
|
|
||||||
import MusicLibraryWeb.RecordComponents,
|
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
|
attr :country, :map, required: true
|
||||||
|
|
||||||
defp country_flag(assigns) do
|
defp country_flag(assigns) do
|
||||||
~H"""
|
~H"""
|
||||||
<span>{Flagmojis.by_iso(@country.code).emoji}</span>
|
<span>{country_label(@country.code)}</span>
|
||||||
<span class="sr-only">{@country.name}</span>
|
<span class="sr-only">{@country.name}</span>
|
||||||
"""
|
"""
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user