better web support

This commit is contained in:
Salvatore Giordano
2021-03-02 11:04:00 +01:00
parent 1f18b60cea
commit d0f5495e07
2 changed files with 25 additions and 19 deletions
+17 -14
View File
@@ -1,4 +1,5 @@
import 'package:example/stream_version.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -165,26 +166,28 @@ class ChooseUserPage extends StatelessWidget {
),
);
final secureStorage = FlutterSecureStorage();
final client = StreamChat.of(context).client;
client.apiKey = kDefaultStreamApiKey;
await client.setUser(
await client.connectUser(
user,
token,
);
secureStorage.write(
key: kStreamApiKey,
value: kDefaultStreamApiKey,
);
secureStorage.write(
key: kStreamUserId,
value: user.id,
);
secureStorage.write(
key: kStreamToken,
value: token,
);
if (!kIsWeb) {
final secureStorage = FlutterSecureStorage();
secureStorage.write(
key: kStreamApiKey,
value: kDefaultStreamApiKey,
);
secureStorage.write(
key: kStreamUserId,
value: user.id,
);
secureStorage.write(
key: kStreamToken,
value: token,
);
}
Navigator.pushNamedAndRemoveUntil(
context,
Routes.HOME,
+8 -5
View File
@@ -44,10 +44,14 @@ class _MyAppState extends State<MyApp> with TickerProviderStateMixin {
int timeOfStartMs;
Future<InitData> _initConnection() async {
final secureStorage = FlutterSecureStorage();
String apiKey, userId, token;
final apiKey = await secureStorage.read(key: kStreamApiKey);
final userId = await secureStorage.read(key: kStreamUserId);
if (!kIsWeb) {
final secureStorage = FlutterSecureStorage();
apiKey = await secureStorage.read(key: kStreamApiKey);
userId = await secureStorage.read(key: kStreamUserId);
token = await secureStorage.read(key: kStreamToken);
}
final client = StreamChatClient(
apiKey ?? kDefaultStreamApiKey,
@@ -55,14 +59,13 @@ class _MyAppState extends State<MyApp> with TickerProviderStateMixin {
)..chatPersistenceClient = chatPersistentClient;
if (userId != null) {
final token = await secureStorage.read(key: kStreamToken);
await client.connectUser(
User(id: userId),
token,
);
}
var prefs = await StreamingSharedPreferences.instance;
final prefs = await StreamingSharedPreferences.instance;
return InitData(client, prefs);
}