forked from Nexus/nexus
Add settings page (#46)
Fixes #37, fixes #47. Reviewed-on: Nexus/nexus#46
This commit is contained in:
parent
06824784cb
commit
0ef9b25320
20 changed files with 970 additions and 28 deletions
23
lib/controllers/settings_file_controller.dart
Normal file
23
lib/controllers/settings_file_controller.dart
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import "dart:io";
|
||||
import "package:flutter_riverpod/flutter_riverpod.dart";
|
||||
import "package:path/path.dart";
|
||||
import "package:path_provider/path_provider.dart";
|
||||
import "package:xdg_directories/xdg_directories.dart";
|
||||
|
||||
class SettingsFileController extends AsyncNotifier<File> {
|
||||
@override
|
||||
Future<File> build() async {
|
||||
final directory = await switch (Platform.isLinux) {
|
||||
true => Directory(
|
||||
join(configHome.absolute.path, "nexus"),
|
||||
).create(recursive: true),
|
||||
false => getApplicationSupportDirectory(),
|
||||
};
|
||||
|
||||
return File(join(directory.absolute.path, "config.json"));
|
||||
}
|
||||
|
||||
static final provider = AsyncNotifierProvider<SettingsFileController, File>(
|
||||
SettingsFileController.new,
|
||||
);
|
||||
}
|
||||
Loading…
Reference in a new issue