removed unnecessary state
This commit is contained in:
parent
7f01059dc3
commit
489cfbe543
2 changed files with 19 additions and 26 deletions
|
@ -43,12 +43,6 @@ enum PageType {
|
||||||
UNSEARCHABLE,
|
UNSEARCHABLE,
|
||||||
}
|
}
|
||||||
|
|
||||||
interface SeriesData {
|
|
||||||
seriesHome: string
|
|
||||||
prev?: string
|
|
||||||
next?: string
|
|
||||||
}
|
|
||||||
|
|
||||||
const fetchContent = async (pageType: PageType, url: string) => {
|
const fetchContent = async (pageType: PageType, url: string) => {
|
||||||
try {
|
try {
|
||||||
if (pageType == PageType.UNSEARCHABLE) {
|
if (pageType == PageType.UNSEARCHABLE) {
|
||||||
|
@ -76,12 +70,6 @@ const Page = () => {
|
||||||
const [pageType, setPageType] = useState<PageType>(PageType.POST)
|
const [pageType, setPageType] = useState<PageType>(PageType.POST)
|
||||||
const [isLoading, setIsLoading] = useState(true)
|
const [isLoading, setIsLoading] = useState(true)
|
||||||
|
|
||||||
// only used when the page is a series post
|
|
||||||
// todo: merge with pageData
|
|
||||||
const [seriesData, setSeriesData] = useState<SeriesData | undefined>(
|
|
||||||
undefined
|
|
||||||
)
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const url = location.pathname.replace(/\/$/, "") // remove trailing slash
|
const url = location.pathname.replace(/\/$/, "") // remove trailing slash
|
||||||
const _pageType = categorizePageType(url)
|
const _pageType = categorizePageType(url)
|
||||||
|
@ -136,6 +124,8 @@ const Page = () => {
|
||||||
toc: undefined,
|
toc: undefined,
|
||||||
content: "No content",
|
content: "No content",
|
||||||
|
|
||||||
|
seriesHome: "",
|
||||||
|
|
||||||
image: "",
|
image: "",
|
||||||
overview: "",
|
overview: "",
|
||||||
badges: [],
|
badges: [],
|
||||||
|
@ -171,18 +161,6 @@ const Page = () => {
|
||||||
const prev = curr - 1
|
const prev = curr - 1
|
||||||
const next = curr + 1
|
const next = curr + 1
|
||||||
|
|
||||||
setSeriesData({
|
|
||||||
seriesHome: seriesURL,
|
|
||||||
prev:
|
|
||||||
prev >= 0
|
|
||||||
? map.series[seriesURL].order[prev]
|
|
||||||
: undefined,
|
|
||||||
next:
|
|
||||||
next < map.series[seriesURL].order.length
|
|
||||||
? map.series[seriesURL].order[next]
|
|
||||||
: undefined,
|
|
||||||
})
|
|
||||||
|
|
||||||
const post = map.posts[url]
|
const post = map.posts[url]
|
||||||
|
|
||||||
pageData.content = fetched_content.content
|
pageData.content = fetched_content.content
|
||||||
|
@ -194,6 +172,16 @@ const Page = () => {
|
||||||
pageData.wordCount = post.wordCount
|
pageData.wordCount = post.wordCount
|
||||||
pageData.tags = post.tags || []
|
pageData.tags = post.tags || []
|
||||||
|
|
||||||
|
pageData.seriesHome = seriesURL
|
||||||
|
pageData.prev =
|
||||||
|
prev >= 0
|
||||||
|
? map.series[seriesURL].order[prev]
|
||||||
|
: undefined
|
||||||
|
pageData.next =
|
||||||
|
next < map.series[seriesURL].order.length
|
||||||
|
? map.series[seriesURL].order[next]
|
||||||
|
: undefined
|
||||||
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -251,8 +239,8 @@ const Page = () => {
|
||||||
{/* next/previous series post buttons */}
|
{/* next/previous series post buttons */}
|
||||||
{pageType == PageType.SERIES && (
|
{pageType == PageType.SERIES && (
|
||||||
<NextPrevButtons
|
<NextPrevButtons
|
||||||
prevURL={seriesData?.prev}
|
prevURL={pageData.prev}
|
||||||
nextURL={seriesData?.next}
|
nextURL={pageData.next}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,11 @@ export interface PageData {
|
||||||
toc?: string
|
toc?: string
|
||||||
content: string
|
content: string
|
||||||
|
|
||||||
|
// series-specific data
|
||||||
|
seriesHome: string
|
||||||
|
prev?: string
|
||||||
|
next?: string
|
||||||
|
|
||||||
// portfolio-specific data
|
// portfolio-specific data
|
||||||
|
|
||||||
image: string // image url
|
image: string // image url
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue