Update the env proto and fix auth

This commit is contained in:
2024-04-29 12:42:16 +02:00
parent ad259dc553
commit ddc70e5854
7 changed files with 138 additions and 75 deletions

View File

@ -0,0 +1,24 @@
import 'package:flutter/material.dart';
class EnvirnomentCard extends StatelessWidget {
final String name;
const EnvirnomentCard({
super.key,
required this.name,
});
@override
Widget build(BuildContext context) {
return Card(
child: Column(
children: [
Text(name),
Row(
children: [Text(name)],
)
],
),
);
}
}

View File

@ -1,15 +1,14 @@
import 'dart:js_interop';
import 'package:flutter/material.dart';
import 'package:grpc/grpc_web.dart';
import 'package:softplayer_web/api/grpc/creds.dart';
import 'package:softplayer_web/api/grpc/environments.dart';
import 'package:softplayer_web/components/environment_card.dart';
class EnvirnomentList extends StatefulWidget {
EnvirnomentList({
const EnvirnomentList({
super.key,
required this.channel,
});
final GrpcWebClientChannel channel;
@override
State<StatefulWidget> createState() => _EnvirnomentListState();
@ -21,8 +20,7 @@ class _EnvirnomentListState extends State<EnvirnomentList> {
@override
void initState() {
super.initState();
envGrpc = EnvironmentsGrpc(channel: widget.channel);
envGrpc.init();
envGrpc = EnvironmentsGrpc(widget.channel);
}
@override
@ -30,20 +28,24 @@ class _EnvirnomentListState extends State<EnvirnomentList> {
return Scaffold(
body: SafeArea(
child: StreamBuilder(
stream: envGrpc.list(),
stream:
envGrpc.list(SoftplayerCredsHelpers().fromLocalStorage()),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return CircularProgressIndicator();
return const CircularProgressIndicator();
} else if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasError) {
return Text('Error!');
return const Text('Error!');
} else {
return Column(
children: snapshot.data!.map((e) => Text(e)).toList(),
return GridView.count(
crossAxisCount: 4,
children: snapshot.data!
.map((e) => EnvirnomentCard(name: e.name.name))
.toList(),
);
}
}
return Text("err");
return const Text("err");
})));
}
}

View File

@ -8,8 +8,9 @@ class LoginForm extends StatefulWidget {
const LoginForm({
super.key,
required this.grpcChannel,
required this.notifyParent,
});
final Function() notifyParent;
final GrpcWebClientChannel grpcChannel;
@override
State<StatefulWidget> createState() => _LoginFormState();
@ -38,6 +39,7 @@ class _LoginFormState extends State<LoginForm> {
accountsGrpc.signUp(username, email, password).then((rs) {
window.localStorage["token"] = rs.token;
window.localStorage["uuid"] = rs.uuid;
widget.notifyParent();
Navigator.of(context, rootNavigator: true).pop();
}).catchError((e) {
GrpcError error = e;
@ -66,7 +68,8 @@ class _LoginFormState extends State<LoginForm> {
accountsGrpc.signIn(username, "", password).then((rs) {
window.localStorage["token"] = rs.token;
window.localStorage["uuid"] = rs.uuid;
Navigator.of(context, rootNavigator: true).pop();
widget.notifyParent();
// Navigator.of(context, rootNavigator: true).pop();
}).catchError((e) {
print(e);
GrpcError error = e;