30 lines
753 B
TypeScript
30 lines
753 B
TypeScript
import {useEffect, useState} from 'react'
|
|
|
|
import {httpStarterPackUriToAtUri} from '#/lib/strings/starter-pack'
|
|
import {useSetActiveStarterPack} from '#/state/shell/starter-pack'
|
|
|
|
export function useStarterPackEntry() {
|
|
const [ready, setReady] = useState(false)
|
|
|
|
const setActiveStarterPack = useSetActiveStarterPack()
|
|
|
|
useEffect(() => {
|
|
const href = window.location.href
|
|
const atUri = httpStarterPackUriToAtUri(href)
|
|
|
|
if (atUri) {
|
|
const url = new URL(href)
|
|
// Determines if an App Clip is loading this landing page
|
|
const isClip = url.searchParams.get('clip') === 'true'
|
|
setActiveStarterPack({
|
|
uri: atUri,
|
|
isClip,
|
|
})
|
|
}
|
|
|
|
setReady(true)
|
|
}, [setActiveStarterPack])
|
|
|
|
return ready
|
|
}
|