From d0f5495e075f622d7affeabd689d2ff2f457b03a Mon Sep 17 00:00:00 2001 From: Salvatore Giordano Date: Tue, 2 Mar 2021 11:04:00 +0100 Subject: [PATCH] better web support --- stream_chat_v1/lib/choose_user_page.dart | 31 +++++++++++++----------- stream_chat_v1/lib/main.dart | 13 ++++++---- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/stream_chat_v1/lib/choose_user_page.dart b/stream_chat_v1/lib/choose_user_page.dart index a23db66..d325a96 100644 --- a/stream_chat_v1/lib/choose_user_page.dart +++ b/stream_chat_v1/lib/choose_user_page.dart @@ -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, diff --git a/stream_chat_v1/lib/main.dart b/stream_chat_v1/lib/main.dart index 04d0121..73d945d 100644 --- a/stream_chat_v1/lib/main.dart +++ b/stream_chat_v1/lib/main.dart @@ -44,10 +44,14 @@ class _MyAppState extends State with TickerProviderStateMixin { int timeOfStartMs; Future _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 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); }