initial commit
This commit is contained in:
commit
217621daac
21 changed files with 1401 additions and 0 deletions
17
lib/controllers/auth_code_controller.dart
Normal file
17
lib/controllers/auth_code_controller.dart
Normal 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,
|
||||
);
|
||||
}
|
16
lib/controllers/settings_controller.dart
Normal file
16
lib/controllers/settings_controller.dart
Normal 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,
|
||||
);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue