summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/components/TransitionContainer.tsx
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2022-09-07 15:57:09 +0200
committerOskar Nyberg <oskar@mullvad.net>2022-09-09 09:33:44 +0200
commit04b2f58527e7ec60a18de93108dacd4bf99e70fe (patch)
tree2a450ed4d00f333fdeeeaf946481d006f21b3b57 /gui/src/renderer/components/TransitionContainer.tsx
parent79bd0197520fe657564a16c19c59474231eca394 (diff)
downloadmullvadvpn-04b2f58527e7ec60a18de93108dacd4bf99e70fe.tar.xz
mullvadvpn-04b2f58527e7ec60a18de93108dacd4bf99e70fe.zip
Add component for pausing redux
Diffstat (limited to 'gui/src/renderer/components/TransitionContainer.tsx')
-rw-r--r--gui/src/renderer/components/TransitionContainer.tsx33
1 files changed, 19 insertions, 14 deletions
diff --git a/gui/src/renderer/components/TransitionContainer.tsx b/gui/src/renderer/components/TransitionContainer.tsx
index e360e6838e..30827bd903 100644
--- a/gui/src/renderer/components/TransitionContainer.tsx
+++ b/gui/src/renderer/components/TransitionContainer.tsx
@@ -2,6 +2,7 @@ import * as React from 'react';
import styled from 'styled-components';
import { ITransitionSpecification } from '../lib/history';
+import { PauseRendering } from '../lib/pause-rendering';
interface ITransitioningViewProps {
viewId: string;
@@ -155,28 +156,32 @@ export default class TransitionContainer extends React.Component<IProps, IState>
public render() {
const disableUserInteraction =
- this.state.itemQueue.length > 0 || this.state.nextItem ? true : false;
+ this.state.itemQueue.length > 0 || this.state.nextItem !== undefined;
return (
<StyledTransitionContainer disableUserInteraction={disableUserInteraction}>
{this.state.currentItem && (
- <StyledTransitionContent
+ <PauseRendering
key={this.state.currentItem.view.props.viewId}
- ref={this.currentContentRef}
- transition={this.state.currentItemStyle}
- onTransitionEnd={this.onTransitionEnd}>
- {this.state.currentItem.view}
- </StyledTransitionContent>
+ pause={disableUserInteraction}>
+ <StyledTransitionContent
+ ref={this.currentContentRef}
+ transition={this.state.currentItemStyle}
+ onTransitionEnd={this.onTransitionEnd}>
+ {this.state.currentItem.view}
+ </StyledTransitionContent>
+ </PauseRendering>
)}
{this.state.nextItem && (
- <StyledTransitionContent
- key={this.state.nextItem.view.props.viewId}
- ref={this.nextContentRef}
- transition={this.state.nextItemStyle}
- onTransitionEnd={this.onTransitionEnd}>
- {this.state.nextItem.view}
- </StyledTransitionContent>
+ <PauseRendering key={this.state.nextItem.view.props.viewId}>
+ <StyledTransitionContent
+ ref={this.nextContentRef}
+ transition={this.state.nextItemStyle}
+ onTransitionEnd={this.onTransitionEnd}>
+ {this.state.nextItem.view}
+ </StyledTransitionContent>
+ </PauseRendering>
)}
</StyledTransitionContainer>
);