From 3a40b5ed323e045e7297eb9472dbe9e59225dee1 Mon Sep 17 00:00:00 2001 From: NaiJi Date: Fri, 2 Jun 2023 02:15:13 -0300 Subject: [PATCH] fix: Add missing DNS providers to different installation steps --- .../providers/server_providers/hetzner.dart | 3 + .../initializing/dns_provider_picker.dart | 58 +++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/lib/logic/providers/server_providers/hetzner.dart b/lib/logic/providers/server_providers/hetzner.dart index ad6f4d4a..ce0bd416 100644 --- a/lib/logic/providers/server_providers/hetzner.dart +++ b/lib/logic/providers/server_providers/hetzner.dart @@ -398,6 +398,9 @@ class HetznerServerProvider extends ServerProvider { case DnsProviderType.digitalOcean: dnsProviderType = 'DIGITALOCEAN'; break; + case DnsProviderType.desec: + dnsProviderType = 'DESEC'; + break; case DnsProviderType.cloudflare: default: dnsProviderType = 'CLOUDFLARE'; diff --git a/lib/ui/pages/setup/initializing/dns_provider_picker.dart b/lib/ui/pages/setup/initializing/dns_provider_picker.dart index e7407cf2..889367fa 100644 --- a/lib/ui/pages/setup/initializing/dns_provider_picker.dart +++ b/lib/ui/pages/setup/initializing/dns_provider_picker.dart @@ -174,6 +174,8 @@ class ProviderSelectionPage extends StatelessWidget { width: double.infinity, child: Column( crossAxisAlignment: CrossAxisAlignment.start, + + /// TODO: Remove obvious repetition children: [ Text( 'initializing.select_dns'.tr(), @@ -295,6 +297,62 @@ class ProviderSelectionPage extends StatelessWidget { ), ), ), + const SizedBox(height: 16), + OutlinedCard( + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Container( + width: 40, + height: 40, + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(40), + color: const Color.fromARGB(255, 1, 126, 251), + ), + child: SvgPicture.asset( + 'assets/images/logos/digital_ocean.svg', + ), + ), + const SizedBox(width: 16), + Text( + 'Digital Ocean', + style: Theme.of(context).textTheme.titleMedium, + ), + ], + ), + const SizedBox(height: 16), + Text( + 'initializing.select_provider_price_title'.tr(), + style: Theme.of(context).textTheme.bodyLarge, + ), + Text( + 'initializing.select_provider_price_free'.tr(), + style: Theme.of(context).textTheme.bodySmall, + ), + const SizedBox(height: 16), + BrandButton.rised( + text: 'basis.select'.tr(), + onPressed: () { + serverInstallationCubit + .setDnsProviderType(DnsProviderType.digitalOcean); + callback(DnsProviderType.digitalOcean); + }, + ), + // Outlined button that will open website + BrandOutlinedButton( + onPressed: () => + launchUrlString('https://cloud.digitalocean.com/'), + title: 'initializing.select_provider_site_button'.tr(), + ), + ], + ), + ), + ), ], ), );