initial commit

This commit is contained in:
Henry Hiles 2025-06-18 10:32:03 -04:00
commit 217621daac
No known key found for this signature in database
21 changed files with 1401 additions and 0 deletions

View file

@ -0,0 +1,17 @@
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:matrixgate/models/matrix_user.dart";
import "package:riverpod/riverpod.dart";
class AuthCodeController extends Notifier<IMap<String, MatrixUser>> {
@override
IMap<String, MatrixUser> build() => const IMap.empty();
void set(String name, MatrixUser user) =>
state = state.update(name, (_) => user, ifAbsent: () => user);
void remove(String name) => state = state.remove(name);
static final provider =
NotifierProvider<AuthCodeController, IMap<String, MatrixUser>>(
AuthCodeController.new,
);
}

View file

@ -0,0 +1,16 @@
import "package:args/args.dart";
import "package:matrixgate/models/settings.dart";
import "package:riverpod/riverpod.dart";
class SettingsController extends Notifier<Settings?> {
@override
Settings? build() => null;
void set(ArgResults args) => state = Settings.fromJson(<String, dynamic>{
for (final opt in args.options) opt: args.option(opt),
});
static final provider = NotifierProvider<SettingsController, Settings?>(
SettingsController.new,
);
}