diff --git a/lib/logic/cubit/server_volumes/server_volume_state.dart b/lib/logic/cubit/server_volumes/server_volume_state.dart index 12b0b9be..3df43855 100644 --- a/lib/logic/cubit/server_volumes/server_volume_state.dart +++ b/lib/logic/cubit/server_volumes/server_volume_state.dart @@ -8,11 +8,7 @@ class ApiServerVolumeState extends ServerInstallationDependendState { ); const ApiServerVolumeState.initial() - : this( - const [], - LoadingStatus.uninitialized, - null, - ); + : this(const [], LoadingStatus.uninitialized, null); final List _volumes; final bool? usesBinds; diff --git a/lib/ui/pages/providers/providers.dart b/lib/ui/pages/providers/providers.dart index 2696bf85..a1e03a19 100644 --- a/lib/ui/pages/providers/providers.dart +++ b/lib/ui/pages/providers/providers.dart @@ -7,9 +7,6 @@ import 'package:selfprivacy/logic/cubit/providers/providers_cubit.dart'; import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart'; import 'package:selfprivacy/logic/cubit/provider_volumes/provider_volume_cubit.dart'; import 'package:selfprivacy/logic/cubit/server_volumes/server_volume_cubit.dart'; -import 'package:selfprivacy/logic/models/disk_size.dart'; -import 'package:selfprivacy/logic/models/hive/server_details.dart'; -import 'package:selfprivacy/logic/models/json/server_disk_volume.dart'; import 'package:selfprivacy/logic/models/provider.dart'; import 'package:selfprivacy/ui/components/brand_bottom_sheet/brand_bottom_sheet.dart'; import 'package:selfprivacy/ui/components/brand_cards/brand_cards.dart'; @@ -78,7 +75,7 @@ class _ProvidersPageState extends State { Padding( padding: const EdgeInsets.only(bottom: 30), child: StorageCard( - diskStatus: toDiskStatus( + diskStatus: DiskStatus.fromVolumes( context.read().state.volumes, context.read().state.volumes, ), @@ -104,60 +101,6 @@ class _ProvidersPageState extends State { ), ); } - - DiskStatus toDiskStatus( - final List serverVolumes, - final List providerVolumes, - ) { - final DiskStatus diskStatus = DiskStatus(); - diskStatus.isDiskOkay = true; - - if (providerVolumes.isEmpty || serverVolumes.isEmpty) { - diskStatus.isDiskOkay = false; - } - - diskStatus.diskVolumes = serverVolumes.map(( - final ServerDiskVolume volume, - ) { - final DiskVolume diskVolume = DiskVolume(); - diskVolume.sizeUsed = DiskSize( - byte: volume.usedSpace == 'None' ? 0 : int.parse(volume.usedSpace), - ); - diskVolume.sizeTotal = DiskSize( - byte: volume.totalSpace == 'None' ? 0 : int.parse(volume.totalSpace), - ); - diskVolume.serverDiskVolume = volume; - - for (final ServerVolume providerVolume in providerVolumes) { - if (providerVolume.linuxDevice == null || - volume.model == null || - volume.serial == null) { - continue; - } - - final String deviceId = providerVolume.linuxDevice!.split('/').last; - if (deviceId.contains(volume.model!) && - deviceId.contains(volume.serial!)) { - diskVolume.providerVolume = providerVolume; - break; - } - } - - diskVolume.name = volume.name; - diskVolume.root = volume.root; - diskVolume.percentage = - volume.usedSpace != 'None' && volume.totalSpace != 'None' - ? 1.0 / diskVolume.sizeTotal.byte * diskVolume.sizeUsed.byte - : 0.0; - if (diskVolume.percentage >= 0.8 || - diskVolume.sizeTotal.asGb() - diskVolume.sizeUsed.asGb() <= 2.0) { - diskStatus.isDiskOkay = false; - } - return diskVolume; - }).toList(); - - return diskStatus; - } } class _Card extends StatelessWidget { diff --git a/lib/ui/pages/server_storage/disk_status.dart b/lib/ui/pages/server_storage/disk_status.dart index 2c00097b..4c9949e0 100644 --- a/lib/ui/pages/server_storage/disk_status.dart +++ b/lib/ui/pages/server_storage/disk_status.dart @@ -16,6 +16,62 @@ class DiskVolume { } class DiskStatus { + DiskStatus() { + isDiskOkay = false; + diskVolumes = []; + } + + DiskStatus.fromVolumes( + final List serverVolumes, + final List providerVolumes, + ) { + isDiskOkay = true; + + if (providerVolumes.isEmpty || serverVolumes.isEmpty) { + isDiskOkay = false; + } + + diskVolumes = serverVolumes.map(( + final ServerDiskVolume volume, + ) { + final DiskVolume diskVolume = DiskVolume(); + diskVolume.sizeUsed = DiskSize( + byte: volume.usedSpace == 'None' ? 0 : int.parse(volume.usedSpace), + ); + diskVolume.sizeTotal = DiskSize( + byte: volume.totalSpace == 'None' ? 0 : int.parse(volume.totalSpace), + ); + diskVolume.serverDiskVolume = volume; + + for (final ServerVolume providerVolume in providerVolumes) { + if (providerVolume.linuxDevice == null || + volume.model == null || + volume.serial == null) { + continue; + } + + final String deviceId = providerVolume.linuxDevice!.split('/').last; + if (deviceId.contains(volume.model!) && + deviceId.contains(volume.serial!)) { + diskVolume.providerVolume = providerVolume; + break; + } + } + + diskVolume.name = volume.name; + diskVolume.root = volume.root; + diskVolume.percentage = + volume.usedSpace != 'None' && volume.totalSpace != 'None' + ? 1.0 / diskVolume.sizeTotal.byte * diskVolume.sizeUsed.byte + : 0.0; + if (diskVolume.percentage >= 0.8 || + diskVolume.sizeTotal.asGb() - diskVolume.sizeUsed.asGb() <= 2.0) { + isDiskOkay = false; + } + return diskVolume; + }).toList(); + } + bool isDiskOkay = false; List diskVolumes = []; }