Skip to content

Commit febfe61

Browse files
committed
hotfix: fix homepage search
1 parent dae6e4b commit febfe61

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

packages/web/src/pages/(layout)/index.tsx

+23-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { useInfiniteScroll, useRequest } from 'ahooks'
1+
import { useInfiniteScroll, useRequest, useWhyDidYouUpdate } from 'ahooks'
22
import type { Ref } from '@web-archive/shared/components/scroll-area'
33
import { useEffect, useMemo, useRef, useState } from 'react'
44
import type { Page } from '@web-archive/shared/types'
55
import { ScrollArea } from '@web-archive/shared/components/scroll-area'
66
import { useOutletContext } from 'react-router-dom'
7-
import { isNotNil } from '@web-archive/shared/utils'
7+
import { isNil, isNotNil } from '@web-archive/shared/utils'
88
import { useMediaQuery } from '~/hooks/useMediaQuery'
99
import PageDataPieCard from '~/components/page-data-pie-card'
1010
import R2UsageCard from '~/components/r2-usage-card'
@@ -14,6 +14,7 @@ import { getR2Usage } from '~/data/data'
1414
import Header from '~/components/header'
1515
import LoadingWrapper from '~/components/loading-wrapper'
1616
import CardView from '~/components/card-view'
17+
import LoadingMore from '~/components/loading-more'
1718

1819
function RecentSavePageView() {
1920
const { data: r2Data, loading: r2Loading } = useRequest(getR2Usage)
@@ -101,6 +102,8 @@ function SearchiPageView() {
101102
reload()
102103
}, [searchTrigger])
103104

105+
useWhyDidYouUpdate('SearchiPageView', { pagesData, pagesLoading, loadingMore, keyword, selectedTag })
106+
104107
const { run: handleDeletePage } = useRequest(deletePage, {
105108
manual: true,
106109
onSuccess: (data) => {
@@ -110,18 +113,33 @@ function SearchiPageView() {
110113
return (
111114
<ScrollArea ref={scrollRef} className="p-4 overflow-auto h-[calc(100vh-58px)]">
112115
<LoadingWrapper loading={pagesLoading || (!pagesData)}>
113-
<CardView pages={pagesData?.list} onPageDelete={handleDeletePage} />
116+
<div className="h-full">
117+
<CardView pages={pagesData?.list} onPageDelete={handleDeletePage} />
118+
{loadingMore && <LoadingMore />}
119+
</div>
114120
</LoadingWrapper>
115121
</ScrollArea>
116122
)
117123
}
118124

119125
function ArchiveHome() {
120126
const { keyword, selectedTag, setKeyword, handleSearch } = useOutletContext<{ keyword: string, searchTrigger: boolean, selectedTag: number | null, setKeyword: (keyword: string) => void, handleSearch: () => void }>()
121-
const showSearchView = useMemo(() => keyword || isNotNil(selectedTag), [keyword, selectedTag])
127+
const [showSearchView, setShowSearchView] = useState(false)
128+
const handleStartSearch = () => {
129+
if (isNil(keyword) || keyword === '') {
130+
setShowSearchView(false)
131+
}
132+
else {
133+
setShowSearchView(true)
134+
handleSearch()
135+
}
136+
}
137+
useEffect(() => {
138+
setShowSearchView(isNotNil(selectedTag))
139+
}, [selectedTag])
122140
return (
123141
<div className="flex flex-col flex-1">
124-
<Header keyword={keyword} setKeyword={setKeyword} handleSearch={handleSearch}></Header>
142+
<Header keyword={keyword} setKeyword={setKeyword} handleSearch={handleStartSearch}></Header>
125143
{showSearchView
126144
? <SearchiPageView></SearchiPageView>
127145
: <RecentSavePageView></RecentSavePageView>}

0 commit comments

Comments
 (0)