From 83ff38799803ac83c901357f44c30c7411825dfa Mon Sep 17 00:00:00 2001 From: kherel Date: Mon, 7 Feb 2022 08:53:13 +0100 Subject: [PATCH] update --- lib/logic/api_maps/server.dart | 9 +- lib/logic/models/auto_upgrade_settings.dart | 22 + lib/logic/models/auto_upgrade_settings.g.dart | 20 + lib/logic/models/timezone_settings.dart | 18 + .../pages/server_details/server_details.dart | 3 +- .../pages/server_details/time_zone/lang.dart | 431 ++++++++++++++++++ .../{ => time_zone}/time_zone.dart | 39 +- 7 files changed, 526 insertions(+), 16 deletions(-) create mode 100644 lib/logic/models/auto_upgrade_settings.dart create mode 100644 lib/logic/models/auto_upgrade_settings.g.dart create mode 100644 lib/logic/models/timezone_settings.dart create mode 100644 lib/ui/pages/server_details/time_zone/lang.dart rename lib/ui/pages/server_details/{ => time_zone}/time_zone.dart (67%) diff --git a/lib/logic/api_maps/server.dart b/lib/logic/api_maps/server.dart index 1792e2c1..c937a896 100644 --- a/lib/logic/api_maps/server.dart +++ b/lib/logic/api_maps/server.dart @@ -23,7 +23,7 @@ class ServerApi extends ApiMap { var cloudFlareDomain = getIt().cloudFlareDomain; var domainName = cloudFlareDomain!.domainName; var apiToken = getIt().hetznerServer?.apiToken; - + print(apiToken); options = BaseOptions(baseUrl: 'https://api.$domainName', headers: { 'Authorization': 'Bearer $apiToken', }); @@ -236,6 +236,13 @@ class ServerApi extends ApiMap { client.close(); return response.statusCode == HttpStatus.ok; } + + Future autoUpgradeSettings() async { + var client = await getClient(); + Response response = await client.get('/system/configuration/upgrade'); + client.close(); + return response.statusCode == HttpStatus.ok; + } } extension UrlServerExt on ServiceTypes { diff --git a/lib/logic/models/auto_upgrade_settings.dart b/lib/logic/models/auto_upgrade_settings.dart new file mode 100644 index 00000000..6007e622 --- /dev/null +++ b/lib/logic/models/auto_upgrade_settings.dart @@ -0,0 +1,22 @@ +import 'package:equatable/equatable.dart'; +import 'package:json_annotation/json_annotation.dart'; + +part 'auto_upgrade_settings.g.dart'; + +@JsonSerializable(createToJson: true) +class AutoUpgradeSettings extends Equatable { + final bool enable; + final bool allowReboot; + + AutoUpgradeSettings({ + required this.enable, + required this.allowReboot, + }); + + @override + List get props => [enable, allowReboot]; + factory AutoUpgradeSettings.fromJson(Map json) => + _$AutoUpgradeSettingsFromJson(json); + + Map toJson() => _$AutoUpgradeSettingsToJson(this); +} diff --git a/lib/logic/models/auto_upgrade_settings.g.dart b/lib/logic/models/auto_upgrade_settings.g.dart new file mode 100644 index 00000000..e6accc2f --- /dev/null +++ b/lib/logic/models/auto_upgrade_settings.g.dart @@ -0,0 +1,20 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'auto_upgrade_settings.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +AutoUpgradeSettings _$AutoUpgradeSettingsFromJson(Map json) => + AutoUpgradeSettings( + enable: json['enable'] as bool, + allowReboot: json['allowReboot'] as bool, + ); + +Map _$AutoUpgradeSettingsToJson( + AutoUpgradeSettings instance) => + { + 'enable': instance.enable, + 'allowReboot': instance.allowReboot, + }; diff --git a/lib/logic/models/timezone_settings.dart b/lib/logic/models/timezone_settings.dart new file mode 100644 index 00000000..76d28aff --- /dev/null +++ b/lib/logic/models/timezone_settings.dart @@ -0,0 +1,18 @@ +import 'package:timezone/timezone.dart'; + +class TimeZoneSettings { + final Location timezone; + + TimeZoneSettings(this.timezone); + + Map toJson() { + return { + 'timezone': timezone.name, + }; + } + + factory TimeZoneSettings.fromString(String string) { + var location = timeZoneDatabase.locations[string]!; + return TimeZoneSettings(location); + } +} diff --git a/lib/ui/pages/server_details/server_details.dart b/lib/ui/pages/server_details/server_details.dart index fe771950..0c0af223 100644 --- a/lib/ui/pages/server_details/server_details.dart +++ b/lib/ui/pages/server_details/server_details.dart @@ -15,6 +15,7 @@ import 'package:selfprivacy/ui/components/brand_text/brand_text.dart'; import 'package:selfprivacy/ui/components/icon_status_mask/icon_status_mask.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:selfprivacy/ui/components/switch_block/switch_bloc.dart'; +import 'package:selfprivacy/ui/pages/server_details/time_zone/lang.dart'; import 'package:selfprivacy/utils/named_font_weight.dart'; import 'package:selfprivacy/utils/route_transitions/basic.dart'; import 'package:timezone/timezone.dart'; @@ -26,7 +27,7 @@ part 'server_settings.dart'; part 'text_details.dart'; part 'chart.dart'; part 'header.dart'; -part 'time_zone.dart'; +part 'time_zone/time_zone.dart'; var navigatorKey = GlobalKey(); diff --git a/lib/ui/pages/server_details/time_zone/lang.dart b/lib/ui/pages/server_details/time_zone/lang.dart new file mode 100644 index 00000000..4ea55019 --- /dev/null +++ b/lib/ui/pages/server_details/time_zone/lang.dart @@ -0,0 +1,431 @@ +final russian = { + "Pacific/Midway": "Мидуэй", + "Pacific/Niue": "Ниуэ", + "Pacific/Pago_Pago": "Паго-Паго", + "America/Adak": "Адак", + "Pacific/Honolulu": "Гонолулу", + "Pacific/Johnston": "Джонстон", + "Pacific/Rarotonga": "Раротонга", + "Pacific/Tahiti": "Таити", + "US/Hawaii": "Гавайи", + "Pacific/Marquesas": "Маркизские острова", + "America/Sitka": "Ситка", + "America/Anchorage": "Анкоридж", + "America/Metlakatla": "Метлакатла", + "America/Juneau": "Джуно", + "US/Alaska": "Аляска", + "America/Nome": "Ном", + "America/Yakutat": "Якутат", + "Pacific/Gambier": "Гамбье", + "America/Tijuana": "Тихуана", + "Pacific/Pitcairn": "Питкэрн", + "US/Pacific": "США/Тихий океан", + "Canada/Pacific": "США/Тихий океан", + "America/Los_Angeles": "Лос-Анджелес", + "America/Vancouver": "Ванкувер", + "America/Santa_Isabel": "Санта-Изабель", + "America/Chihuahua": "Чихуахуа", + "America/Cambridge_Bay": "Кембридж-Бэй", + "America/Inuvik": "Инувик", + "America/Boise": "Бойсе", + "America/Dawson": "Доусон", + "America/Mazatlan": "Масатлан", + "America/Dawson_Creek": "Доусон-Крик", + "US/Arizona": "Аризона", + "America/Denver": "Денвер", + "US/Mountain": "гора", + "America/Edmonton": "Эдмонтон", + "America/Yellowknife": "Йеллоунайф", + "America/Ojinaga": "Охинага", + "America/Phoenix": "Феникс", + "America/Whitehorse": "Белая лошадь", + "Canada/Mountain": "гора", + "America/Hermosillo": "Эрмосильо", + "America/Creston": "Крестон", + "America/Swift_Current": "Свифт Керрент", + "America/Tegucigalpa": "Тегусигальпа", + "America/Regina": "Регина", + "America/Rankin_Inlet": "Ранкин-Инлет", + "America/Rainy_River": "Райни-Ривер", + "America/Winnipeg": "Виннипег", + "America/North_Dakota/Center": "Северная Дакота/Центр", + "America/North_Dakota/Beulah": "Северная Дакота/Беула", + "America/Monterrey": "Монтеррей", + "America/Mexico_City": "Мехико", + "US/Central": "Центральный", + "America/Merida": "Мерида", + "America/Menominee": "Меномини", + "America/Matamoros": "Матаморос", + "America/Managua": "Манагуа", + "America/North_Dakota/New_Salem": "Северная Дакота/Нью-Салем", + "Pacific/Galapagos": "Галапагосские острова", + "America/Indiana/Tell_City": "Индиана/Телл-Сити", + "America/Indiana/Knox": "Индиана/Нокс", + "Canada/Central": "Центральный", + "America/Guatemala": "Гватемала", + "America/El_Salvador": "Сальвадор", + "America/Costa_Rica": "Коста-Рика", + "America/Chicago": "Чикаго", + "America/Belize": "Белиз", + "America/Bahia_Banderas": "Баия де Бандерас", + "America/Resolute": "Резольют", + "America/Atikokan": "Атикокан", + "America/Lima": "Лима", + "America/Bogota": "Богота", + "America/Cancun": "Канкун", + "America/Cayman": "Кайман", + "America/Detroit": "Детройт", + "America/Indiana/Indianapolis": "Индиана/Индианаполис", + "America/Eirunepe": "Эйрунепе", + "America/Grand_Turk": "Гранд-Терк", + "America/Guayaquil": "Гуаякиль", + "America/Havana": "Гавана", + "America/Indiana/Marengo": "Индиана/Маренго", + "America/Indiana/Petersburg": "Индиана/Петербург", + "America/Indiana/Vevay": "Индиана/Вева", + "America/Indiana/Vincennes": "Индиана/Винсеннес", + "America/Indiana/Winamac": "Индиана/Винамак", + "America/Iqaluit": "Икалуит", + "America/Jamaica": "Ямайка", + "America/Kentucky/Louisville": "Кентукки/Луисвилл", + "America/Nassau": "Нассау", + "America/Toronto": "Торонто", + "America/Montreal": "Монреаль", + "America/Pangnirtung": "Пангниртунг", + "America/Port-au-Prince": "Порт-о-Пренс", + "America/Kentucky/Monticello": "Кентукки/Монтичелло", + "Canada/Eastern": "Канада/Восточное", + "US/Eastern": "США/Восточное", + "America/Thunder_Bay": "Тандер-Бей", + "Pacific/Easter": "Пасха", + "America/Panama": "Панама", + "America/Nipigon": "Нипигон", + "America/Rio_Branco": "Рио-Бранко", + "America/New_York": "Нью-Йорк", + "Canada/Atlantic": "Атлантика", + "America/Kralendijk": "Кралендейк", + "America/La_Paz": "Ла-Пас", + "America/Halifax": "Галифакс", + "America/Lower_Princes": "Лоуэр-Принс-Куотер", + "America/Manaus": "Манаус", + "America/Marigot": "Мариго", + "America/Martinique": "Мартиника", + "America/Moncton": "Монктон", + "America/Guyana": "Гайана", + "America/Montserrat": "Монтсеррат", + "America/Guadeloupe": "Гваделупа", + "America/Grenada": "Гренада", + "America/Goose_Bay": "Гуз-Бей", + "America/Glace_Bay": "Глас Бэй", + "America/Curacao": "Кюрасао", + "America/Cuiaba": "Куяба", + "America/Port_of_Spain": "Порт-оф-Спейн", + "America/Porto_Velho": "Порту-Велью", + "America/Puerto_Rico": "Пуэрто-Рико", + "America/Caracas": "Каракас", + "America/Santo_Domingo": "Санто-Доминго", + "America/St_Barthelemy": "Святой Бартелеми", + "Atlantic/Bermuda": "Бермуды", + "America/St_Kitts": "Сент-Китс", + "America/St_Lucia": "Святая Люсия", + "America/St_Thomas": "Сент-Томас", + "America/St_Vincent": "Сент-Винсент", + "America/Thule": "Туле", + "America/Campo_Grande": "Кампу-Гранди", + "America/Boa_Vista": "Боа-Виста", + "America/Tortola": "Тортола", + "America/Aruba": "Аруба", + "America/Blanc-Sablon": "Блан-Саблон", + "America/Barbados": "Барбадос", + "America/Anguilla": "Ангилья", + "America/Antigua": "Антигуа", + "America/Dominica": "Доминика", + "Canada/Newfoundland": "Ньюфаундленд", + "America/St_Johns": "Сент-Джонс", + "America/Sao_Paulo": "Сан-Паулу", + "Atlantic/Stanley": "Стэнли", + "America/Miquelon": "Микелон", + "America/Argentina/Salta": "Аргентина/Сальта", + "America/Montevideo": "Монтевидео", + "America/Argentina/Rio_Gallegos": "Аргентина/Рио-Гальегос", + "America/Argentina/Mendoza": "Аргентина/Мендоса", + "America/Argentina/La_Rioja": "Аргентина/Ла-Риоха", + "America/Argentina/Jujuy": "Аргентина/Жужуй", + "Antarctica/Rothera": "Ротера", + "America/Argentina/Cordoba": "Аргентина/Кордова", + "America/Argentina/Catamarca": "Аргентина/Катамарка", + "America/Argentina/Ushuaia": "Аргентина/Ушуая", + "America/Argentina/Tucuman": "Аргентина/Тукуман", + "America/Paramaribo": "Парамарибо", + "America/Argentina/San_Luis": "Аргентина/Сан-Луис", + "America/Recife": "Ресифи", + "America/Argentina/Buenos_Aires": "Аргентина/Буэнос-Айрес", + "America/Asuncion": "Асунсьон", + "America/Maceio": "Масейо", + "America/Santarem": "Сантарен", + "America/Santiago": "Сантьяго", + "Antarctica/Palmer": "Палмер", + "America/Argentina/San_Juan": "Аргентина/Сан-Хуан", + "America/Fortaleza": "Форталеза", + "America/Cayenne": "Кайенна", + "America/Godthab": "Годтаб", + "America/Belem": "Белен", + "America/Araguaina": "Арагуайна", + "America/Bahia": "Баия", + "Atlantic/South_Georgia": "Южная_Грузия", + "America/Noronha": "Норонья", + "Atlantic/Azores": "Азорские острова", + "Atlantic/Cape_Verde": "Кабо-Верде", + "America/Scoresbysund": "Скорсбисунд", + "Africa/Accra": "Аккра", + "Atlantic/Faroe": "Фарерские острова", + "Europe/Guernsey": "Гернси", + "Africa/Dakar": "Дакар", + "Europe/Isle_of_Man": "Остров Мэн", + "Africa/Conakry": "Конакри", + "Africa/Abidjan": "Абиджан", + "Atlantic/Canary": "канарейка", + "Africa/Banjul": "Банжул", + "Europe/Jersey": "Джерси", + "Atlantic/St_Helena": "Остров Святой Елены", + "Africa/Bissau": "Бисау", + "Europe/London": "Лондон", + "Africa/Nouakchott": "Нуакшот", + "Africa/Lome": "Ломе", + "America/Danmarkshavn": "Данмарксхавн", + "Africa/Ouagadougou": "Уагадугу", + "Europe/Lisbon": "Лиссабон", + "Africa/Sao_Tome": "Сан-Томе", + "Africa/Monrovia": "Монровия", + "Atlantic/Reykjavik": "Рейкьявик", + "Antarctica/Troll": "Тролль", + "Atlantic/Madeira": "Мадейра", + "Africa/Bamako": "Бамако", + "Europe/Dublin": "Дублин", + "Africa/Freetown": "Фритаун", + "Europe/Monaco": "Монако", + "Europe/Skopje": "Скопье", + "Europe/Amsterdam": "Амстердам", + "Africa/Tunis": "Тунис", + "Arctic/Longyearbyen": "Лонгйир", + "Africa/Bangui": "Банги", + "Africa/Lagos": "Лагос", + "Africa/Douala": "Дуала", + "Africa/Libreville": "Либревиль", + "Europe/Belgrade": "Белград", + "Europe/Stockholm": "Стокгольм", + "Europe/Berlin": "Берлин", + "Europe/Zurich": "Цюрих", + "Europe/Zagreb": "Загреб", + "Europe/Warsaw": "Варшава", + "Africa/Luanda": "Луанда", + "Africa/Porto-Novo": "Порто-Ново", + "Africa/Brazzaville": "Браззавиль", + "Europe/Vienna": "Вена", + "Europe/Vatican": "Ватикан", + "Europe/Vaduz": "Вадуц", + "Europe/Tirane": "Тиран", + "Europe/Bratislava": "Братислава", + "Europe/Brussels": "Брюссель", + "Europe/Paris": "Париж", + "Europe/Sarajevo": "Сараево", + "Europe/San_Marino": "Сан-Марино", + "Europe/Rome": "Рим", + "Africa/El_Aaiun": "Эль-Аайун", + "Africa/Casablanca": "Касабланка", + "Europe/Malta": "Мальта", + "Africa/Ceuta": "Сеута", + "Europe/Gibraltar": "Гибралтар", + "Africa/Malabo": "Малабо", + "Europe/Busingen": "Бузинген", + "Africa/Ndjamena": "Нджамена", + "Europe/Andorra": "Андорра", + "Europe/Oslo": "Осло", + "Europe/Luxembourg": "Люксембург", + "Africa/Niamey": "Ниамей", + "Europe/Copenhagen": "Копенгаген", + "Europe/Madrid": "Мадрид", + "Europe/Budapest": "Будапешт", + "Africa/Algiers": "Алжир", + "Europe/Ljubljana": "Любляна", + "Europe/Podgorica": "Подгорица", + "Africa/Kinshasa": "Киншаса", + "Europe/Prague": "Прага", + "Europe/Riga": "Рига", + "Africa/Bujumbura": "Бужумбура", + "Africa/Lubumbashi": "Лубумбаши", + "Europe/Bucharest": "Бухарест", + "Africa/Blantyre": "Блантайр", + "Asia/Nicosia": "Никосия", + "Europe/Sofia": "София", + "Asia/Jerusalem": "Иерусалим", + "Europe/Tallinn": "Таллинн", + "Europe/Uzhgorod": "Ужгород", + "Africa/Lusaka": "Лусака", + "Europe/Mariehamn": "Мариехамн", + "Asia/Hebron": "Хеврон", + "Asia/Gaza": "Газа", + "Asia/Damascus": "Дамаск", + "Europe/Zaporozhye": "Запорожье", + "Asia/Beirut": "Бейрут", + "Africa/Juba": "Джуба", + "Africa/Harare": "Хараре", + "Europe/Athens": "Афины", + "Europe/Kiev": "Киев", + "Europe/Kaliningrad": "Калининград", + "Africa/Khartoum": "Хартум", + "Africa/Cairo": "Каир", + "Africa/Kigali": "Кигали", + "Asia/Amman": "Амман", + "Africa/Maputo": "Мапуту", + "Africa/Gaborone": "Габороне", + "Africa/Tripoli": "Триполи", + "Africa/Maseru": "Масеру", + "Africa/Windhoek": "Виндхук", + "Africa/Johannesburg": "Йоханнесбург", + "Europe/Chisinau": "Кишинев", + "Africa/Mbabane": "Мбабане", + "Europe/Vilnius": "Вильнюс", + "Europe/Helsinki": "Хельсинки", + "Europe/Moscow": "Москва", + "Africa/Kampala": "Кампала", + "Africa/Nairobi": "Найроби", + "Africa/Asmara": "Асмэра", + "Europe/Istanbul": "Стамбул", + "Asia/Riyadh": "Эр-Рияд", + "Asia/Qatar": "Катар", + "Europe/Minsk": "Минск", + "Indian/Comoro": "Коморо", + "Asia/Kuwait": "Кувейт", + "Africa/Addis_Ababa": "Аддис-Абеба", + "Africa/Dar_es_Salaam": "Дар-эс-Салам", + "Europe/Volgograd": "Волгоград", + "Indian/Antananarivo": "Антананариву", + "Asia/Bahrain": "Бахрейн", + "Asia/Baghdad": "Багдад", + "Indian/Mayotte": "Майотта", + "Africa/Djibouti": "Джибути", + "Europe/Simferopol": "Симферополь", + "Asia/Aden": "Аден", + "Antarctica/Syowa": "Сёва", + "Africa/Mogadishu": "Могадишо", + "Asia/Tehran": "Тегеран", + "Asia/Yerevan": "Ереван", + "Asia/Tbilisi": "Тбилиси", + "Asia/Muscat": "Мускат", + "Europe/Samara": "Самара", + "Indian/Mahe": "Маэ", + "Asia/Baku": "Баку", + "Indian/Mauritius": "Маврикий", + "Indian/Reunion": "Воссоединение", + "Asia/Dubai": "Дубай", + "Asia/Kabul": "Кабул", + "Asia/Ashgabat": "Ашхабад", + "Antarctica/Mawson": "Моусон", + "Asia/Aqtau": "Актау", + "Asia/Yekaterinburg": "Екатеринбург", + "Asia/Aqtobe": "Актобе", + "Asia/Dushanbe": "Душанбе", + "Asia/Tashkent": "Ташкент", + "Asia/Samarkand": "Самарканд", + "Asia/Qyzylorda": "Кызылорда", + "Asia/Oral": "Оральный", + "Asia/Karachi": "Карачи", + "Indian/Kerguelen": "Кергелен", + "Indian/Maldives": "Мальдивы", + "Asia/Kolkata": "Калькутта", + "Asia/Colombo": "Коломбо", + "Asia/Kathmandu": "Катманду", + "Antarctica/Vostok": "Восток", + "Asia/Almaty": "Алматы", + "Asia/Urumqi": "Урумчи", + "Asia/Thimphu": "Тхимпху", + "Asia/Omsk": "Омск", + "Asia/Dhaka": "Дакка", + "Indian/Chagos": "Чагос", + "Asia/Bishkek": "Бишкек", + "Asia/Rangoon": "Рангун", + "Indian/Cocos": "кокосы", + "Asia/Bangkok": "Бангкок", + "Asia/Hovd": "Ховд", + "Asia/Novokuznetsk": "Новокузнецк", + "Asia/Vientiane": "Вьентьян", + "Asia/Krasnoyarsk": "Красноярск", + "Antarctica/Davis": "Дэвис", + "Asia/Novosibirsk": "Новосибирск", + "Asia/Phnom_Penh": "Пномпень", + "Asia/Pontianak": "Понтианак", + "Asia/Jakarta": "Джакарта", + "Asia/Ho_Chi_Minh": "Хо Ши Мин", + "Indian/Christmas": "Рождество", + "Asia/Manila": "Манила", + "Asia/Makassar": "Макассар", + "Asia/Macau": "Макао", + "Asia/Kuala_Lumpur": "Куала-Лумпур", + "Asia/Singapore": "Сингапур", + "Asia/Shanghai": "Шанхай", + "Asia/Irkutsk": "Иркутск", + "Asia/Kuching": "Кучинг", + "Asia/Hong_Kong": "Гонконг", + "Australia/Perth": "Перт", + "Asia/Taipei": "Тайбэй", + "Asia/Brunei": "Бруней", + "Asia/Choibalsan": "Чойбалсан", + "Asia/Ulaanbaatar": "Улан-Батор", + "Australia/Eucla": "Евкла", + "Asia/Yakutsk": "Якутск", + "Asia/Dili": "Дили", + "Pacific/Palau": "Палау", + "Asia/Jayapura": "Джаяпура", + "Asia/Seoul": "Сеул", + "Asia/Pyongyang": "Пхеньян", + "Asia/Khandyga": "Хандыга", + "Asia/Chita": "Чита", + "Asia/Tokyo": "Токио", + "Australia/Darwin": "Дарвин", + "Pacific/Saipan": "Сайпан", + "Australia/Brisbane": "Брисбен", + "Pacific/Port_Moresby": "Порт-Морсби", + "Pacific/Chuuk": "Чуук", + "Antarctica/DumontDUrville": "Дюмон-д'Юрвиль", + "Pacific/Guam": "Гуам", + "Australia/Lindeman": "Линдеман", + "Asia/Ust-Nera": "Усть-Нера", + "Asia/Vladivostok": "Владивосток", + "Australia/Broken_Hill": "Брокен-Хилл", + "Australia/Adelaide": "Аделаида", + "Asia/Sakhalin": "Сахалин", + "Pacific/Guadalcanal": "Гуадалканал", + "Pacific/Efate": "Эфате", + "Antarctica/Casey": "Кейси", + "Antarctica/Macquarie": "Маккуори", + "Pacific/Kosrae": "Косрае", + "Australia/Sydney": "Сидней", + "Pacific/Noumea": "Нумеа", + "Australia/Melbourne": "Мельбурн", + "Australia/Lord_Howe": "Остров Лорд-Хау", + "Australia/Hobart": "Хобарт", + "Pacific/Pohnpei": "Понпеи", + "Australia/Currie": "Карри", + "Asia/Srednekolymsk": "Среднеколымск", + "Asia/Magadan": "Магадан", + "Pacific/Kwajalein": "Кваджалейн", + "Pacific/Majuro": "Маджуро", + "Pacific/Funafuti": "Фунафути", + "Asia/Anadyr": "Анадырь", + "Pacific/Nauru": "Науру", + "Asia/Kamchatka": "Камчатка", + "Pacific/Fiji": "Фиджи", + "Pacific/Norfolk": "Норфолк", + "Pacific/Tarawa": "Тарава", + "Pacific/Wallis": "Уоллис", + "Pacific/Wake": "Будить", + "Pacific/Tongatapu": "Тонгатапу", + "Antarctica/McMurdo": "МакМердо", + "Pacific/Enderbury": "Эндербери", + "Pacific/Fakaofo": "Факаофо", + "Pacific/Auckland": "Окленд", + "Pacific/Chatham": "Чатем", + "Pacific/Kiritimati": "Киритимати", + "Pacific/Apia": "Апиа", +}; diff --git a/lib/ui/pages/server_details/time_zone.dart b/lib/ui/pages/server_details/time_zone/time_zone.dart similarity index 67% rename from lib/ui/pages/server_details/time_zone.dart rename to lib/ui/pages/server_details/time_zone/time_zone.dart index 26f1e14b..77df7cad 100644 --- a/lib/ui/pages/server_details/time_zone.dart +++ b/lib/ui/pages/server_details/time_zone/time_zone.dart @@ -1,4 +1,4 @@ -part of 'server_details.dart'; +part of '../server_details.dart'; final List locations = timeZoneDatabase.locations.values.toList() ..sort((l1, l2) => @@ -55,24 +55,35 @@ class _SelectTimezoneState extends State { Duration(milliseconds: value.currentTimeZone.offset); var area = value.currentTimeZone.abbreviation .replaceAll(RegExp(r'[\d+()-]'), ''); + + String timezoneName = value.name; + if (context.locale.toString() == 'ru') { + timezoneName = russian[value.name] ?? + () { + var arr = value.name.split('/')..removeAt(0); + return arr.join('/'); + }(); + } + return MapEntry( key, Container( - height: 40, - padding: EdgeInsets.symmetric(horizontal: 20), - alignment: Alignment.center, - child: Row( + padding: EdgeInsets.symmetric(horizontal: 20, vertical: 10), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Expanded( - flex: 1, - child: Text( - '${duration.toDayHourMinuteFormat()} ${area.isNotEmpty ? '($area)' : ''}'), + BrandText.body1( + timezoneName, + style: TextStyle( + fontSize: 16, + fontWeight: FontWeight.bold, + ), ), - Expanded( - flex: 2, - child: Text(value.name), - ), - // Text(value.toString()), + BrandText.small( + 'GMT ${duration.toDayHourMinuteFormat()} ${area.isNotEmpty ? '($area)' : ''}', + style: TextStyle( + fontSize: 13, + )), ], ), decoration: BoxDecoration(