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:example/stream_version.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:flutter_svg/flutter_svg.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; final client = StreamChat.of(context).client;
client.apiKey = kDefaultStreamApiKey; client.apiKey = kDefaultStreamApiKey;
await client.setUser( await client.connectUser(
user, user,
token, token,
); );
secureStorage.write( if (!kIsWeb) {
key: kStreamApiKey, final secureStorage = FlutterSecureStorage();
value: kDefaultStreamApiKey, secureStorage.write(
); key: kStreamApiKey,
secureStorage.write( value: kDefaultStreamApiKey,
key: kStreamUserId, );
value: user.id, secureStorage.write(
); key: kStreamUserId,
secureStorage.write( value: user.id,
key: kStreamToken, );
value: token, secureStorage.write(
); key: kStreamToken,
value: token,
);
}
Navigator.pushNamedAndRemoveUntil( Navigator.pushNamedAndRemoveUntil(
context, context,
Routes.HOME, Routes.HOME,
+8 -5
View File
@@ -44,10 +44,14 @@ class _MyAppState extends State<MyApp> with TickerProviderStateMixin {
int timeOfStartMs; int timeOfStartMs;
Future<InitData> _initConnection() async { Future<InitData> _initConnection() async {
final secureStorage = FlutterSecureStorage(); String apiKey, userId, token;
final apiKey = await secureStorage.read(key: kStreamApiKey); if (!kIsWeb) {
final userId = await secureStorage.read(key: kStreamUserId); final secureStorage = FlutterSecureStorage();
apiKey = await secureStorage.read(key: kStreamApiKey);
userId = await secureStorage.read(key: kStreamUserId);
token = await secureStorage.read(key: kStreamToken);
}
final client = StreamChatClient( final client = StreamChatClient(
apiKey ?? kDefaultStreamApiKey, apiKey ?? kDefaultStreamApiKey,
@@ -55,14 +59,13 @@ class _MyAppState extends State<MyApp> with TickerProviderStateMixin {
)..chatPersistenceClient = chatPersistentClient; )..chatPersistenceClient = chatPersistentClient;
if (userId != null) { if (userId != null) {
final token = await secureStorage.read(key: kStreamToken);
await client.connectUser( await client.connectUser(
User(id: userId), User(id: userId),
token, token,
); );
} }
var prefs = await StreamingSharedPreferences.instance; final prefs = await StreamingSharedPreferences.instance;
return InitData(client, prefs); return InitData(client, prefs);
} }