} label="提取 IP" expand={navbar}/>
diff --git a/src/components/composites/extract/index.tsx b/src/components/composites/extract/index.tsx
index 61f4fa7..fd57349 100644
--- a/src/components/composites/extract/index.tsx
+++ b/src/components/composites/extract/index.tsx
@@ -9,7 +9,7 @@ import {Button} from '@/components/ui/button'
import {useForm, useFormContext, useWatch} from 'react-hook-form'
import {Alert, AlertTitle} from '@/components/ui/alert'
import {ArrowRight, Box, CircleAlert, CopyIcon, ExternalLinkIcon, LinkIcon, Loader, Plus, Timer} from 'lucide-react'
-import {memo, ReactNode, useEffect, useRef, useState} from 'react'
+import {memo, ReactNode, Suspense, use, useEffect, useRef, useState} from 'react'
import {useStatus} from '@/lib/states'
import {allResource} from '@/actions/resource'
import {Resource} from '@/lib/models'
@@ -113,7 +113,9 @@ const FormFields = memo(() => {
return (
{/* 选择套餐 */}
-
+
+
+
{/* 地区筛选 */}
@@ -332,8 +334,13 @@ FormFields.displayName = 'FormFields'
function SelectResource() {
const [resources, setResources] = useState([])
const [status, setStatus] = useStatus()
- const profile = useProfileStore(state => state.profile)
+ const profile = use(useProfileStore(store => store.profile))
const getResources = async () => {
+ if (!profile) {
+ setStatus('done')
+ setResources([])
+ return
+ }
setStatus('load')
try {
const resp = await allResource()
@@ -352,7 +359,7 @@ function SelectResource() {
useEffect(() => {
getResources().then()
// eslint-disable-next-line react-hooks/exhaustive-deps
- }, [])
+ }, [profile])
return (
@@ -372,8 +379,8 @@ function SelectResource() {
) : !profile ? (
-
- 请先登录账号,去登录
+ {/* */}
+ 请先登录账号,去登录
) : resources.length === 0 ? (