country dropdown (#4479)
This commit is contained in:
parent
8b1daa21ef
commit
755a09bd83
7 changed files with 379 additions and 67 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -10,3 +10,4 @@ cmake-build-debug/
|
||||||
preferences
|
preferences
|
||||||
compile_commands.json
|
compile_commands.json
|
||||||
.vs/
|
.vs/
|
||||||
|
.vscode/
|
||||||
|
|
12
webclient/src/components/CountryDropdown/CountryDropdown.css
Normal file
12
webclient/src/components/CountryDropdown/CountryDropdown.css
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
.CountryDropdown {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CountryDropdown-item {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.CountryDropdown-item__image {
|
||||||
|
width: 1.1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
46
webclient/src/components/CountryDropdown/CountryDropdown.tsx
Normal file
46
webclient/src/components/CountryDropdown/CountryDropdown.tsx
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
// eslint-disable-next-line
|
||||||
|
import React, { useEffect, useState } from 'react';
|
||||||
|
import { Select, MenuItem } from '@material-ui/core';
|
||||||
|
import FormControl from '@material-ui/core/FormControl';
|
||||||
|
import InputLabel from '@material-ui/core/InputLabel';
|
||||||
|
import { Images } from 'images/Images';
|
||||||
|
import './CountryDropdown.css';
|
||||||
|
import { CountryLabel } from 'types';
|
||||||
|
|
||||||
|
const CountryDropdown = ({ onChange }) => {
|
||||||
|
const [state, setState] = useState('');
|
||||||
|
|
||||||
|
return (
|
||||||
|
<FormControl variant='outlined' className='CountryDropdown'>
|
||||||
|
<InputLabel id='CountryDropdown-select'>Country</InputLabel>
|
||||||
|
<Select
|
||||||
|
id='CountryDropdown-select'
|
||||||
|
labelId='CountryDropdown-label'
|
||||||
|
label='Country'
|
||||||
|
margin='dense'
|
||||||
|
value={state}
|
||||||
|
fullWidth={true}
|
||||||
|
onChange={e => setState(e.target.value as string)}
|
||||||
|
>
|
||||||
|
<MenuItem value={''} key={-1}>
|
||||||
|
<div className="CountryDropdown-item">
|
||||||
|
<span className="CountryDropdown-item__label">None</span>
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
|
||||||
|
{
|
||||||
|
Object.keys(CountryLabel).map((country, index:number) => (
|
||||||
|
<MenuItem value={country} key={index}>
|
||||||
|
<div className="CountryDropdown-item">
|
||||||
|
<img className="CountryDropdown-item__image" src={Images.Countries[country.toLowerCase()]} alt={CountryLabel[country]} />
|
||||||
|
<span className="CountryDropdown-item__label">{CountryLabel[country.toUpperCase()] || country.toUpperCase()}</span>
|
||||||
|
</div>
|
||||||
|
</MenuItem>
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</Select>
|
||||||
|
</FormControl>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
export default CountryDropdown;
|
|
@ -306,7 +306,7 @@ export const Countries = {
|
||||||
dj,
|
dj,
|
||||||
dk,
|
dk,
|
||||||
dm,
|
dm,
|
||||||
_do,
|
do: _do,
|
||||||
dz,
|
dz,
|
||||||
ec,
|
ec,
|
||||||
ee,
|
ee,
|
||||||
|
@ -351,7 +351,7 @@ export const Countries = {
|
||||||
ie,
|
ie,
|
||||||
il,
|
il,
|
||||||
im,
|
im,
|
||||||
_in,
|
in: _in,
|
||||||
io,
|
io,
|
||||||
iq,
|
iq,
|
||||||
ir,
|
ir,
|
||||||
|
|
252
webclient/src/types/countries.ts
Normal file
252
webclient/src/types/countries.ts
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
export enum CountryLabel{
|
||||||
|
'AF'= 'Afghanistan',
|
||||||
|
'AX'= 'Åland Islands',
|
||||||
|
'AL'= 'Albania',
|
||||||
|
'DZ'= 'Algeria',
|
||||||
|
'AS'= 'American Samoa',
|
||||||
|
'AD'= 'Andorra',
|
||||||
|
'AO'= 'Angola',
|
||||||
|
'AI'= 'Anguilla',
|
||||||
|
'AQ'= 'Antarctica',
|
||||||
|
'AG'= 'Antigua and Barbuda',
|
||||||
|
'AR'= 'Argentina',
|
||||||
|
'AM'= 'Armenia',
|
||||||
|
'AW'= 'Aruba',
|
||||||
|
'AU'= 'Australia',
|
||||||
|
'AT'= 'Austria',
|
||||||
|
'AZ'= 'Azerbaijan',
|
||||||
|
'BH'= 'Bahrain',
|
||||||
|
'BS'= 'Bahamas',
|
||||||
|
'BD'= 'Bangladesh',
|
||||||
|
'BB'= 'Barbados',
|
||||||
|
'BY'= 'Belarus',
|
||||||
|
'BE'= 'Belgium',
|
||||||
|
'BZ'= 'Belize',
|
||||||
|
'BJ'= 'Benin',
|
||||||
|
'BM'= 'Bermuda',
|
||||||
|
'BT'= 'Bhutan',
|
||||||
|
'BO'= 'Plurinational State of Bolivia',
|
||||||
|
'BQ'= 'Sint Eustatius and Saba Bonaire',
|
||||||
|
'BA'= 'Bosnia and Herzegovina',
|
||||||
|
'BW'= 'Botswana',
|
||||||
|
'BV'= 'Bouvet Island',
|
||||||
|
'BR'= 'Brazil',
|
||||||
|
'IO'= 'British Indian Ocean Territory',
|
||||||
|
'BN'= 'Brunei Darussalam',
|
||||||
|
'BG'= 'Bulgaria',
|
||||||
|
'BF'= 'Burkina Faso',
|
||||||
|
'BI'= 'Burundi',
|
||||||
|
'KH'= 'Cambodia',
|
||||||
|
'CM'= 'Cameroon',
|
||||||
|
'CA'= 'Canada',
|
||||||
|
'CV'= 'Cape Verde',
|
||||||
|
'KY'= 'Cayman Islands',
|
||||||
|
'CF'= 'Central African Republic',
|
||||||
|
'TD'= 'Chad',
|
||||||
|
'CL'= 'Chile',
|
||||||
|
'CN'= 'China',
|
||||||
|
'CX'= 'Christmas Island',
|
||||||
|
'CC'= 'Cocos (Keeling) Islands',
|
||||||
|
'CO'= 'Colombia',
|
||||||
|
'KM'= 'Comoros',
|
||||||
|
'CG'= 'Congo',
|
||||||
|
'CD'= 'The Democratic Republic of the Congo',
|
||||||
|
'CK'= 'Cook Islands',
|
||||||
|
'CR'= 'Costa Rica',
|
||||||
|
'CI'= 'Côte d\'Ivoire',
|
||||||
|
'HR'= 'Croatia',
|
||||||
|
'CU'= 'Cuba',
|
||||||
|
'CW'= 'Curaçao',
|
||||||
|
'CY'= 'Cyprus',
|
||||||
|
'CZ'= 'Czech Republic',
|
||||||
|
'DK'= 'Denmark',
|
||||||
|
'DJ'= 'Djibouti',
|
||||||
|
'DM'= 'Dominica',
|
||||||
|
'DO'= 'Dominican Republic',
|
||||||
|
'EC'= 'Ecuador',
|
||||||
|
'EG'= 'Egypt',
|
||||||
|
'SV'= 'El Salvador',
|
||||||
|
'GQ'= 'Equatorial Guinea',
|
||||||
|
'ER'= 'Eritrea',
|
||||||
|
'EE'= 'Estonia',
|
||||||
|
'ET'= 'Ethiopia',
|
||||||
|
'EU'= 'European Union',
|
||||||
|
'FK'= 'Falkland Islands (Malvinas)',
|
||||||
|
'FO'= 'Faroe Islands',
|
||||||
|
'FJ'= 'Fiji',
|
||||||
|
'FI'= 'Finland',
|
||||||
|
'FR'= 'France',
|
||||||
|
'GF'= 'French Guiana',
|
||||||
|
'PF'= 'French Polynesia',
|
||||||
|
'TF'= 'French Southern Territories',
|
||||||
|
'GA'= 'Gabon',
|
||||||
|
'GM'= 'Gambia',
|
||||||
|
'GE'= 'Georgia',
|
||||||
|
'DE'= 'Germany',
|
||||||
|
'GH'= 'Ghana',
|
||||||
|
'GI'= 'Gibraltar',
|
||||||
|
'GR'= 'Greece',
|
||||||
|
'GL'= 'Greenland',
|
||||||
|
'GD'= 'Grenada',
|
||||||
|
'GP'= 'Guadeloupe',
|
||||||
|
'GU'= 'Guam',
|
||||||
|
'GT'= 'Guatemala',
|
||||||
|
'GG'= 'Guernsey',
|
||||||
|
'GN'= 'Guinea',
|
||||||
|
'GW'= 'Guinea-Bissau',
|
||||||
|
'GY'= 'Guyana',
|
||||||
|
'HT'= 'Haiti',
|
||||||
|
'HM'= 'Heard Island and McDonald Islands',
|
||||||
|
'VA'= 'Holy See (Vatican City State)',
|
||||||
|
'HN'= 'Honduras',
|
||||||
|
'HK'= 'Hong Kong',
|
||||||
|
'HU'= 'Hungary',
|
||||||
|
'IS'= 'Iceland',
|
||||||
|
'IN'= 'India',
|
||||||
|
'ID'= 'Indonesia',
|
||||||
|
'IR'= 'Islamic Republic of Iran',
|
||||||
|
'IQ'= 'Iraq',
|
||||||
|
'IE'= 'Ireland',
|
||||||
|
'IM'= 'Isle of Man',
|
||||||
|
'IL'= 'Israel',
|
||||||
|
'IT'= 'Italy',
|
||||||
|
'JM'= 'Jamaica',
|
||||||
|
'JP'= 'Japan',
|
||||||
|
'JE'= 'Jersey',
|
||||||
|
'JO'= 'Jordan',
|
||||||
|
'KZ'= 'Kazakhstan',
|
||||||
|
'KE'= 'Kenya',
|
||||||
|
'KI'= 'Kiribati',
|
||||||
|
'KP'= 'Democratic People\'s Republic of Korea',
|
||||||
|
'KR'= 'Republic of Korea',
|
||||||
|
'KW'= 'Kuwait',
|
||||||
|
'KG'= 'Kyrgyzstan',
|
||||||
|
'LA'= 'Lao People\'s Democratic Republic',
|
||||||
|
'LV'= 'Latvia',
|
||||||
|
'LB'= 'Lebanon',
|
||||||
|
'LS'= 'Lesotho',
|
||||||
|
'LR'= 'Liberia',
|
||||||
|
'LY'= 'Libya',
|
||||||
|
'LI'= 'Liechtenstein',
|
||||||
|
'LT'= 'Lithuania',
|
||||||
|
'LU'= 'Luxembourg',
|
||||||
|
'MO'= 'Macao',
|
||||||
|
'MK'= 'The Former Yugoslav Republic of Macedonia',
|
||||||
|
'MG'= 'Madagascar',
|
||||||
|
'MW'= 'Malawi',
|
||||||
|
'MY'= 'Malaysia',
|
||||||
|
'MV'= 'Maldives',
|
||||||
|
'ML'= 'Mali',
|
||||||
|
'MT'= 'Malta',
|
||||||
|
'MH'= 'Marshall Islands',
|
||||||
|
'MQ'= 'Martinique',
|
||||||
|
'MR'= 'Mauritania',
|
||||||
|
'MU'= 'Mauritius',
|
||||||
|
'YT'= 'Mayotte',
|
||||||
|
'MX'= 'Mexico',
|
||||||
|
'FM'= 'Federated States of Micronesia',
|
||||||
|
'MD'= 'Republic of Moldova',
|
||||||
|
'MC'= 'Monaco',
|
||||||
|
'MN'= 'Mongolia',
|
||||||
|
'ME'= 'Montenegro',
|
||||||
|
'MS'= 'Montserrat',
|
||||||
|
'MA'= 'Morocco',
|
||||||
|
'MZ'= 'Mozambique',
|
||||||
|
'MM'= 'Myanmar',
|
||||||
|
'NA'= 'Namibia',
|
||||||
|
'NR'= 'Nauru',
|
||||||
|
'NP'= 'Nepal',
|
||||||
|
'NL'= 'Netherlands',
|
||||||
|
'NC'= 'New Caledonia',
|
||||||
|
'NZ'= 'New Zealand',
|
||||||
|
'NI'= 'Nicaragua',
|
||||||
|
'NE'= 'Niger',
|
||||||
|
'NG'= 'Nigeria',
|
||||||
|
'NU'= 'Niue',
|
||||||
|
'NF'= 'Norfolk Island',
|
||||||
|
'MP'= 'Northern Mariana Islands',
|
||||||
|
'NO'= 'Norway',
|
||||||
|
'OM'= 'Oman',
|
||||||
|
'PK'= 'Pakistan',
|
||||||
|
'PW'= 'Palau',
|
||||||
|
'PS'= 'State of Palestine',
|
||||||
|
'PA'= 'Panama',
|
||||||
|
'PG'= 'Papua New Guinea',
|
||||||
|
'PY'= 'Paraguay',
|
||||||
|
'PE'= 'Peru',
|
||||||
|
'PH'= 'Philippines',
|
||||||
|
'PN'= 'Pitcairn',
|
||||||
|
'PL'= 'Poland',
|
||||||
|
'PT'= 'Portugal',
|
||||||
|
'PR'= 'Puerto Rico',
|
||||||
|
'QA'= 'Qatar',
|
||||||
|
'RE'= 'Réunion',
|
||||||
|
'RO'= 'Romania',
|
||||||
|
'RU'= 'Russian Federation',
|
||||||
|
'RW'= 'Rwanda',
|
||||||
|
'BL'= 'Saint Barthélemy',
|
||||||
|
'SH'= 'Ascension and Tristan da Cunha Saint Helena',
|
||||||
|
'KN'= 'Saint Kitts and Nevis',
|
||||||
|
'LC'= 'Saint Lucia',
|
||||||
|
'MF'= 'Saint Martin (French part)',
|
||||||
|
'PM'= 'Saint Pierre and Miquelon',
|
||||||
|
'VC'= 'Saint Vincent and the Grenadines',
|
||||||
|
'WS'= 'Samoa',
|
||||||
|
'SM'= 'San Marino',
|
||||||
|
'ST'= 'Sao Tome and Principe',
|
||||||
|
'SA'= 'Saudi Arabia',
|
||||||
|
'SN'= 'Senegal',
|
||||||
|
'RS'= 'Serbia',
|
||||||
|
'SC'= 'Seychelles',
|
||||||
|
'SL'= 'Sierra Leone',
|
||||||
|
'SG'= 'Singapore',
|
||||||
|
'SX'= 'Sint Maarten (Dutch part)',
|
||||||
|
'SK'= 'Slovakia',
|
||||||
|
'SI'= 'Slovenia',
|
||||||
|
'SB'= 'Solomon Islands',
|
||||||
|
'SO'= 'Somalia',
|
||||||
|
'ZA'= 'South Africa',
|
||||||
|
'GS'= 'South Georgia and the South Sandwich Islands',
|
||||||
|
'SS'= 'South Sudan',
|
||||||
|
'ES'= 'Spain',
|
||||||
|
'LK'= 'Sri Lanka',
|
||||||
|
'SD'= 'Sudan',
|
||||||
|
'SR'= 'Suriname',
|
||||||
|
'SJ'= 'Svalbard and Jan Mayen',
|
||||||
|
'SZ'= 'Swaziland',
|
||||||
|
'SE'= 'Sweden',
|
||||||
|
'CH'= 'Switzerland',
|
||||||
|
'SY'= 'Syrian Arab Republic',
|
||||||
|
'TW'= 'Taiwan',
|
||||||
|
'TJ'= 'Tajikistan',
|
||||||
|
'TZ'= 'United Republic of Tanzania',
|
||||||
|
'TH'= 'Thailand',
|
||||||
|
'TL'= 'Timor-Leste',
|
||||||
|
'TG'= 'Togo',
|
||||||
|
'TK'= 'Tokelau',
|
||||||
|
'TO'= 'Tonga',
|
||||||
|
'TT'= 'Trinidad and Tobago',
|
||||||
|
'TN'= 'Tunisia',
|
||||||
|
'TR'= 'Turkey',
|
||||||
|
'TM'= 'Turkmenistan',
|
||||||
|
'TC'= 'Turks and Caicos Islands',
|
||||||
|
'TV'= 'Tuvalu',
|
||||||
|
'UG'= 'Uganda',
|
||||||
|
'UA'= 'Ukraine',
|
||||||
|
'AE'= 'United Arab Emirates',
|
||||||
|
'GB'= 'United Kingdom',
|
||||||
|
'US'= 'United States',
|
||||||
|
'UM'= 'United States Minor Outlying Islands',
|
||||||
|
'UY'= 'Uruguay',
|
||||||
|
'UZ'= 'Uzbekistan',
|
||||||
|
'VU'= 'Vanuatu',
|
||||||
|
'VE'= 'Bolivarian Republic of Venezuela',
|
||||||
|
'VN'= 'Viet Nam',
|
||||||
|
'VG'= 'British Virgin Islands',
|
||||||
|
'VI'= 'U.S. Virgin Islands',
|
||||||
|
'WF'= 'Wallis and Futuna',
|
||||||
|
'EH'= 'Western Sahara',
|
||||||
|
'YE'= 'Yemen',
|
||||||
|
'ZM'= 'Zambia',
|
||||||
|
'ZW'= 'Zimbabwe'
|
||||||
|
};
|
|
@ -1,5 +1,6 @@
|
||||||
export * from './cards';
|
export * from './cards';
|
||||||
export * from './constants';
|
export * from './constants';
|
||||||
|
export * from './countries';
|
||||||
export * from './game';
|
export * from './game';
|
||||||
export * from './room';
|
export * from './room';
|
||||||
export * from './server';
|
export * from './server';
|
||||||
|
|
Loading…
Reference in a new issue