修复短效IP提取未登录时选择套餐的展示问题
This commit is contained in:
@@ -20,7 +20,8 @@ import {Combobox} from '@/components/ui/combobox'
|
||||
import cities from './_assets/cities.json'
|
||||
import ExtractDocs from '@/components/docs/extract.mdx'
|
||||
import Markdown from '@/components/markdown'
|
||||
|
||||
import Link from 'next/link'
|
||||
import {useProfileStore} from '@/components/stores-provider'
|
||||
const schema = z.object({
|
||||
resource: z.number({required_error: '请选择套餐'}),
|
||||
prov: z.string().optional(),
|
||||
@@ -324,20 +325,20 @@ FormFields.displayName = 'FormFields'
|
||||
function SelectResource() {
|
||||
const [resources, setResources] = useState<Resource[]>([])
|
||||
const [status, setStatus] = useStatus()
|
||||
const profile = useProfileStore(state => state.profile)
|
||||
const getResources = async () => {
|
||||
setStatus('load')
|
||||
try {
|
||||
const resp = await allResource()
|
||||
if (!resp.success) {
|
||||
throw new Error('Unable to fetch packages.')
|
||||
console.log(11111)
|
||||
throw new Error('获取套餐失败,请稍后再试')
|
||||
}
|
||||
console.log(resp.data)
|
||||
setResources(resp.data)
|
||||
setResources(resp.data ?? [])
|
||||
setStatus('done')
|
||||
}
|
||||
catch (error) {
|
||||
console.error('Error fetching packages:', error)
|
||||
toast.error('获取套餐失败,请稍后再试')
|
||||
toast.error((error as Error).message)
|
||||
setStatus('fail')
|
||||
}
|
||||
}
|
||||
@@ -363,6 +364,11 @@ function SelectResource() {
|
||||
<Loader className="animate-spin" size={20}/>
|
||||
<span>加载中...</span>
|
||||
</div>
|
||||
) : !profile ? (
|
||||
<div className="p-4 flex gap-1 items-center">
|
||||
<Loader className="animate-spin" size={20}/>
|
||||
<span>请先登录账号,<Link href="/login" className="text-blue-600 hover:underline">去登录</Link></span>
|
||||
</div>
|
||||
) : resources.length === 0 ? (
|
||||
<div className="p-4 flex gap-1 items-center">
|
||||
<Loader className="animate-spin" size={20}/>
|
||||
|
||||
Reference in New Issue
Block a user