Implement filter changes

User profiles and saved teams won't use a user's filter cookies or persist filters anymore
This commit is contained in:
Justin Edmund 2023-07-02 02:38:03 -07:00
parent aa66651079
commit c5cef9393d
3 changed files with 12 additions and 38 deletions

View file

@ -12,7 +12,7 @@ import fetchLatestVersion from '~utils/fetchLatestVersion'
import { setHeaders } from '~utils/userToken' import { setHeaders } from '~utils/userToken'
import useDidMountEffect from '~utils/useDidMountEffect' import useDidMountEffect from '~utils/useDidMountEffect'
import { appState } from '~utils/appState' import { appState } from '~utils/appState'
import { defaultFilterset } from '~utils/defaultFilters' import { permissiveFilterset } from '~utils/defaultFilters'
import { elements, allElement } from '~data/elements' import { elements, allElement } from '~data/elements'
import { emptyPaginationObject } from '~utils/emptyStates' import { emptyPaginationObject } from '~utils/emptyStates'
@ -85,7 +85,7 @@ const ProfileRoute: React.FC<Props> = ({
serialize: (value) => `${value}`, serialize: (value) => `${value}`,
}) })
const [advancedFilters, setAdvancedFilters] = const [advancedFilters, setAdvancedFilters] =
useState<FilterSet>(defaultFilterset) useState<FilterSet>(permissiveFilterset)
// Define transformers for element // Define transformers for element
function parseElement(query: string) { function parseElement(query: string) {
@ -124,16 +124,6 @@ const ProfileRoute: React.FC<Props> = ({
return () => window.removeEventListener('scroll', handleScroll) return () => window.removeEventListener('scroll', handleScroll)
}, []) }, [])
// Fetch the user's advanced filters
useEffect(() => {
const filtersCookie = getCookie('filters')
const filters = filtersCookie
? JSON.parse(filtersCookie as string)
: defaultFilterset
setAdvancedFilters(filters)
}, [])
// Handle errors // Handle errors
const handleError = useCallback((error: any) => { const handleError = useCallback((error: any) => {
if (error.response != null) { if (error.response != null) {
@ -286,7 +276,9 @@ const ProfileRoute: React.FC<Props> = ({
<div id="Profile"> <div id="Profile">
{pageHead()} {pageHead()}
<FilterBar <FilterBar
defaultFilterset={permissiveFilterset}
onFilter={receiveFilters} onFilter={receiveFilters}
persistFilters={false}
scrolled={scrolled} scrolled={scrolled}
element={element} element={element}
raidSlug={raidSlug ? raidSlug : undefined} raidSlug={raidSlug ? raidSlug : undefined}
@ -340,12 +332,6 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
// Fetch latest version // Fetch latest version
const version = await fetchLatestVersion() const version = await fetchLatestVersion()
// Fetch user's advanced filters
const filtersCookie = getCookie('filters', { req: req, res: res })
const advancedFilters = filtersCookie
? JSON.parse(filtersCookie as string)
: undefined
try { try {
// Fetch and organize raids // Fetch and organize raids
let raidGroups: RaidGroup[] = await api let raidGroups: RaidGroup[] = await api
@ -355,7 +341,7 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
// Create filter object // Create filter object
const filters: FilterObject = extractFilters(query, raidGroups) const filters: FilterObject = extractFilters(query, raidGroups)
const params = { const params = {
params: { ...filters, ...advancedFilters }, params: { ...filters, ...permissiveFilterset },
} }
// Set up empty variables // Set up empty variables

View file

@ -13,7 +13,7 @@ import extractFilters from '~utils/extractFilters'
import fetchLatestVersion from '~utils/fetchLatestVersion' import fetchLatestVersion from '~utils/fetchLatestVersion'
import useDidMountEffect from '~utils/useDidMountEffect' import useDidMountEffect from '~utils/useDidMountEffect'
import { appState } from '~utils/appState' import { appState } from '~utils/appState'
import { defaultFilterset } from '~utils/defaultFilters' import { permissiveFilterset } from '~utils/defaultFilters'
import { elements, allElement } from '~data/elements' import { elements, allElement } from '~data/elements'
import { emptyPaginationObject } from '~utils/emptyStates' import { emptyPaginationObject } from '~utils/emptyStates'
@ -84,7 +84,7 @@ const SavedRoute: React.FC<Props> = ({
serialize: (value) => `${value}`, serialize: (value) => `${value}`,
}) })
const [advancedFilters, setAdvancedFilters] = const [advancedFilters, setAdvancedFilters] =
useState<FilterSet>(defaultFilterset) useState<FilterSet>(permissiveFilterset)
// Define transformers for element // Define transformers for element
function parseElement(query: string) { function parseElement(query: string) {
@ -123,16 +123,6 @@ const SavedRoute: React.FC<Props> = ({
return () => window.removeEventListener('scroll', handleScroll) return () => window.removeEventListener('scroll', handleScroll)
}, []) }, [])
// Fetch the user's advanced filters
useEffect(() => {
const filtersCookie = getCookie('filters')
const filters = filtersCookie
? JSON.parse(filtersCookie as string)
: defaultFilterset
setAdvancedFilters(filters)
}, [])
// Handle errors // Handle errors
const handleError = useCallback((error: any) => { const handleError = useCallback((error: any) => {
if (error.response != null) { if (error.response != null) {
@ -326,7 +316,9 @@ const SavedRoute: React.FC<Props> = ({
<div id="Teams"> <div id="Teams">
{pageHead()} {pageHead()}
<FilterBar <FilterBar
defaultFilterset={permissiveFilterset}
onFilter={receiveFilters} onFilter={receiveFilters}
persistFilters={false}
scrolled={scrolled} scrolled={scrolled}
element={element} element={element}
raidSlug={raidSlug ? raidSlug : undefined} raidSlug={raidSlug ? raidSlug : undefined}
@ -380,12 +372,6 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
// Fetch latest version // Fetch latest version
const version = await fetchLatestVersion() const version = await fetchLatestVersion()
// Fetch user's advanced filters
const filtersCookie = getCookie('filters', { req: req, res: res })
const advancedFilters = filtersCookie
? JSON.parse(filtersCookie as string)
: undefined
try { try {
// Fetch and organize raids // Fetch and organize raids
let raidGroups: RaidGroup[] = await api let raidGroups: RaidGroup[] = await api
@ -395,7 +381,7 @@ export const getServerSideProps = async ({ req, res, locale, query }: { req: Nex
// Create filter object // Create filter object
const filters: FilterObject = extractFilters(query, raidGroups) const filters: FilterObject = extractFilters(query, raidGroups)
const params = { const params = {
params: { ...filters, ...advancedFilters }, params: { ...filters, ...permissiveFilterset },
} }
// Set up empty variables // Set up empty variables

View file

@ -327,7 +327,9 @@ const TeamsRoute: React.FC<Props> = ({
<div id="Teams"> <div id="Teams">
{pageHead()} {pageHead()}
<FilterBar <FilterBar
defaultFilterset={defaultFilterset}
onFilter={receiveFilters} onFilter={receiveFilters}
persistFilters={true}
scrolled={scrolled} scrolled={scrolled}
element={element} element={element}
raidSlug={raidSlug ? raidSlug : undefined} raidSlug={raidSlug ? raidSlug : undefined}