1"use strict";(self.webpackChunkutchinese_network_frontend=self.webpackChunkutchinese_network_frontend||[]).push([[368],{2605:(e,r,i)=>{i.d(r,{A:()=>v});var a=i(5043),t=i(5464),s=i(995),n=i(4117),o=i(5200),l=i(6720),d=i(184),c=i(8180),p=i(3245),m=i(579);const h=(0,t.Ay)(s.P.div)` 2 border-radius: 24px; 3 background: var(--card-bg); 4 box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); 5 border: 1px solid var(--border); 6 position: relative; 7 overflow: hidden; 8 padding: 2.5rem; 9 width: 100%; 10 margin: 0 auto; 11 12 @media (max-width: 768px) { 13 padding: 1.5rem; 14 border-radius: 20px; 15 } 16 17 .card-bg { 18 position: absolute; 19 top: 0; 20 left: 0; 21 width: 100%; 22 height: 100%; 23 background-image: url('/logo.png'); 24 background-repeat: no-repeat; 25 background-position: 80% 5%; 26 background-size: 200px; 27 opacity: 0.05; 28 transition: all 0.5s ease; 29 30 @media (max-width: 768px) { 31 background-position: 105% 95%; 32 background-size: 150px; 33 transform: rotate(15deg); 34 } 35 } 36 37 &:hover .card-bg { 38 opacity: 0.1; 39 transform: scale(1.1) rotate(-5deg); 40 } 41 42 [data-theme="dark"] & { 43 box-shadow: 0 15px 50px rgba(0, 0, 0, 0.3); 44 45 .card-bg { 46 opacity: 0.08; 47 } 48 49 &:hover .card-bg { 50 opacity: 0.15; 51 } 52 } 53`,x=t.Ay.div` 54 position: relative; 55 z-index: 2; 56 display: flex; 57 flex-direction: column; 58 gap: 2rem; 59`,u=t.Ay.div` 60 display: flex; 61 align-items: center; 62 gap: 2rem; 63 @media (max-width: 768px) { 64 flex-direction: column; 65 gap: 1.2rem; 66 text-align: center; 67 } 68 69 .avatar-section { 70 display: flex; 71 flex-direction: column; 72 align-items: center; 73 gap: 4rem; 74 flex-shrink: 0; 75 76 @media (max-width: 768px) { 77 flex-direction: row; 78 gap: 1.5rem; 79 justify-content: center; 80 } 81 } 82 83 .avatar { 84 width: 100px; 85 height: 100px; 86 border-radius: 50%; 87 object-fit: cover; 88 border: 4px solid var(--primary); 89 box-shadow: 0 8px 25px rgba(224, 43, 32, 0.2); 90 flex-shrink: 0; 91 } 92 93 .placeholder { 94 width: 100px; 95 height: 100px; 96 border-radius: 50%; 97 background: linear-gradient(135deg, var(--primary), var(--accent)); 98 display: flex; 99 align-items: center; 100 justify-content: center; 101 color: white; 102 font-size: 2.5rem; 103 font-weight: bold; 104 border: 4px solid rgba(255,255,255,0.3); 105 box-shadow: 0 8px 25px rgba(224, 43, 32, 0.2); 106 flex-shrink: 0; 107 } 108 109 .qr-code { 110 background: white; 111 padding: 8px; 112 border-radius: 12px; 113 box-shadow: 0 4px 12px rgba(0,0,0,0.1); 114 display: flex; 115 align-items: center; 116 justify-content: center; 117 width: 100px; 118 height: 100px; 119 } 120 121 .identity { 122 flex: 1; 123 display: flex; 124 flex-direction: column; 125 gap: 1rem; 126 margin-top: -0.5rem; 127 align-items: flex-start; 128 text-align: left; 129 130 @media (max-width: 768px) { 131 align-items: center; 132 text-align: center; 133 } 134 135 .name-section { 136 h2 { 137 margin: 0 0 0.25rem 0; 138 color: var(--text); 139 font-size: 2rem; 140 font-weight: 700; 141 display: flex; 142 align-items: center; 143 gap: 0.5rem; 144 145 @media (max-width: 768px) { 146 font-size: 1.7rem; 147 justify-content: center; 148 } 149 150 .verification-icon { 151 font-size: 1.3rem; 152 position: relative; 153 top: 2px; 154 transition: all 0.3s ease; 155 margin-left: 0.3rem; 156 157 &.verified { 158 color: #1DA1F2; /* Twitter blue */ 159 filter: drop-shadow(0 1px 3px rgba(29, 161, 242, 0.4)); 160 } 161 162 &.unverified { 163 color: #9CA3AF; /* Gray */ 164 opacity: 0.5; 165 } 166 167 &:hover { 168 transform: scale(1.05); 169 filter: brightness(1.1); 170 } 171 } 172 } 173 174 .alt-name { 175 color: var(--text-light); 176 font-size: 1.1rem; 177 font-weight: 500; 178 opacity: 0.8; 179 } 180 } 181 182 .position-section { 183 .position { 184 margin: 0 0 0.5rem 0; 185 color: var(--primary); 186 font-size: 1.1rem; 187 font-weight: 600; 188 } 189 190 .department-tag { 191 display: inline-flex; 192 align-items: center; 193 gap: 0.5rem; 194 background: linear-gradient(135deg, rgba(224, 43, 32, 0.1), rgba(252, 185, 0, 0.1)); 195 color: var(--primary); 196 padding: 0.5rem 1rem; 197 border-radius: 20px; 198 font-size: 0.9rem; 199 font-weight: 500; 200 border: 1px solid rgba(224, 43, 32, 0.2); 201 202 .dept-icon { 203 font-size: 1rem; 204 } 205 } 206 } 207 } 208`,g=t.Ay.div` 209 margin-top: 1rem; 210 211 .bio { 212 color: var(--text); 213 font-size: 0.95rem; 214 line-height: 1.5; 215 margin: 0; 216 max-width: 100%; 217 white-space: pre-wrap; 218 219 &.no-bio { 220 color: var(--text-light); 221 font-style: italic; 222 } 223 } 224`,f=t.Ay.div` 225 border-top: 2px solid var(--border); 226 padding-top: 1.5rem; 227 228 .contact-info { 229 display: flex; 230 align-items: center; 231 flex-wrap: wrap; 232 gap: 1.5rem; 233 234 .contact-item { 235 display: flex; 236 align-items: center; 237 gap: 0.5rem; 238 color: var(--text-light); 239 font-size: 0.9rem; 240 min-width: 0; // å 许 flex é¡¹ç®æ¶ç¼© 241 242 .icon { 243 color: var(--primary); 244 font-size: 1rem; 245 flex-shrink: 0; 246 } 247 248 span, a { 249 overflow: hidden; 250 text-overflow: ellipsis; 251 white-space: nowrap; 252 max-width: 280px; // å¢å æå¤§å®½åº¦ï¼ä¸ºè±æå 容æä¾æ´å¤ç©ºé´ 253 color: inherit; // ä¿æç»§æ¿çé¢è² 254 text-decoration: none; // ç§»é¤ä¸å线 255 transition: opacity 0.2s ease; 256 257 @media (max-width: 768px) { 258 max-width: 250px; 259 } 260 261 &:hover { 262 opacity: 0.8; 263 } 264 } 265 } 266 } 267 268 @media (max-width: 768px) { 269 .contact-info { 270 flex-direction: column; 271 gap: 1rem; 272 } 273 } 274`,v=e=>{var r;let{staff:i}=e;const{t:t,i18n:s}=(0,n.Bd)(),[v,b]=(0,a.useState)(!1),{name_en:j,name_zh:w,position_en:y,position_zh:N,department:T,bio_en:P,bio_zh:k,avatarUrl:A,email:z,linkedin:E,github:S,wechat:_,phone:F,mbti:C,status:I,username:J}=i,R="zh"===s.language?w:j,$="zh"===s.language?N:y,U="zh"===s.language?k:P,q="zh"===s.language?j:w,O=(0,c.u0)(A),B=J?`${window.location.origin}/team/${J}`:window.location.href;(0,a.useEffect)((()=>{b(!1)}),[O]);return(0,m.jsxs)(h,{initial:{opacity:0,scale:.98}
274,animate:{opacity:1,scale:1},transition:{duration:.2,ease:"easeOut"},children:[(0,m.jsx)("div",{className:"card-bg"}),(0,m.jsxs)(x,{children:[(0,m.jsxs)(u,{children:[(0,m.jsxs)("div",{className:"avatar-section",children:[O&&!v?(0,m.jsx)("img",{src:O,alt:"Avatar",className:"avatar",onError:()=>{b(!0)}}):(0,m.jsx)("div",{className:"placeholder",children:null===(r=R||t("staff.profile.permissions.noName"))||void 0===r?void 0:r.charAt(0).toUpperCase()}),J&&(0,m.jsx)("div",{className:"qr-code",title:"Scan to view profile",children:(0,m.jsx)(p.Ay,{value:B,size:84,fgColor:"#e02b20",bgColor:"transparent",level:"H"})})]}),(0,m.jsxs)("div",{className:"identity",children:[(0,m.jsxs)("div",{className:"name-section",children:[(0,m.jsxs)("h2",{children:[R||t("staff.profile.permissions.noName"),(0,m.jsx)(l._IM,{className:"verification-icon "+("approved"===I?"verified":"unverified"),title:t("approved"===I?"staff.profile.verified":"staff.profile.unverified")})]}),q&&q!==R?(0,m.jsx)("span",{className:"alt-name",children:q}):(0,m.jsx)("span",{className:"alt-name",children:t("staff.profile.permissions.noAltName")})]}),(0,m.jsxs)("div",{className:"position-section",children:[(0,m.jsx)("p",{className:"position",children:$}),T&&(0,m.jsxs)("div",{className:"department-tag",children:[(0,m.jsx)(o.cfS,{className:"dept-icon"}),(0,m.jsx)("span",{children:T})]})]}),(0,m.jsx)(g,{children:U?(0,m.jsx)("p",{className:"bio",children:U.length>800?U.substring(0,800)+"...":U}):(0,m.jsx)("p",{className:"bio no-bio",children:t("staff.profile.permissions.noBio")})})]})]}),(0,m.jsx)(f,{children:(0,m.jsxs)("div",{className:"contact-info",children:[z&&(0,m.jsxs)("div",{className:"contact-item",children:[(0,m.jsx)(o.pHD,{className:"icon"}),(0,m.jsx)("span",{children:z})]}),F&&(0,m.jsxs)("div",{className:"contact-item",children:[(0,m.jsx)(o.QFc,{className:"icon"}),(0,m.jsx)("span",{children:F})]}),E&&(0,m.jsxs)("div",{className:"contact-item",children:[(0,m.jsx)(o.Wjy,{className:"icon"}),(0,m.jsx)("a",{href:E,target:"_blank",rel:"noopener noreferrer",children:"LinkedIn"})]}),S&&(0,m.jsxs)("div",{className:"contact-item",children:[(0,m.jsx)(o.BR8,{className:"icon"}),(0,m.jsx)("a",{href:S,target:"_blank",rel:"noopener noreferrer",children:"GitHub"})]}),_&&(0,m.jsxs)("div",{className:"contact-item",children:[(0,m.jsx)(d.mpG,{className:"icon"}),(0,m.jsxs)("span",{children:["WeChat: ",_]})]}),C&&(0,m.jsxs)("div",{className:"contact-item",children:[(0,m.jsx)(o.JXP,{className:"icon"}),(0,m.jsxs)("a",{href:(e=>{if(!e)return null;return`https://www.16personalities.com/ch/${e.split("-")[0].toLowerCase()}-\u4eba\u683c`})(C),target:"_blank",rel:"noopener noreferrer",children:["MBTI: ",C]})]})]})})]})]})}},4695:(e,r,i)=>{i.d(r,{A:()=>g});i(5043);var a=i(5464),t=i(579);const s=a.i7` 275 0%, 80%, 100% { 276 transform: scale(0.8); 277 opacity: 0.5; 278 } 279 40% { 280 transform: scale(1.2); 281 opacity: 1; 282 } 283`,n=a.i7` 284 0%, 60%, 100% { 285 transform: initial; 286 } 287 30% { 288 transform: translateY(-10px); 289 } 290`,o=a.i7` 291 0%, 80%, 100% { 292 opacity: 0.3; 293 } 294 40% { 295 opacity: 1; 296 } 297`,l=a.i7` 298 0% { 299 transform: rotate(0deg); 300 } 301 100% { 302 transform: rotate(360deg); 303 } 304`,d=a.i7` 305 0% { 306 background-position: -468px 0; 307 } 308 100% { 309 background-position: 468px 0; 310 } 311`,c=a.Ay.div` 312 display: inline-flex; 313 align-items: center; 314 justify-content: center; 315 gap: 0.25rem; 316`,p=a.Ay.div` 317 width: 8px; 318 height: 8px; 319 border-radius: 50%; 320 background: var(--primary); 321 animation: ${s} 1.4s ease-in-out infinite both; 322 animation-delay: ${e=>e.delay}s; 323`,m=a.Ay.div` 324 width: 6px; 325 height: 20px; 326 border-radius: 3px; 327 background: linear-gradient(45deg, var(--primary), var(--accent)); 328 animation: ${n} 1.2s ease-in-out infinite; 329 animation-delay: ${e=>e.delay}s; 330`,h=a.Ay.div` 331 width: 10px; 332 height: 10px; 333 border-radius: 50%; 334 background: var(--primary); 335 animation: ${o} 1.4s linear infinite; 336 animation-delay: ${e=>e.delay}s; 337`,x=a.Ay.div` 338 width: ${e=>e.size||20}px; 339 height: ${e=>e.size||20}px; 340 border: 2px solid rgba(224, 43, 32, 0.1); 341 border-top: 2px solid var(--primary); 342 border-radius: 50%; 343 animation: ${l} 0.8s linear infinite; 344`,u=a.Ay.div` 345 width: ${e=>e.width||"100px"}; 346 height: ${e=>e.height||"20px"}; 347 border-radius: 4px; 348 background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); 349 background-size: 400% 100%; 350 animation: ${d} 1.2s ease-in-out infinite; 351 352 [data-theme="dark"] & { 353 background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%); 354 background-size: 400% 100%; 355 } 356`,g=e=>{let{type:r="pulse",size:i,color:a,className:s,...n}=e;switch(r){case"pulse":default:return(0,t.jsxs)(c,{className:s,...n,children:[(0,t.jsx)(p,{delay:0}),(0,t.jsx)(p,{delay:.2}),(0,t.jsx)(p,{delay:.4})]});case"wave":return(0,t.jsxs)(c,{className:s,...n,children:[(0,t.jsx)(m,{delay:0}),(0,t.jsx)(m,{delay:.1}),(0,t.jsx)(m,{delay:.2}),(0,t.jsx)(m,{delay:.3}),(0,t.jsx)(m,{delay:.4})]});case"fade":return(0,t.jsxs)(c,{className:s,...n,children:[(0,t.jsx)(h,{delay:0}),(0,t.jsx)(h,{delay:.5}),(0,t.jsx)(h,{delay:1})]});case"ring":return(0,t.jsx)(x,{size:i,className:s,...n});case"skeleton":return(0,t.jsx)(u,{width:n.width,height:n.height,className:s})}}}
356,9368:(e,r,i)=>{i.r(r),i.d(r,{default:()=>S});var a=i(5043),t=i(4117),s=i(3216),n=i(5464),o=i(995),l=i(3546),d=i(5200),c=i(184),p=i(5016),m=i(8180),h=i(2605),x=i(2979),u=i(4695),g=i(579);const f=(0,n.Ay)(o.P.div)` 357 position: fixed; 358 top: 0; 359 left: 0; 360 right: 0; 361 bottom: 0; 362 width: 100vw; 363 height: 100vh; 364 background: rgba(0, 0, 0, 0.7); 365 backdrop-filter: blur(10px); 366 display: flex; 367 align-items: center; 368 justify-content: center; 369 z-index: 10000; 370 padding: 1rem; 371 box-sizing: border-box; 372 pointer-events: auto; 373 margin: 0; 374 overflow: hidden; 375`,v=(0,n.Ay)(o.P.div)` 376 background: white; 377 border-radius: 20px; 378 padding: 2rem; 379 width: 100%; 380 max-width: 450px; 381 box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25); 382 position: relative; 383 max-height: 90vh; 384 overflow-y: auto; 385 386 .close-button { 387 position: absolute; 388 top: 1rem; 389 right: 1rem; 390 background: none; 391 border: none; 392 font-size: 1.5rem; 393 cursor: pointer; 394 color: #6b7280; 395 transition: color 0.3s ease; 396 padding: 0.5rem; 397 border-radius: 50%; 398 display: flex; 399 align-items: center; 400 justify-content: center; 401 width: 40px; 402 height: 40px; 403 404 &:hover { 405 color: #374151; 406 background: #f3f4f6; 407 } 408 } 409 410 .modal-header { 411 margin-bottom: 2rem; 412 text-align: center; 413 414 h2 { 415 color: #1f2937; 416 margin-bottom: 0.5rem; 417 font-size: 1.8rem; 418 font-weight: 700; 419 } 420 421 p { 422 color: #6b7280; 423 margin: 0; 424 font-size: 1rem; 425 } 426 } 427 428 @media (max-width: 480px) { 429 margin: 1rem; 430 padding: 1.5rem; 431 432 .modal-header h2 { 433 font-size: 1.5rem; 434 } 435 } 436`,b=n.Ay.form` 437 .form-group { 438 margin-bottom: 1.5rem; 439 440 label { 441 display: block; 442 margin-bottom: 0.5rem; 443 color: var(--text); 444 font-weight: 500; 445 font-size: 0.9rem; 446 } 447 448 .input-wrapper { 449 position: relative; 450 451 .input-icon { 452 position: absolute; 453 left: 1rem; 454 top: 50%; 455 transform: translateY(-50%); 456 color: var(--text-light); 457 font-size: 1.1rem; 458 z-index: 1; 459 } 460 461 .toggle-password { 462 position: absolute; 463 right: 1rem; 464 top: 50%; 465 transform: translateY(-50%); 466 background: none; 467 border: none; 468 color: var(--text-light); 469 cursor: pointer; 470 font-size: 1.1rem; 471 transition: color 0.3s ease; 472 473 &:hover { 474 color: var(--primary); 475 } 476 } 477 } 478 479 input { 480 width: 100%; 481 padding: 1rem 1rem 1rem 3rem; 482 border: 2px solid #e5e7eb; 483 border-radius: 12px; 484 font-size: 1rem; 485 transition: all 0.3s ease; 486 background: #f9fafb; 487 488 &:focus { 489 outline: none; 490 border-color: var(--primary); 491 background: white; 492 box-shadow: 0 0 0 3px rgba(224, 43, 32, 0.1); 493 } 494 495 &::placeholder { 496 color: #9ca3af; 497 } 498 } 499 500 .error-message { 501 margin-top: 0.5rem; 502 color: #ef4444; 503 font-size: 0.85rem; 504 display: flex; 505 align-items: center; 506 gap: 0.25rem; 507 } 508 } 509 510 .password-requirements { 511 margin-top: 0.5rem; 512 color: #6b7280; 513 font-size: 0.85rem; 514 line-height: 1.4; 515 } 516 517 .submit-button { 518 width: 100%; 519 background: linear-gradient(135deg, var(--primary), var(--accent)); 520 color: white; 521 border: none; 522 padding: 1rem 2rem; 523 border-radius: 12px; 524 font-size: 1rem; 525 font-weight: 600; 526 cursor: pointer; 527 transition: all 0.3s ease; 528 position: relative; 529 overflow: hidden; 530 display: flex; 531 align-items: center; 532 justify-content: center; 533 gap: 0.5rem; 534 535 &:hover:not(:disabled) { 536 transform: translateY(-2px); 537 box-shadow: 0 10px 25px rgba(224, 43, 32, 0.3); 538 } 539 540 &:disabled { 541 opacity: 0.7; 542 cursor: not-allowed; 543 transform: none; 544 } 545 546 .loading-spinner { 547 width: 20px; 548 height: 20px; 549 border: 2px solid rgba(255, 255, 255, 0.3); 550 border-top: 2px solid white; 551 border-radius: 50%; 552 animation: spin 1s linear infinite; 553 } 554 555 @keyframes spin { 556 0% { transform: rotate(0deg); } 557 100% { transform: rotate(360deg); } 558 } 559 } 560 561 .success-message { 562 margin-bottom: 1rem; 563 color: #10b981; 564 font-size: 0.9rem; 565 text-align: center; 566 background: #ecfdf5; 567 padding: 0.75rem; 568 border-radius: 8px; 569 border: 1px solid #a7f3d0; 570 } 571`,j=e=>{let{isOpen:r,onClose:i,onSuccess:s}=e;const{t:n}=(0,t.Bd)(),[o,c]=(0,a.useState)({currentPassword:"",newPassword:"",confirmPassword:""}),[p,h]=(0,a.useState)({current:!1,new:!1,confirm:!1}),[j,w]=(0,a.useState)(!1),[y,N]=(0,a.useState)(""),[T,P]=(0,a.useState)(""),k=e=>{const{name:r,value:i}=e.target;c((e=>({...e,[r]:i}))),y&&N(""),T&&P("")},A=e=>{h((r=>({...r,[e]:!r[e]})))},z=()=>{j||(c({currentPassword:"",newPassword:"",confirmPassword:""}),N(""),P(""),h({current:!1,new:!1,confirm:!1}),i())};return(0,g.jsx)(x.A,{children:(0,g.jsx)(l.N,{children:r&&(0,g.jsx)(f,{initial:{opacity:0}
571,animate:{opacity:1},exit:{opacity:0},onClick:z,children:(0,g.jsxs)(v,{initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:20},onClick:e=>e.stopPropagation(),children:[(0,g.jsx)("button",{className:"close-button",onClick:z,type:"button",disabled:j,children:(0,g.jsx)(d.yGN,{})}),(0,g.jsxs)("div",{className:"modal-header",children:[(0,g.jsx)("h2",{children:n("changePassword.title")}),(0,g.jsx)("p",{children:n("changePassword.subtitle")})]}),(0,g.jsxs)(b,{onSubmit:async e=>{if(e.preventDefault(),o.currentPassword.trim()?o.newPassword.trim()?o.newPassword.trim().length<6?(N(n("changePassword.error.passwordTooShort")),0):o.confirmPassword.trim()?o.newPassword.trim()!==o.confirmPassword.trim()?(N(n("changePassword.error.passwordsDoNotMatch")),0):o.currentPassword.trim()!==o.newPassword.trim()||(N(n("changePassword.error.samePassword")),0):(N(n("changePassword.error.confirmPasswordRequired")),0):(N(n("changePassword.error.newPasswordRequired")),0):(N(n("changePassword.error.currentPasswordRequired")),0)){w(!0),N(""),P("");try{const e=await(0,m.ec)(o.currentPassword.trim(),o.newPassword.trim());P(n("changePassword.success")),c({currentPassword:"",newPassword:"",confirmPassword:""}),setTimeout((()=>{s&&s(e),i()}),2e3)}catch(y){var r,a;console.error("Change password error:",y),N((null===(r=y.response)||void 0===r||null===(a=r.data)||void 0===a?void 0:a.error)||n("changePassword.error.failed"))}finally{w(!1)}}},children:[T&&(0,g.jsx)("div",{className:"success-message",children:T}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{htmlFor:"currentPassword",children:n("changePassword.currentPassword")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.F5$,{className:"input-icon"}),(0,g.jsx)("input",{type:p.current?"text":"password",id:"currentPassword",name:"currentPassword",value:o.currentPassword,onChange:k,placeholder:n("changePassword.currentPasswordPlaceholder"),disabled:j}),(0,g.jsx)("button",{type:"button",className:"toggle-password",onClick:()=>A("current"),disabled:j,children:p.current?(0,g.jsx)(d.Vap,{}):(0,g.jsx)(d._NO,{})})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{htmlFor:"newPassword",children:n("changePassword.newPassword")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.Fv0,{className:"input-icon"}),(0,g.jsx)("input",{type:p.new?"text":"password",id:"newPassword",name:"newPassword",value:o.newPassword,onChange:k,placeholder:n("changePassword.newPasswordPlaceholder"),disabled:j}),(0,g.jsx)("button",{type:"button",className:"toggle-password",onClick:()=>A("new"),disabled:j,children:p.new?(0,g.jsx)(d.Vap,{}):(0,g.jsx)(d._NO,{})})]}),(0,g.jsx)("div",{className:"password-requirements",children:n("changePassword.passwordRequirements")})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{htmlFor:"confirmPassword",children:n("changePassword.confirmPassword")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.F5$,{className:"input-icon"}),(0,g.jsx)("input",{type:p.confirm?"text":"password",id:"confirmPassword",name:"confirmPassword",value:o.confirmPassword,onChange:k,placeholder:n("changePassword.confirmPasswordPlaceholder"),disabled:j}),(0,g.jsx)("button",{type:"button",className:"toggle-password",onClick:()=>A("confirm"),disabled:j,children:p.confirm?(0,g.jsx)(d.Vap,{}):(0,g.jsx)(d._NO,{})})]}),y&&(0,g.jsx)("div",{className:"error-message",children:y})]}),(0,g.jsx)("button",{type:"submit",className:"submit-button",disabled:j,children:j?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(u.A,{type:"ring",size:16}),n("changePassword.changing")]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(d.Fv0,{}),n("changePassword.changeButton")]})})]})]})})})})},w=n.Ay.div` 572 background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); 573 background-size: 400% 100%; 574 animation: shimmer 1.2s ease-in-out infinite; 575 animation-delay: ${e=>e.delay||"0s"}; 576 border-radius: ${e=>e.borderRadius||"4px"}; 577 width: ${e=>e.width||"100px"}; 578 height: ${e=>e.height||"20px"}; 579 580 [data-theme="dark"] & { 581 background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%); 582 background-size: 400% 100%; 583 } 584 585 @keyframes shimmer { 586 0% { 587 background-position: -200px 0; 588 } 589 100% { 590 background-position: calc(200px + 100%) 0; 591 } 592 } 593`,y=n.Ay.div` 594 display: flex; 595 flex-direction: column; 596 gap: 0.5rem; 597 margin-bottom: 1.5rem; 598`,N=n.Ay.div` 599 display: grid; 600 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 601 gap: 1.5rem; 602 margin-bottom: 2rem; 603 604 @media (max-width: 768px) { 605 grid-template-columns: 1fr; 606 gap: 1rem; 607 margin-bottom: 1.5rem; 608 } 609`,T=n.Ay.div` 610 min-height: 100vh; 611 background: linear-gradient(135deg, rgba(224, 43, 32, 0.03) 0%, rgba(252, 185, 0, 0.05) 100%); 612 padding-top: 5rem; 613 614 @media (max-width: 768px) { 615 padding-top: 8rem; 616 } 617 618 @media (max-width: 768px) { 619 padding-top: 8rem; 620 } 621 622 @media (max-width: 768px) { 623 padding-top: 8rem; 624 } 625 626 [data-theme="dark"] & { 627 background: linear-gradient(135deg, rgba(224, 43, 32, 0.08) 0%, rgba(252, 185, 0, 0.08) 100%); 628 } 629 630 .container { 631 max-width: 1000px; 632 margin: 0 auto; 633 padding: 2rem; 634 635 @media (max-width: 768px) { 636 padding: 1rem; 637 } 638 } 639 640 .page-header { 641 text-align: center; 642 margin-bottom: 3rem; 643 644 h1 { 645 font-size: clamp(2.5rem, 5vw, 3.5rem); 646 margin-bottom: 1rem; 647 background: linear-gradient(135deg, var(--primary), var(--accent)); 648 -webkit-background-clip: text; 649 -webkit-text-fill-color: transparent; 650 background-clip: text; 651 } 652 653 p { 654 color: var(--text-light); 655 font-size: 1.1rem; 656 max-width: 600px; 657 margin: 0 auto; 658 } 659 } 660 661 .profile-header { 662 display: flex; 663 justify-content: space-between; 664 align-items: center; 665 margin-bottom: 2rem; 666 flex-wrap: wrap; 667 gap: 1rem; 668 669 @media (max-width: 768px) { 670 flex-direction: column; 671 align-items: stretch; 672 text-align: center; 673 } 674 675 .user-info { 676 display: flex; 677 align-items: center; 678 gap: 1rem; 679 680 @media (max-width: 768px) { 681 flex-direction: column; 682 gap: 0.75rem; 683 } 684 685 .avatar { 686 width: 60px; 687 height: 60px; 688 border-radius: 50%; 689 background: linear-gradient(135deg, var(--primary), var(--accent)); 690 display: flex; 691 align-items: center; 692 justify-content: center; 693 color: white; 694 font-size: 1.5rem; 695 font-weight: bold; 696 } 697 698 .details { 699 h3 { 700 color: var(--text); 701 margin-bottom: 0.25rem; 702 } 703 704 p { 705 color: var(--text-light); 706 font-size: 0.9rem; 707 margin-bottom: 0.5rem; 708 } 709 710 .permissions-tags { 711 display: flex; 712 flex-wrap: wrap; 713 gap: 0.5rem; 714 715 .permission-tag { 716 padding: 0.25rem 0.75rem; 717 border-radius: 16px; 718 font-size: 0.8rem; 719 font-weight: 500; 720 721 &.events { 722 background: #dbeafe; 723 color: #1e40af; 724 } 725 &.reviews { 726 background: #d1fae5; 727 color: #065f46; 728 } 729 &.staff { 730 background: #fef3c7; 731 color: #92400e; 732 } 733 } 734 } 735 } 736 } 737 738 .actions { 739 display: flex; 740 gap: 1rem; 741 742 @media (max-width: 768px) { 743 justify-content: center; 744 flex-wrap: nowrap; 745 gap: 0.5rem; 746 } 747 748 .permission-dropdown { 749 position: relative; 750 751 .permission-menu { 752 position: absolute; 753 top: 100%; 754 left: 0; 755 background: white; 756 border-radius: 12px; 757 padding: 0.5rem 0; 758 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); 759 border: 1px solid rgba(224, 43, 32, 0.1); 760 min-width: 320px; 761 max-width: 400px; 762 z-index: 10; 763 margin-top: 0.5rem; 764 765 [data-theme="dark"] & { 766 background: var(--card-bg); 767 border: 1px solid rgba(224, 43, 32, 0.2); 768 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); 769 } 770 771 .permission-item { 772 display: block; 773 padding: 1rem 1.25rem; 774 color: var(--text); 775 font-size: 0.9rem; 776 transition: background-color 0.2s ease; 777 778 &:hover { 779 background: rgba(224, 43, 32, 0.05); 780 } 781 782 &.events svg { 783 color: #1e40af; 784 } 785 786 &.reviews svg { 787 color: #065f46; 788 } 789 790 &.staff svg { 791 color: #92400e; 792 } 793 794 &.no-permissions { 795 color: var(--text-light); 796 font-style: italic; 797 justify-content: center; 798 } 799 } 800 } 801 } 802 803 .action-button { 804 padding: 0.75rem 1.5rem; 805 border: none; 806 border-radius: 10px; 807 cursor: pointer; 808 transition: all 0.3s ease; 809 display: flex; 810 align-items: center; 811 gap: 0.5rem; 812 font-weight: 500; 813 white-space: nowrap; 814 815 @media (max-width: 768px) { 816 padding: 0.5rem 0.75rem; 817 font-size: 0.85rem; 818 gap: 0.25rem; 819 } 820 821 &.primary { 822 background: linear-gradient(135deg, var(--primary), var(--accent)); 823 color: white; 824 825 &:hover { 826 transform: translateY(-2px); 827 box-shadow: 0 8px 20px rgba(224, 43, 32, 0.3); 828 } 829 } 830 831 &.secondary { 832 background: rgba(224, 43, 32, 0.1); 833 color: var(--primary); 834 835 &:hover { 836 background: rgba(224, 43, 32, 0.2); 837 } 838 } 839 840 &.danger { 841 background: #ef4444; 842 color: white; 843 844 &:hover { 845 background: #dc2626; 846 } 847 } 848 } 849 } 850 } 851`,P=(0,n.Ay)(o.P.div)` 852 background: ${e=>{switch(e.status){case"approved":return"linear-gradient(135deg, #10b981, #059669)";
852case"pending":return"linear-gradient(135deg, #f59e0b, #d97706)";case"rejected":return"linear-gradient(135deg, #ef4444, #dc2626)";default:return"linear-gradient(135deg, #6b7280, #4b5563)"}}}; 853 color: white; 854 padding: 1rem 1.5rem; 855 border-radius: 12px; 856 margin-bottom: 2rem; 857 display: flex; 858 align-items: center; 859 justify-content: center; 860 gap: 0.75rem; 861 text-align: center; 862 863 .status-icon { 864 font-size: 1.2rem; 865 flex-shrink: 0; 866 } 867 868 .status-content { 869 flex: 1; 870 871 h4 { 872 font-weight: 600; 873 margin: 0 0 0.25rem 0; 874 } 875 876 p { 877 opacity: 0.9; 878 font-size: 0.9rem; 879 margin: 0; 880 } 881 } 882`,k=(0,n.Ay)(o.P.div)` 883 background: white; 884 border-radius: 20px; 885 padding: 2rem; 886 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); 887 border: 1px solid rgba(224, 43, 32, 0.1); 888 margin-top: 3rem; 889 margin-bottom: 2rem; 890 891 [data-theme="dark"] & { 892 background: var(--card-bg); 893 border: 1px solid rgba(224, 43, 32, 0.2); 894 box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); 895 } 896`,A=n.Ay.div` 897 text-align: center; 898 margin-bottom: 2rem; 899 900 .avatar-container { 901 position: relative; 902 display: inline-block; 903 margin-bottom: 1rem; 904 905 .avatar { 906 width: 150px; 907 height: 150px; 908 border-radius: 50%; 909 object-fit: cover; 910 border: 4px solid white; 911 box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); 912 913 [data-theme="dark"] & { 914 border-color: var(--card-bg); 915 box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4); 916 } 917 } 918 919 .avatar-placeholder { 920 width: 150px; 921 height: 150px; 922 border-radius: 50%; 923 background: linear-gradient(135deg, var(--primary), var(--accent)); 924 display: flex; 925 align-items: center; 926 justify-content: center; 927 color: white; 928 font-size: 3rem; 929 font-weight: bold; 930 border: 4px solid white; 931 box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15); 932 933 [data-theme="dark"] & { 934 border-color: var(--card-bg); 935 box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4); 936 } 937 } 938 939 .upload-overlay { 940 position: absolute; 941 bottom: 5px; 942 right: 5px; 943 background: linear-gradient(135deg, var(--primary), var(--accent)); 944 color: white; 945 border: none; 946 border-radius: 12px; 947 padding: 0.5rem 0.75rem; 948 display: flex; 949 align-items: center; 950 justify-content: center; 951 gap: 0.25rem; 952 cursor: pointer; 953 transition: all 0.3s ease; 954 box-shadow: 0 4px 15px rgba(224, 43, 32, 0.3); 955 font-size: 0.8rem; 956 font-weight: 500; 957 958 &:hover { 959 transform: translateY(-2px); 960 box-shadow: 0 6px 20px rgba(224, 43, 32, 0.4); 961 } 962 963 &:disabled { 964 opacity: 0.7; 965 cursor: not-allowed; 966 transform: none; 967 } 968 969 .loading-spinner { 970 width: 16px !important; 971 height: 16px !important; 972 min-height: auto !important; 973 border: 2px solid rgba(255, 255, 255, 0.3); 974 border-top: 2px solid white; 975 border-radius: 50%; 976 animation: spin 1s linear infinite; 977 display: inline-block !important; 978 flex-shrink: 0; 979 } 980 981 .saving-icon { 982 animation: pulse 1.5s ease-in-out infinite; 983 flex-shrink: 0; 984 } 985 986 .success-icon { 987 animation: successPop 0.6s ease-out; 988 flex-shrink: 0; 989 color: #10b981; 990 } 991 992 @keyframes spin { 993 0% { transform: rotate(0deg); } 994 100% { transform: rotate(360deg); } 995 } 996 997 @keyframes pulse { 998 0%, 100% { opacity: 1; transform: scale(1); } 999 50% { opacity: 0.7; transform: scale(1.1); } 1000 } 1001 1002 @keyframes successPop { 1003 0% { transform: scale(0.8); opacity: 0; } 1004 50% { transform: scale(1.2); opacity: 1; } 1005 100% { transform: scale(1); opacity: 1; } 1006 } 1007 } 1008 } 1009 1010 .hidden-input { 1011 display: none; 1012 } 1013`,z=n.Ay.div` 1014 display: grid; 1015 grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 1016 gap: 1.5rem; 1017 margin-bottom: 2rem; 1018 1019 @media (max-width: 768px) { 1020 grid-template-columns: 1fr; 1021 gap: 1rem; 1022 margin-bottom: 1.5rem; 1023 } 1024 1025 .form-group { 1026 .label { 1027 display: block; 1028 margin-bottom: 0.5rem; 1029 color: var(--text); 1030 font-weight: 500; 1031 font-size: 0.9rem; 1032 } 1033 1034 .input-wrapper { 1035 position: relative; 1036 1037 .input-icon { 1038 position: absolute; 1039 left: 1rem; 1040 top: 50%; 1041 transform: translateY(-50%); 1042 color: var(--text-light); 1043 font-size: 1.1rem; 1044 } 1045 } 1046 1047 input, textarea, select { 1048 width: 100%; 1049 padding: 1rem 1rem 1rem 3rem; 1050 border: 2px solid #e5e7eb; 1051 border-radius: 12px; 1052 font-size: 1rem; 1053 transition: all 0.3s ease; 1054 background: #f9fafb; 1055 color: var(--text); 1056 1057 @media (max-width: 768px) { 1058 font-size: 16px; /* Prevent zoom on iOS */ 1059 padding: 0.875rem 0.875rem 0.875rem 2.75rem; 1060 } 1061 1062 [data-theme="dark"] & { 1063 background: var(--input-bg); 1064 border-color: var(--border); 1065 color: var(--text); 1066 1067 &:focus { 1068 background: var(--card-bg); 1069 border-color: var(--primary); 1070 } 1071 1072 &::placeholder { 1073 color: var(--text-light); 1074 } 1075 } 1076 1077 &:focus { 1078 outline: none; 1079 border-color: var(--primary); 1080 background: white; 1081 box-shadow: 0 0 0 3px rgba(224, 43, 32, 0.1); 1082 } 1083 1084 &::placeholder { 1085 color: #9ca3af; 1086 } 1087 } 1088 1089 textarea { 1090 min-height: 120px; 1091 resize: vertical; 1092 padding: 1rem; 1093 } 1094 1095 .required { 1096 color: #ef4444; 1097 } 1098 } 1099 1100 .full-width { 1101 grid-column: 1 / -1; 1102 } 1103`,E=n.Ay.div` 1104 text-align: center; 1105 padding-top: 1rem; 1106 border-top: 1px solid #e5e7eb; 1107 1108 @media (max-width: 768px) { 1109 padding-top: 1.5rem; 1110 } 1111 1112 [data-theme="dark"] & { 1113 border-top-color: var(--border); 1114 } 1115 1116 .submit-button { 1117 background: linear-gradient(135deg, var(--primary), var(--accent)); 1118 color: white; 1119 border: none; 1120 padding: 1rem 2rem; 1121 border-radius: 12px; 1122 font-size: 1rem; 1123 font-weight: 600; 1124 cursor: pointer; 1125 transition: all 0.3s ease; 1126 display: inline-flex; 1127 align-items: center; 1128 justify-content: center; 1129 gap: 0.5rem; 1130 min-width: 200px; 1131 height: 56px; /* åºå®é«åº¦ */ 1132 position: relative; 1133 1134 @media (max-width: 768px) { 1135 width: 100%; 1136 max-width: 300px; 1137 padding: 1rem 1.5rem; 1138 font-size: 1rem; 1139 } 1140 1141 &:hover:not(:disabled) { 1142 transform: translateY(-2px); 1143 box-shadow: 0 10px 25px rgba(224, 43, 32, 0.3); 1144 } 1145 1146 &:disabled { 1147 opacity: 0.7;
1148 cursor: not-allowed; 1149 transform: none; 1150 } 1151 1152 .loading-spinner { 1153 width: 20px; 1154 height: 20px; 1155 border: 2px solid rgba(255, 255, 255, 0.3); 1156 border-top: 2px solid white; 1157 border-radius: 50%; 1158 animation: spin 1s linear infinite; 1159 flex-shrink: 0; /* 鲿¢å缩 */ 1160 } 1161 1162 /* ç¡®ä¿ææ¬ä¸æ¢è¡ */ 1163 white-space: nowrap; 1164 1165 @keyframes spin { 1166 0% { transform: rotate(0deg); } 1167 100% { transform: rotate(360deg); } 1168 } 1169 } 1170`,S=(n.Ay.div` 1171 .title { 1172 display: flex; 1173 align-items: center; 1174 gap: 0.5rem; 1175 color: var(--primary); 1176 font-size: 1.2rem; 1177 font-weight: 600; 1178 margin-bottom: 1rem; 1179 border-bottom: 2px solid var(--border); 1180 padding-bottom: 0.75rem; 1181 } 1182 1183 .grid { 1184 display: grid; 1185 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); 1186 gap: 1rem; 1187 } 1188 1189 .permission-item { 1190 background: var(--background); 1191 border-radius: 12px; 1192 padding: 1rem; 1193 display: flex; 1194 align-items: center; 1195 gap: 1rem; 1196 border: 1px solid var(--border); 1197 1198 .icon { 1199 font-size: 1.5rem; 1200 color: ${e=>e.hasPermission?"var(--primary)":"var(--text-light)"}; 1201 } 1202 1203 .text { 1204 h4 { 1205 margin: 0 0 0.25rem 0; 1206 color: var(--text); 1207 font-size: 1rem; 1208 } 1209 p { 1210 margin: 0; 1211 font-size: 0.85rem; 1212 color: var(--text-light); 1213 } 1214 } 1215 } 1216 1217 .admin-note { 1218 margin-top: 1rem; 1219 padding: 0.75rem 1rem; 1220 background: rgba(245, 158, 11, 0.1); 1221 border-radius: 8px; 1222 text-align: center; 1223 color: #d97706; 1224 font-size: 0.9rem; 1225 font-weight: 500; 1226 1227 [data-theme="dark"] & { 1228 color: #f59e0b; 1229 } 1230 } 1231`,()=>{var e,r,i,n,x,u,f,v;const{t:b,i18n:S}=(0,t.Bd)(),_=(0,s.Zp)(),{isAuthenticated:F,user:C,logout:I,loading:J}=(0,p.As)(),R=(0,a.useRef)(null),[$,U]=(0,a.useState)(null),[q,O]=(0,a.useState)({name_en:"",name_zh:"",position_en:"",position_zh:"",department:"",bio_en:"",bio_zh:"",avatarUrl:"",email:"",linkedin:"",github:"",wechat:"",phone:"",mbti:""}),[B,D]=(0,a.useState)(!0),[M,G]=(0,a.useState)(!1),[W,X]=(0,a.useState)(!1),[Y,L]=(0,a.useState)(!1),[V,Z]=(0,a.useState)(""),[H,Q]=(0,a.useState)(""),[K,ee]=(0,a.useState)(!1),[re,ie]=(0,a.useState)(!1),[ae,te]=(0,a.useState)(!1);(0,a.useEffect)((()=>{J||F||_("/")}),[J,F,_]),(0,a.useEffect)((()=>{const e=e=>{re&&!e.target.closest(".permission-dropdown")&&ie(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}}),[re]),(0,a.useEffect)((()=>{F&&(async()=>{try{const e=await(0,m.cR)();U(e),e?O({name_en:e.name_en||"",name_zh:e.name_zh||"",position_en:e.position_en||"",position_zh:e.position_zh||"",department:e.department||"",bio_en:e.bio_en||"",bio_zh:e.bio_zh||"",avatarUrl:e.avatarUrl||"",email:e.email||"",linkedin:e.linkedin||"",github:e.github||"",wechat:e.wechat||"",phone:e.phone||"",mbti:e.mbti||""}):C&&O((e=>({...e,email:C.email||""})))}catch(e){console.error("Error loading profile:",e)}finally{D(!1)}})()}),[F]);const se=e=>{const{name:r,value:i}=e.target;O((e=>({...e,[r]:i})))};(0,a.useEffect)((()=>{ee(!1)}),[q.avatarUrl]);if(J||B)return(0,g.jsx)(T,{children:(0,g.jsxs)("div",{className:"container",children:[(0,g.jsxs)("div",{className:"page-header",children:[(0,g.jsx)(w,{width:"200px",height:"3.5rem",borderRadius:"8px",style:{margin:"0 auto"}}),(0,g.jsx)("div",{style:{marginTop:"1rem",display:"flex",justifyContent:"center"},children:(0,g.jsx)(w,{width:"min(400px, 90%)",height:"1.1rem",borderRadius:"4px",delay:"0.1s"})})]}),(0,g.jsxs)("div",{className:"profile-header",children:[(0,g.jsxs)("div",{className:"user-info",children:[(0,g.jsx)(w,{width:"60px",height:"60px",borderRadius:"50%",delay:"0.2s"}),(0,g.jsxs)("div",{className:"details",children:[(0,g.jsx)(w,{width:"120px",height:"1.5rem",borderRadius:"4px",delay:"0.3s"}),(0,g.jsx)("div",{style:{marginTop:"0.5rem"},children:(0,g.jsx)(w,{width:"180px",height:"1rem",borderRadius:"4px",delay:"0.4s"})})]})]}),(0,g.jsxs)("div",{className:"actions",style:{display:"flex",gap:"1rem",flexWrap:"wrap",justifyContent:"center"},children:[(0,g.jsx)(w,{width:"120px",height:"40px",borderRadius:"10px",delay:"0.5s"}),(0,g.jsx)(w,{width:"100px",height:"40px",borderRadius:"10px",delay:"0.6s"}),(0,g.jsx)(w,{width:"80px",height:"40px",borderRadius:"10px",delay:"0.7s"})]})]}),(0,g.jsx)(w,{width:"100%",height:"80px",borderRadius:"12px",style:{marginBottom:"2rem"},delay:"0.8s"}),(0,g.jsxs)("div",{style:{background:"white",borderRadius:"20px",padding:"2rem",marginBottom:"2rem",boxShadow:"0 10px 30px rgba(0, 0, 0, 0.1)",border:"1px solid rgba(224, 43, 32, 0.1)"},children:[(0,g.jsxs)("div",{style:{textAlign:"center",marginBottom:"2rem"},children:[(0,g.jsx)(w,{width:"120px",height:"120px",borderRadius:"50%",style:{margin:"0 auto 1rem"},delay:"0.9s"}),(0,g.jsx)(w,{width:"200px",height:"1.5rem",borderRadius:"4px",style:{margin:"0 auto 0.5rem"},delay:"1.0s"}),(0,g.jsx)(w,{width:"150px",height:"1rem",borderRadius:"4px",style:{margin:"0 auto"},delay:"1.1s"})]}),(0,g.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(150px, 1fr))",gap:"1rem"},children:[...Array(6)].map(((e,r)=>(0,g.jsxs)("div",{style:{textAlign:"center"},children:[(0,g.jsx)(w,{width:"100%",height:"1rem",borderRadius:"4px",style:{marginBottom:"0.5rem"},delay:1.2+.1*r+"s"}),(0,g.jsx)(w,{width:"80%",height:"0.875rem",borderRadius:"4px",style:{margin:"0 auto"},delay:1.3+.1*r+"s"})]},r)))})]}),(0,g.jsxs)(k,{initial:{opacity:0,y:20}
1231,animate:{opacity:1,y:0},children:[(0,g.jsx)("div",{style:{textAlign:"center",marginBottom:"2rem"},children:(0,g.jsx)(w,{width:"150px",height:"150px",borderRadius:"50%",style:{margin:"0 auto 1rem"},delay:"1.8s"})}),(0,g.jsxs)(N,{children:[[...Array(12)].map(((e,r)=>(0,g.jsxs)(y,{children:[(0,g.jsx)(w,{width:"100px",height:"16px",borderRadius:"4px",delay:1.9+.05*r+"s"}),(0,g.jsx)(w,{width:"100%",height:"52px",borderRadius:"12px",delay:2+.05*r+"s"})]},r))),(0,g.jsx)("div",{style:{gridColumn:"1 / -1"},children:(0,g.jsxs)(y,{children:[(0,g.jsx)(w,{width:"120px",height:"16px",borderRadius:"4px",delay:"2.5s"}),(0,g.jsx)(w,{width:"100%",height:"120px",borderRadius:"12px",delay:"2.6s"})]})}),(0,g.jsx)("div",{style:{gridColumn:"1 / -1"},children:(0,g.jsxs)(y,{children:[(0,g.jsx)(w,{width:"120px",height:"16px",borderRadius:"4px",delay:"2.7s"}),(0,g.jsx)(w,{width:"100%",height:"120px",borderRadius:"12px",delay:"2.8s"})]})})]}),(0,g.jsx)("div",{style:{textAlign:"center",paddingTop:"1rem",borderTop:"1px solid #e5e7eb"},children:(0,g.jsx)(w,{width:"200px",height:"56px",borderRadius:"12px",style:{margin:"0 auto"},delay:"2.9s"})})]})]})});if(!F)return null;const ne="admin"===(null===C||void 0===C?void 0:C.role)||(null===C||void 0===C||null===(e=C.permissions)||void 0===e?void 0:e.canManageEvents)||(null===C||void 0===C||null===(r=C.permissions)||void 0===r?void 0:r.canReviewProfiles)||(null===C||void 0===C||null===(i=C.permissions)||void 0===i?void 0:i.canManageStaff),oe=(e=>{switch(null===e||void 0===e?void 0:e.status){case"approved":return{icon:(0,g.jsx)(d.YrT,{className:"status-icon"}),title:b("staff.profile.status.approved.title"),message:b("staff.profile.status.approved.message")};case"pending":const r=b("staff.profile.status.pending.message"),i=null!==e&&void 0!==e&&e.reviewNote?`${b("staff.profile.status.pending.lastRejectionReason")} ${e.reviewNote}`:"";return{icon:(0,g.jsx)(d.Ohp,{className:"status-icon"}),title:b("staff.profile.status.pending.title"),message:i?`${r}\n\n${i}`:r};case"rejected":const a=b("staff.profile.status.rejected.message"),t=null!==e&&void 0!==e&&e.reviewNote?`${b("staff.profile.status.rejected.reason")}${e.reviewNote}`:"";return{icon:(0,g.jsx)(d.yGN,{className:"status-icon"}),title:b("staff.profile.status.rejected.title"),message:t?`${a}\n\n${t}`:a};default:return{icon:(0,g.jsx)(d.JXP,{className:"status-icon"}),title:b("staff.profile.status.new.title"),message:b("staff.profile.status.new.message")}}})($);return(0,g.jsxs)(T,{children:[(0,g.jsxs)("div",{className:"container",children:[(0,g.jsxs)("div",{className:"page-header",children:[(0,g.jsx)("h1",{children:b("staff.profile.title")}),(0,g.jsx)("p",{children:b("staff.profile.subtitle")})]}),(0,g.jsxs)("div",{className:"profile-header",children:[(0,g.jsxs)("div",{className:"user-info",children:[(0,g.jsx)("div",{className:"avatar",children:null===C||void 0===C||null===(n=C.username)||void 0===n?void 0:n.charAt(0).toUpperCase()}),(0,g.jsxs)("div",{className:"details",children:[(0,g.jsx)("h3",{children:null===C||void 0===C?void 0:C.username}),(0,g.jsx)("p",{children:null===C||void 0===C?void 0:C.email})]})]}),(0,g.jsxs)("div",{className:"actions",children:[ne&&(0,g.jsxs)("div",{className:"permission-dropdown",children:[(0,g.jsxs)("button",{className:"action-button secondary",onClick:()=>ie(!re),children:[(0,g.jsx)(d.Vap,{}),b("staff.profile.viewPermission")]}),(0,g.jsx)(l.N,{children:re&&(0,g.jsxs)(o.P.div,{className:"permission-menu",initial:{opacity:0,y:-10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2},children:[(null===C||void 0===C||null===(x=C.permissions)||void 0===x?void 0:x.canManageEvents)&&(0,g.jsx)("div",{className:"permission-item events",children:(0,g.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,g.jsx)(d.VSk,{}),(0,g.jsxs)("div",{children:[(0,g.jsx)("div",{style:{fontWeight:"600"},children:b("staff.profile.permissions.manageEvents")}),(0,g.jsx)("div",{style:{fontSize:"0.8rem",color:"var(--text-light)",marginTop:"0.25rem"},children:b("staff.profile.permissions.manageEventsDesc")})]})]})}),(null===C||void 0===C||null===(u=C.permissions)||void 0===u?void 0:u.canReviewProfiles)&&(0,g.jsx)("div",{className:"permission-item reviews",children:(0,g.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,g.jsx)(d.jH2,{}),(0,g.jsxs)("div",{children:[(0,g.jsx)("div",{style:{fontWeight:"600"},children:b("staff.profile.permissions.reviewProfiles")}),(0,g.jsx)("div",{style:{fontSize:"0.8rem",color:"var(--text-light)",marginTop:"0.25rem"},children:b("staff.profile.permissions.reviewProfilesDesc")})]})]})}),(null===C||void 0===C||null===(f=C.permissions)||void 0===f?void 0:f.canManageStaff)&&(0,g.jsx)("div",{className:"permission-item staff",children:(0,g.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,g.jsx)(d.cfS,{}),(0,g.jsxs)("div",{children:[(0,g.jsx)("div",{style:{fontWeight:"600"},children:b("staff.profile.permissions.manageStaff")}),(0,g.jsx)("div",{style:{fontSize:"0.8rem",color:"var(--text-light)",marginTop:"0.25rem"},children:b("staff.profile.permissions.manageStaffDesc")})]})]})})]})})]}),(0,g.jsxs)("button",{className:"action-button primary",onClick:()=>te(!0),children:[(0,g.jsx)(d.F5$,{}),b("changePassword.title")]}),(0,g.jsxs)("button",{className:"action-button danger",onClick:I,children:[(0,g.jsx)(d.QeK,{}),b("staff.profile.logout")]})]})]}),$&&(0,g.jsxs)(P,{status:$.status,initial:{opacity:0,y:-20}
1231,animate:{opacity:1,y:0},children:[oe.icon,(0,g.jsxs)("div",{className:"status-content",children:[(0,g.jsx)("h4",{children:oe.title}),(0,g.jsx)("p",{style:{whiteSpace:"pre-line"},children:oe.message})]})]}),(0,g.jsx)(o.P.div,{initial:{opacity:0,scale:.95},animate:{opacity:1,scale:1},transition:{duration:.5,delay:.1},children:(0,g.jsx)(h.A,{staff:{name_en:(null===$||void 0===$?void 0:$.name_en)||"",name_zh:(null===$||void 0===$?void 0:$.name_zh)||"",position_en:(null===$||void 0===$?void 0:$.position_en)||b("staff.profile.permissions.defaultPosition"),position_zh:(null===$||void 0===$?void 0:$.position_zh)||b("staff.profile.permissions.defaultPosition"),department:null===$||void 0===$?void 0:$.department,bio_en:null===$||void 0===$?void 0:$.bio_en,bio_zh:null===$||void 0===$?void 0:$.bio_zh,avatarUrl:null===$||void 0===$?void 0:$.avatarUrl,email:null===C||void 0===C?void 0:C.email,phone:null===$||void 0===$?void 0:$.phone,linkedin:null===$||void 0===$?void 0:$.linkedin,github:null===$||void 0===$?void 0:$.github,wechat:null===$||void 0===$?void 0:$.wechat,mbti:null===$||void 0===$?void 0:$.mbti,status:null===$||void 0===$?void 0:$.status,username:null===C||void 0===C?void 0:C.username}})}),(0,g.jsx)(k,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},children:(0,g.jsxs)("form",{onSubmit:async e=>{if(e.preventDefault(),!q.name_en.trim()||!q.name_zh.trim()||!q.position_en.trim()||!q.position_zh.trim()||!q.department.trim())return Z(b("staff.profile.error.required")),void setTimeout((()=>Z("")),5e3);G(!0);try{const e={...q,name_en:q.name_en.trim(),name_zh:q.name_zh.trim(),position_en:q.position_en.trim(),position_zh:q.position_zh.trim(),department:q.department.trim(),bio_en:q.bio_en.trim(),bio_zh:q.bio_zh.trim(),email:q.email.trim(),linkedin:q.linkedin.trim(),github:q.github.trim(),wechat:q.wechat.trim(),phone:q.phone.trim(),mbti:q.mbti.trim()};await(0,m.Fd)(e),O(e),Z(b("staff.profile.saved")),L(!0),setTimeout((()=>Z("")),3e3),setTimeout((()=>L(!1)),2e3);const r=await(0,m.cR)();U(r)}catch(a){var r,i;console.error("Error saving profile:",a),Z((null===(r=a.response)||void 0===r||null===(i=r.data)||void 0===i?void 0:i.error)||b("staff.profile.error.saveFailed")),setTimeout((()=>Z("")),5e3)}finally{G(!1),Y&&L(!1)}},children:[(0,g.jsxs)(A,{children:[(0,g.jsxs)("div",{className:"avatar-container",children:[q.avatarUrl&&!K?(0,g.jsx)("img",{src:(0,m.u0)(q.avatarUrl),alt:"Avatar",className:"avatar",onError:()=>{ee(!0)}}):(0,g.jsx)("div",{className:"avatar-placeholder",children:null===C||void 0===C||null===(v=C.username)||void 0===v?void 0:v.charAt(0).toUpperCase()}),(0,g.jsx)("button",{type:"button",className:"upload-overlay",onClick:()=>{var e;return null===(e=R.current)||void 0===e?void 0:e.click()},disabled:W,children:W?(0,g.jsx)(d.Ohp,{className:"saving-icon"}):(0,g.jsx)(d.PoE,{})})]}),(0,g.jsx)("input",{ref:R,type:"file",accept:"image/*",onChange:async e=>{const r=e.target.files[0];if(r){if(Q(""),ee(!1),!r.type.startsWith("image/"))return Q(b("staff.profile.error.invalidFile")),void setTimeout((()=>Q("")),5e3);if(r.size>5242880)return Q(b("staff.profile.error.fileTooLarge")),void setTimeout((()=>Q("")),5e3);X(!0);try{const e=await(0,m.X)(r);O((r=>({...r,avatarUrl:e.avatarUrl})));const i=await(0,m.cR)();U(i),Z(b("staff.profile.avatarUploaded")),setTimeout((()=>Z("")),3e3)}catch(t){var i,a;console.error("Error uploading avatar:",t),Q((null===(i=t.response)||void 0===i||null===(a=i.data)||void 0===a?void 0:a.error)||b("staff.profile.error.uploadFailed")),setTimeout((()=>Q("")),5e3)}finally{X(!1)}}},className:"hidden-input"}),H&&(0,g.jsx)(o.P.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},style:{background:"#fee2e2",color:"#dc2626",padding:"0.5rem 0.75rem",borderRadius:"8px",marginTop:"0.5rem",textAlign:"center",fontSize:"0.85rem",fontWeight:"500",border:"1px solid #fecaca"},children:H})]}),(0,g.jsxs)(z,{children:[(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsxs)("label",{className:"label",children:[b("staff.profile.nameEn")," ",(0,g.jsx)("span",{className:"required",children:"*"})]}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.JXP,{className:"input-icon"}),(0,g.jsx)("input",{type:"text",name:"name_en",value:q.name_en,onChange:se,placeholder:b("staff.profile.nameEnPlaceholder"),required:!0})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsxs)("label",{className:"label",children:[b("staff.profile.nameZh")," ",(0,g.jsx)("span",{className:"required",children:"*"})]}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.JXP,{className:"input-icon"}),(0,g.jsx)("input",{type:"text",name:"name_zh",value:q.name_zh,onChange:se,placeholder:b("staff.profile.nameZhPlaceholder"),required:!0})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsxs)("label",{className:"label",children:[b("staff.profile.positionEn")," ",(0,g.jsx)("span",{className:"required",children:"*"})]}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.JXP,{className:"input-icon"}),(0,g.jsx)("input",{type:"text",name:"position_en",value:q.position_en,onChange:se,placeholder:b("staff.profile.positionEnPlaceholder"),required:!0})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsxs)("label",{className:"label",children:[b("staff.profile.positionZh")," ",(0,g.jsx)("span",{className:"required",children:"*"})]}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.JXP,{className:"input-icon"}),(0,g.jsx)("input",{type:"text",name:"position_zh",value:q.position_zh,onChange:se,placeholder:b("staff.profile.positionZhPlaceholder"),required:!0})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsxs)("label",{className:"label",children:[b("staff.profile.department")," ",(0,g.jsx)("span",{className:"required",children:"*"})]}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.JXP,{className:"input-icon"}),(0,g.jsxs)("select",{name:"department",value:q.department,onChange:se,required:!0,children:[(0,g.jsx)("option",{value:"",children:b("staff.profile.selectDepartment")}
1231),(0,g.jsx)("option",{value:"EXECUTIVE COMMITTEE",children:b("staff.profile.departments.executive_committee")}),(0,g.jsx)("option",{value:"ARTS & CULTURE GROUP",children:b("staff.profile.departments.arts")}),(0,g.jsx)("option",{value:"CAREER & ACADEMIC GROUP",children:b("staff.profile.departments.career")}),(0,g.jsx)("option",{value:"OPERATION GROUP",children:b("staff.profile.departments.operation")}),(0,g.jsx)("option",{value:"SUPPORT GROUP",children:b("staff.profile.departments.support")}),(0,g.jsx)("option",{value:"ENGAGEMENT",children:b("staff.profile.departments.engagement")})]})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{className:"label",children:b("staff.profile.email")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.pHD,{className:"input-icon"}),(0,g.jsx)("input",{type:"email",name:"email",value:q.email,onChange:se,placeholder:b("staff.profile.emailPlaceholder")})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{className:"label",children:b("staff.profile.phone")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.QFc,{className:"input-icon"}),(0,g.jsx)("input",{type:"tel",name:"phone",value:q.phone,onChange:se,placeholder:b("staff.profile.phonePlaceholder")})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{className:"label",children:b("staff.profile.linkedin")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.Wjy,{className:"input-icon"}),(0,g.jsx)("input",{type:"url",name:"linkedin",value:q.linkedin,onChange:se,placeholder:b("staff.profile.linkedinPlaceholder")})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{className:"label",children:b("staff.profile.github")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.BR8,{className:"input-icon"}),(0,g.jsx)("input",{type:"url",name:"github",value:q.github,onChange:se,placeholder:b("staff.profile.githubPlaceholder")})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{className:"label",children:b("staff.profile.wechat")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(c.mpG,{className:"input-icon"}),(0,g.jsx)("input",{type:"text",name:"wechat",value:q.wechat,onChange:se,placeholder:b("staff.profile.wechatPlaceholder")})]})]}),(0,g.jsxs)("div",{className:"form-group",children:[(0,g.jsx)("label",{className:"label",children:b("staff.profile.mbti")}),(0,g.jsxs)("div",{className:"input-wrapper",children:[(0,g.jsx)(d.JXP,{className:"input-icon"}),(0,g.jsxs)("select",{name:"mbti",value:q.mbti,onChange:se,children:[(0,g.jsx)("option",{value:"",children:b("staff.profile.mbtiPlaceholder")}),(0,g.jsx)("option",{value:"INTJ",children:"INTJ - The Architect"}),(0,g.jsx)("option",{value:"INTP",children:"INTP - The Thinker"}),(0,g.jsx)("option",{value:"ENTJ",children:"ENTJ - The Commander"}),(0,g.jsx)("option",{value:"ENTP",children:"ENTP - The Debater"}),(0,g.jsx)("option",{value:"INFJ",children:"INFJ - The Advocate"}),(0,g.jsx)("option",{value:"INFP",children:"INFP - The Mediator"}),(0,g.jsx)("option",{value:"ENFJ",children:"ENFJ - The Protagonist"}),(0,g.jsx)("option",{value:"ENFP",children:"ENFP - The Campaigner"}),(0,g.jsx)("option",{value:"ISTJ",children:"ISTJ - The Logistician"}),(0,g.jsx)("option",{value:"ISFJ",children:"ISFJ - The Protector"}),(0,g.jsx)("option",{value:"ESTJ",children:"ESTJ - The Executive"}),(0,g.jsx)("option",{value:"ESFJ",children:"ESFJ - The Consul"}),(0,g.jsx)("option",{value:"ISTP",children:"ISTP - The Virtuoso"}),(0,g.jsx)("option",{value:"ISFP",children:"ISFP - The Adventurer"}),(0,g.jsx)("option",{value:"ESTP",children:"ESTP - The Entrepreneur"}),(0,g.jsx)("option",{value:"ESFP",children:"ESFP - The Entertainer"}),(0,g.jsx)("option",{value:"INFJ-T",children:"INFJ-T - The Advocate (Turbulent)"}),(0,g.jsx)("option",{value:"INFJ-A",children:"INFJ-A - The Advocate (Assertive)"}),(0,g.jsx)("option",{value:"INTJ-T",children:"INTJ-T - The Architect (Turbulent)"}),(0,g.jsx)("option",{value:"INTJ-A",children:"INTJ-A - The Architect (Assertive)"}),(0,g.jsx)("option",{value:"INTP-T",children:"INTP-T - The Thinker (Turbulent)"}),(0,g.jsx)("option",{value:"INTP-A",children:"INTP-A - The Thinker (Assertive)"}),(0,g.jsx)("option",{value:"ENTJ-T",children:"ENTJ-T - The Commander (Turbulent)"}),(0,g.jsx)("option",{value:"ENTJ-A",children:"ENTJ-A - The Commander (Assertive)"}),(0,g.jsx)("option",{value:"ENTP-T",children:"ENTP-T - The Debater
1231(Turbulent)"}),(0,g.jsx)("option",{value:"ENTP-A",children:"ENTP-A - The Debater (Assertive)"}),(0,g.jsx)("option",{value:"INFP-T",children:"INFP-T - The Mediator (Turbulent)"}),(0,g.jsx)("option",{value:"INFP-A",children:"INFP-A - The Mediator (Assertive)"}),(0,g.jsx)("option",{value:"ENFJ-T",children:"ENFJ-T - The Protagonist (Turbulent)"}),(0,g.jsx)("option",{value:"ENFJ-A",children:"ENFJ-A - The Protagonist (Assertive)"}),(0,g.jsx)("option",{value:"ENFP-T",children:"ENFP-T - The Campaigner (Turbulent)"}),(0,g.jsx)("option",{value:"ENFP-A",children:"ENFP-A - The Campaigner (Assertive)"}),(0,g.jsx)("option",{value:"ISTJ-T",children:"ISTJ-T - The Logistician (Turbulent)"}),(0,g.jsx)("option",{value:"ISTJ-A",children:"ISTJ-A - The Logistician (Assertive)"}),(0,g.jsx)("option",{value:"ISFJ-T",children:"ISFJ-T - The Protector (Turbulent)"}),(0,g.jsx)("option",{value:"ISFJ-A",children:"ISFJ-A - The Protector (Assertive)"}),(0,g.jsx)("option",{value:"ESTJ-T",children:"ESTJ-T - The Executive (Turbulent)"}),(0,g.jsx)("option",{value:"ESTJ-A",children:"ESTJ-A - The Executive (Assertive)"}),(0,g.jsx)("option",{value:"ESFJ-T",children:"ESFJ-T - The Consul (Turbulent)"}),(0,g.jsx)("option",{value:"ESFJ-A",children:"ESFJ-A - The Consul (Assertive)"}),(0,g.jsx)("option",{value:"ISTP-T",children:"ISTP-T - The Virtuoso (Turbulent)"}),(0,g.jsx)("option",{value:"ISTP-A",children:"ISTP-A - The Virtuoso (Assertive)"}),(0,g.jsx)("option",{value:"ISFP-T",children:"ISFP-T - The Adventurer (Turbulent)"}),(0,g.jsx)("option",{value:"ISFP-A",children:"ISFP-A - The Adventurer (Assertive)"}),(0,g.jsx)("option",{value:"ESTP-T",children:"ESTP-T - The Entrepreneur (Turbulent)"}),(0,g.jsx)("option",{value:"ESTP-A",children:"ESTP-A - The Entrepreneur (Assertive)"}),(0,g.jsx)("option",{value:"ESFP-T",children:"ESFP-T - The Entertainer (Turbulent)"}),(0,g.jsx)("option",{value:"ESFP-A",children:"ESFP-A - The Entertainer (Assertive)"})]})]})]}),(0,g.jsxs)("div",{className:"form-group full-width",children:[(0,g.jsx)("label",{className:"label",children:b("staff.profile.bioEn")}),(0,g.jsx)("textarea",{name:"bio_en",value:q.bio_en,onChange:se,placeholder:b("staff.profile.bioEnPlaceholder")})]}),(0,g.jsxs)("div",{className:"form-group full-width",children:[(0,g.jsx)("label",{className:"label",children:b("staff.profile.bioZh")}),(0,g.jsx)("textarea",{name:"bio_zh",value:q.bio_zh,onChange:se,placeholder:b("staff.profile.bioZhPlaceholder")})]})]}),(0,g.jsxs)(E,{children:[V&&(0,g.jsx)(o.P.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},style:{background:V.includes("error")||V.includes("Error")||V.includes("failed")||V.includes("Failed")?"#fee2e2":"#dcfce7",color:V.includes("error")||V.includes("Error")||V.includes("failed")||V.includes("Failed")?"#dc2626":"#166534",padding:"0.75rem 1rem",borderRadius:"10px",marginBottom:"1rem",textAlign:"center",fontSize:"0.9rem",fontWeight:"500"},children:V}),(0,g.jsx)("button",{type:"submit",className:"submit-button",disabled:M,children:M?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(d.Ohp,{className:"saving-icon"}),b("staff.profile.saving")]}):Y?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(d.YrT,{className:"success-icon"}),b("staff.profile.saved")]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(d.Bc_,{}),b("staff.profile.save")]})})]})]})})]}),(0,g.jsx)(j,{isOpen:ae,onClose:()=>te(!1),onSuccess:()=>{te(!1)}})]})})}}]); 1232//# sourceMappingURL=368.4e77b911.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.