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"]
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user