aboutsummaryrefslogtreecommitdiff
path: root/src/components/ScrollTopArrow/ScrollTopArrow.tsx
diff options
context:
space:
mode:
authorEugene Sokolov <eug-vs@keemail.me>2020-07-04 00:12:42 +0300
committerGitHub <noreply@github.com>2020-07-04 00:12:42 +0300
commited0117c9c7a60b285eb8e47bbd925e222184df51 (patch)
treeb97f00e24f7ef10db191954588534f59644fdabc /src/components/ScrollTopArrow/ScrollTopArrow.tsx
parentaf51f6c8a6fabdd8e578e13599b33f121f483a52 (diff)
parent7b698a68cb3d332aecfebf7a85b2ac56f9448bea (diff)
downloadwhich-ui-ed0117c9c7a60b285eb8e47bbd925e222184df51.tar.gz
Merge pull request #61 from which-ecosystem/mobile-adaptation
Adapt application for mobile devices
Diffstat (limited to 'src/components/ScrollTopArrow/ScrollTopArrow.tsx')
-rw-r--r--src/components/ScrollTopArrow/ScrollTopArrow.tsx43
1 files changed, 26 insertions, 17 deletions
diff --git a/src/components/ScrollTopArrow/ScrollTopArrow.tsx b/src/components/ScrollTopArrow/ScrollTopArrow.tsx
index 6b9d5c9..08b8591 100644
--- a/src/components/ScrollTopArrow/ScrollTopArrow.tsx
+++ b/src/components/ScrollTopArrow/ScrollTopArrow.tsx
@@ -1,26 +1,33 @@
import React, { useState } from 'react';
-import { FaArrowCircleUp } from 'react-icons/fa';
-import { makeStyles } from '@material-ui/core';
-import teal from '@material-ui/core/colors/teal';
+import { makeStyles, useTheme } from '@material-ui/core/styles';
+import { useMediaQuery } from '@material-ui/core';
+import ArrowUpwardIcon from '@material-ui/icons/ArrowUpward';
-const useStyles = makeStyles(() => ({
- scrollTop: {
+const useStyles = makeStyles(theme => ({
+ root: {
position: 'fixed',
- width: 50,
- bottom: 50,
- left: 50,
+ bottom: theme.spacing(10),
+ left: theme.spacing(10),
zIndex: 1000,
cursor: 'pointer',
- opacity: 0.5,
+ opacity: 0.4,
'&:hover': {
- opacity: '1'
- }
+ opacity: 1
+ },
+ background: theme.palette.primary.main,
+ borderRadius: '50%'
+ },
+ icon: {
+ fontSize: 80,
+ color: 'white'
}
}));
-const ScrollTopArrow:React.FC = () => {
+const ScrollTopArrow: React.FC = () => {
const [showScroll, setShowScroll] = useState(false);
+ const theme = useTheme();
const classes = useStyles();
+ const isMobile = useMediaQuery(theme.breakpoints.down('sm'));
const checkScrollTop = () => {
if (!showScroll && window.pageYOffset > 400) {
@@ -37,11 +44,13 @@ const ScrollTopArrow:React.FC = () => {
window.addEventListener('scroll', checkScrollTop);
return (
- <FaArrowCircleUp
- className={classes.scrollTop}
- onClick={scrollTop}
- style={{ height: 50, display: showScroll ? 'block' : 'none', color: teal[700] }}
- />
+ <div className={classes.root}>
+ {
+ showScroll
+ && !isMobile
+ && <ArrowUpwardIcon className={classes.icon} color="primary" onClick={scrollTop} />
+ }
+ </div>
);
};