| 
                        1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
                        - 'use client'
 - 
 - import { SWRConfig } from 'swr'
 - import { useEffect, useState } from 'react'
 - import type { ReactNode } from 'react'
 - import { useRouter, useSearchParams } from 'next/navigation'
 - 
 - type SwrInitorProps = {
 -   children: ReactNode
 - }
 - const SwrInitor = ({
 -   children,
 - }: SwrInitorProps) => {
 -   const router = useRouter()
 -   const searchParams = useSearchParams()
 -   const consoleToken = searchParams.get('console_token')
 -   const consoleTokenFromLocalStorage = localStorage?.getItem('console_token')
 -   const utm = {
 -     utm_source: searchParams.get('utm_source') || '',
 -     utm_medium: searchParams.get('utm_medium') || '',
 -     utm_campaign: searchParams.get('utm_campaign') || '',
 -     utm_content: searchParams.get('utm_content') || '',
 -     utm_term: searchParams.get('utm_term') || '',
 -   }
 -   localStorage?.setItem('utm', JSON.stringify(utm))
 -   const [init, setInit] = useState(false)
 - 
 -   useEffect(() => {
 -     if (!(consoleToken || consoleTokenFromLocalStorage))
 -       router.replace('/signin')
 - 
 -     if (consoleToken) {
 -       localStorage?.setItem('console_token', consoleToken!)
 -       router.replace('/apps', { forceOptimisticNavigation: false } as any)
 -     }
 -     setInit(true)
 -   }, [])
 - 
 -   return init
 -     ? (
 -       <SWRConfig value={{
 -         shouldRetryOnError: false,
 -       }}>
 -         {children}
 -       </SWRConfig>
 -     )
 -     : null
 - }
 - 
 - export default SwrInitor
 
 
  |