feature/service-configurations
kherel 2022-02-07 08:53:13 +01:00
parent 9566a6ad10
commit 83ff387998
7 changed files with 526 additions and 16 deletions

View File

@ -23,7 +23,7 @@ class ServerApi extends ApiMap {
var cloudFlareDomain = getIt<ApiConfigModel>().cloudFlareDomain;
var domainName = cloudFlareDomain!.domainName;
var apiToken = getIt<ApiConfigModel>().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<bool> 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 {

View File

@ -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<Object?> get props => [enable, allowReboot];
factory AutoUpgradeSettings.fromJson(Map<String, dynamic> json) =>
_$AutoUpgradeSettingsFromJson(json);
Map<String, dynamic> toJson() => _$AutoUpgradeSettingsToJson(this);
}

View File

@ -0,0 +1,20 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'auto_upgrade_settings.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
AutoUpgradeSettings _$AutoUpgradeSettingsFromJson(Map<String, dynamic> json) =>
AutoUpgradeSettings(
enable: json['enable'] as bool,
allowReboot: json['allowReboot'] as bool,
);
Map<String, dynamic> _$AutoUpgradeSettingsToJson(
AutoUpgradeSettings instance) =>
<String, dynamic>{
'enable': instance.enable,
'allowReboot': instance.allowReboot,
};

View File

@ -0,0 +1,18 @@
import 'package:timezone/timezone.dart';
class TimeZoneSettings {
final Location timezone;
TimeZoneSettings(this.timezone);
Map<String, dynamic> toJson() {
return {
'timezone': timezone.name,
};
}
factory TimeZoneSettings.fromString(String string) {
var location = timeZoneDatabase.locations[string]!;
return TimeZoneSettings(location);
}
}

View File

@ -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<NavigatorState>();

View File

@ -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": "Апиа",
};

View File

@ -1,4 +1,4 @@
part of 'server_details.dart';
part of '../server_details.dart';
final List<Location> locations = timeZoneDatabase.locations.values.toList()
..sort((l1, l2) =>
@ -55,24 +55,35 @@ class _SelectTimezoneState extends State<SelectTimezone> {
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(