From 3fed26cfbe74cb662ca531fd37b69f159a051ac1 Mon Sep 17 00:00:00 2001 From: TheCatLady <52870424+TheCatLady@users.noreply.github.com> Date: Sat, 27 Feb 2021 22:34:56 -0500 Subject: [PATCH] fix(ui): for server default options, display "All" region/language option instead of empty string (#1042) --- src/components/RegionSelector/index.tsx | 48 ++++++++++++------- .../UserGeneralSettings/index.tsx | 27 +++++++---- src/i18n/locale/en.json | 4 +- 3 files changed, 51 insertions(+), 28 deletions(-) diff --git a/src/components/RegionSelector/index.tsx b/src/components/RegionSelector/index.tsx index a254eaf1..4537d554 100644 --- a/src/components/RegionSelector/index.tsx +++ b/src/components/RegionSelector/index.tsx @@ -9,7 +9,7 @@ import 'country-flag-icons/3x2/flags.css'; const messages = defineMessages({ regionDefault: 'All Regions', - regionServerDefault: '{applicationTitle} Default ({region})', + regionServerDefault: 'Default ({region})', }); interface RegionSelectorProps { @@ -38,6 +38,10 @@ const RegionSelector: React.FC = ({ [] ); + const defaultRegionNameFallback = + regions?.find((region) => region.iso_3166_1 === currentSettings.region) + ?.english_name ?? currentSettings.region; + useEffect(() => { if (regions && value) { if (value === 'all') { @@ -65,15 +69,21 @@ const RegionSelector: React.FC = ({
- {selectedRegion && - selectedRegion.iso_3166_1 !== 'all' && - hasFlag(selectedRegion?.iso_3166_1) && ( - - - - )} + {((selectedRegion && hasFlag(selectedRegion?.iso_3166_1)) || + (isUserSetting && + !selectedRegion && + currentSettings.region && + hasFlag(currentSettings.region))) && ( + + + + )} {selectedRegion && selectedRegion.iso_3166_1 !== 'all' ? intl.formatDisplayName(selectedRegion.iso_3166_1, { @@ -82,12 +92,11 @@ const RegionSelector: React.FC = ({ }) ?? selectedRegion.english_name : isUserSetting && selectedRegion?.iso_3166_1 !== 'all' ? intl.formatMessage(messages.regionServerDefault, { - applicationTitle: currentSettings.applicationTitle, region: currentSettings.region ? intl.formatDisplayName(currentSettings.region, { type: 'region', fallback: 'none', - }) ?? currentSettings.region + }) ?? defaultRegionNameFallback : intl.formatMessage(messages.regionDefault), }) : intl.formatMessage(messages.regionDefault)} @@ -130,16 +139,23 @@ const RegionSelector: React.FC = ({ active ? 'text-white bg-indigo-600' : 'text-gray-300' - } cursor-default select-none relative py-2 pl-8 pr-4`} + } cursor-default select-none relative py-2 pl-8 pr-4 flex items-center`} > + + + {intl.formatMessage(messages.regionServerDefault, { - applicationTitle: - currentSettings.applicationTitle, region: currentSettings.region ? intl.formatDisplayName( currentSettings.region, @@ -147,7 +163,7 @@ const RegionSelector: React.FC = ({ type: 'region', fallback: 'none', } - ) ?? currentSettings.region + ) ?? defaultRegionNameFallback : intl.formatMessage(messages.regionDefault), })} diff --git a/src/components/UserProfile/UserSettings/UserGeneralSettings/index.tsx b/src/components/UserProfile/UserSettings/UserGeneralSettings/index.tsx index 8e0a0765..d426f87c 100644 --- a/src/components/UserProfile/UserSettings/UserGeneralSettings/index.tsx +++ b/src/components/UserProfile/UserSettings/UserGeneralSettings/index.tsx @@ -30,7 +30,7 @@ const messages = defineMessages({ originallanguageTip: 'Filter content by original language (only applies to the "Popular" and "Upcoming" categories)', originalLanguageDefault: 'All Languages', - languageServerDefault: '{applicationTitle} Default ({language})', + languageServerDefault: 'Default ({language})', }); const UserGeneralSettings: React.FC = () => { @@ -61,6 +61,11 @@ const UserGeneralSettings: React.FC = () => { return ; } + const defaultLanguageNameFallback = + languages.find( + (language) => language.iso_639_1 === currentSettings.originalLanguage + )?.english_name ?? currentSettings.originalLanguage; + return ( <>
@@ -167,15 +172,17 @@ const UserGeneralSettings: React.FC = () => { >