display mountpoints in gui
This commit is contained in:
lukas-heiligenbrunner 2022-12-10 13:36:59 +01:00
parent 6991e730d8
commit c1d51d31cc
5 changed files with 17 additions and 5 deletions

View File

@ -59,7 +59,7 @@ class _DiskPageState extends State<DiskPage> {
),
onTap: () {
Provider.of<BreadCrumbController>(context, listen: false)
.pushPage(const DiskInfoPage(), data[idx].name);
.pushPage(DiskInfoPage(disk: data[idx]), data[idx].name);
},
);
},

View File

@ -6,8 +6,9 @@ part 'disk.g.dart';
class Disk {
String name;
int size;
List<String> mountpoints;
Disk(this.name, this.size);
Disk(this.name, this.size, this.mountpoints);
factory Disk.fromJson(Map<String, dynamic> json) => _$DiskFromJson(json);
Map<String, dynamic> toJson() => _$DiskToJson(this);
}

View File

@ -9,9 +9,11 @@ part of 'disk.dart';
Disk _$DiskFromJson(Map<String, dynamic> json) => Disk(
json['name'] as String,
json['size'] as int,
(json['mountpoints'] as List<dynamic>).map((e) => e as String).toList(),
);
Map<String, dynamic> _$DiskToJson(Disk instance) => <String, dynamic>{
'name': instance.name,
'size': instance.size,
'mountpoints': instance.mountpoints,
};

View File

@ -1,10 +1,13 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:raid_manager/utils/file_formatter.dart';
import '../breadcrumb_page/breadcrumb_controller.dart';
import '../types/disk.dart';
class DiskInfoPage extends StatefulWidget {
const DiskInfoPage({Key? key}) : super(key: key);
const DiskInfoPage({Key? key, required this.disk}) : super(key: key);
final Disk disk;
@override
State<DiskInfoPage> createState() => _DiskInfoPageState();
@ -14,8 +17,14 @@ class _DiskInfoPageState extends State<DiskInfoPage> {
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text("Mysupercool page"),
Text("Name:",style: Theme.of(context).textTheme.labelMedium),
Text(widget.disk.name,style: Theme.of(context).textTheme.labelMedium),
Text("Size:",style: Theme.of(context).textTheme.labelMedium),
Text(widget.disk.size.readableFileSize(),style: Theme.of(context).textTheme.labelMedium),
Text("Mountpoints:",style: Theme.of(context).textTheme.labelMedium),
Text(widget.disk.mountpoints.toString(),style: Theme.of(context).textTheme.labelMedium),
TextButton(
onPressed: () {
Provider.of<BreadCrumbController>(context, listen: false)

View File

@ -186,6 +186,6 @@ mod tests {
{"name":"/dev/nvme0n1", "maj:min":"259:0", "rm":false, "size":1000204886016, "ro":false, "type":"disk", "mountpoint":"/media/hdd3"}
]
}
"#.to_string())).to_string(), r#"[{"name":"/dev/sda","size":120034123776},{"name":"/dev/sdb","size":3000592982016},{"name":"/dev/sdc","size":3000592982016},{"name":"/dev/sdd","size":4000787030016},{"name":"/dev/sde","size":240057409536},{"name":"/dev/sdf","size":120034123776},{"name":"/dev/sdg","size":3000592982016},{"name":"/dev/nvme0n1","size":1000204886016}]"#);
"#.to_string())).to_string(), r#"[{"mountpoints":[],"name":"/dev/sda","size":120034123776},{"mountpoints":[],"name":"/dev/sdb","size":3000592982016},{"mountpoints":[],"name":"/dev/sdc","size":3000592982016},{"mountpoints":[],"name":"/dev/sdd","size":4000787030016},{"mountpoints":["/media/hdd1"],"name":"/dev/sde","size":240057409536},{"mountpoints":["/media/hdd2"],"name":"/dev/sdf","size":120034123776},{"mountpoints":[],"name":"/dev/sdg","size":3000592982016},{"mountpoints":["/media/hdd3"],"name":"/dev/nvme0n1","size":1000204886016}]"#);
}
}