Add SecureStorageController

This commit is contained in:
Henry Hiles 2025-11-17 21:43:46 -05:00
commit c3376bf780
No known key found for this signature in database
10 changed files with 136 additions and 188 deletions

View file

@ -40,7 +40,7 @@ class ClientController extends AsyncNotifier<Client> {
identifier: AuthenticationUserIdentifier(user: username),
password: password,
);
//TODO: refresh
ref.invalidateSelf();
return true;
} catch (_) {
return false;

View file

@ -0,0 +1,12 @@
import "package:matrix/matrix.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:simple_secure_storage/simple_secure_storage.dart";
class SecureStorageController extends AsyncNotifier<void> {
@override
Future<void> build() => SimpleSecureStorage.initialize();
static final provider = AsyncNotifierProvider<SecureStorageController, void>(
SecureStorageController.new,
);
}

View file

@ -3,14 +3,13 @@ import "package:nexus/controllers/client_controller.dart";
import "package:nexus/helpers/extension_helper.dart";
import "package:nexus/pages/home_page.dart";
import "package:nexus/pages/login_page.dart";
import "package:scaled_app/scaled_app.dart";
import "package:window_manager/window_manager.dart";
import "package:flutter/material.dart";
import "package:dynamic_system_colors/dynamic_system_colors.dart";
import "package:window_size/window_size.dart";
void main() async {
ScaledWidgetsFlutterBinding.ensureInitialized(scaleFactor: (size) => 1);
WidgetsFlutterBinding.ensureInitialized();
await windowManager.ensureInitialized();
await windowManager.waitUntilReadyToShow(

View file

@ -55,24 +55,26 @@ class LoginPage extends HookConsumerWidget {
appBar: Appbar(),
body: Center(
child: ConstrainedBox(
constraints: BoxConstraints.tight(Size.fromWidth(500)),
constraints: BoxConstraints(maxWidth: 600),
child: ListView(
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 48),
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 64),
children: [
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
SvgPicture.asset("assets/icon.svg"),
SizedBox(width: 12),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Nexus", style: theme.textTheme.displayMedium),
Text(
"A Simple Matrix Client",
style: theme.textTheme.headlineMedium,
),
],
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Nexus", style: theme.textTheme.displayMedium),
Text(
"A Simple Matrix Client",
style: theme.textTheme.headlineMedium,
overflow: TextOverflow.ellipsis,
),
],
),
),
],
),