Connection State: Do not duplicate Chat List spinner
This commit is contained in:
parent
5aa591eab5
commit
f5a019e02a
@ -54,8 +54,9 @@ type StateProps =
|
|||||||
theme: ISettings['theme'];
|
theme: ISettings['theme'];
|
||||||
animationLevel: 0 | 1 | 2;
|
animationLevel: 0 | 1 | 2;
|
||||||
chatsById?: Record<string, ApiChat>;
|
chatsById?: Record<string, ApiChat>;
|
||||||
isConnectionStatusMinimized: ISettings['isConnectionStatusMinimized'];
|
|
||||||
isMessageListOpen: boolean;
|
isMessageListOpen: boolean;
|
||||||
|
isConnectionStatusMinimized: ISettings['isConnectionStatusMinimized'];
|
||||||
|
areChatsLoaded?: boolean;
|
||||||
}
|
}
|
||||||
& Pick<GlobalState, 'connectionState' | 'isSyncing'>;
|
& Pick<GlobalState, 'connectionState' | 'isSyncing'>;
|
||||||
|
|
||||||
@ -84,14 +85,16 @@ const LeftMainHeader: FC<OwnProps & StateProps> = ({
|
|||||||
chatsById,
|
chatsById,
|
||||||
connectionState,
|
connectionState,
|
||||||
isSyncing,
|
isSyncing,
|
||||||
isConnectionStatusMinimized,
|
|
||||||
isMessageListOpen,
|
isMessageListOpen,
|
||||||
|
isConnectionStatusMinimized,
|
||||||
|
areChatsLoaded,
|
||||||
}) => {
|
}) => {
|
||||||
const {
|
const {
|
||||||
openChat,
|
openChat,
|
||||||
openTipsChat,
|
openTipsChat,
|
||||||
setGlobalSearchDate,
|
setGlobalSearchDate,
|
||||||
setSettingOption, setGlobalSearchChatId,
|
setSettingOption,
|
||||||
|
setGlobalSearchChatId,
|
||||||
} = getDispatch();
|
} = getDispatch();
|
||||||
|
|
||||||
const lang = useLang();
|
const lang = useLang();
|
||||||
@ -118,7 +121,7 @@ const LeftMainHeader: FC<OwnProps & StateProps> = ({
|
|||||||
}, [hasMenu, chatsById]);
|
}, [hasMenu, chatsById]);
|
||||||
|
|
||||||
const { connectionStatus, connectionStatusText, connectionStatusPosition } = useConnectionStatus(
|
const { connectionStatus, connectionStatusText, connectionStatusPosition } = useConnectionStatus(
|
||||||
lang, connectionState, isSyncing, isMessageListOpen, isConnectionStatusMinimized,
|
lang, connectionState, isSyncing, isMessageListOpen, isConnectionStatusMinimized, !areChatsLoaded,
|
||||||
);
|
);
|
||||||
|
|
||||||
const withOtherVersions = window.location.hostname === PRODUCTION_HOSTNAME;
|
const withOtherVersions = window.location.hostname === PRODUCTION_HOSTNAME;
|
||||||
@ -361,8 +364,9 @@ export default memo(withGlobal<OwnProps>(
|
|||||||
animationLevel,
|
animationLevel,
|
||||||
connectionState,
|
connectionState,
|
||||||
isSyncing,
|
isSyncing,
|
||||||
isConnectionStatusMinimized,
|
|
||||||
isMessageListOpen: Boolean(selectCurrentMessageList(global)),
|
isMessageListOpen: Boolean(selectCurrentMessageList(global)),
|
||||||
|
isConnectionStatusMinimized,
|
||||||
|
areChatsLoaded: Boolean(global.chats.listIds.active),
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
)(LeftMainHeader));
|
)(LeftMainHeader));
|
||||||
|
|||||||
@ -21,6 +21,7 @@ export default function useConnectionStatus(
|
|||||||
isSyncing: GlobalState['isSyncing'],
|
isSyncing: GlobalState['isSyncing'],
|
||||||
hasMiddleHeader: boolean,
|
hasMiddleHeader: boolean,
|
||||||
isMinimized?: boolean,
|
isMinimized?: boolean,
|
||||||
|
isDisabled?: boolean,
|
||||||
) {
|
) {
|
||||||
let status: ConnectionStatus;
|
let status: ConnectionStatus;
|
||||||
const isBrowserOnline = useBrowserOnline();
|
const isBrowserOnline = useBrowserOnline();
|
||||||
@ -33,7 +34,7 @@ export default function useConnectionStatus(
|
|||||||
}
|
}
|
||||||
|
|
||||||
let position: ConnectionStatusPosition;
|
let position: ConnectionStatusPosition;
|
||||||
if (status === ConnectionStatus.online) {
|
if (status === ConnectionStatus.online || isDisabled) {
|
||||||
position = 'none';
|
position = 'none';
|
||||||
} else if (hasMiddleHeader) {
|
} else if (hasMiddleHeader) {
|
||||||
position = 'middleHeader';
|
position = 'middleHeader';
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user