summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-03-07 13:27:43 +0100
committerOskar Nyberg <oskar@mullvad.net>2022-03-07 14:33:00 +0100
commit2ebec78b6a1aef8be562f4a984dbeaf97a378390 (patch)
treea81363821136e5a314dda15a02469a157ecaf718
parente45465b93b654c1b4f99ac93a5c5ea78b26e8511 (diff)
downloadmullvadvpn-2ebec78b6a1aef8be562f4a984dbeaf97a378390.tar.xz
mullvadvpn-2ebec78b6a1aef8be562f4a984dbeaf97a378390.zip
Disable settings button during login
-rw-r--r--gui/src/renderer/components/HeaderBar.tsx16
-rw-r--r--gui/src/renderer/components/Login.tsx6
2 files changed, 14 insertions, 8 deletions
diff --git a/gui/src/renderer/components/HeaderBar.tsx b/gui/src/renderer/components/HeaderBar.tsx
index d9d17a4744..15ec961400 100644
--- a/gui/src/renderer/components/HeaderBar.tsx
+++ b/gui/src/renderer/components/HeaderBar.tsx
@@ -92,12 +92,18 @@ const HeaderBarSettingsButtonContainer = styled.button({
border: 'none',
});
-export function HeaderBarSettingsButton() {
+interface IHeaderBarSettingsButtonProps {
+ disabled?: boolean;
+}
+
+export function HeaderBarSettingsButton(props: IHeaderBarSettingsButtonProps) {
const history = useHistory();
const openSettings = useCallback(() => {
- history.show(RoutePath.settings);
- }, [history]);
+ if (!props.disabled) {
+ history.show(RoutePath.settings);
+ }
+ }, [history, props.disabled]);
return (
<HeaderBarSettingsButtonContainer
@@ -107,8 +113,8 @@ export function HeaderBarSettingsButton() {
height={24}
width={24}
source="icon-settings"
- tintColor={colors.white60}
- tintHoverColor={colors.white80}
+ tintColor={props.disabled ? colors.white40 : colors.white60}
+ tintHoverColor={props.disabled ? colors.white40 : colors.white80}
/>
</HeaderBarSettingsButtonContainer>
);
diff --git a/gui/src/renderer/components/Login.tsx b/gui/src/renderer/components/Login.tsx
index bdeb6bdb4b..31afee88b0 100644
--- a/gui/src/renderer/components/Login.tsx
+++ b/gui/src/renderer/components/Login.tsx
@@ -89,13 +89,13 @@ export default class Login extends React.Component<IProps, IState> {
}
public render() {
- const showFooter = this.allowInteraction();
+ const allowInteraction = this.allowInteraction();
return (
<Layout>
<Header>
<Brand />
- <HeaderBarSettingsButton />
+ <HeaderBarSettingsButton disabled={!allowInteraction} />
</Header>
<Container>
<StyledTopInfo>
@@ -108,7 +108,7 @@ export default class Login extends React.Component<IProps, IState> {
{this.createLoginForm()}
</StyledLoginForm>
- <StyledFooter show={showFooter}>{this.createFooter()}</StyledFooter>
+ <StyledFooter show={allowInteraction}>{this.createFooter()}</StyledFooter>
</Container>
</Layout>
);