mirror of
https://github.com/ershisan99/flashcards-example-project.git
synced 2025-12-16 12:33:18 +00:00
feat: use search params for filters instead of redux
This commit is contained in:
@@ -8,7 +8,6 @@ import { Tabs, TabsList, TabsTrigger } from '@/components/ui/tabs'
|
|||||||
import { useDeckSearchParams } from '@/pages/decks-page/use-deck-search-params'
|
import { useDeckSearchParams } from '@/pages/decks-page/use-deck-search-params'
|
||||||
import { useMeQuery } from '@/services/auth/auth.service'
|
import { useMeQuery } from '@/services/auth/auth.service'
|
||||||
import {
|
import {
|
||||||
Tab,
|
|
||||||
useCreateDeckMutation,
|
useCreateDeckMutation,
|
||||||
useDeleteDeckMutation,
|
useDeleteDeckMutation,
|
||||||
useGetDecksQuery,
|
useGetDecksQuery,
|
||||||
@@ -83,6 +82,11 @@ export const DecksPage = () => {
|
|||||||
setMaxCards(value[1])
|
setMaxCards(value[1])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleTabChange = (tab: string) => {
|
||||||
|
setCurrentPage(null)
|
||||||
|
setCurrentTab(tab)
|
||||||
|
}
|
||||||
|
|
||||||
if (!decks || !me) {
|
if (!decks || !me) {
|
||||||
return <Spinner fullScreen />
|
return <Spinner fullScreen />
|
||||||
}
|
}
|
||||||
@@ -133,10 +137,7 @@ export const DecksPage = () => {
|
|||||||
search
|
search
|
||||||
value={search ?? ''}
|
value={search ?? ''}
|
||||||
/>
|
/>
|
||||||
<Tabs
|
<Tabs onValueChange={handleTabChange} value={currentTab ?? undefined}>
|
||||||
onValueChange={value => setCurrentTab(value as Tab)}
|
|
||||||
value={currentTab ?? undefined}
|
|
||||||
>
|
|
||||||
<TabsList>
|
<TabsList>
|
||||||
<TabsTrigger value={'my'}>My decks</TabsTrigger>
|
<TabsTrigger value={'my'}>My decks</TabsTrigger>
|
||||||
<TabsTrigger value={'all'}>All decks</TabsTrigger>
|
<TabsTrigger value={'all'}>All decks</TabsTrigger>
|
||||||
|
|||||||
Reference in New Issue
Block a user