Skip to content

Commit d406121

Browse files
committed
feat: share activity on exemples
1 parent 7a52f52 commit d406121

1 file changed

Lines changed: 10 additions & 13 deletions

File tree

src/components/examples/AllExamples.tsx

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client'
22

3-
import { useSearchParams } from 'next/navigation'
4-
import React, { useEffect, useMemo, useState } from 'react'
3+
import { useRouter, useSearchParams } from 'next/navigation'
4+
import { useEffect, useMemo, useState } from 'react'
55
import { Example } from 'types/example'
66
import { track } from 'utils/matomo'
77
import Card from 'components/cards/Card'
@@ -11,19 +11,16 @@ import ExamplesList from './ExamplesList'
1111
import styles from './AllExamples.module.css'
1212

1313
const AllExamples = ({ examples, communications }: { examples: Example[]; communications: Example[] }) => {
14-
const [activity, setActivity] = useState('all')
15-
const [tool, setTool] = useState('all')
16-
14+
const router = useRouter()
1715
const searchParams = useSearchParams()
16+
const [activity, setActivity] = useState(
17+
searchParams.get('activity') ? decodeURI(searchParams.get('activity')!) : 'all'
18+
)
19+
const [tool, setTool] = useState(searchParams.get('tool') ? decodeURI(searchParams.get('tool')!) : 'all')
20+
1821
useEffect(() => {
19-
if (!searchParams) {
20-
return
21-
}
22-
const tool = searchParams.get('tool')
23-
if (tool) {
24-
setTool(decodeURI(tool))
25-
}
26-
}, [searchParams])
22+
router.replace(`/doc/exemples?activity=${activity}&tool=${tool}`)
23+
}, [activity, tool])
2724

2825
const filteredExamples = useMemo(
2926
() => examples.filter((example) => (tool === 'all' ? example : example.links.find((link) => link.label === tool))),

0 commit comments

Comments
 (0)