Skip to content

Commit

Permalink
refactor(components): made announcement banner animation smoothier
Browse files Browse the repository at this point in the history
  • Loading branch information
Kirill Bolotsky committed Oct 15, 2020
1 parent 22651da commit a38e4d3
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 31 deletions.
2 changes: 1 addition & 1 deletion plugins/gatsby-plugin-announcement-banner/wrap-page.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const UniversalWrapper = ({ element, pluginOptions }) => {
const isGAEnabled =
label && action && readMoreButtonCategory && dismissButtonCategory;

React.useEffect(() => {
React.useLayoutEffect(() => {
setShouldBeMounted(true);
}, []);

Expand Down
62 changes: 32 additions & 30 deletions src/components/shared/announcement-banner/announcement-banner.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,38 +47,40 @@ const AnnouncementBanner = ({
: () => setAnimateOut(true);

return isShown ? (
<div
className={classNames(
styles.wrapper,
{ [styles.in]: animateIn && !animateOut },
{ [styles.out]: animateOut },
)}
onTransitionEnd={isMobile ? undefined : onTransitionEndHandler}
>
<div className={styles.backgroundPatternWrapper}>
<Pattern />
<Pattern />
</div>
<div className={'container'}>
<div className={styles.inner}>
<p className={styles.message}>{text}</p>
<Button
tag="a"
rel="noreferrer"
href={link}
className={styles.btn}
size={'sm'}
onClick={readMoreButtonClickHandler}
>
{buttonText}
</Button>
<div style={{ height: isMobile ? 'auto' : '60px' }}>
<div
className={classNames(
styles.wrapper,
{ [styles.in]: animateIn && !animateOut },
{ [styles.out]: animateOut },
)}
onTransitionEnd={isMobile ? undefined : onTransitionEndHandler}
>
<div className={styles.backgroundPatternWrapper}>
<Pattern />
<Pattern />
</div>
<div className={'container'}>
<div className={styles.inner}>
<p className={styles.message}>{text}</p>
<Button
tag="a"
rel="noreferrer"
href={link}
className={styles.btn}
size={'sm'}
onClick={readMoreButtonClickHandler}
>
{buttonText}
</Button>
</div>
</div>
<button
type="button"
className={styles.btnClose}
onClick={onCloseButtonClick}
/>
</div>
<button
type="button"
className={styles.btnClose}
onClick={onCloseButtonClick}
/>
</div>
) : null;
};
Expand Down

0 comments on commit a38e4d3

Please sign in to comment.