mirror of
https://gitlab.com/MrFry/qmining-page
synced 2025-04-01 20:23:44 +02:00
All questions query fix, question search highlight fix
This commit is contained in:
parent
4bcbaa4cc1
commit
867568d446
2 changed files with 45 additions and 24 deletions
|
@ -83,21 +83,40 @@ export default function AllQuestions({ router }) {
|
|||
const questionCount = data ? data.reduce(countReducer, 0) : 0
|
||||
|
||||
useEffect(() => {
|
||||
router.replace(`${router.asPath.replace('.html', '')}`, undefined, {
|
||||
shallow: true,
|
||||
})
|
||||
// TODO: fix dis
|
||||
const querySearch = router.query.question
|
||||
? decodeURIComponent(router.query.question)
|
||||
: ''
|
||||
|
||||
console.log(querySearch)
|
||||
|
||||
fetchDbs().then((res) => {
|
||||
setDbs(res)
|
||||
})
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
router.replace(`${router.asPath.replace('.html', '')}`, undefined, {
|
||||
shallow: true,
|
||||
})
|
||||
const querySearch = router.query.question
|
||||
? decodeURIComponent(router.query.question)
|
||||
: ''
|
||||
const db = router.query.question ? decodeURIComponent(router.query.db) : ''
|
||||
|
||||
setSearchTerm(querySearch)
|
||||
setSelectedDb(db)
|
||||
}, [router.query.question])
|
||||
|
||||
useEffect(() => {
|
||||
if (dbs) {
|
||||
if (selectedDb === 'all') {
|
||||
fetchAllData(dbs).then((res) => {
|
||||
setData(mergeData(res))
|
||||
setFetchingData(false)
|
||||
})
|
||||
} else {
|
||||
fetchData(dbs[selectedDb]).then((res) => {
|
||||
setData(res.data)
|
||||
setFetchingData(false)
|
||||
})
|
||||
}
|
||||
}
|
||||
}, [selectedDb, dbs])
|
||||
|
||||
const renderDbSelector = () => {
|
||||
if (dbs) {
|
||||
return (
|
||||
|
@ -127,23 +146,20 @@ export default function AllQuestions({ router }) {
|
|||
<div className={'selectContainer'}>
|
||||
<select
|
||||
defaultValue={-1}
|
||||
value={selectedDb}
|
||||
onChange={(event) => {
|
||||
const key = event.target.value
|
||||
setData(null)
|
||||
setFetchingData(true)
|
||||
if (key === 'all') {
|
||||
setSelectedDb(key)
|
||||
fetchAllData(dbs).then((res) => {
|
||||
setData(mergeData(res))
|
||||
setFetchingData(false)
|
||||
})
|
||||
} else {
|
||||
setSelectedDb(dbs[key].name)
|
||||
fetchData(dbs[key]).then((res) => {
|
||||
setData(res.data)
|
||||
setFetchingData(false)
|
||||
})
|
||||
}
|
||||
|
||||
router.replace(
|
||||
`${router.pathname}${event.target.value &&
|
||||
'?question='}${encodeURIComponent(searchTerm)}&db=${key}`,
|
||||
undefined,
|
||||
{ shallow: true }
|
||||
)
|
||||
|
||||
setSelectedDb(key)
|
||||
}}
|
||||
>
|
||||
<option disabled value={-1}>
|
||||
|
@ -233,7 +249,9 @@ export default function AllQuestions({ router }) {
|
|||
setSearchTerm(event.target.value)
|
||||
router.replace(
|
||||
`${router.pathname}${event.target.value &&
|
||||
'?question='}${encodeURIComponent(event.target.value)}`,
|
||||
'?question='}${encodeURIComponent(
|
||||
event.target.value
|
||||
)}&db=${selectedDb}`,
|
||||
undefined,
|
||||
{ shallow: true }
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue