Handle centralized app state and registration + chat history

This commit is contained in:
Gabe Kangas
2022-05-02 17:45:22 -07:00
parent b590e4f765
commit a0354d6d49
11 changed files with 257 additions and 45 deletions

View File

@ -1,5 +1,6 @@
export enum AppState {
Loading, // Initial loading state as config + status is loading.
Registering, // Creating a default anonymous chat account.
Online, // Stream is active.
Offline, // Stream is not active.
OfflineWaiting, // Period of time after going offline chat is still available.
@ -30,6 +31,8 @@ export function getChatState(state: AppState): ChatState {
return ChatState.NotAvailable;
case AppState.OfflineWaiting:
return ChatState.Available;
case AppState.Registering:
return ChatState.Loading;
default:
return ChatState.Offline;
}
@ -47,6 +50,8 @@ export function getChatVisibilityState(state: AppState): ChatVisibilityState {
return ChatVisibilityState.Hidden;
case AppState.OfflineWaiting:
return ChatVisibilityState.Visible;
case AppState.Registering:
return ChatVisibilityState.Visible;
default:
return ChatVisibilityState.Hidden;
}