Update saved teams

This commit is contained in:
Justin Edmund 2022-12-22 00:57:18 -08:00
parent 45aa8c38ab
commit 55a292529f

View file

@ -22,7 +22,8 @@ import type { NextApiRequest, NextApiResponse } from 'next'
import type { PaginationObject } from '~types'
interface Props {
teams?: { count: number; total_pages: number; results: Party[] }
teams?: Party[]
meta: PaginationObject
raids: Raid[]
sortedRaids: Raid[][]
}
@ -95,9 +96,9 @@ const SavedRoute: React.FC<Props> = (props: Props) => {
// Set the initial parties from props
useEffect(() => {
if (props.teams) {
setTotalPages(props.teams.total_pages)
setRecordCount(props.teams.count)
replaceResults(props.teams.count, props.teams.results)
setTotalPages(props.meta.totalPages)
setRecordCount(props.meta.count)
replaceResults(props.meta.count, props.teams)
}
setCurrentPage(1)
}, [])
@ -131,12 +132,14 @@ const SavedRoute: React.FC<Props> = (props: Props) => {
api
.savedTeams({ ...filters, ...{ headers: headers } })
.then((response) => {
setTotalPages(response.data.meta.total_pages)
setRecordCount(response.data.meta.count)
const results = response.data.results
const meta = response.data.meta
if (replace)
replaceResults(response.data.meta.count, response.data.results)
else appendResults(response.data.results)
setTotalPages(meta.total_pages)
setRecordCount(meta.count)
if (replace) replaceResults(meta.count, results)
else appendResults(results)
})
.catch((error) => handleError(error))
},
@ -377,6 +380,13 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
if (teamElement && teamElement.id > -1) filters.element = teamElement.id
if (raid) filters.raid = raid.id
let teams: Party[] | null = null
let meta: PaginationObject = {
count: 0,
totalPages: 0,
perPage: 15,
}
// Fetch initial set of parties here
const response = await api.savedTeams({
params: {
@ -384,10 +394,16 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
},
...headers
})
teams = response.data.results
meta.count = response.data.meta.count
meta.totalPages = response.data.meta.total_pages
meta.perPage = response.data.meta.per_page
return {
props: {
teams: response.data,
teams: teams,
meta: meta,
raids: raids,
sortedRaids: sortedRaids,
...(await serverSideTranslations(locale, ["common"])),