page.tsx 820 B

123456789101112131415161718192021222324252627282930
  1. 'use client'
  2. import {
  3. useEffect,
  4. useMemo,
  5. } from 'react'
  6. import {
  7. useRouter,
  8. useSearchParams,
  9. } from 'next/navigation'
  10. import EducationApplyPage from '@/app/education-apply/education-apply-page'
  11. import { useProviderContext } from '@/context/provider-context'
  12. export default function EducationApply() {
  13. const router = useRouter()
  14. const { enableEducationPlan, isEducationAccount } = useProviderContext()
  15. const searchParams = useSearchParams()
  16. const token = searchParams.get('token')
  17. const showEducationApplyPage = useMemo(() => {
  18. return enableEducationPlan && !isEducationAccount && token
  19. }, [enableEducationPlan, isEducationAccount, token])
  20. useEffect(() => {
  21. if (!showEducationApplyPage)
  22. router.replace('/')
  23. }, [showEducationApplyPage, router])
  24. return <EducationApplyPage />
  25. }