Add message when no teams were found
This commit is contained in:
parent
e4d3ce0b61
commit
bba89795a5
3 changed files with 29 additions and 14 deletions
|
|
@ -9,7 +9,8 @@ export const useFetchTeams = (
|
||||||
setTotalPages: (value: number) => void,
|
setTotalPages: (value: number) => void,
|
||||||
setRecordCount: (value: number) => void
|
setRecordCount: (value: number) => void
|
||||||
) => {
|
) => {
|
||||||
const [isLoading, setIsLoading] = useState(false)
|
const [loaded, setLoaded] = useState(false)
|
||||||
|
const [fetching, setFetching] = useState(false)
|
||||||
const [error, setError] = useState(false)
|
const [error, setError] = useState(false)
|
||||||
|
|
||||||
function parseTeams(response: { [key: string]: any }, replace: boolean) {
|
function parseTeams(response: { [key: string]: any }, replace: boolean) {
|
||||||
|
|
@ -17,15 +18,17 @@ export const useFetchTeams = (
|
||||||
|
|
||||||
setTotalPages(meta.total_pages)
|
setTotalPages(meta.total_pages)
|
||||||
setRecordCount(meta.count)
|
setRecordCount(meta.count)
|
||||||
|
setLoaded(true)
|
||||||
|
|
||||||
if (replace) {
|
if (replace) {
|
||||||
replaceResults(parties)
|
replaceResults(parties)
|
||||||
setIsLoading(false)
|
setFetching(false)
|
||||||
} else appendResults(parties)
|
} else appendResults(parties)
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseError(error: any) {
|
function parseError(error: any) {
|
||||||
setIsLoading(false)
|
setLoaded(true)
|
||||||
|
setFetching(false)
|
||||||
setError(true)
|
setError(true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -62,7 +65,7 @@ export const useFetchTeams = (
|
||||||
|
|
||||||
const fetchTeams = useCallback(
|
const fetchTeams = useCallback(
|
||||||
({ replace } = { replace: false }) => {
|
({ replace } = { replace: false }) => {
|
||||||
if (replace) setIsLoading(true)
|
if (replace) setFetching(true)
|
||||||
|
|
||||||
const params = createParams()
|
const params = createParams()
|
||||||
|
|
||||||
|
|
@ -89,7 +92,7 @@ export const useFetchTeams = (
|
||||||
username: string | undefined
|
username: string | undefined
|
||||||
replace: boolean
|
replace: boolean
|
||||||
}) => {
|
}) => {
|
||||||
if (replace) setIsLoading(true)
|
if (replace) setFetching(true)
|
||||||
|
|
||||||
const params = createParams()
|
const params = createParams()
|
||||||
|
|
||||||
|
|
@ -115,7 +118,7 @@ export const useFetchTeams = (
|
||||||
|
|
||||||
const fetchSaved = useCallback(
|
const fetchSaved = useCallback(
|
||||||
({ replace } = { replace: false }) => {
|
({ replace } = { replace: false }) => {
|
||||||
if (replace) setIsLoading(true)
|
if (replace) setFetching(true)
|
||||||
|
|
||||||
const params = createParams()
|
const params = createParams()
|
||||||
|
|
||||||
|
|
@ -139,8 +142,9 @@ export const useFetchTeams = (
|
||||||
fetchProfile,
|
fetchProfile,
|
||||||
fetchSaved,
|
fetchSaved,
|
||||||
processTeams,
|
processTeams,
|
||||||
isLoading,
|
loaded,
|
||||||
setIsLoading,
|
fetching,
|
||||||
|
setFetching,
|
||||||
error,
|
error,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -76,8 +76,9 @@ export const useTeamFilter = (
|
||||||
fetchProfile,
|
fetchProfile,
|
||||||
fetchSaved,
|
fetchSaved,
|
||||||
processTeams,
|
processTeams,
|
||||||
isLoading: isFetching,
|
loaded,
|
||||||
setIsLoading: setFetching,
|
fetching,
|
||||||
|
setFetching,
|
||||||
error: fetchError,
|
error: fetchError,
|
||||||
} = useFetchTeams(
|
} = useFetchTeams(
|
||||||
currentPage,
|
currentPage,
|
||||||
|
|
@ -168,7 +169,8 @@ export const useTeamFilter = (
|
||||||
setAdvancedFilters,
|
setAdvancedFilters,
|
||||||
parties,
|
parties,
|
||||||
setParties,
|
setParties,
|
||||||
isFetching,
|
loaded,
|
||||||
|
fetching,
|
||||||
setFetching,
|
setFetching,
|
||||||
fetchError,
|
fetchError,
|
||||||
fetch,
|
fetch,
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ import { CollectionPage } from '~utils/enums'
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
context?: PageContextObj
|
context?: PageContextObj
|
||||||
|
query: { [key: string]: string }
|
||||||
version: AppUpdate
|
version: AppUpdate
|
||||||
error: boolean
|
error: boolean
|
||||||
status?: ResponseStatus
|
status?: ResponseStatus
|
||||||
|
|
@ -39,6 +40,7 @@ interface Props {
|
||||||
|
|
||||||
const TeamsRoute: React.FC<Props> = ({
|
const TeamsRoute: React.FC<Props> = ({
|
||||||
context,
|
context,
|
||||||
|
query,
|
||||||
version,
|
version,
|
||||||
error,
|
error,
|
||||||
status,
|
status,
|
||||||
|
|
@ -63,7 +65,8 @@ const TeamsRoute: React.FC<Props> = ({
|
||||||
recordCount,
|
recordCount,
|
||||||
parties,
|
parties,
|
||||||
setParties,
|
setParties,
|
||||||
isFetching,
|
loaded,
|
||||||
|
fetching,
|
||||||
setFetching,
|
setFetching,
|
||||||
fetchError,
|
fetchError,
|
||||||
fetch,
|
fetch,
|
||||||
|
|
@ -126,7 +129,7 @@ const TeamsRoute: React.FC<Props> = ({
|
||||||
<GridRep
|
<GridRep
|
||||||
party={party}
|
party={party}
|
||||||
key={`party-${i}`}
|
key={`party-${i}`}
|
||||||
loading={isFetching}
|
loading={fetching}
|
||||||
onClick={() => goTo(party.shortcode)}
|
onClick={() => goTo(party.shortcode)}
|
||||||
onSave={(teamId, favorited) => toggleFavorite(teamId, favorited)}
|
onSave={(teamId, favorited) => toggleFavorite(teamId, favorited)}
|
||||||
/>
|
/>
|
||||||
|
|
@ -145,7 +148,12 @@ const TeamsRoute: React.FC<Props> = ({
|
||||||
|
|
||||||
const renderInfiniteScroll = (
|
const renderInfiniteScroll = (
|
||||||
<>
|
<>
|
||||||
{parties.length === 0 && renderLoading(3)}
|
{parties.length === 0 && !loaded && renderLoading(3)}
|
||||||
|
{parties.length === 0 && loaded && (
|
||||||
|
<div className="notFound">
|
||||||
|
<h2>There are no teams with your specified filters</h2>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
<InfiniteScroll
|
<InfiniteScroll
|
||||||
dataLength={parties && parties.length > 0 ? parties.length : 0}
|
dataLength={parties && parties.length > 0 ? parties.length : 0}
|
||||||
next={() => setCurrentPage(currentPage + 1)}
|
next={() => setCurrentPage(currentPage + 1)}
|
||||||
|
|
@ -204,6 +212,7 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
context: { raidGroups },
|
context: { raidGroups },
|
||||||
|
query,
|
||||||
version,
|
version,
|
||||||
error: false,
|
error: false,
|
||||||
...(await serverSideTranslations(locale, ['common'])),
|
...(await serverSideTranslations(locale, ['common'])),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue