selfprivacy.org.app/lib/logic/common_enum/common_enum.dart

95 lines
2.6 KiB
Dart
Raw Normal View History

2021-08-18 13:44:46 +03:00
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/cupertino.dart';
import 'package:selfprivacy/ui/components/brand_icons/brand_icons.dart';
2021-08-29 16:54:28 +03:00
import 'package:unicons/unicons.dart';
2021-08-18 13:44:46 +03:00
2021-01-08 14:37:28 +02:00
enum InitializingSteps {
setHeznerKey,
setCloudFlareKey,
setDomainName,
setRootUser,
createServer,
checkCloudFlareDns,
startServer,
checkSystemDnsAndDkimSet,
}
2021-04-10 06:04:23 +03:00
enum Period { hour, day, month }
2021-08-18 13:44:46 +03:00
enum ServiceTypes {
mail,
messenger,
passwordManager,
video,
cloud,
socialNetwork,
git,
2021-08-29 16:54:28 +03:00
vpn,
2021-08-18 13:44:46 +03:00
}
extension ServiceTypesExt on ServiceTypes {
String get title {
switch (this) {
case ServiceTypes.mail:
return 'services.mail.title'.tr();
case ServiceTypes.messenger:
return 'services.messenger.title'.tr();
case ServiceTypes.passwordManager:
return 'services.password_manager.title'.tr();
case ServiceTypes.video:
return 'services.video.title'.tr();
case ServiceTypes.cloud:
return 'services.cloud.title'.tr();
case ServiceTypes.socialNetwork:
return 'services.social_network.title'.tr();
case ServiceTypes.git:
return 'services.git.title'.tr();
2021-08-29 16:54:28 +03:00
case ServiceTypes.vpn:
return 'services.vpn.title'.tr();
2021-08-18 13:44:46 +03:00
}
}
String get subtitle {
switch (this) {
case ServiceTypes.mail:
return 'services.mail.subtitle'.tr();
case ServiceTypes.messenger:
return 'services.messenger.subtitle'.tr();
case ServiceTypes.passwordManager:
return 'services.password_manager.subtitle'.tr();
case ServiceTypes.video:
return 'services.video.subtitle'.tr();
case ServiceTypes.cloud:
return 'services.cloud.subtitle'.tr();
case ServiceTypes.socialNetwork:
return 'services.social_network.subtitle'.tr();
case ServiceTypes.git:
return 'services.git.subtitle'.tr();
2021-08-29 16:54:28 +03:00
case ServiceTypes.vpn:
return 'services.vpn.subtitle'.tr();
2021-08-18 13:44:46 +03:00
}
}
IconData get icon {
switch (this) {
case ServiceTypes.mail:
return BrandIcons.envelope;
case ServiceTypes.messenger:
return BrandIcons.messanger;
case ServiceTypes.passwordManager:
return BrandIcons.key;
case ServiceTypes.video:
return BrandIcons.webcam;
case ServiceTypes.cloud:
return BrandIcons.upload;
case ServiceTypes.socialNetwork:
return BrandIcons.social;
case ServiceTypes.git:
return BrandIcons.git;
2021-08-29 16:54:28 +03:00
case ServiceTypes.vpn:
return UniconsLine.cloud_lock;
2021-08-18 13:44:46 +03:00
}
}
2021-08-29 16:54:28 +03:00
String get txt => this.toString().split('.')[1];
2021-08-18 13:44:46 +03:00
}