@@ -15,6 +15,7 @@ import UsernameEditor from "./Mods/UsernameEditor";
15
15
16
16
import "react-image-crop/dist/ReactCrop.css" ;
17
17
18
+ import useAuthStore from "@/pages/auth/store" ;
18
19
import useGlobalStore from "@/pages/globalStore" ;
19
20
import useSiteSettingStore from "@/pages/siteSetting" ;
20
21
@@ -26,6 +27,7 @@ export default function UserInfo() {
26
27
const { colorMode } = useColorMode ( ) ;
27
28
const darkMode = colorMode === "dark" ;
28
29
const { siteSettings } = useSiteSettingStore ( ( state ) => state ) ;
30
+ const { providers } = useAuthStore ( ( state ) => state ) ;
29
31
30
32
const handleClick = ( ) => {
31
33
if ( fileInputRef . current ) {
@@ -113,69 +115,74 @@ export default function UserInfo() {
113
115
</ span >
114
116
</ div >
115
117
< Divider className = "mb-4 text-grayModern-200" />
116
- { siteSettings . id_verify ?. value === "on" && (
118
+ { providers ?. find ( ( provider : any ) => provider . name === "phone" ) &&
119
+ siteSettings . id_verify ?. value === "on" && (
120
+ < div className = "flex flex-col pb-4" >
121
+ < span
122
+ className = { clsx (
123
+ "flex items-center pb-3 text-xl" ,
124
+ ! darkMode && "text-grayModern-900" ,
125
+ ) }
126
+ >
127
+ { t ( "SettingPanel.Auth" ) }
128
+ { ! userInfo ?. profile ?. idVerified ?. isVerified && (
129
+ < InfoOutlineIcon className = "ml-2 !text-primary-600" />
130
+ ) }
131
+ </ span >
132
+ < span className = "flex justify-between text-base" >
133
+ < span className = { ! darkMode ? "text-grayModern-700" : "" } >
134
+ { userInfo ?. profile ?. idVerified ?. isVerified
135
+ ? userInfo ?. profile ?. name
136
+ : t ( "UserInfo.NoAuth" ) }
137
+ </ span >
138
+ { ! userInfo ?. profile ?. idVerified ?. isVerified ? (
139
+ < span
140
+ className = "flex cursor-pointer items-center text-[#0884DD]"
141
+ onClick = { ( ) => {
142
+ if ( userInfo ?. phone ) {
143
+ const w = window . open ( "about:blank" ) ;
144
+ w ! . location . href = `${
145
+ siteSettings . id_verify ?. metadata . authenticateSite
146
+ } ?token=${ localStorage . getItem ( "token" ) } `;
147
+ } else {
148
+ showError ( t ( "UserInfo.PleaseBindPhone" ) ) ;
149
+ setShowItem ( "phone" ) ;
150
+ }
151
+ } }
152
+ >
153
+ { t ( "UserInfo.GotoAuth" ) } < ChevronRightIcon boxSize = { 5 } />
154
+ </ span >
155
+ ) : (
156
+ < span className = "flex items-center" >
157
+ < span className = "mr-2 text-[#485058]" >
158
+ { t ( "UserInfo.VerifiedIdentity" ) }
159
+ </ span >
160
+ < CheckCircleIcon className = "!text-primary-600" />
161
+ </ span >
162
+ ) }
163
+ </ span >
164
+ </ div >
165
+ ) }
166
+ { providers . find ( ( provider : any ) => provider . name === "phone" ) && (
117
167
< div className = "flex flex-col pb-4" >
118
- < span
119
- className = { clsx (
120
- "flex items-center pb-3 text-xl" ,
121
- ! darkMode && "text-grayModern-900" ,
122
- ) }
123
- >
124
- { t ( "SettingPanel.Auth" ) }
125
- { ! userInfo ?. profile ?. idVerified ?. isVerified && (
126
- < InfoOutlineIcon className = "ml-2 !text-primary-600" />
127
- ) }
168
+ < span className = { clsx ( "pb-3 text-xl" , ! darkMode && "text-grayModern-900" ) } >
169
+ { t ( "SettingPanel.Tel" ) }
128
170
</ span >
129
171
< span className = "flex justify-between text-base" >
130
172
< span className = { ! darkMode ? "text-grayModern-700" : "" } >
131
- { userInfo ?. profile ?. idVerified ?. isVerified
132
- ? userInfo ?. profile ?. name
133
- : t ( "UserInfo.NoAuth" ) }
173
+ { userInfo ?. phone ? hidePhoneNumber ( userInfo . phone ) : t ( "NoInfo" ) }
174
+ </ span >
175
+ < span
176
+ className = "flex cursor-pointer items-center text-[#0884DD]"
177
+ onClick = { ( ) => {
178
+ setShowItem ( "phone" ) ;
179
+ } }
180
+ >
181
+ { t ( "UserInfo.Change" ) } < ChevronRightIcon boxSize = { 5 } />
134
182
</ span >
135
- { ! userInfo ?. profile ?. idVerified ?. isVerified ? (
136
- < span
137
- className = "flex cursor-pointer items-center text-[#0884DD]"
138
- onClick = { ( ) => {
139
- if ( userInfo ?. phone ) {
140
- const w = window . open ( "about:blank" ) ;
141
- w ! . location . href = `${
142
- siteSettings . id_verify ?. metadata . authenticateSite
143
- } ?token=${ localStorage . getItem ( "token" ) } `;
144
- } else {
145
- showError ( t ( "UserInfo.PleaseBindPhone" ) ) ;
146
- setShowItem ( "phone" ) ;
147
- }
148
- } }
149
- >
150
- { t ( "UserInfo.GotoAuth" ) } < ChevronRightIcon boxSize = { 5 } />
151
- </ span >
152
- ) : (
153
- < span className = "flex items-center" >
154
- < span className = "mr-2 text-[#485058]" > { t ( "UserInfo.VerifiedIdentity" ) } </ span >
155
- < CheckCircleIcon className = "!text-primary-600" />
156
- </ span >
157
- ) }
158
183
</ span >
159
184
</ div >
160
185
) }
161
- < div className = "flex flex-col pb-4" >
162
- < span className = { clsx ( "pb-3 text-xl" , ! darkMode && "text-grayModern-900" ) } >
163
- { t ( "SettingPanel.Tel" ) }
164
- </ span >
165
- < span className = "flex justify-between text-base" >
166
- < span className = { ! darkMode ? "text-grayModern-700" : "" } >
167
- { userInfo ?. phone ? hidePhoneNumber ( userInfo . phone ) : t ( "NoInfo" ) }
168
- </ span >
169
- < span
170
- className = "flex cursor-pointer items-center text-[#0884DD]"
171
- onClick = { ( ) => {
172
- setShowItem ( "phone" ) ;
173
- } }
174
- >
175
- { t ( "UserInfo.Change" ) } < ChevronRightIcon boxSize = { 5 } />
176
- </ span >
177
- </ span >
178
- </ div >
179
186
< div className = "flex flex-col pb-4" >
180
187
< span className = { clsx ( "pb-3 text-xl" , ! darkMode && "text-grayModern-900" ) } >
181
188
{ t ( "SettingPanel.Email" ) }
0 commit comments