Add settings page (#46)

Fixes #37, fixes #47.

Reviewed-on: Nexus/nexus#46
This commit is contained in:
Henry Hiles 2026-07-17 20:36:41 -04:00 committed by Henry Hiles
commit 0ef9b25320
20 changed files with 970 additions and 28 deletions

View 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,
);
}