Skip to content

Commit

Permalink
Merge pull request #2678 from Phillweston/original-fix
Browse files Browse the repository at this point in the history
增加多主题的页面404跳转功能
  • Loading branch information
tangly1024 authored Jan 1, 2025
2 parents 707a686 + 2cfc6be commit 352a7fa
Show file tree
Hide file tree
Showing 10 changed files with 191 additions and 40 deletions.
3 changes: 2 additions & 1 deletion lib/notion/getAllPageIds.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ export default function getAllPageIds (collectionQuery, collectionId, collection
}
}
} catch (error) {

console.error('Error fetching page IDs:', error);
return [];
}

// 否则按照数据库原始排序
Expand Down
24 changes: 23 additions & 1 deletion themes/example/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,29 @@ const LayoutSlug = props => {
* @returns
*/
const Layout404 = props => {
return <>404 Not found.</>
const router = useRouter()
useEffect(() => {
// 延时3秒如果加载失败就返回首页
setTimeout(() => {
const article = isBrowser && document.getElementById('article-wrapper')
if (!article) {
router.push('/').then(() => {
// console.log('找不到页面', router.asPath)
})
}
}, 3000)
}, [])

return <>
<div className='md:-mt-20 text-black w-full h-screen text-center justify-center content-center items-center flex flex-col'>
<div className='dark:text-gray-200'>
<h2 className='inline-block border-r-2 border-gray-600 mr-2 px-3 py-2 align-top'><i className='mr-2 fas fa-spinner animate-spin' />404</h2>
<div className='inline-block text-left h-32 leading-10 items-center'>
<h2 className='m-0 p-0'>页面无法加载,即将返回首页</h2>
</div>
</div>
</div>
</>
}

/**
Expand Down
24 changes: 23 additions & 1 deletion themes/fukasawa/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,29 @@ const LayoutArchive = props => {
* @returns
*/
const Layout404 = props => {
return <>404</>
const router = useRouter()
useEffect(() => {
// 延时3秒如果加载失败就返回首页
setTimeout(() => {
const article = isBrowser && document.getElementById('article-wrapper')
if (!article) {
router.push('/').then(() => {
// console.log('找不到页面', router.asPath)
})
}
}, 3000)
}, [])

return <>
<div className='md:-mt-20 text-black w-full h-screen text-center justify-center content-center items-center flex flex-col'>
<div className='dark:text-gray-200'>
<h2 className='inline-block border-r-2 border-gray-600 mr-2 px-3 py-2 align-top'><i className='mr-2 fas fa-spinner animate-spin' />404</h2>
<div className='inline-block text-left h-32 leading-10 items-center'>
<h2 className='m-0 p-0'>页面无法加载,即将返回首页</h2>
</div>
</div>
</div>
</>
}

/**
Expand Down
25 changes: 24 additions & 1 deletion themes/game/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import SideBarContent from './components/SideBarContent'
import SideBarDrawer from './components/SideBarDrawer'
import CONFIG from './config'
import { Style } from './style'
import { useRouter } from 'next/router'

// const AlgoliaSearchModal = dynamic(() => import('@/components/AlgoliaSearchModal'), { ssr: false })

Expand Down Expand Up @@ -352,7 +353,29 @@ const LayoutSlug = props => {
* @returns
*/
const Layout404 = props => {
return <>404 Not found.</>
const router = useRouter()
useEffect(() => {
// 延时3秒如果加载失败就返回首页
setTimeout(() => {
const article = isBrowser && document.getElementById('article-wrapper')
if (!article) {
router.push('/').then(() => {
// console.log('找不到页面', router.asPath)
})
}
}, 3000)
}, [])

return <>
<div className='md:-mt-20 text-black w-full h-screen text-center justify-center content-center items-center flex flex-col'>
<div className='dark:text-gray-200'>
<h2 className='inline-block border-r-2 border-gray-600 mr-2 px-3 py-2 align-top'><i className='mr-2 fas fa-spinner animate-spin' />404</h2>
<div className='inline-block text-left h-32 leading-10 items-center'>
<h2 className='m-0 p-0'>页面无法加载,即将返回首页</h2>
</div>
</div>
</div>
</>
}

/**
Expand Down
32 changes: 26 additions & 6 deletions themes/gitbook/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -432,14 +432,34 @@ const LayoutArchive = props => {
}

/**
* 404
* 404 页面
* @param {*} props
* @returns
*/
const Layout404 = props => {
return (
<div className='w-full h-96 py-80 flex justify-center items-center'>
404 Not found.
</div>
)
const router = useRouter()
useEffect(() => {
// 延时3秒如果加载失败就返回首页
setTimeout(() => {
const article = isBrowser && document.getElementById('article-wrapper')
if (!article) {
router.push('/').then(() => {
// console.log('找不到页面', router.asPath)
})
}
}, 3000)
}, [])

return <>
<div className='md:-mt-20 text-black w-full h-screen text-center justify-center content-center items-center flex flex-col'>
<div className='dark:text-gray-200'>
<h2 className='inline-block border-r-2 border-gray-600 mr-2 px-3 py-2 align-top'><i className='mr-2 fas fa-spinner animate-spin' />404</h2>
<div className='inline-block text-left h-32 leading-10 items-center'>
<h2 className='m-0 p-0'>页面无法加载,即将返回首页</h2>
</div>
</div>
</div>
</>
}

/**
Expand Down
25 changes: 23 additions & 2 deletions themes/medium/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -331,10 +331,31 @@ const LayoutArchive = props => {
* @returns
*/
const Layout404 = props => {
const router = useRouter()
useEffect(() => {
// 延时3秒如果加载失败就返回首页
setTimeout(() => {
const article =
typeof document !== 'undefined' &&
document.getElementById('notion-article')
if (!article) {
router.push('/').then(() => {
// console.log('找不到页面', router.asPath)
})
}
}, 3000)
})
return (
<>
<div className='w-full h-96 py-80 flex justify-center items-center'>
404 Not found.
<div className='text-black w-full h-screen text-center justify-center content-center items-center flex flex-col'>
<div className='dark:text-gray-200'>
<h2 className='inline-block border-r-2 border-gray-600 mr-2 px-3 py-2 align-top'>
404
</h2>
<div className='inline-block text-left h-32 leading-10 items-center'>
<h2 className='m-0 p-0'>页面未找到</h2>
</div>
</div>
</div>
</>
)
Expand Down
30 changes: 24 additions & 6 deletions themes/nav/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -363,15 +363,33 @@ const LayoutArchive = props => {

/**
* 404
* @param {*} props
* @returns
*/
const Layout404 = props => {
return (
<>
<div className='w-full h-96 py-80 flex justify-center items-center'>
404 Not found.
</div>
const router = useRouter()
useEffect(() => {
// 延时3秒如果加载失败就返回首页
setTimeout(() => {
const article = isBrowser && document.getElementById('article-wrapper')
if (!article) {
router.push('/').then(() => {
// console.log('找不到页面', router.asPath)
})
}
}, 3000)
}, [])

return <>
<div className='md:-mt-20 text-black w-full h-screen text-center justify-center content-center items-center flex flex-col'>
<div className='dark:text-gray-200'>
<h2 className='inline-block border-r-2 border-gray-600 mr-2 px-3 py-2 align-top'><i className='mr-2 fas fa-spinner animate-spin' />404</h2>
<div className='inline-block text-left h-32 leading-10 items-center'>
<h2 className='m-0 p-0'>页面无法加载,即将返回首页</h2>
</div>
</div>
</div>
</>
)
}

/**
Expand Down
24 changes: 23 additions & 1 deletion themes/nobelium/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,29 @@ const LayoutSlug = props => {
* @returns
*/
const Layout404 = props => {
return <>404 Not found.</>
const router = useRouter()
useEffect(() => {
// 延时3秒如果加载失败就返回首页
setTimeout(() => {
const article = isBrowser && document.getElementById('article-wrapper')
if (!article) {
router.push('/').then(() => {
// console.log('找不到页面', router.asPath)
})
}
}, 3000)
}, [])

return <>
<div className='md:-mt-20 text-black w-full h-screen text-center justify-center content-center items-center flex flex-col'>
<div className='dark:text-gray-200'>
<h2 className='inline-block border-r-2 border-gray-600 mr-2 px-3 py-2 align-top'><i className='mr-2 fas fa-spinner animate-spin' />404</h2>
<div className='inline-block text-left h-32 leading-10 items-center'>
<h2 className='m-0 p-0'>页面无法加载,即将返回首页</h2>
</div>
</div>
</div>
</>
}

/**
Expand Down
24 changes: 23 additions & 1 deletion themes/plog/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,29 @@ const LayoutSlug = props => {
* @returns
*/
const Layout404 = props => {
return <>404 Not found.</>
const router = useRouter()
useEffect(() => {
// 延时3秒如果加载失败就返回首页
setTimeout(() => {
const article = isBrowser && document.getElementById('article-wrapper')
if (!article) {
router.push('/').then(() => {
// console.log('找不到页面', router.asPath)
})
}
}, 3000)
}, [])

return <>
<div className='md:-mt-20 text-black w-full h-screen text-center justify-center content-center items-center flex flex-col'>
<div className='dark:text-gray-200'>
<h2 className='inline-block border-r-2 border-gray-600 mr-2 px-3 py-2 align-top'><i className='mr-2 fas fa-spinner animate-spin' />404</h2>
<div className='inline-block text-left h-32 leading-10 items-center'>
<h2 className='m-0 p-0'>页面无法加载,即将返回首页</h2>
</div>
</div>
</div>
</>
}

/**
Expand Down
20 changes: 0 additions & 20 deletions themes/starter/components/MessageForm.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,26 +23,6 @@ export const MessageForm = () => {
}))
}

// useEffect(() => {
// const form = formRef.current
// const handleSubmit = (e) => {
// e.preventDefault()
// submitComments(formData).then(response => {
// console.log('Subscription succeeded:', response)
// // 在此处添加成功订阅后的操作
// setSuccess(true)
// })
// .catch(error => {
// console.error('Subscription failed:', error)
// // 在此处添加订阅失败后的操作
// })
// }
// form?.addEventListener('submit', handleSubmit)
// return () => {
// form?.removeEventListener('submit', handleSubmit)
// }
// }, [submitComments])

return (
<>
<h3 className='mb-8 text-2xl font-semibold text-dark dark:text-white md:text-[28px] md:leading-[1.42]'>
Expand Down

0 comments on commit 352a7fa

Please sign in to comment.