diff --git a/console/src/app/app.module.ts b/console/src/app/app.module.ts index e7649fd1e0..d39d806a28 100644 --- a/console/src/app/app.module.ts +++ b/console/src/app/app.module.ts @@ -25,6 +25,7 @@ import { AuthConfig, OAuthModule, OAuthStorage } from 'angular-oauth2-oidc'; import { QuicklinkModule } from 'ngx-quicklink'; import { OnboardingModule } from 'src/app/modules/onboarding/onboarding.module'; import { RegExpPipeModule } from 'src/app/pipes/regexp-pipe/regexp-pipe.module'; +import { SubscriptionService } from 'src/app/services/subscription.service'; import { environment } from '../environments/environment'; import { AppRoutingModule } from './app-routing.module'; @@ -178,6 +179,7 @@ const authConfig: AuthConfig = { GrpcService, AuthenticationService, GrpcAuthService, + SubscriptionService, { provide: 'windowObject', useValue: window }, ], bootstrap: [AppComponent], diff --git a/console/src/app/modules/features/country.ts b/console/src/app/modules/features/country.ts new file mode 100644 index 0000000000..3d0506cd85 --- /dev/null +++ b/console/src/app/modules/features/country.ts @@ -0,0 +1,1539 @@ +export interface Country { + isoCode: string; + phoneCode: string; + name: string; + iso3Code: string; +} + +export const COUNTRIES: Country[] = [ + { + isoCode: 'IT', + phoneCode: '39', + name: 'Italy', + iso3Code: 'ITA', + }, + { + isoCode: 'AT', + phoneCode: '43', + name: 'Austria', + iso3Code: 'AUT', + }, + { + isoCode: 'DE', + phoneCode: '49', + name: 'Germany', + iso3Code: 'DEU', + }, + { + isoCode: 'FR', + phoneCode: '33', + name: 'France', + iso3Code: 'FRA', + }, + { + isoCode: 'AF', + phoneCode: '93', + name: 'Afghanistan', + iso3Code: 'AFG', + }, + { + isoCode: 'AL', + phoneCode: '355', + name: 'Albania', + iso3Code: 'ALB', + }, + { + isoCode: 'DZ', + phoneCode: '213', + name: 'Algeria', + iso3Code: 'DZA', + }, + { + isoCode: 'AS', + phoneCode: '1-684', + name: 'American Samoa', + iso3Code: 'ASM', + }, + { + isoCode: 'AD', + phoneCode: '376', + name: 'Andorra', + iso3Code: 'AND', + }, + { + isoCode: 'AO', + phoneCode: '244', + name: 'Angola', + iso3Code: 'AGO', + }, + { + isoCode: 'AI', + phoneCode: '1-264', + name: 'Anguilla', + iso3Code: 'AIA', + }, + { + isoCode: 'AQ', + phoneCode: '672', + name: 'Antarctica', + iso3Code: 'ATA', + }, + { + isoCode: 'AG', + phoneCode: '1-268', + name: 'Antigua and Barbuda', + iso3Code: 'ATG', + }, + { + isoCode: 'AR', + phoneCode: '54', + name: 'Argentina', + iso3Code: 'ARG', + }, + { + isoCode: 'AM', + phoneCode: '374', + name: 'Armenia', + iso3Code: 'ARM', + }, + { + isoCode: 'AW', + phoneCode: '297', + name: 'Aruba', + iso3Code: 'ABW', + }, + { + isoCode: 'AU', + phoneCode: '61', + name: 'Australia', + iso3Code: 'AUS', + }, + { + isoCode: 'AZ', + phoneCode: '994', + name: 'Azerbaijan', + iso3Code: 'AZE', + }, + { + isoCode: 'BS', + phoneCode: '1-242', + name: 'Bahamas', + iso3Code: 'BHS', + }, + { + isoCode: 'BH', + phoneCode: '973', + name: 'Bahrain', + iso3Code: 'BHR', + }, + { + isoCode: 'BD', + phoneCode: '880', + name: 'Bangladesh', + iso3Code: 'BGD', + }, + { + isoCode: 'BB', + phoneCode: '1-246', + name: 'Barbados', + iso3Code: 'BRB', + }, + { + isoCode: 'BY', + phoneCode: '375', + name: 'Belarus', + iso3Code: 'BLR', + }, + { + isoCode: 'BE', + phoneCode: '32', + name: 'Belgium', + iso3Code: 'BEL', + }, + { + isoCode: 'BZ', + phoneCode: '501', + name: 'Belize', + iso3Code: 'BLZ', + }, + { + isoCode: 'BJ', + phoneCode: '229', + name: 'Benin', + iso3Code: 'BEN', + }, + { + isoCode: 'BM', + phoneCode: '1-441', + name: 'Bermuda', + iso3Code: 'BMU', + }, + { + isoCode: 'BT', + phoneCode: '975', + name: 'Bhutan', + iso3Code: 'BTN', + }, + { + isoCode: 'BO', + phoneCode: '591', + name: 'Bolivia, Plurinational State of', + iso3Code: 'BOL', + }, + { + isoCode: 'BA', + phoneCode: '387', + name: 'Bosnia and Herzegovina', + iso3Code: 'BIH', + }, + { + isoCode: 'BW', + phoneCode: '267', + name: 'Botswana', + iso3Code: 'BWA', + }, + { + isoCode: 'BV', + phoneCode: '47', + name: 'Bouvet Island', + iso3Code: 'BVT', + }, + { + isoCode: 'BR', + phoneCode: '55', + name: 'Brazil', + iso3Code: 'BRA', + }, + { + isoCode: 'IO', + phoneCode: '246', + name: 'British Indian Ocean Territory', + iso3Code: 'IOT', + }, + { + isoCode: 'BN', + phoneCode: '673', + name: 'Brunei Darussalam', + iso3Code: 'BRN', + }, + { + isoCode: 'BG', + phoneCode: '359', + name: 'Bulgaria', + iso3Code: 'BGR', + }, + { + isoCode: 'BF', + phoneCode: '226', + name: 'Burkina Faso', + iso3Code: 'BFA', + }, + { + isoCode: 'BI', + phoneCode: '257', + name: 'Burundi', + iso3Code: 'BDI', + }, + { + isoCode: 'KH', + phoneCode: '855', + name: 'Cambodia', + iso3Code: 'KHM', + }, + { + isoCode: 'CM', + phoneCode: '237', + name: 'Cameroon', + iso3Code: 'CMR', + }, + { + isoCode: 'CA', + phoneCode: '1', + name: 'Canada', + iso3Code: 'CAN', + }, + { + isoCode: 'CV', + phoneCode: '238', + name: 'Cape Verde', + iso3Code: 'CPV', + }, + { + isoCode: 'BQ', + phoneCode: '599', + name: 'Caribbean Netherlands', + iso3Code: 'BES', + }, + { + isoCode: 'KY', + phoneCode: '1-345', + name: 'Cayman Islands', + iso3Code: 'CYM', + }, + { + isoCode: 'CF', + phoneCode: '236', + name: 'Central African Republic', + iso3Code: 'CAF', + }, + { + isoCode: 'TD', + phoneCode: '235', + name: 'Chad', + iso3Code: 'TCD', + }, + { + isoCode: 'CL', + phoneCode: '56', + name: 'Chile', + iso3Code: 'CHL', + }, + { + isoCode: 'CN', + phoneCode: '86', + name: 'China', + iso3Code: 'CHN', + }, + { + isoCode: 'CX', + phoneCode: '61', + name: 'Christmas Island', + iso3Code: 'CXR', + }, + { + isoCode: 'CC', + phoneCode: '61', + name: 'Cocos (Keeling} Islands', + iso3Code: 'CCK', + }, + { + isoCode: 'CO', + phoneCode: '57', + name: 'Colombia', + iso3Code: 'COL', + }, + { + isoCode: 'KM', + phoneCode: '269', + name: 'Comoros', + iso3Code: 'COM', + }, + { + isoCode: 'CG', + phoneCode: '242', + name: 'Congo', + iso3Code: 'COG', + }, + { + isoCode: 'CD', + phoneCode: '243', + name: 'Congo, the Democratic Republic of the', + iso3Code: 'COD', + }, + { + isoCode: 'CK', + phoneCode: '682', + name: 'Cook Islands', + iso3Code: 'COK', + }, + { + isoCode: 'CR', + phoneCode: '506', + name: 'Costa Rica', + iso3Code: 'CRI', + }, + { + isoCode: 'HR', + phoneCode: '385', + name: 'Croatia', + iso3Code: 'HRV', + }, + { + isoCode: 'CU', + phoneCode: '53', + name: 'Cuba', + iso3Code: 'CUB', + }, + { + isoCode: 'CW', + phoneCode: '599', + name: 'Curaçao', + iso3Code: 'CUW', + }, + { + isoCode: 'CY', + phoneCode: '357', + name: 'Cyprus', + iso3Code: 'CYP', + }, + { + isoCode: 'CZ', + phoneCode: '420', + name: 'Czech Republic', + iso3Code: 'CZE', + }, + { + isoCode: 'CI', + phoneCode: '225', + name: 'Côte d\'Ivoire', + iso3Code: 'CIV', + }, + { + isoCode: 'DK', + phoneCode: '45', + name: 'Denmark', + iso3Code: 'DNK', + }, + { + isoCode: 'DJ', + phoneCode: '253', + name: 'Djibouti', + iso3Code: 'DJI', + }, + { + isoCode: 'DM', + phoneCode: '1-767', + name: 'Dominica', + iso3Code: 'DMA', + }, + { + isoCode: 'DO', + phoneCode: '1-849', + name: 'Dominican Republic', + iso3Code: 'DOM', + }, + { + isoCode: 'EC', + phoneCode: '593', + name: 'Ecuador', + iso3Code: 'ECU', + }, + { + isoCode: 'EG', + phoneCode: '20', + name: 'Egypt', + iso3Code: 'EGY', + }, + { + isoCode: 'SV', + phoneCode: '503', + name: 'El Salvador', + iso3Code: 'SLV', + }, + { + isoCode: 'GB-ENG', + phoneCode: '44', + name: 'England', + iso3Code: 'GBR', + }, + { + isoCode: 'GQ', + phoneCode: '240', + name: 'Equatorial Guinea', + iso3Code: 'GNQ', + }, + { + isoCode: 'ER', + phoneCode: '291', + name: 'Eritrea', + iso3Code: 'ERI', + }, + { + isoCode: 'EE', + phoneCode: '372', + name: 'Estonia', + iso3Code: 'EST', + }, + { + isoCode: 'ET', + phoneCode: '251', + name: 'Ethiopia', + iso3Code: 'ETH', + }, + { + isoCode: 'FK', + phoneCode: '500', + name: 'Falkland Islands (Malvinas}', + iso3Code: 'FLK', + }, + { + isoCode: 'FO', + phoneCode: '298', + name: 'Faroe Islands', + iso3Code: 'FRO', + }, + { + isoCode: 'FJ', + phoneCode: '679', + name: 'Fiji', + iso3Code: 'FJI', + }, + { + isoCode: 'FI', + phoneCode: '358', + name: 'Finland', + iso3Code: 'FIN', + }, + { + isoCode: 'GF', + phoneCode: '594', + name: 'French Guiana', + iso3Code: 'GUF', + }, + { + isoCode: 'PF', + phoneCode: '689', + name: 'French Polynesia', + iso3Code: 'PYF', + }, + { + isoCode: 'TF', + phoneCode: '262', + name: 'French Southern Territories', + iso3Code: 'ATF', + }, + { + isoCode: 'GA', + phoneCode: '241', + name: 'Gabon', + iso3Code: 'GAB', + }, + { + isoCode: 'GM', + phoneCode: '220', + name: 'Gambia', + iso3Code: 'GMB', + }, + { + isoCode: 'GE', + phoneCode: '995', + name: 'Georgia', + iso3Code: 'GEO', + }, + { + isoCode: 'GH', + phoneCode: '233', + name: 'Ghana', + iso3Code: 'GHA', + }, + { + isoCode: 'GI', + phoneCode: '350', + name: 'Gibraltar', + iso3Code: 'GIB', + }, + { + isoCode: 'GR', + phoneCode: '30', + name: 'Greece', + iso3Code: 'GRC', + }, + { + isoCode: 'GL', + phoneCode: '299', + name: 'Greenland', + iso3Code: 'GRL', + }, + { + isoCode: 'GD', + phoneCode: '1-473', + name: 'Grenada', + iso3Code: 'GRD', + }, + { + isoCode: 'GP', + phoneCode: '590', + name: 'Guadeloupe', + iso3Code: 'GLP', + }, + { + isoCode: 'GU', + phoneCode: '1-671', + name: 'Guam', + iso3Code: 'GUM', + }, + { + isoCode: 'GT', + phoneCode: '502', + name: 'Guatemala', + iso3Code: 'GTM', + }, + { + isoCode: 'GG', + phoneCode: '44-1481', + name: 'Guernsey', + iso3Code: 'GGY', + }, + { + isoCode: 'GN', + phoneCode: '224', + name: 'Guinea', + iso3Code: 'GIN', + }, + { + isoCode: 'GW', + phoneCode: '245', + name: 'Guinea-Bissau', + iso3Code: 'GNB', + }, + { + isoCode: 'GY', + phoneCode: '592', + name: 'Guyana', + iso3Code: 'GUY', + }, + { + isoCode: 'HT', + phoneCode: '509', + name: 'Haiti', + iso3Code: 'HTI', + }, + { + isoCode: 'HM', + phoneCode: '672', + name: 'Heard Island and McDonald Islands', + iso3Code: 'HMD', + }, + { + isoCode: 'VA', + phoneCode: '379', + name: 'Holy See (Vatican City State}', + iso3Code: 'VAT', + }, + { + isoCode: 'HN', + phoneCode: '504', + name: 'Honduras', + iso3Code: 'HND', + }, + { + isoCode: 'HK', + phoneCode: '852', + name: 'Hong Kong', + iso3Code: 'HKG', + }, + { + isoCode: 'HU', + phoneCode: '36', + name: 'Hungary', + iso3Code: 'HUN', + }, + { + isoCode: 'IS', + phoneCode: '354', + name: 'Iceland', + iso3Code: 'ISL', + }, + { + isoCode: 'IN', + phoneCode: '91', + name: 'India', + iso3Code: 'IND', + }, + { + isoCode: 'ID', + phoneCode: '62', + name: 'Indonesia', + iso3Code: 'IDN', + }, + { + isoCode: 'IR', + phoneCode: '98', + name: 'Iran, Islamic Republic of', + iso3Code: 'IRN', + }, + { + isoCode: 'IQ', + phoneCode: '964', + name: 'Iraq', + iso3Code: 'IRQ', + }, + { + isoCode: 'IE', + phoneCode: '353', + name: 'Ireland', + iso3Code: 'IRL', + }, + { + isoCode: 'IM', + phoneCode: '44-1624', + name: 'Isle of Man', + iso3Code: 'IMN', + }, + { + isoCode: 'IL', + phoneCode: '972', + name: 'Israel', + iso3Code: 'ISR', + }, + { + isoCode: 'JM', + phoneCode: '1-876', + name: 'Jamaica', + iso3Code: 'JAM', + }, + { + isoCode: 'JP', + phoneCode: '81', + name: 'Japan', + iso3Code: 'JPN', + }, + { + isoCode: 'JE', + phoneCode: '44-1534', + name: 'Jersey', + iso3Code: 'JEY', + }, + { + isoCode: 'JO', + phoneCode: '962', + name: 'Jordan', + iso3Code: 'JOR', + }, + { + isoCode: 'KZ', + phoneCode: '7', + name: 'Kazakhstan', + iso3Code: 'KAZ', + }, + { + isoCode: 'KE', + phoneCode: '254', + name: 'Kenya', + iso3Code: 'KEN', + }, + { + isoCode: 'KI', + phoneCode: '686', + name: 'Kiribati', + iso3Code: 'KIR', + }, + { + isoCode: 'KP', + phoneCode: '850', + name: 'Korea, Democratic Peoples Republic of', + iso3Code: 'PRK', + }, + { + isoCode: 'KR', + phoneCode: '82', + name: 'Korea, Republic of', + iso3Code: 'KOR', + }, + { + isoCode: 'XK', + phoneCode: '383', + name: 'Kosovo', + iso3Code: 'KOS', + }, + { + isoCode: 'KW', + phoneCode: '965', + name: 'Kuwait', + iso3Code: 'KWT', + }, + { + isoCode: 'KG', + phoneCode: '996', + name: 'Kyrgyzstan', + iso3Code: 'KGZ', + }, + { + isoCode: 'LA', + phoneCode: '', + name: 'Lao Peoples Democratic Republic', + iso3Code: 'LAO', + }, + { + isoCode: 'LV', + phoneCode: '371', + name: 'Latvia', + iso3Code: 'LVA', + }, + { + isoCode: 'LB', + phoneCode: '961', + name: 'Lebanon', + iso3Code: 'LBN', + }, + { + isoCode: 'LS', + phoneCode: '266', + name: 'Lesotho', + iso3Code: 'LSO', + }, + { + isoCode: 'LR', + phoneCode: '231', + name: 'Liberia', + iso3Code: 'LBR', + }, + { + isoCode: 'LY', + phoneCode: '218', + name: 'Libya', + iso3Code: 'LBY', + }, + { + isoCode: 'LI', + phoneCode: '423', + name: 'Liechtenstein', + iso3Code: 'LIE', + }, + { + isoCode: 'LT', + phoneCode: '370', + name: 'Lithuania', + iso3Code: 'LTU', + }, + { + isoCode: 'LU', + phoneCode: '352', + name: 'Luxembourg', + iso3Code: 'LUX', + }, + { + isoCode: 'MO', + phoneCode: '853', + name: 'Macao', + iso3Code: 'MAC', + }, + { + isoCode: 'MK', + phoneCode: '389', + name: 'Macedonia, the former Yugoslav Republic of', + iso3Code: 'MKD', + }, + { + isoCode: 'MG', + phoneCode: '261', + name: 'Madagascar', + iso3Code: 'MDG', + }, + { + isoCode: 'MW', + phoneCode: '265', + name: 'Malawi', + iso3Code: 'MWI', + }, + { + isoCode: 'MY', + phoneCode: '60', + name: 'Malaysia', + iso3Code: 'MYS', + }, + { + isoCode: 'MV', + phoneCode: '960', + name: 'Maldives', + iso3Code: 'MDV', + }, + { + isoCode: 'ML', + phoneCode: '223', + name: 'Mali', + iso3Code: 'MLI', + }, + { + isoCode: 'MT', + phoneCode: '356', + name: 'Malta', + iso3Code: 'MLT', + }, + { + isoCode: 'MH', + phoneCode: '692', + name: 'Marshall Islands', + iso3Code: 'MHL', + }, + { + isoCode: 'MQ', + phoneCode: '596', + name: 'Martinique', + iso3Code: 'MTQ', + }, + { + isoCode: 'MR', + phoneCode: '222', + name: 'Mauritania', + iso3Code: 'MRT', + }, + { + isoCode: 'MU', + phoneCode: '230', + name: 'Mauritius', + iso3Code: 'MUS', + }, + { + isoCode: 'YT', + phoneCode: '262', + name: 'Mayotte', + iso3Code: 'MYT', + }, + { + isoCode: 'MX', + phoneCode: '52', + name: 'Mexico', + iso3Code: 'MEX', + }, + { + isoCode: 'FM', + phoneCode: '691', + name: 'Micronesia, Federated States of', + iso3Code: 'FSM', + }, + { + isoCode: 'MD', + phoneCode: '373', + name: 'Moldova, Republic of', + iso3Code: 'MDA', + }, + { + isoCode: 'MC', + phoneCode: '377', + name: 'Monaco', + iso3Code: 'MCO', + }, + { + isoCode: 'MN', + phoneCode: '976', + name: 'Mongolia', + iso3Code: 'MNG', + }, + { + isoCode: 'ME', + phoneCode: '382', + name: 'Montenegro', + iso3Code: 'MNE', + }, + { + isoCode: 'MS', + phoneCode: '1-664', + name: 'Montserrat', + iso3Code: 'MSR', + }, + { + isoCode: 'MA', + phoneCode: '212', + name: 'Morocco', + iso3Code: 'MAR', + }, + { + isoCode: 'MZ', + phoneCode: '258', + name: 'Mozambique', + iso3Code: 'MOZ', + }, + { + isoCode: 'MM', + phoneCode: '95', + name: 'Myanmar', + iso3Code: 'MMR', + }, + { + isoCode: 'NA', + phoneCode: '264', + name: 'Namibia', + iso3Code: 'NAM', + }, + { + isoCode: 'NR', + phoneCode: '674', + name: 'Nauru', + iso3Code: 'NRU', + }, + { + isoCode: 'NP', + phoneCode: '977', + name: 'Nepal', + iso3Code: 'NPL', + }, + { + isoCode: 'NL', + phoneCode: '31', + name: 'Netherlands', + iso3Code: 'NLD', + }, + { + isoCode: 'AN', + phoneCode: '599', + name: 'Netherlands Antilles', + iso3Code: 'AN', + }, + { + isoCode: 'NC', + phoneCode: '687', + name: 'New Caledonia', + iso3Code: 'NCL', + }, + { + isoCode: 'NZ', + phoneCode: '64', + name: 'New Zealand', + iso3Code: 'NZL', + }, + { + isoCode: 'NI', + phoneCode: '505', + name: 'Nicaragua', + iso3Code: 'NIC', + }, + { + isoCode: 'NE', + phoneCode: '227', + name: 'Niger', + iso3Code: 'NER', + }, + { + isoCode: 'NG', + phoneCode: '234', + name: 'Nigeria', + iso3Code: 'NGA', + }, + { + isoCode: 'NU', + phoneCode: '683', + name: 'Niue', + iso3Code: 'NIU', + }, + { + isoCode: 'NF', + phoneCode: '672', + name: 'Norfolk Island', + iso3Code: 'NFK', + }, + { + isoCode: 'GB-NIR', + phoneCode: '44', + name: 'Northern Ireland', + iso3Code: 'GBR', + }, + { + isoCode: 'MP', + phoneCode: '1-670', + name: 'Northern Mariana Islands', + iso3Code: 'MNP', + }, + { + isoCode: 'NO', + phoneCode: '47', + name: 'Norway', + iso3Code: 'NOR', + }, + { + isoCode: 'OM', + phoneCode: '968', + name: 'Oman', + iso3Code: 'OMN', + }, + { + isoCode: 'PK', + phoneCode: '92', + name: 'Pakistan', + iso3Code: 'PAK', + }, + { + isoCode: 'PW', + phoneCode: '680', + name: 'Palau', + iso3Code: 'PLW', + }, + { + isoCode: 'PS', + phoneCode: '970', + name: 'Palestine', + iso3Code: 'PSE', + }, + { + isoCode: 'PA', + phoneCode: '507', + name: 'Panama', + iso3Code: 'PAN', + }, + { + isoCode: 'PG', + phoneCode: '675', + name: 'Papua New Guinea', + iso3Code: 'PNG', + }, + { + isoCode: 'PY', + phoneCode: '595', + name: 'Paraguay', + iso3Code: 'PRY', + }, + { + isoCode: 'PE', + phoneCode: '51', + name: 'Peru', + iso3Code: 'PER', + }, + { + isoCode: 'PH', + phoneCode: '63', + name: 'Philippines', + iso3Code: 'PHL', + }, + { + isoCode: 'PN', + phoneCode: '64', + name: 'Pitcairn', + iso3Code: 'PCN', + }, + { + isoCode: 'PL', + phoneCode: '48', + name: 'Poland', + iso3Code: 'POL', + }, + { + isoCode: 'PT', + phoneCode: '351', + name: 'Portugal', + iso3Code: 'PRT', + }, + { + isoCode: 'PR', + phoneCode: '1-787', + name: 'Puerto Rico', + iso3Code: 'PRI', + }, + { + isoCode: 'QA', + phoneCode: '974', + name: 'Qatar', + iso3Code: 'QAT', + }, + { + isoCode: 'RO', + phoneCode: '40', + name: 'Romania', + iso3Code: 'ROU', + }, + { + isoCode: 'RU', + phoneCode: '7', + name: 'Russian Federation', + iso3Code: 'RUS', + }, + { + isoCode: 'RW', + phoneCode: '250', + name: 'Rwanda', + iso3Code: 'RWA', + }, + { + isoCode: 'RE', + phoneCode: '262', + name: 'Réunion', + iso3Code: 'REU', + }, + { + isoCode: 'BL', + phoneCode: '590', + name: 'Saint Barthélemy', + iso3Code: 'BLM', + }, + { + isoCode: 'SH', + phoneCode: '290', + name: 'Saint Helena, Ascension and Tristan da Cunha', + iso3Code: 'SHN', + }, + { + isoCode: 'KN', + phoneCode: '1-869', + name: 'Saint Kitts and Nevis', + iso3Code: 'KNA', + }, + { + isoCode: 'LC', + phoneCode: '1-758', + name: 'Saint Lucia', + iso3Code: 'LCA', + }, + { + isoCode: 'MF', + phoneCode: '590', + name: 'Saint Martin', + iso3Code: 'MAF', + }, + { + isoCode: 'PM', + phoneCode: '508', + name: 'Saint Pierre and Miquelon', + iso3Code: 'SPM', + }, + { + isoCode: 'VC', + phoneCode: '1-784', + name: 'Saint Vincent and the Grenadines', + iso3Code: 'VCT', + }, + { + isoCode: 'WS', + phoneCode: '685', + name: 'Samoa', + iso3Code: 'WSM', + }, + { + isoCode: 'SM', + phoneCode: '378', + name: 'San Marino', + iso3Code: 'SMR', + }, + { + isoCode: 'ST', + phoneCode: '239', + name: 'Sao Tome and Principe', + iso3Code: 'STP', + }, + { + isoCode: 'SA', + phoneCode: '966', + name: 'Saudi Arabia', + iso3Code: 'SAU', + }, + { + isoCode: 'GB-SCT', + phoneCode: '44', + name: 'Scotland', + iso3Code: 'GBR', + }, + { + isoCode: 'SN', + phoneCode: '221', + name: 'Senegal', + iso3Code: 'SEN', + }, + { + isoCode: 'RS', + phoneCode: '381', + name: 'Serbia', + iso3Code: 'SRB', + }, + { + isoCode: 'SC', + phoneCode: '248', + name: 'Seychelles', + iso3Code: 'SYC', + }, + { + isoCode: 'SL', + phoneCode: '232', + name: 'Sierra Leone', + iso3Code: 'SLE', + }, + { + isoCode: 'SG', + phoneCode: '65', + name: 'Singapore', + iso3Code: 'SGP', + }, + { + isoCode: 'SX', + phoneCode: '1-721', + name: 'Sint Maarten (Dutch part}', + iso3Code: 'SXM', + }, + { + isoCode: 'SK', + phoneCode: '421', + name: 'Slovakia', + iso3Code: 'SVK', + }, + { + isoCode: 'SI', + phoneCode: '386', + name: 'Slovenia', + iso3Code: 'SVN', + }, + { + isoCode: 'SB', + phoneCode: '677', + name: 'Solomon Islands', + iso3Code: 'SLB', + }, + { + isoCode: 'SO', + phoneCode: '252', + name: 'Somalia', + iso3Code: 'SOM', + }, + { + isoCode: 'ZA', + phoneCode: '27', + name: 'South Africa', + iso3Code: 'ZAF', + }, + { + isoCode: 'GS', + phoneCode: '500', + name: 'South Georgia and the South Sandwich Islands', + iso3Code: 'SGS', + }, + { + isoCode: 'SS', + phoneCode: '211', + name: 'South Sudan', + iso3Code: 'SSD', + }, + { + isoCode: 'ES', + phoneCode: '34', + name: 'Spain', + iso3Code: 'ESP', + }, + { + isoCode: 'LK', + phoneCode: '94', + name: 'Sri Lanka', + iso3Code: 'LKA', + }, + { + isoCode: 'SD', + phoneCode: '249', + name: 'Sudan', + iso3Code: 'SDN', + }, + { + isoCode: 'SR', + phoneCode: '597', + name: 'Suriname', + iso3Code: 'SUR', + }, + { + isoCode: 'SJ', + phoneCode: '47', + name: 'Svalbard and Jan Mayen Islands', + iso3Code: 'SJM', + }, + { + isoCode: 'SZ', + phoneCode: '268', + name: 'Swaziland', + iso3Code: 'SWZ', + }, + { + isoCode: 'SE', + phoneCode: '46', + name: 'Sweden', + iso3Code: 'SWE', + }, + { + isoCode: 'CH', + phoneCode: '41', + name: 'Switzerland', + iso3Code: 'CHE', + }, + { + isoCode: 'SY', + phoneCode: '963', + name: 'Syrian Arab Republic', + iso3Code: 'SYR', + }, + { + isoCode: 'TW', + phoneCode: '886', + name: 'Taiwan', + iso3Code: 'TWN', + }, + { + isoCode: 'TJ', + phoneCode: '992', + name: 'Tajikistan', + iso3Code: 'TJK', + }, + { + isoCode: 'TZ', + phoneCode: '255', + name: 'Tanzania, United Republic of', + iso3Code: 'TZA', + }, + { + isoCode: 'TH', + phoneCode: '66', + name: 'Thailand', + iso3Code: 'THA', + }, + { + isoCode: 'TL', + phoneCode: '670', + name: 'Timor-Leste', + iso3Code: 'TLS', + }, + { + isoCode: 'TG', + phoneCode: '228', + name: 'Togo', + iso3Code: 'TGO', + }, + { + isoCode: 'TK', + phoneCode: '690', + name: 'Tokelau', + iso3Code: 'TKL', + }, + { + isoCode: 'TO', + phoneCode: '676', + name: 'Tonga', + iso3Code: 'TON', + }, + { + isoCode: 'TT', + phoneCode: '1-868', + name: 'Trinidad and Tobago', + iso3Code: 'TTO', + }, + { + isoCode: 'TN', + phoneCode: '216', + name: 'Tunisia', + iso3Code: 'TUN', + }, + { + isoCode: 'TR', + phoneCode: '90', + name: 'Turkey', + iso3Code: 'TUR', + }, + { + isoCode: 'TM', + phoneCode: '993', + name: 'Turkmenistan', + iso3Code: 'TKM', + }, + { + isoCode: 'TC', + phoneCode: '1-649', + name: 'Turks and Caicos Islands', + iso3Code: 'TCA', + }, + { + isoCode: 'TV', + phoneCode: '688', + name: 'Tuvalu', + iso3Code: 'TUV', + }, + { + isoCode: 'UG', + phoneCode: '256', + name: 'Uganda', + iso3Code: 'UGA', + }, + { + isoCode: 'UA', + phoneCode: '380', + name: 'Ukraine', + iso3Code: 'UKR', + }, + { + isoCode: 'AE', + phoneCode: '971', + name: 'United Arab Emirates', + iso3Code: 'ARE', + }, + { + isoCode: 'GB', + phoneCode: '44', + name: 'United Kingdom', + iso3Code: 'GBR', + }, + { + isoCode: 'US', + phoneCode: '1', + name: 'United States', + iso3Code: 'USA', + }, + { + isoCode: 'UY', + phoneCode: '598', + name: 'Uruguay', + iso3Code: 'URY', + }, + { + isoCode: 'UM', + phoneCode: '1', + name: 'US Minor Outlying Islands', + iso3Code: 'UMI', + }, + { + isoCode: 'UZ', + phoneCode: '998', + name: 'Uzbekistan', + iso3Code: 'UZB', + }, + { + isoCode: 'VU', + phoneCode: '678', + name: 'Vanuatu', + iso3Code: 'VUT', + }, + { + isoCode: 'VE', + phoneCode: '58', + name: 'Venezuela, Bolivarian Republic of', + iso3Code: 'VEN', + }, + { + isoCode: 'VN', + phoneCode: '84', + name: 'Vietnam', + iso3Code: 'VNM', + }, + { + isoCode: 'VG', + phoneCode: '1-284', + name: 'Virgin Islands, British', + iso3Code: 'VGB', + }, + { + isoCode: 'VI', + phoneCode: '1-340', + name: 'Virgin Islands, U.S.', + iso3Code: 'VIR', + }, + { + isoCode: 'GB-WLS', + phoneCode: '44', + name: 'Wales', + iso3Code: 'GBR', + }, + { + isoCode: 'WF', + phoneCode: '681', + name: 'Wallis and Futuna Islands', + iso3Code: 'WLF', + }, + { + isoCode: 'EH', + phoneCode: '212', + name: 'Western Sahara', + iso3Code: 'ESH', + }, + { + isoCode: 'YE', + phoneCode: '967', + name: 'Yemen', + iso3Code: 'YEM', + }, + { + isoCode: 'ZM', + phoneCode: '260', + name: 'Zambia', + iso3Code: 'ZMB', + }, + { + isoCode: 'ZW', + phoneCode: '263', + name: 'Zimbabwe', + iso3Code: 'ZWE', + }, + { + isoCode: 'AX', + phoneCode: '358', + name: 'Åland Islands', + iso3Code: 'ALA', + }, +]; diff --git a/console/src/app/modules/features/features.component.html b/console/src/app/modules/features/features.component.html index c407f85790..cbf26e6dde 100644 --- a/console/src/app/modules/features/features.component.html +++ b/console/src/app/modules/features/features.component.html @@ -1,6 +1,39 @@ -

{{'POLICY.DEFAULTLABEL' | translate}}

+ [title]="('FEATURES.TITLE' | translate)" [description]="'FEATURES.DESCRIPTION' | translate"> + +

{{'FEATURES.TIER.TITLE' | translate}}

+

{{'FEATURES.TIER.DESCRIPTION' | translate}} + {{'FEATURES.TIER.QUESTIONS' | translate}} support@zitadel.ch.

+ +
+

{{'FEATURES.TIER.NAME' | translate}}

+

{{features?.tier?.name}}

+
+ + + +
+

{{'FEATURES.TIER.DETAILS' | translate}} + {{'ACTIONS.EDIT' | translate}} +

+

{{stripeCustomer?.contact}}

+

{{stripeCustomer?.company}}

+

{{stripeCustomer?.address}}

+

+ {{stripeCustomer?.postal_code}} {{stripeCustomer?.city}} {{stripeCustomer?.country}} + +

+
+ +

{{'FEATURES.TIER.CUSTOMERINVALID' | translate}}

+ + +
+ + + \ No newline at end of file diff --git a/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.scss b/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.scss new file mode 100644 index 0000000000..980730ec42 --- /dev/null +++ b/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.scss @@ -0,0 +1,47 @@ +h1 { + font-size: 1.5rem; + margin-top: 0; +} + +.desc { + font-size: 14px; + color: var(--grey); +} + +.formfield { + width: 100%; +} + +.action { + display: flex; + justify-content: flex-end; + + .ok-button { + margin-left: .5rem; + } + + button { + border-radius: .5rem; + } +} + +img { + height: 15px; + width: auto; +} + +.img-wrapper { + width: 50px; + display: flex; +} + +.lighter { + font-size: 12px; + color: var(--grey); + padding: 0 .5rem; +} + +.center { + display: flex; + align-items: center; +} diff --git a/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.spec.ts b/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.spec.ts new file mode 100644 index 0000000000..baa28abf94 --- /dev/null +++ b/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; + +import { PaymentInfoDialogComponent } from './payment-info-dialog.component'; + +describe('PaymentInfoDialogComponent', () => { + let component: PaymentInfoDialogComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [PaymentInfoDialogComponent], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PaymentInfoDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.ts b/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.ts new file mode 100644 index 0000000000..e2f34a1299 --- /dev/null +++ b/console/src/app/modules/features/payment-info-dialog/payment-info-dialog.component.ts @@ -0,0 +1,91 @@ +import { Component, Inject } from '@angular/core'; +import { AbstractControl, FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { MatSelectChange } from '@angular/material/select'; +import { SubscriptionService } from 'src/app/services/subscription.service'; + +import { COUNTRIES, Country } from '../country'; + +function compare(a: Country, b: Country): number { + if (a.isoCode < b.isoCode) { + return -1; + } + if (a.isoCode > b.isoCode) { + return 1; + } + return 0; +} + +@Component({ + selector: 'app-payment-info-dialog', + templateUrl: './payment-info-dialog.component.html', + styleUrls: ['./payment-info-dialog.component.scss'], +}) +export class PaymentInfoDialogComponent { + public stripeLoading: boolean = false; + public COUNTRIES: Country[] = COUNTRIES.sort(compare); + public form!: FormGroup; + + private orgId: string = ''; + + constructor( + private subService: SubscriptionService, + private fb: FormBuilder, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public data: any, + ) { + this.orgId = data.orgId; + + this.form = this.fb.group({ + contact: ['', [Validators.required]], + company: ['', []], + address: ['', [Validators.required]], + city: ['', [Validators.required]], + postal_code: ['', [Validators.required]], + country: ['', [Validators.required]], + }); + + if (data.customer) { + this.form.patchValue(data.customer); + } + + if (!data.customer?.country) { + this.form.get('country')?.setValue('CH'); + } + + this.getLink(); + } + + public getLink(): void { + if (this.orgId) { + this.stripeLoading = true; + this.subService.getLink(this.orgId, window.location.href) + .then(payload => { + this.stripeLoading = false; + console.log(payload); + if (payload.redirect_url) { + window.open(payload.redirect_url, '_blank'); + } + }) + .catch(error => { + this.stripeLoading = false; + console.error(error); + }); + } + } + + public changeCountry(selection: MatSelectChange): void { + const country = COUNTRIES.find(c => c.isoCode === selection.value); + if (country && country.phoneCode !== undefined && this.phone && this.phone.value !== `+${country.phoneCode}`) { + this.phone.setValue(`+${country.phoneCode}`); + } + } + + submitAndCloseDialog(): void { + this.dialogRef.close(this.form.value); + } + + get phone(): AbstractControl | null { + return this.form.get('phone'); + } +} diff --git a/console/src/app/pages/orgs/org-list/org-list.component.html b/console/src/app/pages/orgs/org-list/org-list.component.html index 51b91d2f19..9c71b24af0 100644 --- a/console/src/app/pages/orgs/org-list/org-list.component.html +++ b/console/src/app/pages/orgs/org-list/org-list.component.html @@ -39,6 +39,16 @@ {{org.name}} + + + {{ 'ORG.PAGES.CREATIONDATE' | translate }} + + + {{org.details?.creationDate | timestampToDate | localizedDate: 'EEE dd. MMM YYYY, HH:mm'}} + + + diff --git a/console/src/app/pages/orgs/org-list/org-list.component.ts b/console/src/app/pages/orgs/org-list/org-list.component.ts index 8124d39014..bbe4c2386d 100644 --- a/console/src/app/pages/orgs/org-list/org-list.component.ts +++ b/console/src/app/pages/orgs/org-list/org-list.component.ts @@ -11,102 +11,102 @@ import { Org, OrgNameQuery, OrgQuery } from 'src/app/proto/generated/zitadel/org import { GrpcAuthService } from 'src/app/services/grpc-auth.service'; enum OrgListSearchKey { - NAME = 'NAME', + NAME = 'NAME', } @Component({ - selector: 'app-org-list', - templateUrl: './org-list.component.html', - styleUrls: ['./org-list.component.scss'], - animations: [ - enterAnimations, - ], + selector: 'app-org-list', + templateUrl: './org-list.component.html', + styleUrls: ['./org-list.component.scss'], + animations: [ + enterAnimations, + ], }) export class OrgListComponent implements AfterViewInit { - public orgSearchKey: OrgListSearchKey | undefined = undefined; + public orgSearchKey: OrgListSearchKey | undefined = undefined; - @ViewChild(MatPaginator) public paginator!: MatPaginator; - @ViewChild(MatSort) sort!: MatSort; - @ViewChild('input') public filter!: Input; + @ViewChild(MatPaginator) public paginator!: MatPaginator; + @ViewChild(MatSort) sort!: MatSort; + @ViewChild('input') public filter!: Input; - public dataSource!: MatTableDataSource; - public displayedColumns: string[] = ['select', 'id', 'name']; - private loadingSubject: BehaviorSubject = new BehaviorSubject(false); - public loading$: Observable = this.loadingSubject.asObservable(); - public activeOrg!: Org.AsObject; - public OrgListSearchKey: any = OrgListSearchKey; + public dataSource!: MatTableDataSource; + public displayedColumns: string[] = ['select', 'id', 'name', 'creationDate']; + private loadingSubject: BehaviorSubject = new BehaviorSubject(false); + public loading$: Observable = this.loadingSubject.asObservable(); + public activeOrg!: Org.AsObject; + public OrgListSearchKey: any = OrgListSearchKey; - constructor( - private authService: GrpcAuthService, - private router: Router, - ) { - this.loadOrgs(10, 0); + constructor( + private authService: GrpcAuthService, + private router: Router, + ) { + this.loadOrgs(10, 0); - this.authService.getActiveOrg().then(org => this.activeOrg = org); + this.authService.getActiveOrg().then(org => this.activeOrg = org); + } + + public ngAfterViewInit(): void { + this.loadOrgs(10, 0); + } + + public loadOrgs(limit: number, offset: number, filter?: string): void { + this.loadingSubject.next(true); + let query; + if (filter) { + query = new OrgQuery(); + const orgNameQuery = new OrgNameQuery(); + orgNameQuery.setMethod(TextQueryMethod.TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE); + orgNameQuery.setName(filter); + query.setNameQuery(orgNameQuery); } - public ngAfterViewInit(): void { - this.loadOrgs(10, 0); + from(this.authService.listMyProjectOrgs(limit, offset, query ? [query] : undefined)).pipe( + map(resp => { + return resp.resultList; + }), + catchError(() => of([])), + finalize(() => this.loadingSubject.next(false)), + ).subscribe(views => { + this.dataSource = new MatTableDataSource(views); + this.dataSource.paginator = this.paginator; + this.dataSource.sort = this.sort; + }); + } + + public selectOrg(item: Org.AsObject, event?: any): void { + this.authService.setActiveOrg(item); + } + + public refresh(): void { + this.loadOrgs(this.paginator.length, this.paginator.pageSize * this.paginator.pageIndex); + } + + public setFilter(key: OrgListSearchKey): void { + setTimeout(() => { + if (this.filter) { + (this.filter as any).nativeElement.focus(); + } + }, 100); + + if (this.orgSearchKey !== key) { + this.orgSearchKey = key; + } else { + this.orgSearchKey = undefined; + this.refresh(); } + } - public loadOrgs(limit: number, offset: number, filter?: string): void { - this.loadingSubject.next(true); - let query; - if (filter) { - query = new OrgQuery(); - const orgNameQuery = new OrgNameQuery(); - orgNameQuery.setMethod(TextQueryMethod.TEXT_QUERY_METHOD_CONTAINS_IGNORE_CASE); - orgNameQuery.setName(filter); - query.setNameQuery(orgNameQuery); - } + public applyFilter(event: Event): void { + const filterValue = (event.target as HTMLInputElement).value; + this.loadOrgs( + this.paginator.pageSize, + this.paginator.pageIndex * this.paginator.pageSize, + filterValue.trim().toLowerCase(), + ); + } - from(this.authService.listMyProjectOrgs(limit, offset, query ? [query] : undefined)).pipe( - map(resp => { - return resp.resultList; - }), - catchError(() => of([])), - finalize(() => this.loadingSubject.next(false)), - ).subscribe(views => { - this.dataSource = new MatTableDataSource(views); - this.dataSource.paginator = this.paginator; - this.dataSource.sort = this.sort; - }); - } - - public selectOrg(item: Org.AsObject, event?: any): void { - this.authService.setActiveOrg(item); - } - - public refresh(): void { - this.loadOrgs(this.paginator.length, this.paginator.pageSize * this.paginator.pageIndex); - } - - public setFilter(key: OrgListSearchKey): void { - setTimeout(() => { - if (this.filter) { - (this.filter as any).nativeElement.focus(); - } - }, 100); - - if (this.orgSearchKey !== key) { - this.orgSearchKey = key; - } else { - this.orgSearchKey = undefined; - this.refresh(); - } - } - - public applyFilter(event: Event): void { - const filterValue = (event.target as HTMLInputElement).value; - this.loadOrgs( - this.paginator.pageSize, - this.paginator.pageIndex * this.paginator.pageSize, - filterValue.trim().toLowerCase(), - ); - } - - public setAndNavigateToOrg(org: Org.AsObject): void { - this.authService.setActiveOrg(org); - this.router.navigate(['/org']); - } + public setAndNavigateToOrg(org: Org.AsObject): void { + this.authService.setActiveOrg(org); + this.router.navigate(['/org']); + } } diff --git a/console/src/app/services/subscription.service.ts b/console/src/app/services/subscription.service.ts new file mode 100644 index 0000000000..18d48119d3 --- /dev/null +++ b/console/src/app/services/subscription.service.ts @@ -0,0 +1,89 @@ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; + +import { StorageService } from './storage.service'; + +const authorizationKey = 'Authorization'; +const bearerPrefix = 'Bearer'; +const accessTokenStorageKey = 'access_token'; + +export interface StripeCustomer { + contact: string; + company?: string; + address: string; + city: string; + postal_code: string; + country: string; +} + +@Injectable({ + providedIn: 'root', +}) +export class SubscriptionService { + constructor(private http: HttpClient, private storageService: StorageService) { } + + public getLink(orgId: string, redirectURI: string): Promise { + return this.http.get('./assets/environment.json') + .toPromise().then((data: any) => { + if (data && data.subscriptionServiceUrl) { + const serviceUrl = data.subscriptionServiceUrl; + const accessToken = this.storageService.getItem(accessTokenStorageKey); + return this.http.get(`${serviceUrl}/redirect`, { + headers: { + // 'Content-Type': 'application/json; charset=utf-8', + [authorizationKey]: `${bearerPrefix} ${accessToken}`, + }, + params: { + 'org': orgId, + 'return_url': encodeURI(redirectURI), + 'country': 'ch', + }, + }).toPromise(); + } else { + return Promise.reject('Could not load environment'); + } + }); + } + + public getCustomer(orgId: string): Promise { + return this.http.get('./assets/environment.json') + .toPromise().then((data: any) => { + if (data && data.subscriptionServiceUrl) { + const serviceUrl = data.subscriptionServiceUrl; + const accessToken = this.storageService.getItem(accessTokenStorageKey); + return this.http.get(`${serviceUrl}/customer`, { + headers: { + // 'Content-Type': 'application/json; charset=utf-8', + [authorizationKey]: `${bearerPrefix} ${accessToken}`, + }, + params: { + 'org': orgId, + }, + }).toPromise(); + } else { + return Promise.reject('Could not load environment'); + } + }); + } + + public updateCustomer(orgId: string, body: StripeCustomer): Promise { + return this.http.get('./assets/environment.json') + .toPromise().then((data: any) => { + if (data && data.subscriptionServiceUrl) { + const serviceUrl = data.subscriptionServiceUrl; + const accessToken = this.storageService.getItem(accessTokenStorageKey); + return this.http.put(`${serviceUrl}/customer`, body, { + headers: { + // 'Content-Type': 'application/json; charset=utf-8', + [authorizationKey]: `${bearerPrefix} ${accessToken}`, + }, + params: { + 'org': orgId, + }, + }).toPromise(); + } else { + return Promise.reject('Could not load environment'); + } + }); + } +} diff --git a/console/src/assets/environment.json b/console/src/assets/environment.json index 0cf96248fa..ca98b5de45 100644 --- a/console/src/assets/environment.json +++ b/console/src/assets/environment.json @@ -2,6 +2,7 @@ "authServiceUrl": "https://api.zitadel.io", "mgmtServiceUrl": "https://api.zitadel.io", "adminServiceUrl":"https://api.zitadel.io", + "subscriptionServiceUrl":"https://sub.zitadel.io", "issuer": "https://issuer.zitadel.io", "clientid": "69234247558357051@zitadel" } diff --git a/console/src/assets/flags/ad.png b/console/src/assets/flags/ad.png new file mode 100644 index 0000000000..846542cdbe Binary files /dev/null and b/console/src/assets/flags/ad.png differ diff --git a/console/src/assets/flags/ae.png b/console/src/assets/flags/ae.png new file mode 100644 index 0000000000..8e0ae66541 Binary files /dev/null and b/console/src/assets/flags/ae.png differ diff --git a/console/src/assets/flags/af.png b/console/src/assets/flags/af.png new file mode 100644 index 0000000000..595b7efce4 Binary files /dev/null and b/console/src/assets/flags/af.png differ diff --git a/console/src/assets/flags/ag.png b/console/src/assets/flags/ag.png new file mode 100644 index 0000000000..b24f5035e3 Binary files /dev/null and b/console/src/assets/flags/ag.png differ diff --git a/console/src/assets/flags/ai.png b/console/src/assets/flags/ai.png new file mode 100644 index 0000000000..8b1d8ff637 Binary files /dev/null and b/console/src/assets/flags/ai.png differ diff --git a/console/src/assets/flags/al.png b/console/src/assets/flags/al.png new file mode 100644 index 0000000000..1e982f5ce9 Binary files /dev/null and b/console/src/assets/flags/al.png differ diff --git a/console/src/assets/flags/am.png b/console/src/assets/flags/am.png new file mode 100644 index 0000000000..9dd35f0d92 Binary files /dev/null and b/console/src/assets/flags/am.png differ diff --git a/console/src/assets/flags/an.png b/console/src/assets/flags/an.png new file mode 100644 index 0000000000..106bd2a2eb Binary files /dev/null and b/console/src/assets/flags/an.png differ diff --git a/console/src/assets/flags/ao.png b/console/src/assets/flags/ao.png new file mode 100644 index 0000000000..6adc1273ac Binary files /dev/null and b/console/src/assets/flags/ao.png differ diff --git a/console/src/assets/flags/aq.png b/console/src/assets/flags/aq.png new file mode 100644 index 0000000000..af04c665c7 Binary files /dev/null and b/console/src/assets/flags/aq.png differ diff --git a/console/src/assets/flags/ar.png b/console/src/assets/flags/ar.png new file mode 100644 index 0000000000..227f5833f4 Binary files /dev/null and b/console/src/assets/flags/ar.png differ diff --git a/console/src/assets/flags/as.png b/console/src/assets/flags/as.png new file mode 100644 index 0000000000..288ff24238 Binary files /dev/null and b/console/src/assets/flags/as.png differ diff --git a/console/src/assets/flags/at.png b/console/src/assets/flags/at.png new file mode 100644 index 0000000000..05dbd1d6fe Binary files /dev/null and b/console/src/assets/flags/at.png differ diff --git a/console/src/assets/flags/au.png b/console/src/assets/flags/au.png new file mode 100644 index 0000000000..adae096723 Binary files /dev/null and b/console/src/assets/flags/au.png differ diff --git a/console/src/assets/flags/aw.png b/console/src/assets/flags/aw.png new file mode 100644 index 0000000000..8c751ddb52 Binary files /dev/null and b/console/src/assets/flags/aw.png differ diff --git a/console/src/assets/flags/ax.png b/console/src/assets/flags/ax.png new file mode 100644 index 0000000000..c3df4adf8d Binary files /dev/null and b/console/src/assets/flags/ax.png differ diff --git a/console/src/assets/flags/az.png b/console/src/assets/flags/az.png new file mode 100644 index 0000000000..56772580c7 Binary files /dev/null and b/console/src/assets/flags/az.png differ diff --git a/console/src/assets/flags/ba.png b/console/src/assets/flags/ba.png new file mode 100644 index 0000000000..ebf59ee2b6 Binary files /dev/null and b/console/src/assets/flags/ba.png differ diff --git a/console/src/assets/flags/bb.png b/console/src/assets/flags/bb.png new file mode 100644 index 0000000000..d4c4d21188 Binary files /dev/null and b/console/src/assets/flags/bb.png differ diff --git a/console/src/assets/flags/bd.png b/console/src/assets/flags/bd.png new file mode 100644 index 0000000000..03de972e9d Binary files /dev/null and b/console/src/assets/flags/bd.png differ diff --git a/console/src/assets/flags/be.png b/console/src/assets/flags/be.png new file mode 100644 index 0000000000..661fbf8009 Binary files /dev/null and b/console/src/assets/flags/be.png differ diff --git a/console/src/assets/flags/bf.png b/console/src/assets/flags/bf.png new file mode 100644 index 0000000000..013df303e0 Binary files /dev/null and b/console/src/assets/flags/bf.png differ diff --git a/console/src/assets/flags/bg.png b/console/src/assets/flags/bg.png new file mode 100644 index 0000000000..ab3eb4f151 Binary files /dev/null and b/console/src/assets/flags/bg.png differ diff --git a/console/src/assets/flags/bh.png b/console/src/assets/flags/bh.png new file mode 100644 index 0000000000..962b629998 Binary files /dev/null and b/console/src/assets/flags/bh.png differ diff --git a/console/src/assets/flags/bi.png b/console/src/assets/flags/bi.png new file mode 100644 index 0000000000..e1f243a377 Binary files /dev/null and b/console/src/assets/flags/bi.png differ diff --git a/console/src/assets/flags/bj.png b/console/src/assets/flags/bj.png new file mode 100644 index 0000000000..83c9474f97 Binary files /dev/null and b/console/src/assets/flags/bj.png differ diff --git a/console/src/assets/flags/bl.png b/console/src/assets/flags/bl.png new file mode 100644 index 0000000000..1bc60c0c69 Binary files /dev/null and b/console/src/assets/flags/bl.png differ diff --git a/console/src/assets/flags/bm.png b/console/src/assets/flags/bm.png new file mode 100644 index 0000000000..dc047d2ff2 Binary files /dev/null and b/console/src/assets/flags/bm.png differ diff --git a/console/src/assets/flags/bn.png b/console/src/assets/flags/bn.png new file mode 100644 index 0000000000..808c99856b Binary files /dev/null and b/console/src/assets/flags/bn.png differ diff --git a/console/src/assets/flags/bo.png b/console/src/assets/flags/bo.png new file mode 100644 index 0000000000..3bc5e13b2e Binary files /dev/null and b/console/src/assets/flags/bo.png differ diff --git a/console/src/assets/flags/bq.png b/console/src/assets/flags/bq.png new file mode 100644 index 0000000000..f545dc87cc Binary files /dev/null and b/console/src/assets/flags/bq.png differ diff --git a/console/src/assets/flags/br.png b/console/src/assets/flags/br.png new file mode 100644 index 0000000000..8a3d828554 Binary files /dev/null and b/console/src/assets/flags/br.png differ diff --git a/console/src/assets/flags/bs.png b/console/src/assets/flags/bs.png new file mode 100644 index 0000000000..34f40627ff Binary files /dev/null and b/console/src/assets/flags/bs.png differ diff --git a/console/src/assets/flags/bt.png b/console/src/assets/flags/bt.png new file mode 100644 index 0000000000..00293d4464 Binary files /dev/null and b/console/src/assets/flags/bt.png differ diff --git a/console/src/assets/flags/bv.png b/console/src/assets/flags/bv.png new file mode 100644 index 0000000000..b7a42f40c0 Binary files /dev/null and b/console/src/assets/flags/bv.png differ diff --git a/console/src/assets/flags/bw.png b/console/src/assets/flags/bw.png new file mode 100644 index 0000000000..04446c4539 Binary files /dev/null and b/console/src/assets/flags/bw.png differ diff --git a/console/src/assets/flags/by.png b/console/src/assets/flags/by.png new file mode 100644 index 0000000000..fd740b664e Binary files /dev/null and b/console/src/assets/flags/by.png differ diff --git a/console/src/assets/flags/bz.png b/console/src/assets/flags/bz.png new file mode 100644 index 0000000000..e5e9aff351 Binary files /dev/null and b/console/src/assets/flags/bz.png differ diff --git a/console/src/assets/flags/ca.png b/console/src/assets/flags/ca.png new file mode 100644 index 0000000000..7d55d12873 Binary files /dev/null and b/console/src/assets/flags/ca.png differ diff --git a/console/src/assets/flags/cc.png b/console/src/assets/flags/cc.png new file mode 100644 index 0000000000..f8b557e66e Binary files /dev/null and b/console/src/assets/flags/cc.png differ diff --git a/console/src/assets/flags/cd.png b/console/src/assets/flags/cd.png new file mode 100644 index 0000000000..3fe23d5690 Binary files /dev/null and b/console/src/assets/flags/cd.png differ diff --git a/console/src/assets/flags/cf.png b/console/src/assets/flags/cf.png new file mode 100644 index 0000000000..7abb03f23c Binary files /dev/null and b/console/src/assets/flags/cf.png differ diff --git a/console/src/assets/flags/cg.png b/console/src/assets/flags/cg.png new file mode 100644 index 0000000000..2b4d6eb14a Binary files /dev/null and b/console/src/assets/flags/cg.png differ diff --git a/console/src/assets/flags/ch.png b/console/src/assets/flags/ch.png new file mode 100644 index 0000000000..dfea9c01cf Binary files /dev/null and b/console/src/assets/flags/ch.png differ diff --git a/console/src/assets/flags/ci.png b/console/src/assets/flags/ci.png new file mode 100644 index 0000000000..97a79e2b68 Binary files /dev/null and b/console/src/assets/flags/ci.png differ diff --git a/console/src/assets/flags/ck.png b/console/src/assets/flags/ck.png new file mode 100644 index 0000000000..596e26af04 Binary files /dev/null and b/console/src/assets/flags/ck.png differ diff --git a/console/src/assets/flags/cl.png b/console/src/assets/flags/cl.png new file mode 100644 index 0000000000..e9098dacc9 Binary files /dev/null and b/console/src/assets/flags/cl.png differ diff --git a/console/src/assets/flags/cm.png b/console/src/assets/flags/cm.png new file mode 100644 index 0000000000..39b180f693 Binary files /dev/null and b/console/src/assets/flags/cm.png differ diff --git a/console/src/assets/flags/cn.png b/console/src/assets/flags/cn.png new file mode 100644 index 0000000000..2496dd47eb Binary files /dev/null and b/console/src/assets/flags/cn.png differ diff --git a/console/src/assets/flags/co.png b/console/src/assets/flags/co.png new file mode 100644 index 0000000000..6fcfd962ab Binary files /dev/null and b/console/src/assets/flags/co.png differ diff --git a/console/src/assets/flags/cr.png b/console/src/assets/flags/cr.png new file mode 100644 index 0000000000..d4a25c2768 Binary files /dev/null and b/console/src/assets/flags/cr.png differ diff --git a/console/src/assets/flags/cu.png b/console/src/assets/flags/cu.png new file mode 100644 index 0000000000..b985136e60 Binary files /dev/null and b/console/src/assets/flags/cu.png differ diff --git a/console/src/assets/flags/cv.png b/console/src/assets/flags/cv.png new file mode 100644 index 0000000000..d88b1146ec Binary files /dev/null and b/console/src/assets/flags/cv.png differ diff --git a/console/src/assets/flags/cw.png b/console/src/assets/flags/cw.png new file mode 100644 index 0000000000..28c5e325f3 Binary files /dev/null and b/console/src/assets/flags/cw.png differ diff --git a/console/src/assets/flags/cx.png b/console/src/assets/flags/cx.png new file mode 100644 index 0000000000..c59008891e Binary files /dev/null and b/console/src/assets/flags/cx.png differ diff --git a/console/src/assets/flags/cy.png b/console/src/assets/flags/cy.png new file mode 100644 index 0000000000..38a7088dd7 Binary files /dev/null and b/console/src/assets/flags/cy.png differ diff --git a/console/src/assets/flags/cz.png b/console/src/assets/flags/cz.png new file mode 100644 index 0000000000..60581bd33d Binary files /dev/null and b/console/src/assets/flags/cz.png differ diff --git a/console/src/assets/flags/de.png b/console/src/assets/flags/de.png new file mode 100644 index 0000000000..f078fdfe23 Binary files /dev/null and b/console/src/assets/flags/de.png differ diff --git a/console/src/assets/flags/dj.png b/console/src/assets/flags/dj.png new file mode 100644 index 0000000000..ebeca85ec0 Binary files /dev/null and b/console/src/assets/flags/dj.png differ diff --git a/console/src/assets/flags/dk.png b/console/src/assets/flags/dk.png new file mode 100644 index 0000000000..c6f15a7cf6 Binary files /dev/null and b/console/src/assets/flags/dk.png differ diff --git a/console/src/assets/flags/dm.png b/console/src/assets/flags/dm.png new file mode 100644 index 0000000000..09a1f8d8b2 Binary files /dev/null and b/console/src/assets/flags/dm.png differ diff --git a/console/src/assets/flags/do.png b/console/src/assets/flags/do.png new file mode 100644 index 0000000000..b3f5aa90cc Binary files /dev/null and b/console/src/assets/flags/do.png differ diff --git a/console/src/assets/flags/dz.png b/console/src/assets/flags/dz.png new file mode 100644 index 0000000000..f42f3a0949 Binary files /dev/null and b/console/src/assets/flags/dz.png differ diff --git a/console/src/assets/flags/ec.png b/console/src/assets/flags/ec.png new file mode 100644 index 0000000000..3bc0309f90 Binary files /dev/null and b/console/src/assets/flags/ec.png differ diff --git a/console/src/assets/flags/ee.png b/console/src/assets/flags/ee.png new file mode 100644 index 0000000000..56aed18ac7 Binary files /dev/null and b/console/src/assets/flags/ee.png differ diff --git a/console/src/assets/flags/eg.png b/console/src/assets/flags/eg.png new file mode 100644 index 0000000000..903764422a Binary files /dev/null and b/console/src/assets/flags/eg.png differ diff --git a/console/src/assets/flags/eh.png b/console/src/assets/flags/eh.png new file mode 100644 index 0000000000..b4f4daebf5 Binary files /dev/null and b/console/src/assets/flags/eh.png differ diff --git a/console/src/assets/flags/er.png b/console/src/assets/flags/er.png new file mode 100644 index 0000000000..6f6c0ab72e Binary files /dev/null and b/console/src/assets/flags/er.png differ diff --git a/console/src/assets/flags/es.png b/console/src/assets/flags/es.png new file mode 100644 index 0000000000..fdc3676851 Binary files /dev/null and b/console/src/assets/flags/es.png differ diff --git a/console/src/assets/flags/et.png b/console/src/assets/flags/et.png new file mode 100644 index 0000000000..1e6898d54c Binary files /dev/null and b/console/src/assets/flags/et.png differ diff --git a/console/src/assets/flags/eu.png b/console/src/assets/flags/eu.png new file mode 100644 index 0000000000..5642ff8330 Binary files /dev/null and b/console/src/assets/flags/eu.png differ diff --git a/console/src/assets/flags/fi.png b/console/src/assets/flags/fi.png new file mode 100644 index 0000000000..7c1f9087f8 Binary files /dev/null and b/console/src/assets/flags/fi.png differ diff --git a/console/src/assets/flags/fj.png b/console/src/assets/flags/fj.png new file mode 100644 index 0000000000..2851b327bf Binary files /dev/null and b/console/src/assets/flags/fj.png differ diff --git a/console/src/assets/flags/fk.png b/console/src/assets/flags/fk.png new file mode 100644 index 0000000000..4d6b0a3f8c Binary files /dev/null and b/console/src/assets/flags/fk.png differ diff --git a/console/src/assets/flags/fm.png b/console/src/assets/flags/fm.png new file mode 100644 index 0000000000..49fff788f7 Binary files /dev/null and b/console/src/assets/flags/fm.png differ diff --git a/console/src/assets/flags/fo.png b/console/src/assets/flags/fo.png new file mode 100644 index 0000000000..6a1e04805b Binary files /dev/null and b/console/src/assets/flags/fo.png differ diff --git a/console/src/assets/flags/fr.png b/console/src/assets/flags/fr.png new file mode 100644 index 0000000000..6a196cb7e8 Binary files /dev/null and b/console/src/assets/flags/fr.png differ diff --git a/console/src/assets/flags/ga.png b/console/src/assets/flags/ga.png new file mode 100644 index 0000000000..dcade0052d Binary files /dev/null and b/console/src/assets/flags/ga.png differ diff --git a/console/src/assets/flags/gb-eng.png b/console/src/assets/flags/gb-eng.png new file mode 100644 index 0000000000..b534e62892 Binary files /dev/null and b/console/src/assets/flags/gb-eng.png differ diff --git a/console/src/assets/flags/gb-nir.png b/console/src/assets/flags/gb-nir.png new file mode 100644 index 0000000000..73f289785d Binary files /dev/null and b/console/src/assets/flags/gb-nir.png differ diff --git a/console/src/assets/flags/gb-sct.png b/console/src/assets/flags/gb-sct.png new file mode 100644 index 0000000000..77e7368220 Binary files /dev/null and b/console/src/assets/flags/gb-sct.png differ diff --git a/console/src/assets/flags/gb-wls.png b/console/src/assets/flags/gb-wls.png new file mode 100644 index 0000000000..8ee69cd47d Binary files /dev/null and b/console/src/assets/flags/gb-wls.png differ diff --git a/console/src/assets/flags/gb.png b/console/src/assets/flags/gb.png new file mode 100644 index 0000000000..111958c538 Binary files /dev/null and b/console/src/assets/flags/gb.png differ diff --git a/console/src/assets/flags/gd.png b/console/src/assets/flags/gd.png new file mode 100644 index 0000000000..500330635f Binary files /dev/null and b/console/src/assets/flags/gd.png differ diff --git a/console/src/assets/flags/ge.png b/console/src/assets/flags/ge.png new file mode 100644 index 0000000000..1bf880b819 Binary files /dev/null and b/console/src/assets/flags/ge.png differ diff --git a/console/src/assets/flags/gf.png b/console/src/assets/flags/gf.png new file mode 100644 index 0000000000..8837ca6b31 Binary files /dev/null and b/console/src/assets/flags/gf.png differ diff --git a/console/src/assets/flags/gg.png b/console/src/assets/flags/gg.png new file mode 100644 index 0000000000..e7343041f3 Binary files /dev/null and b/console/src/assets/flags/gg.png differ diff --git a/console/src/assets/flags/gh.png b/console/src/assets/flags/gh.png new file mode 100644 index 0000000000..a0b3df7290 Binary files /dev/null and b/console/src/assets/flags/gh.png differ diff --git a/console/src/assets/flags/gi.png b/console/src/assets/flags/gi.png new file mode 100644 index 0000000000..81968dfbb2 Binary files /dev/null and b/console/src/assets/flags/gi.png differ diff --git a/console/src/assets/flags/gl.png b/console/src/assets/flags/gl.png new file mode 100644 index 0000000000..f2c3721848 Binary files /dev/null and b/console/src/assets/flags/gl.png differ diff --git a/console/src/assets/flags/gm.png b/console/src/assets/flags/gm.png new file mode 100644 index 0000000000..2a70b15d58 Binary files /dev/null and b/console/src/assets/flags/gm.png differ diff --git a/console/src/assets/flags/gn.png b/console/src/assets/flags/gn.png new file mode 100644 index 0000000000..609fd66453 Binary files /dev/null and b/console/src/assets/flags/gn.png differ diff --git a/console/src/assets/flags/gp.png b/console/src/assets/flags/gp.png new file mode 100644 index 0000000000..6a196cb7e8 Binary files /dev/null and b/console/src/assets/flags/gp.png differ diff --git a/console/src/assets/flags/gq.png b/console/src/assets/flags/gq.png new file mode 100644 index 0000000000..463acb1fb5 Binary files /dev/null and b/console/src/assets/flags/gq.png differ diff --git a/console/src/assets/flags/gr.png b/console/src/assets/flags/gr.png new file mode 100644 index 0000000000..a72d6a777e Binary files /dev/null and b/console/src/assets/flags/gr.png differ diff --git a/console/src/assets/flags/gs.png b/console/src/assets/flags/gs.png new file mode 100644 index 0000000000..042d7162a7 Binary files /dev/null and b/console/src/assets/flags/gs.png differ diff --git a/console/src/assets/flags/gt.png b/console/src/assets/flags/gt.png new file mode 100644 index 0000000000..cbb3fc94ff Binary files /dev/null and b/console/src/assets/flags/gt.png differ diff --git a/console/src/assets/flags/gu.png b/console/src/assets/flags/gu.png new file mode 100644 index 0000000000..9c9a0e9090 Binary files /dev/null and b/console/src/assets/flags/gu.png differ diff --git a/console/src/assets/flags/gw.png b/console/src/assets/flags/gw.png new file mode 100644 index 0000000000..84645155cc Binary files /dev/null and b/console/src/assets/flags/gw.png differ diff --git a/console/src/assets/flags/gy.png b/console/src/assets/flags/gy.png new file mode 100644 index 0000000000..fcdf7eddfc Binary files /dev/null and b/console/src/assets/flags/gy.png differ diff --git a/console/src/assets/flags/hk.png b/console/src/assets/flags/hk.png new file mode 100644 index 0000000000..56b0d5896a Binary files /dev/null and b/console/src/assets/flags/hk.png differ diff --git a/console/src/assets/flags/hm.png b/console/src/assets/flags/hm.png new file mode 100644 index 0000000000..50bc1cc989 Binary files /dev/null and b/console/src/assets/flags/hm.png differ diff --git a/console/src/assets/flags/hn.png b/console/src/assets/flags/hn.png new file mode 100644 index 0000000000..57e3d46a40 Binary files /dev/null and b/console/src/assets/flags/hn.png differ diff --git a/console/src/assets/flags/hr.png b/console/src/assets/flags/hr.png new file mode 100644 index 0000000000..9cfc1dcd1e Binary files /dev/null and b/console/src/assets/flags/hr.png differ diff --git a/console/src/assets/flags/ht.png b/console/src/assets/flags/ht.png new file mode 100644 index 0000000000..22fe706696 Binary files /dev/null and b/console/src/assets/flags/ht.png differ diff --git a/console/src/assets/flags/hu.png b/console/src/assets/flags/hu.png new file mode 100644 index 0000000000..d181d5d744 Binary files /dev/null and b/console/src/assets/flags/hu.png differ diff --git a/console/src/assets/flags/id.png b/console/src/assets/flags/id.png new file mode 100644 index 0000000000..072bd8c6dd Binary files /dev/null and b/console/src/assets/flags/id.png differ diff --git a/console/src/assets/flags/ie.png b/console/src/assets/flags/ie.png new file mode 100644 index 0000000000..10fbab9caf Binary files /dev/null and b/console/src/assets/flags/ie.png differ diff --git a/console/src/assets/flags/il.png b/console/src/assets/flags/il.png new file mode 100644 index 0000000000..52ab91eaf7 Binary files /dev/null and b/console/src/assets/flags/il.png differ diff --git a/console/src/assets/flags/im.png b/console/src/assets/flags/im.png new file mode 100644 index 0000000000..a60ba2d07e Binary files /dev/null and b/console/src/assets/flags/im.png differ diff --git a/console/src/assets/flags/in.png b/console/src/assets/flags/in.png new file mode 100644 index 0000000000..9e6d995658 Binary files /dev/null and b/console/src/assets/flags/in.png differ diff --git a/console/src/assets/flags/io.png b/console/src/assets/flags/io.png new file mode 100644 index 0000000000..0ec604a18d Binary files /dev/null and b/console/src/assets/flags/io.png differ diff --git a/console/src/assets/flags/iq.png b/console/src/assets/flags/iq.png new file mode 100644 index 0000000000..1d2433e09b Binary files /dev/null and b/console/src/assets/flags/iq.png differ diff --git a/console/src/assets/flags/ir.png b/console/src/assets/flags/ir.png new file mode 100644 index 0000000000..690b8a0129 Binary files /dev/null and b/console/src/assets/flags/ir.png differ diff --git a/console/src/assets/flags/is.png b/console/src/assets/flags/is.png new file mode 100644 index 0000000000..ff6cb997cf Binary files /dev/null and b/console/src/assets/flags/is.png differ diff --git a/console/src/assets/flags/it.png b/console/src/assets/flags/it.png new file mode 100644 index 0000000000..3f5e25b17c Binary files /dev/null and b/console/src/assets/flags/it.png differ diff --git a/console/src/assets/flags/je.png b/console/src/assets/flags/je.png new file mode 100644 index 0000000000..c2cea04d34 Binary files /dev/null and b/console/src/assets/flags/je.png differ diff --git a/console/src/assets/flags/jm.png b/console/src/assets/flags/jm.png new file mode 100644 index 0000000000..37a079e7d6 Binary files /dev/null and b/console/src/assets/flags/jm.png differ diff --git a/console/src/assets/flags/jo.png b/console/src/assets/flags/jo.png new file mode 100644 index 0000000000..67b433d1a8 Binary files /dev/null and b/console/src/assets/flags/jo.png differ diff --git a/console/src/assets/flags/jp.png b/console/src/assets/flags/jp.png new file mode 100644 index 0000000000..7fe6ba7b8a Binary files /dev/null and b/console/src/assets/flags/jp.png differ diff --git a/console/src/assets/flags/ke.png b/console/src/assets/flags/ke.png new file mode 100644 index 0000000000..40440c743a Binary files /dev/null and b/console/src/assets/flags/ke.png differ diff --git a/console/src/assets/flags/kg.png b/console/src/assets/flags/kg.png new file mode 100644 index 0000000000..e7c2c5d72e Binary files /dev/null and b/console/src/assets/flags/kg.png differ diff --git a/console/src/assets/flags/kh.png b/console/src/assets/flags/kh.png new file mode 100644 index 0000000000..49795a0d14 Binary files /dev/null and b/console/src/assets/flags/kh.png differ diff --git a/console/src/assets/flags/ki.png b/console/src/assets/flags/ki.png new file mode 100644 index 0000000000..01781db0aa Binary files /dev/null and b/console/src/assets/flags/ki.png differ diff --git a/console/src/assets/flags/km.png b/console/src/assets/flags/km.png new file mode 100644 index 0000000000..79e5e10f0b Binary files /dev/null and b/console/src/assets/flags/km.png differ diff --git a/console/src/assets/flags/kn.png b/console/src/assets/flags/kn.png new file mode 100644 index 0000000000..ddb20039b3 Binary files /dev/null and b/console/src/assets/flags/kn.png differ diff --git a/console/src/assets/flags/kp.png b/console/src/assets/flags/kp.png new file mode 100644 index 0000000000..5a22518753 Binary files /dev/null and b/console/src/assets/flags/kp.png differ diff --git a/console/src/assets/flags/kr.png b/console/src/assets/flags/kr.png new file mode 100644 index 0000000000..177bf558de Binary files /dev/null and b/console/src/assets/flags/kr.png differ diff --git a/console/src/assets/flags/kw.png b/console/src/assets/flags/kw.png new file mode 100644 index 0000000000..c83cb1f3c3 Binary files /dev/null and b/console/src/assets/flags/kw.png differ diff --git a/console/src/assets/flags/ky.png b/console/src/assets/flags/ky.png new file mode 100644 index 0000000000..1d2e3ba557 Binary files /dev/null and b/console/src/assets/flags/ky.png differ diff --git a/console/src/assets/flags/kz.png b/console/src/assets/flags/kz.png new file mode 100644 index 0000000000..c5969a01ce Binary files /dev/null and b/console/src/assets/flags/kz.png differ diff --git a/console/src/assets/flags/la.png b/console/src/assets/flags/la.png new file mode 100644 index 0000000000..911fe337f2 Binary files /dev/null and b/console/src/assets/flags/la.png differ diff --git a/console/src/assets/flags/lb.png b/console/src/assets/flags/lb.png new file mode 100644 index 0000000000..f608b4d0c0 Binary files /dev/null and b/console/src/assets/flags/lb.png differ diff --git a/console/src/assets/flags/lc.png b/console/src/assets/flags/lc.png new file mode 100644 index 0000000000..a87df3b2d9 Binary files /dev/null and b/console/src/assets/flags/lc.png differ diff --git a/console/src/assets/flags/li.png b/console/src/assets/flags/li.png new file mode 100644 index 0000000000..80e8f5750a Binary files /dev/null and b/console/src/assets/flags/li.png differ diff --git a/console/src/assets/flags/lk.png b/console/src/assets/flags/lk.png new file mode 100644 index 0000000000..32800edb63 Binary files /dev/null and b/console/src/assets/flags/lk.png differ diff --git a/console/src/assets/flags/lr.png b/console/src/assets/flags/lr.png new file mode 100644 index 0000000000..b85ac8cd99 Binary files /dev/null and b/console/src/assets/flags/lr.png differ diff --git a/console/src/assets/flags/ls.png b/console/src/assets/flags/ls.png new file mode 100644 index 0000000000..1ac6c88bbd Binary files /dev/null and b/console/src/assets/flags/ls.png differ diff --git a/console/src/assets/flags/lt.png b/console/src/assets/flags/lt.png new file mode 100644 index 0000000000..c8bed373d3 Binary files /dev/null and b/console/src/assets/flags/lt.png differ diff --git a/console/src/assets/flags/lu.png b/console/src/assets/flags/lu.png new file mode 100644 index 0000000000..0937120d56 Binary files /dev/null and b/console/src/assets/flags/lu.png differ diff --git a/console/src/assets/flags/lv.png b/console/src/assets/flags/lv.png new file mode 100644 index 0000000000..5447b3f489 Binary files /dev/null and b/console/src/assets/flags/lv.png differ diff --git a/console/src/assets/flags/ly.png b/console/src/assets/flags/ly.png new file mode 100644 index 0000000000..bfb0ba0b8f Binary files /dev/null and b/console/src/assets/flags/ly.png differ diff --git a/console/src/assets/flags/ma.png b/console/src/assets/flags/ma.png new file mode 100644 index 0000000000..2cdc002ae4 Binary files /dev/null and b/console/src/assets/flags/ma.png differ diff --git a/console/src/assets/flags/mc.png b/console/src/assets/flags/mc.png new file mode 100644 index 0000000000..f40ca3ef9a Binary files /dev/null and b/console/src/assets/flags/mc.png differ diff --git a/console/src/assets/flags/md.png b/console/src/assets/flags/md.png new file mode 100644 index 0000000000..f53039de72 Binary files /dev/null and b/console/src/assets/flags/md.png differ diff --git a/console/src/assets/flags/me.png b/console/src/assets/flags/me.png new file mode 100644 index 0000000000..fdbcd3a30d Binary files /dev/null and b/console/src/assets/flags/me.png differ diff --git a/console/src/assets/flags/mf.png b/console/src/assets/flags/mf.png new file mode 100644 index 0000000000..6a196cb7e8 Binary files /dev/null and b/console/src/assets/flags/mf.png differ diff --git a/console/src/assets/flags/mg.png b/console/src/assets/flags/mg.png new file mode 100644 index 0000000000..21ccba3667 Binary files /dev/null and b/console/src/assets/flags/mg.png differ diff --git a/console/src/assets/flags/mh.png b/console/src/assets/flags/mh.png new file mode 100644 index 0000000000..9afbb7f4f4 Binary files /dev/null and b/console/src/assets/flags/mh.png differ diff --git a/console/src/assets/flags/mk.png b/console/src/assets/flags/mk.png new file mode 100644 index 0000000000..9e2a9cf4b8 Binary files /dev/null and b/console/src/assets/flags/mk.png differ diff --git a/console/src/assets/flags/ml.png b/console/src/assets/flags/ml.png new file mode 100644 index 0000000000..f0e9990f68 Binary files /dev/null and b/console/src/assets/flags/ml.png differ diff --git a/console/src/assets/flags/mm.png b/console/src/assets/flags/mm.png new file mode 100644 index 0000000000..7b4ff91471 Binary files /dev/null and b/console/src/assets/flags/mm.png differ diff --git a/console/src/assets/flags/mn.png b/console/src/assets/flags/mn.png new file mode 100644 index 0000000000..fc148fa918 Binary files /dev/null and b/console/src/assets/flags/mn.png differ diff --git a/console/src/assets/flags/mo.png b/console/src/assets/flags/mo.png new file mode 100644 index 0000000000..0e58eba2aa Binary files /dev/null and b/console/src/assets/flags/mo.png differ diff --git a/console/src/assets/flags/mp.png b/console/src/assets/flags/mp.png new file mode 100644 index 0000000000..03f8fb8840 Binary files /dev/null and b/console/src/assets/flags/mp.png differ diff --git a/console/src/assets/flags/mq.png b/console/src/assets/flags/mq.png new file mode 100644 index 0000000000..856cbe2222 Binary files /dev/null and b/console/src/assets/flags/mq.png differ diff --git a/console/src/assets/flags/mr.png b/console/src/assets/flags/mr.png new file mode 100644 index 0000000000..94794651d5 Binary files /dev/null and b/console/src/assets/flags/mr.png differ diff --git a/console/src/assets/flags/ms.png b/console/src/assets/flags/ms.png new file mode 100644 index 0000000000..cf7930b672 Binary files /dev/null and b/console/src/assets/flags/ms.png differ diff --git a/console/src/assets/flags/mt.png b/console/src/assets/flags/mt.png new file mode 100644 index 0000000000..78864e14bf Binary files /dev/null and b/console/src/assets/flags/mt.png differ diff --git a/console/src/assets/flags/mu.png b/console/src/assets/flags/mu.png new file mode 100644 index 0000000000..b41654629e Binary files /dev/null and b/console/src/assets/flags/mu.png differ diff --git a/console/src/assets/flags/mv.png b/console/src/assets/flags/mv.png new file mode 100644 index 0000000000..9ef9a57177 Binary files /dev/null and b/console/src/assets/flags/mv.png differ diff --git a/console/src/assets/flags/mw.png b/console/src/assets/flags/mw.png new file mode 100644 index 0000000000..c18b8cda08 Binary files /dev/null and b/console/src/assets/flags/mw.png differ diff --git a/console/src/assets/flags/mx.png b/console/src/assets/flags/mx.png new file mode 100644 index 0000000000..5f60377ec9 Binary files /dev/null and b/console/src/assets/flags/mx.png differ diff --git a/console/src/assets/flags/my.png b/console/src/assets/flags/my.png new file mode 100644 index 0000000000..57335a2684 Binary files /dev/null and b/console/src/assets/flags/my.png differ diff --git a/console/src/assets/flags/mz.png b/console/src/assets/flags/mz.png new file mode 100644 index 0000000000..45c0528c7b Binary files /dev/null and b/console/src/assets/flags/mz.png differ diff --git a/console/src/assets/flags/na.png b/console/src/assets/flags/na.png new file mode 100644 index 0000000000..17ce857164 Binary files /dev/null and b/console/src/assets/flags/na.png differ diff --git a/console/src/assets/flags/nc.png b/console/src/assets/flags/nc.png new file mode 100644 index 0000000000..7a9fd0102e Binary files /dev/null and b/console/src/assets/flags/nc.png differ diff --git a/console/src/assets/flags/ne.png b/console/src/assets/flags/ne.png new file mode 100644 index 0000000000..bb13b9d29b Binary files /dev/null and b/console/src/assets/flags/ne.png differ diff --git a/console/src/assets/flags/nf.png b/console/src/assets/flags/nf.png new file mode 100644 index 0000000000..27e496fd58 Binary files /dev/null and b/console/src/assets/flags/nf.png differ diff --git a/console/src/assets/flags/ng.png b/console/src/assets/flags/ng.png new file mode 100644 index 0000000000..fd111eb07c Binary files /dev/null and b/console/src/assets/flags/ng.png differ diff --git a/console/src/assets/flags/ni.png b/console/src/assets/flags/ni.png new file mode 100644 index 0000000000..4b9e65adea Binary files /dev/null and b/console/src/assets/flags/ni.png differ diff --git a/console/src/assets/flags/nl.png b/console/src/assets/flags/nl.png new file mode 100644 index 0000000000..f545dc87cc Binary files /dev/null and b/console/src/assets/flags/nl.png differ diff --git a/console/src/assets/flags/no.png b/console/src/assets/flags/no.png new file mode 100644 index 0000000000..b7a42f40c0 Binary files /dev/null and b/console/src/assets/flags/no.png differ diff --git a/console/src/assets/flags/np.png b/console/src/assets/flags/np.png new file mode 100644 index 0000000000..0b999dcdb2 Binary files /dev/null and b/console/src/assets/flags/np.png differ diff --git a/console/src/assets/flags/nr.png b/console/src/assets/flags/nr.png new file mode 100644 index 0000000000..a592cd56d2 Binary files /dev/null and b/console/src/assets/flags/nr.png differ diff --git a/console/src/assets/flags/nu.png b/console/src/assets/flags/nu.png new file mode 100644 index 0000000000..03022d11be Binary files /dev/null and b/console/src/assets/flags/nu.png differ diff --git a/console/src/assets/flags/nz.png b/console/src/assets/flags/nz.png new file mode 100644 index 0000000000..003b39e45b Binary files /dev/null and b/console/src/assets/flags/nz.png differ diff --git a/console/src/assets/flags/om.png b/console/src/assets/flags/om.png new file mode 100644 index 0000000000..5e897df4c4 Binary files /dev/null and b/console/src/assets/flags/om.png differ diff --git a/console/src/assets/flags/pa.png b/console/src/assets/flags/pa.png new file mode 100644 index 0000000000..fa5d81f93e Binary files /dev/null and b/console/src/assets/flags/pa.png differ diff --git a/console/src/assets/flags/pe.png b/console/src/assets/flags/pe.png new file mode 100644 index 0000000000..bde82dda63 Binary files /dev/null and b/console/src/assets/flags/pe.png differ diff --git a/console/src/assets/flags/pf.png b/console/src/assets/flags/pf.png new file mode 100644 index 0000000000..935998b48a Binary files /dev/null and b/console/src/assets/flags/pf.png differ diff --git a/console/src/assets/flags/pg.png b/console/src/assets/flags/pg.png new file mode 100644 index 0000000000..41de0148a7 Binary files /dev/null and b/console/src/assets/flags/pg.png differ diff --git a/console/src/assets/flags/ph.png b/console/src/assets/flags/ph.png new file mode 100644 index 0000000000..7e34562d6a Binary files /dev/null and b/console/src/assets/flags/ph.png differ diff --git a/console/src/assets/flags/pk.png b/console/src/assets/flags/pk.png new file mode 100644 index 0000000000..e44e9035b4 Binary files /dev/null and b/console/src/assets/flags/pk.png differ diff --git a/console/src/assets/flags/pl.png b/console/src/assets/flags/pl.png new file mode 100644 index 0000000000..8fd1bdfe07 Binary files /dev/null and b/console/src/assets/flags/pl.png differ diff --git a/console/src/assets/flags/pm.png b/console/src/assets/flags/pm.png new file mode 100644 index 0000000000..6a196cb7e8 Binary files /dev/null and b/console/src/assets/flags/pm.png differ diff --git a/console/src/assets/flags/pn.png b/console/src/assets/flags/pn.png new file mode 100644 index 0000000000..c94757e8ff Binary files /dev/null and b/console/src/assets/flags/pn.png differ diff --git a/console/src/assets/flags/pr.png b/console/src/assets/flags/pr.png new file mode 100644 index 0000000000..4486c8fdfc Binary files /dev/null and b/console/src/assets/flags/pr.png differ diff --git a/console/src/assets/flags/ps.png b/console/src/assets/flags/ps.png new file mode 100644 index 0000000000..15d345e1ab Binary files /dev/null and b/console/src/assets/flags/ps.png differ diff --git a/console/src/assets/flags/pt.png b/console/src/assets/flags/pt.png new file mode 100644 index 0000000000..66f7c22c54 Binary files /dev/null and b/console/src/assets/flags/pt.png differ diff --git a/console/src/assets/flags/pw.png b/console/src/assets/flags/pw.png new file mode 100644 index 0000000000..befe56fc14 Binary files /dev/null and b/console/src/assets/flags/pw.png differ diff --git a/console/src/assets/flags/py.png b/console/src/assets/flags/py.png new file mode 100644 index 0000000000..859cc853db Binary files /dev/null and b/console/src/assets/flags/py.png differ diff --git a/console/src/assets/flags/qa.png b/console/src/assets/flags/qa.png new file mode 100644 index 0000000000..52798ea8a7 Binary files /dev/null and b/console/src/assets/flags/qa.png differ diff --git a/console/src/assets/flags/re.png b/console/src/assets/flags/re.png new file mode 100644 index 0000000000..6a196cb7e8 Binary files /dev/null and b/console/src/assets/flags/re.png differ diff --git a/console/src/assets/flags/ro.png b/console/src/assets/flags/ro.png new file mode 100644 index 0000000000..b8c25cec4c Binary files /dev/null and b/console/src/assets/flags/ro.png differ diff --git a/console/src/assets/flags/rs.png b/console/src/assets/flags/rs.png new file mode 100644 index 0000000000..38a8a5911f Binary files /dev/null and b/console/src/assets/flags/rs.png differ diff --git a/console/src/assets/flags/ru.png b/console/src/assets/flags/ru.png new file mode 100644 index 0000000000..9739ab6e6c Binary files /dev/null and b/console/src/assets/flags/ru.png differ diff --git a/console/src/assets/flags/rw.png b/console/src/assets/flags/rw.png new file mode 100644 index 0000000000..aff47823c1 Binary files /dev/null and b/console/src/assets/flags/rw.png differ diff --git a/console/src/assets/flags/sa.png b/console/src/assets/flags/sa.png new file mode 100644 index 0000000000..1626620fd3 Binary files /dev/null and b/console/src/assets/flags/sa.png differ diff --git a/console/src/assets/flags/sb.png b/console/src/assets/flags/sb.png new file mode 100644 index 0000000000..426c2268e4 Binary files /dev/null and b/console/src/assets/flags/sb.png differ diff --git a/console/src/assets/flags/sc.png b/console/src/assets/flags/sc.png new file mode 100644 index 0000000000..495506093c Binary files /dev/null and b/console/src/assets/flags/sc.png differ diff --git a/console/src/assets/flags/sd.png b/console/src/assets/flags/sd.png new file mode 100644 index 0000000000..bbdb67342c Binary files /dev/null and b/console/src/assets/flags/sd.png differ diff --git a/console/src/assets/flags/se.png b/console/src/assets/flags/se.png new file mode 100644 index 0000000000..b6fcc62855 Binary files /dev/null and b/console/src/assets/flags/se.png differ diff --git a/console/src/assets/flags/sg.png b/console/src/assets/flags/sg.png new file mode 100644 index 0000000000..9929365566 Binary files /dev/null and b/console/src/assets/flags/sg.png differ diff --git a/console/src/assets/flags/sh.png b/console/src/assets/flags/sh.png new file mode 100644 index 0000000000..d6f3bb8952 Binary files /dev/null and b/console/src/assets/flags/sh.png differ diff --git a/console/src/assets/flags/si.png b/console/src/assets/flags/si.png new file mode 100644 index 0000000000..f7fe8c53f4 Binary files /dev/null and b/console/src/assets/flags/si.png differ diff --git a/console/src/assets/flags/sj.png b/console/src/assets/flags/sj.png new file mode 100644 index 0000000000..b7a42f40c0 Binary files /dev/null and b/console/src/assets/flags/sj.png differ diff --git a/console/src/assets/flags/sk.png b/console/src/assets/flags/sk.png new file mode 100644 index 0000000000..c09756c540 Binary files /dev/null and b/console/src/assets/flags/sk.png differ diff --git a/console/src/assets/flags/sl.png b/console/src/assets/flags/sl.png new file mode 100644 index 0000000000..4f8d54ee66 Binary files /dev/null and b/console/src/assets/flags/sl.png differ diff --git a/console/src/assets/flags/sm.png b/console/src/assets/flags/sm.png new file mode 100644 index 0000000000..033d199e17 Binary files /dev/null and b/console/src/assets/flags/sm.png differ diff --git a/console/src/assets/flags/sn.png b/console/src/assets/flags/sn.png new file mode 100644 index 0000000000..afe76e3d1d Binary files /dev/null and b/console/src/assets/flags/sn.png differ diff --git a/console/src/assets/flags/so.png b/console/src/assets/flags/so.png new file mode 100644 index 0000000000..6656ea6129 Binary files /dev/null and b/console/src/assets/flags/so.png differ diff --git a/console/src/assets/flags/sr.png b/console/src/assets/flags/sr.png new file mode 100644 index 0000000000..3f7904c84f Binary files /dev/null and b/console/src/assets/flags/sr.png differ diff --git a/console/src/assets/flags/ss.png b/console/src/assets/flags/ss.png new file mode 100644 index 0000000000..107b8a8cc8 Binary files /dev/null and b/console/src/assets/flags/ss.png differ diff --git a/console/src/assets/flags/st.png b/console/src/assets/flags/st.png new file mode 100644 index 0000000000..68d7538e7c Binary files /dev/null and b/console/src/assets/flags/st.png differ diff --git a/console/src/assets/flags/sv.png b/console/src/assets/flags/sv.png new file mode 100644 index 0000000000..0f68b3a4a5 Binary files /dev/null and b/console/src/assets/flags/sv.png differ diff --git a/console/src/assets/flags/sx.png b/console/src/assets/flags/sx.png new file mode 100644 index 0000000000..fe57d18126 Binary files /dev/null and b/console/src/assets/flags/sx.png differ diff --git a/console/src/assets/flags/sy.png b/console/src/assets/flags/sy.png new file mode 100644 index 0000000000..b8bffa1e61 Binary files /dev/null and b/console/src/assets/flags/sy.png differ diff --git a/console/src/assets/flags/sz.png b/console/src/assets/flags/sz.png new file mode 100644 index 0000000000..4645b6546e Binary files /dev/null and b/console/src/assets/flags/sz.png differ diff --git a/console/src/assets/flags/tc.png b/console/src/assets/flags/tc.png new file mode 100644 index 0000000000..c03b92799d Binary files /dev/null and b/console/src/assets/flags/tc.png differ diff --git a/console/src/assets/flags/td.png b/console/src/assets/flags/td.png new file mode 100644 index 0000000000..b835dc2c78 Binary files /dev/null and b/console/src/assets/flags/td.png differ diff --git a/console/src/assets/flags/tf.png b/console/src/assets/flags/tf.png new file mode 100644 index 0000000000..ddaaf97249 Binary files /dev/null and b/console/src/assets/flags/tf.png differ diff --git a/console/src/assets/flags/tg.png b/console/src/assets/flags/tg.png new file mode 100644 index 0000000000..fe0373862d Binary files /dev/null and b/console/src/assets/flags/tg.png differ diff --git a/console/src/assets/flags/th.png b/console/src/assets/flags/th.png new file mode 100644 index 0000000000..cd0af74d85 Binary files /dev/null and b/console/src/assets/flags/th.png differ diff --git a/console/src/assets/flags/tj.png b/console/src/assets/flags/tj.png new file mode 100644 index 0000000000..617bb10bd1 Binary files /dev/null and b/console/src/assets/flags/tj.png differ diff --git a/console/src/assets/flags/tk.png b/console/src/assets/flags/tk.png new file mode 100644 index 0000000000..01d8742f9c Binary files /dev/null and b/console/src/assets/flags/tk.png differ diff --git a/console/src/assets/flags/tl.png b/console/src/assets/flags/tl.png new file mode 100644 index 0000000000..7a2b47859a Binary files /dev/null and b/console/src/assets/flags/tl.png differ diff --git a/console/src/assets/flags/tm.png b/console/src/assets/flags/tm.png new file mode 100644 index 0000000000..701bc28aee Binary files /dev/null and b/console/src/assets/flags/tm.png differ diff --git a/console/src/assets/flags/tn.png b/console/src/assets/flags/tn.png new file mode 100644 index 0000000000..c12f058f7c Binary files /dev/null and b/console/src/assets/flags/tn.png differ diff --git a/console/src/assets/flags/to.png b/console/src/assets/flags/to.png new file mode 100644 index 0000000000..ab11e51420 Binary files /dev/null and b/console/src/assets/flags/to.png differ diff --git a/console/src/assets/flags/tr.png b/console/src/assets/flags/tr.png new file mode 100644 index 0000000000..52339f5117 Binary files /dev/null and b/console/src/assets/flags/tr.png differ diff --git a/console/src/assets/flags/tt.png b/console/src/assets/flags/tt.png new file mode 100644 index 0000000000..1944688ccb Binary files /dev/null and b/console/src/assets/flags/tt.png differ diff --git a/console/src/assets/flags/tv.png b/console/src/assets/flags/tv.png new file mode 100644 index 0000000000..e6bc15cb2b Binary files /dev/null and b/console/src/assets/flags/tv.png differ diff --git a/console/src/assets/flags/tw.png b/console/src/assets/flags/tw.png new file mode 100644 index 0000000000..32f1c6f265 Binary files /dev/null and b/console/src/assets/flags/tw.png differ diff --git a/console/src/assets/flags/tz.png b/console/src/assets/flags/tz.png new file mode 100644 index 0000000000..b9406a5fe8 Binary files /dev/null and b/console/src/assets/flags/tz.png differ diff --git a/console/src/assets/flags/ua.png b/console/src/assets/flags/ua.png new file mode 100644 index 0000000000..42b2cde9a8 Binary files /dev/null and b/console/src/assets/flags/ua.png differ diff --git a/console/src/assets/flags/ug.png b/console/src/assets/flags/ug.png new file mode 100644 index 0000000000..e479b1d3ba Binary files /dev/null and b/console/src/assets/flags/ug.png differ diff --git a/console/src/assets/flags/um.png b/console/src/assets/flags/um.png new file mode 100644 index 0000000000..b0c62fc68b Binary files /dev/null and b/console/src/assets/flags/um.png differ diff --git a/console/src/assets/flags/us.png b/console/src/assets/flags/us.png new file mode 100644 index 0000000000..fffed74e3a Binary files /dev/null and b/console/src/assets/flags/us.png differ diff --git a/console/src/assets/flags/uy.png b/console/src/assets/flags/uy.png new file mode 100644 index 0000000000..f06986e337 Binary files /dev/null and b/console/src/assets/flags/uy.png differ diff --git a/console/src/assets/flags/uz.png b/console/src/assets/flags/uz.png new file mode 100644 index 0000000000..765eb9e4e7 Binary files /dev/null and b/console/src/assets/flags/uz.png differ diff --git a/console/src/assets/flags/va.png b/console/src/assets/flags/va.png new file mode 100644 index 0000000000..96abe2e0bb Binary files /dev/null and b/console/src/assets/flags/va.png differ diff --git a/console/src/assets/flags/vc.png b/console/src/assets/flags/vc.png new file mode 100644 index 0000000000..8086b83f87 Binary files /dev/null and b/console/src/assets/flags/vc.png differ diff --git a/console/src/assets/flags/ve.png b/console/src/assets/flags/ve.png new file mode 100644 index 0000000000..f04bad44b9 Binary files /dev/null and b/console/src/assets/flags/ve.png differ diff --git a/console/src/assets/flags/vg.png b/console/src/assets/flags/vg.png new file mode 100644 index 0000000000..8e04a8f1c2 Binary files /dev/null and b/console/src/assets/flags/vg.png differ diff --git a/console/src/assets/flags/vi.png b/console/src/assets/flags/vi.png new file mode 100644 index 0000000000..4088f44a7c Binary files /dev/null and b/console/src/assets/flags/vi.png differ diff --git a/console/src/assets/flags/vn.png b/console/src/assets/flags/vn.png new file mode 100644 index 0000000000..ed93a4ff20 Binary files /dev/null and b/console/src/assets/flags/vn.png differ diff --git a/console/src/assets/flags/vu.png b/console/src/assets/flags/vu.png new file mode 100644 index 0000000000..b0c2cd8f62 Binary files /dev/null and b/console/src/assets/flags/vu.png differ diff --git a/console/src/assets/flags/wf.png b/console/src/assets/flags/wf.png new file mode 100644 index 0000000000..c38fc543c4 Binary files /dev/null and b/console/src/assets/flags/wf.png differ diff --git a/console/src/assets/flags/ws.png b/console/src/assets/flags/ws.png new file mode 100644 index 0000000000..8294cfd6ef Binary files /dev/null and b/console/src/assets/flags/ws.png differ diff --git a/console/src/assets/flags/xk.png b/console/src/assets/flags/xk.png new file mode 100644 index 0000000000..c46352e79f Binary files /dev/null and b/console/src/assets/flags/xk.png differ diff --git a/console/src/assets/flags/ye.png b/console/src/assets/flags/ye.png new file mode 100644 index 0000000000..c094f80ec2 Binary files /dev/null and b/console/src/assets/flags/ye.png differ diff --git a/console/src/assets/flags/yt.png b/console/src/assets/flags/yt.png new file mode 100644 index 0000000000..6a196cb7e8 Binary files /dev/null and b/console/src/assets/flags/yt.png differ diff --git a/console/src/assets/flags/za.png b/console/src/assets/flags/za.png new file mode 100644 index 0000000000..c892d13d6f Binary files /dev/null and b/console/src/assets/flags/za.png differ diff --git a/console/src/assets/flags/zm.png b/console/src/assets/flags/zm.png new file mode 100644 index 0000000000..f1aa6b032e Binary files /dev/null and b/console/src/assets/flags/zm.png differ diff --git a/console/src/assets/flags/zw.png b/console/src/assets/flags/zw.png new file mode 100644 index 0000000000..a1d0c3376e Binary files /dev/null and b/console/src/assets/flags/zw.png differ diff --git a/console/src/assets/i18n/de.json b/console/src/assets/i18n/de.json index 4b750d2e75..46e5193bee 100644 --- a/console/src/assets/i18n/de.json +++ b/console/src/assets/i18n/de.json @@ -515,6 +515,7 @@ "PAGES": { "NAME":"Name", "ID":"ID", + "CREATIONDATE":"Erstelldatum", "FILTER":"Filter", "FILTERPLACEHOLDER":"Filtern Sie nach dem Namen", "LIST": "Organisationen", @@ -582,8 +583,24 @@ }, "FEATURES": { "TITLE":"Features", - "DESCRIPTION":"Hier können Sie Funktionen von ZITADEL auf Basis von Ihrem Tier aktivieren sowie deaktivieren.", + "DESCRIPTION":"Hier können Sie Funktionen von ZITADEL auf Basis von Ihrer Preisstufe aktivieren sowie deaktivieren.", "BTN-EDIT":"Featureset anpassen", + "TIER": { + "NAME":"Preisstufe Name", + "DETAILS":"Abrechnungsdetails", + "DETAILS_DESC":"Geben Sie hier Ihre Abrechnungsdaten ein.", + "CUSTOMERINVALID":"Abrechnungsdaten sind nicht vollständig!", + "CONTACT":"Kontakt", + "COMPANY":"Name des Unternehmens", + "ADDRESS":"Adresse", + "CITY":"Ort", + "POSTAL_CODE":"Postleitzahl", + "COUNTRY":"Land", + "TITLE":"Zitadel Preisstufe", + "DESCRIPTION":"Zitadel arbeitet mit Stripe zusammen um die Rechnungsstellung zu vereinfachen. Der folgende Link leitet auf Stripe.com um.", + "QUESTIONS":"Bei Fragen kontaktieren Sie unseren Support per Mail an ", + "BTN":"Preisstufe ändern" + }, "DATA": { "AUDITLOGRETENTION":"Audit Log retention", "LOGINPOLICYUSERNAMELOGIN":"Login Policy - Username as login", diff --git a/console/src/assets/i18n/en.json b/console/src/assets/i18n/en.json index 82062b02fd..691b9e0591 100644 --- a/console/src/assets/i18n/en.json +++ b/console/src/assets/i18n/en.json @@ -513,6 +513,7 @@ "PAGES": { "NAME":"Name", "ID":"ID", + "CREATIONDATE":"Creation Date", "FILTER":"Filter", "FILTERPLACEHOLDER":"Filter for the name", "LIST": "Organisations", @@ -582,6 +583,22 @@ "TITLE":"Features", "DESCRIPTION":"here you can edit your ZITADEL Features based on your Tier", "BTN-EDIT":"Edit Featureset", + "TIER": { + "NAME":"Tier Name", + "DETAILS":"Billing Details", + "DETAILS_DESC":"Enter your billing data here.", + "CUSTOMERINVALID":"Billing data ist not complete!", + "CONTACT":"Kontakt", + "COMPANY":"Company", + "ADDRESS":"Addresse", + "CITY":"Town", + "POSTAL_CODE":"Postal Code", + "COUNTRY":"Country", + "TITLE":"Zitadel Tier", + "DESCRIPTION":"Zitadel works with Stripe to simplify invoicing. The following link redirects to Stripe.com.", + "QUESTIONS":"For questions regarding payments contact our support ", + "BTN":"Change Tier" + }, "DATA": { "AUDITLOGRETENTION":"Audit Log retention", "LOGINPOLICYUSERNAMELOGIN":"Login Policy - Benutzername als Loginname",