Files
mattermostest/src/renderer/modals/loadingScreen/index.tsx
Devin Binnie 316beba950 [MM-14093] Rename 'team' to 'server' and 'tab' to 'view' in most cases, some additional cleanup (#2711)
* Rename MattermostTeam -> UniqueServer, MattermostTab -> UniqueView

* Rename 'team' to 'server'

* Some further cleanup

* Rename weirdly named function

* Rename 'tab' to 'view' in most instances

* Fix i18n

* PR feedback
2023-05-08 09:17:01 -04:00

73 lines
1.9 KiB
TypeScript

// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import React from 'react';
import ReactDOM from 'react-dom';
import LoadingScreen from '../../components/LoadingScreen';
import 'bootstrap/dist/css/bootstrap.min.css';
import 'renderer/css/modals.css';
import 'renderer/css/components/LoadingAnimation.css';
import 'renderer/css/components/LoadingScreen.css';
type Props = Record<string, never>;
type State = {
showLoadingScreen: boolean;
darkMode: boolean;
}
class LoadingScreenRoot extends React.PureComponent<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
showLoadingScreen: true,
darkMode: false,
};
}
async componentDidMount() {
window.desktop.onDarkModeChange(this.setDarkMode);
const darkMode = await window.desktop.getDarkMode();
this.setDarkMode(darkMode);
window.desktop.loadingScreen.onToggleLoadingScreenVisibility(this.onToggleLoadingScreenVisibility);
window.addEventListener('click', () => {
window.desktop.closeServersDropdown();
window.desktop.closeDownloadsDropdown();
});
}
setDarkMode = (darkMode: boolean) => {
this.setState({darkMode});
}
onToggleLoadingScreenVisibility = (showLoadingScreen: boolean) => {
this.setState({showLoadingScreen});
}
onFadeOutComplete = () => {
window.desktop.loadingScreen.loadingScreenAnimationFinished();
}
render() {
return (
<LoadingScreen
loading={this.state.showLoadingScreen}
darkMode={this.state.darkMode}
onFadeOutComplete={this.onFadeOutComplete}
/>
);
}
}
const start = async () => {
ReactDOM.render(
<LoadingScreenRoot/>,
document.getElementById('app'),
);
};
start();