mirror of
https://github.com/status-im/liquid-funding.git
synced 2025-02-23 00:28:16 +00:00
add previous button for pagination
This commit is contained in:
parent
f36bb0a272
commit
c741b64d46
@ -118,15 +118,16 @@ function TableCards({ profiles, classes }) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const OFFSET = 5
|
||||||
function ListProjects() {
|
function ListProjects() {
|
||||||
const classes = useStyles()
|
const classes = useStyles()
|
||||||
const [offset, setOffset] = useState(2)
|
const [offset, setOffset] = useState(0)
|
||||||
const windowSize = useWindowSize()
|
const windowSize = useWindowSize()
|
||||||
const { loading, error, data, fetchMore } = useQuery(
|
const { loading, error, data, fetchMore } = useQuery(
|
||||||
getProjects,
|
getProjects,
|
||||||
{
|
{
|
||||||
variables: {
|
variables: {
|
||||||
offset: 0,
|
offset,
|
||||||
limit: 5
|
limit: 5
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -138,7 +139,6 @@ function ListProjects() {
|
|||||||
const isSmall = innerWidth < 800
|
const isSmall = innerWidth < 800
|
||||||
const fabStyle = isSmall ? classnames(classes.fabLink, classes.fabSmall) : classes.fabLink
|
const fabStyle = isSmall ? classnames(classes.fabLink, classes.fabSmall) : classes.fabLink
|
||||||
const titleStyle = isSmall ? classes.tableTitleSmall : classes.tableTitle
|
const titleStyle = isSmall ? classes.tableTitleSmall : classes.tableTitle
|
||||||
console.log({data})
|
|
||||||
return (
|
return (
|
||||||
<div className={classes.main}>
|
<div className={classes.main}>
|
||||||
<Typography className={classnames(classes.title, classes.fullWidth)}>
|
<Typography className={classnames(classes.title, classes.fullWidth)}>
|
||||||
@ -153,21 +153,34 @@ function ListProjects() {
|
|||||||
{!isSmall && <TableHeader classes={classes} />}
|
{!isSmall && <TableHeader classes={classes} />}
|
||||||
{!isSmall ? <TableRows profiles={profiles} classes={classes} /> : <TableCards profiles={profiles} classes={classes} />}
|
{!isSmall ? <TableRows profiles={profiles} classes={classes} /> : <TableCards profiles={profiles} classes={classes} />}
|
||||||
<Divider className={classes.divider} />
|
<Divider className={classes.divider} />
|
||||||
<Button onClick={() => {
|
{!!offset && <Button onClick={() => {
|
||||||
fetchMore({
|
fetchMore({
|
||||||
variables: {
|
variables: {
|
||||||
offset
|
offset: offset - OFFSET
|
||||||
},
|
},
|
||||||
updateQuery: (prev, { fetchMoreResult }) => {
|
updateQuery: (prev, { fetchMoreResult }) => {
|
||||||
console.log({prev, fetchMoreResult})
|
|
||||||
if (!fetchMoreResult) return prev;
|
if (!fetchMoreResult) return prev;
|
||||||
return Object.assign({}, prev, {
|
return Object.assign({}, prev, {
|
||||||
profiles: [...fetchMoreResult.profiles]
|
profiles: [...fetchMoreResult.profiles]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
setOffset(offset+offset)
|
setOffset(offset-offset)
|
||||||
}}>Next</Button>
|
}} className={classnames(classes.previousButton, classes.blue)}>{'< Previous'}</Button>}
|
||||||
|
{profiles.length === OFFSET && <Button onClick={() => {
|
||||||
|
fetchMore({
|
||||||
|
variables: {
|
||||||
|
offset: offset + OFFSET
|
||||||
|
},
|
||||||
|
updateQuery: (prev, { fetchMoreResult }) => {
|
||||||
|
if (!fetchMoreResult) return prev;
|
||||||
|
return Object.assign({}, prev, {
|
||||||
|
profiles: [...fetchMoreResult.profiles]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
setOffset(offset+OFFSET)
|
||||||
|
}} className={classnames(classes.nextButton, classes.blue)}>{'Next >'}</Button>}
|
||||||
<Link to={`/create-project`} className={fabStyle}>
|
<Link to={`/create-project`} className={fabStyle}>
|
||||||
<Fab className={classes.fab}>
|
<Fab className={classes.fab}>
|
||||||
<AddIcon className={classes.addIcon}/>
|
<AddIcon className={classes.addIcon}/>
|
||||||
|
@ -147,6 +147,12 @@ const useStyles = makeStyles(theme => ({
|
|||||||
dateCreated: {
|
dateCreated: {
|
||||||
gridColumn: '40 / 44'
|
gridColumn: '40 / 44'
|
||||||
},
|
},
|
||||||
|
previousButton: {
|
||||||
|
gridColumn: '3 / 9'
|
||||||
|
},
|
||||||
|
nextButton: {
|
||||||
|
gridColumn: '42 / 48'
|
||||||
|
},
|
||||||
readMore: {
|
readMore: {
|
||||||
gridColumn: '44 / 48',
|
gridColumn: '44 / 48',
|
||||||
fontSize: '0.94rem',
|
fontSize: '0.94rem',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user