From 86ea1ff2c84729bc51014a9054cac9bf7d6fa287 Mon Sep 17 00:00:00 2001
From: Inokentii Mazhara
Date: Tue, 24 Sep 2024 22:22:20 +0300
Subject: [PATCH 1/5] TW-1539: Remove Marigold and periodic networks (#1197)
* TW-1539 Remove Marigold and periodic networks
* TW-1539 Remove unused functions
* TW-1539 Remove onboarding scenarios from e2e tests
* TW-1539 Remove 'Partners promotion' checkbox mentions from e2e tests
---
e2e/src/features/create-new-wallet.feature | 46 +-----------
e2e/src/features/delegate.feature | 4 +-
.../features/import-existing-wallet.feature | 75 +------------------
e2e/src/features/send.feature | 4 +-
e2e/src/features/swap.feature | 4 +-
e2e/src/features/unlock-screen.feature | 1 -
e2e/src/page-objects/index.ts | 2 +-
.../pages/general-settings.page.ts | 2 -
public/_locales/en/messages.json | 4 -
public/_locales/en_GB/messages.json | 4 -
public/_locales/fr/messages.json | 4 -
public/_locales/pt/messages.json | 4 -
public/_locales/tr/messages.json | 4 -
public/_locales/uk/messages.json | 4 -
public/_locales/zh_CN/messages.json | 4 -
public/_locales/zh_TW/messages.json | 4 -
src/lib/temple/networks.ts | 37 ---------
17 files changed, 9 insertions(+), 198 deletions(-)
diff --git a/e2e/src/features/create-new-wallet.feature b/e2e/src/features/create-new-wallet.feature
index 27a11578c2..df4fabd330 100644
--- a/e2e/src/features/create-new-wallet.feature
+++ b/e2e/src/features/create-new-wallet.feature
@@ -19,7 +19,6 @@ Feature: Create a new wallet
And I enter defaultPassword into Password Field on the Register Form page
And I enter defaultPassword into Repeat Password Field on the Register Form page
And I press Analytics Check Box on the Register Form page
- And I press Skip Onboarding Checkbox on the Register Form page
And I press Accept Terms Checkbox on the Register Form page
And I press Create Button on the Register Form page
@@ -32,49 +31,6 @@ Feature: Create a new wallet
Then I am on the Home page
-@create_new_wallet
- Scenario: As a user, I'd like to create a wallet and pass on-boarding
- Given I am on the Welcome page
- And I press Create New Wallet button on the Welcome page
-
- And I am on the NewSeedBackup page
- And I press Protected Mask on the New Seed Back-up page
- And I save my mnemonic
- And I press I made Seed Phrase Backup Check Box on the New Seed Back-up page
- And I press Next Button on the New Seed Back-up page
-
- And I am on the VerifyMnemonic page
- And I verify my mnemonic
- And I press Next Button on the New Seed Verify page
-
- And I am on the SetWallet page
- And I enter defaultPassword into Password Field on the Register Form page
- And I enter defaultPassword into Repeat Password Field on the Register Form page
- And I press Analytics Check Box on the Register Form page
- And I press Accept Terms Checkbox on the Register Form page
- And I press Create Button on the Register Form page
-# On-boarding passing
- And I am on the OnboardingFirstStep page
- And I press Next Button on the Onboarding (First Step) page
-
- And I am on the OnboardingSecondStep page
- And I press Next Button on the Onboarding (Second Step) page
-
- And I am on the OnboardingThirdStep page
- And I press Next Button on the Onboarding (Third Step) page
-
- And I am on the OnboardingFourthStep page
- And I press Done Button on the Onboarding (Fourth Step) page
-
- And I am on the OnboardingCongrats page
- And I press Start Button on the Onboarding (Congrats) page
-
- And I am on the OnRumpModal page
- And I press Close Button on the On-ramp Modal page
-
- And I am on the NewsletterModal page
- And I press Close Button on the Newsletter Modal page
-
- Then I am on the Home page
+# TODO: add a scenario for passing an onboarding
diff --git a/e2e/src/features/delegate.feature b/e2e/src/features/delegate.feature
index 55cfdf43b0..153d998cc4 100644
--- a/e2e/src/features/delegate.feature
+++ b/e2e/src/features/delegate.feature
@@ -4,8 +4,8 @@ Feature: Delegate
Scenario: As a user, i'd like to re-delegate TEZ to a baker
Given I have imported an existing account
And I press Selected Network Button on the Header page
- And I select Marigold Mainnet node in the networks drop-down list on the Header page
- And I check that Marigold Mainnet node is selected correctly
+ And I select Tezos Mainnet node in the networks drop-down list on the Header page
+ And I check that Tezos Mainnet node is selected correctly
And I press Asset Item Apy Button on the Assets page
And I am on the DelegateTab page
diff --git a/e2e/src/features/import-existing-wallet.feature b/e2e/src/features/import-existing-wallet.feature
index 4091f0f5a4..d73d7de289 100644
--- a/e2e/src/features/import-existing-wallet.feature
+++ b/e2e/src/features/import-existing-wallet.feature
@@ -12,7 +12,6 @@ Feature: Import existing wallet
And I am on the SetWallet page
And I enter defaultPassword into Password Field on the Register Form page
And I enter defaultPassword into Repeat Password Field on the Register Form page
- And I press Skip Onboarding Checkbox on the Register Form page
And I press Analytics Check Box on the Register Form page
And I press Accept Terms Checkbox on the Register Form page
And I press Import Button on the Register Form page
@@ -24,78 +23,6 @@ Feature: Import existing wallet
- Scenario: As a user, I'd like to import wallet and pass on-boarding [Positive]
- Given I am on the Welcome page
- And I press Import Existing Wallet button on the Welcome page
-
- And I am on the ImportExistingWallet page
- And I enter defaultSeedPhrase mnemonic on the ImportExistingWallet page
- And I press Next button on the Import Existing Seed Phrase page
-
- And I am on the SetWallet page
- And I enter defaultPassword into Password Field on the Register Form page
- And I enter defaultPassword into Repeat Password Field on the Register Form page
- And I press Analytics Check Box on the Register Form page
- And I press Accept Terms Checkbox on the Register Form page
- And I press Import Button on the Register Form page
-
- # On-boarding passing
- And I am on the OnboardingFirstStep page
- And I press Next Button on the Onboarding (First Step) page
-
- And I am on the OnboardingSecondStep page
- And I press Next Button on the Onboarding (Second Step) page
-
- And I am on the OnboardingThirdStep page
- And I press Next Button on the Onboarding (Third Step) page
-
- And I am on the OnboardingFourthStep page
- And I press Done Button on the Onboarding (Fourth Step) page
-
- And I am on the OnboardingCongrats page
- And I press Start Button on the Onboarding (Congrats) page
-
- And I am on the NewsletterModal page
- And I press Close Button on the Newsletter Modal page
-
- Then I am on the Home page
-
-
- Scenario: As a user, I'd like to switch between onboarding pages and skip it [Negative]
- Given I am on the Welcome page
- And I press Import Existing Wallet button on the Welcome page
-
- And I am on the ImportExistingWallet page
- And I enter defaultSeedPhrase mnemonic on the ImportExistingWallet page
- And I press Next button on the Import Existing Seed Phrase page
-
- And I am on the SetWallet page
- And I enter defaultPassword into Password Field on the Register Form page
- And I enter defaultPassword into Repeat Password Field on the Register Form page
- And I press Analytics Check Box on the Register Form page
- And I press Accept Terms Checkbox on the Register Form page
- And I press Import Button on the Register Form page
-
- # On-boarding passing
- And I am on the OnboardingFirstStep page
- And I press Next Button on the Onboarding (First Step) page
-
- And I am on the OnboardingSecondStep page
- And I press Next Button on the Onboarding (Second Step) page
-
- And I am on the OnboardingThirdStep page
- And I press Next Button on the Onboarding (Third Step) page
-
- And I am on the OnboardingFourthStep page
- # Returning to the previous page
- And I press Back Button on the Page Layout page
-
- And I am on the OnboardingThirdStep page
- And I press Skip Button on the Page Layout page
-
- And I am on the NewsletterModal page
- And I press Close Button on the Newsletter Modal page
-
- Then I am on the Home page
+ # TODO: add scenarios for passing onboarding
diff --git a/e2e/src/features/send.feature b/e2e/src/features/send.feature
index 39211d49a0..9d1b46cfad 100644
--- a/e2e/src/features/send.feature
+++ b/e2e/src/features/send.feature
@@ -4,8 +4,8 @@ Feature: Send
Scenario: As a user, I'd like to send my funds to another account
Given I have imported an existing account
And I press Selected Network Button on the Header page
- And I select Marigold Mainnet node in the networks drop-down list on the Header page
- And I check that Marigold Mainnet node is selected correctly
+ And I select Tezos Mainnet node in the networks drop-down list on the Header page
+ And I check that Tezos Mainnet node is selected correctly
And I press Send Button on the Home page
And I am on the Send page
diff --git a/e2e/src/features/swap.feature b/e2e/src/features/swap.feature
index 3ae553b91f..2ef9a459d8 100644
--- a/e2e/src/features/swap.feature
+++ b/e2e/src/features/swap.feature
@@ -4,8 +4,8 @@ Feature: Swap
Scenario: As a user, i'd like to swap assets
Given I have imported an existing account
And I press Selected Network Button on the Header page
- And I select Marigold Mainnet node in the networks drop-down list on the Header page
- And I check that Marigold Mainnet node is selected correctly
+ And I select Tezos Mainnet node in the networks drop-down list on the Header page
+ And I check that Tezos Mainnet node is selected correctly
And I press Swap Button on the Home page
And I am on the Swap page
diff --git a/e2e/src/features/unlock-screen.feature b/e2e/src/features/unlock-screen.feature
index ad4d773ff9..7365488d95 100644
--- a/e2e/src/features/unlock-screen.feature
+++ b/e2e/src/features/unlock-screen.feature
@@ -131,7 +131,6 @@ Feature: Unlock Screen
And I got the 'Attention!' warning with Alert title Text element on the Alert page
And I enter defaultPassword into Password Field on the Register Form page
And I enter defaultPassword into Repeat Password Field on the Register Form page
- And I press Skip Onboarding Checkbox on the Register Form page
And I press Analytics Check Box on the Register Form page
And I press Accept Terms Checkbox on the Register Form page
And I press Import Button on the Register Form page
diff --git a/e2e/src/page-objects/index.ts b/e2e/src/page-objects/index.ts
index 3d417a27ef..387d32b31e 100644
--- a/e2e/src/page-objects/index.ts
+++ b/e2e/src/page-objects/index.ts
@@ -47,7 +47,7 @@ import { UnlockScreenPage } from './pages/unlock-screen.page';
import { VerifyMnemonicPage } from './pages/verify-mnemonic.page';
import { WelcomePage } from './pages/welcome.page';
-
+// TODO: add a page for advanced settings
export const Pages = {
Welcome: new WelcomePage(),
ImportExistingWallet: new ImportExistingWalletPage(),
diff --git a/e2e/src/page-objects/pages/general-settings.page.ts b/e2e/src/page-objects/pages/general-settings.page.ts
index 7727364886..e25f4e217b 100644
--- a/e2e/src/page-objects/pages/general-settings.page.ts
+++ b/e2e/src/page-objects/pages/general-settings.page.ts
@@ -14,7 +14,6 @@ export class GeneralSettingsPage extends Page {
extensionLockUpCheckBox = createPageElement(SettingsGeneralSelectors.extensionLockUpCheckBox);
anonymousAnalyticsCheckBox = createPageElement(SettingsGeneralSelectors.anonymousAnalyticsCheckBox);
notificationCheckBox = createPageElement(SettingsGeneralSelectors.notificationCheckBox);
- partnersPromotion = createPageElement(SettingsGeneralSelectors.partnersPromotion);
async isVisible() {
await this.languageDropDown.waitForDisplayed();
@@ -24,6 +23,5 @@ export class GeneralSettingsPage extends Page {
await this.extensionLockUpCheckBox.waitForDisplayed();
await this.anonymousAnalyticsCheckBox.waitForDisplayed();
await this.notificationCheckBox.waitForDisplayed();
- await this.partnersPromotion.waitForDisplayed();
}
}
diff --git a/public/_locales/en/messages.json b/public/_locales/en/messages.json
index 3d7d5dc1e0..613ff289ec 100644
--- a/public/_locales/en/messages.json
+++ b/public/_locales/en/messages.json
@@ -640,10 +640,6 @@
"message": "Tezos Mainnet",
"description": "Mainnet = main network"
},
- "marigoldMainnet": {
- "message": "Marigold Mainnet",
- "description": "Mainnet = main network"
- },
"templeWalletOptions": {
"message": "Temple Wallet | Options"
},
diff --git a/public/_locales/en_GB/messages.json b/public/_locales/en_GB/messages.json
index 35c75fedda..50f45b3046 100644
--- a/public/_locales/en_GB/messages.json
+++ b/public/_locales/en_GB/messages.json
@@ -500,10 +500,6 @@
"message": "Tezos Mainnet",
"description": "Mainnet = main network"
},
- "marigoldMainnet": {
- "message": "Marigold Mainnet",
- "description": "Mainnet = main network"
- },
"templeWalletOptions": {
"message": "Temple Wallet | Options"
},
diff --git a/public/_locales/fr/messages.json b/public/_locales/fr/messages.json
index f51020583d..2feeb727a0 100644
--- a/public/_locales/fr/messages.json
+++ b/public/_locales/fr/messages.json
@@ -478,10 +478,6 @@
"message": "Mainnet Tezos",
"description": "Mainnet = main network"
},
- "marigoldMainnet": {
- "message": "Mainnet Marigold",
- "description": "Mainnet = main network"
- },
"templeWalletOptions": {
"message": "Portefeuille Temple | Options"
},
diff --git a/public/_locales/pt/messages.json b/public/_locales/pt/messages.json
index b1741fb955..e8f917217d 100644
--- a/public/_locales/pt/messages.json
+++ b/public/_locales/pt/messages.json
@@ -496,10 +496,6 @@
"message": "Tezos Mainnet",
"description": "Mainnet = main network"
},
- "marigoldMainnet": {
- "message": "Marigold Mainnet",
- "description": "Mainnet = main network"
- },
"templeWalletOptions": {
"message": "Carteira Temple | Opções"
},
diff --git a/public/_locales/tr/messages.json b/public/_locales/tr/messages.json
index de50af2158..5cfae74055 100644
--- a/public/_locales/tr/messages.json
+++ b/public/_locales/tr/messages.json
@@ -496,10 +496,6 @@
"message": "Tezos Mainnet",
"description": "Mainnet = main network"
},
- "marigoldMainnet": {
- "message": "Marigold Mainnet",
- "description": "Mainnet = main network"
- },
"templeWalletOptions": {
"message": "Temple Wallet | Seçenekler"
},
diff --git a/public/_locales/uk/messages.json b/public/_locales/uk/messages.json
index e8979a6327..24ff92d46a 100644
--- a/public/_locales/uk/messages.json
+++ b/public/_locales/uk/messages.json
@@ -495,10 +495,6 @@
"message": "Tezos Mainnet",
"description": "Mainnet = main network"
},
- "marigoldMainnet": {
- "message": "Marigold Mainnet",
- "description": "Mainnet = main network"
- },
"templeWalletOptions": {
"message": "Temple Wallet | Налаштування"
},
diff --git a/public/_locales/zh_CN/messages.json b/public/_locales/zh_CN/messages.json
index d48989faef..9df70b1854 100644
--- a/public/_locales/zh_CN/messages.json
+++ b/public/_locales/zh_CN/messages.json
@@ -478,10 +478,6 @@
"message": "Tezos主网",
"description": "Mainnet = main network"
},
- "marigoldMainnet": {
- "message": "Marigold主网",
- "description": "Mainnet = main network"
- },
"templeWalletOptions": {
"message": "Temple钱包 | 选项"
},
diff --git a/public/_locales/zh_TW/messages.json b/public/_locales/zh_TW/messages.json
index ca59167a09..1e0bd7242f 100644
--- a/public/_locales/zh_TW/messages.json
+++ b/public/_locales/zh_TW/messages.json
@@ -478,10 +478,6 @@
"message": "Tezos 主網路",
"description": "Mainnet = main network"
},
- "marigoldMainnet": {
- "message": "Marigold 主網路",
- "description": "Mainnet = main network"
- },
"templeWalletOptions": {
"message": "Temple 錢包 | 選項"
},
diff --git a/src/lib/temple/networks.ts b/src/lib/temple/networks.ts
index c9561bbee3..0cc3ee4180 100644
--- a/src/lib/temple/networks.ts
+++ b/src/lib/temple/networks.ts
@@ -1,15 +1,5 @@
import { TempleChainId, TempleNetwork } from 'lib/temple/types';
-const formatDateToRPCFormat = (date: Date) => date.toLocaleDateString('en-GB').split('/').reverse().join('-');
-
-const getLastMonday = (date = new Date()) => {
- const dateCopy = new Date(date.getTime() - 604800000);
-
- const nextMonday = new Date(dateCopy.setDate(dateCopy.getDate() + ((7 - dateCopy.getDay() + 1) % 7 || 7)));
-
- return formatDateToRPCFormat(nextMonday);
-};
-
export const NETWORK_IDS = new Map([
[TempleChainId.Mainnet, 'mainnet'],
[TempleChainId.Ghostnet, 'ghostnet'],
@@ -48,15 +38,6 @@ export const NETWORKS: TempleNetwork[] = [
color: '#83b300',
disabled: false
},
- {
- id: 'marigold-mainnet',
- nameI18nKey: 'marigoldMainnet',
- description: 'Marigold mainnet',
- type: 'main',
- rpcBaseURL: 'https://mainnet.tezos.marigold.dev',
- color: '#48bb78',
- disabled: false
- },
{
id: 'smartpy-mainnet',
name: 'SmartPy Mainnet',
@@ -85,24 +66,6 @@ export const NETWORKS: TempleNetwork[] = [
color: '#131380',
disabled: false
},
- {
- id: 'monday',
- name: 'MondayNet Testnet',
- description: `MondayNet ${getLastMonday()}`,
- type: 'test',
- rpcBaseURL: `https://rpc.mondaynet-${getLastMonday()}.teztnets.xyz/`,
- color: '#FBBF24',
- disabled: false
- },
- {
- id: 'daily',
- name: 'DailyNet Testnet',
- description: 'DailyNet',
- type: 'test',
- rpcBaseURL: `https://rpc.dailynet-${formatDateToRPCFormat(new Date())}.teztnets.xyz/`,
- color: '#FBBF24',
- disabled: false
- },
{
id: 'sandbox',
name: 'localhost:8732',
From 0be33144c5f71f223f95ee62693ee1a54bcca129 Mon Sep 17 00:00:00 2001
From: Inokentii Mazhara
Date: Wed, 25 Sep 2024 14:59:23 +0300
Subject: [PATCH 2/5] TW-1518: Ads replacement algorithm improvement (#1196)
* TW-1518 Implement blacklisting Hypelab campaigns
* TW-1518 Fix a type error
* TW-1518 Change the algorithm for picking ad type
* TW-1518 Revert harmful changes
* TW-1518 Restore using Persona 321x101 banner as one more fallback
* TW-1518 Update @temple-wallet/extension-ads
---
package.json | 2 +-
src/content-scripts/replace-ads/ads-rules.ts | 15 +-
.../replace-ads/ads-stack.iframe.ts | 19 +-
src/content-scripts/replace-ads/index.ts | 2 +-
src/lib/ads/configure-ads.ts | 223 +++++++++++-------
src/lib/constants.ts | 2 +
yarn.lock | 8 +-
7 files changed, 176 insertions(+), 95 deletions(-)
diff --git a/package.json b/package.json
index 98faa808aa..c6d34a16bc 100644
--- a/package.json
+++ b/package.json
@@ -231,6 +231,6 @@
"follow-redirects": "^1.15.4"
},
"optionalDependencies": {
- "@temple-wallet/extension-ads": "8.1.1"
+ "@temple-wallet/extension-ads": "9.0.0-dev.2"
}
}
diff --git a/src/content-scripts/replace-ads/ads-rules.ts b/src/content-scripts/replace-ads/ads-rules.ts
index b95cc53ba5..d9b7977f63 100644
--- a/src/content-scripts/replace-ads/ads-rules.ts
+++ b/src/content-scripts/replace-ads/ads-rules.ts
@@ -4,15 +4,15 @@ import { importExtensionAdsModule } from 'lib/ads/import-extension-ads-module';
import { ALL_ADS_RULES_STORAGE_KEY, ADS_RULES_UPDATE_INTERVAL } from 'lib/constants';
import { fetchFromStorage } from 'lib/storage';
-export const getRulesFromContentScript = memoizee(
- async (location: Location) => {
+export const getRulesFromStorage = memoizee(
+ async (locationOrHref: Location | string) => {
try {
const { transformRawRules } = await importExtensionAdsModule();
const rulesStored = await fetchFromStorage(ALL_ADS_RULES_STORAGE_KEY);
if (!rulesStored) throw new Error('No rules for ads found');
- return transformRawRules(location, rulesStored);
+ return transformRawRules(locationOrHref, rulesStored);
} catch (error) {
console.error(error);
@@ -22,11 +22,16 @@ export const getRulesFromContentScript = memoizee(
providersSelectors: [],
providersNegativeSelectors: [],
elementsToHideOrRemoveRules: [],
+ blacklistedHypelabCampaignsSlugs: [],
timestamp: 0
};
}
},
- { maxAge: ADS_RULES_UPDATE_INTERVAL, normalizer: ([location]) => location.href, promise: true }
+ {
+ maxAge: ADS_RULES_UPDATE_INTERVAL,
+ normalizer: ([locationOrHref]) => (typeof locationOrHref === 'string' ? locationOrHref : locationOrHref.href),
+ promise: true
+ }
);
-export const clearRulesCache = () => getRulesFromContentScript.clear();
+export const clearRulesCache = () => getRulesFromStorage.clear();
diff --git a/src/content-scripts/replace-ads/ads-stack.iframe.ts b/src/content-scripts/replace-ads/ads-stack.iframe.ts
index f7c6eb8cb4..9ab9ef8015 100644
--- a/src/content-scripts/replace-ads/ads-stack.iframe.ts
+++ b/src/content-scripts/replace-ads/ads-stack.iframe.ts
@@ -1,13 +1,28 @@
import { configureAds } from 'lib/ads/configure-ads';
import { importExtensionAdsModule } from 'lib/ads/import-extension-ads-module';
-import { ADS_META_SEARCH_PARAM_NAME, ORIGIN_SEARCH_PARAM_NAME } from 'lib/constants';
+import { ADS_META_SEARCH_PARAM_NAME, AD_CATEGORIES_PARAM_NAME, ORIGIN_SEARCH_PARAM_NAME } from 'lib/constants';
+
+import { getRulesFromStorage } from './ads-rules';
const usp = new URLSearchParams(window.location.search);
const id = usp.get('id');
const origin = usp.get(ORIGIN_SEARCH_PARAM_NAME) ?? window.location.href;
const adsMetadataIds = usp.getAll(ADS_META_SEARCH_PARAM_NAME).map(value => JSON.parse(value));
+const adCategories = usp.getAll(AD_CATEGORIES_PARAM_NAME);
configureAds()
.then(() => importExtensionAdsModule())
- .then(({ renderAdsStack }) => renderAdsStack(id ?? '', adsMetadataIds, origin))
+ .then(async ({ renderAdsStack }) => ({ renderAdsStack, rules: await getRulesFromStorage(origin) }))
+ .then(({ renderAdsStack, rules }) => {
+ const { blacklistedHypelabCampaignsSlugs, permanentAdPlacesRules, adPlacesRules } = rules;
+
+ renderAdsStack(
+ id ?? '',
+ adsMetadataIds,
+ origin,
+ permanentAdPlacesRules.length > 0 || adPlacesRules.length > 0,
+ adCategories,
+ blacklistedHypelabCampaignsSlugs
+ );
+ })
.catch(error => console.error(error));
diff --git a/src/content-scripts/replace-ads/index.ts b/src/content-scripts/replace-ads/index.ts
index 6177cd706c..ca6d21ec6a 100644
--- a/src/content-scripts/replace-ads/index.ts
+++ b/src/content-scripts/replace-ads/index.ts
@@ -1 +1 @@
-export { getRulesFromContentScript, clearRulesCache } from './ads-rules';
+export { getRulesFromStorage as getRulesFromContentScript, clearRulesCache } from './ads-rules';
diff --git a/src/lib/ads/configure-ads.ts b/src/lib/ads/configure-ads.ts
index 098572b362..667038c574 100644
--- a/src/lib/ads/configure-ads.ts
+++ b/src/lib/ads/configure-ads.ts
@@ -1,12 +1,41 @@
import browser from 'webextension-polyfill';
import { buildSwapPageUrlQuery } from 'app/pages/Swap/utils/build-url-query';
-import { ADS_META_SEARCH_PARAM_NAME, ContentScriptType, ORIGIN_SEARCH_PARAM_NAME } from 'lib/constants';
+import {
+ ADS_META_SEARCH_PARAM_NAME,
+ AD_CATEGORIES_PARAM_NAME,
+ ContentScriptType,
+ ORIGIN_SEARCH_PARAM_NAME
+} from 'lib/constants';
import { APP_VERSION, EnvVars, IS_MISES_BROWSER } from 'lib/env';
import { isTruthy } from 'lib/utils';
import { importExtensionAdsModule } from './import-extension-ads-module';
+// Three interfaces below are copied from '@temple-wallet/extension-ads' to avoid importing it to ensure that a core
+// build runs without errors.
+interface AdSource {
+ shouldNotUseStrictContainerLimits?: boolean;
+ providerName: 'Temple' | 'Persona' | 'HypeLab' | 'SmartyAds';
+ native?: boolean;
+ slug: string;
+ categories?: string[];
+}
+
+interface AdDimensions {
+ width: number;
+ height: number;
+ minContainerWidth: number;
+ minContainerHeight: number;
+ maxContainerWidth: number;
+ maxContainerHeight: number;
+}
+
+interface AdMetadata {
+ source: AdSource;
+ dimensions: AdDimensions;
+}
+
const smallTkeyInpageAdUrl = browser.runtime.getURL(`/misc/ad-banners/small-tkey-inpage-ad.png`);
const tkeyInpageAdUrl = browser.runtime.getURL(`/misc/ad-banners/tkey-inpage-ad.png`);
@@ -16,13 +45,14 @@ const swapTkeyUrl = `${browser.runtime.getURL('fullpage.html')}#/swap?${buildSwa
true
)}`;
-const getAdsStackIframeURL = (id: string, adsMetadataIds: any[], origin: string) => {
+const getAdsStackIframeURL = (id: string, adsMetadataIds: any[], origin: string, adCategories: string[]) => {
const url = new URL(browser.runtime.getURL('iframes/ads-stack.html'));
url.searchParams.set('id', id);
adsMetadataIds.forEach(adMetadataId =>
url.searchParams.append(ADS_META_SEARCH_PARAM_NAME, JSON.stringify(adMetadataId))
);
url.searchParams.set(ORIGIN_SEARCH_PARAM_NAME, origin);
+ adCategories.forEach(category => url.searchParams.append(AD_CATEGORIES_PARAM_NAME, category));
return url.toString();
};
@@ -61,7 +91,7 @@ const buildNativeAdsMeta = (containerWidth: number, containerHeight: number) =>
}
].filter(isTruthy);
-const bannerAdsMetaBase = [
+const bannerAdsMetaBase: (AdMetadata | false)[] = [
{
source: {
providerName: 'SmartyAds' as const,
@@ -110,6 +140,52 @@ const bannerAdsMetaBase = [
maxContainerHeight: 300
}
},
+ {
+ source: {
+ providerName: 'HypeLab' as const,
+ native: false,
+ slug: IS_MISES_BROWSER ? EnvVars.HYPELAB_MISES_WIDE_PLACEMENT_SLUG : EnvVars.HYPELAB_WIDE_PLACEMENT_SLUG
+ },
+ dimensions: {
+ width: 728,
+ height: 90,
+ minContainerWidth: 727,
+ minContainerHeight: 89,
+ maxContainerWidth: Infinity,
+ maxContainerHeight: 300
+ }
+ },
+ {
+ source: {
+ providerName: 'Persona' as const,
+ native: false,
+ slug: IS_MISES_BROWSER ? EnvVars.PERSONA_ADS_MISES_WIDE_BANNER_UNIT_ID : EnvVars.PERSONA_ADS_WIDE_BANNER_UNIT_ID
+ },
+ dimensions: {
+ width: 728,
+ height: 90,
+ minContainerWidth: 727,
+ minContainerHeight: 89,
+ maxContainerWidth: Infinity,
+ maxContainerHeight: 300
+ }
+ },
+ {
+ source: {
+ providerName: 'Persona' as const,
+ slug: IS_MISES_BROWSER
+ ? EnvVars.PERSONA_ADS_MISES_MEDIUM_BANNER_UNIT_ID
+ : EnvVars.PERSONA_ADS_MEDIUM_BANNER_UNIT_ID
+ },
+ dimensions: {
+ width: 600,
+ height: 160,
+ minContainerWidth: 599,
+ minContainerHeight: 159,
+ maxContainerWidth: 800,
+ maxContainerHeight: 300
+ }
+ },
{
source: {
providerName: 'SmartyAds' as const,
@@ -174,6 +250,37 @@ const bannerAdsMetaBase = [
maxContainerHeight: Infinity
}
},
+ {
+ source: {
+ providerName: 'HypeLab' as const,
+ native: false,
+ slug: IS_MISES_BROWSER ? EnvVars.HYPELAB_MISES_HIGH_PLACEMENT_SLUG : EnvVars.HYPELAB_HIGH_PLACEMENT_SLUG
+ },
+ dimensions: {
+ width: 300,
+ height: 250,
+ minContainerWidth: 299,
+ minContainerHeight: 249,
+ maxContainerWidth: 700,
+ maxContainerHeight: Infinity
+ }
+ },
+ {
+ source: {
+ providerName: 'Persona' as const,
+ slug: IS_MISES_BROWSER
+ ? EnvVars.PERSONA_ADS_MISES_SQUARISH_BANNER_UNIT_ID
+ : EnvVars.PERSONA_ADS_SQUARISH_BANNER_UNIT_ID
+ },
+ dimensions: {
+ width: 300,
+ height: 250,
+ minContainerWidth: 299,
+ minContainerHeight: 249,
+ maxContainerWidth: 700,
+ maxContainerHeight: Infinity
+ }
+ },
{
source: {
providerName: 'SmartyAds' as const,
@@ -207,82 +314,6 @@ const bannerAdsMetaBase = [
maxContainerHeight: 130
}
},
- {
- source: {
- providerName: 'HypeLab' as const,
- native: false,
- slug: IS_MISES_BROWSER ? EnvVars.HYPELAB_MISES_WIDE_PLACEMENT_SLUG : EnvVars.HYPELAB_WIDE_PLACEMENT_SLUG
- },
- dimensions: {
- width: 728,
- height: 90,
- minContainerWidth: 727,
- minContainerHeight: 89,
- maxContainerWidth: Infinity,
- maxContainerHeight: 300
- }
- },
- {
- source: {
- providerName: 'Temple' as const,
- slug: ''
- },
- dimensions: {
- width: 728,
- height: 90,
- minContainerWidth: 727,
- minContainerHeight: 89,
- maxContainerWidth: Infinity,
- maxContainerHeight: 300
- }
- },
- {
- source: {
- providerName: 'Persona' as const,
- slug: IS_MISES_BROWSER
- ? EnvVars.PERSONA_ADS_MISES_MEDIUM_BANNER_UNIT_ID
- : EnvVars.PERSONA_ADS_MEDIUM_BANNER_UNIT_ID
- },
- dimensions: {
- width: 600,
- height: 160,
- minContainerWidth: 599,
- minContainerHeight: 159,
- maxContainerWidth: 800,
- maxContainerHeight: 300
- }
- },
- {
- source: {
- providerName: 'HypeLab' as const,
- native: false,
- slug: IS_MISES_BROWSER ? EnvVars.HYPELAB_MISES_HIGH_PLACEMENT_SLUG : EnvVars.HYPELAB_HIGH_PLACEMENT_SLUG
- },
- dimensions: {
- width: 300,
- height: 250,
- minContainerWidth: 299,
- minContainerHeight: 249,
- maxContainerWidth: 700,
- maxContainerHeight: Infinity
- }
- },
- {
- source: {
- providerName: 'Persona' as const,
- slug: IS_MISES_BROWSER
- ? EnvVars.PERSONA_ADS_MISES_SQUARISH_BANNER_UNIT_ID
- : EnvVars.PERSONA_ADS_SQUARISH_BANNER_UNIT_ID
- },
- dimensions: {
- width: 300,
- height: 250,
- minContainerWidth: 299,
- minContainerHeight: 249,
- maxContainerWidth: 700,
- maxContainerHeight: 500
- }
- },
{
source: {
providerName: 'HypeLab' as const,
@@ -302,7 +333,8 @@ const bannerAdsMetaBase = [
{
source: {
providerName: 'Persona' as const,
- slug: IS_MISES_BROWSER ? EnvVars.PERSONA_ADS_MISES_BANNER_UNIT_ID : EnvVars.PERSONA_ADS_BANNER_UNIT_ID
+ slug: IS_MISES_BROWSER ? EnvVars.PERSONA_ADS_MISES_BANNER_UNIT_ID : EnvVars.PERSONA_ADS_BANNER_UNIT_ID,
+ shouldNotUseStrictContainerLimits: true
},
dimensions: {
width: 321,
@@ -330,6 +362,32 @@ const bannerAdsMetaBase = [
}
];
+const bannerAdsMeta = bannerAdsMetaBase.filter(isTruthy);
+
+const pickNextAdMetadata = (
+ allAdsMetadata: AdMetadata[],
+ currentAdMetadata: AdMetadata | undefined,
+ validAdsCounter: number,
+ pageHasPlacesRules: boolean,
+ adCategories: string[]
+) => {
+ const currentAdMetadataIndex = currentAdMetadata ? allAdsMetadata.indexOf(currentAdMetadata) : -1;
+ const isPureCryptoAd = adCategories.length === 1 && adCategories[0] === 'crypto';
+
+ if (
+ !currentAdMetadata ||
+ (!pageHasPlacesRules && !isPureCryptoAd && validAdsCounter > 0 && currentAdMetadataIndex > 0)
+ ) {
+ return allAdsMetadata[0];
+ }
+
+ if (allAdsMetadata.length === 1) {
+ return undefined;
+ }
+
+ return allAdsMetadata[(currentAdMetadataIndex + 1) % allAdsMetadata.length];
+};
+
export const configureAds = async () => {
const { configureAds: originalConfigureAds } = await importExtensionAdsModule();
originalConfigureAds({
@@ -341,9 +399,10 @@ export const configureAds = async () => {
personaIframePath: browser.runtime.getURL('iframes/persona-ad.html'),
getAdsStackIframeURL,
buildNativeAdsMeta,
- bannerAdsMeta: bannerAdsMetaBase.filter(isTruthy),
+ bannerAdsMeta,
extVersion: APP_VERSION,
templePassphrase: EnvVars.TEMPLE_ADS_ORIGIN_PASSPHRASE,
- isMisesBrowser: IS_MISES_BROWSER
+ isMisesBrowser: IS_MISES_BROWSER,
+ pickNextAdMetadata
});
};
diff --git a/src/lib/constants.ts b/src/lib/constants.ts
index 7e6e351341..98b1a03c3d 100644
--- a/src/lib/constants.ts
+++ b/src/lib/constants.ts
@@ -7,6 +7,8 @@ export enum ContentScriptType {
ReferralClick = 'ReferralClick'
}
+export const AD_CATEGORIES_PARAM_NAME = 'categories';
+
export const ORIGIN_SEARCH_PARAM_NAME = 'o';
export const ADS_META_SEARCH_PARAM_NAME = 'ads-meta';
diff --git a/yarn.lock b/yarn.lock
index bbcc9c93a4..228ef3e79d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3607,10 +3607,10 @@
dependencies:
nanoid "^3.1.25"
-"@temple-wallet/extension-ads@8.1.1":
- version "8.1.1"
- resolved "https://registry.yarnpkg.com/@temple-wallet/extension-ads/-/extension-ads-8.1.1.tgz#cfbca4e245096d39ed728133dd569d30253536f7"
- integrity sha512-F05VRE7eg9lUnMu/3KvvRg5pOWAAwH7aI+yg61PnfgRA2XkWr7dM+ZdswTbJw+Bq27u3MnjdaSYMB3MIyPhk9g==
+"@temple-wallet/extension-ads@9.0.0-dev.2":
+ version "9.0.0-dev.2"
+ resolved "https://registry.yarnpkg.com/@temple-wallet/extension-ads/-/extension-ads-9.0.0-dev.2.tgz#9ba67b3cb01368650f591e5893655a3d8bde95af"
+ integrity sha512-eUxOuIXqIL5OUYQrXGrZa3pgacNxbmrUzLaaGJofZI5wi0VAVJSvjRfPwvE7KwBGoYw7g3sE2/gIraU/qmzYhA==
dependencies:
axios "^1.7.4"
crypto-js "^4.2.0"
From 9a82873fa0eb443086d8a5f591f3aa76f1ccc7fb Mon Sep 17 00:00:00 2001
From: Inokentii Mazhara
Date: Mon, 7 Oct 2024 03:04:05 +0300
Subject: [PATCH 3/5] TW-1536: Change some labels for staking section (#1203)
---
public/_locales/en/messages.json | 2 +-
src/app/pages/Staking/MyStake.tsx | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/public/_locales/en/messages.json b/public/_locales/en/messages.json
index 613ff289ec..665974acc1 100644
--- a/public/_locales/en/messages.json
+++ b/public/_locales/en/messages.json
@@ -1095,7 +1095,7 @@
"message": "Earn"
},
"delegationPointsHead2": {
- "message": "on your Tezos annualy from\nBaking & Stake rewards"
+ "message": "on your Tezos annually from\nBaking & Stake rewards"
},
"delegationPoint1": {
"message": "First reward in Tezos will be paid approximately in 36 days."
diff --git a/src/app/pages/Staking/MyStake.tsx b/src/app/pages/Staking/MyStake.tsx
index 592a8f5fbe..b6c730b849 100644
--- a/src/app/pages/Staking/MyStake.tsx
+++ b/src/app/pages/Staking/MyStake.tsx
@@ -164,7 +164,7 @@ export const MyStakeTab = memo(() => {
className="h-10"
onClick={finalizeUnstake}
>
- Unstake
+ Finalize
>
) : requestsAreLoading ? (
From 3b0288e1baf8a4ebf355c2baeedbed15b023c5b6 Mon Sep 17 00:00:00 2001
From: Alex
Date: Thu, 10 Oct 2024 11:27:11 +0300
Subject: [PATCH 4/5] Fix pipeline. Cases in imports corrected
---
src/app/templates/SettingsGeneral/index.tsx | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/app/templates/SettingsGeneral/index.tsx b/src/app/templates/SettingsGeneral/index.tsx
index 79bc7cbe87..c0501d3181 100644
--- a/src/app/templates/SettingsGeneral/index.tsx
+++ b/src/app/templates/SettingsGeneral/index.tsx
@@ -2,11 +2,11 @@ import React, { memo } from 'react';
import { NotificationsSettings } from 'lib/notifications/components';
-import AnalyticsSettings from './Components/AnalyticsSettings';
-import FiatCurrencySelect from './Components/FiatCurrencySelect';
-import LocaleSelect from './Components/LocaleSelect';
-import LockUpSettings from './Components/LockUpSettings';
-import PopupSettings from './Components/PopupSettings';
+import AnalyticsSettings from './components/AnalyticsSettings';
+import FiatCurrencySelect from './components/FiatCurrencySelect';
+import LocaleSelect from './components/LocaleSelect';
+import LockUpSettings from './components/LockUpSettings';
+import PopupSettings from './components/PopupSettings';
const GeneralSettings = memo(() => (
From d6f30f8b4cb62bab9832748c791c80acce5d4a5b Mon Sep 17 00:00:00 2001
From: Inokentii Mazhara
Date: Fri, 11 Oct 2024 15:57:23 +0300
Subject: [PATCH 5/5] TW-1541: Part of EVM settings (#1208)
* TW-1542: Apply design for settings menu (#1199)
* TW-1555 Update some design and fix some bugs
* TW-1555 Make some modals close after their backdrop is clicked
* TW-1542 Resolve merge conflicts
* TW-1542 Revert harmful changes
* TW-1542 Remove unused components
* TW-1542 Implement new Settings menu design
* TW-1542 Remove some unused translations
* TW-1542 Fix find-deadcode errors
* TW-1542 Add changes from comments
* TW-1542 Move localStorage clearing to frontend
* TW-1542 Update a label
* TW-1555 Some more bugfixes
* TW-1555 Remove some commented out code
* TW-1555 Refactor setting classes
Co-authored-by: Alex
* TW-1555 Fix prettier problem
* TW-1555 Agree styles for app content wrapper and action modals
* TW-1542 Change a label
* TW-1542 Fix font size for page header
---------
Co-authored-by: Alex
* TW-1543: 'General' section update (#1200)
* TW-1555 Update some design and fix some bugs
* TW-1555 Make some modals close after their backdrop is clicked
* TW-1542 Resolve merge conflicts
* TW-1542 Revert harmful changes
* TW-1542 Remove unused components
* TW-1542 Implement new Settings menu design
* TW-1542 Remove some unused translations
* TW-1542 Fix find-deadcode errors
* TW-1542 Add changes from comments
* TW-1543 Redesign 'General' settings section
* TW-1543 Refactoring
* TW-1542 Move localStorage clearing to frontend
* TW-1542 Update a label
* TW-1555 Some more bugfixes
* TW-1543 Change error output
* TW-1543 Apply design updates
* TW-1555 Remove some commented out code
* TW-1543 Remove excessive locales loading checks
* TW-1555 Refactor setting classes
Co-authored-by: Alex
* TW-1555 Fix prettier problem
* TW-1555 Agree styles for app content wrapper and action modals
* TW-1543 Bugfixes according to the comment from Figma
* TW-1542 Change a label
* TW-1542 Fix font size for page header
* TW-1543 Remove an unused import
---------
Co-authored-by: Alex
* TW-1548: Redesign 'Advanced Features' section (#1205)
* TW-1548 Redesign 'Advanced Features' section
* TW-1548 Some refactoring
* TW-1548 Remove old EnablingSetting component
* TW-1548 Remove unused exports
* TW-1548 Refactoring according to comments
* TW-1541 Fix ts error
---------
Co-authored-by: Alex
---
e2e/src/page-objects/index.ts | 2 -
.../page-objects/pages/reveal-secrets.page.ts | 16 -
public/_locales/de/messages.json | 31 +-
public/_locales/en/messages.json | 193 ++++++++---
public/_locales/en_GB/messages.json | 32 +-
public/_locales/fr/messages.json | 28 +-
public/_locales/ja/messages.json | 28 +-
public/_locales/ko/messages.json | 28 +-
public/_locales/pt/messages.json | 31 +-
public/_locales/ru/messages.json | 3 -
public/_locales/tr/messages.json | 31 +-
public/_locales/uk/messages.json | 132 +++++--
public/_locales/zh_CN/messages.json | 25 +-
public/_locales/zh_TW/messages.json | 28 +-
public/misc/country-flags/cn.png | Bin 0 -> 778 bytes
public/misc/country-flags/cn.svg | 11 -
public/misc/country-flags/de.png | Bin 0 -> 363 bytes
public/misc/country-flags/de.svg | 5 -
public/misc/country-flags/fr.png | Bin 0 -> 506 bytes
public/misc/country-flags/fr.svg | 5 -
public/misc/country-flags/gb.png | Bin 0 -> 1021 bytes
public/misc/country-flags/gb.svg | 10 -
public/misc/country-flags/jp.png | Bin 0 -> 437 bytes
public/misc/country-flags/jp.svg | 4 -
public/misc/country-flags/kr.png | Bin 0 -> 1029 bytes
public/misc/country-flags/kr.svg | 16 -
public/misc/country-flags/pt.png | Bin 0 -> 1413 bytes
public/misc/country-flags/pt.svg | 64 ----
public/misc/country-flags/ru.svg | 5 -
public/misc/country-flags/tr.png | Bin 0 -> 667 bytes
public/misc/country-flags/tr.svg | 6 -
public/misc/country-flags/tw.png | Bin 0 -> 795 bytes
public/misc/country-flags/tw.svg | 9 -
public/misc/country-flags/ua.png | Bin 0 -> 407 bytes
public/misc/country-flags/ua.svg | 4 -
public/misc/country-flags/us.png | Bin 0 -> 809 bytes
public/misc/country-flags/us.svg | 25 --
src/app/atoms/BakingButtons/index.tsx | 3 +-
src/app/atoms/Flag.tsx | 15 +-
src/app/atoms/FormCheckbox.tsx | 2 +-
.../SettingsCell.tsx} | 19 +-
src/app/atoms/SettingsCellGroup.tsx | 20 ++
src/app/atoms/action-modal/action-modal.tsx | 8 +-
src/app/atoms/index.ts | 1 -
src/app/icons/additional.svg | 6 -
src/app/icons/apps.svg | 15 -
src/app/icons/base/additional.svg | 6 +
src/app/icons/base/addressbook.svg | 6 +
src/app/icons/base/browse.svg | 4 +-
src/app/icons/base/exit.svg | 7 +
src/app/icons/base/info.svg | 6 +
src/app/icons/base/link.svg | 6 +
src/app/icons/base/refresh.svg | 6 +
src/app/icons/canny.svg | 19 -
src/app/icons/helpcrunch.svg | 17 -
src/app/icons/monochrome/extension.svg | 8 -
src/app/icons/monochrome/help.svg | 10 -
src/app/icons/monochrome/key.svg | 9 -
src/app/icons/monochrome/people.svg | 8 -
src/app/icons/monochrome/sticker.svg | 9 -
src/app/icons/monochrome/sync.svg | 10 -
src/app/layouts/Dialogs.tsx | 12 +-
src/app/layouts/PageLayout/DefaultHeader.tsx | 4 +-
src/app/pages/AccountSettings/index.tsx | 72 ++--
.../Tokens/components/TokenTag/ScamTag.tsx | 3 +-
src/app/pages/Settings/Settings.selectors.ts | 7 +-
src/app/pages/Settings/Settings.tsx | 325 ++++++++----------
.../pages/Settings/reset-extension-modal.tsx | 88 +++++
.../account-already-exists-warning.tsx | 10 +-
src/app/templates/AdvancedFeatures/index.tsx | 2 +-
.../partners-promotion-settings.tsx | 69 ++--
.../referral-links-settings.tsx | 10 +-
.../templates/AdvancedFeatures/selectors.ts | 3 +-
src/app/templates/AlertModal.tsx | 42 ++-
.../ConfirmationModal/ConfirmationModal.tsx | 79 +++--
.../templates/DAppSettings/DAppSettings.tsx | 2 +-
src/app/templates/DialogBody.tsx | 14 +
src/app/templates/EnablingSetting.tsx | 44 ---
.../HelpAndCommunity/ResourceLink.tsx | 32 --
src/app/templates/HelpAndCommunity/index.tsx | 99 ------
.../templates/HelpAndCommunity/selectors.ts | 5 -
src/app/templates/ModalWithTitle.tsx | 2 +-
.../RevealSecrets/PasswordForRevealField.tsx | 73 ----
.../RevealSecrets/RevealPrivateKeys.tsx | 120 -------
.../RevealSecrets/RevealSecrets.selectors.ts | 6 -
.../RevealSecrets/RevealSeedPhrase.tsx | 71 ----
.../templates/RevealSecrets/SecretField.tsx | 67 ----
src/app/templates/RevealSecrets/index.ts | 2 -
.../Components/AnalyticsSettings.tsx | 28 --
.../Components/FiatCurrencySelect.tsx | 123 -------
.../Components/LocaleSelect.tsx | 205 -----------
.../Components/LockUpSettings.tsx | 22 --
.../Components/PopupSettings.tsx | 38 --
.../fiat-currency-select/currency-icon.tsx | 11 +
.../components/fiat-currency-select/index.tsx | 71 ++++
.../components/locale-select/index.tsx | 56 +++
.../components/locale-select/locale-icon.tsx | 13 +
.../components/locale-select/options.ts | 63 ++++
.../components/notifications-settings.tsx | 30 ++
.../components/popup-settings.tsx | 31 ++
.../components/select-with-modal/index.tsx | 71 ++++
.../select-with-modal/select-modal-option.tsx | 48 +++
.../select-with-modal/select-modal.tsx | 74 ++++
src/app/templates/SettingsGeneral/index.tsx | 17 +-
.../templates/SettingsGeneral/selectors.ts | 3 +-
src/app/templates/enabling-setting.tsx | 31 ++
src/lib/fiat-currency/consts.ts | 27 +-
src/lib/fiat-currency/core.ts | 10 +-
src/lib/fiat-currency/index.ts | 4 +-
src/lib/fiat-currency/types.ts | 7 +-
src/lib/i18n/cldrjs-locales.json | 227 ------------
src/lib/i18n/core.ts | 5 +-
src/lib/i18n/index.ts | 2 +-
src/lib/i18n/react.tsx | 2 +-
src/lib/lock-up/index.ts | 2 +
src/lib/notifications/components/index.ts | 1 -
src/lib/notifications/components/settings.tsx | 26 --
src/lib/temple/back/actions.ts | 4 +
src/lib/temple/back/main.ts | 6 +
src/lib/temple/back/vault/index.ts | 6 +
src/lib/temple/back/vault/vault.test.ts | 18 +
src/lib/temple/front/client.ts | 14 +-
src/lib/temple/types.ts | 19 +-
src/lib/types.d.ts | 2 +
src/lib/ui/dialog.tsx | 2 +-
src/lib/ui/utils.ts | 9 -
src/temple/front/index.ts | 1 -
src/temple/front/ready/index.ts | 2 -
src/temple/networks.ts | 11 -
yarn.lock | 22 +-
130 files changed, 1349 insertions(+), 2270 deletions(-)
delete mode 100644 e2e/src/page-objects/pages/reveal-secrets.page.ts
create mode 100644 public/misc/country-flags/cn.png
delete mode 100644 public/misc/country-flags/cn.svg
create mode 100644 public/misc/country-flags/de.png
delete mode 100644 public/misc/country-flags/de.svg
create mode 100644 public/misc/country-flags/fr.png
delete mode 100644 public/misc/country-flags/fr.svg
create mode 100644 public/misc/country-flags/gb.png
delete mode 100644 public/misc/country-flags/gb.svg
create mode 100644 public/misc/country-flags/jp.png
delete mode 100644 public/misc/country-flags/jp.svg
create mode 100644 public/misc/country-flags/kr.png
delete mode 100644 public/misc/country-flags/kr.svg
create mode 100644 public/misc/country-flags/pt.png
delete mode 100644 public/misc/country-flags/pt.svg
delete mode 100644 public/misc/country-flags/ru.svg
create mode 100644 public/misc/country-flags/tr.png
delete mode 100644 public/misc/country-flags/tr.svg
create mode 100644 public/misc/country-flags/tw.png
delete mode 100644 public/misc/country-flags/tw.svg
create mode 100644 public/misc/country-flags/ua.png
delete mode 100644 public/misc/country-flags/ua.svg
create mode 100644 public/misc/country-flags/us.png
delete mode 100644 public/misc/country-flags/us.svg
rename src/app/{pages/AccountSettings/settings-cell.tsx => atoms/SettingsCell.tsx} (67%)
create mode 100644 src/app/atoms/SettingsCellGroup.tsx
delete mode 100644 src/app/icons/additional.svg
delete mode 100644 src/app/icons/apps.svg
create mode 100644 src/app/icons/base/additional.svg
create mode 100644 src/app/icons/base/addressbook.svg
create mode 100644 src/app/icons/base/exit.svg
create mode 100644 src/app/icons/base/info.svg
create mode 100644 src/app/icons/base/link.svg
create mode 100644 src/app/icons/base/refresh.svg
delete mode 100644 src/app/icons/canny.svg
delete mode 100644 src/app/icons/helpcrunch.svg
delete mode 100644 src/app/icons/monochrome/extension.svg
delete mode 100644 src/app/icons/monochrome/help.svg
delete mode 100644 src/app/icons/monochrome/key.svg
delete mode 100644 src/app/icons/monochrome/people.svg
delete mode 100644 src/app/icons/monochrome/sticker.svg
delete mode 100644 src/app/icons/monochrome/sync.svg
create mode 100644 src/app/pages/Settings/reset-extension-modal.tsx
create mode 100644 src/app/templates/DialogBody.tsx
delete mode 100644 src/app/templates/EnablingSetting.tsx
delete mode 100644 src/app/templates/HelpAndCommunity/ResourceLink.tsx
delete mode 100644 src/app/templates/HelpAndCommunity/index.tsx
delete mode 100644 src/app/templates/HelpAndCommunity/selectors.ts
delete mode 100644 src/app/templates/RevealSecrets/PasswordForRevealField.tsx
delete mode 100644 src/app/templates/RevealSecrets/RevealPrivateKeys.tsx
delete mode 100644 src/app/templates/RevealSecrets/RevealSecrets.selectors.ts
delete mode 100644 src/app/templates/RevealSecrets/RevealSeedPhrase.tsx
delete mode 100644 src/app/templates/RevealSecrets/SecretField.tsx
delete mode 100644 src/app/templates/RevealSecrets/index.ts
delete mode 100644 src/app/templates/SettingsGeneral/Components/AnalyticsSettings.tsx
delete mode 100644 src/app/templates/SettingsGeneral/Components/FiatCurrencySelect.tsx
delete mode 100644 src/app/templates/SettingsGeneral/Components/LocaleSelect.tsx
delete mode 100644 src/app/templates/SettingsGeneral/Components/LockUpSettings.tsx
delete mode 100644 src/app/templates/SettingsGeneral/Components/PopupSettings.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/fiat-currency-select/currency-icon.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/fiat-currency-select/index.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/locale-select/index.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/locale-select/locale-icon.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/locale-select/options.ts
create mode 100644 src/app/templates/SettingsGeneral/components/notifications-settings.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/popup-settings.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/select-with-modal/index.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/select-with-modal/select-modal-option.tsx
create mode 100644 src/app/templates/SettingsGeneral/components/select-with-modal/select-modal.tsx
create mode 100644 src/app/templates/enabling-setting.tsx
delete mode 100644 src/lib/notifications/components/settings.tsx
diff --git a/e2e/src/page-objects/index.ts b/e2e/src/page-objects/index.ts
index 874df24101..17c6913b1d 100644
--- a/e2e/src/page-objects/index.ts
+++ b/e2e/src/page-objects/index.ts
@@ -18,7 +18,6 @@ import { InternalConfirmationPage } from './pages/internal-confirmation.page';
import { ManualBackupModalPage } from './pages/modal/manual-backup-modal.page';
import { NewsletterModalPage } from './pages/modal/newsletter-modal.page';
import { OnRumModalPage } from './pages/modal/on-rum-modal.page';
-import { RevealSecretsPage } from './pages/reveal-secrets.page';
import { SendPage } from './pages/send.page';
import { SettingsPage } from './pages/settings.page';
import { setWalletPage } from './pages/setWalletPassword.page';
@@ -30,7 +29,6 @@ export const Pages = {
ImportExistingWallet: new ImportExistingWalletPage(),
SetWallet: new setWalletPage(),
Settings: new SettingsPage(),
- RevealSecrets: new RevealSecretsPage(),
UnlockScreen: new UnlockScreenPage(),
DelegateTab: new DelegateTab(),
DelegateForm: new DelegateFormPage(),
diff --git a/e2e/src/page-objects/pages/reveal-secrets.page.ts b/e2e/src/page-objects/pages/reveal-secrets.page.ts
deleted file mode 100644
index addfabbe1f..0000000000
--- a/e2e/src/page-objects/pages/reveal-secrets.page.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { RevealSecretsSelectors } from 'src/app/templates/RevealSecrets/RevealSecrets.selectors';
-
-import { Page } from '../../classes/page.class';
-import { createPageElement } from '../../utils/search.utils';
-
-export class RevealSecretsPage extends Page {
- revealButton = createPageElement(RevealSecretsSelectors.RevealButton);
- revealPasswordField = createPageElement(RevealSecretsSelectors.RevealPasswordInput);
- revealSecretsProtectedMask = createPageElement(RevealSecretsSelectors.RevealSecretsProtectedMask);
- revealSecretsValue = createPageElement(RevealSecretsSelectors.RevealSecretsValue);
-
- async isVisible() {
- await this.revealButton.waitForDisplayed();
- await this.revealPasswordField.waitForDisplayed();
- }
-}
diff --git a/public/_locales/de/messages.json b/public/_locales/de/messages.json
index aa432b03de..967b3ed120 100644
--- a/public/_locales/de/messages.json
+++ b/public/_locales/de/messages.json
@@ -34,10 +34,6 @@
}
}
},
- "authorizedDApps": {
- "message": "Autorisierte DApps",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "Klicken Sie auf das X-Symbol, um die Berechtigungen zurückzusetzen."
},
@@ -647,38 +643,19 @@
"revealPrivateKey": {
"message": "Privaten Schlüssel freigeben"
},
- "revealPrivateKeyDescription": {
- "message": "Auch bekannt als „Exportkonto“, zeigt den privaten Schlüssel für Ihr ausgewähltes Konto an."
- },
"revealSeedPhrase": {
"message": "Seed-Phrase freigeben"
},
- "revealSeedPhraseDescription": {
- "message": "Auch als \"Export-Wallet\" bekannt, Sie benötigen diese Seed-Phrase möglicherweise, um auf Ihre Wallet und Konten auf anderen Geräten zuzugreifen."
- },
"dApps": {
"message": "DApps",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "In diesem Abschnitt können Sie die Möglichkeit zur Interaktion mit dezentralen Anwendungen aktivieren, die Temple Wallet unterstützen."
- },
- "networksDescription": {
- "message": "In diesem Abschnitt können Sie benutzerdefinierte Tezos-Netzwerke hinzufügen oder löschen.",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "Konto entfernen"
},
"removeAccountDescription": {
"message": "Verwenden Sie diesen Abschnitt, um Ihr ausgewähltes Konto zu entfernen. Nur importierte Konten können entfernt werden."
},
- "about": {
- "message": "Über"
- },
- "aboutDescription": {
- "message": "Verwenden Sie diesen Abschnitt, um Metainformationen zu Temple Wallet anzuzeigen."
- },
"unlockWallet": {
"message": "Die Wallet entsperren"
},
@@ -1268,15 +1245,12 @@
"upload": {
"message": "Hochladen"
},
- "languageAndCountry": {
+ "language": {
"message": "Sprache"
},
"generalSettings": {
"message": "Allgemein"
},
- "generalSettingsDescription": {
- "message": "Hier können Sie die Spracheinstellungen und den Anzeigemodus verwalten."
- },
"swapNoun": {
"message": "Wechseln"
},
@@ -1895,9 +1869,6 @@
"addressBook": {
"message": "Adressbuch"
},
- "addressBookDescription": {
- "message": "Fügen Sie Ihre Kontakte hinzu, entfernen und verwalten Sie sie."
- },
"addNewContact": {
"message": "Neuer Kontakt"
},
diff --git a/public/_locales/en/messages.json b/public/_locales/en/messages.json
index e21c90f0b0..924d228613 100644
--- a/public/_locales/en/messages.json
+++ b/public/_locales/en/messages.json
@@ -51,15 +51,9 @@
}
}
},
- "authorizedDApps": {
- "message": "Authorized DApps",
- "description": "DApps = Decentralized Applications"
- },
- "advancedFeatures": {
- "message": "Advanced Features"
- },
- "advancedFeaturesDescription": {
- "message": "In this section you can customize additional Temple extension features"
+ "connectedDApps": {
+ "message": "Connected Dapps",
+ "description": "Dapps = Decentralized Applications"
},
"clickIconToResetPermissions": {
"message": "Click on the X icon to reset permissions."
@@ -699,6 +693,18 @@
"resetExtension": {
"message": "Reset Extension"
},
+ "resetExtensionModalTitle": {
+ "message": "Reset Extension?"
+ },
+ "resetExtensionModalDescription": {
+ "message": "Resetting will delete wallets, accounts and erase all data. Ensure your Seed Phrases and Private Keys are backed up to avoid permanent loss and recover access to assets later."
+ },
+ "resetPasswordInputLabel": {
+ "message": "Enter the password to confirm reset"
+ },
+ "reset": {
+ "message": "Reset"
+ },
"resetExtensionConfirmation": {
"message": "Are you sure you want to reset the Temple Wallet?\nAs a result, all your data will be deleted."
},
@@ -944,29 +950,16 @@
"revealPrivateKey": {
"message": "Reveal Private Key"
},
- "revealPrivateKeyDescription": {
- "message": "Also known as \"Export Account\", reveals private key for your selected account."
- },
"revealPrivateKeyPasswordLabel": {
"message": "Enter your password to reveal private key"
},
"revealSeedPhrase": {
"message": "Reveal Seed Phrase"
},
- "revealSeedPhraseDescription": {
- "message": "Also known as \"Export Wallet\", you may need this seed phrase to access your wallet and accounts on other devices."
- },
"dApps": {
"message": "DApps",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "In this section you can enable ability to interact with decentralized applications that support Temple Wallet."
- },
- "networksDescription": {
- "message": "In this section you can add or delete custom Tezos networks.",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "Remove Account"
},
@@ -976,8 +969,8 @@
"accountsManagement": {
"message": "Accounts management"
},
- "accountsManagementDescription": {
- "message": "Use this section to create, edit, and delete accounts."
+ "securityAndPrivacy": {
+ "message": "Security & Privacy"
},
"editAccount": {
"message": "Edit Account"
@@ -1022,15 +1015,15 @@
"selectNetworkToReveal": {
"message": "Select Network to reveal"
},
- "about": {
- "message": "About"
+ "advancedFeatures": {
+ "message": "Advanced Features"
+ },
+ "aboutAndSupport": {
+ "message": "About & Support"
},
"info": {
"message": "Info"
},
- "aboutDescription": {
- "message": "Use this section to view meta info about Temple Wallet."
- },
"unlockWallet": {
"message": "Unlock the Wallet"
},
@@ -1802,7 +1795,7 @@
"upload": {
"message": "Upload"
},
- "languageAndCountry": {
+ "language": {
"message": "Language"
},
"fiatCurrency": {
@@ -1811,9 +1804,6 @@
"generalSettings": {
"message": "General"
},
- "generalSettingsDescription": {
- "message": "Here you can manage languages preferences and display mode."
- },
"swapNoun": {
"message": "Swap"
},
@@ -1989,10 +1979,10 @@
}
},
"popupSettings": {
- "message": "Popup mode"
+ "message": "Pop-up Mode"
},
"popupSettingsDescription": {
- "message": "Here you can configure the popup which appears on plugin's icon click in extensions panel."
+ "message": "Here you can configure the pop-up which appears on plugin's icon click in extensions panel."
},
"analyticsSettings": {
"message": "Anonymous Analytics"
@@ -2156,8 +2146,14 @@
"actionConfirmation": {
"message": "Confirm the action"
},
- "closePartnersPromotion": {
- "message": "Are you sure you want to disable all ads?"
+ "adsEnabledAlertTitle": {
+ "message": "Earn TKEY & Support Temple"
+ },
+ "adsEnabledAlertDescription": {
+ "message": "Congrats, you've started earning TKEY tokens!\nBy enabling this feature, you agreed to share your Wallet address and IP to receive tokens and view ads. You can turn ads off or on anytime in the settings."
+ },
+ "disableAdsModalTitle": {
+ "message": "Disable advertising?"
},
"hideAd": {
"message": "Hide Ad"
@@ -2584,9 +2580,6 @@
"addressBook": {
"message": "Address Book"
},
- "addressBookDescription": {
- "message": "Add, remove and manage your contacts."
- },
"addNewContact": {
"message": "New contact"
},
@@ -2608,8 +2601,8 @@
"deleteContactConfirm": {
"message": "Are you sure you want to delete this contact?"
},
- "closePartnersPromoConfirm": {
- "message": "Pay attention: you can receive rewards in TKEY tokens for viewing ads in our wallet. If you disabled Ads, you can always activate it in the settings."
+ "disableAdsModalDescription": {
+ "message": "Did you know, you can earn TKEY tokens by viewing ads? If ads are turned off, you can easily enable them anytime in the settings and start earning rewards!"
},
"enablePartnersPromotionConfirm": {
"message": "Support the development team and earn TKEY tokens by viewing ads."
@@ -2816,12 +2809,7 @@
"description": "Part of partnersPromoDescription phrase"
},
"partnersPromoDescription": {
- "message": "Here you can configure displaying of ads in Temple wallet. Remember, you get $rewards$ at TKEY tokens for viewing ads.",
- "placeholders": {
- "rewards": {
- "content": "$1"
- }
- }
+ "message": "Here you can configure displaying ads in Temple Wallet and getting reward in TKEY tokens. By enabling this, you agree to share your wallet address and IP to receive tokens and view ads."
},
"referralLinks": {
"message": "Referral Links"
@@ -3202,11 +3190,8 @@
"sync": {
"message": "Sync"
},
- "synchronization": {
- "message": "Synchronization"
- },
- "synchronizationSettingsDescription": {
- "message": "Sync with Mobile Temple Wallet."
+ "templeSync": {
+ "message": "Temple Sync"
},
"syncSettingsTitle": {
"message": "Sync with Mobile Temple Wallet"
@@ -3476,5 +3461,107 @@
},
"allNetworks": {
"message": "All Networks"
+ },
+ "enLangName": {
+ "message": "English"
+ },
+ "en_GBLangName": {
+ "message": "English ‒ United Kingdom"
+ },
+ "frLangName": {
+ "message": "French"
+ },
+ "deLangName": {
+ "message": "German"
+ },
+ "zh_CNLangName": {
+ "message": "Chinese ‒ Simplified"
+ },
+ "zh_TWLangName": {
+ "message": "Chinese ‒ Traditional"
+ },
+ "jaLangName": {
+ "message": "Japanese"
+ },
+ "koLangName": {
+ "message": "Korean"
+ },
+ "ukLangName": {
+ "message": "Ukrainian"
+ },
+ "trLangName": {
+ "message": "Turkish"
+ },
+ "ptLangName": {
+ "message": "Portuguese"
+ },
+ "usdName": {
+ "message": "United States Dollar"
+ },
+ "eurName": {
+ "message": "Euro"
+ },
+ "gbpName": {
+ "message": "British Pound"
+ },
+ "jpyName": {
+ "message": "Japanese Yen"
+ },
+ "audName": {
+ "message": "Australian Dollar"
+ },
+ "cadName": {
+ "message": "Canadian Dollar"
+ },
+ "chfName": {
+ "message": "Swiss Franc"
+ },
+ "cnyName": {
+ "message": "Chinese Yuan"
+ },
+ "dkkName": {
+ "message": "Danish Krone"
+ },
+ "hkdName": {
+ "message": "Hong Kong Dollar"
+ },
+ "idrName": {
+ "message": "Indonesian Rupiah"
+ },
+ "inrName": {
+ "message": "Indian Rupee"
+ },
+ "krwName": {
+ "message": "South Korean Won"
+ },
+ "mxnName": {
+ "message": "Mexican Peso"
+ },
+ "nzdName": {
+ "message": "New Zealand Dollar"
+ },
+ "plnName": {
+ "message": "Polish Zloty"
+ },
+ "sekName": {
+ "message": "Swedish Krona"
+ },
+ "sgdName": {
+ "message": "Singapore Dollar"
+ },
+ "thbName": {
+ "message": "Thai Baht"
+ },
+ "tryName": {
+ "message": "Turkish Lira"
+ },
+ "twdName": {
+ "message": "Taiwan Dollar"
+ },
+ "uahName": {
+ "message": "Ukrainian Hryvnia"
+ },
+ "zarName": {
+ "message": "South African Rand"
}
}
diff --git a/public/_locales/en_GB/messages.json b/public/_locales/en_GB/messages.json
index 2cdca72869..2f3485445c 100644
--- a/public/_locales/en_GB/messages.json
+++ b/public/_locales/en_GB/messages.json
@@ -34,10 +34,6 @@
}
}
},
- "authorizedDApps": {
- "message": "Authorized DApps",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "Click on the X icon to reset permissions."
},
@@ -638,38 +634,19 @@
"revealPrivateKey": {
"message": "Reveal Private Key"
},
- "revealPrivateKeyDescription": {
- "message": "Also known as \"Export Account\", reveals private key for your selected account."
- },
"revealSeedPhrase": {
"message": "Reveal Seed Phrase"
},
- "revealSeedPhraseDescription": {
- "message": "Also known as \"Export Wallet\", you may need this seed phrase to access your wallet and accounts on other devices."
- },
"dApps": {
"message": "DApps",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "In this section you can enable ability to interact with decentralized applications that support Temple Wallet."
- },
- "networksDescription": {
- "message": "In this section you can add or delete custom Tezos networks.",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "Remove Account"
},
"removeAccountDescription": {
"message": "Use this section to remove your selected account. Only imported accounts can be removed."
},
- "about": {
- "message": "About"
- },
- "aboutDescription": {
- "message": "Use this section to view meta info about Temple Wallet."
- },
"unlockWallet": {
"message": "Unlock the Wallet"
},
@@ -1238,15 +1215,12 @@
"upload": {
"message": "Upload"
},
- "languageAndCountry": {
+ "language": {
"message": "Language"
},
"generalSettings": {
"message": "General"
},
- "generalSettingsDescription": {
- "message": "Here you can manage languages preferences and display mode."
- },
"swapNoun": {
"message": "Swap"
},
@@ -1381,10 +1355,10 @@
}
},
"popupSettings": {
- "message": "Popup mode"
+ "message": "Pop-up Mode"
},
"popupSettingsDescription": {
- "message": "Here you can configure the popup which appears on plugin's icon click in extensions panel."
+ "message": "Here you can configure the pop-up which appears on plugin's icon click in extensions panel."
},
"referredByTokenContractNotFound": {
"message": "Contract $address$, which is referred by token contract to, was not found.",
diff --git a/public/_locales/fr/messages.json b/public/_locales/fr/messages.json
index 8ab824f0dc..af5ab7754b 100644
--- a/public/_locales/fr/messages.json
+++ b/public/_locales/fr/messages.json
@@ -31,10 +31,6 @@
}
}
},
- "authorizedDApps": {
- "message": "Applications décentralisées autorisées",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "Cliquez sur l'icône X pour réinitialiser les permissions."
},
@@ -607,38 +603,19 @@
"revealPrivateKey": {
"message": "Révéler la clé privée"
},
- "revealPrivateKeyDescription": {
- "message": "Connu aussi comme « Exporter le compte », révèle la clé privée pour votre compte sélectionné."
- },
"revealSeedPhrase": {
"message": "Révéler la phrase mnémonique"
},
- "revealSeedPhraseDescription": {
- "message": "Connu aussi comme « Exporter le compte », vous pourriez avoir besoin de cette phrase mnémonique pour accéder à votre portefeuille et vos comptes sur d'autres appareils."
- },
"dApps": {
"message": "Applications décentralisées",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "Dans cette section, vous pouvez activer la possibilité d'interagir avec les applications décentralisées qui prennent en charge le portefeuille Temple."
- },
- "networksDescription": {
- "message": "Dans cette section, vous pouvez ajouter ou supprimer des réseaux Tezos personnalisés.",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "Retirer le compte"
},
"removeAccountDescription": {
"message": "Utilisez cette section pour retirer votre compte sélectionné. Seuls les comptes importés peuvent être retirés."
},
- "about": {
- "message": "À propos"
- },
- "aboutDescription": {
- "message": "Utilisez cette section pour afficher les méta-informations concernant le portefeuille Temple."
- },
"unlockWallet": {
"message": "Déverrouiller le portefeuille"
},
@@ -1201,15 +1178,12 @@
"upload": {
"message": "Téléverser"
},
- "languageAndCountry": {
+ "language": {
"message": "Langue"
},
"generalSettings": {
"message": "Général"
},
- "generalSettingsDescription": {
- "message": "Vous pouvez gérer ici les préférences de langue et le mode d'affichage."
- },
"swapNoun": {
"message": "Échanger"
},
diff --git a/public/_locales/ja/messages.json b/public/_locales/ja/messages.json
index 284d8bc03b..f8a2a1621a 100644
--- a/public/_locales/ja/messages.json
+++ b/public/_locales/ja/messages.json
@@ -31,10 +31,6 @@
}
}
},
- "authorizedDApps": {
- "message": "認証済みDApps",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "Xアイコンをクリックして権限をリセットします。"
},
@@ -607,38 +603,19 @@
"revealPrivateKey": {
"message": "秘密鍵を表示"
},
- "revealPrivateKeyDescription": {
- "message": "「アカウントのエクスポート」としても知られ、選択したアカウントの秘密鍵を表示します。"
- },
"revealSeedPhrase": {
"message": "シードフレーズを表示"
},
- "revealSeedPhraseDescription": {
- "message": "「ウォレットのエクスポート」としても知られ、他のデバイスでウォレットやアカウントにアクセスするには、このシードフレーズが必要な場合があります。"
- },
"dApps": {
"message": "DApps",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "このセクションでは、テンプルウォレットをサポートする分散型アプリケーションとのインタラクションを有効にすることができます。"
- },
- "networksDescription": {
- "message": "このセクションでは、カスタムテゾスネットワークの追加や削除を行うことができます。",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "アカウントを削除"
},
"removeAccountDescription": {
"message": "このセクションを使用して、選択したアカウントを削除します。インポートしたアカウントのみ削除することができます。"
},
- "about": {
- "message": "概要"
- },
- "aboutDescription": {
- "message": "テンプルウォレットのメタ情報を表示するには、このセクションを使用します。"
- },
"unlockWallet": {
"message": "ウォレットをアンロック"
},
@@ -1192,15 +1169,12 @@
"upload": {
"message": "アップロード"
},
- "languageAndCountry": {
+ "language": {
"message": "言語"
},
"generalSettings": {
"message": "一般"
},
- "generalSettingsDescription": {
- "message": "ここでは、言語設定や表示モードを管理することができます。"
- },
"swapNoun": {
"message": "スワップ"
},
diff --git a/public/_locales/ko/messages.json b/public/_locales/ko/messages.json
index 73841bd053..5dbc69139a 100644
--- a/public/_locales/ko/messages.json
+++ b/public/_locales/ko/messages.json
@@ -31,10 +31,6 @@
}
}
},
- "authorizedDApps": {
- "message": "인증된 분산 앱",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "X 아이콘을 클릭하여 접근 권한을 초기화하세요."
},
@@ -607,38 +603,19 @@
"revealPrivateKey": {
"message": "비공개 키 공개"
},
- "revealPrivateKeyDescription": {
- "message": "\"계정 내보내기\"라고도 하는데, 선택한 계정의 비공개 키가 공개됩니다"
- },
"revealSeedPhrase": {
"message": "비밀 문구 공개"
},
- "revealSeedPhraseDescription": {
- "message": "\"지갑 내보내기\"라고도 하는데, 다른 기기에서 지갑 및 계정에 액세스 하려면 이 비밀 문구가 있어야 합니다."
- },
"dApps": {
"message": "분산 앱",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "이 섹션에서 타노스 지갑을 지원하는 분산 애플리케이션과 상호 소통하는 기능을 활성화할 수 있습니다."
- },
- "networksDescription": {
- "message": "이 섹션에서 맞춤형 테조스 네트워크를 추가하거나 삭제할 수 있습니다.",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "계정 제거"
},
"removeAccountDescription": {
"message": "이 섹션을 활용하여 선택한 계정을 제거하세요. 불러온 계정만 제거할 수 있습니다."
},
- "about": {
- "message": "정보"
- },
- "aboutDescription": {
- "message": "이 섹션을 활용하여 타노스 지갑에 관한 메타 징보를 확인하세요."
- },
"unlockWallet": {
"message": "지갑 잠금 해제"
},
@@ -1192,15 +1169,12 @@
"upload": {
"message": "업로드"
},
- "languageAndCountry": {
+ "language": {
"message": "언어"
},
"generalSettings": {
"message": "일반"
},
- "generalSettingsDescription": {
- "message": "여기에서 선호하는 언어와 디스플레이 모드를 관리할 수 있습니다."
- },
"swapNoun": {
"message": "스왑"
},
diff --git a/public/_locales/pt/messages.json b/public/_locales/pt/messages.json
index bec84ecd1f..d2ab4f47bd 100644
--- a/public/_locales/pt/messages.json
+++ b/public/_locales/pt/messages.json
@@ -34,10 +34,6 @@
}
}
},
- "authorizedDApps": {
- "message": "DApps autorizados",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "Clique no ícone X para repor as permissões."
},
@@ -643,38 +639,19 @@
"revealPrivateKey": {
"message": "Revelar chave privada"
},
- "revealPrivateKeyDescription": {
- "message": "Também conhecida como \"Exportar conta\", revela a chave privada da sua conta selecionada."
- },
"revealSeedPhrase": {
"message": "Revelar frase semente"
},
- "revealSeedPhraseDescription": {
- "message": "Também conhecida como \"Exportar carteira\", pode precisar desta frase semente para aceder à sua carteira e às suas contas noutros dispositivos."
- },
"dApps": {
"message": "DApps",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "Nesta secção pode ativar a capacidade de interagir com aplicações descentralizadas que suportam a Carteira Temple."
- },
- "networksDescription": {
- "message": "Nesta secção pode adicionar ou apagar redes Tezos personalizadas.",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "Remover conta"
},
"removeAccountDescription": {
"message": "Utilize esta secção para remover a sua conta selecionada. Apenas as contas importadas podem ser removidas."
},
- "about": {
- "message": "Sobre"
- },
- "aboutDescription": {
- "message": "Utilize esta secção para ver meta informações sobre a Carteira Temple."
- },
"unlockWallet": {
"message": "Desbloquear a Carteira"
},
@@ -1264,15 +1241,12 @@
"upload": {
"message": "Carregar"
},
- "languageAndCountry": {
+ "language": {
"message": "Idioma"
},
"generalSettings": {
"message": "Geral"
},
- "generalSettingsDescription": {
- "message": "Aqui pode gerir as preferências de idioma e o modo de visualização."
- },
"swapNoun": {
"message": "Trocar"
},
@@ -1891,9 +1865,6 @@
"addressBook": {
"message": "Livro de endereços"
},
- "addressBookDescription": {
- "message": "Adicione, remova e gira os seus contactos."
- },
"addNewContact": {
"message": "Novo contacto"
},
diff --git a/public/_locales/ru/messages.json b/public/_locales/ru/messages.json
index 95269de662..febb850092 100644
--- a/public/_locales/ru/messages.json
+++ b/public/_locales/ru/messages.json
@@ -17,9 +17,6 @@
"maximiseView": {
"message": "Maximise view"
},
- "authorizedDApps": {
- "message": "Authorized DApps"
- },
"clickIconToResetPermissions": {
"message": "Click on the X icon to reset permissions."
},
diff --git a/public/_locales/tr/messages.json b/public/_locales/tr/messages.json
index 2eab433640..6a68750c92 100644
--- a/public/_locales/tr/messages.json
+++ b/public/_locales/tr/messages.json
@@ -34,10 +34,6 @@
}
}
},
- "authorizedDApps": {
- "message": "İzin Verilen DApps",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "İzinleri sıfırlamak için X simgesine tıklayın."
},
@@ -643,38 +639,19 @@
"revealPrivateKey": {
"message": "Özel Anahtarı Göster"
},
- "revealPrivateKeyDescription": {
- "message": "\"Hesabı Dışa Aktar\" olarak da bilinen bu özellik, seçtiğiniz hesap için özel anahtarı gösterir."
- },
"revealSeedPhrase": {
"message": "Kurtarma Sözcüğünü Göster"
},
- "revealSeedPhraseDescription": {
- "message": "\"Cüzdanı Dışa Aktar\" olarak da bilinir; başka cihazlarda hesaplarınıza ve cüzdanınıza erişmek için bu kurtarma sözcüğüne ihtiyacınız olabilir."
- },
"dApps": {
"message": "DApps",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "Bu bölümde, Temple Wallet'i destekleyen merkezi olmayan uygulamalarla etkileşim kurabilmeyi etkinleştirebilirsiniz."
- },
- "networksDescription": {
- "message": "Bu bölümde, özel Tezos ağları ekleyebilir ya da silebilirsiniz.",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "Hesabı Kaldır"
},
"removeAccountDescription": {
"message": "Seçtiğiniz hesabı kaldırmak için bu bölümü kullanın. Yalnızca içe aktarılmış olan hesaplar kaldırılabilir."
},
- "about": {
- "message": "Hakkında"
- },
- "aboutDescription": {
- "message": "Temple Wallet hakkında meta verileri görüntülemek için bu bölümü kullanın."
- },
"unlockWallet": {
"message": "Cüzdan Kilidini Aç"
},
@@ -1264,15 +1241,12 @@
"upload": {
"message": "Yükle"
},
- "languageAndCountry": {
+ "language": {
"message": "Dil"
},
"generalSettings": {
"message": "Genel"
},
- "generalSettingsDescription": {
- "message": "Dil tercihlerini ve ekran modunu buradan yönetebilirsiniz."
- },
"swapNoun": {
"message": "Takas"
},
@@ -1891,9 +1865,6 @@
"addressBook": {
"message": "Adres Defteri"
},
- "addressBookDescription": {
- "message": "Kişilerinizi ekleyin, çıkarın ve yönetin."
- },
"addNewContact": {
"message": "Yeni kişi"
},
diff --git a/public/_locales/uk/messages.json b/public/_locales/uk/messages.json
index 0a41bd6e03..f7ef48c6d4 100644
--- a/public/_locales/uk/messages.json
+++ b/public/_locales/uk/messages.json
@@ -31,9 +31,9 @@
}
}
},
- "authorizedDApps": {
- "message": "Авторизовані Dapp`ки",
- "description": "DApps = децентралізовані додатки"
+ "connectedDApps": {
+ "message": "Підключені Dapp`ки",
+ "description": "Dapps = децентралізовані додатки"
},
"clickIconToResetPermissions": {
"message": "Натисни X іконку щоб скинути дозволи."
@@ -630,38 +630,19 @@
"revealPrivateKey": {
"message": "Розкрити приватний ключ"
},
- "revealPrivateKeyDescription": {
- "message": "Також відоме як \"Export Account\", відкриває приватний ключ для вибраного облікового запису."
- },
"revealSeedPhrase": {
"message": "Розкрийте Сід Фразу"
},
- "revealSeedPhraseDescription": {
- "message": "Також відоме як \"Export Wallet\", ця сід фраза може знадобитися для доступу до вашого гаманця та облікових записів на інших пристроях."
- },
"dApps": {
"message": "DApps",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "У цьому розділі ви можете включити можливість взаємодії з децентралізованими додатками, які підтримують Temple Wallet."
- },
- "networksDescription": {
- "message": "У цій секції ти можеш додати або видалити кастомні Tezos мережі",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "Видалити Аккаунт"
},
"removeAccountDescription": {
"message": "Використовуйте цей розділ, щоб видалити вибраний обліковий запис. Видалити можна лише імпортовані облікові записи."
},
- "about": {
- "message": "Додатково"
- },
- "aboutDescription": {
- "message": "Використовуйте цей розділ, щоб переглянути метаінформацію про Temple Wallet."
- },
"unlockWallet": {
"message": "Розблокувати гаманець"
},
@@ -1245,15 +1226,12 @@
"upload": {
"message": "Завантажити"
},
- "languageAndCountry": {
+ "language": {
"message": "Мова"
},
"generalSettings": {
"message": "Загальне"
},
- "generalSettingsDescription": {
- "message": "Тут ви можете керувати налаштуваннями мови та режимом відображення."
- },
"swapNoun": {
"message": "Своп"
},
@@ -1883,5 +1861,107 @@
"content": "$1"
}
}
+ },
+ "enLangName": {
+ "message": "Англійська"
+ },
+ "en_GBLangName": {
+ "message": "Англійська ‒ Велика Британія"
+ },
+ "frLangName": {
+ "message": "Французька"
+ },
+ "deLangName": {
+ "message": "Німецька"
+ },
+ "zh_CNLangName": {
+ "message": "Китайська ‒ Спрощена"
+ },
+ "zh_TWLangName": {
+ "message": "Китайська ‒ Традиційна"
+ },
+ "jaLangName": {
+ "message": "Японська"
+ },
+ "koLangName": {
+ "message": "Корейська"
+ },
+ "ukLangName": {
+ "message": "Українська"
+ },
+ "trLangName": {
+ "message": "Турецька"
+ },
+ "ptLangName": {
+ "message": "Португальська"
+ },
+ "usdName": {
+ "message": "Долар США"
+ },
+ "eurName": {
+ "message": "Євро"
+ },
+ "gbpName": {
+ "message": "Фунт стерлінгів"
+ },
+ "jpyName": {
+ "message": "Японська єна"
+ },
+ "audName": {
+ "message": "Австралійський долар"
+ },
+ "cadName": {
+ "message": "Канадський долар"
+ },
+ "chfName": {
+ "message": "Швейцарський франк"
+ },
+ "cnyName": {
+ "message": "Китайський юань"
+ },
+ "dkkName": {
+ "message": "Датська крона"
+ },
+ "hkdName": {
+ "message": "Гонконгський долар"
+ },
+ "idrName": {
+ "message": "Індонезійська рупія"
+ },
+ "inrName": {
+ "message": "Індійська рупія"
+ },
+ "krwName": {
+ "message": "Південнокорейська вона"
+ },
+ "mxnName": {
+ "message": "Мексиканське песо"
+ },
+ "nzdName": {
+ "message": "Новозеландський долар"
+ },
+ "plnName": {
+ "message": "Польський злотий"
+ },
+ "sekName": {
+ "message": "Шведська крона"
+ },
+ "sgdName": {
+ "message": "Сінгапурський долар"
+ },
+ "thbName": {
+ "message": "Тайський бат"
+ },
+ "tryName": {
+ "message": "Турецька ліра"
+ },
+ "twdName": {
+ "message": "Тайванський долар"
+ },
+ "uahName": {
+ "message": "Українська гривня"
+ },
+ "zarName": {
+ "message": "Південноафриканський ранд"
}
}
diff --git a/public/_locales/zh_CN/messages.json b/public/_locales/zh_CN/messages.json
index eefc8118f2..62c61fc118 100644
--- a/public/_locales/zh_CN/messages.json
+++ b/public/_locales/zh_CN/messages.json
@@ -31,10 +31,6 @@
}
}
},
- "authorizedDApps": {
- "message": "授权DApps",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "点击X图标来重置权限。"
},
@@ -607,26 +603,13 @@
"revealPrivateKey": {
"message": "显示私钥"
},
- "revealPrivateKeyDescription": {
- "message": "也称为“导出账户”,显示所选账户的私钥。"
- },
"revealSeedPhrase": {
"message": "显示助记词"
},
- "revealSeedPhraseDescription": {
- "message": "也称为“导出钱包”,您可能需要此助记词来在其他设备上访问您的钱包和账户。"
- },
"dApps": {
"message": "DApp",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "在此处,您可以获得与支持Temple钱包的去中心化应用互动的能力。"
- },
- "networksDescription": {
- "message": "在此处,您可以添加或删除自定义Tezos网络。",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "移除账户"
},
@@ -636,9 +619,6 @@
"about": {
"message": "关于"
},
- "aboutDescription": {
- "message": "使用此板块来查看关于Temple钱包的元信息。"
- },
"unlockWallet": {
"message": "解锁钱包"
},
@@ -1192,15 +1172,12 @@
"upload": {
"message": "上传"
},
- "languageAndCountry": {
+ "language": {
"message": "语言"
},
"generalSettings": {
"message": "通用"
},
- "generalSettingsDescription": {
- "message": "在此处您可以管理语言偏好和显示模式。"
- },
"swapNoun": {
"message": "交换"
},
diff --git a/public/_locales/zh_TW/messages.json b/public/_locales/zh_TW/messages.json
index 972cdcee80..d4ac754831 100644
--- a/public/_locales/zh_TW/messages.json
+++ b/public/_locales/zh_TW/messages.json
@@ -31,10 +31,6 @@
}
}
},
- "authorizedDApps": {
- "message": "授權的分散式應用程式",
- "description": "DApps = Decentralized Applications"
- },
"clickIconToResetPermissions": {
"message": "點擊 X 圖示重新設定權限。"
},
@@ -607,38 +603,19 @@
"revealPrivateKey": {
"message": "顯示私密金鑰"
},
- "revealPrivateKeyDescription": {
- "message": "也稱為「匯出帳戶」,這會顯示所選取帳戶的私密金鑰。"
- },
"revealSeedPhrase": {
"message": "顯示助記詞"
},
- "revealSeedPhraseDescription": {
- "message": "也稱為「匯出錢包」,您可能需要此助記詞,才能透過其他裝置存取您的錢包和帳戶。"
- },
"dApps": {
"message": "分散式應用程式",
"description": "DApps = Decentralized Applications"
},
- "dAppsDescription": {
- "message": "在此區段,您可以啟用與支援 Temple 錢包的分散式應用程式互動的能力。"
- },
- "networksDescription": {
- "message": "在此區段,您可以新增或刪除自訂的 Tezos 網路。",
- "description": "Tezos = blockchain name (https://tezos.com/)"
- },
"removeAccount": {
"message": "移除帳戶"
},
"removeAccountDescription": {
"message": "使用此區段移除您選取的帳戶。只能移除匯入的帳戶。"
},
- "about": {
- "message": "關於"
- },
- "aboutDescription": {
- "message": "使用此區段檢視 Temple 錢包的元資料。"
- },
"unlockWallet": {
"message": "解鎖錢包"
},
@@ -1192,15 +1169,12 @@
"upload": {
"message": "上傳"
},
- "languageAndCountry": {
+ "language": {
"message": "語言"
},
"generalSettings": {
"message": "一般"
},
- "generalSettingsDescription": {
- "message": "您可以在此管理語言偏好和顯示模式。"
- },
"swapNoun": {
"message": "交換"
},
diff --git a/public/misc/country-flags/cn.png b/public/misc/country-flags/cn.png
new file mode 100644
index 0000000000000000000000000000000000000000..0093d23d4ec65d5a5186e9dcf611af436177b7dc
GIT binary patch
literal 778
zcmV+l1NHogP)tSp9URRX8UEJ**CizW#sU7|0NE%e)*~Y1CmH537xR1$@pKOQstD{%7vUoo>{Ao>
zlnwf?2K>GS{>%aX$pG&&B<(vN^kN(JZW-}q74?AP|`>_Q4!2|O`
zCG}b$>MkGbIUeUJ9P2?D=QX;wE~bh7v6{%?fOhEif7wMaZ(U!?b6(E94q##~Fw>uCA^LRQf)
zFSW@WZcg395v07|$n#R%^-=0w43o(7kmGD|%@_V0cDltzx3eX198_|4m~OGyVsEQa
z1f3lL3rpKf-L?<-&@$O1DwR++Yt&5Bv;jN^hGA3t@xc&evk>a-$=1rHEu|$dz=jO
zc?dDaca&a^C>>ztG@>Rw#R(7=3K*X?CuNMI<~6~vMx!zw1cVTb;Q+V_1qcZl!~p@(
z#3w#kc5-G&<~
zA`3!GoqB?QczZsq1XrravSuNuo93($!*p6wVZnz~xf|ZxNI-=Rhg12LPP1^TQjw%U
z`cg9Fej@z0fbWE|yhtd^2+0@oy9?-6
-
-
-
-
-
-
-
-
-
-
diff --git a/public/misc/country-flags/de.png b/public/misc/country-flags/de.png
new file mode 100644
index 0000000000000000000000000000000000000000..798ef00c909599814cc0d60cc1602cdf2596b6d2
GIT binary patch
literal 363
zcmV-x0hIoUP)Nt`FfF
z8RsD&x
z4gipla#)fG0002CNkl
-
-
-
-
diff --git a/public/misc/country-flags/fr.png b/public/misc/country-flags/fr.png
new file mode 100644
index 0000000000000000000000000000000000000000..f41e5c28338985deae7a358f04c4681acff837d1
GIT binary patch
literal 506
zcmVLm
zEPypkt0_B_CpeEJG>RfIhafM5KU%*uO0hgvxj0a;GDxN4@JuNH000kkQchFw?}QEj
z@bK^Nmz9u^hk#b9RZ;)|0M|)GK~y-)t;*L9f>01e(Xn?CMO5ry?}}Y4|Nm9$O*q6M
zUU_g$a^_`IG@sbGDvaR@Wuuhod;B4UDe3gqt}@ecm5dNMP7iz`7zW*L1K?o^Rx2{i
zArzU9@O~eGG~DkS@SpJUFyVXH?b3ET2Bj$OO)Lv-+rD1kV=IgXBAkFUw5%ye!^2?)
zKf*ak!{c!QJS=EhLC|#l6*j>a!Ye$T0*4kz!}ECwil8d0DjpA8pfVrf
-
-
-
-
diff --git a/public/misc/country-flags/gb.png b/public/misc/country-flags/gb.png
new file mode 100644
index 0000000000000000000000000000000000000000..68a19e5085365815a59874ebc5490b6025e48a7a
GIT binary patch
literal 1021
zcmVn`v5)uFa0N!hA<>lq$tE=Gx0RR90^Z@|%0RZ>`0Q!J{<>lr20Ra2I
zzx}_z9V&g<0RZ6w0Neop{@>prFpNcH%Q#TD;d66BV8%LBy&Wlh`5_?Z>-f>w^vKKO
zNN3mLtgIq2k0CIH{D6P;At1fP-u}hI7E&6VPE+X
z5cClc+u`-&*<}>(<%ow!i0pmEm7{+|13`m8IC_*VnDH*PEu%LtxI6o61jT#bR!;
zb$qM+prAfVnxU0s!v;0OaQK)!6Exu;-z#=l|c|*xKLN
z+1{L}-Lkyfke%6ulF5;n$9js#NMXcDVZ(KQxNCQ~{jab4pr8GppZt)JLQRn4W@PtZ
zU-wZ^^f55|At3V+5aJLH+7Aw$75Ab5000YgQchEo@bK@54gm1)fPj9t7SI3y0v<_3
zK~y-)wUB31B0&&_+jyZx27zTcIFcku0)pfm%sHM}FXx=&Prsg7c9p}c@{3Px)lR?j
z?Dq7)@a=)Gj99%R2(gHCdMZU&NU2v@V&T#7#~bv7A;
z4Hg{bxMWfvZj#6=5;q^A(Z$zoYR5Lf_A>sdEzA#O&d;Jz5ohP|v+{>9^?GfCOeW=)
zT_Or1p^Au65tgWvJC(^mHtTq^n24#NCdwrdwGxPnZynhz~PBLaPQ>!=844srb`0L|KY@)4_Zs<^N~xnBLg)`TZa
z>k-Dfzp9E=|0^;ZGh*xeT8*X-tEaB)`2FLmIPUkqt7s#Y)4+~@iDeWY>{+eWbCHU@
zIWm9n+FXVk<}>9O^#g0SNF3Ca0nW_*FlZ+J_@3^X1XIk%10S1G>RrZ|odSR%=r@Tq-{8<+4%&AJUZiQ700000NkvXXu0mjfS4aVr
literal 0
HcmV?d00001
diff --git a/public/misc/country-flags/gb.svg b/public/misc/country-flags/gb.svg
deleted file mode 100644
index eea7c8f080..0000000000
--- a/public/misc/country-flags/gb.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/public/misc/country-flags/jp.png b/public/misc/country-flags/jp.png
new file mode 100644
index 0000000000000000000000000000000000000000..de0bf28aef6f5728bccc37375855d6bdb72339f7
GIT binary patch
literal 437
zcmV;m0ZRUfP)DI};29X+7Z&Fs
zAmkk!f3B=N+?_wVuZ?eXuas_}z^>3e+cT3YwV$@u&H^7s4p)YkFQ)b*^c
z?4_sgXJ_VLVB}Fzf6k#X;nKi^REY%P@HeCG#+PNJVq7xGS+4*r+fu
zL*Lc%B?x28b!opS+U`zYUh4VfXkYMH+dbQl;RJRPML%#f+D6d|4<
z#Ex_8<7fYhL4p{jx|>i3Qy9w-;>pFJL9wzO*o%P<Lb
literal 0
HcmV?d00001
diff --git a/public/misc/country-flags/jp.svg b/public/misc/country-flags/jp.svg
deleted file mode 100644
index d2cf0c37f8..0000000000
--- a/public/misc/country-flags/jp.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/public/misc/country-flags/kr.png b/public/misc/country-flags/kr.png
new file mode 100644
index 0000000000000000000000000000000000000000..f865eaf0d834060cc8c32991c33bfaf31b77400c
GIT binary patch
literal 1029
zcmV+g1p51lP)BPz)7abLo_`~Lsp
z*y?C|o<($&Yx%VK0@FfcIc@A3HJ<1$Fpp`)dhmzar+j(vZDKtVw?
zG&JEG8l|YJNJ&X7EG*|CAl~Kr$;tfr5kac6M-b
zb6Q$jQ&d$_Qc_M%PwPEB>hb;Z_xtJX@p_BoVsqcu+1fu<*hNsy^Pit@L!Ob6lx}fy
znKf=+UtsD=O4}nU*B>U|=la#%_|x6@(cAaL&h)s$@uINpmZj@scHdBD-7-kkOSz1(9
zS4Bof(kVF5CN;|vGb7xV()Jn$p6^3J6t=2Et}RqW!G5WBqGavKF_hS?rg6vNGJq1
zfdmVX<5%j%EM=v@g}4a3C~kIUt8dG>CY-Mttdddzk#
zxOgGF^Wt1E#{o#>
zrJy^CR?9c-%B%1~H>n3-Tae}uMo}Rs=Yn4ly1#w9*LD#hxPc2nwjhmhP9-bqx*SYn
zTr9`q&*Jg;lOo2lzK%&+3#xuh(vms7NDN+zMa>jwsr8hYZ4mN}iq?)FH8z`01q}Bk0T2ciMr--Bv
z9rT*@KWYC6s9A1}zD7~>m71WYCLEVD2Q~E%;r?;FmnPY500000NkvXXu0mjf9&`OF
literal 0
HcmV?d00001
diff --git a/public/misc/country-flags/kr.svg b/public/misc/country-flags/kr.svg
deleted file mode 100644
index ed2f463ad3..0000000000
--- a/public/misc/country-flags/kr.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
diff --git a/public/misc/country-flags/pt.png b/public/misc/country-flags/pt.png
new file mode 100644
index 0000000000000000000000000000000000000000..32ad7b86744683f8a7f3bdfb3338100385741718
GIT binary patch
literal 1413
zcmV;01$z34P)?hI0PFw&_5c9!007be
z0PX+)-~a&g0016f03vSy_y7R-{Qn|t0M!5hNz4F8#sEaX07t_BCU*cty#OR~07AL|
z*8l*)7Z$q|6eoHBKeYfouK+u%03~z)`q38o+%^Vy1@EXb+8v5%M|J)StV+r&g12>=mAZGyG005e>
z*L;}H+HY|A${FwL7yafJtwI;s78cJ)6{(34&?6D~iVok@4fn_m_Nfc^eG8Se3iERb
z@i_%Vz5qF*05g{W^X~Dv%H^uQ;ftftZH&jsG$7tl8`oMIwm%lTBo^8u7W&{7!Xp*<
z!xXhj6wTukwl5Q}C=;|H6QL{;`nD0Ud=dH95ctUu>)j5=(hm2!4fu5pn9&S=Y7E55
z3!=0OvB3)VVhVPX3G|K$_F4(_QwZ@^22HU7KY;@69RlnQ0YI_2r6<$4?6LK@ye8u05G-&+~`>le@47r$W_YhMWE7}M
z6#2jty*d-V6BFRx63fmK_{5bsksW0
zsS15)3WHk;gvSYrya}AM3HC<`cfbgRuLyyo2X&zaTxteqm<3tF1X_^<@+<^by#r3A
z1NI&RLWlx5ivc%>0W^I9FmM6!4*}-@0JV8U*#H0l4|GyaQ}FPF4gl}(@9&qDkdTLf
z!%&J10007HNklZc5rcxJEjAbMoMtT>_!H5cX!ujth>9r
zySux)^RL(u^m*>(!sGYE^Lz1m@dNhbhfO2oWU&!r?ZFrq7neB$7v*FnTQJ;hGOLBDZ8kk9up_98U2uG3>zEz`e^!|`XDg$=Wa#b=#A1WN@Df3l3c=td5UNxW4uAc=m_vy~
zAQ0RHi3
z@)C(e)#tS>*+pxDla~dh24xpVwTMFW@-ZF?k_O!tuzM<{AwNIy(al
zlSm|Q&;0z2UMiX1UrA)XIya7H31Vyvd(XY|
z^m-|BN24|Et#Nayu&)m@_OUAVGxq1IhDOuHBS(b+0W(c?J>kZ_ij7aGsYskhGmpVQ
z&~>n`cTElPts2BEL0{jA#3+OcSwleJ%OYmk{bSgGaT7=}tTY
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/public/misc/country-flags/ru.svg b/public/misc/country-flags/ru.svg
deleted file mode 100644
index 72df4f327b..0000000000
--- a/public/misc/country-flags/ru.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
diff --git a/public/misc/country-flags/tr.png b/public/misc/country-flags/tr.png
new file mode 100644
index 0000000000000000000000000000000000000000..2c762410b9083cde0a608c6a6fbf1146f219a782
GIT binary patch
literal 667
zcmV;M0%ZM(P)P^
zAnYb2_x%6cDk$+RD&!p;^DQjpARpZ6peaA)z|XT)Az{9@WaLPtE}{(pzG>tkc^TwCrzK-d)&_tn<#w72%H
zuIreY<{93v^OWQ}FMQh=2|N@9&qDw4!}k0004ANklET6oogoG%;9-5~Pa)V((qk-~WMfFRZXJ&cL61%kG>r^KoHGE_2gpG@4D=aQKlX
z%=EcQPxHbbi8>zUWkTK4B7d!4nc8>42Hpq^EP^OR$xR$DV^C=fO%NQr3gh~MGd@uDXP;_
z$6>`f#leB&dWdFenoTo^o+n9?APADwL9r8L>3fLt_ZTHOJdc>BK=H+W*al!~Hf^Q}
zVnGlJh>hX|vH%MhR(id@3jr#Ks#-W>;bmw>u@_}kWyKMWoJG~X5cxA*{C~~nuK=Pb
zM%BfSTazxnG;>)|6hX}MxOm(y&TLiI>!r2K2k>}Mk>TsZYWci%^DLpr@HrX`CNl_e
zA`2^W++zYb?jJ
-
-
-
-
-
diff --git a/public/misc/country-flags/tw.png b/public/misc/country-flags/tw.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e99b3c8a3a870a535b70eede4ca085de606393f
GIT binary patch
literal 795
zcmV+$1LXXPP)
z0P_F<_y7QmA5TJH#w2V0O0@tMP$m=008p!`$c2YLtxH8T*)*_u`)=l
zFh!~_L#NjO06bT~I#awjP`Ex>#YJSxHchnK007zm0G_PjMP$-1L#E~E^@y3>HB756
zLY*o-m)!sW%+u_bsOY7y+lQ9bf|Ap9gv*vGUXUVH=IZyh!Rf%r=%BCXsI%ddqu-94
z)^>={e~rw0h{jH4#&CbbUvR%XR=GJ-wK!0)GDxK`MWQG=lPEcmpE7EkFJ+Q3WRoRX
zejG>V007(J_QTEa&D8J0%k8YW>Z!Hlvbx~0x!-h(-DrT@nWfm6qt{Sv)oz2-VtLS3
zZp&wP#6euaS7^FPTd_!6v6(Dly$>jc?I4)|000eiQchFwmWU1j@9*#LkdT0Y(>b^s
z0004MNklsm7v|te=)}=6PHtqHpCV4<{574+Boeqb7zaGWmp%_ZPMWCV=$wQL~
zLj$@2@H|E+g{VQ491a5kBf71W!9(Gr7%_@Qh8%amaoi{UDg$nK@I!J#3d2@wx9>=p
zfvw@N-QF2N9%?kC+ua)B2Y;?fLycx_0)Gh^W|EL${%J^<-uSME-83_iDKaxf#%E-D
Z<`+7ybd_e*JVpQj002ovPDHLkV1j>sYsmlr
literal 0
HcmV?d00001
diff --git a/public/misc/country-flags/tw.svg b/public/misc/country-flags/tw.svg
deleted file mode 100644
index cb96a8a4ea..0000000000
--- a/public/misc/country-flags/tw.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
diff --git a/public/misc/country-flags/ua.png b/public/misc/country-flags/ua.png
new file mode 100644
index 0000000000000000000000000000000000000000..044d48a2fa4c3f33ee8c7a4af63c512d7bb9bf96
GIT binary patch
literal 407
zcmV;I0cie-P)h
z#p6V~;@Y7ANW$Yt!Q&DV5&!@IK(+flu=_i!`ZuHcHJvm