Update the env proto and fix auth
This commit is contained in:
24
lib/components/environment_card.dart
Normal file
24
lib/components/environment_card.dart
Normal 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)],
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -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");
|
||||
})));
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user