implemented a comprehensive client-side demo mode triggered by a "demo@" username prefix, serving curated fixture data for all app modules
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
import '../../../../../api/demo/data/demo_talk.dart';
|
||||
import '../../../../../api/demo/demo_mode.dart';
|
||||
import '../../../../../api/marianumcloud/talk/create_room/create_room.dart';
|
||||
import '../../../../../api/marianumcloud/talk/create_room/create_room_params.dart';
|
||||
import '../../../../../api/marianumcloud/talk/room/get_room_cache.dart';
|
||||
@@ -8,13 +10,18 @@ class ChatListDataProvider {
|
||||
Future<GetRoomResponse> getRooms({
|
||||
void Function(Object)? onError,
|
||||
bool renew = false,
|
||||
}) => resolveFromCache<GetRoomResponse>(
|
||||
(onUpdate, onError) =>
|
||||
GetRoomCache(renew: renew, onUpdate: onUpdate, onError: onError),
|
||||
onError: onError,
|
||||
operationName: 'getRooms',
|
||||
);
|
||||
}) {
|
||||
if (DemoMode.active) return Future.value(DemoTalk.rooms());
|
||||
return resolveFromCache<GetRoomResponse>(
|
||||
(onUpdate, onError) =>
|
||||
GetRoomCache(renew: renew, onUpdate: onUpdate, onError: onError),
|
||||
onError: onError,
|
||||
operationName: 'getRooms',
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> createDirectRoom(String invite) =>
|
||||
CreateRoom(CreateRoomParams(roomType: 1, invite: invite)).run();
|
||||
Future<void> createDirectRoom(String invite) {
|
||||
if (DemoMode.active) return Future.value();
|
||||
return CreateRoom(CreateRoomParams(roomType: 1, invite: invite)).run();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user