From 87d0a4fe125f219f9801bda34cb555b4b0a18569 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=A1=E8=8B=A5?= Date: Sun, 8 Mar 2026 16:15:03 +0800 Subject: [PATCH] =?UTF-8?q?sync:=20soul-admin=20=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E3=80=81=E5=BC=80=E5=8F=91=E6=96=87=E6=A1=A3=20=E9=9C=80?= =?UTF-8?q?=E6=B1=82=20|=20=E5=8E=9F=E5=9B=A0:=20=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9=E3=80=81=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soul-admin/dist/assets/index-BzA2vmbe.css | 1 + .../{index-djDJhJDC.js => index-C2WgYc3G.js} | 203 +++++++++--------- soul-admin/dist/assets/index-pe-kjH6p.css | 1 - soul-admin/dist/index.html | 4 +- .../1、需求/修改/images/2026-03-08-16-14-58.png | Bin 0 -> 243243 bytes 5 files changed, 102 insertions(+), 107 deletions(-) create mode 100644 soul-admin/dist/assets/index-BzA2vmbe.css rename soul-admin/dist/assets/{index-djDJhJDC.js => index-C2WgYc3G.js} (69%) delete mode 100644 soul-admin/dist/assets/index-pe-kjH6p.css create mode 100644 开发文档/1、需求/修改/images/2026-03-08-16-14-58.png diff --git a/soul-admin/dist/assets/index-BzA2vmbe.css b/soul-admin/dist/assets/index-BzA2vmbe.css new file mode 100644 index 00000000..81235673 --- /dev/null +++ b/soul-admin/dist/assets/index-BzA2vmbe.css @@ -0,0 +1 @@ +/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--blur-xl:24px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-2\.5{top:calc(var(--spacing)*-2.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-4{top:calc(var(--spacing)*4)}.top-16{top:calc(var(--spacing)*16)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1\/4{right:25%}.right-4{right:calc(var(--spacing)*4)}.bottom-1\/4{bottom:25%}.-left-2\.5{left:calc(var(--spacing)*-2.5)}.left-0{left:calc(var(--spacing)*0)}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.-mx-8{margin-inline:calc(var(--spacing)*-8)}.mx-20{margin-inline:calc(var(--spacing)*20)}.mx-auto{margin-inline:auto}.-mt-6{margin-top:calc(var(--spacing)*-6)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-96{height:calc(var(--spacing)*96)}.h-\[75vh\]{height:75vh}.h-auto{height:auto}.h-full{height:100%}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[250px\]{max-height:250px}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[32px\]{min-height:32px}.min-h-\[40px\]{min-height:40px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[120px\]{min-width:120px}.min-w-\[1024px\]{min-width:1024px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.scale-\[0\.98\]{scale:.98}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-gray-700\/50>:not(:last-child)){border-color:#36415380}@supports (color:color-mix(in lab,red,red)){:where(.divide-gray-700\/50>:not(:last-child)){border-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}:where(.divide-white\/5>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){:where(.divide-white\/5>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[\#07C160\]{border-color:#07c160}.border-\[\#07C160\]\/20{border-color:#07c16033}.border-\[\#07C160\]\/30{border-color:#07c1604d}.border-\[\#38bdac\]{border-color:#38bdac}.border-\[\#38bdac\]\/20{border-color:#38bdac33}.border-\[\#38bdac\]\/30{border-color:#38bdac4d}.border-\[\#38bdac\]\/40{border-color:#38bdac66}.border-\[\#38bdac\]\/50{border-color:#38bdac80}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500)40%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500)50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-blue-500\/40{border-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/40{border-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.border-blue-500\/50{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/50{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500)30%,transparent)}}.border-cyan-500\/40{border-color:#00b7d766}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/40{border-color:color-mix(in oklab,var(--color-cyan-500)40%,transparent)}}.border-gray-500{border-color:var(--color-gray-500)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-700\/30{border-color:#3641534d}@supports (color:color-mix(in lab,red,red)){.border-gray-700\/30{border-color:color-mix(in oklab,var(--color-gray-700)30%,transparent)}}.border-gray-700\/40{border-color:#36415366}@supports (color:color-mix(in lab,red,red)){.border-gray-700\/40{border-color:color-mix(in oklab,var(--color-gray-700)40%,transparent)}}.border-gray-700\/50{border-color:#36415380}@supports (color:color-mix(in lab,red,red)){.border-gray-700\/50{border-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-orange-500\/20{border-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/20{border-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500)30%,transparent)}}.border-orange-500\/40{border-color:#fe6e0066}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/40{border-color:color-mix(in oklab,var(--color-orange-500)40%,transparent)}}.border-orange-500\/50{border-color:#fe6e0080}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/50{border-color:color-mix(in oklab,var(--color-orange-500)50%,transparent)}}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/20{border-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500)30%,transparent)}}.border-purple-500\/40{border-color:#ac4bff66}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/40{border-color:color-mix(in oklab,var(--color-purple-500)40%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/30{border-color:color-mix(in oklab,var(--color-yellow-500)30%,transparent)}}.border-yellow-500\/40{border-color:#edb20066}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/40{border-color:color-mix(in oklab,var(--color-yellow-500)40%,transparent)}}.bg-\[\#0a1628\]{background-color:#0a1628}.bg-\[\#0a1628\]\/50{background-color:#0a162880}.bg-\[\#0f2137\]{background-color:#0f2137}.bg-\[\#00CED1\]{background-color:#00ced1}.bg-\[\#1C1C1E\]{background-color:#1c1c1e}.bg-\[\#07C160\]{background-color:#07c160}.bg-\[\#07C160\]\/5{background-color:#07c1600d}.bg-\[\#07C160\]\/10{background-color:#07c1601a}.bg-\[\#38bdac\]{background-color:#38bdac}.bg-\[\#38bdac\]\/5{background-color:#38bdac0d}.bg-\[\#38bdac\]\/10{background-color:#38bdac1a}.bg-\[\#38bdac\]\/15{background-color:#38bdac26}.bg-\[\#38bdac\]\/20{background-color:#38bdac33}.bg-\[\#38bdac\]\/30{background-color:#38bdac4d}.bg-\[\#38bdac\]\/60{background-color:#38bdac99}.bg-\[\#38bdac\]\/80{background-color:#38bdaccc}.bg-\[\#162840\]{background-color:#162840}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-600\/50{background-color:#4a556580}@supports (color:color-mix(in lab,red,red)){.bg-gray-600\/50{background-color:color-mix(in oklab,var(--color-gray-600)50%,transparent)}}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-700\/50{background-color:#36415380}@supports (color:color-mix(in lab,red,red)){.bg-gray-700\/50{background-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}.bg-gray-800{background-color:var(--color-gray-800)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#0f2137\]{--tw-gradient-from:#0f2137;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#00CED1\]{--tw-gradient-from:#00ced1;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#38bdac\]\/10{--tw-gradient-from:oklab(72.378% -.11483 -.0053193/.1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500\/20{--tw-gradient-from:#3080ff33}@supports (color:color-mix(in lab,red,red)){.from-blue-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.from-blue-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-500\/20{--tw-gradient-from:#00b7d733}@supports (color:color-mix(in lab,red,red)){.from-cyan-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.from-cyan-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-500\/20{--tw-gradient-from:#00c75833}@supports (color:color-mix(in lab,red,red)){.from-green-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.from-green-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500\/20{--tw-gradient-from:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.from-purple-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.from-purple-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-500\/20{--tw-gradient-from:#edb20033}@supports (color:color-mix(in lab,red,red)){.from-yellow-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.from-yellow-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#38bdac\]\/30{--tw-gradient-via:oklab(72.378% -.11483 -.0053193/.3);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#0f2137\]{--tw-gradient-to:#0f2137;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#20B2AA\]{--tw-gradient-to:#20b2aa;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#162d4a\]{--tw-gradient-to:#162d4a;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-500\/20{--tw-gradient-to:#f99c0033}@supports (color:color-mix(in lab,red,red)){.to-amber-500\/20{--tw-gradient-to:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.to-amber-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500\/5{--tw-gradient-to:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.to-cyan-500\/5{--tw-gradient-to:color-mix(in oklab,var(--color-cyan-500)5%,transparent)}}.to-cyan-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-500\/5{--tw-gradient-to:#00c7580d}@supports (color:color-mix(in lab,red,red)){.to-green-500\/5{--tw-gradient-to:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.to-green-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500\/5{--tw-gradient-to:#ac4bff0d}@supports (color:color-mix(in lab,red,red)){.to-purple-500\/5{--tw-gradient-to:color-mix(in oklab,var(--color-purple-500)5%,transparent)}}.to-purple-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-yellow-500\/5{--tw-gradient-to:#edb2000d}@supports (color:color-mix(in lab,red,red)){.to-yellow-500\/5{--tw-gradient-to:color-mix(in oklab,var(--color-yellow-500)5%,transparent)}}.to-yellow-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#00CED1\]{color:#00ced1}.text-\[\#07C160\]{color:#07c160}.text-\[\#07C160\]\/60{color:#07c16099}.text-\[\#07C160\]\/70{color:#07c160b3}.text-\[\#07C160\]\/80{color:#07c160cc}.text-\[\#26A17B\]{color:#26a17b}.text-\[\#38bdac\]{color:#38bdac}.text-\[\#38bdac\]\/30{color:#38bdac4d}.text-\[\#38bdac\]\/40{color:#38bdac66}.text-\[\#169BD7\]{color:#169bd7}.text-\[\#1677FF\]{color:#1677ff}.text-\[\#FFD700\]{color:gold}.text-amber-200{color:var(--color-amber-200)}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/30{color:#fcbb004d}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/30{color:color-mix(in oklab,var(--color-amber-400)30%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400)90%,transparent)}}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-blue-300\/60{color:#90c5ff99}@supports (color:color-mix(in lab,red,red)){.text-blue-300\/60{color:color-mix(in oklab,var(--color-blue-300)60%,transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-blue-400\/60{color:#54a2ff99}@supports (color:color-mix(in lab,red,red)){.text-blue-400\/60{color:color-mix(in oklab,var(--color-blue-400)60%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-orange-300{color:var(--color-orange-300)}.text-orange-300\/60{color:#ffb96d99}@supports (color:color-mix(in lab,red,red)){.text-orange-300\/60{color:color-mix(in oklab,var(--color-orange-300)60%,transparent)}}.text-orange-400{color:var(--color-orange-400)}.text-orange-400\/80{color:#ff8b1acc}@supports (color:color-mix(in lab,red,red)){.text-orange-400\/80{color:color-mix(in oklab,var(--color-orange-400)80%,transparent)}}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-400\/60{color:#fac80099}@supports (color:color-mix(in lab,red,red)){.text-yellow-400\/60{color:color-mix(in oklab,var(--color-yellow-400)60%,transparent)}}.text-yellow-500\/70{color:#edb200b3}@supports (color:color-mix(in lab,red,red)){.text-yellow-500\/70{color:color-mix(in oklab,var(--color-yellow-500)70%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[\#38bdac\]\/20{--tw-shadow-color:#38bdac33}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#38bdac\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(72.378% -.11483 -.0053193/.2) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#38bdac\]\/30{--tw-shadow-color:#38bdac4d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#38bdac\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(72.378% -.11483 -.0053193/.3) var(--tw-shadow-alpha),transparent)}}.ring-\[\#38bdac\]{--tw-ring-color:#38bdac}.ring-\[\#38bdac\]\/40{--tw-ring-color:oklab(72.378% -.11483 -.0053193/.4)}.ring-\[\#38bdac\]\/50{--tw-ring-color:oklab(72.378% -.11483 -.0053193/.5)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:text-\[\#38bdac\]:is(:where(.group):hover *){color:#38bdac}.group-hover\:text-gray-400:is(:where(.group):hover *){color:var(--color-gray-400)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-\[\#38bdac\]\/30:hover{border-color:#38bdac4d}.hover\:border-\[\#38bdac\]\/50:hover{border-color:#38bdac80}.hover\:border-\[\#38bdac\]\/60:hover{border-color:#38bdac99}.hover\:border-amber-500\/40:hover{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-500\/40:hover{border-color:color-mix(in oklab,var(--color-amber-500)40%,transparent)}}.hover\:border-blue-500\/50:hover{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.hover\:border-blue-500\/50:hover{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.hover\:border-blue-500\/60:hover{border-color:#3080ff99}@supports (color:color-mix(in lab,red,red)){.hover\:border-blue-500\/60:hover{border-color:color-mix(in oklab,var(--color-blue-500)60%,transparent)}}.hover\:border-gray-500:hover{border-color:var(--color-gray-500)}.hover\:border-gray-600:hover{border-color:var(--color-gray-600)}.hover\:border-yellow-500\/50:hover{border-color:#edb20080}@supports (color:color-mix(in lab,red,red)){.hover\:border-yellow-500\/50:hover{border-color:color-mix(in oklab,var(--color-yellow-500)50%,transparent)}}.hover\:border-yellow-500\/60:hover{border-color:#edb20099}@supports (color:color-mix(in lab,red,red)){.hover\:border-yellow-500\/60:hover{border-color:color-mix(in oklab,var(--color-yellow-500)60%,transparent)}}.hover\:bg-\[\#0a1628\]:hover{background-color:#0a1628}.hover\:bg-\[\#1a3050\]:hover{background-color:#1a3050}.hover\:bg-\[\#2da396\]:hover{background-color:#2da396}.hover\:bg-\[\#06AD51\]:hover{background-color:#06ad51}.hover\:bg-\[\#07C160\]\/10:hover{background-color:#07c1601a}.hover\:bg-\[\#20B2AA\]:hover{background-color:#20b2aa}.hover\:bg-\[\#38bdac\]\/10:hover{background-color:#38bdac1a}.hover\:bg-\[\#38bdac\]\/20:hover{background-color:#38bdac33}.hover\:bg-\[\#162840\]\/30:hover{background-color:#1628404d}.hover\:bg-\[\#162840\]\/50:hover{background-color:#16284080}.hover\:bg-amber-400\/10:hover{background-color:#fcbb001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-400\/10:hover{background-color:color-mix(in oklab,var(--color-amber-400)10%,transparent)}}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.hover\:bg-amber-500\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-blue-400\/10:hover{background-color:#54a2ff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-400\/10:hover{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.hover\:bg-blue-500\/20:hover{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-500\/20:hover{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.hover\:bg-gray-500:hover{background-color:var(--color-gray-500)}.hover\:bg-gray-500\/20:hover{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-500\/20:hover{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.hover\:bg-gray-700\/50:hover{background-color:#36415380}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-700\/50:hover{background-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-green-500\/20:hover{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.hover\:bg-green-500\/20:hover{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-orange-500\/20:hover{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-orange-500\/20:hover{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.hover\:bg-orange-600:hover{background-color:var(--color-orange-600)}.hover\:bg-purple-500\/10:hover{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-500\/10:hover{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.hover\:bg-purple-500\/20:hover{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-500\/20:hover{background-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.hover\:bg-purple-500\/30:hover{background-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-500\/30:hover{background-color:color-mix(in oklab,var(--color-purple-500)30%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-yellow-400\/10:hover{background-color:#fac8001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-yellow-400\/10:hover{background-color:color-mix(in oklab,var(--color-yellow-400)10%,transparent)}}.hover\:bg-yellow-500\/20:hover{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-yellow-500\/20:hover{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.hover\:text-\[\#38bdac\]:hover{color:#38bdac}.hover\:text-amber-300:hover{color:var(--color-amber-300)}.hover\:text-amber-400:hover{color:var(--color-amber-400)}.hover\:text-blue-400:hover{color:var(--color-blue-400)}.hover\:text-gray-300:hover{color:var(--color-gray-300)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-yellow-400:hover{color:var(--color-yellow-400)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-\[\#38bdac\]:focus{border-color:#38bdac}.focus\:bg-\[\#38bdac\]\/20:focus{background-color:#38bdac33}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#38bdac\]:focus{--tw-ring-color:#38bdac}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[\#38bdac\]:focus-visible{--tw-ring-color:#38bdac}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[\#0a1628\]:focus-visible{--tw-ring-offset-color:#0a1628}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=active\]\:bg-\[\#07C160\]\/20[data-state=active]{background-color:#07c16033}.data-\[state\=active\]\:bg-\[\#26A17B\]\/20[data-state=active]{background-color:#26a17b33}.data-\[state\=active\]\:bg-\[\#38bdac\]\/20[data-state=active]{background-color:#38bdac33}.data-\[state\=active\]\:bg-\[\#1677FF\]\/20[data-state=active]{background-color:#1677ff33}.data-\[state\=active\]\:bg-\[\#003087\]\/20[data-state=active]{background-color:#00308733}.data-\[state\=active\]\:font-medium[data-state=active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[state\=active\]\:text-\[\#07C160\][data-state=active]{color:#07c160}.data-\[state\=active\]\:text-\[\#26A17B\][data-state=active]{color:#26a17b}.data-\[state\=active\]\:text-\[\#38bdac\][data-state=active]{color:#38bdac}.data-\[state\=active\]\:text-\[\#169BD7\][data-state=active]{color:#169bd7}.data-\[state\=active\]\:text-\[\#1677FF\][data-state=active]{color:#1677ff}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-\[\#38bdac\][data-state=checked]{background-color:#38bdac}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-gray-600[data-state=unchecked]{background-color:var(--color-gray-600)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:64rem){.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}:root{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20% .02 240);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20% .02 240);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(65% .15 180);--primary-foreground:oklch(20% 0 0);--secondary:oklch(27% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27% 0 0);--muted-foreground:oklch(65% 0 0);--accent:oklch(27% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(55% .2 25);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(35% 0 0);--input:oklch(35% 0 0);--ring:oklch(65% .15 180);--radius:.625rem}body{font-family:var(--font-sans);color:var(--foreground);background:#0a1628}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/soul-admin/dist/assets/index-djDJhJDC.js b/soul-admin/dist/assets/index-C2WgYc3G.js similarity index 69% rename from soul-admin/dist/assets/index-djDJhJDC.js rename to soul-admin/dist/assets/index-C2WgYc3G.js index 33ffafb6..81cb81b4 100644 --- a/soul-admin/dist/assets/index-djDJhJDC.js +++ b/soul-admin/dist/assets/index-C2WgYc3G.js @@ -1,4 +1,4 @@ -function yv(r,a){for(var l=0;lo[c]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))o(c);new MutationObserver(c=>{for(const u of c)if(u.type==="childList")for(const m of u.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&o(m)}).observe(document,{childList:!0,subtree:!0});function l(c){const u={};return c.integrity&&(u.integrity=c.integrity),c.referrerPolicy&&(u.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?u.credentials="include":c.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(c){if(c.ep)return;c.ep=!0;const u=l(c);fetch(c.href,u)}})();function Tx(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var yd={exports:{}},Sl={},vd={exports:{}},Ze={};/** +function jv(r,a){for(var l=0;lo[c]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}(function(){const a=document.createElement("link").relList;if(a&&a.supports&&a.supports("modulepreload"))return;for(const c of document.querySelectorAll('link[rel="modulepreload"]'))o(c);new MutationObserver(c=>{for(const u of c)if(u.type==="childList")for(const m of u.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&o(m)}).observe(document,{childList:!0,subtree:!0});function l(c){const u={};return c.integrity&&(u.integrity=c.integrity),c.referrerPolicy&&(u.referrerPolicy=c.referrerPolicy),c.crossOrigin==="use-credentials"?u.credentials="include":c.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(c){if(c.ep)return;c.ep=!0;const u=l(c);fetch(c.href,u)}})();function Ix(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var yd={exports:{}},Sl={},vd={exports:{}},Ze={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ function yv(r,a){for(var l=0;l>>1,F=U[A];if(0>>1;Ac(G,K))dec(Q,G)?(U[A]=Q,U[de]=K,A=de):(U[A]=G,U[Z]=K,A=Z);else if(dec(Q,K))U[A]=Q,U[de]=K,A=de;else break e}}return ce}function c(U,ce){var K=U.sortIndex-ce.sortIndex;return K!==0?K:U.id-ce.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;r.unstable_now=function(){return u.now()}}else{var m=Date,f=m.now();r.unstable_now=function(){return m.now()-f}}var p=[],y=[],g=1,v=null,k=3,P=!1,T=!1,S=!1,N=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,w=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function j(U){for(var ce=l(y);ce!==null;){if(ce.callback===null)o(y);else if(ce.startTime<=U)o(y),ce.sortIndex=ce.expirationTime,a(p,ce);else break;ce=l(y)}}function _(U){if(S=!1,j(U),!T)if(l(p)!==null)T=!0,ie(D);else{var ce=l(y);ce!==null&&ve(_,ce.startTime-U)}}function D(U,ce){T=!1,S&&(S=!1,b(R),R=-1),P=!0;var K=k;try{for(j(ce),v=l(p);v!==null&&(!(v.expirationTime>ce)||U&&!ne());){var A=v.callback;if(typeof A=="function"){v.callback=null,k=v.priorityLevel;var F=A(v.expirationTime<=ce);ce=r.unstable_now(),typeof F=="function"?v.callback=F:v===l(p)&&o(p),j(ce)}else o(p);v=l(p)}if(v!==null)var O=!0;else{var Z=l(y);Z!==null&&ve(_,Z.startTime-ce),O=!1}return O}finally{v=null,k=K,P=!1}}var V=!1,I=null,R=-1,E=5,Y=-1;function ne(){return!(r.unstable_now()-YU||125A?(U.sortIndex=K,a(y,U),l(p)===null&&U===l(y)&&(S?(b(R),R=-1):S=!0,ve(_,K-A))):(U.sortIndex=F,a(p,U),T||P||(T=!0,ie(D))),U},r.unstable_shouldYield=ne,r.unstable_wrapCallback=function(U){var ce=k;return function(){var K=k;k=ce;try{return U.apply(this,arguments)}finally{k=K}}}})(Nd)),Nd}var wf;function wv(){return wf||(wf=1,bd.exports=Nv()),bd.exports}/** + */var Nf;function Sv(){return Nf||(Nf=1,(function(r){function a(V,ce){var K=V.length;V.push(ce);e:for(;0>>1,F=V[A];if(0>>1;Ac(Y,K))dec(Q,Y)?(V[A]=Q,V[de]=K,A=de):(V[A]=Y,V[Z]=K,A=Z);else if(dec(Q,K))V[A]=Q,V[de]=K,A=de;else break e}}return ce}function c(V,ce){var K=V.sortIndex-ce.sortIndex;return K!==0?K:V.id-ce.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;r.unstable_now=function(){return u.now()}}else{var m=Date,f=m.now();r.unstable_now=function(){return m.now()-f}}var p=[],y=[],g=1,v=null,C=3,P=!1,R=!1,N=!1,b=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function j(V){for(var ce=l(y);ce!==null;){if(ce.callback===null)o(y);else if(ce.startTime<=V)o(y),ce.sortIndex=ce.expirationTime,a(p,ce);else break;ce=l(y)}}function T(V){if(N=!1,j(V),!R)if(l(p)!==null)R=!0,ie(L);else{var ce=l(y);ce!==null&&ve(T,ce.startTime-V)}}function L(V,ce){R=!1,N&&(N=!1,w(I),I=-1),P=!0;var K=C;try{for(j(ce),v=l(p);v!==null&&(!(v.expirationTime>ce)||V&&!ne());){var A=v.callback;if(typeof A=="function"){v.callback=null,C=v.priorityLevel;var F=A(v.expirationTime<=ce);ce=r.unstable_now(),typeof F=="function"?v.callback=F:v===l(p)&&o(p),j(ce)}else o(p);v=l(p)}if(v!==null)var O=!0;else{var Z=l(y);Z!==null&&ve(T,Z.startTime-ce),O=!1}return O}finally{v=null,C=K,P=!1}}var $=!1,_=null,I=-1,E=5,G=-1;function ne(){return!(r.unstable_now()-GV||125A?(V.sortIndex=K,a(y,V),l(p)===null&&V===l(y)&&(N?(w(I),I=-1):N=!0,ve(T,K-A))):(V.sortIndex=F,a(p,V),R||P||(R=!0,ie(L))),V},r.unstable_shouldYield=ne,r.unstable_wrapCallback=function(V){var ce=C;return function(){var K=C;C=ce;try{return V.apply(this,arguments)}finally{C=K}}}})(Nd)),Nd}var wf;function Cv(){return wf||(wf=1,bd.exports=Sv()),bd.exports}/** * @license React * react-dom.production.min.js * @@ -30,14 +30,14 @@ function yv(r,a){for(var l=0;l"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,g={},v={};function k(t){return p.call(v,t)?!0:p.call(g,t)?!1:y.test(t)?v[t]=!0:(g[t]=!0,!1)}function P(t,s,n,i){if(n!==null&&n.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function T(t,s,n,i){if(s===null||typeof s>"u"||P(t,s,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function S(t,s,n,i,d,x,C){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=i,this.attributeNamespace=d,this.mustUseProperty=n,this.propertyName=t,this.type=s,this.sanitizeURL=x,this.removeEmptyString=C}var N={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){N[t]=new S(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var s=t[0];N[s]=new S(s,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){N[t]=new S(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){N[t]=new S(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){N[t]=new S(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){N[t]=new S(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){N[t]=new S(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){N[t]=new S(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){N[t]=new S(t,5,!1,t.toLowerCase(),null,!1,!1)});var b=/[\-:]([a-z])/g;function w(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var s=t.replace(b,w);N[s]=new S(s,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var s=t.replace(b,w);N[s]=new S(s,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var s=t.replace(b,w);N[s]=new S(s,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){N[t]=new S(t,1,!1,t.toLowerCase(),null,!1,!1)}),N.xlinkHref=new S("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){N[t]=new S(t,1,!1,t.toLowerCase(),null,!0,!0)});function j(t,s,n,i){var d=N.hasOwnProperty(s)?N[s]:null;(d!==null?d.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),p=Object.prototype.hasOwnProperty,y=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,g={},v={};function C(t){return p.call(v,t)?!0:p.call(g,t)?!1:y.test(t)?v[t]=!0:(g[t]=!0,!1)}function P(t,s,n,i){if(n!==null&&n.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return i?!1:n!==null?!n.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function R(t,s,n,i){if(s===null||typeof s>"u"||P(t,s,n,i))return!0;if(i)return!1;if(n!==null)switch(n.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function N(t,s,n,i,d,x,S){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=i,this.attributeNamespace=d,this.mustUseProperty=n,this.propertyName=t,this.type=s,this.sanitizeURL=x,this.removeEmptyString=S}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){b[t]=new N(t,0,!1,t,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var s=t[0];b[s]=new N(s,1,!1,t[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(t){b[t]=new N(t,2,!1,t.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){b[t]=new N(t,2,!1,t,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){b[t]=new N(t,3,!1,t.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(t){b[t]=new N(t,3,!0,t,null,!1,!1)}),["capture","download"].forEach(function(t){b[t]=new N(t,4,!1,t,null,!1,!1)}),["cols","rows","size","span"].forEach(function(t){b[t]=new N(t,6,!1,t,null,!1,!1)}),["rowSpan","start"].forEach(function(t){b[t]=new N(t,5,!1,t.toLowerCase(),null,!1,!1)});var w=/[\-:]([a-z])/g;function k(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var s=t.replace(w,k);b[s]=new N(s,1,!1,t,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var s=t.replace(w,k);b[s]=new N(s,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(t){var s=t.replace(w,k);b[s]=new N(s,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(t){b[t]=new N(t,1,!1,t.toLowerCase(),null,!1,!1)}),b.xlinkHref=new N("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(t){b[t]=new N(t,1,!1,t.toLowerCase(),null,!0,!0)});function j(t,s,n,i){var d=b.hasOwnProperty(s)?b[s]:null;(d!==null?d.type!==0:i||!(2M||d[C]!==x[M]){var B=` -`+d[C].replace(" at new "," at ");return t.displayName&&B.includes("")&&(B=B.replace("",t.displayName)),B}while(1<=C&&0<=M);break}}}finally{O=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?F(t):""}function G(t){switch(t.tag){case 5:return F(t.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return t=Z(t.type,!1),t;case 11:return t=Z(t.type.render,!1),t;case 1:return t=Z(t.type,!0),t;default:return""}}function de(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case I:return"Fragment";case V:return"Portal";case E:return"Profiler";case R:return"StrictMode";case q:return"Suspense";case se:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case ne:return(t.displayName||"Context")+".Consumer";case Y:return(t._context.displayName||"Context")+".Provider";case ae:var s=t.render;return t=t.displayName,t||(t=s.displayName||s.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case H:return s=t.displayName||null,s!==null?s:de(t.type)||"Memo";case ie:s=t._payload,t=t._init;try{return de(t(s))}catch{}}return null}function Q(t){var s=t.type;switch(t.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=s.render,t=t.displayName||t.name||"",s.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return de(s);case 8:return s===R?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function ge(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Se(t){var s=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function L(t){var s=Se(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,s),i=""+t[s];if(!t.hasOwnProperty(s)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var d=n.get,x=n.set;return Object.defineProperty(t,s,{configurable:!0,get:function(){return d.call(this)},set:function(C){i=""+C,x.call(this,C)}}),Object.defineProperty(t,s,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(C){i=""+C},stopTracking:function(){t._valueTracker=null,delete t[s]}}}}function fe(t){t._valueTracker||(t._valueTracker=L(t))}function ke(t){if(!t)return!1;var s=t._valueTracker;if(!s)return!0;var n=s.getValue(),i="";return t&&(i=Se(t)?t.checked?"true":"false":t.value),t=i,t!==n?(s.setValue(t),!0):!1}function Ve(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function We(t,s){var n=s.checked;return K({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Ye(t,s){var n=s.defaultValue==null?"":s.defaultValue,i=s.checked!=null?s.checked:s.defaultChecked;n=ge(s.value!=null?s.value:n),t._wrapperState={initialChecked:i,initialValue:n,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function tt(t,s){s=s.checked,s!=null&&j(t,"checked",s,!1)}function ze(t,s){tt(t,s);var n=ge(s.value),i=s.type;if(n!=null)i==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(i==="submit"||i==="reset"){t.removeAttribute("value");return}s.hasOwnProperty("value")?xe(t,s.type,n):s.hasOwnProperty("defaultValue")&&xe(t,s.type,ge(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(t.defaultChecked=!!s.defaultChecked)}function he(t,s,n){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var i=s.type;if(!(i!=="submit"&&i!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+t._wrapperState.initialValue,n||s===t.value||(t.value=s),t.defaultValue=s}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function xe(t,s,n){(s!=="number"||Ve(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var ft=Array.isArray;function es(t,s,n,i){if(t=t.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=gs.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;s.firstChild;)t.appendChild(s.firstChild)}});function mr(t,s){if(s){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=s;return}}t.textContent=s}var Cs={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Gn=["Webkit","ms","Moz","O"];Object.keys(Cs).forEach(function(t){Gn.forEach(function(s){s=s+t.charAt(0).toUpperCase()+t.substring(1),Cs[s]=Cs[t]})});function Yn(t,s,n){return s==null||typeof s=="boolean"||s===""?"":n||typeof s!="number"||s===0||Cs.hasOwnProperty(t)&&Cs[t]?(""+s).trim():s+"px"}function ks(t,s){t=t.style;for(var n in s)if(s.hasOwnProperty(n)){var i=n.indexOf("--")===0,d=Yn(n,s[n],i);n==="float"&&(n="cssFloat"),i?t.setProperty(n,d):t[n]=d}}var wn=K({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function fr(t,s){if(s){if(wn[t]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(l(137,t));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(l(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(l(61))}if(s.style!=null&&typeof s.style!="object")throw Error(l(62))}}function ys(t,s){if(t.indexOf("-")===-1)return typeof s.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ds=null;function Ls(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Sn=null,Es=null,Os=null;function Fs(t){if(t=cl(t)){if(typeof Sn!="function")throw Error(l(280));var s=t.stateNode;s&&(s=oi(s),Sn(t.stateNode,t.type,s))}}function Qn(t){Es?Os?Os.push(t):Os=[t]:Es=t}function qn(){if(Es){var t=Es,s=Os;if(Os=Es=null,Fs(t),s)for(t=0;t>>=0,t===0?32:31-(Ag(t)/Dg|0)|0}var Wl=64,Hl=4194304;function Ha(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Kl(t,s){var n=t.pendingLanes;if(n===0)return 0;var i=0,d=t.suspendedLanes,x=t.pingedLanes,C=n&268435455;if(C!==0){var M=C&~d;M!==0?i=Ha(M):(x&=C,x!==0&&(i=Ha(x)))}else C=n&~d,C!==0?i=Ha(C):x!==0&&(i=Ha(x));if(i===0)return 0;if(s!==0&&s!==i&&(s&d)===0&&(d=i&-i,x=s&-s,d>=x||d===16&&(x&4194240)!==0))return s;if((i&4)!==0&&(i|=n&16),s=t.entangledLanes,s!==0)for(t=t.entanglements,s&=i;0n;n++)s.push(t);return s}function Ka(t,s,n){t.pendingLanes|=s,s!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,s=31-Bs(s),t[s]=n}function zg(t,s){var n=t.pendingLanes&~s;t.pendingLanes=s,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=s,t.mutableReadLanes&=s,t.entangledLanes&=s,s=t.entanglements;var i=t.eventTimes;for(t=t.expirationTimes;0=el),dh=" ",uh=!1;function hh(t,s){switch(t){case"keyup":return my.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function mh(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var sa=!1;function xy(t,s){switch(t){case"compositionend":return mh(s);case"keypress":return s.which!==32?null:(uh=!0,dh);case"textInput":return t=s.data,t===dh&&uh?null:t;default:return null}}function py(t,s){if(sa)return t==="compositionend"||!Jo&&hh(t,s)?(t=nh(),Xl=Ko=Fr=null,sa=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:n,offset:s-t};t=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=jh(n)}}function Nh(t,s){return t&&s?t===s?!0:t&&t.nodeType===3?!1:s&&s.nodeType===3?Nh(t,s.parentNode):"contains"in t?t.contains(s):t.compareDocumentPosition?!!(t.compareDocumentPosition(s)&16):!1:!1}function wh(){for(var t=window,s=Ve();s instanceof t.HTMLIFrameElement;){try{var n=typeof s.contentWindow.location.href=="string"}catch{n=!1}if(n)t=s.contentWindow;else break;s=Ve(t.document)}return s}function tc(t){var s=t&&t.nodeName&&t.nodeName.toLowerCase();return s&&(s==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||s==="textarea"||t.contentEditable==="true")}function Cy(t){var s=wh(),n=t.focusedElem,i=t.selectionRange;if(s!==n&&n&&n.ownerDocument&&Nh(n.ownerDocument.documentElement,n)){if(i!==null&&tc(n)){if(s=i.start,t=i.end,t===void 0&&(t=s),"selectionStart"in n)n.selectionStart=s,n.selectionEnd=Math.min(t,n.value.length);else if(t=(s=n.ownerDocument||document)&&s.defaultView||window,t.getSelection){t=t.getSelection();var d=n.textContent.length,x=Math.min(i.start,d);i=i.end===void 0?x:Math.min(i.end,d),!t.extend&&x>i&&(d=i,i=x,x=d),d=bh(n,x);var C=bh(n,i);d&&C&&(t.rangeCount!==1||t.anchorNode!==d.node||t.anchorOffset!==d.offset||t.focusNode!==C.node||t.focusOffset!==C.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),t.removeAllRanges(),x>i?(t.addRange(s),t.extend(C.node,C.offset)):(s.setEnd(C.node,C.offset),t.addRange(s)))}}for(s=[],t=n;t=t.parentNode;)t.nodeType===1&&s.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,ra=null,sc=null,nl=null,rc=!1;function Sh(t,s,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;rc||ra==null||ra!==Ve(i)||(i=ra,"selectionStart"in i&&tc(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),nl&&rl(nl,i)||(nl=i,i=ai(sc,"onSelect"),0oa||(t.current=xc[oa],xc[oa]=null,oa--)}function ut(t,s){oa++,xc[oa]=t.current,t.current=s}var Ur={},Qt=Br(Ur),is=Br(!1),Tn=Ur;function ca(t,s){var n=t.type.contextTypes;if(!n)return Ur;var i=t.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===s)return i.__reactInternalMemoizedMaskedChildContext;var d={},x;for(x in n)d[x]=s[x];return i&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=s,t.__reactInternalMemoizedMaskedChildContext=d),d}function os(t){return t=t.childContextTypes,t!=null}function ci(){gt(is),gt(Qt)}function zh(t,s,n){if(Qt.current!==Ur)throw Error(l(168));ut(Qt,s),ut(is,n)}function $h(t,s,n){var i=t.stateNode;if(s=s.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var d in i)if(!(d in s))throw Error(l(108,Q(t)||"Unknown",d));return K({},n,i)}function di(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Ur,Tn=Qt.current,ut(Qt,t),ut(is,is.current),!0}function Bh(t,s,n){var i=t.stateNode;if(!i)throw Error(l(169));n?(t=$h(t,s,Tn),i.__reactInternalMemoizedMergedChildContext=t,gt(is),gt(Qt),ut(Qt,t)):gt(is),ut(is,n)}var gr=null,ui=!1,pc=!1;function Uh(t){gr===null?gr=[t]:gr.push(t)}function Oy(t){ui=!0,Uh(t)}function Vr(){if(!pc&&gr!==null){pc=!0;var t=0,s=it;try{var n=gr;for(it=1;t>=C,d-=C,yr=1<<32-Bs(s)+d|n<Ue?(Wt=Fe,Fe=null):Wt=Fe.sibling;var rt=ue(X,Fe,ee[Ue],je);if(rt===null){Fe===null&&(Fe=Wt);break}t&&Fe&&rt.alternate===null&&s(X,Fe),W=x(rt,W,Ue),Oe===null?De=rt:Oe.sibling=rt,Oe=rt,Fe=Wt}if(Ue===ee.length)return n(X,Fe),bt&&In(X,Ue),De;if(Fe===null){for(;UeUe?(Wt=Fe,Fe=null):Wt=Fe.sibling;var Jr=ue(X,Fe,rt.value,je);if(Jr===null){Fe===null&&(Fe=Wt);break}t&&Fe&&Jr.alternate===null&&s(X,Fe),W=x(Jr,W,Ue),Oe===null?De=Jr:Oe.sibling=Jr,Oe=Jr,Fe=Wt}if(rt.done)return n(X,Fe),bt&&In(X,Ue),De;if(Fe===null){for(;!rt.done;Ue++,rt=ee.next())rt=ye(X,rt.value,je),rt!==null&&(W=x(rt,W,Ue),Oe===null?De=rt:Oe.sibling=rt,Oe=rt);return bt&&In(X,Ue),De}for(Fe=i(X,Fe);!rt.done;Ue++,rt=ee.next())rt=Te(Fe,X,Ue,rt.value,je),rt!==null&&(t&&rt.alternate!==null&&Fe.delete(rt.key===null?Ue:rt.key),W=x(rt,W,Ue),Oe===null?De=rt:Oe.sibling=rt,Oe=rt);return t&&Fe.forEach(function(gv){return s(X,gv)}),bt&&In(X,Ue),De}function It(X,W,ee,je){if(typeof ee=="object"&&ee!==null&&ee.type===I&&ee.key===null&&(ee=ee.props.children),typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case D:e:{for(var De=ee.key,Oe=W;Oe!==null;){if(Oe.key===De){if(De=ee.type,De===I){if(Oe.tag===7){n(X,Oe.sibling),W=d(Oe,ee.props.children),W.return=X,X=W;break e}}else if(Oe.elementType===De||typeof De=="object"&&De!==null&&De.$$typeof===ie&&Yh(De)===Oe.type){n(X,Oe.sibling),W=d(Oe,ee.props),W.ref=dl(X,Oe,ee),W.return=X,X=W;break e}n(X,Oe);break}else s(X,Oe);Oe=Oe.sibling}ee.type===I?(W=zn(ee.props.children,X.mode,je,ee.key),W.return=X,X=W):(je=zi(ee.type,ee.key,ee.props,null,X.mode,je),je.ref=dl(X,W,ee),je.return=X,X=je)}return C(X);case V:e:{for(Oe=ee.key;W!==null;){if(W.key===Oe)if(W.tag===4&&W.stateNode.containerInfo===ee.containerInfo&&W.stateNode.implementation===ee.implementation){n(X,W.sibling),W=d(W,ee.children||[]),W.return=X,X=W;break e}else{n(X,W);break}else s(X,W);W=W.sibling}W=md(ee,X.mode,je),W.return=X,X=W}return C(X);case ie:return Oe=ee._init,It(X,W,Oe(ee._payload),je)}if(ft(ee))return Ie(X,W,ee,je);if(ce(ee))return Ae(X,W,ee,je);xi(X,ee)}return typeof ee=="string"&&ee!==""||typeof ee=="number"?(ee=""+ee,W!==null&&W.tag===6?(n(X,W.sibling),W=d(W,ee),W.return=X,X=W):(n(X,W),W=hd(ee,X.mode,je),W.return=X,X=W),C(X)):n(X,W)}return It}var ma=Qh(!0),qh=Qh(!1),pi=Br(null),gi=null,fa=null,Nc=null;function wc(){Nc=fa=gi=null}function Sc(t){var s=pi.current;gt(pi),t._currentValue=s}function Cc(t,s,n){for(;t!==null;){var i=t.alternate;if((t.childLanes&s)!==s?(t.childLanes|=s,i!==null&&(i.childLanes|=s)):i!==null&&(i.childLanes&s)!==s&&(i.childLanes|=s),t===n)break;t=t.return}}function xa(t,s){gi=t,Nc=fa=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&s)!==0&&(cs=!0),t.firstContext=null)}function Rs(t){var s=t._currentValue;if(Nc!==t)if(t={context:t,memoizedValue:s,next:null},fa===null){if(gi===null)throw Error(l(308));fa=t,gi.dependencies={lanes:0,firstContext:t}}else fa=fa.next=t;return s}var _n=null;function kc(t){_n===null?_n=[t]:_n.push(t)}function Xh(t,s,n,i){var d=s.interleaved;return d===null?(n.next=n,kc(s)):(n.next=d.next,d.next=n),s.interleaved=n,jr(t,i)}function jr(t,s){t.lanes|=s;var n=t.alternate;for(n!==null&&(n.lanes|=s),n=t,t=t.return;t!==null;)t.childLanes|=s,n=t.alternate,n!==null&&(n.childLanes|=s),n=t,t=t.return;return n.tag===3?n.stateNode:null}var Wr=!1;function Ec(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Jh(t,s){t=t.updateQueue,s.updateQueue===t&&(s.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function br(t,s){return{eventTime:t,lane:s,tag:0,payload:null,callback:null,next:null}}function Hr(t,s,n){var i=t.updateQueue;if(i===null)return null;if(i=i.shared,(st&2)!==0){var d=i.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),i.pending=s,jr(t,n)}return d=i.interleaved,d===null?(s.next=s,kc(i)):(s.next=d.next,d.next=s),i.interleaved=s,jr(t,n)}function yi(t,s,n){if(s=s.updateQueue,s!==null&&(s=s.shared,(n&4194240)!==0)){var i=s.lanes;i&=t.pendingLanes,n|=i,s.lanes=n,Bo(t,n)}}function Zh(t,s){var n=t.updateQueue,i=t.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var d=null,x=null;if(n=n.firstBaseUpdate,n!==null){do{var C={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};x===null?d=x=C:x=x.next=C,n=n.next}while(n!==null);x===null?d=x=s:x=x.next=s}else d=x=s;n={baseState:i.baseState,firstBaseUpdate:d,lastBaseUpdate:x,shared:i.shared,effects:i.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=s:t.next=s,n.lastBaseUpdate=s}function vi(t,s,n,i){var d=t.updateQueue;Wr=!1;var x=d.firstBaseUpdate,C=d.lastBaseUpdate,M=d.shared.pending;if(M!==null){d.shared.pending=null;var B=M,re=B.next;B.next=null,C===null?x=re:C.next=re,C=B;var me=t.alternate;me!==null&&(me=me.updateQueue,M=me.lastBaseUpdate,M!==C&&(M===null?me.firstBaseUpdate=re:M.next=re,me.lastBaseUpdate=B))}if(x!==null){var ye=d.baseState;C=0,me=re=B=null,M=x;do{var ue=M.lane,Te=M.eventTime;if((i&ue)===ue){me!==null&&(me=me.next={eventTime:Te,lane:0,tag:M.tag,payload:M.payload,callback:M.callback,next:null});e:{var Ie=t,Ae=M;switch(ue=s,Te=n,Ae.tag){case 1:if(Ie=Ae.payload,typeof Ie=="function"){ye=Ie.call(Te,ye,ue);break e}ye=Ie;break e;case 3:Ie.flags=Ie.flags&-65537|128;case 0:if(Ie=Ae.payload,ue=typeof Ie=="function"?Ie.call(Te,ye,ue):Ie,ue==null)break e;ye=K({},ye,ue);break e;case 2:Wr=!0}}M.callback!==null&&M.lane!==0&&(t.flags|=64,ue=d.effects,ue===null?d.effects=[M]:ue.push(M))}else Te={eventTime:Te,lane:ue,tag:M.tag,payload:M.payload,callback:M.callback,next:null},me===null?(re=me=Te,B=ye):me=me.next=Te,C|=ue;if(M=M.next,M===null){if(M=d.shared.pending,M===null)break;ue=M,M=ue.next,ue.next=null,d.lastBaseUpdate=ue,d.shared.pending=null}}while(!0);if(me===null&&(B=ye),d.baseState=B,d.firstBaseUpdate=re,d.lastBaseUpdate=me,s=d.shared.interleaved,s!==null){d=s;do C|=d.lane,d=d.next;while(d!==s)}else x===null&&(d.shared.lanes=0);Dn|=C,t.lanes=C,t.memoizedState=ye}}function em(t,s,n){if(t=s.effects,s.effects=null,t!==null)for(s=0;sn?n:4,t(!0);var i=_c.transition;_c.transition={};try{t(!1),s()}finally{it=n,_c.transition=i}}function vm(){return Is().memoizedState}function By(t,s,n){var i=Qr(t);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},jm(t))bm(s,n);else if(n=Xh(t,s,n,i),n!==null){var d=rs();Gs(n,t,i,d),Nm(n,s,i)}}function Uy(t,s,n){var i=Qr(t),d={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(jm(t))bm(s,d);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=s.lastRenderedReducer,x!==null))try{var C=s.lastRenderedState,M=x(C,n);if(d.hasEagerState=!0,d.eagerState=M,Us(M,C)){var B=s.interleaved;B===null?(d.next=d,kc(s)):(d.next=B.next,B.next=d),s.interleaved=d;return}}catch{}finally{}n=Xh(t,s,d,i),n!==null&&(d=rs(),Gs(n,t,i,d),Nm(n,s,i))}}function jm(t){var s=t.alternate;return t===St||s!==null&&s===St}function bm(t,s){fl=Ni=!0;var n=t.pending;n===null?s.next=s:(s.next=n.next,n.next=s),t.pending=s}function Nm(t,s,n){if((n&4194240)!==0){var i=s.lanes;i&=t.pendingLanes,n|=i,s.lanes=n,Bo(t,n)}}var Ci={readContext:Rs,useCallback:qt,useContext:qt,useEffect:qt,useImperativeHandle:qt,useInsertionEffect:qt,useLayoutEffect:qt,useMemo:qt,useReducer:qt,useRef:qt,useState:qt,useDebugValue:qt,useDeferredValue:qt,useTransition:qt,useMutableSource:qt,useSyncExternalStore:qt,useId:qt,unstable_isNewReconciler:!1},Vy={readContext:Rs,useCallback:function(t,s){return nr().memoizedState=[t,s===void 0?null:s],t},useContext:Rs,useEffect:um,useImperativeHandle:function(t,s,n){return n=n!=null?n.concat([t]):null,wi(4194308,4,fm.bind(null,s,t),n)},useLayoutEffect:function(t,s){return wi(4194308,4,t,s)},useInsertionEffect:function(t,s){return wi(4,2,t,s)},useMemo:function(t,s){var n=nr();return s=s===void 0?null:s,t=t(),n.memoizedState=[t,s],t},useReducer:function(t,s,n){var i=nr();return s=n!==void 0?n(s):s,i.memoizedState=i.baseState=s,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:s},i.queue=t,t=t.dispatch=By.bind(null,St,t),[i.memoizedState,t]},useRef:function(t){var s=nr();return t={current:t},s.memoizedState=t},useState:cm,useDebugValue:zc,useDeferredValue:function(t){return nr().memoizedState=t},useTransition:function(){var t=cm(!1),s=t[0];return t=$y.bind(null,t[1]),nr().memoizedState=t,[s,t]},useMutableSource:function(){},useSyncExternalStore:function(t,s,n){var i=St,d=nr();if(bt){if(n===void 0)throw Error(l(407));n=n()}else{if(n=s(),Vt===null)throw Error(l(349));(An&30)!==0||nm(i,s,n)}d.memoizedState=n;var x={value:n,getSnapshot:s};return d.queue=x,um(lm.bind(null,i,x,t),[t]),i.flags|=2048,gl(9,am.bind(null,i,x,n,s),void 0,null),n},useId:function(){var t=nr(),s=Vt.identifierPrefix;if(bt){var n=vr,i=yr;n=(i&~(1<<32-Bs(i)-1)).toString(32)+n,s=":"+s+"R"+n,n=xl++,0M||d[S]!==x[M]){var U=` +`+d[S].replace(" at new "," at ");return t.displayName&&U.includes("")&&(U=U.replace("",t.displayName)),U}while(1<=S&&0<=M);break}}}finally{O=!1,Error.prepareStackTrace=n}return(t=t?t.displayName||t.name:"")?F(t):""}function Y(t){switch(t.tag){case 5:return F(t.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return t=Z(t.type,!1),t;case 11:return t=Z(t.type.render,!1),t;case 1:return t=Z(t.type,!0),t;default:return""}}function de(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case _:return"Fragment";case $:return"Portal";case E:return"Profiler";case I:return"StrictMode";case q:return"Suspense";case se:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case ne:return(t.displayName||"Context")+".Consumer";case G:return(t._context.displayName||"Context")+".Provider";case ae:var s=t.render;return t=t.displayName,t||(t=s.displayName||s.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case H:return s=t.displayName||null,s!==null?s:de(t.type)||"Memo";case ie:s=t._payload,t=t._init;try{return de(t(s))}catch{}}return null}function Q(t){var s=t.type;switch(t.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=s.render,t=t.displayName||t.name||"",s.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return de(s);case 8:return s===I?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function ge(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function Se(t){var s=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function D(t){var s=Se(t)?"checked":"value",n=Object.getOwnPropertyDescriptor(t.constructor.prototype,s),i=""+t[s];if(!t.hasOwnProperty(s)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var d=n.get,x=n.set;return Object.defineProperty(t,s,{configurable:!0,get:function(){return d.call(this)},set:function(S){i=""+S,x.call(this,S)}}),Object.defineProperty(t,s,{enumerable:n.enumerable}),{getValue:function(){return i},setValue:function(S){i=""+S},stopTracking:function(){t._valueTracker=null,delete t[s]}}}}function fe(t){t._valueTracker||(t._valueTracker=D(t))}function ke(t){if(!t)return!1;var s=t._valueTracker;if(!s)return!0;var n=s.getValue(),i="";return t&&(i=Se(t)?t.checked?"true":"false":t.value),t=i,t!==n?(s.setValue(t),!0):!1}function Ve(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function We(t,s){var n=s.checked;return K({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??t._wrapperState.initialChecked})}function Ke(t,s){var n=s.defaultValue==null?"":s.defaultValue,i=s.checked!=null?s.checked:s.defaultChecked;n=ge(s.value!=null?s.value:n),t._wrapperState={initialChecked:i,initialValue:n,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function tt(t,s){s=s.checked,s!=null&&j(t,"checked",s,!1)}function ze(t,s){tt(t,s);var n=ge(s.value),i=s.type;if(n!=null)i==="number"?(n===0&&t.value===""||t.value!=n)&&(t.value=""+n):t.value!==""+n&&(t.value=""+n);else if(i==="submit"||i==="reset"){t.removeAttribute("value");return}s.hasOwnProperty("value")?xe(t,s.type,n):s.hasOwnProperty("defaultValue")&&xe(t,s.type,ge(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(t.defaultChecked=!!s.defaultChecked)}function he(t,s,n){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var i=s.type;if(!(i!=="submit"&&i!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+t._wrapperState.initialValue,n||s===t.value||(t.value=s),t.defaultValue=s}n=t.name,n!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,n!==""&&(t.name=n)}function xe(t,s,n){(s!=="number"||Ve(t.ownerDocument)!==t)&&(n==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+n&&(t.defaultValue=""+n))}var ft=Array.isArray;function es(t,s,n,i){if(t=t.options,s){s={};for(var d=0;d"+s.valueOf().toString()+"",s=gs.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;s.firstChild;)t.appendChild(s.firstChild)}});function mr(t,s){if(s){var n=t.firstChild;if(n&&n===t.lastChild&&n.nodeType===3){n.nodeValue=s;return}}t.textContent=s}var Cs={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Gn=["Webkit","ms","Moz","O"];Object.keys(Cs).forEach(function(t){Gn.forEach(function(s){s=s+t.charAt(0).toUpperCase()+t.substring(1),Cs[s]=Cs[t]})});function Yn(t,s,n){return s==null||typeof s=="boolean"||s===""?"":n||typeof s!="number"||s===0||Cs.hasOwnProperty(t)&&Cs[t]?(""+s).trim():s+"px"}function ks(t,s){t=t.style;for(var n in s)if(s.hasOwnProperty(n)){var i=n.indexOf("--")===0,d=Yn(n,s[n],i);n==="float"&&(n="cssFloat"),i?t.setProperty(n,d):t[n]=d}}var wn=K({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function fr(t,s){if(s){if(wn[t]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(l(137,t));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(l(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(l(61))}if(s.style!=null&&typeof s.style!="object")throw Error(l(62))}}function ys(t,s){if(t.indexOf("-")===-1)return typeof s.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Ds=null;function Ls(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Sn=null,Es=null,Os=null;function Fs(t){if(t=cl(t)){if(typeof Sn!="function")throw Error(l(280));var s=t.stateNode;s&&(s=oi(s),Sn(t.stateNode,t.type,s))}}function Qn(t){Es?Os?Os.push(t):Os=[t]:Es=t}function qn(){if(Es){var t=Es,s=Os;if(Os=Es=null,Fs(t),s)for(t=0;t>>=0,t===0?32:31-(Lg(t)/Og|0)|0}var Wl=64,Hl=4194304;function Ha(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function Kl(t,s){var n=t.pendingLanes;if(n===0)return 0;var i=0,d=t.suspendedLanes,x=t.pingedLanes,S=n&268435455;if(S!==0){var M=S&~d;M!==0?i=Ha(M):(x&=S,x!==0&&(i=Ha(x)))}else S=n&~d,S!==0?i=Ha(S):x!==0&&(i=Ha(x));if(i===0)return 0;if(s!==0&&s!==i&&(s&d)===0&&(d=i&-i,x=s&-s,d>=x||d===16&&(x&4194240)!==0))return s;if((i&4)!==0&&(i|=n&16),s=t.entangledLanes,s!==0)for(t=t.entanglements,s&=i;0n;n++)s.push(t);return s}function Ka(t,s,n){t.pendingLanes|=s,s!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,s=31-Bs(s),t[s]=n}function Bg(t,s){var n=t.pendingLanes&~s;t.pendingLanes=s,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=s,t.mutableReadLanes&=s,t.entangledLanes&=s,s=t.entanglements;var i=t.eventTimes;for(t=t.expirationTimes;0=el),dh=" ",uh=!1;function hh(t,s){switch(t){case"keyup":return xy.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function mh(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var sa=!1;function gy(t,s){switch(t){case"compositionend":return mh(s);case"keypress":return s.which!==32?null:(uh=!0,dh);case"textInput":return t=s.data,t===dh&&uh?null:t;default:return null}}function yy(t,s){if(sa)return t==="compositionend"||!Jo&&hh(t,s)?(t=nh(),Xl=Ko=Fr=null,sa=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1=s)return{node:n,offset:s-t};t=i}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=jh(n)}}function Nh(t,s){return t&&s?t===s?!0:t&&t.nodeType===3?!1:s&&s.nodeType===3?Nh(t,s.parentNode):"contains"in t?t.contains(s):t.compareDocumentPosition?!!(t.compareDocumentPosition(s)&16):!1:!1}function wh(){for(var t=window,s=Ve();s instanceof t.HTMLIFrameElement;){try{var n=typeof s.contentWindow.location.href=="string"}catch{n=!1}if(n)t=s.contentWindow;else break;s=Ve(t.document)}return s}function tc(t){var s=t&&t.nodeName&&t.nodeName.toLowerCase();return s&&(s==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||s==="textarea"||t.contentEditable==="true")}function Ey(t){var s=wh(),n=t.focusedElem,i=t.selectionRange;if(s!==n&&n&&n.ownerDocument&&Nh(n.ownerDocument.documentElement,n)){if(i!==null&&tc(n)){if(s=i.start,t=i.end,t===void 0&&(t=s),"selectionStart"in n)n.selectionStart=s,n.selectionEnd=Math.min(t,n.value.length);else if(t=(s=n.ownerDocument||document)&&s.defaultView||window,t.getSelection){t=t.getSelection();var d=n.textContent.length,x=Math.min(i.start,d);i=i.end===void 0?x:Math.min(i.end,d),!t.extend&&x>i&&(d=i,i=x,x=d),d=bh(n,x);var S=bh(n,i);d&&S&&(t.rangeCount!==1||t.anchorNode!==d.node||t.anchorOffset!==d.offset||t.focusNode!==S.node||t.focusOffset!==S.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),t.removeAllRanges(),x>i?(t.addRange(s),t.extend(S.node,S.offset)):(s.setEnd(S.node,S.offset),t.addRange(s)))}}for(s=[],t=n;t=t.parentNode;)t.nodeType===1&&s.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,ra=null,sc=null,nl=null,rc=!1;function Sh(t,s,n){var i=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;rc||ra==null||ra!==Ve(i)||(i=ra,"selectionStart"in i&&tc(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),nl&&rl(nl,i)||(nl=i,i=ai(sc,"onSelect"),0oa||(t.current=xc[oa],xc[oa]=null,oa--)}function ut(t,s){oa++,xc[oa]=t.current,t.current=s}var Ur={},Qt=Br(Ur),is=Br(!1),Tn=Ur;function ca(t,s){var n=t.type.contextTypes;if(!n)return Ur;var i=t.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===s)return i.__reactInternalMemoizedMaskedChildContext;var d={},x;for(x in n)d[x]=s[x];return i&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=s,t.__reactInternalMemoizedMaskedChildContext=d),d}function os(t){return t=t.childContextTypes,t!=null}function ci(){gt(is),gt(Qt)}function zh(t,s,n){if(Qt.current!==Ur)throw Error(l(168));ut(Qt,s),ut(is,n)}function $h(t,s,n){var i=t.stateNode;if(s=s.childContextTypes,typeof i.getChildContext!="function")return n;i=i.getChildContext();for(var d in i)if(!(d in s))throw Error(l(108,Q(t)||"Unknown",d));return K({},n,i)}function di(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||Ur,Tn=Qt.current,ut(Qt,t),ut(is,is.current),!0}function Bh(t,s,n){var i=t.stateNode;if(!i)throw Error(l(169));n?(t=$h(t,s,Tn),i.__reactInternalMemoizedMergedChildContext=t,gt(is),gt(Qt),ut(Qt,t)):gt(is),ut(is,n)}var gr=null,ui=!1,pc=!1;function Uh(t){gr===null?gr=[t]:gr.push(t)}function zy(t){ui=!0,Uh(t)}function Vr(){if(!pc&&gr!==null){pc=!0;var t=0,s=it;try{var n=gr;for(it=1;t>=S,d-=S,yr=1<<32-Bs(s)+d|n<Ue?(Wt=Fe,Fe=null):Wt=Fe.sibling;var rt=ue(X,Fe,ee[Ue],je);if(rt===null){Fe===null&&(Fe=Wt);break}t&&Fe&&rt.alternate===null&&s(X,Fe),W=x(rt,W,Ue),Oe===null?De=rt:Oe.sibling=rt,Oe=rt,Fe=Wt}if(Ue===ee.length)return n(X,Fe),bt&&In(X,Ue),De;if(Fe===null){for(;UeUe?(Wt=Fe,Fe=null):Wt=Fe.sibling;var Jr=ue(X,Fe,rt.value,je);if(Jr===null){Fe===null&&(Fe=Wt);break}t&&Fe&&Jr.alternate===null&&s(X,Fe),W=x(Jr,W,Ue),Oe===null?De=Jr:Oe.sibling=Jr,Oe=Jr,Fe=Wt}if(rt.done)return n(X,Fe),bt&&In(X,Ue),De;if(Fe===null){for(;!rt.done;Ue++,rt=ee.next())rt=ye(X,rt.value,je),rt!==null&&(W=x(rt,W,Ue),Oe===null?De=rt:Oe.sibling=rt,Oe=rt);return bt&&In(X,Ue),De}for(Fe=i(X,Fe);!rt.done;Ue++,rt=ee.next())rt=Te(Fe,X,Ue,rt.value,je),rt!==null&&(t&&rt.alternate!==null&&Fe.delete(rt.key===null?Ue:rt.key),W=x(rt,W,Ue),Oe===null?De=rt:Oe.sibling=rt,Oe=rt);return t&&Fe.forEach(function(vv){return s(X,vv)}),bt&&In(X,Ue),De}function It(X,W,ee,je){if(typeof ee=="object"&&ee!==null&&ee.type===_&&ee.key===null&&(ee=ee.props.children),typeof ee=="object"&&ee!==null){switch(ee.$$typeof){case L:e:{for(var De=ee.key,Oe=W;Oe!==null;){if(Oe.key===De){if(De=ee.type,De===_){if(Oe.tag===7){n(X,Oe.sibling),W=d(Oe,ee.props.children),W.return=X,X=W;break e}}else if(Oe.elementType===De||typeof De=="object"&&De!==null&&De.$$typeof===ie&&Yh(De)===Oe.type){n(X,Oe.sibling),W=d(Oe,ee.props),W.ref=dl(X,Oe,ee),W.return=X,X=W;break e}n(X,Oe);break}else s(X,Oe);Oe=Oe.sibling}ee.type===_?(W=zn(ee.props.children,X.mode,je,ee.key),W.return=X,X=W):(je=zi(ee.type,ee.key,ee.props,null,X.mode,je),je.ref=dl(X,W,ee),je.return=X,X=je)}return S(X);case $:e:{for(Oe=ee.key;W!==null;){if(W.key===Oe)if(W.tag===4&&W.stateNode.containerInfo===ee.containerInfo&&W.stateNode.implementation===ee.implementation){n(X,W.sibling),W=d(W,ee.children||[]),W.return=X,X=W;break e}else{n(X,W);break}else s(X,W);W=W.sibling}W=md(ee,X.mode,je),W.return=X,X=W}return S(X);case ie:return Oe=ee._init,It(X,W,Oe(ee._payload),je)}if(ft(ee))return Ie(X,W,ee,je);if(ce(ee))return Ae(X,W,ee,je);xi(X,ee)}return typeof ee=="string"&&ee!==""||typeof ee=="number"?(ee=""+ee,W!==null&&W.tag===6?(n(X,W.sibling),W=d(W,ee),W.return=X,X=W):(n(X,W),W=hd(ee,X.mode,je),W.return=X,X=W),S(X)):n(X,W)}return It}var ma=Qh(!0),qh=Qh(!1),pi=Br(null),gi=null,fa=null,Nc=null;function wc(){Nc=fa=gi=null}function Sc(t){var s=pi.current;gt(pi),t._currentValue=s}function Cc(t,s,n){for(;t!==null;){var i=t.alternate;if((t.childLanes&s)!==s?(t.childLanes|=s,i!==null&&(i.childLanes|=s)):i!==null&&(i.childLanes&s)!==s&&(i.childLanes|=s),t===n)break;t=t.return}}function xa(t,s){gi=t,Nc=fa=null,t=t.dependencies,t!==null&&t.firstContext!==null&&((t.lanes&s)!==0&&(cs=!0),t.firstContext=null)}function Rs(t){var s=t._currentValue;if(Nc!==t)if(t={context:t,memoizedValue:s,next:null},fa===null){if(gi===null)throw Error(l(308));fa=t,gi.dependencies={lanes:0,firstContext:t}}else fa=fa.next=t;return s}var _n=null;function kc(t){_n===null?_n=[t]:_n.push(t)}function Xh(t,s,n,i){var d=s.interleaved;return d===null?(n.next=n,kc(s)):(n.next=d.next,d.next=n),s.interleaved=n,jr(t,i)}function jr(t,s){t.lanes|=s;var n=t.alternate;for(n!==null&&(n.lanes|=s),n=t,t=t.return;t!==null;)t.childLanes|=s,n=t.alternate,n!==null&&(n.childLanes|=s),n=t,t=t.return;return n.tag===3?n.stateNode:null}var Wr=!1;function Ec(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Jh(t,s){t=t.updateQueue,s.updateQueue===t&&(s.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function br(t,s){return{eventTime:t,lane:s,tag:0,payload:null,callback:null,next:null}}function Hr(t,s,n){var i=t.updateQueue;if(i===null)return null;if(i=i.shared,(st&2)!==0){var d=i.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),i.pending=s,jr(t,n)}return d=i.interleaved,d===null?(s.next=s,kc(i)):(s.next=d.next,d.next=s),i.interleaved=s,jr(t,n)}function yi(t,s,n){if(s=s.updateQueue,s!==null&&(s=s.shared,(n&4194240)!==0)){var i=s.lanes;i&=t.pendingLanes,n|=i,s.lanes=n,Bo(t,n)}}function Zh(t,s){var n=t.updateQueue,i=t.alternate;if(i!==null&&(i=i.updateQueue,n===i)){var d=null,x=null;if(n=n.firstBaseUpdate,n!==null){do{var S={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};x===null?d=x=S:x=x.next=S,n=n.next}while(n!==null);x===null?d=x=s:x=x.next=s}else d=x=s;n={baseState:i.baseState,firstBaseUpdate:d,lastBaseUpdate:x,shared:i.shared,effects:i.effects},t.updateQueue=n;return}t=n.lastBaseUpdate,t===null?n.firstBaseUpdate=s:t.next=s,n.lastBaseUpdate=s}function vi(t,s,n,i){var d=t.updateQueue;Wr=!1;var x=d.firstBaseUpdate,S=d.lastBaseUpdate,M=d.shared.pending;if(M!==null){d.shared.pending=null;var U=M,re=U.next;U.next=null,S===null?x=re:S.next=re,S=U;var me=t.alternate;me!==null&&(me=me.updateQueue,M=me.lastBaseUpdate,M!==S&&(M===null?me.firstBaseUpdate=re:M.next=re,me.lastBaseUpdate=U))}if(x!==null){var ye=d.baseState;S=0,me=re=U=null,M=x;do{var ue=M.lane,Te=M.eventTime;if((i&ue)===ue){me!==null&&(me=me.next={eventTime:Te,lane:0,tag:M.tag,payload:M.payload,callback:M.callback,next:null});e:{var Ie=t,Ae=M;switch(ue=s,Te=n,Ae.tag){case 1:if(Ie=Ae.payload,typeof Ie=="function"){ye=Ie.call(Te,ye,ue);break e}ye=Ie;break e;case 3:Ie.flags=Ie.flags&-65537|128;case 0:if(Ie=Ae.payload,ue=typeof Ie=="function"?Ie.call(Te,ye,ue):Ie,ue==null)break e;ye=K({},ye,ue);break e;case 2:Wr=!0}}M.callback!==null&&M.lane!==0&&(t.flags|=64,ue=d.effects,ue===null?d.effects=[M]:ue.push(M))}else Te={eventTime:Te,lane:ue,tag:M.tag,payload:M.payload,callback:M.callback,next:null},me===null?(re=me=Te,U=ye):me=me.next=Te,S|=ue;if(M=M.next,M===null){if(M=d.shared.pending,M===null)break;ue=M,M=ue.next,ue.next=null,d.lastBaseUpdate=ue,d.shared.pending=null}}while(!0);if(me===null&&(U=ye),d.baseState=U,d.firstBaseUpdate=re,d.lastBaseUpdate=me,s=d.shared.interleaved,s!==null){d=s;do S|=d.lane,d=d.next;while(d!==s)}else x===null&&(d.shared.lanes=0);Dn|=S,t.lanes=S,t.memoizedState=ye}}function em(t,s,n){if(t=s.effects,s.effects=null,t!==null)for(s=0;sn?n:4,t(!0);var i=_c.transition;_c.transition={};try{t(!1),s()}finally{it=n,_c.transition=i}}function vm(){return Is().memoizedState}function Vy(t,s,n){var i=Qr(t);if(n={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null},jm(t))bm(s,n);else if(n=Xh(t,s,n,i),n!==null){var d=rs();Gs(n,t,i,d),Nm(n,s,i)}}function Wy(t,s,n){var i=Qr(t),d={lane:i,action:n,hasEagerState:!1,eagerState:null,next:null};if(jm(t))bm(s,d);else{var x=t.alternate;if(t.lanes===0&&(x===null||x.lanes===0)&&(x=s.lastRenderedReducer,x!==null))try{var S=s.lastRenderedState,M=x(S,n);if(d.hasEagerState=!0,d.eagerState=M,Us(M,S)){var U=s.interleaved;U===null?(d.next=d,kc(s)):(d.next=U.next,U.next=d),s.interleaved=d;return}}catch{}finally{}n=Xh(t,s,d,i),n!==null&&(d=rs(),Gs(n,t,i,d),Nm(n,s,i))}}function jm(t){var s=t.alternate;return t===St||s!==null&&s===St}function bm(t,s){fl=Ni=!0;var n=t.pending;n===null?s.next=s:(s.next=n.next,n.next=s),t.pending=s}function Nm(t,s,n){if((n&4194240)!==0){var i=s.lanes;i&=t.pendingLanes,n|=i,s.lanes=n,Bo(t,n)}}var Ci={readContext:Rs,useCallback:qt,useContext:qt,useEffect:qt,useImperativeHandle:qt,useInsertionEffect:qt,useLayoutEffect:qt,useMemo:qt,useReducer:qt,useRef:qt,useState:qt,useDebugValue:qt,useDeferredValue:qt,useTransition:qt,useMutableSource:qt,useSyncExternalStore:qt,useId:qt,unstable_isNewReconciler:!1},Hy={readContext:Rs,useCallback:function(t,s){return nr().memoizedState=[t,s===void 0?null:s],t},useContext:Rs,useEffect:um,useImperativeHandle:function(t,s,n){return n=n!=null?n.concat([t]):null,wi(4194308,4,fm.bind(null,s,t),n)},useLayoutEffect:function(t,s){return wi(4194308,4,t,s)},useInsertionEffect:function(t,s){return wi(4,2,t,s)},useMemo:function(t,s){var n=nr();return s=s===void 0?null:s,t=t(),n.memoizedState=[t,s],t},useReducer:function(t,s,n){var i=nr();return s=n!==void 0?n(s):s,i.memoizedState=i.baseState=s,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:s},i.queue=t,t=t.dispatch=Vy.bind(null,St,t),[i.memoizedState,t]},useRef:function(t){var s=nr();return t={current:t},s.memoizedState=t},useState:cm,useDebugValue:zc,useDeferredValue:function(t){return nr().memoizedState=t},useTransition:function(){var t=cm(!1),s=t[0];return t=Uy.bind(null,t[1]),nr().memoizedState=t,[s,t]},useMutableSource:function(){},useSyncExternalStore:function(t,s,n){var i=St,d=nr();if(bt){if(n===void 0)throw Error(l(407));n=n()}else{if(n=s(),Vt===null)throw Error(l(349));(An&30)!==0||nm(i,s,n)}d.memoizedState=n;var x={value:n,getSnapshot:s};return d.queue=x,um(lm.bind(null,i,x,t),[t]),i.flags|=2048,gl(9,am.bind(null,i,x,n,s),void 0,null),n},useId:function(){var t=nr(),s=Vt.identifierPrefix;if(bt){var n=vr,i=yr;n=(i&~(1<<32-Bs(i)-1)).toString(32)+n,s=":"+s+"R"+n,n=xl++,0<\/script>",t=t.removeChild(t.firstChild)):typeof i.is=="string"?t=C.createElement(n,{is:i.is}):(t=C.createElement(n),n==="select"&&(C=t,i.multiple?C.multiple=!0:i.size&&(C.size=i.size))):t=C.createElementNS(t,n),t[sr]=s,t[ol]=i,Um(t,s,!1,!1),s.stateNode=t;e:{switch(C=ys(n,i),n){case"dialog":pt("cancel",t),pt("close",t),d=i;break;case"iframe":case"object":case"embed":pt("load",t),d=i;break;case"video":case"audio":for(d=0;dja&&(s.flags|=128,i=!0,yl(x,!1),s.lanes=4194304)}else{if(!i)if(t=ji(C),t!==null){if(s.flags|=128,i=!0,n=t.updateQueue,n!==null&&(s.updateQueue=n,s.flags|=4),yl(x,!0),x.tail===null&&x.tailMode==="hidden"&&!C.alternate&&!bt)return Xt(s),null}else 2*dt()-x.renderingStartTime>ja&&n!==1073741824&&(s.flags|=128,i=!0,yl(x,!1),s.lanes=4194304);x.isBackwards?(C.sibling=s.child,s.child=C):(n=x.last,n!==null?n.sibling=C:s.child=C,x.last=C)}return x.tail!==null?(s=x.tail,x.rendering=s,x.tail=s.sibling,x.renderingStartTime=dt(),s.sibling=null,n=wt.current,ut(wt,i?n&1|2:n&1),s):(Xt(s),null);case 22:case 23:return cd(),i=s.memoizedState!==null,t!==null&&t.memoizedState!==null!==i&&(s.flags|=8192),i&&(s.mode&1)!==0?(Ns&1073741824)!==0&&(Xt(s),s.subtreeFlags&6&&(s.flags|=8192)):Xt(s),null;case 24:return null;case 25:return null}throw Error(l(156,s.tag))}function Xy(t,s){switch(yc(s),s.tag){case 1:return os(s.type)&&ci(),t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 3:return pa(),gt(is),gt(Qt),Ic(),t=s.flags,(t&65536)!==0&&(t&128)===0?(s.flags=t&-65537|128,s):null;case 5:return Tc(s),null;case 13:if(gt(wt),t=s.memoizedState,t!==null&&t.dehydrated!==null){if(s.alternate===null)throw Error(l(340));ha()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 19:return gt(wt),null;case 4:return pa(),null;case 10:return Sc(s.type._context),null;case 22:case 23:return cd(),null;case 24:return null;default:return null}}var Ti=!1,Jt=!1,Jy=typeof WeakSet=="function"?WeakSet:Set,Re=null;function ya(t,s){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){Tt(t,s,i)}else n.current=null}function Xc(t,s,n){try{n()}catch(i){Tt(t,s,i)}}var Hm=!1;function Zy(t,s){if(cc=Ql,t=wh(),tc(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var d=i.anchorOffset,x=i.focusNode;i=i.focusOffset;try{n.nodeType,x.nodeType}catch{n=null;break e}var C=0,M=-1,B=-1,re=0,me=0,ye=t,ue=null;t:for(;;){for(var Te;ye!==n||d!==0&&ye.nodeType!==3||(M=C+d),ye!==x||i!==0&&ye.nodeType!==3||(B=C+i),ye.nodeType===3&&(C+=ye.nodeValue.length),(Te=ye.firstChild)!==null;)ue=ye,ye=Te;for(;;){if(ye===t)break t;if(ue===n&&++re===d&&(M=C),ue===x&&++me===i&&(B=C),(Te=ye.nextSibling)!==null)break;ye=ue,ue=ye.parentNode}ye=Te}n=M===-1||B===-1?null:{start:M,end:B}}else n=null}n=n||{start:0,end:0}}else n=null;for(dc={focusedElem:t,selectionRange:n},Ql=!1,Re=s;Re!==null;)if(s=Re,t=s.child,(s.subtreeFlags&1028)!==0&&t!==null)t.return=s,Re=t;else for(;Re!==null;){s=Re;try{var Ie=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(Ie!==null){var Ae=Ie.memoizedProps,It=Ie.memoizedState,X=s.stateNode,W=X.getSnapshotBeforeUpdate(s.elementType===s.type?Ae:Ws(s.type,Ae),It);X.__reactInternalSnapshotBeforeUpdate=W}break;case 3:var ee=s.stateNode.containerInfo;ee.nodeType===1?ee.textContent="":ee.nodeType===9&&ee.documentElement&&ee.removeChild(ee.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(l(163))}}catch(je){Tt(s,s.return,je)}if(t=s.sibling,t!==null){t.return=s.return,Re=t;break}Re=s.return}return Ie=Hm,Hm=!1,Ie}function vl(t,s,n){var i=s.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var d=i=i.next;do{if((d.tag&t)===t){var x=d.destroy;d.destroy=void 0,x!==void 0&&Xc(s,n,x)}d=d.next}while(d!==i)}}function Ri(t,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var n=s=s.next;do{if((n.tag&t)===t){var i=n.create;n.destroy=i()}n=n.next}while(n!==s)}}function Jc(t){var s=t.ref;if(s!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof s=="function"?s(t):s.current=t}}function Km(t){var s=t.alternate;s!==null&&(t.alternate=null,Km(s)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(s=t.stateNode,s!==null&&(delete s[sr],delete s[ol],delete s[fc],delete s[Dy],delete s[Ly])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Gm(t){return t.tag===5||t.tag===3||t.tag===4}function Ym(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Gm(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Zc(t,s,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,s?n.nodeType===8?n.parentNode.insertBefore(t,s):n.insertBefore(t,s):(n.nodeType===8?(s=n.parentNode,s.insertBefore(t,n)):(s=n,s.appendChild(t)),n=n._reactRootContainer,n!=null||s.onclick!==null||(s.onclick=ii));else if(i!==4&&(t=t.child,t!==null))for(Zc(t,s,n),t=t.sibling;t!==null;)Zc(t,s,n),t=t.sibling}function ed(t,s,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,s?n.insertBefore(t,s):n.appendChild(t);else if(i!==4&&(t=t.child,t!==null))for(ed(t,s,n),t=t.sibling;t!==null;)ed(t,s,n),t=t.sibling}var Kt=null,Hs=!1;function Kr(t,s,n){for(n=n.child;n!==null;)Qm(t,s,n),n=n.sibling}function Qm(t,s,n){if(tr&&typeof tr.onCommitFiberUnmount=="function")try{tr.onCommitFiberUnmount(Vl,n)}catch{}switch(n.tag){case 5:Jt||ya(n,s);case 6:var i=Kt,d=Hs;Kt=null,Kr(t,s,n),Kt=i,Hs=d,Kt!==null&&(Hs?(t=Kt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Kt.removeChild(n.stateNode));break;case 18:Kt!==null&&(Hs?(t=Kt,n=n.stateNode,t.nodeType===8?mc(t.parentNode,n):t.nodeType===1&&mc(t,n),Xa(t)):mc(Kt,n.stateNode));break;case 4:i=Kt,d=Hs,Kt=n.stateNode.containerInfo,Hs=!0,Kr(t,s,n),Kt=i,Hs=d;break;case 0:case 11:case 14:case 15:if(!Jt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){d=i=i.next;do{var x=d,C=x.destroy;x=x.tag,C!==void 0&&((x&2)!==0||(x&4)!==0)&&Xc(n,s,C),d=d.next}while(d!==i)}Kr(t,s,n);break;case 1:if(!Jt&&(ya(n,s),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(M){Tt(n,s,M)}Kr(t,s,n);break;case 21:Kr(t,s,n);break;case 22:n.mode&1?(Jt=(i=Jt)||n.memoizedState!==null,Kr(t,s,n),Jt=i):Kr(t,s,n);break;default:Kr(t,s,n)}}function qm(t){var s=t.updateQueue;if(s!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new Jy),s.forEach(function(i){var d=ov.bind(null,t,i);n.has(i)||(n.add(i),i.then(d,d))})}}function Ks(t,s){var n=s.deletions;if(n!==null)for(var i=0;id&&(d=C),i&=~x}if(i=d,i=dt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*tv(i/1960))-i,10t?16:t,Yr===null)var i=!1;else{if(t=Yr,Yr=null,Di=0,(st&6)!==0)throw Error(l(331));var d=st;for(st|=4,Re=t.current;Re!==null;){var x=Re,C=x.child;if((Re.flags&16)!==0){var M=x.deletions;if(M!==null){for(var B=0;Bdt()-rd?On(t,0):sd|=n),us(t,s)}function df(t,s){s===0&&((t.mode&1)===0?s=1:(s=Hl,Hl<<=1,(Hl&130023424)===0&&(Hl=4194304)));var n=rs();t=jr(t,s),t!==null&&(Ka(t,s,n),us(t,n))}function iv(t){var s=t.memoizedState,n=0;s!==null&&(n=s.retryLane),df(t,n)}function ov(t,s){var n=0;switch(t.tag){case 13:var i=t.stateNode,d=t.memoizedState;d!==null&&(n=d.retryLane);break;case 19:i=t.stateNode;break;default:throw Error(l(314))}i!==null&&i.delete(s),df(t,n)}var uf;uf=function(t,s,n){if(t!==null)if(t.memoizedProps!==s.pendingProps||is.current)cs=!0;else{if((t.lanes&n)===0&&(s.flags&128)===0)return cs=!1,Qy(t,s,n);cs=(t.flags&131072)!==0}else cs=!1,bt&&(s.flags&1048576)!==0&&Vh(s,mi,s.index);switch(s.lanes=0,s.tag){case 2:var i=s.type;Pi(t,s),t=s.pendingProps;var d=ca(s,Qt.current);xa(s,n),d=Ac(null,s,i,t,d,n);var x=Dc();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,os(i)?(x=!0,di(s)):x=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,Ec(s),d.updater=ki,s.stateNode=d,d._reactInternals=s,Bc(s,i,t,n),s=Hc(null,s,i,!0,x,n)):(s.tag=0,bt&&x&&gc(s),ss(null,s,d,n),s=s.child),s;case 16:i=s.elementType;e:{switch(Pi(t,s),t=s.pendingProps,d=i._init,i=d(i._payload),s.type=i,d=s.tag=dv(i),t=Ws(i,t),d){case 0:s=Wc(null,s,i,t,n);break e;case 1:s=Lm(null,s,i,t,n);break e;case 11:s=Im(null,s,i,t,n);break e;case 14:s=_m(null,s,i,Ws(i.type,t),n);break e}throw Error(l(306,i,""))}return s;case 0:return i=s.type,d=s.pendingProps,d=s.elementType===i?d:Ws(i,d),Wc(t,s,i,d,n);case 1:return i=s.type,d=s.pendingProps,d=s.elementType===i?d:Ws(i,d),Lm(t,s,i,d,n);case 3:e:{if(Om(s),t===null)throw Error(l(387));i=s.pendingProps,x=s.memoizedState,d=x.element,Jh(t,s),vi(s,i,null,n);var C=s.memoizedState;if(i=C.element,x.isDehydrated)if(x={element:i,isDehydrated:!1,cache:C.cache,pendingSuspenseBoundaries:C.pendingSuspenseBoundaries,transitions:C.transitions},s.updateQueue.baseState=x,s.memoizedState=x,s.flags&256){d=ga(Error(l(423)),s),s=Fm(t,s,i,n,d);break e}else if(i!==d){d=ga(Error(l(424)),s),s=Fm(t,s,i,n,d);break e}else for(bs=$r(s.stateNode.containerInfo.firstChild),js=s,bt=!0,Vs=null,n=qh(s,null,i,n),s.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ha(),i===d){s=Nr(t,s,n);break e}ss(t,s,i,n)}s=s.child}return s;case 5:return tm(s),t===null&&jc(s),i=s.type,d=s.pendingProps,x=t!==null?t.memoizedProps:null,C=d.children,uc(i,d)?C=null:x!==null&&uc(i,x)&&(s.flags|=32),Dm(t,s),ss(t,s,C,n),s.child;case 6:return t===null&&jc(s),null;case 13:return zm(t,s,n);case 4:return Pc(s,s.stateNode.containerInfo),i=s.pendingProps,t===null?s.child=ma(s,null,i,n):ss(t,s,i,n),s.child;case 11:return i=s.type,d=s.pendingProps,d=s.elementType===i?d:Ws(i,d),Im(t,s,i,d,n);case 7:return ss(t,s,s.pendingProps,n),s.child;case 8:return ss(t,s,s.pendingProps.children,n),s.child;case 12:return ss(t,s,s.pendingProps.children,n),s.child;case 10:e:{if(i=s.type._context,d=s.pendingProps,x=s.memoizedProps,C=d.value,ut(pi,i._currentValue),i._currentValue=C,x!==null)if(Us(x.value,C)){if(x.children===d.children&&!is.current){s=Nr(t,s,n);break e}}else for(x=s.child,x!==null&&(x.return=s);x!==null;){var M=x.dependencies;if(M!==null){C=x.child;for(var B=M.firstContext;B!==null;){if(B.context===i){if(x.tag===1){B=br(-1,n&-n),B.tag=2;var re=x.updateQueue;if(re!==null){re=re.shared;var me=re.pending;me===null?B.next=B:(B.next=me.next,me.next=B),re.pending=B}}x.lanes|=n,B=x.alternate,B!==null&&(B.lanes|=n),Cc(x.return,n,s),M.lanes|=n;break}B=B.next}}else if(x.tag===10)C=x.type===s.type?null:x.child;else if(x.tag===18){if(C=x.return,C===null)throw Error(l(341));C.lanes|=n,M=C.alternate,M!==null&&(M.lanes|=n),Cc(C,n,s),C=x.sibling}else C=x.child;if(C!==null)C.return=x;else for(C=x;C!==null;){if(C===s){C=null;break}if(x=C.sibling,x!==null){x.return=C.return,C=x;break}C=C.return}x=C}ss(t,s,d.children,n),s=s.child}return s;case 9:return d=s.type,i=s.pendingProps.children,xa(s,n),d=Rs(d),i=i(d),s.flags|=1,ss(t,s,i,n),s.child;case 14:return i=s.type,d=Ws(i,s.pendingProps),d=Ws(i.type,d),_m(t,s,i,d,n);case 15:return Mm(t,s,s.type,s.pendingProps,n);case 17:return i=s.type,d=s.pendingProps,d=s.elementType===i?d:Ws(i,d),Pi(t,s),s.tag=1,os(i)?(t=!0,di(s)):t=!1,xa(s,n),Sm(s,i,d),Bc(s,i,d,n),Hc(null,s,i,!0,t,n);case 19:return Bm(t,s,n);case 22:return Am(t,s,n)}throw Error(l(156,s.tag))};function hf(t,s){return $(t,s)}function cv(t,s,n,i){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ms(t,s,n,i){return new cv(t,s,n,i)}function ud(t){return t=t.prototype,!(!t||!t.isReactComponent)}function dv(t){if(typeof t=="function")return ud(t)?1:0;if(t!=null){if(t=t.$$typeof,t===ae)return 11;if(t===H)return 14}return 2}function Xr(t,s){var n=t.alternate;return n===null?(n=Ms(t.tag,s,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=s,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,s=t.dependencies,n.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function zi(t,s,n,i,d,x){var C=2;if(i=t,typeof t=="function")ud(t)&&(C=1);else if(typeof t=="string")C=5;else e:switch(t){case I:return zn(n.children,d,x,s);case R:C=8,d|=8;break;case E:return t=Ms(12,n,s,d|2),t.elementType=E,t.lanes=x,t;case q:return t=Ms(13,n,s,d),t.elementType=q,t.lanes=x,t;case se:return t=Ms(19,n,s,d),t.elementType=se,t.lanes=x,t;case ve:return $i(n,d,x,s);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case Y:C=10;break e;case ne:C=9;break e;case ae:C=11;break e;case H:C=14;break e;case ie:C=16,i=null;break e}throw Error(l(130,t==null?t:typeof t,""))}return s=Ms(C,n,s,d),s.elementType=t,s.type=i,s.lanes=x,s}function zn(t,s,n,i){return t=Ms(7,t,i,s),t.lanes=n,t}function $i(t,s,n,i){return t=Ms(22,t,i,s),t.elementType=ve,t.lanes=n,t.stateNode={isHidden:!1},t}function hd(t,s,n){return t=Ms(6,t,null,s),t.lanes=n,t}function md(t,s,n){return s=Ms(4,t.children!==null?t.children:[],t.key,s),s.lanes=n,s.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},s}function uv(t,s,n,i,d){this.tag=s,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=$o(0),this.expirationTimes=$o(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$o(0),this.identifierPrefix=i,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function fd(t,s,n,i,d,x,C,M,B){return t=new uv(t,s,n,M,B),s===1?(s=1,x===!0&&(s|=8)):s=0,x=Ms(3,null,null,s),t.current=x,x.stateNode=t,x.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ec(x),t}function hv(t,s,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(a){console.error(a)}}return r(),jd.exports=Sv(),jd.exports}var kf;function Cv(){if(kf)return Gi;kf=1;var r=Rx();return Gi.createRoot=r.createRoot,Gi.hydrateRoot=r.hydrateRoot,Gi}var kv=Cv(),Ol=Rx();const Ev=Tx(Ol);/** +`+x.stack}return{value:t,source:s,stack:d,digest:null}}function Uc(t,s,n){return{value:t,source:null,stack:n??null,digest:s??null}}function Vc(t,s){try{console.error(s.value)}catch(n){setTimeout(function(){throw n})}}var Yy=typeof WeakMap=="function"?WeakMap:Map;function km(t,s,n){n=br(-1,n),n.tag=3,n.payload={element:null};var i=s.value;return n.callback=function(){Mi||(Mi=!0,nd=i),Vc(t,s)},n}function Em(t,s,n){n=br(-1,n),n.tag=3;var i=t.type.getDerivedStateFromError;if(typeof i=="function"){var d=s.value;n.payload=function(){return i(d)},n.callback=function(){Vc(t,s)}}var x=t.stateNode;return x!==null&&typeof x.componentDidCatch=="function"&&(n.callback=function(){Vc(t,s),typeof i!="function"&&(Gr===null?Gr=new Set([this]):Gr.add(this));var S=s.stack;this.componentDidCatch(s.value,{componentStack:S!==null?S:""})}),n}function Pm(t,s,n){var i=t.pingCache;if(i===null){i=t.pingCache=new Yy;var d=new Set;i.set(s,d)}else d=i.get(s),d===void 0&&(d=new Set,i.set(s,d));d.has(n)||(d.add(n),t=ov.bind(null,t,s,n),s.then(t,t))}function Tm(t){do{var s;if((s=t.tag===13)&&(s=t.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return t;t=t.return}while(t!==null);return null}function Rm(t,s,n,i,d){return(t.mode&1)===0?(t===s?t.flags|=65536:(t.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(s=br(-1,1),s.tag=2,Hr(n,s,1))),n.lanes|=1),t):(t.flags|=65536,t.lanes=d,t)}var Qy=T.ReactCurrentOwner,cs=!1;function ss(t,s,n,i){s.child=t===null?qh(s,null,n,i):ma(s,t.child,n,i)}function Im(t,s,n,i,d){n=n.render;var x=s.ref;return xa(s,d),i=Ac(t,s,n,i,x,d),n=Dc(),t!==null&&!cs?(s.updateQueue=t.updateQueue,s.flags&=-2053,t.lanes&=~d,Nr(t,s,d)):(bt&&n&&gc(s),s.flags|=1,ss(t,s,i,d),s.child)}function _m(t,s,n,i,d){if(t===null){var x=n.type;return typeof x=="function"&&!ud(x)&&x.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(s.tag=15,s.type=x,Mm(t,s,x,i,d)):(t=zi(n.type,null,i,s,s.mode,d),t.ref=s.ref,t.return=s,s.child=t)}if(x=t.child,(t.lanes&d)===0){var S=x.memoizedProps;if(n=n.compare,n=n!==null?n:rl,n(S,i)&&t.ref===s.ref)return Nr(t,s,d)}return s.flags|=1,t=Xr(x,i),t.ref=s.ref,t.return=s,s.child=t}function Mm(t,s,n,i,d){if(t!==null){var x=t.memoizedProps;if(rl(x,i)&&t.ref===s.ref)if(cs=!1,s.pendingProps=i=x,(t.lanes&d)!==0)(t.flags&131072)!==0&&(cs=!0);else return s.lanes=t.lanes,Nr(t,s,d)}return Wc(t,s,n,i,d)}function Am(t,s,n){var i=s.pendingProps,d=i.children,x=t!==null?t.memoizedState:null;if(i.mode==="hidden")if((s.mode&1)===0)s.memoizedState={baseLanes:0,cachePool:null,transitions:null},ut(va,Ns),Ns|=n;else{if((n&1073741824)===0)return t=x!==null?x.baseLanes|n:n,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:t,cachePool:null,transitions:null},s.updateQueue=null,ut(va,Ns),Ns|=t,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=x!==null?x.baseLanes:n,ut(va,Ns),Ns|=i}else x!==null?(i=x.baseLanes|n,s.memoizedState=null):i=n,ut(va,Ns),Ns|=i;return ss(t,s,d,n),s.child}function Dm(t,s){var n=s.ref;(t===null&&n!==null||t!==null&&t.ref!==n)&&(s.flags|=512,s.flags|=2097152)}function Wc(t,s,n,i,d){var x=os(n)?Tn:Qt.current;return x=ca(s,x),xa(s,d),n=Ac(t,s,n,i,x,d),i=Dc(),t!==null&&!cs?(s.updateQueue=t.updateQueue,s.flags&=-2053,t.lanes&=~d,Nr(t,s,d)):(bt&&i&&gc(s),s.flags|=1,ss(t,s,n,d),s.child)}function Lm(t,s,n,i,d){if(os(n)){var x=!0;di(s)}else x=!1;if(xa(s,d),s.stateNode===null)Pi(t,s),Sm(s,n,i),Bc(s,n,i,d),i=!0;else if(t===null){var S=s.stateNode,M=s.memoizedProps;S.props=M;var U=S.context,re=n.contextType;typeof re=="object"&&re!==null?re=Rs(re):(re=os(n)?Tn:Qt.current,re=ca(s,re));var me=n.getDerivedStateFromProps,ye=typeof me=="function"||typeof S.getSnapshotBeforeUpdate=="function";ye||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(M!==i||U!==re)&&Cm(s,S,i,re),Wr=!1;var ue=s.memoizedState;S.state=ue,vi(s,i,S,d),U=s.memoizedState,M!==i||ue!==U||is.current||Wr?(typeof me=="function"&&($c(s,n,me,i),U=s.memoizedState),(M=Wr||wm(s,n,M,i,ue,U,re))?(ye||typeof S.UNSAFE_componentWillMount!="function"&&typeof S.componentWillMount!="function"||(typeof S.componentWillMount=="function"&&S.componentWillMount(),typeof S.UNSAFE_componentWillMount=="function"&&S.UNSAFE_componentWillMount()),typeof S.componentDidMount=="function"&&(s.flags|=4194308)):(typeof S.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=i,s.memoizedState=U),S.props=i,S.state=U,S.context=re,i=M):(typeof S.componentDidMount=="function"&&(s.flags|=4194308),i=!1)}else{S=s.stateNode,Jh(t,s),M=s.memoizedProps,re=s.type===s.elementType?M:Ws(s.type,M),S.props=re,ye=s.pendingProps,ue=S.context,U=n.contextType,typeof U=="object"&&U!==null?U=Rs(U):(U=os(n)?Tn:Qt.current,U=ca(s,U));var Te=n.getDerivedStateFromProps;(me=typeof Te=="function"||typeof S.getSnapshotBeforeUpdate=="function")||typeof S.UNSAFE_componentWillReceiveProps!="function"&&typeof S.componentWillReceiveProps!="function"||(M!==ye||ue!==U)&&Cm(s,S,i,U),Wr=!1,ue=s.memoizedState,S.state=ue,vi(s,i,S,d);var Ie=s.memoizedState;M!==ye||ue!==Ie||is.current||Wr?(typeof Te=="function"&&($c(s,n,Te,i),Ie=s.memoizedState),(re=Wr||wm(s,n,re,i,ue,Ie,U)||!1)?(me||typeof S.UNSAFE_componentWillUpdate!="function"&&typeof S.componentWillUpdate!="function"||(typeof S.componentWillUpdate=="function"&&S.componentWillUpdate(i,Ie,U),typeof S.UNSAFE_componentWillUpdate=="function"&&S.UNSAFE_componentWillUpdate(i,Ie,U)),typeof S.componentDidUpdate=="function"&&(s.flags|=4),typeof S.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof S.componentDidUpdate!="function"||M===t.memoizedProps&&ue===t.memoizedState||(s.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||M===t.memoizedProps&&ue===t.memoizedState||(s.flags|=1024),s.memoizedProps=i,s.memoizedState=Ie),S.props=i,S.state=Ie,S.context=U,i=re):(typeof S.componentDidUpdate!="function"||M===t.memoizedProps&&ue===t.memoizedState||(s.flags|=4),typeof S.getSnapshotBeforeUpdate!="function"||M===t.memoizedProps&&ue===t.memoizedState||(s.flags|=1024),i=!1)}return Hc(t,s,n,i,x,d)}function Hc(t,s,n,i,d,x){Dm(t,s);var S=(s.flags&128)!==0;if(!i&&!S)return d&&Bh(s,n,!1),Nr(t,s,x);i=s.stateNode,Qy.current=s;var M=S&&typeof n.getDerivedStateFromError!="function"?null:i.render();return s.flags|=1,t!==null&&S?(s.child=ma(s,t.child,null,x),s.child=ma(s,null,M,x)):ss(t,s,M,x),s.memoizedState=i.state,d&&Bh(s,n,!0),s.child}function Om(t){var s=t.stateNode;s.pendingContext?zh(t,s.pendingContext,s.pendingContext!==s.context):s.context&&zh(t,s.context,!1),Pc(t,s.containerInfo)}function Fm(t,s,n,i,d){return ha(),bc(d),s.flags|=256,ss(t,s,n,i),s.child}var Kc={dehydrated:null,treeContext:null,retryLane:0};function Gc(t){return{baseLanes:t,cachePool:null,transitions:null}}function zm(t,s,n){var i=s.pendingProps,d=wt.current,x=!1,S=(s.flags&128)!==0,M;if((M=S)||(M=t!==null&&t.memoizedState===null?!1:(d&2)!==0),M?(x=!0,s.flags&=-129):(t===null||t.memoizedState!==null)&&(d|=1),ut(wt,d&1),t===null)return jc(s),t=s.memoizedState,t!==null&&(t=t.dehydrated,t!==null)?((s.mode&1)===0?s.lanes=1:t.data==="$!"?s.lanes=8:s.lanes=1073741824,null):(S=i.children,t=i.fallback,x?(i=s.mode,x=s.child,S={mode:"hidden",children:S},(i&1)===0&&x!==null?(x.childLanes=0,x.pendingProps=S):x=$i(S,i,0,null),t=zn(t,i,n,null),x.return=s,t.return=s,x.sibling=t,s.child=x,s.child.memoizedState=Gc(n),s.memoizedState=Kc,t):Yc(s,S));if(d=t.memoizedState,d!==null&&(M=d.dehydrated,M!==null))return qy(t,s,S,i,M,d,n);if(x){x=i.fallback,S=s.mode,d=t.child,M=d.sibling;var U={mode:"hidden",children:i.children};return(S&1)===0&&s.child!==d?(i=s.child,i.childLanes=0,i.pendingProps=U,s.deletions=null):(i=Xr(d,U),i.subtreeFlags=d.subtreeFlags&14680064),M!==null?x=Xr(M,x):(x=zn(x,S,n,null),x.flags|=2),x.return=s,i.return=s,i.sibling=x,s.child=i,i=x,x=s.child,S=t.child.memoizedState,S=S===null?Gc(n):{baseLanes:S.baseLanes|n,cachePool:null,transitions:S.transitions},x.memoizedState=S,x.childLanes=t.childLanes&~n,s.memoizedState=Kc,i}return x=t.child,t=x.sibling,i=Xr(x,{mode:"visible",children:i.children}),(s.mode&1)===0&&(i.lanes=n),i.return=s,i.sibling=null,t!==null&&(n=s.deletions,n===null?(s.deletions=[t],s.flags|=16):n.push(t)),s.child=i,s.memoizedState=null,i}function Yc(t,s){return s=$i({mode:"visible",children:s},t.mode,0,null),s.return=t,t.child=s}function Ei(t,s,n,i){return i!==null&&bc(i),ma(s,t.child,null,n),t=Yc(s,s.pendingProps.children),t.flags|=2,s.memoizedState=null,t}function qy(t,s,n,i,d,x,S){if(n)return s.flags&256?(s.flags&=-257,i=Uc(Error(l(422))),Ei(t,s,S,i)):s.memoizedState!==null?(s.child=t.child,s.flags|=128,null):(x=i.fallback,d=s.mode,i=$i({mode:"visible",children:i.children},d,0,null),x=zn(x,d,S,null),x.flags|=2,i.return=s,x.return=s,i.sibling=x,s.child=i,(s.mode&1)!==0&&ma(s,t.child,null,S),s.child.memoizedState=Gc(S),s.memoizedState=Kc,x);if((s.mode&1)===0)return Ei(t,s,S,null);if(d.data==="$!"){if(i=d.nextSibling&&d.nextSibling.dataset,i)var M=i.dgst;return i=M,x=Error(l(419)),i=Uc(x,i,void 0),Ei(t,s,S,i)}if(M=(S&t.childLanes)!==0,cs||M){if(i=Vt,i!==null){switch(S&-S){case 4:d=2;break;case 16:d=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:d=32;break;case 536870912:d=268435456;break;default:d=0}d=(d&(i.suspendedLanes|S))!==0?0:d,d!==0&&d!==x.retryLane&&(x.retryLane=d,jr(t,d),Gs(i,t,d,-1))}return dd(),i=Uc(Error(l(421))),Ei(t,s,S,i)}return d.data==="$?"?(s.flags|=128,s.child=t.child,s=cv.bind(null,t),d._reactRetry=s,null):(t=x.treeContext,bs=$r(d.nextSibling),js=s,bt=!0,Vs=null,t!==null&&(Ps[Ts++]=yr,Ps[Ts++]=vr,Ps[Ts++]=Rn,yr=t.id,vr=t.overflow,Rn=s),s=Yc(s,i.children),s.flags|=4096,s)}function $m(t,s,n){t.lanes|=s;var i=t.alternate;i!==null&&(i.lanes|=s),Cc(t.return,s,n)}function Qc(t,s,n,i,d){var x=t.memoizedState;x===null?t.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:d}:(x.isBackwards=s,x.rendering=null,x.renderingStartTime=0,x.last=i,x.tail=n,x.tailMode=d)}function Bm(t,s,n){var i=s.pendingProps,d=i.revealOrder,x=i.tail;if(ss(t,s,i.children,n),i=wt.current,(i&2)!==0)i=i&1|2,s.flags|=128;else{if(t!==null&&(t.flags&128)!==0)e:for(t=s.child;t!==null;){if(t.tag===13)t.memoizedState!==null&&$m(t,n,s);else if(t.tag===19)$m(t,n,s);else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===s)break e;for(;t.sibling===null;){if(t.return===null||t.return===s)break e;t=t.return}t.sibling.return=t.return,t=t.sibling}i&=1}if(ut(wt,i),(s.mode&1)===0)s.memoizedState=null;else switch(d){case"forwards":for(n=s.child,d=null;n!==null;)t=n.alternate,t!==null&&ji(t)===null&&(d=n),n=n.sibling;n=d,n===null?(d=s.child,s.child=null):(d=n.sibling,n.sibling=null),Qc(s,!1,d,n,x);break;case"backwards":for(n=null,d=s.child,s.child=null;d!==null;){if(t=d.alternate,t!==null&&ji(t)===null){s.child=d;break}t=d.sibling,d.sibling=n,n=d,d=t}Qc(s,!0,n,null,x);break;case"together":Qc(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Pi(t,s){(s.mode&1)===0&&t!==null&&(t.alternate=null,s.alternate=null,s.flags|=2)}function Nr(t,s,n){if(t!==null&&(s.dependencies=t.dependencies),Dn|=s.lanes,(n&s.childLanes)===0)return null;if(t!==null&&s.child!==t.child)throw Error(l(153));if(s.child!==null){for(t=s.child,n=Xr(t,t.pendingProps),s.child=n,n.return=s;t.sibling!==null;)t=t.sibling,n=n.sibling=Xr(t,t.pendingProps),n.return=s;n.sibling=null}return s.child}function Xy(t,s,n){switch(s.tag){case 3:Om(s),ha();break;case 5:tm(s);break;case 1:os(s.type)&&di(s);break;case 4:Pc(s,s.stateNode.containerInfo);break;case 10:var i=s.type._context,d=s.memoizedProps.value;ut(pi,i._currentValue),i._currentValue=d;break;case 13:if(i=s.memoizedState,i!==null)return i.dehydrated!==null?(ut(wt,wt.current&1),s.flags|=128,null):(n&s.child.childLanes)!==0?zm(t,s,n):(ut(wt,wt.current&1),t=Nr(t,s,n),t!==null?t.sibling:null);ut(wt,wt.current&1);break;case 19:if(i=(n&s.childLanes)!==0,(t.flags&128)!==0){if(i)return Bm(t,s,n);s.flags|=128}if(d=s.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),ut(wt,wt.current),i)break;return null;case 22:case 23:return s.lanes=0,Am(t,s,n)}return Nr(t,s,n)}var Um,qc,Vm,Wm;Um=function(t,s){for(var n=s.child;n!==null;){if(n.tag===5||n.tag===6)t.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===s)break;for(;n.sibling===null;){if(n.return===null||n.return===s)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},qc=function(){},Vm=function(t,s,n,i){var d=t.memoizedProps;if(d!==i){t=s.stateNode,Mn(rr.current);var x=null;switch(n){case"input":d=We(t,d),i=We(t,i),x=[];break;case"select":d=K({},d,{value:void 0}),i=K({},i,{value:void 0}),x=[];break;case"textarea":d=hr(t,d),i=hr(t,i),x=[];break;default:typeof d.onClick!="function"&&typeof i.onClick=="function"&&(t.onclick=ii)}fr(n,i);var S;n=null;for(re in d)if(!i.hasOwnProperty(re)&&d.hasOwnProperty(re)&&d[re]!=null)if(re==="style"){var M=d[re];for(S in M)M.hasOwnProperty(S)&&(n||(n={}),n[S]="")}else re!=="dangerouslySetInnerHTML"&&re!=="children"&&re!=="suppressContentEditableWarning"&&re!=="suppressHydrationWarning"&&re!=="autoFocus"&&(c.hasOwnProperty(re)?x||(x=[]):(x=x||[]).push(re,null));for(re in i){var U=i[re];if(M=d!=null?d[re]:void 0,i.hasOwnProperty(re)&&U!==M&&(U!=null||M!=null))if(re==="style")if(M){for(S in M)!M.hasOwnProperty(S)||U&&U.hasOwnProperty(S)||(n||(n={}),n[S]="");for(S in U)U.hasOwnProperty(S)&&M[S]!==U[S]&&(n||(n={}),n[S]=U[S])}else n||(x||(x=[]),x.push(re,n)),n=U;else re==="dangerouslySetInnerHTML"?(U=U?U.__html:void 0,M=M?M.__html:void 0,U!=null&&M!==U&&(x=x||[]).push(re,U)):re==="children"?typeof U!="string"&&typeof U!="number"||(x=x||[]).push(re,""+U):re!=="suppressContentEditableWarning"&&re!=="suppressHydrationWarning"&&(c.hasOwnProperty(re)?(U!=null&&re==="onScroll"&&pt("scroll",t),x||M===U||(x=[])):(x=x||[]).push(re,U))}n&&(x=x||[]).push("style",n);var re=x;(s.updateQueue=re)&&(s.flags|=4)}},Wm=function(t,s,n,i){n!==i&&(s.flags|=4)};function yl(t,s){if(!bt)switch(t.tailMode){case"hidden":s=t.tail;for(var n=null;s!==null;)s.alternate!==null&&(n=s),s=s.sibling;n===null?t.tail=null:n.sibling=null;break;case"collapsed":n=t.tail;for(var i=null;n!==null;)n.alternate!==null&&(i=n),n=n.sibling;i===null?s||t.tail===null?t.tail=null:t.tail.sibling=null:i.sibling=null}}function Xt(t){var s=t.alternate!==null&&t.alternate.child===t.child,n=0,i=0;if(s)for(var d=t.child;d!==null;)n|=d.lanes|d.childLanes,i|=d.subtreeFlags&14680064,i|=d.flags&14680064,d.return=t,d=d.sibling;else for(d=t.child;d!==null;)n|=d.lanes|d.childLanes,i|=d.subtreeFlags,i|=d.flags,d.return=t,d=d.sibling;return t.subtreeFlags|=i,t.childLanes=n,s}function Jy(t,s,n){var i=s.pendingProps;switch(yc(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Xt(s),null;case 1:return os(s.type)&&ci(),Xt(s),null;case 3:return i=s.stateNode,pa(),gt(is),gt(Qt),Ic(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(t===null||t.child===null)&&(fi(s)?s.flags|=4:t===null||t.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,Vs!==null&&(id(Vs),Vs=null))),qc(t,s),Xt(s),null;case 5:Tc(s);var d=Mn(ml.current);if(n=s.type,t!==null&&s.stateNode!=null)Vm(t,s,n,i,d),t.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!i){if(s.stateNode===null)throw Error(l(166));return Xt(s),null}if(t=Mn(rr.current),fi(s)){i=s.stateNode,n=s.type;var x=s.memoizedProps;switch(i[sr]=s,i[ol]=x,t=(s.mode&1)!==0,n){case"dialog":pt("cancel",i),pt("close",i);break;case"iframe":case"object":case"embed":pt("load",i);break;case"video":case"audio":for(d=0;d<\/script>",t=t.removeChild(t.firstChild)):typeof i.is=="string"?t=S.createElement(n,{is:i.is}):(t=S.createElement(n),n==="select"&&(S=t,i.multiple?S.multiple=!0:i.size&&(S.size=i.size))):t=S.createElementNS(t,n),t[sr]=s,t[ol]=i,Um(t,s,!1,!1),s.stateNode=t;e:{switch(S=ys(n,i),n){case"dialog":pt("cancel",t),pt("close",t),d=i;break;case"iframe":case"object":case"embed":pt("load",t),d=i;break;case"video":case"audio":for(d=0;dja&&(s.flags|=128,i=!0,yl(x,!1),s.lanes=4194304)}else{if(!i)if(t=ji(S),t!==null){if(s.flags|=128,i=!0,n=t.updateQueue,n!==null&&(s.updateQueue=n,s.flags|=4),yl(x,!0),x.tail===null&&x.tailMode==="hidden"&&!S.alternate&&!bt)return Xt(s),null}else 2*dt()-x.renderingStartTime>ja&&n!==1073741824&&(s.flags|=128,i=!0,yl(x,!1),s.lanes=4194304);x.isBackwards?(S.sibling=s.child,s.child=S):(n=x.last,n!==null?n.sibling=S:s.child=S,x.last=S)}return x.tail!==null?(s=x.tail,x.rendering=s,x.tail=s.sibling,x.renderingStartTime=dt(),s.sibling=null,n=wt.current,ut(wt,i?n&1|2:n&1),s):(Xt(s),null);case 22:case 23:return cd(),i=s.memoizedState!==null,t!==null&&t.memoizedState!==null!==i&&(s.flags|=8192),i&&(s.mode&1)!==0?(Ns&1073741824)!==0&&(Xt(s),s.subtreeFlags&6&&(s.flags|=8192)):Xt(s),null;case 24:return null;case 25:return null}throw Error(l(156,s.tag))}function Zy(t,s){switch(yc(s),s.tag){case 1:return os(s.type)&&ci(),t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 3:return pa(),gt(is),gt(Qt),Ic(),t=s.flags,(t&65536)!==0&&(t&128)===0?(s.flags=t&-65537|128,s):null;case 5:return Tc(s),null;case 13:if(gt(wt),t=s.memoizedState,t!==null&&t.dehydrated!==null){if(s.alternate===null)throw Error(l(340));ha()}return t=s.flags,t&65536?(s.flags=t&-65537|128,s):null;case 19:return gt(wt),null;case 4:return pa(),null;case 10:return Sc(s.type._context),null;case 22:case 23:return cd(),null;case 24:return null;default:return null}}var Ti=!1,Jt=!1,ev=typeof WeakSet=="function"?WeakSet:Set,Re=null;function ya(t,s){var n=t.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(i){Tt(t,s,i)}else n.current=null}function Xc(t,s,n){try{n()}catch(i){Tt(t,s,i)}}var Hm=!1;function tv(t,s){if(cc=Ql,t=wh(),tc(t)){if("selectionStart"in t)var n={start:t.selectionStart,end:t.selectionEnd};else e:{n=(n=t.ownerDocument)&&n.defaultView||window;var i=n.getSelection&&n.getSelection();if(i&&i.rangeCount!==0){n=i.anchorNode;var d=i.anchorOffset,x=i.focusNode;i=i.focusOffset;try{n.nodeType,x.nodeType}catch{n=null;break e}var S=0,M=-1,U=-1,re=0,me=0,ye=t,ue=null;t:for(;;){for(var Te;ye!==n||d!==0&&ye.nodeType!==3||(M=S+d),ye!==x||i!==0&&ye.nodeType!==3||(U=S+i),ye.nodeType===3&&(S+=ye.nodeValue.length),(Te=ye.firstChild)!==null;)ue=ye,ye=Te;for(;;){if(ye===t)break t;if(ue===n&&++re===d&&(M=S),ue===x&&++me===i&&(U=S),(Te=ye.nextSibling)!==null)break;ye=ue,ue=ye.parentNode}ye=Te}n=M===-1||U===-1?null:{start:M,end:U}}else n=null}n=n||{start:0,end:0}}else n=null;for(dc={focusedElem:t,selectionRange:n},Ql=!1,Re=s;Re!==null;)if(s=Re,t=s.child,(s.subtreeFlags&1028)!==0&&t!==null)t.return=s,Re=t;else for(;Re!==null;){s=Re;try{var Ie=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(Ie!==null){var Ae=Ie.memoizedProps,It=Ie.memoizedState,X=s.stateNode,W=X.getSnapshotBeforeUpdate(s.elementType===s.type?Ae:Ws(s.type,Ae),It);X.__reactInternalSnapshotBeforeUpdate=W}break;case 3:var ee=s.stateNode.containerInfo;ee.nodeType===1?ee.textContent="":ee.nodeType===9&&ee.documentElement&&ee.removeChild(ee.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(l(163))}}catch(je){Tt(s,s.return,je)}if(t=s.sibling,t!==null){t.return=s.return,Re=t;break}Re=s.return}return Ie=Hm,Hm=!1,Ie}function vl(t,s,n){var i=s.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var d=i=i.next;do{if((d.tag&t)===t){var x=d.destroy;d.destroy=void 0,x!==void 0&&Xc(s,n,x)}d=d.next}while(d!==i)}}function Ri(t,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var n=s=s.next;do{if((n.tag&t)===t){var i=n.create;n.destroy=i()}n=n.next}while(n!==s)}}function Jc(t){var s=t.ref;if(s!==null){var n=t.stateNode;switch(t.tag){case 5:t=n;break;default:t=n}typeof s=="function"?s(t):s.current=t}}function Km(t){var s=t.alternate;s!==null&&(t.alternate=null,Km(s)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(s=t.stateNode,s!==null&&(delete s[sr],delete s[ol],delete s[fc],delete s[Oy],delete s[Fy])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function Gm(t){return t.tag===5||t.tag===3||t.tag===4}function Ym(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||Gm(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function Zc(t,s,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,s?n.nodeType===8?n.parentNode.insertBefore(t,s):n.insertBefore(t,s):(n.nodeType===8?(s=n.parentNode,s.insertBefore(t,n)):(s=n,s.appendChild(t)),n=n._reactRootContainer,n!=null||s.onclick!==null||(s.onclick=ii));else if(i!==4&&(t=t.child,t!==null))for(Zc(t,s,n),t=t.sibling;t!==null;)Zc(t,s,n),t=t.sibling}function ed(t,s,n){var i=t.tag;if(i===5||i===6)t=t.stateNode,s?n.insertBefore(t,s):n.appendChild(t);else if(i!==4&&(t=t.child,t!==null))for(ed(t,s,n),t=t.sibling;t!==null;)ed(t,s,n),t=t.sibling}var Kt=null,Hs=!1;function Kr(t,s,n){for(n=n.child;n!==null;)Qm(t,s,n),n=n.sibling}function Qm(t,s,n){if(tr&&typeof tr.onCommitFiberUnmount=="function")try{tr.onCommitFiberUnmount(Vl,n)}catch{}switch(n.tag){case 5:Jt||ya(n,s);case 6:var i=Kt,d=Hs;Kt=null,Kr(t,s,n),Kt=i,Hs=d,Kt!==null&&(Hs?(t=Kt,n=n.stateNode,t.nodeType===8?t.parentNode.removeChild(n):t.removeChild(n)):Kt.removeChild(n.stateNode));break;case 18:Kt!==null&&(Hs?(t=Kt,n=n.stateNode,t.nodeType===8?mc(t.parentNode,n):t.nodeType===1&&mc(t,n),Xa(t)):mc(Kt,n.stateNode));break;case 4:i=Kt,d=Hs,Kt=n.stateNode.containerInfo,Hs=!0,Kr(t,s,n),Kt=i,Hs=d;break;case 0:case 11:case 14:case 15:if(!Jt&&(i=n.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){d=i=i.next;do{var x=d,S=x.destroy;x=x.tag,S!==void 0&&((x&2)!==0||(x&4)!==0)&&Xc(n,s,S),d=d.next}while(d!==i)}Kr(t,s,n);break;case 1:if(!Jt&&(ya(n,s),i=n.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=n.memoizedProps,i.state=n.memoizedState,i.componentWillUnmount()}catch(M){Tt(n,s,M)}Kr(t,s,n);break;case 21:Kr(t,s,n);break;case 22:n.mode&1?(Jt=(i=Jt)||n.memoizedState!==null,Kr(t,s,n),Jt=i):Kr(t,s,n);break;default:Kr(t,s,n)}}function qm(t){var s=t.updateQueue;if(s!==null){t.updateQueue=null;var n=t.stateNode;n===null&&(n=t.stateNode=new ev),s.forEach(function(i){var d=dv.bind(null,t,i);n.has(i)||(n.add(i),i.then(d,d))})}}function Ks(t,s){var n=s.deletions;if(n!==null)for(var i=0;id&&(d=S),i&=~x}if(i=d,i=dt()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*rv(i/1960))-i,10t?16:t,Yr===null)var i=!1;else{if(t=Yr,Yr=null,Di=0,(st&6)!==0)throw Error(l(331));var d=st;for(st|=4,Re=t.current;Re!==null;){var x=Re,S=x.child;if((Re.flags&16)!==0){var M=x.deletions;if(M!==null){for(var U=0;Udt()-rd?On(t,0):sd|=n),us(t,s)}function df(t,s){s===0&&((t.mode&1)===0?s=1:(s=Hl,Hl<<=1,(Hl&130023424)===0&&(Hl=4194304)));var n=rs();t=jr(t,s),t!==null&&(Ka(t,s,n),us(t,n))}function cv(t){var s=t.memoizedState,n=0;s!==null&&(n=s.retryLane),df(t,n)}function dv(t,s){var n=0;switch(t.tag){case 13:var i=t.stateNode,d=t.memoizedState;d!==null&&(n=d.retryLane);break;case 19:i=t.stateNode;break;default:throw Error(l(314))}i!==null&&i.delete(s),df(t,n)}var uf;uf=function(t,s,n){if(t!==null)if(t.memoizedProps!==s.pendingProps||is.current)cs=!0;else{if((t.lanes&n)===0&&(s.flags&128)===0)return cs=!1,Xy(t,s,n);cs=(t.flags&131072)!==0}else cs=!1,bt&&(s.flags&1048576)!==0&&Vh(s,mi,s.index);switch(s.lanes=0,s.tag){case 2:var i=s.type;Pi(t,s),t=s.pendingProps;var d=ca(s,Qt.current);xa(s,n),d=Ac(null,s,i,t,d,n);var x=Dc();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,os(i)?(x=!0,di(s)):x=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,Ec(s),d.updater=ki,s.stateNode=d,d._reactInternals=s,Bc(s,i,t,n),s=Hc(null,s,i,!0,x,n)):(s.tag=0,bt&&x&&gc(s),ss(null,s,d,n),s=s.child),s;case 16:i=s.elementType;e:{switch(Pi(t,s),t=s.pendingProps,d=i._init,i=d(i._payload),s.type=i,d=s.tag=hv(i),t=Ws(i,t),d){case 0:s=Wc(null,s,i,t,n);break e;case 1:s=Lm(null,s,i,t,n);break e;case 11:s=Im(null,s,i,t,n);break e;case 14:s=_m(null,s,i,Ws(i.type,t),n);break e}throw Error(l(306,i,""))}return s;case 0:return i=s.type,d=s.pendingProps,d=s.elementType===i?d:Ws(i,d),Wc(t,s,i,d,n);case 1:return i=s.type,d=s.pendingProps,d=s.elementType===i?d:Ws(i,d),Lm(t,s,i,d,n);case 3:e:{if(Om(s),t===null)throw Error(l(387));i=s.pendingProps,x=s.memoizedState,d=x.element,Jh(t,s),vi(s,i,null,n);var S=s.memoizedState;if(i=S.element,x.isDehydrated)if(x={element:i,isDehydrated:!1,cache:S.cache,pendingSuspenseBoundaries:S.pendingSuspenseBoundaries,transitions:S.transitions},s.updateQueue.baseState=x,s.memoizedState=x,s.flags&256){d=ga(Error(l(423)),s),s=Fm(t,s,i,n,d);break e}else if(i!==d){d=ga(Error(l(424)),s),s=Fm(t,s,i,n,d);break e}else for(bs=$r(s.stateNode.containerInfo.firstChild),js=s,bt=!0,Vs=null,n=qh(s,null,i,n),s.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(ha(),i===d){s=Nr(t,s,n);break e}ss(t,s,i,n)}s=s.child}return s;case 5:return tm(s),t===null&&jc(s),i=s.type,d=s.pendingProps,x=t!==null?t.memoizedProps:null,S=d.children,uc(i,d)?S=null:x!==null&&uc(i,x)&&(s.flags|=32),Dm(t,s),ss(t,s,S,n),s.child;case 6:return t===null&&jc(s),null;case 13:return zm(t,s,n);case 4:return Pc(s,s.stateNode.containerInfo),i=s.pendingProps,t===null?s.child=ma(s,null,i,n):ss(t,s,i,n),s.child;case 11:return i=s.type,d=s.pendingProps,d=s.elementType===i?d:Ws(i,d),Im(t,s,i,d,n);case 7:return ss(t,s,s.pendingProps,n),s.child;case 8:return ss(t,s,s.pendingProps.children,n),s.child;case 12:return ss(t,s,s.pendingProps.children,n),s.child;case 10:e:{if(i=s.type._context,d=s.pendingProps,x=s.memoizedProps,S=d.value,ut(pi,i._currentValue),i._currentValue=S,x!==null)if(Us(x.value,S)){if(x.children===d.children&&!is.current){s=Nr(t,s,n);break e}}else for(x=s.child,x!==null&&(x.return=s);x!==null;){var M=x.dependencies;if(M!==null){S=x.child;for(var U=M.firstContext;U!==null;){if(U.context===i){if(x.tag===1){U=br(-1,n&-n),U.tag=2;var re=x.updateQueue;if(re!==null){re=re.shared;var me=re.pending;me===null?U.next=U:(U.next=me.next,me.next=U),re.pending=U}}x.lanes|=n,U=x.alternate,U!==null&&(U.lanes|=n),Cc(x.return,n,s),M.lanes|=n;break}U=U.next}}else if(x.tag===10)S=x.type===s.type?null:x.child;else if(x.tag===18){if(S=x.return,S===null)throw Error(l(341));S.lanes|=n,M=S.alternate,M!==null&&(M.lanes|=n),Cc(S,n,s),S=x.sibling}else S=x.child;if(S!==null)S.return=x;else for(S=x;S!==null;){if(S===s){S=null;break}if(x=S.sibling,x!==null){x.return=S.return,S=x;break}S=S.return}x=S}ss(t,s,d.children,n),s=s.child}return s;case 9:return d=s.type,i=s.pendingProps.children,xa(s,n),d=Rs(d),i=i(d),s.flags|=1,ss(t,s,i,n),s.child;case 14:return i=s.type,d=Ws(i,s.pendingProps),d=Ws(i.type,d),_m(t,s,i,d,n);case 15:return Mm(t,s,s.type,s.pendingProps,n);case 17:return i=s.type,d=s.pendingProps,d=s.elementType===i?d:Ws(i,d),Pi(t,s),s.tag=1,os(i)?(t=!0,di(s)):t=!1,xa(s,n),Sm(s,i,d),Bc(s,i,d,n),Hc(null,s,i,!0,t,n);case 19:return Bm(t,s,n);case 22:return Am(t,s,n)}throw Error(l(156,s.tag))};function hf(t,s){return B(t,s)}function uv(t,s,n,i){this.tag=t,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ms(t,s,n,i){return new uv(t,s,n,i)}function ud(t){return t=t.prototype,!(!t||!t.isReactComponent)}function hv(t){if(typeof t=="function")return ud(t)?1:0;if(t!=null){if(t=t.$$typeof,t===ae)return 11;if(t===H)return 14}return 2}function Xr(t,s){var n=t.alternate;return n===null?(n=Ms(t.tag,s,t.key,t.mode),n.elementType=t.elementType,n.type=t.type,n.stateNode=t.stateNode,n.alternate=t,t.alternate=n):(n.pendingProps=s,n.type=t.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=t.flags&14680064,n.childLanes=t.childLanes,n.lanes=t.lanes,n.child=t.child,n.memoizedProps=t.memoizedProps,n.memoizedState=t.memoizedState,n.updateQueue=t.updateQueue,s=t.dependencies,n.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},n.sibling=t.sibling,n.index=t.index,n.ref=t.ref,n}function zi(t,s,n,i,d,x){var S=2;if(i=t,typeof t=="function")ud(t)&&(S=1);else if(typeof t=="string")S=5;else e:switch(t){case _:return zn(n.children,d,x,s);case I:S=8,d|=8;break;case E:return t=Ms(12,n,s,d|2),t.elementType=E,t.lanes=x,t;case q:return t=Ms(13,n,s,d),t.elementType=q,t.lanes=x,t;case se:return t=Ms(19,n,s,d),t.elementType=se,t.lanes=x,t;case ve:return $i(n,d,x,s);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case G:S=10;break e;case ne:S=9;break e;case ae:S=11;break e;case H:S=14;break e;case ie:S=16,i=null;break e}throw Error(l(130,t==null?t:typeof t,""))}return s=Ms(S,n,s,d),s.elementType=t,s.type=i,s.lanes=x,s}function zn(t,s,n,i){return t=Ms(7,t,i,s),t.lanes=n,t}function $i(t,s,n,i){return t=Ms(22,t,i,s),t.elementType=ve,t.lanes=n,t.stateNode={isHidden:!1},t}function hd(t,s,n){return t=Ms(6,t,null,s),t.lanes=n,t}function md(t,s,n){return s=Ms(4,t.children!==null?t.children:[],t.key,s),s.lanes=n,s.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},s}function mv(t,s,n,i,d){this.tag=s,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=$o(0),this.expirationTimes=$o(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$o(0),this.identifierPrefix=i,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function fd(t,s,n,i,d,x,S,M,U){return t=new mv(t,s,n,M,U),s===1?(s=1,x===!0&&(s|=8)):s=0,x=Ms(3,null,null,s),t.current=x,x.stateNode=t,x.memoizedState={element:i,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ec(x),t}function fv(t,s,n){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(r)}catch(a){console.error(a)}}return r(),jd.exports=kv(),jd.exports}var kf;function Ev(){if(kf)return Gi;kf=1;var r=_x();return Gi.createRoot=r.createRoot,Gi.hydrateRoot=r.hydrateRoot,Gi}var Pv=Ev(),Ol=_x();const Tv=Ix(Ol);/** * @remix-run/router v1.23.2 * * Copyright (c) Remix Software Inc. @@ -46,7 +46,7 @@ Error generating stack: `+x.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function Rl(){return Rl=Object.assign?Object.assign.bind():function(r){for(var a=1;a"u")throw new Error(a)}function fu(r,a){if(!r){typeof console<"u"&&console.warn(a);try{throw new Error(a)}catch{}}}function Tv(){return Math.random().toString(36).substr(2,8)}function Pf(r,a){return{usr:r.state,key:r.key,idx:a}}function Ud(r,a,l,o){return l===void 0&&(l=null),Rl({pathname:typeof r=="string"?r:r.pathname,search:"",hash:""},typeof a=="string"?La(a):a,{state:l,key:a&&a.key||o||Tv()})}function io(r){let{pathname:a="/",search:l="",hash:o=""}=r;return l&&l!=="?"&&(a+=l.charAt(0)==="?"?l:"?"+l),o&&o!=="#"&&(a+=o.charAt(0)==="#"?o:"#"+o),a}function La(r){let a={};if(r){let l=r.indexOf("#");l>=0&&(a.hash=r.substr(l),r=r.substr(0,l));let o=r.indexOf("?");o>=0&&(a.search=r.substr(o),r=r.substr(0,o)),r&&(a.pathname=r)}return a}function Rv(r,a,l,o){o===void 0&&(o={});let{window:c=document.defaultView,v5Compat:u=!1}=o,m=c.history,f=nn.Pop,p=null,y=g();y==null&&(y=0,m.replaceState(Rl({},m.state,{idx:y}),""));function g(){return(m.state||{idx:null}).idx}function v(){f=nn.Pop;let N=g(),b=N==null?null:N-y;y=N,p&&p({action:f,location:S.location,delta:b})}function k(N,b){f=nn.Push;let w=Ud(S.location,N,b);y=g()+1;let j=Pf(w,y),_=S.createHref(w);try{m.pushState(j,"",_)}catch(D){if(D instanceof DOMException&&D.name==="DataCloneError")throw D;c.location.assign(_)}u&&p&&p({action:f,location:S.location,delta:1})}function P(N,b){f=nn.Replace;let w=Ud(S.location,N,b);y=g();let j=Pf(w,y),_=S.createHref(w);m.replaceState(j,"",_),u&&p&&p({action:f,location:S.location,delta:0})}function T(N){let b=c.location.origin!=="null"?c.location.origin:c.location.href,w=typeof N=="string"?N:io(N);return w=w.replace(/ $/,"%20"),_t(b,"No window.location.(origin|href) available to create URL for href: "+w),new URL(w,b)}let S={get action(){return f},get location(){return r(c,m)},listen(N){if(p)throw new Error("A history only accepts one active listener");return c.addEventListener(Ef,v),p=N,()=>{c.removeEventListener(Ef,v),p=null}},createHref(N){return a(c,N)},createURL:T,encodeLocation(N){let b=T(N);return{pathname:b.pathname,search:b.search,hash:b.hash}},push:k,replace:P,go(N){return m.go(N)}};return S}var Tf;(function(r){r.data="data",r.deferred="deferred",r.redirect="redirect",r.error="error"})(Tf||(Tf={}));function Iv(r,a,l){return l===void 0&&(l="/"),_v(r,a,l)}function _v(r,a,l,o){let c=typeof a=="string"?La(a):a,u=xu(c.pathname||"/",l);if(u==null)return null;let m=Ix(r);Mv(m);let f=null;for(let p=0;f==null&&p{let p={relativePath:f===void 0?u.path||"":f,caseSensitive:u.caseSensitive===!0,childrenIndex:m,route:u};p.relativePath.startsWith("/")&&(_t(p.relativePath.startsWith(o),'Absolute route path "'+p.relativePath+'" nested under path '+('"'+o+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),p.relativePath=p.relativePath.slice(o.length));let y=ln([o,p.relativePath]),g=l.concat(p);u.children&&u.children.length>0&&(_t(u.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+y+'".')),Ix(u.children,a,g,y)),!(u.path==null&&!u.index)&&a.push({path:y,score:$v(y,u.index),routesMeta:g})};return r.forEach((u,m)=>{var f;if(u.path===""||!((f=u.path)!=null&&f.includes("?")))c(u,m);else for(let p of _x(u.path))c(u,m,p)}),a}function _x(r){let a=r.split("/");if(a.length===0)return[];let[l,...o]=a,c=l.endsWith("?"),u=l.replace(/\?$/,"");if(o.length===0)return c?[u,""]:[u];let m=_x(o.join("/")),f=[];return f.push(...m.map(p=>p===""?u:[u,p].join("/"))),c&&f.push(...m),f.map(p=>r.startsWith("/")&&p===""?"/":p)}function Mv(r){r.sort((a,l)=>a.score!==l.score?l.score-a.score:Bv(a.routesMeta.map(o=>o.childrenIndex),l.routesMeta.map(o=>o.childrenIndex)))}const Av=/^:[\w-]+$/,Dv=3,Lv=2,Ov=1,Fv=10,zv=-2,Rf=r=>r==="*";function $v(r,a){let l=r.split("/"),o=l.length;return l.some(Rf)&&(o+=zv),a&&(o+=Lv),l.filter(c=>!Rf(c)).reduce((c,u)=>c+(Av.test(u)?Dv:u===""?Ov:Fv),o)}function Bv(r,a){return r.length===a.length&&r.slice(0,-1).every((o,c)=>o===a[c])?r[r.length-1]-a[a.length-1]:0}function Uv(r,a,l){let{routesMeta:o}=r,c={},u="/",m=[];for(let f=0;f{let{paramName:k,isOptional:P}=g;if(k==="*"){let S=f[v]||"";m=u.slice(0,u.length-S.length).replace(/(.)\/+$/,"$1")}const T=f[v];return P&&!T?y[k]=void 0:y[k]=(T||"").replace(/%2F/g,"/"),y},{}),pathname:u,pathnameBase:m,pattern:r}}function Wv(r,a,l){a===void 0&&(a=!1),l===void 0&&(l=!0),fu(r==="*"||!r.endsWith("*")||r.endsWith("/*"),'Route path "'+r+'" will be treated as if it were '+('"'+r.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+r.replace(/\*$/,"/*")+'".'));let o=[],c="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(m,f,p)=>(o.push({paramName:f,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)"));return r.endsWith("*")?(o.push({paramName:"*"}),c+=r==="*"||r==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):l?c+="\\/*$":r!==""&&r!=="/"&&(c+="(?:(?=\\/|$))"),[new RegExp(c,a?void 0:"i"),o]}function Hv(r){try{return r.split("/").map(a=>decodeURIComponent(a).replace(/\//g,"%2F")).join("/")}catch(a){return fu(!1,'The URL path "'+r+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+a+").")),r}}function xu(r,a){if(a==="/")return r;if(!r.toLowerCase().startsWith(a.toLowerCase()))return null;let l=a.endsWith("/")?a.length-1:a.length,o=r.charAt(l);return o&&o!=="/"?null:r.slice(l)||"/"}const Kv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Gv=r=>Kv.test(r);function Yv(r,a){a===void 0&&(a="/");let{pathname:l,search:o="",hash:c=""}=typeof r=="string"?La(r):r,u;if(l)if(Gv(l))u=l;else{if(l.includes("//")){let m=l;l=l.replace(/\/\/+/g,"/"),fu(!1,"Pathnames cannot have embedded double slashes - normalizing "+(m+" -> "+l))}l.startsWith("/")?u=If(l.substring(1),"/"):u=If(l,a)}else u=a;return{pathname:u,search:Xv(o),hash:Jv(c)}}function If(r,a){let l=a.replace(/\/+$/,"").split("/");return r.split("/").forEach(c=>{c===".."?l.length>1&&l.pop():c!=="."&&l.push(c)}),l.length>1?l.join("/"):"/"}function wd(r,a,l,o){return"Cannot include a '"+r+"' character in a manually specified "+("`to."+a+"` field ["+JSON.stringify(o)+"]. Please separate it out to the ")+("`to."+l+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Qv(r){return r.filter((a,l)=>l===0||a.route.path&&a.route.path.length>0)}function pu(r,a){let l=Qv(r);return a?l.map((o,c)=>c===l.length-1?o.pathname:o.pathnameBase):l.map(o=>o.pathnameBase)}function gu(r,a,l,o){o===void 0&&(o=!1);let c;typeof r=="string"?c=La(r):(c=Rl({},r),_t(!c.pathname||!c.pathname.includes("?"),wd("?","pathname","search",c)),_t(!c.pathname||!c.pathname.includes("#"),wd("#","pathname","hash",c)),_t(!c.search||!c.search.includes("#"),wd("#","search","hash",c)));let u=r===""||c.pathname==="",m=u?"/":c.pathname,f;if(m==null)f=l;else{let v=a.length-1;if(!o&&m.startsWith("..")){let k=m.split("/");for(;k[0]==="..";)k.shift(),v-=1;c.pathname=k.join("/")}f=v>=0?a[v]:"/"}let p=Yv(c,f),y=m&&m!=="/"&&m.endsWith("/"),g=(u||m===".")&&l.endsWith("/");return!p.pathname.endsWith("/")&&(y||g)&&(p.pathname+="/"),p}const ln=r=>r.join("/").replace(/\/\/+/g,"/"),qv=r=>r.replace(/\/+$/,"").replace(/^\/*/,"/"),Xv=r=>!r||r==="?"?"":r.startsWith("?")?r:"?"+r,Jv=r=>!r||r==="#"?"":r.startsWith("#")?r:"#"+r;function Zv(r){return r!=null&&typeof r.status=="number"&&typeof r.statusText=="string"&&typeof r.internal=="boolean"&&"data"in r}const Mx=["post","put","patch","delete"];new Set(Mx);const ej=["get",...Mx];new Set(ej);/** + */function Il(){return Il=Object.assign?Object.assign.bind():function(r){for(var a=1;a"u")throw new Error(a)}function fu(r,a){if(!r){typeof console<"u"&&console.warn(a);try{throw new Error(a)}catch{}}}function Iv(){return Math.random().toString(36).substr(2,8)}function Pf(r,a){return{usr:r.state,key:r.key,idx:a}}function Ud(r,a,l,o){return l===void 0&&(l=null),Il({pathname:typeof r=="string"?r:r.pathname,search:"",hash:""},typeof a=="string"?La(a):a,{state:l,key:a&&a.key||o||Iv()})}function io(r){let{pathname:a="/",search:l="",hash:o=""}=r;return l&&l!=="?"&&(a+=l.charAt(0)==="?"?l:"?"+l),o&&o!=="#"&&(a+=o.charAt(0)==="#"?o:"#"+o),a}function La(r){let a={};if(r){let l=r.indexOf("#");l>=0&&(a.hash=r.substr(l),r=r.substr(0,l));let o=r.indexOf("?");o>=0&&(a.search=r.substr(o),r=r.substr(0,o)),r&&(a.pathname=r)}return a}function _v(r,a,l,o){o===void 0&&(o={});let{window:c=document.defaultView,v5Compat:u=!1}=o,m=c.history,f=nn.Pop,p=null,y=g();y==null&&(y=0,m.replaceState(Il({},m.state,{idx:y}),""));function g(){return(m.state||{idx:null}).idx}function v(){f=nn.Pop;let b=g(),w=b==null?null:b-y;y=b,p&&p({action:f,location:N.location,delta:w})}function C(b,w){f=nn.Push;let k=Ud(N.location,b,w);y=g()+1;let j=Pf(k,y),T=N.createHref(k);try{m.pushState(j,"",T)}catch(L){if(L instanceof DOMException&&L.name==="DataCloneError")throw L;c.location.assign(T)}u&&p&&p({action:f,location:N.location,delta:1})}function P(b,w){f=nn.Replace;let k=Ud(N.location,b,w);y=g();let j=Pf(k,y),T=N.createHref(k);m.replaceState(j,"",T),u&&p&&p({action:f,location:N.location,delta:0})}function R(b){let w=c.location.origin!=="null"?c.location.origin:c.location.href,k=typeof b=="string"?b:io(b);return k=k.replace(/ $/,"%20"),_t(w,"No window.location.(origin|href) available to create URL for href: "+k),new URL(k,w)}let N={get action(){return f},get location(){return r(c,m)},listen(b){if(p)throw new Error("A history only accepts one active listener");return c.addEventListener(Ef,v),p=b,()=>{c.removeEventListener(Ef,v),p=null}},createHref(b){return a(c,b)},createURL:R,encodeLocation(b){let w=R(b);return{pathname:w.pathname,search:w.search,hash:w.hash}},push:C,replace:P,go(b){return m.go(b)}};return N}var Tf;(function(r){r.data="data",r.deferred="deferred",r.redirect="redirect",r.error="error"})(Tf||(Tf={}));function Mv(r,a,l){return l===void 0&&(l="/"),Av(r,a,l)}function Av(r,a,l,o){let c=typeof a=="string"?La(a):a,u=xu(c.pathname||"/",l);if(u==null)return null;let m=Mx(r);Dv(m);let f=null;for(let p=0;f==null&&p{let p={relativePath:f===void 0?u.path||"":f,caseSensitive:u.caseSensitive===!0,childrenIndex:m,route:u};p.relativePath.startsWith("/")&&(_t(p.relativePath.startsWith(o),'Absolute route path "'+p.relativePath+'" nested under path '+('"'+o+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),p.relativePath=p.relativePath.slice(o.length));let y=ln([o,p.relativePath]),g=l.concat(p);u.children&&u.children.length>0&&(_t(u.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+y+'".')),Mx(u.children,a,g,y)),!(u.path==null&&!u.index)&&a.push({path:y,score:Uv(y,u.index),routesMeta:g})};return r.forEach((u,m)=>{var f;if(u.path===""||!((f=u.path)!=null&&f.includes("?")))c(u,m);else for(let p of Ax(u.path))c(u,m,p)}),a}function Ax(r){let a=r.split("/");if(a.length===0)return[];let[l,...o]=a,c=l.endsWith("?"),u=l.replace(/\?$/,"");if(o.length===0)return c?[u,""]:[u];let m=Ax(o.join("/")),f=[];return f.push(...m.map(p=>p===""?u:[u,p].join("/"))),c&&f.push(...m),f.map(p=>r.startsWith("/")&&p===""?"/":p)}function Dv(r){r.sort((a,l)=>a.score!==l.score?l.score-a.score:Vv(a.routesMeta.map(o=>o.childrenIndex),l.routesMeta.map(o=>o.childrenIndex)))}const Lv=/^:[\w-]+$/,Ov=3,Fv=2,zv=1,$v=10,Bv=-2,Rf=r=>r==="*";function Uv(r,a){let l=r.split("/"),o=l.length;return l.some(Rf)&&(o+=Bv),a&&(o+=Fv),l.filter(c=>!Rf(c)).reduce((c,u)=>c+(Lv.test(u)?Ov:u===""?zv:$v),o)}function Vv(r,a){return r.length===a.length&&r.slice(0,-1).every((o,c)=>o===a[c])?r[r.length-1]-a[a.length-1]:0}function Wv(r,a,l){let{routesMeta:o}=r,c={},u="/",m=[];for(let f=0;f{let{paramName:C,isOptional:P}=g;if(C==="*"){let N=f[v]||"";m=u.slice(0,u.length-N.length).replace(/(.)\/+$/,"$1")}const R=f[v];return P&&!R?y[C]=void 0:y[C]=(R||"").replace(/%2F/g,"/"),y},{}),pathname:u,pathnameBase:m,pattern:r}}function Kv(r,a,l){a===void 0&&(a=!1),l===void 0&&(l=!0),fu(r==="*"||!r.endsWith("*")||r.endsWith("/*"),'Route path "'+r+'" will be treated as if it were '+('"'+r.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+r.replace(/\*$/,"/*")+'".'));let o=[],c="^"+r.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(m,f,p)=>(o.push({paramName:f,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)"));return r.endsWith("*")?(o.push({paramName:"*"}),c+=r==="*"||r==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):l?c+="\\/*$":r!==""&&r!=="/"&&(c+="(?:(?=\\/|$))"),[new RegExp(c,a?void 0:"i"),o]}function Gv(r){try{return r.split("/").map(a=>decodeURIComponent(a).replace(/\//g,"%2F")).join("/")}catch(a){return fu(!1,'The URL path "'+r+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+a+").")),r}}function xu(r,a){if(a==="/")return r;if(!r.toLowerCase().startsWith(a.toLowerCase()))return null;let l=a.endsWith("/")?a.length-1:a.length,o=r.charAt(l);return o&&o!=="/"?null:r.slice(l)||"/"}const Yv=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Qv=r=>Yv.test(r);function qv(r,a){a===void 0&&(a="/");let{pathname:l,search:o="",hash:c=""}=typeof r=="string"?La(r):r,u;if(l)if(Qv(l))u=l;else{if(l.includes("//")){let m=l;l=l.replace(/\/\/+/g,"/"),fu(!1,"Pathnames cannot have embedded double slashes - normalizing "+(m+" -> "+l))}l.startsWith("/")?u=If(l.substring(1),"/"):u=If(l,a)}else u=a;return{pathname:u,search:Zv(o),hash:ej(c)}}function If(r,a){let l=a.replace(/\/+$/,"").split("/");return r.split("/").forEach(c=>{c===".."?l.length>1&&l.pop():c!=="."&&l.push(c)}),l.length>1?l.join("/"):"/"}function wd(r,a,l,o){return"Cannot include a '"+r+"' character in a manually specified "+("`to."+a+"` field ["+JSON.stringify(o)+"]. Please separate it out to the ")+("`to."+l+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Xv(r){return r.filter((a,l)=>l===0||a.route.path&&a.route.path.length>0)}function pu(r,a){let l=Xv(r);return a?l.map((o,c)=>c===l.length-1?o.pathname:o.pathnameBase):l.map(o=>o.pathnameBase)}function gu(r,a,l,o){o===void 0&&(o=!1);let c;typeof r=="string"?c=La(r):(c=Il({},r),_t(!c.pathname||!c.pathname.includes("?"),wd("?","pathname","search",c)),_t(!c.pathname||!c.pathname.includes("#"),wd("#","pathname","hash",c)),_t(!c.search||!c.search.includes("#"),wd("#","search","hash",c)));let u=r===""||c.pathname==="",m=u?"/":c.pathname,f;if(m==null)f=l;else{let v=a.length-1;if(!o&&m.startsWith("..")){let C=m.split("/");for(;C[0]==="..";)C.shift(),v-=1;c.pathname=C.join("/")}f=v>=0?a[v]:"/"}let p=qv(c,f),y=m&&m!=="/"&&m.endsWith("/"),g=(u||m===".")&&l.endsWith("/");return!p.pathname.endsWith("/")&&(y||g)&&(p.pathname+="/"),p}const ln=r=>r.join("/").replace(/\/\/+/g,"/"),Jv=r=>r.replace(/\/+$/,"").replace(/^\/*/,"/"),Zv=r=>!r||r==="?"?"":r.startsWith("?")?r:"?"+r,ej=r=>!r||r==="#"?"":r.startsWith("#")?r:"#"+r;function tj(r){return r!=null&&typeof r.status=="number"&&typeof r.statusText=="string"&&typeof r.internal=="boolean"&&"data"in r}const Dx=["post","put","patch","delete"];new Set(Dx);const sj=["get",...Dx];new Set(sj);/** * React Router v6.30.3 * * Copyright (c) Remix Software Inc. @@ -55,7 +55,7 @@ Error generating stack: `+x.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function Il(){return Il=Object.assign?Object.assign.bind():function(r){for(var a=1;a{f.current=!0}),h.useCallback(function(y,g){if(g===void 0&&(g={}),!f.current)return;if(typeof y=="number"){o.go(y);return}let v=gu(y,JSON.parse(m),u,g.relative==="path");r==null&&a!=="/"&&(v.pathname=v.pathname==="/"?a:ln([a,v.pathname])),(g.replace?o.replace:o.push)(v,g.state,g)},[a,o,m,u,r])}const nj=h.createContext(null);function aj(r){let a=h.useContext(Ir).outlet;return a&&h.createElement(nj.Provider,{value:r},a)}function Lx(r,a){let{relative:l}=a===void 0?{}:a,{future:o}=h.useContext(xn),{matches:c}=h.useContext(Ir),{pathname:u}=pn(),m=JSON.stringify(pu(c,o.v7_relativeSplatPath));return h.useMemo(()=>gu(r,JSON.parse(m),u,l==="path"),[r,m,u,l])}function lj(r,a){return ij(r,a)}function ij(r,a,l,o){Oa()||_t(!1);let{navigator:c}=h.useContext(xn),{matches:u}=h.useContext(Ir),m=u[u.length-1],f=m?m.params:{};m&&m.pathname;let p=m?m.pathnameBase:"/";m&&m.route;let y=pn(),g;if(a){var v;let N=typeof a=="string"?La(a):a;p==="/"||(v=N.pathname)!=null&&v.startsWith(p)||_t(!1),g=N}else g=y;let k=g.pathname||"/",P=k;if(p!=="/"){let N=p.replace(/^\//,"").split("/");P="/"+k.replace(/^\//,"").split("/").slice(N.length).join("/")}let T=Iv(r,{pathname:P}),S=hj(T&&T.map(N=>Object.assign({},N,{params:Object.assign({},f,N.params),pathname:ln([p,c.encodeLocation?c.encodeLocation(N.pathname).pathname:N.pathname]),pathnameBase:N.pathnameBase==="/"?p:ln([p,c.encodeLocation?c.encodeLocation(N.pathnameBase).pathname:N.pathnameBase])})),u,l,o);return a&&S?h.createElement(No.Provider,{value:{location:Il({pathname:"/",search:"",hash:"",state:null,key:"default"},g),navigationType:nn.Pop}},S):S}function oj(){let r=pj(),a=Zv(r)?r.status+" "+r.statusText:r instanceof Error?r.message:JSON.stringify(r),l=r instanceof Error?r.stack:null,c={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return h.createElement(h.Fragment,null,h.createElement("h2",null,"Unexpected Application Error!"),h.createElement("h3",{style:{fontStyle:"italic"}},a),l?h.createElement("pre",{style:c},l):null,null)}const cj=h.createElement(oj,null);class dj extends h.Component{constructor(a){super(a),this.state={location:a.location,revalidation:a.revalidation,error:a.error}}static getDerivedStateFromError(a){return{error:a}}static getDerivedStateFromProps(a,l){return l.location!==a.location||l.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:l.error,location:l.location,revalidation:a.revalidation||l.revalidation}}componentDidCatch(a,l){console.error("React Router caught the following error during render",a,l)}render(){return this.state.error!==void 0?h.createElement(Ir.Provider,{value:this.props.routeContext},h.createElement(Ax.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function uj(r){let{routeContext:a,match:l,children:o}=r,c=h.useContext(yu);return c&&c.static&&c.staticContext&&(l.route.errorElement||l.route.ErrorBoundary)&&(c.staticContext._deepestRenderedBoundaryId=l.route.id),h.createElement(Ir.Provider,{value:a},o)}function hj(r,a,l,o){var c;if(a===void 0&&(a=[]),l===void 0&&(l=null),o===void 0&&(o=null),r==null){var u;if(!l)return null;if(l.errors)r=l.matches;else if((u=o)!=null&&u.v7_partialHydration&&a.length===0&&!l.initialized&&l.matches.length>0)r=l.matches;else return null}let m=r,f=(c=l)==null?void 0:c.errors;if(f!=null){let g=m.findIndex(v=>v.route.id&&(f==null?void 0:f[v.route.id])!==void 0);g>=0||_t(!1),m=m.slice(0,Math.min(m.length,g+1))}let p=!1,y=-1;if(l&&o&&o.v7_partialHydration)for(let g=0;g=0?m=m.slice(0,y+1):m=[m[0]];break}}}return m.reduceRight((g,v,k)=>{let P,T=!1,S=null,N=null;l&&(P=f&&v.route.id?f[v.route.id]:void 0,S=v.route.errorElement||cj,p&&(y<0&&k===0?(yj("route-fallback"),T=!0,N=null):y===k&&(T=!0,N=v.route.hydrateFallbackElement||null)));let b=a.concat(m.slice(0,k+1)),w=()=>{let j;return P?j=S:T?j=N:v.route.Component?j=h.createElement(v.route.Component,null):v.route.element?j=v.route.element:j=g,h.createElement(uj,{match:v,routeContext:{outlet:g,matches:b,isDataRoute:l!=null},children:j})};return l&&(v.route.ErrorBoundary||v.route.errorElement||k===0)?h.createElement(dj,{location:l.location,revalidation:l.revalidation,component:S,error:P,children:w(),routeContext:{outlet:null,matches:b,isDataRoute:!0}}):w()},null)}var Ox=(function(r){return r.UseBlocker="useBlocker",r.UseRevalidator="useRevalidator",r.UseNavigateStable="useNavigate",r})(Ox||{}),Fx=(function(r){return r.UseBlocker="useBlocker",r.UseLoaderData="useLoaderData",r.UseActionData="useActionData",r.UseRouteError="useRouteError",r.UseNavigation="useNavigation",r.UseRouteLoaderData="useRouteLoaderData",r.UseMatches="useMatches",r.UseRevalidator="useRevalidator",r.UseNavigateStable="useNavigate",r.UseRouteId="useRouteId",r})(Fx||{});function mj(r){let a=h.useContext(yu);return a||_t(!1),a}function fj(r){let a=h.useContext(tj);return a||_t(!1),a}function xj(r){let a=h.useContext(Ir);return a||_t(!1),a}function zx(r){let a=xj(),l=a.matches[a.matches.length-1];return l.route.id||_t(!1),l.route.id}function pj(){var r;let a=h.useContext(Ax),l=fj(),o=zx();return a!==void 0?a:(r=l.errors)==null?void 0:r[o]}function gj(){let{router:r}=mj(Ox.UseNavigateStable),a=zx(Fx.UseNavigateStable),l=h.useRef(!1);return Dx(()=>{l.current=!0}),h.useCallback(function(c,u){u===void 0&&(u={}),l.current&&(typeof c=="number"?r.navigate(c):r.navigate(c,Il({fromRouteId:a},u)))},[r,a])}const _f={};function yj(r,a,l){_f[r]||(_f[r]=!0)}function vj(r,a){r==null||r.v7_startTransition,r==null||r.v7_relativeSplatPath}function Sd(r){let{to:a,replace:l,state:o,relative:c}=r;Oa()||_t(!1);let{future:u,static:m}=h.useContext(xn),{matches:f}=h.useContext(Ir),{pathname:p}=pn(),y=gn(),g=gu(a,pu(f,u.v7_relativeSplatPath),p,c==="path"),v=JSON.stringify(g);return h.useEffect(()=>y(JSON.parse(v),{replace:l,state:o,relative:c}),[y,v,c,l,o]),null}function jj(r){return aj(r.context)}function yt(r){_t(!1)}function bj(r){let{basename:a="/",children:l=null,location:o,navigationType:c=nn.Pop,navigator:u,static:m=!1,future:f}=r;Oa()&&_t(!1);let p=a.replace(/^\/*/,"/"),y=h.useMemo(()=>({basename:p,navigator:u,static:m,future:Il({v7_relativeSplatPath:!1},f)}),[p,f,u,m]);typeof o=="string"&&(o=La(o));let{pathname:g="/",search:v="",hash:k="",state:P=null,key:T="default"}=o,S=h.useMemo(()=>{let N=xu(g,p);return N==null?null:{location:{pathname:N,search:v,hash:k,state:P,key:T},navigationType:c}},[p,g,v,k,P,T,c]);return S==null?null:h.createElement(xn.Provider,{value:y},h.createElement(No.Provider,{children:l,value:S}))}function Nj(r){let{children:a,location:l}=r;return lj(Vd(a),l)}new Promise(()=>{});function Vd(r,a){a===void 0&&(a=[]);let l=[];return h.Children.forEach(r,(o,c)=>{if(!h.isValidElement(o))return;let u=[...a,c];if(o.type===h.Fragment){l.push.apply(l,Vd(o.props.children,u));return}o.type!==yt&&_t(!1),!o.props.index||!o.props.children||_t(!1);let m={id:o.props.id||u.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,loader:o.props.loader,action:o.props.action,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(m.children=Vd(o.props.children,u)),l.push(m)}),l}/** + */function _l(){return _l=Object.assign?Object.assign.bind():function(r){for(var a=1;a{f.current=!0}),h.useCallback(function(y,g){if(g===void 0&&(g={}),!f.current)return;if(typeof y=="number"){o.go(y);return}let v=gu(y,JSON.parse(m),u,g.relative==="path");r==null&&a!=="/"&&(v.pathname=v.pathname==="/"?a:ln([a,v.pathname])),(g.replace?o.replace:o.push)(v,g.state,g)},[a,o,m,u,r])}const lj=h.createContext(null);function ij(r){let a=h.useContext(Ir).outlet;return a&&h.createElement(lj.Provider,{value:r},a)}function Fx(r,a){let{relative:l}=a===void 0?{}:a,{future:o}=h.useContext(xn),{matches:c}=h.useContext(Ir),{pathname:u}=pn(),m=JSON.stringify(pu(c,o.v7_relativeSplatPath));return h.useMemo(()=>gu(r,JSON.parse(m),u,l==="path"),[r,m,u,l])}function oj(r,a){return cj(r,a)}function cj(r,a,l,o){Oa()||_t(!1);let{navigator:c}=h.useContext(xn),{matches:u}=h.useContext(Ir),m=u[u.length-1],f=m?m.params:{};m&&m.pathname;let p=m?m.pathnameBase:"/";m&&m.route;let y=pn(),g;if(a){var v;let b=typeof a=="string"?La(a):a;p==="/"||(v=b.pathname)!=null&&v.startsWith(p)||_t(!1),g=b}else g=y;let C=g.pathname||"/",P=C;if(p!=="/"){let b=p.replace(/^\//,"").split("/");P="/"+C.replace(/^\//,"").split("/").slice(b.length).join("/")}let R=Mv(r,{pathname:P}),N=fj(R&&R.map(b=>Object.assign({},b,{params:Object.assign({},f,b.params),pathname:ln([p,c.encodeLocation?c.encodeLocation(b.pathname).pathname:b.pathname]),pathnameBase:b.pathnameBase==="/"?p:ln([p,c.encodeLocation?c.encodeLocation(b.pathnameBase).pathname:b.pathnameBase])})),u,l,o);return a&&N?h.createElement(No.Provider,{value:{location:_l({pathname:"/",search:"",hash:"",state:null,key:"default"},g),navigationType:nn.Pop}},N):N}function dj(){let r=yj(),a=tj(r)?r.status+" "+r.statusText:r instanceof Error?r.message:JSON.stringify(r),l=r instanceof Error?r.stack:null,c={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return h.createElement(h.Fragment,null,h.createElement("h2",null,"Unexpected Application Error!"),h.createElement("h3",{style:{fontStyle:"italic"}},a),l?h.createElement("pre",{style:c},l):null,null)}const uj=h.createElement(dj,null);class hj extends h.Component{constructor(a){super(a),this.state={location:a.location,revalidation:a.revalidation,error:a.error}}static getDerivedStateFromError(a){return{error:a}}static getDerivedStateFromProps(a,l){return l.location!==a.location||l.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:l.error,location:l.location,revalidation:a.revalidation||l.revalidation}}componentDidCatch(a,l){console.error("React Router caught the following error during render",a,l)}render(){return this.state.error!==void 0?h.createElement(Ir.Provider,{value:this.props.routeContext},h.createElement(Lx.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function mj(r){let{routeContext:a,match:l,children:o}=r,c=h.useContext(yu);return c&&c.static&&c.staticContext&&(l.route.errorElement||l.route.ErrorBoundary)&&(c.staticContext._deepestRenderedBoundaryId=l.route.id),h.createElement(Ir.Provider,{value:a},o)}function fj(r,a,l,o){var c;if(a===void 0&&(a=[]),l===void 0&&(l=null),o===void 0&&(o=null),r==null){var u;if(!l)return null;if(l.errors)r=l.matches;else if((u=o)!=null&&u.v7_partialHydration&&a.length===0&&!l.initialized&&l.matches.length>0)r=l.matches;else return null}let m=r,f=(c=l)==null?void 0:c.errors;if(f!=null){let g=m.findIndex(v=>v.route.id&&(f==null?void 0:f[v.route.id])!==void 0);g>=0||_t(!1),m=m.slice(0,Math.min(m.length,g+1))}let p=!1,y=-1;if(l&&o&&o.v7_partialHydration)for(let g=0;g=0?m=m.slice(0,y+1):m=[m[0]];break}}}return m.reduceRight((g,v,C)=>{let P,R=!1,N=null,b=null;l&&(P=f&&v.route.id?f[v.route.id]:void 0,N=v.route.errorElement||uj,p&&(y<0&&C===0?(jj("route-fallback"),R=!0,b=null):y===C&&(R=!0,b=v.route.hydrateFallbackElement||null)));let w=a.concat(m.slice(0,C+1)),k=()=>{let j;return P?j=N:R?j=b:v.route.Component?j=h.createElement(v.route.Component,null):v.route.element?j=v.route.element:j=g,h.createElement(mj,{match:v,routeContext:{outlet:g,matches:w,isDataRoute:l!=null},children:j})};return l&&(v.route.ErrorBoundary||v.route.errorElement||C===0)?h.createElement(hj,{location:l.location,revalidation:l.revalidation,component:N,error:P,children:k(),routeContext:{outlet:null,matches:w,isDataRoute:!0}}):k()},null)}var zx=(function(r){return r.UseBlocker="useBlocker",r.UseRevalidator="useRevalidator",r.UseNavigateStable="useNavigate",r})(zx||{}),$x=(function(r){return r.UseBlocker="useBlocker",r.UseLoaderData="useLoaderData",r.UseActionData="useActionData",r.UseRouteError="useRouteError",r.UseNavigation="useNavigation",r.UseRouteLoaderData="useRouteLoaderData",r.UseMatches="useMatches",r.UseRevalidator="useRevalidator",r.UseNavigateStable="useNavigate",r.UseRouteId="useRouteId",r})($x||{});function xj(r){let a=h.useContext(yu);return a||_t(!1),a}function pj(r){let a=h.useContext(rj);return a||_t(!1),a}function gj(r){let a=h.useContext(Ir);return a||_t(!1),a}function Bx(r){let a=gj(),l=a.matches[a.matches.length-1];return l.route.id||_t(!1),l.route.id}function yj(){var r;let a=h.useContext(Lx),l=pj(),o=Bx();return a!==void 0?a:(r=l.errors)==null?void 0:r[o]}function vj(){let{router:r}=xj(zx.UseNavigateStable),a=Bx($x.UseNavigateStable),l=h.useRef(!1);return Ox(()=>{l.current=!0}),h.useCallback(function(c,u){u===void 0&&(u={}),l.current&&(typeof c=="number"?r.navigate(c):r.navigate(c,_l({fromRouteId:a},u)))},[r,a])}const _f={};function jj(r,a,l){_f[r]||(_f[r]=!0)}function bj(r,a){r==null||r.v7_startTransition,r==null||r.v7_relativeSplatPath}function Sd(r){let{to:a,replace:l,state:o,relative:c}=r;Oa()||_t(!1);let{future:u,static:m}=h.useContext(xn),{matches:f}=h.useContext(Ir),{pathname:p}=pn(),y=gn(),g=gu(a,pu(f,u.v7_relativeSplatPath),p,c==="path"),v=JSON.stringify(g);return h.useEffect(()=>y(JSON.parse(v),{replace:l,state:o,relative:c}),[y,v,c,l,o]),null}function Nj(r){return ij(r.context)}function yt(r){_t(!1)}function wj(r){let{basename:a="/",children:l=null,location:o,navigationType:c=nn.Pop,navigator:u,static:m=!1,future:f}=r;Oa()&&_t(!1);let p=a.replace(/^\/*/,"/"),y=h.useMemo(()=>({basename:p,navigator:u,static:m,future:_l({v7_relativeSplatPath:!1},f)}),[p,f,u,m]);typeof o=="string"&&(o=La(o));let{pathname:g="/",search:v="",hash:C="",state:P=null,key:R="default"}=o,N=h.useMemo(()=>{let b=xu(g,p);return b==null?null:{location:{pathname:b,search:v,hash:C,state:P,key:R},navigationType:c}},[p,g,v,C,P,R,c]);return N==null?null:h.createElement(xn.Provider,{value:y},h.createElement(No.Provider,{children:l,value:N}))}function Sj(r){let{children:a,location:l}=r;return oj(Vd(a),l)}new Promise(()=>{});function Vd(r,a){a===void 0&&(a=[]);let l=[];return h.Children.forEach(r,(o,c)=>{if(!h.isValidElement(o))return;let u=[...a,c];if(o.type===h.Fragment){l.push.apply(l,Vd(o.props.children,u));return}o.type!==yt&&_t(!1),!o.props.index||!o.props.children||_t(!1);let m={id:o.props.id||u.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,loader:o.props.loader,action:o.props.action,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(m.children=Vd(o.props.children,u)),l.push(m)}),l}/** * React Router DOM v6.30.3 * * Copyright (c) Remix Software Inc. @@ -64,392 +64,387 @@ Error generating stack: `+x.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function Wd(){return Wd=Object.assign?Object.assign.bind():function(r){for(var a=1;a=0)&&(l[c]=r[c]);return l}function Sj(r){return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}function Cj(r,a){return r.button===0&&(!a||a==="_self")&&!Sj(r)}function Hd(r){return r===void 0&&(r=""),new URLSearchParams(typeof r=="string"||Array.isArray(r)||r instanceof URLSearchParams?r:Object.keys(r).reduce((a,l)=>{let o=r[l];return a.concat(Array.isArray(o)?o.map(c=>[l,c]):[[l,o]])},[]))}function kj(r,a){let l=Hd(r);return a&&a.forEach((o,c)=>{l.has(c)||a.getAll(c).forEach(u=>{l.append(c,u)})}),l}const Ej=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Pj="6";try{window.__reactRouterVersion=Pj}catch{}const Tj="startTransition",Mf=bo[Tj];function Rj(r){let{basename:a,children:l,future:o,window:c}=r,u=h.useRef();u.current==null&&(u.current=Pv({window:c,v5Compat:!0}));let m=u.current,[f,p]=h.useState({action:m.action,location:m.location}),{v7_startTransition:y}=o||{},g=h.useCallback(v=>{y&&Mf?Mf(()=>p(v)):p(v)},[p,y]);return h.useLayoutEffect(()=>m.listen(g),[m,g]),h.useEffect(()=>vj(o),[o]),h.createElement(bj,{basename:a,children:l,location:f.location,navigationType:f.action,navigator:m,future:o})}const Ij=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",_j=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Kd=h.forwardRef(function(a,l){let{onClick:o,relative:c,reloadDocument:u,replace:m,state:f,target:p,to:y,preventScrollReset:g,viewTransition:v}=a,k=wj(a,Ej),{basename:P}=h.useContext(xn),T,S=!1;if(typeof y=="string"&&_j.test(y)&&(T=y,Ij))try{let j=new URL(window.location.href),_=y.startsWith("//")?new URL(j.protocol+y):new URL(y),D=xu(_.pathname,P);_.origin===j.origin&&D!=null?y=D+_.search+_.hash:S=!0}catch{}let N=sj(y,{relative:c}),b=Mj(y,{replace:m,state:f,target:p,preventScrollReset:g,relative:c,viewTransition:v});function w(j){o&&o(j),j.defaultPrevented||b(j)}return h.createElement("a",Wd({},k,{href:T||N,onClick:S||u?o:w,ref:l,target:p}))});var Af;(function(r){r.UseScrollRestoration="useScrollRestoration",r.UseSubmit="useSubmit",r.UseSubmitFetcher="useSubmitFetcher",r.UseFetcher="useFetcher",r.useViewTransitionState="useViewTransitionState"})(Af||(Af={}));var Df;(function(r){r.UseFetcher="useFetcher",r.UseFetchers="useFetchers",r.UseScrollRestoration="useScrollRestoration"})(Df||(Df={}));function Mj(r,a){let{target:l,replace:o,state:c,preventScrollReset:u,relative:m,viewTransition:f}=a===void 0?{}:a,p=gn(),y=pn(),g=Lx(r,{relative:m});return h.useCallback(v=>{if(Cj(v,l)){v.preventDefault();let k=o!==void 0?o:io(y)===io(g);p(r,{replace:k,state:c,preventScrollReset:u,relative:m,viewTransition:f})}},[y,p,g,o,c,l,r,u,m,f])}function $x(r){let a=h.useRef(Hd(r)),l=h.useRef(!1),o=pn(),c=h.useMemo(()=>kj(o.search,l.current?null:a.current),[o.search]),u=gn(),m=h.useCallback((f,p)=>{const y=Hd(typeof f=="function"?f(c):f);l.current=!0,u("?"+y,p)},[u,c]);return[c,m]}/** + */function Wd(){return Wd=Object.assign?Object.assign.bind():function(r){for(var a=1;a=0)&&(l[c]=r[c]);return l}function kj(r){return!!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)}function Ej(r,a){return r.button===0&&(!a||a==="_self")&&!kj(r)}function Hd(r){return r===void 0&&(r=""),new URLSearchParams(typeof r=="string"||Array.isArray(r)||r instanceof URLSearchParams?r:Object.keys(r).reduce((a,l)=>{let o=r[l];return a.concat(Array.isArray(o)?o.map(c=>[l,c]):[[l,o]])},[]))}function Pj(r,a){let l=Hd(r);return a&&a.forEach((o,c)=>{l.has(c)||a.getAll(c).forEach(u=>{l.append(c,u)})}),l}const Tj=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],Rj="6";try{window.__reactRouterVersion=Rj}catch{}const Ij="startTransition",Mf=bo[Ij];function _j(r){let{basename:a,children:l,future:o,window:c}=r,u=h.useRef();u.current==null&&(u.current=Rv({window:c,v5Compat:!0}));let m=u.current,[f,p]=h.useState({action:m.action,location:m.location}),{v7_startTransition:y}=o||{},g=h.useCallback(v=>{y&&Mf?Mf(()=>p(v)):p(v)},[p,y]);return h.useLayoutEffect(()=>m.listen(g),[m,g]),h.useEffect(()=>bj(o),[o]),h.createElement(wj,{basename:a,children:l,location:f.location,navigationType:f.action,navigator:m,future:o})}const Mj=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Aj=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Kd=h.forwardRef(function(a,l){let{onClick:o,relative:c,reloadDocument:u,replace:m,state:f,target:p,to:y,preventScrollReset:g,viewTransition:v}=a,C=Cj(a,Tj),{basename:P}=h.useContext(xn),R,N=!1;if(typeof y=="string"&&Aj.test(y)&&(R=y,Mj))try{let j=new URL(window.location.href),T=y.startsWith("//")?new URL(j.protocol+y):new URL(y),L=xu(T.pathname,P);T.origin===j.origin&&L!=null?y=L+T.search+T.hash:N=!0}catch{}let b=nj(y,{relative:c}),w=Dj(y,{replace:m,state:f,target:p,preventScrollReset:g,relative:c,viewTransition:v});function k(j){o&&o(j),j.defaultPrevented||w(j)}return h.createElement("a",Wd({},C,{href:R||b,onClick:N||u?o:k,ref:l,target:p}))});var Af;(function(r){r.UseScrollRestoration="useScrollRestoration",r.UseSubmit="useSubmit",r.UseSubmitFetcher="useSubmitFetcher",r.UseFetcher="useFetcher",r.useViewTransitionState="useViewTransitionState"})(Af||(Af={}));var Df;(function(r){r.UseFetcher="useFetcher",r.UseFetchers="useFetchers",r.UseScrollRestoration="useScrollRestoration"})(Df||(Df={}));function Dj(r,a){let{target:l,replace:o,state:c,preventScrollReset:u,relative:m,viewTransition:f}=a===void 0?{}:a,p=gn(),y=pn(),g=Fx(r,{relative:m});return h.useCallback(v=>{if(Ej(v,l)){v.preventDefault();let C=o!==void 0?o:io(y)===io(g);p(r,{replace:C,state:c,preventScrollReset:u,relative:m,viewTransition:f})}},[y,p,g,o,c,l,r,u,m,f])}function Ux(r){let a=h.useRef(Hd(r)),l=h.useRef(!1),o=pn(),c=h.useMemo(()=>Pj(o.search,l.current?null:a.current),[o.search]),u=gn(),m=h.useCallback((f,p)=>{const y=Hd(typeof f=="function"?f(c):f);l.current=!0,u("?"+y,p)},[u,c]);return[c,m]}/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Aj=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Dj=r=>r.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,l,o)=>o?o.toUpperCase():l.toLowerCase()),Lf=r=>{const a=Dj(r);return a.charAt(0).toUpperCase()+a.slice(1)},Bx=(...r)=>r.filter((a,l,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===l).join(" ").trim(),Lj=r=>{for(const a in r)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};/** + */const Lj=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Oj=r=>r.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,l,o)=>o?o.toUpperCase():l.toLowerCase()),Lf=r=>{const a=Oj(r);return a.charAt(0).toUpperCase()+a.slice(1)},Vx=(...r)=>r.filter((a,l,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===l).join(" ").trim(),Fj=r=>{for(const a in r)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var Oj={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** + */var zj={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Fj=h.forwardRef(({color:r="currentColor",size:a=24,strokeWidth:l=2,absoluteStrokeWidth:o,className:c="",children:u,iconNode:m,...f},p)=>h.createElement("svg",{ref:p,...Oj,width:a,height:a,stroke:r,strokeWidth:o?Number(l)*24/Number(a):l,className:Bx("lucide",c),...!u&&!Lj(f)&&{"aria-hidden":"true"},...f},[...m.map(([y,g])=>h.createElement(y,g)),...Array.isArray(u)?u:[u]]));/** + */const $j=h.forwardRef(({color:r="currentColor",size:a=24,strokeWidth:l=2,absoluteStrokeWidth:o,className:c="",children:u,iconNode:m,...f},p)=>h.createElement("svg",{ref:p,...zj,width:a,height:a,stroke:r,strokeWidth:o?Number(l)*24/Number(a):l,className:Vx("lucide",c),...!u&&!Fj(f)&&{"aria-hidden":"true"},...f},[...m.map(([y,g])=>h.createElement(y,g)),...Array.isArray(u)?u:[u]]));/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ee=(r,a)=>{const l=h.forwardRef(({className:o,...c},u)=>h.createElement(Fj,{ref:u,iconNode:a,className:Bx(`lucide-${Aj(Lf(r))}`,`lucide-${r}`,o),...c}));return l.displayName=Lf(r),l};/** + */const Pe=(r,a)=>{const l=h.forwardRef(({className:o,...c},u)=>h.createElement($j,{ref:u,iconNode:a,className:Vx(`lucide-${Lj(Lf(r))}`,`lucide-${r}`,o),...c}));return l.displayName=Lf(r),l};/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const zj=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],$j=Ee("activity",zj);/** + */const Bj=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]],Uj=Pe("activity",Bj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Bj=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],Uj=Ee("arrow-up-down",Bj);/** + */const Vj=[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]],Wj=Pe("arrow-up-down",Vj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Vj=[["path",{d:"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727",key:"yr8idg"}]],Of=Ee("bitcoin",Vj);/** + */const Hj=[["path",{d:"M11.767 19.089c4.924.868 6.14-6.025 1.216-6.894m-1.216 6.894L5.86 18.047m5.908 1.042-.347 1.97m1.563-8.864c4.924.869 6.14-6.025 1.215-6.893m-1.215 6.893-3.94-.694m5.155-6.2L8.29 4.26m5.908 1.042.348-1.97M7.48 20.364l3.126-17.727",key:"yr8idg"}]],Of=Pe("bitcoin",Hj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Wj=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],qs=Ee("book-open",Wj);/** + */const Kj=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],qs=Pe("book-open",Kj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Hj=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],oo=Ee("calendar",Hj);/** + */const Gj=[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]],oo=Pe("calendar",Gj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Kj=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],Gj=Ee("chart-column",Kj);/** + */const Yj=[["path",{d:"M3 3v16a2 2 0 0 0 2 2h16",key:"c24i48"}],["path",{d:"M18 17V9",key:"2bz60n"}],["path",{d:"M13 17V5",key:"1frdt8"}],["path",{d:"M8 17v-3",key:"17ska0"}]],Qj=Pe("chart-column",Yj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Yj=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],wo=Ee("check",Yj);/** + */const qj=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],wo=Pe("check",qj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Qj=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],_l=Ee("chevron-down",Qj);/** + */const Xj=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],Ml=Pe("chevron-down",Xj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const qj=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],tn=Ee("chevron-right",qj);/** + */const Jj=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],tn=Pe("chevron-right",Jj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Xj=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Ux=Ee("chevron-up",Xj);/** + */const Zj=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Wx=Pe("chevron-up",Zj);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Jj=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],Zj=Ee("circle-alert",Jj);/** + */const eb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],tb=Pe("circle-alert",eb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const eb=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],Ff=Ee("circle-check-big",eb);/** + */const sb=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],Ff=Pe("circle-check-big",sb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Gd=Ee("circle-check",tb);/** + */const rb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Gd=Pe("circle-check",rb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Vx=Ee("circle-question-mark",sb);/** + */const nb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Hx=Pe("circle-question-mark",nb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],Cd=Ee("circle-user",rb);/** + */const ab=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}],["path",{d:"M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662",key:"154egf"}]],Cd=Pe("circle-user",ab);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Wx=Ee("circle-x",nb);/** + */const lb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Kx=Pe("circle-x",lb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ab=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Yd=Ee("clock",ab);/** + */const ib=[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Yd=Pe("clock",ib);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lb=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Hx=Ee("copy",lb);/** + */const ob=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Gx=Pe("copy",ob);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ib=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],zf=Ee("credit-card",ib);/** + */const cb=[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]],zf=Pe("credit-card",cb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const ob=[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]],rn=Ee("crown",ob);/** + */const db=[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]],rn=Pe("crown",db);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cb=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],Ml=Ee("dollar-sign",cb);/** + */const ub=[["line",{x1:"12",x2:"12",y1:"2",y2:"22",key:"7eqyqh"}],["path",{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",key:"1b0p4s"}]],co=Pe("dollar-sign",ub);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const db=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],ub=Ee("download",db);/** + */const hb=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],mb=Pe("download",hb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const hb=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],co=Ee("external-link",hb);/** + */const fb=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],_a=Pe("external-link",fb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const mb=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Er=Ee("eye",mb);/** + */const xb=[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Er=Pe("eye",xb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const fb=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],xb=Ee("file-text",fb);/** + */const pb=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],gb=Pe("file-text",pb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const pb=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Kx=Ee("funnel",pb);/** + */const yb=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],Yx=Pe("funnel",yb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const gb=[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]],yb=Ee("gift",gb);/** + */const vb=[["rect",{x:"3",y:"8",width:"18",height:"4",rx:"1",key:"bkv52"}],["path",{d:"M12 8v13",key:"1c76mn"}],["path",{d:"M19 12v7a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2v-7",key:"6wjy6b"}],["path",{d:"M7.5 8a2.5 2.5 0 0 1 0-5A4.8 8 0 0 1 12 8a4.8 8 0 0 1 4.5-5 2.5 2.5 0 0 1 0 5",key:"1ihvrl"}]],jb=Pe("gift",vb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const vb=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]],jb=Ee("git-merge",vb);/** + */const bb=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]],Nb=Pe("git-merge",bb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const bb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Qd=Ee("globe",bb);/** + */const wb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],Qd=Pe("globe",wb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Nb=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],wb=Ee("graduation-cap",Nb);/** + */const Sb=[["path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",key:"j76jl0"}],["path",{d:"M22 10v6",key:"1lu8f3"}],["path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",key:"1r8lef"}]],Cb=Pe("graduation-cap",Sb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Sb=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],Sr=Ee("grip-vertical",Sb);/** + */const kb=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],Sr=Pe("grip-vertical",kb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Cb=[["path",{d:"m11 17 2 2a1 1 0 1 0 3-3",key:"efffak"}],["path",{d:"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4",key:"9pr0kb"}],["path",{d:"m21 3 1 11h-2",key:"1tisrp"}],["path",{d:"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3",key:"1uvwmv"}],["path",{d:"M3 4h8",key:"1ep09j"}]],kb=Ee("handshake",Cb);/** + */const Eb=[["path",{d:"m11 17 2 2a1 1 0 1 0 3-3",key:"efffak"}],["path",{d:"m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4",key:"9pr0kb"}],["path",{d:"m21 3 1 11h-2",key:"1tisrp"}],["path",{d:"M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3",key:"1uvwmv"}],["path",{d:"M3 4h8",key:"1ep09j"}]],Pb=Pe("handshake",Eb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Eb=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],Pb=Ee("house",Eb);/** + */const Tb=[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]],Rb=Pe("house",Tb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Tb=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Gx=Ee("image",Tb);/** + */const Ib=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],Qx=Pe("image",Ib);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Rb=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Yi=Ee("info",Rb);/** + */const _b=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]],Yi=Pe("info",_b);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ib=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],$f=Ee("key",Ib);/** + */const Mb=[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]],$f=Pe("key",Mb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _b=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],Mb=Ee("layout-dashboard",_b);/** + */const Ab=[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]],Db=Pe("layout-dashboard",Ab);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ab=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],on=Ee("link-2",Ab);/** + */const Lb=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],on=Pe("link-2",Lb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Db=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],Bf=Ee("link",Db);/** + */const Ob=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],Bf=Pe("link",Ob);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Lb=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Ob=Ee("lock",Lb);/** + */const Fb=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],zb=Pe("lock",Fb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Fb=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],zb=Ee("log-out",Fb);/** + */const $b=[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]],Bb=Pe("log-out",$b);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const $b=[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]],Yx=Ee("map-pin",$b);/** + */const Ub=[["path",{d:"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0",key:"1r0f0z"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]],qx=Pe("map-pin",Ub);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Bb=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Ub=Ee("menu",Bb);/** + */const Vb=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Wb=Pe("menu",Vb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Vb=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],Wb=Ee("message-circle",Vb);/** + */const Hb=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],Kb=Pe("message-circle",Hb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Hb=[["polygon",{points:"3 11 22 2 13 21 11 13 3 11",key:"1ltx0t"}]],Pa=Ee("navigation",Hb);/** + */const Gb=[["polygon",{points:"3 11 22 2 13 21 11 13 3 11",key:"1ltx0t"}]],Pa=Pe("navigation",Gb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Kb=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],Gb=Ee("palette",Kb);/** + */const Yb=[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]],Qb=Pe("palette",Yb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Yb=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],ht=Ee("pen-line",Yb);/** + */const qb=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],ht=Pe("pen-line",qb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Qb=[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]],qb=Ee("percent",Qb);/** + */const Xb=[["line",{x1:"19",x2:"5",y1:"5",y2:"19",key:"1x9vlm"}],["circle",{cx:"6.5",cy:"6.5",r:"2.5",key:"4mh3h7"}],["circle",{cx:"17.5",cy:"17.5",r:"2.5",key:"1mdrzq"}]],Jb=Pe("percent",Xb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Xb=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],Jb=Ee("phone",Xb);/** + */const Zb=[["path",{d:"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",key:"9njp5v"}]],eN=Pe("phone",Zb);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Zb=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Rt=Ee("plus",Zb);/** + */const tN=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],Rt=Pe("plus",tN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const eN=[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]],Uf=Ee("qr-code",eN);/** + */const sN=[["rect",{width:"5",height:"5",x:"3",y:"3",rx:"1",key:"1tu5fj"}],["rect",{width:"5",height:"5",x:"16",y:"3",rx:"1",key:"1v8r4q"}],["rect",{width:"5",height:"5",x:"3",y:"16",rx:"1",key:"1x03jg"}],["path",{d:"M21 16h-3a2 2 0 0 0-2 2v3",key:"177gqh"}],["path",{d:"M21 21v.01",key:"ents32"}],["path",{d:"M12 7v3a2 2 0 0 1-2 2H7",key:"8crl2c"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M12 3h.01",key:"n36tog"}],["path",{d:"M12 16v.01",key:"133mhm"}],["path",{d:"M16 12h1",key:"1slzba"}],["path",{d:"M21 12v.01",key:"1lwtk9"}],["path",{d:"M12 21v-1",key:"1880an"}]],Uf=Pe("qr-code",sN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const tN=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Be=Ee("refresh-cw",tN);/** + */const rN=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],Be=Pe("refresh-cw",rN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const sN=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Mt=Ee("save",sN);/** + */const nN=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],Mt=Pe("save",nN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const rN=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],cn=Ee("search",rN);/** + */const aN=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],cn=Pe("search",aN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const nN=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],aN=Ee("send",nN);/** + */const lN=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],iN=Pe("send",lN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const lN=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Bn=Ee("settings",lN);/** + */const oN=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],Bn=Pe("settings",oN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const iN=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],kd=Ee("settings-2",iN);/** + */const cN=[["path",{d:"M14 17H5",key:"gfn3mx"}],["path",{d:"M19 7h-9",key:"6i9tg"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}],["circle",{cx:"7",cy:"7",r:"3",key:"dfmy0x"}]],kd=Pe("settings-2",cN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const oN=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],vu=Ee("shield-check",oN);/** + */const dN=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],vu=Pe("shield-check",dN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const cN=[["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}],["path",{d:"M3.103 6.034h17.794",key:"awc11p"}],["path",{d:"M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z",key:"o988cm"}]],qd=Ee("shopping-bag",cN);/** + */const uN=[["path",{d:"M16 10a4 4 0 0 1-8 0",key:"1ltviw"}],["path",{d:"M3.103 6.034h17.794",key:"awc11p"}],["path",{d:"M3.4 5.467a2 2 0 0 0-.4 1.2V20a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6.667a2 2 0 0 0-.4-1.2l-2-2.667A2 2 0 0 0 17 2H7a2 2 0 0 0-1.6.8z",key:"o988cm"}]],qd=Pe("shopping-bag",uN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const dN=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],Al=Ee("smartphone",dN);/** + */const hN=[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]],Al=Pe("smartphone",hN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const uN=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],Ed=Ee("tag",uN);/** + */const mN=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],Ed=Pe("tag",mN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const hN=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Ht=Ee("trash-2",hN);/** + */const fN=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],Ht=Pe("trash-2",fN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const mN=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],Ta=Ee("trending-up",mN);/** + */const xN=[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]],Rl=Pe("trending-up",xN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const fN=[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]],Qx=Ee("undo-2",fN);/** + */const pN=[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]],Xx=Pe("undo-2",pN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const xN=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],uo=Ee("upload",xN);/** + */const gN=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],uo=Pe("upload",gN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const pN=[["path",{d:"m16 11 2 2 4-4",key:"9rsbq5"}],["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],gN=Ee("user-check",pN);/** + */const yN=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],Xd=Pe("user-plus",yN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const yN=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]],Xd=Ee("user-plus",yN);/** + */const vN=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],Ta=Pe("user",vN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const vN=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],Ra=Ee("user",vN);/** + */const jN=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Yt=Pe("users",jN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const jN=[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]],Yt=Ee("users",jN);/** + */const bN=[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]],Ma=Pe("wallet",bN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const bN=[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]],Ma=Ee("wallet",bN);/** + */const NN=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ms=Pe("x",NN);/** * @license lucide-react v0.562.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const NN=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],ms=Ee("x",NN);/** - * @license lucide-react v0.562.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wN=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],an=Ee("zap",wN),ju="admin_token";function bu(){try{return localStorage.getItem(ju)}catch{return null}}function SN(r){try{localStorage.setItem(ju,r)}catch{}}function CN(){try{localStorage.removeItem(ju)}catch{}}const kN="https://soulapi.quwanzhi.com",EN=15e3,PN=()=>{const r="https://soulapi.quwanzhi.com";return r.length>0?r.replace(/\/$/,""):kN};function Aa(r){const a=PN(),l=r.startsWith("/")?r:`/${r}`;return a?`${a}${l}`:l}async function So(r,a={}){const{data:l,...o}=a,c=Aa(r),u=new Headers(o.headers),m=bu();m&&u.set("Authorization",`Bearer ${m}`),l!=null&&!u.has("Content-Type")&&u.set("Content-Type","application/json");const f=l!=null?JSON.stringify(l):o.body,p=new AbortController,y=setTimeout(()=>p.abort(),EN),g=await fetch(c,{...o,headers:u,body:f,credentials:"include",signal:p.signal}).finally(()=>clearTimeout(y)),k=(g.headers.get("Content-Type")||"").includes("application/json")?await g.json():g;if(!g.ok){const P=new Error((k==null?void 0:k.error)||`HTTP ${g.status}`);throw P.status=g.status,P.data=k,P}return k}function $e(r,a){return So(r,{...a,method:"GET"})}function mt(r,a,l){return So(r,{...l,method:"POST",data:a})}function vt(r,a,l){return So(r,{...l,method:"PUT",data:a})}function Pr(r,a){return So(r,{...a,method:"DELETE"})}const TN=[{icon:Mb,label:"数据概览",href:"/dashboard"},{icon:qs,label:"内容管理",href:"/content"},{icon:Yt,label:"用户管理",href:"/users"},{icon:jb,label:"找伙伴",href:"/find-partner"},{icon:Ma,label:"推广中心",href:"/distribution"}];function RN(){const r=pn(),a=gn(),[l,o]=h.useState(!1),[c,u]=h.useState(!1);h.useEffect(()=>{o(!0)},[]),h.useEffect(()=>{if(!l)return;u(!1);let f=!1;return $e("/api/admin").then(p=>{f||(p&&p.success!==!1?u(!0):a("/login",{replace:!0}))}).catch(()=>{f||a("/login",{replace:!0})}),()=>{f=!0}},[l,a]);const m=async()=>{CN();try{await mt("/api/admin/logout",{})}catch{}a("/login",{replace:!0})};return!l||!c?e.jsxs("div",{className:"flex min-h-screen bg-[#0a1628]",children:[e.jsx("div",{className:"w-64 bg-[#0f2137] border-r border-gray-700/50"}),e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsx("div",{className:"text-[#38bdac]",children:"加载中..."})})]}):e.jsxs("div",{className:"flex min-h-screen bg-[#0a1628]",children:[e.jsxs("div",{className:"w-64 bg-[#0f2137] flex flex-col border-r border-gray-700/50 shadow-xl",children:[e.jsxs("div",{className:"p-6 border-b border-gray-700/50",children:[e.jsx("h1",{className:"text-xl font-bold text-[#38bdac]",children:"管理后台"}),e.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Soul创业派对"})]}),e.jsxs("nav",{className:"flex-1 p-4 space-y-1 overflow-y-auto",children:[TN.map(f=>{const p=r.pathname===f.href;return e.jsxs(Kd,{to:f.href,className:`flex items-center gap-3 px-4 py-3 rounded-lg transition-colors ${p?"bg-[#38bdac]/20 text-[#38bdac] font-medium":"text-gray-400 hover:bg-gray-700/50 hover:text-white"}`,children:[e.jsx(f.icon,{className:"w-5 h-5 shrink-0"}),e.jsx("span",{className:"text-sm",children:f.label})]},f.href)}),e.jsx("div",{className:"pt-4 mt-4 border-t border-gray-700/50",children:e.jsxs(Kd,{to:"/settings",className:`flex items-center gap-3 px-4 py-3 rounded-lg transition-colors ${r.pathname==="/settings"?"bg-[#38bdac]/20 text-[#38bdac] font-medium":"text-gray-400 hover:bg-gray-700/50 hover:text-white"}`,children:[e.jsx(Bn,{className:"w-5 h-5 shrink-0"}),e.jsx("span",{className:"text-sm",children:"系统设置"})]})})]}),e.jsx("div",{className:"p-4 border-t border-gray-700/50 space-y-1",children:e.jsxs("button",{type:"button",onClick:m,className:"w-full flex items-center gap-3 px-4 py-3 text-gray-400 hover:text-white rounded-lg hover:bg-gray-700/50 transition-colors",children:[e.jsx(zb,{className:"w-5 h-5"}),e.jsx("span",{className:"text-sm",children:"退出登录"})]})})]}),e.jsx("div",{className:"flex-1 overflow-auto bg-[#0a1628] min-w-0",children:e.jsx("div",{className:"w-full min-w-[1024px] min-h-full",children:e.jsx(jj,{})})})]})}function Vf(r,a){if(typeof r=="function")return r(a);r!=null&&(r.current=a)}function Nu(...r){return a=>{let l=!1;const o=r.map(c=>{const u=Vf(c,a);return!l&&typeof u=="function"&&(l=!0),u});if(l)return()=>{for(let c=0;c{let{children:u,...m}=o;qx(u)&&typeof ho=="function"&&(u=ho(u._payload));const f=h.Children.toArray(u),p=f.find(DN);if(p){const y=p.props.children,g=f.map(v=>v===p?h.Children.count(y)>1?h.Children.only(null):h.isValidElement(y)?y.props.children:null:v);return e.jsx(a,{...m,ref:c,children:h.isValidElement(y)?h.cloneElement(y,void 0,g):null})}return e.jsx(a,{...m,ref:c,children:u})});return l.displayName=`${r}.Slot`,l}var Jx=Xx("Slot");function MN(r){const a=h.forwardRef((l,o)=>{let{children:c,...u}=l;if(qx(c)&&typeof ho=="function"&&(c=ho(c._payload)),h.isValidElement(c)){const m=ON(c),f=LN(u,c.props);return c.type!==h.Fragment&&(f.ref=o?Nu(o,m):m),h.cloneElement(c,f)}return h.Children.count(c)>1?h.Children.only(null):null});return a.displayName=`${r}.SlotClone`,a}var AN=Symbol("radix.slottable");function DN(r){return h.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===AN}function LN(r,a){const l={...a};for(const o in a){const c=r[o],u=a[o];/^on[A-Z]/.test(o)?c&&u?l[o]=(...f)=>{const p=u(...f);return c(...f),p}:c&&(l[o]=c):o==="style"?l[o]={...c,...u}:o==="className"&&(l[o]=[c,u].filter(Boolean).join(" "))}return{...r,...l}}function ON(r){var o,c;let a=(o=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:o.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}function Zx(r){var a,l,o="";if(typeof r=="string"||typeof r=="number")o+=r;else if(typeof r=="object")if(Array.isArray(r)){var c=r.length;for(a=0;atypeof r=="boolean"?`${r}`:r===0?"0":r,Hf=ep,tp=(r,a)=>l=>{var o;if((a==null?void 0:a.variants)==null)return Hf(r,l==null?void 0:l.class,l==null?void 0:l.className);const{variants:c,defaultVariants:u}=a,m=Object.keys(c).map(y=>{const g=l==null?void 0:l[y],v=u==null?void 0:u[y];if(g===null)return null;const k=Wf(g)||Wf(v);return c[y][k]}),f=l&&Object.entries(l).reduce((y,g)=>{let[v,k]=g;return k===void 0||(y[v]=k),y},{}),p=a==null||(o=a.compoundVariants)===null||o===void 0?void 0:o.reduce((y,g)=>{let{class:v,className:k,...P}=g;return Object.entries(P).every(T=>{let[S,N]=T;return Array.isArray(N)?N.includes({...u,...f}[S]):{...u,...f}[S]===N})?[...y,v,k]:y},[]);return Hf(r,m,p,l==null?void 0:l.class,l==null?void 0:l.className)},FN=(r,a)=>{const l=new Array(r.length+a.length);for(let o=0;o({classGroupId:r,validator:a}),sp=(r=new Map,a=null,l)=>({nextPart:r,validators:a,classGroupId:l}),mo="-",Kf=[],$N="arbitrary..",BN=r=>{const a=VN(r),{conflictingClassGroups:l,conflictingClassGroupModifiers:o}=r;return{getClassGroupId:m=>{if(m.startsWith("[")&&m.endsWith("]"))return UN(m);const f=m.split(mo),p=f[0]===""&&f.length>1?1:0;return rp(f,p,a)},getConflictingClassGroupIds:(m,f)=>{if(f){const p=o[m],y=l[m];return p?y?FN(y,p):p:y||Kf}return l[m]||Kf}}},rp=(r,a,l)=>{if(r.length-a===0)return l.classGroupId;const c=r[a],u=l.nextPart.get(c);if(u){const y=rp(r,a+1,u);if(y)return y}const m=l.validators;if(m===null)return;const f=a===0?r.join(mo):r.slice(a).join(mo),p=m.length;for(let y=0;yr.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=r.slice(1,-1),l=a.indexOf(":"),o=a.slice(0,l);return o?$N+o:void 0})(),VN=r=>{const{theme:a,classGroups:l}=r;return WN(l,a)},WN=(r,a)=>{const l=sp();for(const o in r){const c=r[o];wu(c,l,o,a)}return l},wu=(r,a,l,o)=>{const c=r.length;for(let u=0;u{if(typeof r=="string"){KN(r,a,l);return}if(typeof r=="function"){GN(r,a,l,o);return}YN(r,a,l,o)},KN=(r,a,l)=>{const o=r===""?a:np(a,r);o.classGroupId=l},GN=(r,a,l,o)=>{if(QN(r)){wu(r(o),a,l,o);return}a.validators===null&&(a.validators=[]),a.validators.push(zN(l,r))},YN=(r,a,l,o)=>{const c=Object.entries(r),u=c.length;for(let m=0;m{let l=r;const o=a.split(mo),c=o.length;for(let u=0;u"isThemeGetter"in r&&r.isThemeGetter===!0,qN=r=>{if(r<1)return{get:()=>{},set:()=>{}};let a=0,l=Object.create(null),o=Object.create(null);const c=(u,m)=>{l[u]=m,a++,a>r&&(a=0,o=l,l=Object.create(null))};return{get(u){let m=l[u];if(m!==void 0)return m;if((m=o[u])!==void 0)return c(u,m),m},set(u,m){u in l?l[u]=m:c(u,m)}}},Jd="!",Gf=":",XN=[],Yf=(r,a,l,o,c)=>({modifiers:r,hasImportantModifier:a,baseClassName:l,maybePostfixModifierPosition:o,isExternal:c}),JN=r=>{const{prefix:a,experimentalParseClassName:l}=r;let o=c=>{const u=[];let m=0,f=0,p=0,y;const g=c.length;for(let S=0;Sp?y-p:void 0;return Yf(u,P,k,T)};if(a){const c=a+Gf,u=o;o=m=>m.startsWith(c)?u(m.slice(c.length)):Yf(XN,!1,m,void 0,!0)}if(l){const c=o;o=u=>l({className:u,parseClassName:c})}return o},ZN=r=>{const a=new Map;return r.orderSensitiveModifiers.forEach((l,o)=>{a.set(l,1e6+o)}),l=>{const o=[];let c=[];for(let u=0;u0&&(c.sort(),o.push(...c),c=[]),o.push(m)):c.push(m)}return c.length>0&&(c.sort(),o.push(...c)),o}},ew=r=>({cache:qN(r.cacheSize),parseClassName:JN(r),sortModifiers:ZN(r),...BN(r)}),tw=/\s+/,sw=(r,a)=>{const{parseClassName:l,getClassGroupId:o,getConflictingClassGroupIds:c,sortModifiers:u}=a,m=[],f=r.trim().split(tw);let p="";for(let y=f.length-1;y>=0;y-=1){const g=f[y],{isExternal:v,modifiers:k,hasImportantModifier:P,baseClassName:T,maybePostfixModifierPosition:S}=l(g);if(v){p=g+(p.length>0?" "+p:p);continue}let N=!!S,b=o(N?T.substring(0,S):T);if(!b){if(!N){p=g+(p.length>0?" "+p:p);continue}if(b=o(T),!b){p=g+(p.length>0?" "+p:p);continue}N=!1}const w=k.length===0?"":k.length===1?k[0]:u(k).join(":"),j=P?w+Jd:w,_=j+b;if(m.indexOf(_)>-1)continue;m.push(_);const D=c(b,N);for(let V=0;V0?" "+p:p)}return p},rw=(...r)=>{let a=0,l,o,c="";for(;a{if(typeof r=="string")return r;let a,l="";for(let o=0;o{let l,o,c,u;const m=p=>{const y=a.reduce((g,v)=>v(g),r());return l=ew(y),o=l.cache.get,c=l.cache.set,u=f,f(p)},f=p=>{const y=o(p);if(y)return y;const g=sw(p,l);return c(p,g),g};return u=m,(...p)=>u(rw(...p))},aw=[],$t=r=>{const a=l=>l[r]||aw;return a.isThemeGetter=!0,a},lp=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ip=/^\((?:(\w[\w-]*):)?(.+)\)$/i,lw=/^\d+\/\d+$/,iw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ow=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,cw=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,dw=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,uw=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Na=r=>lw.test(r),qe=r=>!!r&&!Number.isNaN(Number(r)),Zr=r=>!!r&&Number.isInteger(Number(r)),Pd=r=>r.endsWith("%")&&qe(r.slice(0,-1)),Cr=r=>iw.test(r),hw=()=>!0,mw=r=>ow.test(r)&&!cw.test(r),op=()=>!1,fw=r=>dw.test(r),xw=r=>uw.test(r),pw=r=>!_e(r)&&!Me(r),gw=r=>Fa(r,up,op),_e=r=>lp.test(r),$n=r=>Fa(r,hp,mw),Td=r=>Fa(r,Nw,qe),Qf=r=>Fa(r,cp,op),yw=r=>Fa(r,dp,xw),Qi=r=>Fa(r,mp,fw),Me=r=>ip.test(r),Cl=r=>za(r,hp),vw=r=>za(r,ww),qf=r=>za(r,cp),jw=r=>za(r,up),bw=r=>za(r,dp),qi=r=>za(r,mp,!0),Fa=(r,a,l)=>{const o=lp.exec(r);return o?o[1]?a(o[1]):l(o[2]):!1},za=(r,a,l=!1)=>{const o=ip.exec(r);return o?o[1]?a(o[1]):l:!1},cp=r=>r==="position"||r==="percentage",dp=r=>r==="image"||r==="url",up=r=>r==="length"||r==="size"||r==="bg-size",hp=r=>r==="length",Nw=r=>r==="number",ww=r=>r==="family-name",mp=r=>r==="shadow",Sw=()=>{const r=$t("color"),a=$t("font"),l=$t("text"),o=$t("font-weight"),c=$t("tracking"),u=$t("leading"),m=$t("breakpoint"),f=$t("container"),p=$t("spacing"),y=$t("radius"),g=$t("shadow"),v=$t("inset-shadow"),k=$t("text-shadow"),P=$t("drop-shadow"),T=$t("blur"),S=$t("perspective"),N=$t("aspect"),b=$t("ease"),w=$t("animate"),j=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],D=()=>[..._(),Me,_e],V=()=>["auto","hidden","clip","visible","scroll"],I=()=>["auto","contain","none"],R=()=>[Me,_e,p],E=()=>[Na,"full","auto",...R()],Y=()=>[Zr,"none","subgrid",Me,_e],ne=()=>["auto",{span:["full",Zr,Me,_e]},Zr,Me,_e],ae=()=>[Zr,"auto",Me,_e],q=()=>["auto","min","max","fr",Me,_e],se=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],H=()=>["start","end","center","stretch","center-safe","end-safe"],ie=()=>["auto",...R()],ve=()=>[Na,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...R()],U=()=>[r,Me,_e],ce=()=>[..._(),qf,Qf,{position:[Me,_e]}],K=()=>["no-repeat",{repeat:["","x","y","space","round"]}],A=()=>["auto","cover","contain",jw,gw,{size:[Me,_e]}],F=()=>[Pd,Cl,$n],O=()=>["","none","full",y,Me,_e],Z=()=>["",qe,Cl,$n],G=()=>["solid","dashed","dotted","double"],de=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Q=()=>[qe,Pd,qf,Qf],ge=()=>["","none",T,Me,_e],Se=()=>["none",qe,Me,_e],L=()=>["none",qe,Me,_e],fe=()=>[qe,Me,_e],ke=()=>[Na,"full",...R()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Cr],breakpoint:[Cr],color:[hw],container:[Cr],"drop-shadow":[Cr],ease:["in","out","in-out"],font:[pw],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Cr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Cr],shadow:[Cr],spacing:["px",qe],text:[Cr],"text-shadow":[Cr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Na,_e,Me,N]}],container:["container"],columns:[{columns:[qe,_e,Me,f]}],"break-after":[{"break-after":j()}],"break-before":[{"break-before":j()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:D()}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:I()}],"overscroll-x":[{"overscroll-x":I()}],"overscroll-y":[{"overscroll-y":I()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:E()}],"inset-x":[{"inset-x":E()}],"inset-y":[{"inset-y":E()}],start:[{start:E()}],end:[{end:E()}],top:[{top:E()}],right:[{right:E()}],bottom:[{bottom:E()}],left:[{left:E()}],visibility:["visible","invisible","collapse"],z:[{z:[Zr,"auto",Me,_e]}],basis:[{basis:[Na,"full","auto",f,...R()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[qe,Na,"auto","initial","none",_e]}],grow:[{grow:["",qe,Me,_e]}],shrink:[{shrink:["",qe,Me,_e]}],order:[{order:[Zr,"first","last","none",Me,_e]}],"grid-cols":[{"grid-cols":Y()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":ae()}],"col-end":[{"col-end":ae()}],"grid-rows":[{"grid-rows":Y()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":ae()}],"row-end":[{"row-end":ae()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":q()}],"auto-rows":[{"auto-rows":q()}],gap:[{gap:R()}],"gap-x":[{"gap-x":R()}],"gap-y":[{"gap-y":R()}],"justify-content":[{justify:[...se(),"normal"]}],"justify-items":[{"justify-items":[...H(),"normal"]}],"justify-self":[{"justify-self":["auto",...H()]}],"align-content":[{content:["normal",...se()]}],"align-items":[{items:[...H(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...H(),{baseline:["","last"]}]}],"place-content":[{"place-content":se()}],"place-items":[{"place-items":[...H(),"baseline"]}],"place-self":[{"place-self":["auto",...H()]}],p:[{p:R()}],px:[{px:R()}],py:[{py:R()}],ps:[{ps:R()}],pe:[{pe:R()}],pt:[{pt:R()}],pr:[{pr:R()}],pb:[{pb:R()}],pl:[{pl:R()}],m:[{m:ie()}],mx:[{mx:ie()}],my:[{my:ie()}],ms:[{ms:ie()}],me:[{me:ie()}],mt:[{mt:ie()}],mr:[{mr:ie()}],mb:[{mb:ie()}],ml:[{ml:ie()}],"space-x":[{"space-x":R()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":R()}],"space-y-reverse":["space-y-reverse"],size:[{size:ve()}],w:[{w:[f,"screen",...ve()]}],"min-w":[{"min-w":[f,"screen","none",...ve()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[m]},...ve()]}],h:[{h:["screen","lh",...ve()]}],"min-h":[{"min-h":["screen","lh","none",...ve()]}],"max-h":[{"max-h":["screen","lh",...ve()]}],"font-size":[{text:["base",l,Cl,$n]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Me,Td]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Pd,_e]}],"font-family":[{font:[vw,_e,a]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,Me,_e]}],"line-clamp":[{"line-clamp":[qe,"none",Me,Td]}],leading:[{leading:[u,...R()]}],"list-image":[{"list-image":["none",Me,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Me,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:U()}],"text-color":[{text:U()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...G(),"wavy"]}],"text-decoration-thickness":[{decoration:[qe,"from-font","auto",Me,$n]}],"text-decoration-color":[{decoration:U()}],"underline-offset":[{"underline-offset":[qe,"auto",Me,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:R()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Me,_e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Me,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ce()}],"bg-repeat":[{bg:K()}],"bg-size":[{bg:A()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Zr,Me,_e],radial:["",Me,_e],conic:[Zr,Me,_e]},bw,yw]}],"bg-color":[{bg:U()}],"gradient-from-pos":[{from:F()}],"gradient-via-pos":[{via:F()}],"gradient-to-pos":[{to:F()}],"gradient-from":[{from:U()}],"gradient-via":[{via:U()}],"gradient-to":[{to:U()}],rounded:[{rounded:O()}],"rounded-s":[{"rounded-s":O()}],"rounded-e":[{"rounded-e":O()}],"rounded-t":[{"rounded-t":O()}],"rounded-r":[{"rounded-r":O()}],"rounded-b":[{"rounded-b":O()}],"rounded-l":[{"rounded-l":O()}],"rounded-ss":[{"rounded-ss":O()}],"rounded-se":[{"rounded-se":O()}],"rounded-ee":[{"rounded-ee":O()}],"rounded-es":[{"rounded-es":O()}],"rounded-tl":[{"rounded-tl":O()}],"rounded-tr":[{"rounded-tr":O()}],"rounded-br":[{"rounded-br":O()}],"rounded-bl":[{"rounded-bl":O()}],"border-w":[{border:Z()}],"border-w-x":[{"border-x":Z()}],"border-w-y":[{"border-y":Z()}],"border-w-s":[{"border-s":Z()}],"border-w-e":[{"border-e":Z()}],"border-w-t":[{"border-t":Z()}],"border-w-r":[{"border-r":Z()}],"border-w-b":[{"border-b":Z()}],"border-w-l":[{"border-l":Z()}],"divide-x":[{"divide-x":Z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...G(),"hidden","none"]}],"divide-style":[{divide:[...G(),"hidden","none"]}],"border-color":[{border:U()}],"border-color-x":[{"border-x":U()}],"border-color-y":[{"border-y":U()}],"border-color-s":[{"border-s":U()}],"border-color-e":[{"border-e":U()}],"border-color-t":[{"border-t":U()}],"border-color-r":[{"border-r":U()}],"border-color-b":[{"border-b":U()}],"border-color-l":[{"border-l":U()}],"divide-color":[{divide:U()}],"outline-style":[{outline:[...G(),"none","hidden"]}],"outline-offset":[{"outline-offset":[qe,Me,_e]}],"outline-w":[{outline:["",qe,Cl,$n]}],"outline-color":[{outline:U()}],shadow:[{shadow:["","none",g,qi,Qi]}],"shadow-color":[{shadow:U()}],"inset-shadow":[{"inset-shadow":["none",v,qi,Qi]}],"inset-shadow-color":[{"inset-shadow":U()}],"ring-w":[{ring:Z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:U()}],"ring-offset-w":[{"ring-offset":[qe,$n]}],"ring-offset-color":[{"ring-offset":U()}],"inset-ring-w":[{"inset-ring":Z()}],"inset-ring-color":[{"inset-ring":U()}],"text-shadow":[{"text-shadow":["none",k,qi,Qi]}],"text-shadow-color":[{"text-shadow":U()}],opacity:[{opacity:[qe,Me,_e]}],"mix-blend":[{"mix-blend":[...de(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":de()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[qe]}],"mask-image-linear-from-pos":[{"mask-linear-from":Q()}],"mask-image-linear-to-pos":[{"mask-linear-to":Q()}],"mask-image-linear-from-color":[{"mask-linear-from":U()}],"mask-image-linear-to-color":[{"mask-linear-to":U()}],"mask-image-t-from-pos":[{"mask-t-from":Q()}],"mask-image-t-to-pos":[{"mask-t-to":Q()}],"mask-image-t-from-color":[{"mask-t-from":U()}],"mask-image-t-to-color":[{"mask-t-to":U()}],"mask-image-r-from-pos":[{"mask-r-from":Q()}],"mask-image-r-to-pos":[{"mask-r-to":Q()}],"mask-image-r-from-color":[{"mask-r-from":U()}],"mask-image-r-to-color":[{"mask-r-to":U()}],"mask-image-b-from-pos":[{"mask-b-from":Q()}],"mask-image-b-to-pos":[{"mask-b-to":Q()}],"mask-image-b-from-color":[{"mask-b-from":U()}],"mask-image-b-to-color":[{"mask-b-to":U()}],"mask-image-l-from-pos":[{"mask-l-from":Q()}],"mask-image-l-to-pos":[{"mask-l-to":Q()}],"mask-image-l-from-color":[{"mask-l-from":U()}],"mask-image-l-to-color":[{"mask-l-to":U()}],"mask-image-x-from-pos":[{"mask-x-from":Q()}],"mask-image-x-to-pos":[{"mask-x-to":Q()}],"mask-image-x-from-color":[{"mask-x-from":U()}],"mask-image-x-to-color":[{"mask-x-to":U()}],"mask-image-y-from-pos":[{"mask-y-from":Q()}],"mask-image-y-to-pos":[{"mask-y-to":Q()}],"mask-image-y-from-color":[{"mask-y-from":U()}],"mask-image-y-to-color":[{"mask-y-to":U()}],"mask-image-radial":[{"mask-radial":[Me,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":Q()}],"mask-image-radial-to-pos":[{"mask-radial-to":Q()}],"mask-image-radial-from-color":[{"mask-radial-from":U()}],"mask-image-radial-to-color":[{"mask-radial-to":U()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":_()}],"mask-image-conic-pos":[{"mask-conic":[qe]}],"mask-image-conic-from-pos":[{"mask-conic-from":Q()}],"mask-image-conic-to-pos":[{"mask-conic-to":Q()}],"mask-image-conic-from-color":[{"mask-conic-from":U()}],"mask-image-conic-to-color":[{"mask-conic-to":U()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ce()}],"mask-repeat":[{mask:K()}],"mask-size":[{mask:A()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Me,_e]}],filter:[{filter:["","none",Me,_e]}],blur:[{blur:ge()}],brightness:[{brightness:[qe,Me,_e]}],contrast:[{contrast:[qe,Me,_e]}],"drop-shadow":[{"drop-shadow":["","none",P,qi,Qi]}],"drop-shadow-color":[{"drop-shadow":U()}],grayscale:[{grayscale:["",qe,Me,_e]}],"hue-rotate":[{"hue-rotate":[qe,Me,_e]}],invert:[{invert:["",qe,Me,_e]}],saturate:[{saturate:[qe,Me,_e]}],sepia:[{sepia:["",qe,Me,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Me,_e]}],"backdrop-blur":[{"backdrop-blur":ge()}],"backdrop-brightness":[{"backdrop-brightness":[qe,Me,_e]}],"backdrop-contrast":[{"backdrop-contrast":[qe,Me,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",qe,Me,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[qe,Me,_e]}],"backdrop-invert":[{"backdrop-invert":["",qe,Me,_e]}],"backdrop-opacity":[{"backdrop-opacity":[qe,Me,_e]}],"backdrop-saturate":[{"backdrop-saturate":[qe,Me,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",qe,Me,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":R()}],"border-spacing-x":[{"border-spacing-x":R()}],"border-spacing-y":[{"border-spacing-y":R()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Me,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[qe,"initial",Me,_e]}],ease:[{ease:["linear","initial",b,Me,_e]}],delay:[{delay:[qe,Me,_e]}],animate:[{animate:["none",w,Me,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[S,Me,_e]}],"perspective-origin":[{"perspective-origin":D()}],rotate:[{rotate:Se()}],"rotate-x":[{"rotate-x":Se()}],"rotate-y":[{"rotate-y":Se()}],"rotate-z":[{"rotate-z":Se()}],scale:[{scale:L()}],"scale-x":[{"scale-x":L()}],"scale-y":[{"scale-y":L()}],"scale-z":[{"scale-z":L()}],"scale-3d":["scale-3d"],skew:[{skew:fe()}],"skew-x":[{"skew-x":fe()}],"skew-y":[{"skew-y":fe()}],transform:[{transform:[Me,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:D()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ke()}],"translate-x":[{"translate-x":ke()}],"translate-y":[{"translate-y":ke()}],"translate-z":[{"translate-z":ke()}],"translate-none":["translate-none"],accent:[{accent:U()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:U()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Me,_e]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":R()}],"scroll-mx":[{"scroll-mx":R()}],"scroll-my":[{"scroll-my":R()}],"scroll-ms":[{"scroll-ms":R()}],"scroll-me":[{"scroll-me":R()}],"scroll-mt":[{"scroll-mt":R()}],"scroll-mr":[{"scroll-mr":R()}],"scroll-mb":[{"scroll-mb":R()}],"scroll-ml":[{"scroll-ml":R()}],"scroll-p":[{"scroll-p":R()}],"scroll-px":[{"scroll-px":R()}],"scroll-py":[{"scroll-py":R()}],"scroll-ps":[{"scroll-ps":R()}],"scroll-pe":[{"scroll-pe":R()}],"scroll-pt":[{"scroll-pt":R()}],"scroll-pr":[{"scroll-pr":R()}],"scroll-pb":[{"scroll-pb":R()}],"scroll-pl":[{"scroll-pl":R()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Me,_e]}],fill:[{fill:["none",...U()]}],"stroke-w":[{stroke:[qe,Cl,$n,Td]}],stroke:[{stroke:["none",...U()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Cw=nw(Sw);function lt(...r){return Cw(ep(r))}const kw=tp("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function J({className:r,variant:a,size:l,asChild:o=!1,...c}){const u=o?Jx:"button";return e.jsx(u,{"data-slot":"button",className:lt(kw({variant:a,size:l,className:r})),...c})}function le({className:r,type:a,...l}){return e.jsx("input",{type:a,"data-slot":"input",className:lt("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none placeholder:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 md:text-sm focus-visible:ring-2 focus-visible:ring-ring",r),...l})}function Ew(){const r=gn(),[a,l]=h.useState(""),[o,c]=h.useState(""),[u,m]=h.useState(""),[f,p]=h.useState(!1),y=async()=>{m(""),p(!0);try{const g=await mt("/api/admin",{username:a.trim(),password:o});if((g==null?void 0:g.success)!==!1&&(g!=null&&g.token)){SN(g.token),r("/dashboard",{replace:!0});return}m(g.error||"用户名或密码错误")}catch(g){const v=g;m(v.status===401?"用户名或密码错误":(v==null?void 0:v.message)||"网络错误,请重试")}finally{p(!1)}};return e.jsxs("div",{className:"min-h-screen bg-[#0a1628] flex items-center justify-center p-4",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden",children:[e.jsx("div",{className:"absolute top-1/4 left-1/4 w-96 h-96 bg-[#38bdac]/5 rounded-full blur-3xl"}),e.jsx("div",{className:"absolute bottom-1/4 right-1/4 w-96 h-96 bg-blue-500/5 rounded-full blur-3xl"})]}),e.jsxs("div",{className:"w-full max-w-md relative z-10",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("div",{className:"w-16 h-16 bg-[#38bdac]/20 rounded-2xl flex items-center justify-center mx-auto mb-4 border border-[#38bdac]/30",children:e.jsx(vu,{className:"w-8 h-8 text-[#38bdac]"})}),e.jsx("h1",{className:"text-2xl font-bold text-white mb-2",children:"管理后台"}),e.jsx("p",{className:"text-gray-400",children:"一场SOUL的创业实验场"})]}),e.jsxs("div",{className:"bg-[#0f2137] rounded-2xl p-8 shadow-xl border border-gray-700/50 backdrop-blur-xl",children:[e.jsx("h2",{className:"text-xl font-semibold text-white mb-6 text-center",children:"管理员登录"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-gray-400 text-sm mb-2",children:"用户名"}),e.jsxs("div",{className:"relative",children:[e.jsx(Ra,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500"}),e.jsx(le,{type:"text",value:a,onChange:g=>l(g.target.value),placeholder:"请输入用户名",className:"pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 focus:border-[#38bdac]"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-gray-400 text-sm mb-2",children:"密码"}),e.jsxs("div",{className:"relative",children:[e.jsx(Ob,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500"}),e.jsx(le,{type:"password",value:o,onChange:g=>c(g.target.value),placeholder:"请输入密码",className:"pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 focus:border-[#38bdac]",onKeyDown:g=>g.key==="Enter"&&y()})]})]}),u&&e.jsx("div",{className:"bg-red-500/10 text-red-400 text-sm p-3 rounded-lg border border-red-500/20",children:u}),e.jsx(J,{onClick:y,disabled:f,className:"w-full bg-[#38bdac] hover:bg-[#2da396] text-white py-5 disabled:opacity-50",children:f?"登录中...":"登录"})]})]}),e.jsx("p",{className:"text-center text-gray-500 text-xs mt-6",children:"Soul创业实验场 · 后台管理系统"})]})]})}const Ne=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{ref:l,className:lt("rounded-xl border bg-card text-card-foreground shadow",r),...a}));Ne.displayName="Card";const Ke=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{ref:l,className:lt("flex flex-col space-y-1.5 p-6",r),...a}));Ke.displayName="CardHeader";const Ge=h.forwardRef(({className:r,...a},l)=>e.jsx("h3",{ref:l,className:lt("font-semibold leading-none tracking-tight",r),...a}));Ge.displayName="CardTitle";const jt=h.forwardRef(({className:r,...a},l)=>e.jsx("p",{ref:l,className:lt("text-sm text-muted-foreground",r),...a}));jt.displayName="CardDescription";const we=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{ref:l,className:lt("p-6 pt-0",r),...a}));we.displayName="CardContent";const Pw=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{ref:l,className:lt("flex items-center p-6 pt-0",r),...a}));Pw.displayName="CardFooter";function Tw(){const r=gn(),[a,l]=h.useState(!0),[o,c]=h.useState([]),[u,m]=h.useState([]),[f,p]=h.useState(0),[y,g]=h.useState(0),[v,k]=h.useState(0),[P,T]=h.useState(0),[S,N]=h.useState(null);async function b(){var D;l(!0),N(null);try{try{const H=await $e("/api/admin/dashboard/overview");if(H!=null&&H.success){p(H.totalUsers??0),g(H.paidOrderCount??0),k(H.totalRevenue??0),T(H.conversionRate??0),m(H.recentOrders??[]),c(H.newUsers??[]);return}}catch(H){console.error("数据概览接口失败,尝试降级拉取",H)}const[V,I]=await Promise.all([$e("/api/db/users?page=1&pageSize=10"),$e("/api/orders?page=1&pageSize=20&status=paid")]),R=typeof(V==null?void 0:V.total)=="number"?V.total:((D=V==null?void 0:V.users)==null?void 0:D.length)??0,E=(I==null?void 0:I.orders)??[],Y=typeof(I==null?void 0:I.total)=="number"?I.total:E.length,ne=E.filter(H=>H.status==="paid"||H.status==="completed"||H.status==="success"),ae=ne.reduce((H,ie)=>H+Number(ie.amount||0),0),q=new Set(ne.map(H=>H.userId).filter(Boolean)),se=R>0&&q.size>0?q.size/R*100:0;p(R),g(Y),k(ae),T(se),m(E.slice(0,5)),c((V==null?void 0:V.users)??[])}catch(V){console.error("降级拉取失败",V);const I=V;(I==null?void 0:I.status)===401?N("登录已过期,请重新登录"):(I==null?void 0:I.name)==="AbortError"?N("请求超时,请检查网络后点击重试"):N("加载失败,请检查网络或联系管理员")}finally{l(!1)}}if(h.useEffect(()=>{b();const D=setInterval(b,3e4);return()=>clearInterval(D)},[]),a)return e.jsxs("div",{className:"p-8 w-full",children:[e.jsx("h1",{className:"text-2xl font-bold mb-8 text-white",children:"数据概览"}),e.jsxs("div",{className:"flex flex-col items-center justify-center py-24",children:[e.jsx(Be,{className:"w-12 h-12 text-[#38bdac] animate-spin mb-4"}),e.jsx("span",{className:"text-gray-400",children:"加载中..."})]})]});const w=f,j=D=>{const V=D.productType||"",I=D.description||"";if(I){if(V==="section"&&I.includes("章节")){if(I.includes("-")){const R=I.split("-");if(R.length>=3)return{title:`第${R[1]}章 第${R[2]}节`,subtitle:"《一场Soul的创业实验》"}}return{title:I,subtitle:"章节购买"}}return V==="fullbook"||I.includes("全书")?{title:"《一场Soul的创业实验》",subtitle:"全书购买"}:V==="match"||I.includes("伙伴")?{title:"找伙伴匹配",subtitle:"功能服务"}:{title:I,subtitle:V==="section"?"单章":V==="fullbook"?"全书":"其他"}}return V==="section"?{title:`章节 ${D.productId||""}`,subtitle:"单章购买"}:V==="fullbook"?{title:"《一场Soul的创业实验》",subtitle:"全书购买"}:V==="match"?{title:"找伙伴匹配",subtitle:"功能服务"}:{title:"未知商品",subtitle:V||"其他"}},_=[{title:"总用户数",value:w,icon:Yt,color:"text-blue-400",bg:"bg-blue-500/20",link:"/users"},{title:"总收入",value:`¥${(v??0).toFixed(2)}`,icon:Ta,color:"text-[#38bdac]",bg:"bg-[#38bdac]/20",link:"/orders"},{title:"订单数",value:y,icon:qd,color:"text-purple-400",bg:"bg-purple-500/20",link:"/orders"},{title:"转化率",value:`${typeof P=="number"?P.toFixed(1):0}%`,icon:qs,color:"text-orange-400",bg:"bg-orange-500/20",link:"/distribution"}];return e.jsxs("div",{className:"p-8 w-full",children:[e.jsx("h1",{className:"text-2xl font-bold mb-8 text-white",children:"数据概览"}),S&&e.jsxs("div",{className:"mb-6 px-4 py-3 rounded-lg bg-amber-500/20 border border-amber-500/50 text-amber-200 text-sm flex items-center justify-between",children:[e.jsx("span",{children:S}),e.jsx("button",{type:"button",onClick:()=>b(),className:"text-amber-400 hover:text-amber-300 underline",children:"重试"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8",children:_.map((D,V)=>e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl cursor-pointer hover:border-[#38bdac]/50 transition-colors group",onClick:()=>D.link&&r(D.link),children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsx(Ge,{className:"text-sm font-medium text-gray-400",children:D.title}),e.jsx("div",{className:`p-2 rounded-lg ${D.bg}`,children:e.jsx(D.icon,{className:`w-4 h-4 ${D.color}`})})]}),e.jsx(we,{children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-2xl font-bold text-white",children:D.value}),e.jsx(tn,{className:"w-5 h-5 text-gray-600 group-hover:text-[#38bdac] transition-colors"})]})})]},V))}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between",children:[e.jsx(Ge,{className:"text-white",children:"最近订单"}),e.jsxs("button",{type:"button",onClick:()=>b(),className:"text-xs text-gray-400 hover:text-[#38bdac] flex items-center gap-1",title:"刷新",children:[e.jsx(Be,{className:"w-3.5 h-3.5"}),"刷新(每 30 秒自动更新)"]})]}),e.jsx(we,{children:e.jsxs("div",{className:"space-y-3",children:[u.slice(0,5).map(D=>{var Y;const V=D.referrerId?o.find(ne=>ne.id===D.referrerId):void 0,I=D.referralCode||(V==null?void 0:V.referralCode)||(V==null?void 0:V.nickname)||(D.referrerId?String(D.referrerId).slice(0,8):""),R=j(D),E=D.userNickname||((Y=o.find(ne=>ne.id===D.userId))==null?void 0:Y.nickname)||"匿名用户";return e.jsxs("div",{className:"flex items-start justify-between p-4 bg-[#0a1628] rounded-lg border border-gray-700/30 hover:border-[#38bdac]/30 transition-colors",children:[e.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[D.userAvatar?e.jsx("img",{src:D.userAvatar,alt:E,className:"w-9 h-9 rounded-full object-cover flex-shrink-0 mt-0.5",onError:ne=>{ne.currentTarget.style.display="none";const ae=ne.currentTarget.nextElementSibling;ae&&ae.classList.remove("hidden")}}):null,e.jsx("div",{className:`w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 mt-0.5 ${D.userAvatar?"hidden":""}`,children:E.charAt(0)}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"text-sm text-gray-300",children:E}),e.jsx("span",{className:"text-gray-600",children:"·"}),e.jsx("span",{className:"text-sm font-medium text-white truncate",children:R.title})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[e.jsx("span",{className:"px-1.5 py-0.5 bg-gray-700/50 rounded",children:R.subtitle}),e.jsx("span",{children:new Date(D.createdAt||0).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})})]}),I&&e.jsxs("p",{className:"text-xs text-gray-600 mt-1",children:["推荐: ",I]})]})]}),e.jsxs("div",{className:"text-right ml-4 flex-shrink-0",children:[e.jsxs("p",{className:"text-sm font-bold text-[#38bdac]",children:["+¥",Number(D.amount).toFixed(2)]}),e.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:D.paymentMethod||"微信"})]})]},D.id)}),u.length===0&&e.jsxs("div",{className:"text-center py-12",children:[e.jsx(qd,{className:"w-12 h-12 text-gray-600 mx-auto mb-3"}),e.jsx("p",{className:"text-gray-500",children:"暂无订单数据"})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsx(Ke,{children:e.jsx(Ge,{className:"text-white",children:"新注册用户"})}),e.jsx(we,{children:e.jsxs("div",{className:"space-y-3",children:[o.slice(0,5).map(D=>{var V;return e.jsxs("div",{className:"flex items-center justify-between p-4 bg-[#0a1628] rounded-lg border border-gray-700/30",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac]",children:((V=D.nickname)==null?void 0:V.charAt(0))||"?"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-white",children:D.nickname||"匿名用户"}),e.jsx("p",{className:"text-xs text-gray-500",children:D.phone||"-"})]})]}),e.jsx("p",{className:"text-xs text-gray-400",children:D.createdAt?new Date(D.createdAt).toLocaleDateString():"-"})]},D.id)}),o.length===0&&e.jsx("p",{className:"text-gray-500 text-center py-8",children:"暂无用户数据"})]})})]})]})]})}const fs=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:l,className:lt("w-full caption-bottom text-sm",r),...a})}));fs.displayName="Table";const xs=h.forwardRef(({className:r,...a},l)=>e.jsx("thead",{ref:l,className:lt("[&_tr]:border-b",r),...a}));xs.displayName="TableHeader";const ps=h.forwardRef(({className:r,...a},l)=>e.jsx("tbody",{ref:l,className:lt("[&_tr:last-child]:border-0",r),...a}));ps.displayName="TableBody";const et=h.forwardRef(({className:r,...a},l)=>e.jsx("tr",{ref:l,className:lt("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",r),...a}));et.displayName="TableRow";const be=h.forwardRef(({className:r,...a},l)=>e.jsx("th",{ref:l,className:lt("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",r),...a}));be.displayName="TableHead";const pe=h.forwardRef(({className:r,...a},l)=>e.jsx("td",{ref:l,className:lt("p-4 align-middle [&:has([role=checkbox])]:pr-0",r),...a}));pe.displayName="TableCell";const Rw=tp("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Le({className:r,variant:a,asChild:l=!1,...o}){const c=l?Jx:"span";return e.jsx(c,{className:lt(Rw({variant:a}),r),...o})}function Qe(r,a,{checkForDefaultPrevented:l=!0}={}){return function(c){if(r==null||r(c),l===!1||!c.defaultPrevented)return a==null?void 0:a(c)}}function Iw(r,a){const l=h.createContext(a),o=u=>{const{children:m,...f}=u,p=h.useMemo(()=>f,Object.values(f));return e.jsx(l.Provider,{value:p,children:m})};o.displayName=r+"Provider";function c(u){const m=h.useContext(l);if(m)return m;if(a!==void 0)return a;throw new Error(`\`${u}\` must be used within \`${r}\``)}return[o,c]}function yn(r,a=[]){let l=[];function o(u,m){const f=h.createContext(m),p=l.length;l=[...l,m];const y=v=>{var b;const{scope:k,children:P,...T}=v,S=((b=k==null?void 0:k[r])==null?void 0:b[p])||f,N=h.useMemo(()=>T,Object.values(T));return e.jsx(S.Provider,{value:N,children:P})};y.displayName=u+"Provider";function g(v,k){var S;const P=((S=k==null?void 0:k[r])==null?void 0:S[p])||f,T=h.useContext(P);if(T)return T;if(m!==void 0)return m;throw new Error(`\`${v}\` must be used within \`${u}\``)}return[y,g]}const c=()=>{const u=l.map(m=>h.createContext(m));return function(f){const p=(f==null?void 0:f[r])||u;return h.useMemo(()=>({[`__scope${r}`]:{...f,[r]:p}}),[f,p])}};return c.scopeName=r,[o,_w(c,...a)]}function _w(...r){const a=r[0];if(r.length===1)return a;const l=()=>{const o=r.map(c=>({useScope:c(),scopeName:c.scopeName}));return function(u){const m=o.reduce((f,{useScope:p,scopeName:y})=>{const v=p(u)[`__scope${y}`];return{...f,...v}},{});return h.useMemo(()=>({[`__scope${a.scopeName}`]:m}),[m])}};return l.scopeName=a.scopeName,l}var Zt=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},Mw=bo[" useId ".trim().toString()]||(()=>{}),Aw=0;function dn(r){const[a,l]=h.useState(Mw());return Zt(()=>{l(o=>o??String(Aw++))},[r]),a?`radix-${a}`:""}var Dw=bo[" useInsertionEffect ".trim().toString()]||Zt;function Un({prop:r,defaultProp:a,onChange:l=()=>{},caller:o}){const[c,u,m]=Lw({defaultProp:a,onChange:l}),f=r!==void 0,p=f?r:c;{const g=h.useRef(r!==void 0);h.useEffect(()=>{const v=g.current;v!==f&&console.warn(`${o} is changing from ${v?"controlled":"uncontrolled"} to ${f?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),g.current=f},[f,o])}const y=h.useCallback(g=>{var v;if(f){const k=Ow(g)?g(r):g;k!==r&&((v=m.current)==null||v.call(m,k))}else u(g)},[f,r,u,m]);return[p,y]}function Lw({defaultProp:r,onChange:a}){const[l,o]=h.useState(r),c=h.useRef(l),u=h.useRef(a);return Dw(()=>{u.current=a},[a]),h.useEffect(()=>{var m;c.current!==l&&((m=u.current)==null||m.call(u,l),c.current=l)},[l,c]),[l,o,u]}function Ow(r){return typeof r=="function"}function Dl(r){const a=Fw(r),l=h.forwardRef((o,c)=>{const{children:u,...m}=o,f=h.Children.toArray(u),p=f.find($w);if(p){const y=p.props.children,g=f.map(v=>v===p?h.Children.count(y)>1?h.Children.only(null):h.isValidElement(y)?y.props.children:null:v);return e.jsx(a,{...m,ref:c,children:h.isValidElement(y)?h.cloneElement(y,void 0,g):null})}return e.jsx(a,{...m,ref:c,children:u})});return l.displayName=`${r}.Slot`,l}function Fw(r){const a=h.forwardRef((l,o)=>{const{children:c,...u}=l;if(h.isValidElement(c)){const m=Uw(c),f=Bw(u,c.props);return c.type!==h.Fragment&&(f.ref=o?Nu(o,m):m),h.cloneElement(c,f)}return h.Children.count(c)>1?h.Children.only(null):null});return a.displayName=`${r}.SlotClone`,a}var zw=Symbol("radix.slottable");function $w(r){return h.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===zw}function Bw(r,a){const l={...a};for(const o in a){const c=r[o],u=a[o];/^on[A-Z]/.test(o)?c&&u?l[o]=(...f)=>{const p=u(...f);return c(...f),p}:c&&(l[o]=c):o==="style"?l[o]={...c,...u}:o==="className"&&(l[o]=[c,u].filter(Boolean).join(" "))}return{...r,...l}}function Uw(r){var o,c;let a=(o=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:o.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}var Vw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Xe=Vw.reduce((r,a)=>{const l=Dl(`Primitive.${a}`),o=h.forwardRef((c,u)=>{const{asChild:m,...f}=c,p=m?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(p,{...f,ref:u})});return o.displayName=`Primitive.${a}`,{...r,[a]:o}},{});function Ww(r,a){r&&Ol.flushSync(()=>r.dispatchEvent(a))}function hn(r){const a=h.useRef(r);return h.useEffect(()=>{a.current=r}),h.useMemo(()=>(...l)=>{var o;return(o=a.current)==null?void 0:o.call(a,...l)},[])}function Hw(r,a=globalThis==null?void 0:globalThis.document){const l=hn(r);h.useEffect(()=>{const o=c=>{c.key==="Escape"&&l(c)};return a.addEventListener("keydown",o,{capture:!0}),()=>a.removeEventListener("keydown",o,{capture:!0})},[l,a])}var Kw="DismissableLayer",Zd="dismissableLayer.update",Gw="dismissableLayer.pointerDownOutside",Yw="dismissableLayer.focusOutside",Xf,fp=h.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Su=h.forwardRef((r,a)=>{const{disableOutsidePointerEvents:l=!1,onEscapeKeyDown:o,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:m,onDismiss:f,...p}=r,y=h.useContext(fp),[g,v]=h.useState(null),k=(g==null?void 0:g.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,P]=h.useState({}),T=at(a,I=>v(I)),S=Array.from(y.layers),[N]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),b=S.indexOf(N),w=g?S.indexOf(g):-1,j=y.layersWithOutsidePointerEventsDisabled.size>0,_=w>=b,D=Xw(I=>{const R=I.target,E=[...y.branches].some(Y=>Y.contains(R));!_||E||(c==null||c(I),m==null||m(I),I.defaultPrevented||f==null||f())},k),V=Jw(I=>{const R=I.target;[...y.branches].some(Y=>Y.contains(R))||(u==null||u(I),m==null||m(I),I.defaultPrevented||f==null||f())},k);return Hw(I=>{w===y.layers.size-1&&(o==null||o(I),!I.defaultPrevented&&f&&(I.preventDefault(),f()))},k),h.useEffect(()=>{if(g)return l&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(Xf=k.body.style.pointerEvents,k.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(g)),y.layers.add(g),Jf(),()=>{l&&y.layersWithOutsidePointerEventsDisabled.size===1&&(k.body.style.pointerEvents=Xf)}},[g,k,l,y]),h.useEffect(()=>()=>{g&&(y.layers.delete(g),y.layersWithOutsidePointerEventsDisabled.delete(g),Jf())},[g,y]),h.useEffect(()=>{const I=()=>P({});return document.addEventListener(Zd,I),()=>document.removeEventListener(Zd,I)},[]),e.jsx(Xe.div,{...p,ref:T,style:{pointerEvents:j?_?"auto":"none":void 0,...r.style},onFocusCapture:Qe(r.onFocusCapture,V.onFocusCapture),onBlurCapture:Qe(r.onBlurCapture,V.onBlurCapture),onPointerDownCapture:Qe(r.onPointerDownCapture,D.onPointerDownCapture)})});Su.displayName=Kw;var Qw="DismissableLayerBranch",qw=h.forwardRef((r,a)=>{const l=h.useContext(fp),o=h.useRef(null),c=at(a,o);return h.useEffect(()=>{const u=o.current;if(u)return l.branches.add(u),()=>{l.branches.delete(u)}},[l.branches]),e.jsx(Xe.div,{...r,ref:c})});qw.displayName=Qw;function Xw(r,a=globalThis==null?void 0:globalThis.document){const l=hn(r),o=h.useRef(!1),c=h.useRef(()=>{});return h.useEffect(()=>{const u=f=>{if(f.target&&!o.current){let p=function(){xp(Gw,l,y,{discrete:!0})};const y={originalEvent:f};f.pointerType==="touch"?(a.removeEventListener("click",c.current),c.current=p,a.addEventListener("click",c.current,{once:!0})):p()}else a.removeEventListener("click",c.current);o.current=!1},m=window.setTimeout(()=>{a.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(m),a.removeEventListener("pointerdown",u),a.removeEventListener("click",c.current)}},[a,l]),{onPointerDownCapture:()=>o.current=!0}}function Jw(r,a=globalThis==null?void 0:globalThis.document){const l=hn(r),o=h.useRef(!1);return h.useEffect(()=>{const c=u=>{u.target&&!o.current&&xp(Yw,l,{originalEvent:u},{discrete:!1})};return a.addEventListener("focusin",c),()=>a.removeEventListener("focusin",c)},[a,l]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Jf(){const r=new CustomEvent(Zd);document.dispatchEvent(r)}function xp(r,a,l,{discrete:o}){const c=l.originalEvent.target,u=new CustomEvent(r,{bubbles:!1,cancelable:!0,detail:l});a&&c.addEventListener(r,a,{once:!0}),o?Ww(c,u):c.dispatchEvent(u)}var Rd="focusScope.autoFocusOnMount",Id="focusScope.autoFocusOnUnmount",Zf={bubbles:!1,cancelable:!0},Zw="FocusScope",Cu=h.forwardRef((r,a)=>{const{loop:l=!1,trapped:o=!1,onMountAutoFocus:c,onUnmountAutoFocus:u,...m}=r,[f,p]=h.useState(null),y=hn(c),g=hn(u),v=h.useRef(null),k=at(a,S=>p(S)),P=h.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;h.useEffect(()=>{if(o){let S=function(j){if(P.paused||!f)return;const _=j.target;f.contains(_)?v.current=_:sn(v.current,{select:!0})},N=function(j){if(P.paused||!f)return;const _=j.relatedTarget;_!==null&&(f.contains(_)||sn(v.current,{select:!0}))},b=function(j){if(document.activeElement===document.body)for(const D of j)D.removedNodes.length>0&&sn(f)};document.addEventListener("focusin",S),document.addEventListener("focusout",N);const w=new MutationObserver(b);return f&&w.observe(f,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",S),document.removeEventListener("focusout",N),w.disconnect()}}},[o,f,P.paused]),h.useEffect(()=>{if(f){tx.add(P);const S=document.activeElement;if(!f.contains(S)){const b=new CustomEvent(Rd,Zf);f.addEventListener(Rd,y),f.dispatchEvent(b),b.defaultPrevented||(e1(a1(pp(f)),{select:!0}),document.activeElement===S&&sn(f))}return()=>{f.removeEventListener(Rd,y),setTimeout(()=>{const b=new CustomEvent(Id,Zf);f.addEventListener(Id,g),f.dispatchEvent(b),b.defaultPrevented||sn(S??document.body,{select:!0}),f.removeEventListener(Id,g),tx.remove(P)},0)}}},[f,y,g,P]);const T=h.useCallback(S=>{if(!l&&!o||P.paused)return;const N=S.key==="Tab"&&!S.altKey&&!S.ctrlKey&&!S.metaKey,b=document.activeElement;if(N&&b){const w=S.currentTarget,[j,_]=t1(w);j&&_?!S.shiftKey&&b===_?(S.preventDefault(),l&&sn(j,{select:!0})):S.shiftKey&&b===j&&(S.preventDefault(),l&&sn(_,{select:!0})):b===w&&S.preventDefault()}},[l,o,P.paused]);return e.jsx(Xe.div,{tabIndex:-1,...m,ref:k,onKeyDown:T})});Cu.displayName=Zw;function e1(r,{select:a=!1}={}){const l=document.activeElement;for(const o of r)if(sn(o,{select:a}),document.activeElement!==l)return}function t1(r){const a=pp(r),l=ex(a,r),o=ex(a.reverse(),r);return[l,o]}function pp(r){const a=[],l=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const c=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||c?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;l.nextNode();)a.push(l.currentNode);return a}function ex(r,a){for(const l of r)if(!s1(l,{upTo:a}))return l}function s1(r,{upTo:a}){if(getComputedStyle(r).visibility==="hidden")return!0;for(;r;){if(a!==void 0&&r===a)return!1;if(getComputedStyle(r).display==="none")return!0;r=r.parentElement}return!1}function r1(r){return r instanceof HTMLInputElement&&"select"in r}function sn(r,{select:a=!1}={}){if(r&&r.focus){const l=document.activeElement;r.focus({preventScroll:!0}),r!==l&&r1(r)&&a&&r.select()}}var tx=n1();function n1(){let r=[];return{add(a){const l=r[0];a!==l&&(l==null||l.pause()),r=sx(r,a),r.unshift(a)},remove(a){var l;r=sx(r,a),(l=r[0])==null||l.resume()}}}function sx(r,a){const l=[...r],o=l.indexOf(a);return o!==-1&&l.splice(o,1),l}function a1(r){return r.filter(a=>a.tagName!=="A")}var l1="Portal",ku=h.forwardRef((r,a)=>{var f;const{container:l,...o}=r,[c,u]=h.useState(!1);Zt(()=>u(!0),[]);const m=l||c&&((f=globalThis==null?void 0:globalThis.document)==null?void 0:f.body);return m?Ev.createPortal(e.jsx(Xe.div,{...o,ref:a}),m):null});ku.displayName=l1;function i1(r,a){return h.useReducer((l,o)=>a[l][o]??l,r)}var Fl=r=>{const{present:a,children:l}=r,o=o1(a),c=typeof l=="function"?l({present:o.isPresent}):h.Children.only(l),u=at(o.ref,c1(c));return typeof l=="function"||o.isPresent?h.cloneElement(c,{ref:u}):null};Fl.displayName="Presence";function o1(r){const[a,l]=h.useState(),o=h.useRef(null),c=h.useRef(r),u=h.useRef("none"),m=r?"mounted":"unmounted",[f,p]=i1(m,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const y=Xi(o.current);u.current=f==="mounted"?y:"none"},[f]),Zt(()=>{const y=o.current,g=c.current;if(g!==r){const k=u.current,P=Xi(y);r?p("MOUNT"):P==="none"||(y==null?void 0:y.display)==="none"?p("UNMOUNT"):p(g&&k!==P?"ANIMATION_OUT":"UNMOUNT"),c.current=r}},[r,p]),Zt(()=>{if(a){let y;const g=a.ownerDocument.defaultView??window,v=P=>{const S=Xi(o.current).includes(CSS.escape(P.animationName));if(P.target===a&&S&&(p("ANIMATION_END"),!c.current)){const N=a.style.animationFillMode;a.style.animationFillMode="forwards",y=g.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=N)})}},k=P=>{P.target===a&&(u.current=Xi(o.current))};return a.addEventListener("animationstart",k),a.addEventListener("animationcancel",v),a.addEventListener("animationend",v),()=>{g.clearTimeout(y),a.removeEventListener("animationstart",k),a.removeEventListener("animationcancel",v),a.removeEventListener("animationend",v)}}else p("ANIMATION_END")},[a,p]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:h.useCallback(y=>{o.current=y?getComputedStyle(y):null,l(y)},[])}}function Xi(r){return(r==null?void 0:r.animationName)||"none"}function c1(r){var o,c;let a=(o=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:o.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}var _d=0;function gp(){h.useEffect(()=>{const r=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",r[0]??rx()),document.body.insertAdjacentElement("beforeend",r[1]??rx()),_d++,()=>{_d===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),_d--}},[])}function rx(){const r=document.createElement("span");return r.setAttribute("data-radix-focus-guard",""),r.tabIndex=0,r.style.outline="none",r.style.opacity="0",r.style.position="fixed",r.style.pointerEvents="none",r}var ir=function(){return ir=Object.assign||function(a){for(var l,o=1,c=arguments.length;o"u")return k1;var a=E1(r),l=document.documentElement.clientWidth,o=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,o-l+a[2]-a[0])}},T1=bp(),Ia="data-scroll-locked",R1=function(r,a,l,o){var c=r.left,u=r.top,m=r.right,f=r.gap;return l===void 0&&(l="margin"),` + */const wN=[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]],an=Pe("zap",wN),ju="admin_token";function bu(){try{return localStorage.getItem(ju)}catch{return null}}function SN(r){try{localStorage.setItem(ju,r)}catch{}}function CN(){try{localStorage.removeItem(ju)}catch{}}const kN="https://soulapi.quwanzhi.com",EN=15e3,PN=()=>{const r="https://soulapi.quwanzhi.com";return r.length>0?r.replace(/\/$/,""):kN};function Aa(r){const a=PN(),l=r.startsWith("/")?r:`/${r}`;return a?`${a}${l}`:l}async function So(r,a={}){const{data:l,...o}=a,c=Aa(r),u=new Headers(o.headers),m=bu();m&&u.set("Authorization",`Bearer ${m}`),l!=null&&!u.has("Content-Type")&&u.set("Content-Type","application/json");const f=l!=null?JSON.stringify(l):o.body,p=new AbortController,y=setTimeout(()=>p.abort(),EN),g=await fetch(c,{...o,headers:u,body:f,credentials:"include",signal:p.signal}).finally(()=>clearTimeout(y)),C=(g.headers.get("Content-Type")||"").includes("application/json")?await g.json():g;if(!g.ok){const P=new Error((C==null?void 0:C.error)||`HTTP ${g.status}`);throw P.status=g.status,P.data=C,P}return C}function $e(r,a){return So(r,{...a,method:"GET"})}function mt(r,a,l){return So(r,{...l,method:"POST",data:a})}function vt(r,a,l){return So(r,{...l,method:"PUT",data:a})}function Pr(r,a){return So(r,{...a,method:"DELETE"})}const TN=[{icon:Db,label:"数据概览",href:"/dashboard"},{icon:qs,label:"内容管理",href:"/content"},{icon:Yt,label:"用户管理",href:"/users"},{icon:Nb,label:"找伙伴",href:"/find-partner"},{icon:Ma,label:"推广中心",href:"/distribution"}];function RN(){const r=pn(),a=gn(),[l,o]=h.useState(!1),[c,u]=h.useState(!1);h.useEffect(()=>{o(!0)},[]),h.useEffect(()=>{if(!l)return;u(!1);let f=!1;return $e("/api/admin").then(p=>{f||(p&&p.success!==!1?u(!0):a("/login",{replace:!0}))}).catch(()=>{f||a("/login",{replace:!0})}),()=>{f=!0}},[l,a]);const m=async()=>{CN();try{await mt("/api/admin/logout",{})}catch{}a("/login",{replace:!0})};return!l||!c?e.jsxs("div",{className:"flex min-h-screen bg-[#0a1628]",children:[e.jsx("div",{className:"w-64 bg-[#0f2137] border-r border-gray-700/50"}),e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsx("div",{className:"text-[#38bdac]",children:"加载中..."})})]}):e.jsxs("div",{className:"flex min-h-screen bg-[#0a1628]",children:[e.jsxs("div",{className:"w-64 bg-[#0f2137] flex flex-col border-r border-gray-700/50 shadow-xl",children:[e.jsxs("div",{className:"p-6 border-b border-gray-700/50",children:[e.jsx("h1",{className:"text-xl font-bold text-[#38bdac]",children:"管理后台"}),e.jsx("p",{className:"text-xs text-gray-400 mt-1",children:"Soul创业派对"})]}),e.jsxs("nav",{className:"flex-1 p-4 space-y-1 overflow-y-auto",children:[TN.map(f=>{const p=r.pathname===f.href;return e.jsxs(Kd,{to:f.href,className:`flex items-center gap-3 px-4 py-3 rounded-lg transition-colors ${p?"bg-[#38bdac]/20 text-[#38bdac] font-medium":"text-gray-400 hover:bg-gray-700/50 hover:text-white"}`,children:[e.jsx(f.icon,{className:"w-5 h-5 shrink-0"}),e.jsx("span",{className:"text-sm",children:f.label})]},f.href)}),e.jsx("div",{className:"pt-4 mt-4 border-t border-gray-700/50",children:e.jsxs(Kd,{to:"/settings",className:`flex items-center gap-3 px-4 py-3 rounded-lg transition-colors ${r.pathname==="/settings"?"bg-[#38bdac]/20 text-[#38bdac] font-medium":"text-gray-400 hover:bg-gray-700/50 hover:text-white"}`,children:[e.jsx(Bn,{className:"w-5 h-5 shrink-0"}),e.jsx("span",{className:"text-sm",children:"系统设置"})]})})]}),e.jsx("div",{className:"p-4 border-t border-gray-700/50 space-y-1",children:e.jsxs("button",{type:"button",onClick:m,className:"w-full flex items-center gap-3 px-4 py-3 text-gray-400 hover:text-white rounded-lg hover:bg-gray-700/50 transition-colors",children:[e.jsx(Bb,{className:"w-5 h-5"}),e.jsx("span",{className:"text-sm",children:"退出登录"})]})})]}),e.jsx("div",{className:"flex-1 overflow-auto bg-[#0a1628] min-w-0",children:e.jsx("div",{className:"w-full min-w-[1024px] min-h-full",children:e.jsx(Nj,{})})})]})}function Vf(r,a){if(typeof r=="function")return r(a);r!=null&&(r.current=a)}function Nu(...r){return a=>{let l=!1;const o=r.map(c=>{const u=Vf(c,a);return!l&&typeof u=="function"&&(l=!0),u});if(l)return()=>{for(let c=0;c{let{children:u,...m}=o;Jx(u)&&typeof ho=="function"&&(u=ho(u._payload));const f=h.Children.toArray(u),p=f.find(DN);if(p){const y=p.props.children,g=f.map(v=>v===p?h.Children.count(y)>1?h.Children.only(null):h.isValidElement(y)?y.props.children:null:v);return e.jsx(a,{...m,ref:c,children:h.isValidElement(y)?h.cloneElement(y,void 0,g):null})}return e.jsx(a,{...m,ref:c,children:u})});return l.displayName=`${r}.Slot`,l}var ep=Zx("Slot");function MN(r){const a=h.forwardRef((l,o)=>{let{children:c,...u}=l;if(Jx(c)&&typeof ho=="function"&&(c=ho(c._payload)),h.isValidElement(c)){const m=ON(c),f=LN(u,c.props);return c.type!==h.Fragment&&(f.ref=o?Nu(o,m):m),h.cloneElement(c,f)}return h.Children.count(c)>1?h.Children.only(null):null});return a.displayName=`${r}.SlotClone`,a}var AN=Symbol("radix.slottable");function DN(r){return h.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===AN}function LN(r,a){const l={...a};for(const o in a){const c=r[o],u=a[o];/^on[A-Z]/.test(o)?c&&u?l[o]=(...f)=>{const p=u(...f);return c(...f),p}:c&&(l[o]=c):o==="style"?l[o]={...c,...u}:o==="className"&&(l[o]=[c,u].filter(Boolean).join(" "))}return{...r,...l}}function ON(r){var o,c;let a=(o=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:o.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}function tp(r){var a,l,o="";if(typeof r=="string"||typeof r=="number")o+=r;else if(typeof r=="object")if(Array.isArray(r)){var c=r.length;for(a=0;atypeof r=="boolean"?`${r}`:r===0?"0":r,Hf=sp,rp=(r,a)=>l=>{var o;if((a==null?void 0:a.variants)==null)return Hf(r,l==null?void 0:l.class,l==null?void 0:l.className);const{variants:c,defaultVariants:u}=a,m=Object.keys(c).map(y=>{const g=l==null?void 0:l[y],v=u==null?void 0:u[y];if(g===null)return null;const C=Wf(g)||Wf(v);return c[y][C]}),f=l&&Object.entries(l).reduce((y,g)=>{let[v,C]=g;return C===void 0||(y[v]=C),y},{}),p=a==null||(o=a.compoundVariants)===null||o===void 0?void 0:o.reduce((y,g)=>{let{class:v,className:C,...P}=g;return Object.entries(P).every(R=>{let[N,b]=R;return Array.isArray(b)?b.includes({...u,...f}[N]):{...u,...f}[N]===b})?[...y,v,C]:y},[]);return Hf(r,m,p,l==null?void 0:l.class,l==null?void 0:l.className)},FN=(r,a)=>{const l=new Array(r.length+a.length);for(let o=0;o({classGroupId:r,validator:a}),np=(r=new Map,a=null,l)=>({nextPart:r,validators:a,classGroupId:l}),mo="-",Kf=[],$N="arbitrary..",BN=r=>{const a=VN(r),{conflictingClassGroups:l,conflictingClassGroupModifiers:o}=r;return{getClassGroupId:m=>{if(m.startsWith("[")&&m.endsWith("]"))return UN(m);const f=m.split(mo),p=f[0]===""&&f.length>1?1:0;return ap(f,p,a)},getConflictingClassGroupIds:(m,f)=>{if(f){const p=o[m],y=l[m];return p?y?FN(y,p):p:y||Kf}return l[m]||Kf}}},ap=(r,a,l)=>{if(r.length-a===0)return l.classGroupId;const c=r[a],u=l.nextPart.get(c);if(u){const y=ap(r,a+1,u);if(y)return y}const m=l.validators;if(m===null)return;const f=a===0?r.join(mo):r.slice(a).join(mo),p=m.length;for(let y=0;yr.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const a=r.slice(1,-1),l=a.indexOf(":"),o=a.slice(0,l);return o?$N+o:void 0})(),VN=r=>{const{theme:a,classGroups:l}=r;return WN(l,a)},WN=(r,a)=>{const l=np();for(const o in r){const c=r[o];wu(c,l,o,a)}return l},wu=(r,a,l,o)=>{const c=r.length;for(let u=0;u{if(typeof r=="string"){KN(r,a,l);return}if(typeof r=="function"){GN(r,a,l,o);return}YN(r,a,l,o)},KN=(r,a,l)=>{const o=r===""?a:lp(a,r);o.classGroupId=l},GN=(r,a,l,o)=>{if(QN(r)){wu(r(o),a,l,o);return}a.validators===null&&(a.validators=[]),a.validators.push(zN(l,r))},YN=(r,a,l,o)=>{const c=Object.entries(r),u=c.length;for(let m=0;m{let l=r;const o=a.split(mo),c=o.length;for(let u=0;u"isThemeGetter"in r&&r.isThemeGetter===!0,qN=r=>{if(r<1)return{get:()=>{},set:()=>{}};let a=0,l=Object.create(null),o=Object.create(null);const c=(u,m)=>{l[u]=m,a++,a>r&&(a=0,o=l,l=Object.create(null))};return{get(u){let m=l[u];if(m!==void 0)return m;if((m=o[u])!==void 0)return c(u,m),m},set(u,m){u in l?l[u]=m:c(u,m)}}},Jd="!",Gf=":",XN=[],Yf=(r,a,l,o,c)=>({modifiers:r,hasImportantModifier:a,baseClassName:l,maybePostfixModifierPosition:o,isExternal:c}),JN=r=>{const{prefix:a,experimentalParseClassName:l}=r;let o=c=>{const u=[];let m=0,f=0,p=0,y;const g=c.length;for(let N=0;Np?y-p:void 0;return Yf(u,P,C,R)};if(a){const c=a+Gf,u=o;o=m=>m.startsWith(c)?u(m.slice(c.length)):Yf(XN,!1,m,void 0,!0)}if(l){const c=o;o=u=>l({className:u,parseClassName:c})}return o},ZN=r=>{const a=new Map;return r.orderSensitiveModifiers.forEach((l,o)=>{a.set(l,1e6+o)}),l=>{const o=[];let c=[];for(let u=0;u0&&(c.sort(),o.push(...c),c=[]),o.push(m)):c.push(m)}return c.length>0&&(c.sort(),o.push(...c)),o}},ew=r=>({cache:qN(r.cacheSize),parseClassName:JN(r),sortModifiers:ZN(r),...BN(r)}),tw=/\s+/,sw=(r,a)=>{const{parseClassName:l,getClassGroupId:o,getConflictingClassGroupIds:c,sortModifiers:u}=a,m=[],f=r.trim().split(tw);let p="";for(let y=f.length-1;y>=0;y-=1){const g=f[y],{isExternal:v,modifiers:C,hasImportantModifier:P,baseClassName:R,maybePostfixModifierPosition:N}=l(g);if(v){p=g+(p.length>0?" "+p:p);continue}let b=!!N,w=o(b?R.substring(0,N):R);if(!w){if(!b){p=g+(p.length>0?" "+p:p);continue}if(w=o(R),!w){p=g+(p.length>0?" "+p:p);continue}b=!1}const k=C.length===0?"":C.length===1?C[0]:u(C).join(":"),j=P?k+Jd:k,T=j+w;if(m.indexOf(T)>-1)continue;m.push(T);const L=c(w,b);for(let $=0;$0?" "+p:p)}return p},rw=(...r)=>{let a=0,l,o,c="";for(;a{if(typeof r=="string")return r;let a,l="";for(let o=0;o{let l,o,c,u;const m=p=>{const y=a.reduce((g,v)=>v(g),r());return l=ew(y),o=l.cache.get,c=l.cache.set,u=f,f(p)},f=p=>{const y=o(p);if(y)return y;const g=sw(p,l);return c(p,g),g};return u=m,(...p)=>u(rw(...p))},aw=[],$t=r=>{const a=l=>l[r]||aw;return a.isThemeGetter=!0,a},op=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,cp=/^\((?:(\w[\w-]*):)?(.+)\)$/i,lw=/^\d+\/\d+$/,iw=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ow=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,cw=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,dw=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,uw=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Na=r=>lw.test(r),qe=r=>!!r&&!Number.isNaN(Number(r)),Zr=r=>!!r&&Number.isInteger(Number(r)),Pd=r=>r.endsWith("%")&&qe(r.slice(0,-1)),Cr=r=>iw.test(r),hw=()=>!0,mw=r=>ow.test(r)&&!cw.test(r),dp=()=>!1,fw=r=>dw.test(r),xw=r=>uw.test(r),pw=r=>!_e(r)&&!Me(r),gw=r=>Fa(r,mp,dp),_e=r=>op.test(r),$n=r=>Fa(r,fp,mw),Td=r=>Fa(r,Nw,qe),Qf=r=>Fa(r,up,dp),yw=r=>Fa(r,hp,xw),Qi=r=>Fa(r,xp,fw),Me=r=>cp.test(r),Cl=r=>za(r,fp),vw=r=>za(r,ww),qf=r=>za(r,up),jw=r=>za(r,mp),bw=r=>za(r,hp),qi=r=>za(r,xp,!0),Fa=(r,a,l)=>{const o=op.exec(r);return o?o[1]?a(o[1]):l(o[2]):!1},za=(r,a,l=!1)=>{const o=cp.exec(r);return o?o[1]?a(o[1]):l:!1},up=r=>r==="position"||r==="percentage",hp=r=>r==="image"||r==="url",mp=r=>r==="length"||r==="size"||r==="bg-size",fp=r=>r==="length",Nw=r=>r==="number",ww=r=>r==="family-name",xp=r=>r==="shadow",Sw=()=>{const r=$t("color"),a=$t("font"),l=$t("text"),o=$t("font-weight"),c=$t("tracking"),u=$t("leading"),m=$t("breakpoint"),f=$t("container"),p=$t("spacing"),y=$t("radius"),g=$t("shadow"),v=$t("inset-shadow"),C=$t("text-shadow"),P=$t("drop-shadow"),R=$t("blur"),N=$t("perspective"),b=$t("aspect"),w=$t("ease"),k=$t("animate"),j=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],L=()=>[...T(),Me,_e],$=()=>["auto","hidden","clip","visible","scroll"],_=()=>["auto","contain","none"],I=()=>[Me,_e,p],E=()=>[Na,"full","auto",...I()],G=()=>[Zr,"none","subgrid",Me,_e],ne=()=>["auto",{span:["full",Zr,Me,_e]},Zr,Me,_e],ae=()=>[Zr,"auto",Me,_e],q=()=>["auto","min","max","fr",Me,_e],se=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],H=()=>["start","end","center","stretch","center-safe","end-safe"],ie=()=>["auto",...I()],ve=()=>[Na,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...I()],V=()=>[r,Me,_e],ce=()=>[...T(),qf,Qf,{position:[Me,_e]}],K=()=>["no-repeat",{repeat:["","x","y","space","round"]}],A=()=>["auto","cover","contain",jw,gw,{size:[Me,_e]}],F=()=>[Pd,Cl,$n],O=()=>["","none","full",y,Me,_e],Z=()=>["",qe,Cl,$n],Y=()=>["solid","dashed","dotted","double"],de=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Q=()=>[qe,Pd,qf,Qf],ge=()=>["","none",R,Me,_e],Se=()=>["none",qe,Me,_e],D=()=>["none",qe,Me,_e],fe=()=>[qe,Me,_e],ke=()=>[Na,"full",...I()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Cr],breakpoint:[Cr],color:[hw],container:[Cr],"drop-shadow":[Cr],ease:["in","out","in-out"],font:[pw],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Cr],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Cr],shadow:[Cr],spacing:["px",qe],text:[Cr],"text-shadow":[Cr],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Na,_e,Me,b]}],container:["container"],columns:[{columns:[qe,_e,Me,f]}],"break-after":[{"break-after":j()}],"break-before":[{"break-before":j()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:L()}],overflow:[{overflow:$()}],"overflow-x":[{"overflow-x":$()}],"overflow-y":[{"overflow-y":$()}],overscroll:[{overscroll:_()}],"overscroll-x":[{"overscroll-x":_()}],"overscroll-y":[{"overscroll-y":_()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:E()}],"inset-x":[{"inset-x":E()}],"inset-y":[{"inset-y":E()}],start:[{start:E()}],end:[{end:E()}],top:[{top:E()}],right:[{right:E()}],bottom:[{bottom:E()}],left:[{left:E()}],visibility:["visible","invisible","collapse"],z:[{z:[Zr,"auto",Me,_e]}],basis:[{basis:[Na,"full","auto",f,...I()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[qe,Na,"auto","initial","none",_e]}],grow:[{grow:["",qe,Me,_e]}],shrink:[{shrink:["",qe,Me,_e]}],order:[{order:[Zr,"first","last","none",Me,_e]}],"grid-cols":[{"grid-cols":G()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":ae()}],"col-end":[{"col-end":ae()}],"grid-rows":[{"grid-rows":G()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":ae()}],"row-end":[{"row-end":ae()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":q()}],"auto-rows":[{"auto-rows":q()}],gap:[{gap:I()}],"gap-x":[{"gap-x":I()}],"gap-y":[{"gap-y":I()}],"justify-content":[{justify:[...se(),"normal"]}],"justify-items":[{"justify-items":[...H(),"normal"]}],"justify-self":[{"justify-self":["auto",...H()]}],"align-content":[{content:["normal",...se()]}],"align-items":[{items:[...H(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...H(),{baseline:["","last"]}]}],"place-content":[{"place-content":se()}],"place-items":[{"place-items":[...H(),"baseline"]}],"place-self":[{"place-self":["auto",...H()]}],p:[{p:I()}],px:[{px:I()}],py:[{py:I()}],ps:[{ps:I()}],pe:[{pe:I()}],pt:[{pt:I()}],pr:[{pr:I()}],pb:[{pb:I()}],pl:[{pl:I()}],m:[{m:ie()}],mx:[{mx:ie()}],my:[{my:ie()}],ms:[{ms:ie()}],me:[{me:ie()}],mt:[{mt:ie()}],mr:[{mr:ie()}],mb:[{mb:ie()}],ml:[{ml:ie()}],"space-x":[{"space-x":I()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":I()}],"space-y-reverse":["space-y-reverse"],size:[{size:ve()}],w:[{w:[f,"screen",...ve()]}],"min-w":[{"min-w":[f,"screen","none",...ve()]}],"max-w":[{"max-w":[f,"screen","none","prose",{screen:[m]},...ve()]}],h:[{h:["screen","lh",...ve()]}],"min-h":[{"min-h":["screen","lh","none",...ve()]}],"max-h":[{"max-h":["screen","lh",...ve()]}],"font-size":[{text:["base",l,Cl,$n]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,Me,Td]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Pd,_e]}],"font-family":[{font:[vw,_e,a]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,Me,_e]}],"line-clamp":[{"line-clamp":[qe,"none",Me,Td]}],leading:[{leading:[u,...I()]}],"list-image":[{"list-image":["none",Me,_e]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Me,_e]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:V()}],"text-color":[{text:V()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:[qe,"from-font","auto",Me,$n]}],"text-decoration-color":[{decoration:V()}],"underline-offset":[{"underline-offset":[qe,"auto",Me,_e]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Me,_e]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Me,_e]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ce()}],"bg-repeat":[{bg:K()}],"bg-size":[{bg:A()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Zr,Me,_e],radial:["",Me,_e],conic:[Zr,Me,_e]},bw,yw]}],"bg-color":[{bg:V()}],"gradient-from-pos":[{from:F()}],"gradient-via-pos":[{via:F()}],"gradient-to-pos":[{to:F()}],"gradient-from":[{from:V()}],"gradient-via":[{via:V()}],"gradient-to":[{to:V()}],rounded:[{rounded:O()}],"rounded-s":[{"rounded-s":O()}],"rounded-e":[{"rounded-e":O()}],"rounded-t":[{"rounded-t":O()}],"rounded-r":[{"rounded-r":O()}],"rounded-b":[{"rounded-b":O()}],"rounded-l":[{"rounded-l":O()}],"rounded-ss":[{"rounded-ss":O()}],"rounded-se":[{"rounded-se":O()}],"rounded-ee":[{"rounded-ee":O()}],"rounded-es":[{"rounded-es":O()}],"rounded-tl":[{"rounded-tl":O()}],"rounded-tr":[{"rounded-tr":O()}],"rounded-br":[{"rounded-br":O()}],"rounded-bl":[{"rounded-bl":O()}],"border-w":[{border:Z()}],"border-w-x":[{"border-x":Z()}],"border-w-y":[{"border-y":Z()}],"border-w-s":[{"border-s":Z()}],"border-w-e":[{"border-e":Z()}],"border-w-t":[{"border-t":Z()}],"border-w-r":[{"border-r":Z()}],"border-w-b":[{"border-b":Z()}],"border-w-l":[{"border-l":Z()}],"divide-x":[{"divide-x":Z()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Z()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Y(),"hidden","none"]}],"divide-style":[{divide:[...Y(),"hidden","none"]}],"border-color":[{border:V()}],"border-color-x":[{"border-x":V()}],"border-color-y":[{"border-y":V()}],"border-color-s":[{"border-s":V()}],"border-color-e":[{"border-e":V()}],"border-color-t":[{"border-t":V()}],"border-color-r":[{"border-r":V()}],"border-color-b":[{"border-b":V()}],"border-color-l":[{"border-l":V()}],"divide-color":[{divide:V()}],"outline-style":[{outline:[...Y(),"none","hidden"]}],"outline-offset":[{"outline-offset":[qe,Me,_e]}],"outline-w":[{outline:["",qe,Cl,$n]}],"outline-color":[{outline:V()}],shadow:[{shadow:["","none",g,qi,Qi]}],"shadow-color":[{shadow:V()}],"inset-shadow":[{"inset-shadow":["none",v,qi,Qi]}],"inset-shadow-color":[{"inset-shadow":V()}],"ring-w":[{ring:Z()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:V()}],"ring-offset-w":[{"ring-offset":[qe,$n]}],"ring-offset-color":[{"ring-offset":V()}],"inset-ring-w":[{"inset-ring":Z()}],"inset-ring-color":[{"inset-ring":V()}],"text-shadow":[{"text-shadow":["none",C,qi,Qi]}],"text-shadow-color":[{"text-shadow":V()}],opacity:[{opacity:[qe,Me,_e]}],"mix-blend":[{"mix-blend":[...de(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":de()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[qe]}],"mask-image-linear-from-pos":[{"mask-linear-from":Q()}],"mask-image-linear-to-pos":[{"mask-linear-to":Q()}],"mask-image-linear-from-color":[{"mask-linear-from":V()}],"mask-image-linear-to-color":[{"mask-linear-to":V()}],"mask-image-t-from-pos":[{"mask-t-from":Q()}],"mask-image-t-to-pos":[{"mask-t-to":Q()}],"mask-image-t-from-color":[{"mask-t-from":V()}],"mask-image-t-to-color":[{"mask-t-to":V()}],"mask-image-r-from-pos":[{"mask-r-from":Q()}],"mask-image-r-to-pos":[{"mask-r-to":Q()}],"mask-image-r-from-color":[{"mask-r-from":V()}],"mask-image-r-to-color":[{"mask-r-to":V()}],"mask-image-b-from-pos":[{"mask-b-from":Q()}],"mask-image-b-to-pos":[{"mask-b-to":Q()}],"mask-image-b-from-color":[{"mask-b-from":V()}],"mask-image-b-to-color":[{"mask-b-to":V()}],"mask-image-l-from-pos":[{"mask-l-from":Q()}],"mask-image-l-to-pos":[{"mask-l-to":Q()}],"mask-image-l-from-color":[{"mask-l-from":V()}],"mask-image-l-to-color":[{"mask-l-to":V()}],"mask-image-x-from-pos":[{"mask-x-from":Q()}],"mask-image-x-to-pos":[{"mask-x-to":Q()}],"mask-image-x-from-color":[{"mask-x-from":V()}],"mask-image-x-to-color":[{"mask-x-to":V()}],"mask-image-y-from-pos":[{"mask-y-from":Q()}],"mask-image-y-to-pos":[{"mask-y-to":Q()}],"mask-image-y-from-color":[{"mask-y-from":V()}],"mask-image-y-to-color":[{"mask-y-to":V()}],"mask-image-radial":[{"mask-radial":[Me,_e]}],"mask-image-radial-from-pos":[{"mask-radial-from":Q()}],"mask-image-radial-to-pos":[{"mask-radial-to":Q()}],"mask-image-radial-from-color":[{"mask-radial-from":V()}],"mask-image-radial-to-color":[{"mask-radial-to":V()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":T()}],"mask-image-conic-pos":[{"mask-conic":[qe]}],"mask-image-conic-from-pos":[{"mask-conic-from":Q()}],"mask-image-conic-to-pos":[{"mask-conic-to":Q()}],"mask-image-conic-from-color":[{"mask-conic-from":V()}],"mask-image-conic-to-color":[{"mask-conic-to":V()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ce()}],"mask-repeat":[{mask:K()}],"mask-size":[{mask:A()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Me,_e]}],filter:[{filter:["","none",Me,_e]}],blur:[{blur:ge()}],brightness:[{brightness:[qe,Me,_e]}],contrast:[{contrast:[qe,Me,_e]}],"drop-shadow":[{"drop-shadow":["","none",P,qi,Qi]}],"drop-shadow-color":[{"drop-shadow":V()}],grayscale:[{grayscale:["",qe,Me,_e]}],"hue-rotate":[{"hue-rotate":[qe,Me,_e]}],invert:[{invert:["",qe,Me,_e]}],saturate:[{saturate:[qe,Me,_e]}],sepia:[{sepia:["",qe,Me,_e]}],"backdrop-filter":[{"backdrop-filter":["","none",Me,_e]}],"backdrop-blur":[{"backdrop-blur":ge()}],"backdrop-brightness":[{"backdrop-brightness":[qe,Me,_e]}],"backdrop-contrast":[{"backdrop-contrast":[qe,Me,_e]}],"backdrop-grayscale":[{"backdrop-grayscale":["",qe,Me,_e]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[qe,Me,_e]}],"backdrop-invert":[{"backdrop-invert":["",qe,Me,_e]}],"backdrop-opacity":[{"backdrop-opacity":[qe,Me,_e]}],"backdrop-saturate":[{"backdrop-saturate":[qe,Me,_e]}],"backdrop-sepia":[{"backdrop-sepia":["",qe,Me,_e]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":I()}],"border-spacing-x":[{"border-spacing-x":I()}],"border-spacing-y":[{"border-spacing-y":I()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Me,_e]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[qe,"initial",Me,_e]}],ease:[{ease:["linear","initial",w,Me,_e]}],delay:[{delay:[qe,Me,_e]}],animate:[{animate:["none",k,Me,_e]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[N,Me,_e]}],"perspective-origin":[{"perspective-origin":L()}],rotate:[{rotate:Se()}],"rotate-x":[{"rotate-x":Se()}],"rotate-y":[{"rotate-y":Se()}],"rotate-z":[{"rotate-z":Se()}],scale:[{scale:D()}],"scale-x":[{"scale-x":D()}],"scale-y":[{"scale-y":D()}],"scale-z":[{"scale-z":D()}],"scale-3d":["scale-3d"],skew:[{skew:fe()}],"skew-x":[{"skew-x":fe()}],"skew-y":[{"skew-y":fe()}],transform:[{transform:[Me,_e,"","none","gpu","cpu"]}],"transform-origin":[{origin:L()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ke()}],"translate-x":[{"translate-x":ke()}],"translate-y":[{"translate-y":ke()}],"translate-z":[{"translate-z":ke()}],"translate-none":["translate-none"],accent:[{accent:V()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:V()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Me,_e]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Me,_e]}],fill:[{fill:["none",...V()]}],"stroke-w":[{stroke:[qe,Cl,$n,Td]}],stroke:[{stroke:["none",...V()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Cw=nw(Sw);function lt(...r){return Cw(sp(r))}const kw=rp("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function J({className:r,variant:a,size:l,asChild:o=!1,...c}){const u=o?ep:"button";return e.jsx(u,{"data-slot":"button",className:lt(kw({variant:a,size:l,className:r})),...c})}function le({className:r,type:a,...l}){return e.jsx("input",{type:a,"data-slot":"input",className:lt("h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none placeholder:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 md:text-sm focus-visible:ring-2 focus-visible:ring-ring",r),...l})}function Ew(){const r=gn(),[a,l]=h.useState(""),[o,c]=h.useState(""),[u,m]=h.useState(""),[f,p]=h.useState(!1),y=async()=>{m(""),p(!0);try{const g=await mt("/api/admin",{username:a.trim(),password:o});if((g==null?void 0:g.success)!==!1&&(g!=null&&g.token)){SN(g.token),r("/dashboard",{replace:!0});return}m(g.error||"用户名或密码错误")}catch(g){const v=g;m(v.status===401?"用户名或密码错误":(v==null?void 0:v.message)||"网络错误,请重试")}finally{p(!1)}};return e.jsxs("div",{className:"min-h-screen bg-[#0a1628] flex items-center justify-center p-4",children:[e.jsxs("div",{className:"absolute inset-0 overflow-hidden",children:[e.jsx("div",{className:"absolute top-1/4 left-1/4 w-96 h-96 bg-[#38bdac]/5 rounded-full blur-3xl"}),e.jsx("div",{className:"absolute bottom-1/4 right-1/4 w-96 h-96 bg-blue-500/5 rounded-full blur-3xl"})]}),e.jsxs("div",{className:"w-full max-w-md relative z-10",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("div",{className:"w-16 h-16 bg-[#38bdac]/20 rounded-2xl flex items-center justify-center mx-auto mb-4 border border-[#38bdac]/30",children:e.jsx(vu,{className:"w-8 h-8 text-[#38bdac]"})}),e.jsx("h1",{className:"text-2xl font-bold text-white mb-2",children:"管理后台"}),e.jsx("p",{className:"text-gray-400",children:"一场SOUL的创业实验场"})]}),e.jsxs("div",{className:"bg-[#0f2137] rounded-2xl p-8 shadow-xl border border-gray-700/50 backdrop-blur-xl",children:[e.jsx("h2",{className:"text-xl font-semibold text-white mb-6 text-center",children:"管理员登录"}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{className:"block text-gray-400 text-sm mb-2",children:"用户名"}),e.jsxs("div",{className:"relative",children:[e.jsx(Ta,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500"}),e.jsx(le,{type:"text",value:a,onChange:g=>l(g.target.value),placeholder:"请输入用户名",className:"pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 focus:border-[#38bdac]"})]})]}),e.jsxs("div",{children:[e.jsx("label",{className:"block text-gray-400 text-sm mb-2",children:"密码"}),e.jsxs("div",{className:"relative",children:[e.jsx(zb,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500"}),e.jsx(le,{type:"password",value:o,onChange:g=>c(g.target.value),placeholder:"请输入密码",className:"pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 focus:border-[#38bdac]",onKeyDown:g=>g.key==="Enter"&&y()})]})]}),u&&e.jsx("div",{className:"bg-red-500/10 text-red-400 text-sm p-3 rounded-lg border border-red-500/20",children:u}),e.jsx(J,{onClick:y,disabled:f,className:"w-full bg-[#38bdac] hover:bg-[#2da396] text-white py-5 disabled:opacity-50",children:f?"登录中...":"登录"})]})]}),e.jsx("p",{className:"text-center text-gray-500 text-xs mt-6",children:"Soul创业实验场 · 后台管理系统"})]})]})}const Ne=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{ref:l,className:lt("rounded-xl border bg-card text-card-foreground shadow",r),...a}));Ne.displayName="Card";const Ye=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{ref:l,className:lt("flex flex-col space-y-1.5 p-6",r),...a}));Ye.displayName="CardHeader";const Qe=h.forwardRef(({className:r,...a},l)=>e.jsx("h3",{ref:l,className:lt("font-semibold leading-none tracking-tight",r),...a}));Qe.displayName="CardTitle";const jt=h.forwardRef(({className:r,...a},l)=>e.jsx("p",{ref:l,className:lt("text-sm text-muted-foreground",r),...a}));jt.displayName="CardDescription";const we=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{ref:l,className:lt("p-6 pt-0",r),...a}));we.displayName="CardContent";const Pw=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{ref:l,className:lt("flex items-center p-6 pt-0",r),...a}));Pw.displayName="CardFooter";function Tw(){const r=gn(),[a,l]=h.useState(!0),[o,c]=h.useState([]),[u,m]=h.useState([]),[f,p]=h.useState(0),[y,g]=h.useState(0),[v,C]=h.useState(0),[P,R]=h.useState(0),[N,b]=h.useState(null);async function w(){var L;l(!0),b(null);try{try{const H=await $e("/api/admin/dashboard/overview");if(H!=null&&H.success){p(H.totalUsers??0),g(H.paidOrderCount??0),C(H.totalRevenue??0),R(H.conversionRate??0),m(H.recentOrders??[]),c(H.newUsers??[]);return}}catch(H){console.error("数据概览接口失败,尝试降级拉取",H)}const[$,_]=await Promise.all([$e("/api/db/users?page=1&pageSize=10"),$e("/api/orders?page=1&pageSize=20&status=paid")]),I=typeof($==null?void 0:$.total)=="number"?$.total:((L=$==null?void 0:$.users)==null?void 0:L.length)??0,E=(_==null?void 0:_.orders)??[],G=typeof(_==null?void 0:_.total)=="number"?_.total:E.length,ne=E.filter(H=>H.status==="paid"||H.status==="completed"||H.status==="success"),ae=ne.reduce((H,ie)=>H+Number(ie.amount||0),0),q=new Set(ne.map(H=>H.userId).filter(Boolean)),se=I>0&&q.size>0?q.size/I*100:0;p(I),g(G),C(ae),R(se),m(E.slice(0,5)),c(($==null?void 0:$.users)??[])}catch($){console.error("降级拉取失败",$);const _=$;(_==null?void 0:_.status)===401?b("登录已过期,请重新登录"):(_==null?void 0:_.name)==="AbortError"?b("请求超时,请检查网络后点击重试"):b("加载失败,请检查网络或联系管理员")}finally{l(!1)}}if(h.useEffect(()=>{w();const L=setInterval(w,3e4);return()=>clearInterval(L)},[]),a)return e.jsxs("div",{className:"p-8 w-full",children:[e.jsx("h1",{className:"text-2xl font-bold mb-8 text-white",children:"数据概览"}),e.jsxs("div",{className:"flex flex-col items-center justify-center py-24",children:[e.jsx(Be,{className:"w-12 h-12 text-[#38bdac] animate-spin mb-4"}),e.jsx("span",{className:"text-gray-400",children:"加载中..."})]})]});const k=f,j=L=>{const $=L.productType||"",_=L.description||"";if(_){if($==="section"&&_.includes("章节")){if(_.includes("-")){const I=_.split("-");if(I.length>=3)return{title:`第${I[1]}章 第${I[2]}节`,subtitle:"《一场Soul的创业实验》"}}return{title:_,subtitle:"章节购买"}}return $==="fullbook"||_.includes("全书")?{title:"《一场Soul的创业实验》",subtitle:"全书购买"}:$==="match"||_.includes("伙伴")?{title:"找伙伴匹配",subtitle:"功能服务"}:{title:_,subtitle:$==="section"?"单章":$==="fullbook"?"全书":"其他"}}return $==="section"?{title:`章节 ${L.productId||""}`,subtitle:"单章购买"}:$==="fullbook"?{title:"《一场Soul的创业实验》",subtitle:"全书购买"}:$==="match"?{title:"找伙伴匹配",subtitle:"功能服务"}:{title:"未知商品",subtitle:$||"其他"}},T=[{title:"总用户数",value:k,icon:Yt,color:"text-blue-400",bg:"bg-blue-500/20",link:"/users"},{title:"总收入",value:`¥${(v??0).toFixed(2)}`,icon:Rl,color:"text-[#38bdac]",bg:"bg-[#38bdac]/20",link:"/orders"},{title:"订单数",value:y,icon:qd,color:"text-purple-400",bg:"bg-purple-500/20",link:"/orders"},{title:"转化率",value:`${typeof P=="number"?P.toFixed(1):0}%`,icon:qs,color:"text-orange-400",bg:"bg-orange-500/20",link:"/distribution"}];return e.jsxs("div",{className:"p-8 w-full",children:[e.jsx("h1",{className:"text-2xl font-bold mb-8 text-white",children:"数据概览"}),N&&e.jsxs("div",{className:"mb-6 px-4 py-3 rounded-lg bg-amber-500/20 border border-amber-500/50 text-amber-200 text-sm flex items-center justify-between",children:[e.jsx("span",{children:N}),e.jsx("button",{type:"button",onClick:()=>w(),className:"text-amber-400 hover:text-amber-300 underline",children:"重试"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8",children:T.map((L,$)=>e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl cursor-pointer hover:border-[#38bdac]/50 transition-colors group",onClick:()=>L.link&&r(L.link),children:[e.jsxs(Ye,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsx(Qe,{className:"text-sm font-medium text-gray-400",children:L.title}),e.jsx("div",{className:`p-2 rounded-lg ${L.bg}`,children:e.jsx(L.icon,{className:`w-4 h-4 ${L.color}`})})]}),e.jsx(we,{children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-2xl font-bold text-white",children:L.value}),e.jsx(tn,{className:"w-5 h-5 text-gray-600 group-hover:text-[#38bdac] transition-colors"})]})})]},$))}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-8",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{className:"flex flex-row items-center justify-between",children:[e.jsx(Qe,{className:"text-white",children:"最近订单"}),e.jsxs("button",{type:"button",onClick:()=>w(),className:"text-xs text-gray-400 hover:text-[#38bdac] flex items-center gap-1",title:"刷新",children:[e.jsx(Be,{className:"w-3.5 h-3.5"}),"刷新(每 30 秒自动更新)"]})]}),e.jsx(we,{children:e.jsxs("div",{className:"space-y-3",children:[u.slice(0,5).map(L=>{var G;const $=L.referrerId?o.find(ne=>ne.id===L.referrerId):void 0,_=L.referralCode||($==null?void 0:$.referralCode)||($==null?void 0:$.nickname)||(L.referrerId?String(L.referrerId).slice(0,8):""),I=j(L),E=L.userNickname||((G=o.find(ne=>ne.id===L.userId))==null?void 0:G.nickname)||"匿名用户";return e.jsxs("div",{className:"flex items-start justify-between p-4 bg-[#0a1628] rounded-lg border border-gray-700/30 hover:border-[#38bdac]/30 transition-colors",children:[e.jsxs("div",{className:"flex items-start gap-3 flex-1",children:[L.userAvatar?e.jsx("img",{src:L.userAvatar,alt:E,className:"w-9 h-9 rounded-full object-cover flex-shrink-0 mt-0.5",onError:ne=>{ne.currentTarget.style.display="none";const ae=ne.currentTarget.nextElementSibling;ae&&ae.classList.remove("hidden")}}):null,e.jsx("div",{className:`w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 mt-0.5 ${L.userAvatar?"hidden":""}`,children:E.charAt(0)}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx("span",{className:"text-sm text-gray-300",children:E}),e.jsx("span",{className:"text-gray-600",children:"·"}),e.jsx("span",{className:"text-sm font-medium text-white truncate",children:I.title})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs text-gray-500",children:[e.jsx("span",{className:"px-1.5 py-0.5 bg-gray-700/50 rounded",children:I.subtitle}),e.jsx("span",{children:new Date(L.createdAt||0).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})})]}),_&&e.jsxs("p",{className:"text-xs text-gray-600 mt-1",children:["推荐: ",_]})]})]}),e.jsxs("div",{className:"text-right ml-4 flex-shrink-0",children:[e.jsxs("p",{className:"text-sm font-bold text-[#38bdac]",children:["+¥",Number(L.amount).toFixed(2)]}),e.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:L.paymentMethod||"微信"})]})]},L.id)}),u.length===0&&e.jsxs("div",{className:"text-center py-12",children:[e.jsx(qd,{className:"w-12 h-12 text-gray-600 mx-auto mb-3"}),e.jsx("p",{className:"text-gray-500",children:"暂无订单数据"})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsx(Ye,{children:e.jsx(Qe,{className:"text-white",children:"新注册用户"})}),e.jsx(we,{children:e.jsxs("div",{className:"space-y-3",children:[o.slice(0,5).map(L=>{var $;return e.jsxs("div",{className:"flex items-center justify-between p-4 bg-[#0a1628] rounded-lg border border-gray-700/30",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac]",children:(($=L.nickname)==null?void 0:$.charAt(0))||"?"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium text-white",children:L.nickname||"匿名用户"}),e.jsx("p",{className:"text-xs text-gray-500",children:L.phone||"-"})]})]}),e.jsx("p",{className:"text-xs text-gray-400",children:L.createdAt?new Date(L.createdAt).toLocaleDateString():"-"})]},L.id)}),o.length===0&&e.jsx("p",{className:"text-gray-500 text-center py-8",children:"暂无用户数据"})]})})]})]})]})}const fs=h.forwardRef(({className:r,...a},l)=>e.jsx("div",{className:"relative w-full overflow-auto",children:e.jsx("table",{ref:l,className:lt("w-full caption-bottom text-sm",r),...a})}));fs.displayName="Table";const xs=h.forwardRef(({className:r,...a},l)=>e.jsx("thead",{ref:l,className:lt("[&_tr]:border-b",r),...a}));xs.displayName="TableHeader";const ps=h.forwardRef(({className:r,...a},l)=>e.jsx("tbody",{ref:l,className:lt("[&_tr:last-child]:border-0",r),...a}));ps.displayName="TableBody";const et=h.forwardRef(({className:r,...a},l)=>e.jsx("tr",{ref:l,className:lt("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",r),...a}));et.displayName="TableRow";const be=h.forwardRef(({className:r,...a},l)=>e.jsx("th",{ref:l,className:lt("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",r),...a}));be.displayName="TableHead";const pe=h.forwardRef(({className:r,...a},l)=>e.jsx("td",{ref:l,className:lt("p-4 align-middle [&:has([role=checkbox])]:pr-0",r),...a}));pe.displayName="TableCell";const Rw=rp("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-white",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function Le({className:r,variant:a,asChild:l=!1,...o}){const c=l?ep:"span";return e.jsx(c,{className:lt(Rw({variant:a}),r),...o})}function Ge(r,a,{checkForDefaultPrevented:l=!0}={}){return function(c){if(r==null||r(c),l===!1||!c.defaultPrevented)return a==null?void 0:a(c)}}function Iw(r,a){const l=h.createContext(a),o=u=>{const{children:m,...f}=u,p=h.useMemo(()=>f,Object.values(f));return e.jsx(l.Provider,{value:p,children:m})};o.displayName=r+"Provider";function c(u){const m=h.useContext(l);if(m)return m;if(a!==void 0)return a;throw new Error(`\`${u}\` must be used within \`${r}\``)}return[o,c]}function yn(r,a=[]){let l=[];function o(u,m){const f=h.createContext(m),p=l.length;l=[...l,m];const y=v=>{var w;const{scope:C,children:P,...R}=v,N=((w=C==null?void 0:C[r])==null?void 0:w[p])||f,b=h.useMemo(()=>R,Object.values(R));return e.jsx(N.Provider,{value:b,children:P})};y.displayName=u+"Provider";function g(v,C){var N;const P=((N=C==null?void 0:C[r])==null?void 0:N[p])||f,R=h.useContext(P);if(R)return R;if(m!==void 0)return m;throw new Error(`\`${v}\` must be used within \`${u}\``)}return[y,g]}const c=()=>{const u=l.map(m=>h.createContext(m));return function(f){const p=(f==null?void 0:f[r])||u;return h.useMemo(()=>({[`__scope${r}`]:{...f,[r]:p}}),[f,p])}};return c.scopeName=r,[o,_w(c,...a)]}function _w(...r){const a=r[0];if(r.length===1)return a;const l=()=>{const o=r.map(c=>({useScope:c(),scopeName:c.scopeName}));return function(u){const m=o.reduce((f,{useScope:p,scopeName:y})=>{const v=p(u)[`__scope${y}`];return{...f,...v}},{});return h.useMemo(()=>({[`__scope${a.scopeName}`]:m}),[m])}};return l.scopeName=a.scopeName,l}var Zt=globalThis!=null&&globalThis.document?h.useLayoutEffect:()=>{},Mw=bo[" useId ".trim().toString()]||(()=>{}),Aw=0;function dn(r){const[a,l]=h.useState(Mw());return Zt(()=>{l(o=>o??String(Aw++))},[r]),a?`radix-${a}`:""}var Dw=bo[" useInsertionEffect ".trim().toString()]||Zt;function Un({prop:r,defaultProp:a,onChange:l=()=>{},caller:o}){const[c,u,m]=Lw({defaultProp:a,onChange:l}),f=r!==void 0,p=f?r:c;{const g=h.useRef(r!==void 0);h.useEffect(()=>{const v=g.current;v!==f&&console.warn(`${o} is changing from ${v?"controlled":"uncontrolled"} to ${f?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),g.current=f},[f,o])}const y=h.useCallback(g=>{var v;if(f){const C=Ow(g)?g(r):g;C!==r&&((v=m.current)==null||v.call(m,C))}else u(g)},[f,r,u,m]);return[p,y]}function Lw({defaultProp:r,onChange:a}){const[l,o]=h.useState(r),c=h.useRef(l),u=h.useRef(a);return Dw(()=>{u.current=a},[a]),h.useEffect(()=>{var m;c.current!==l&&((m=u.current)==null||m.call(u,l),c.current=l)},[l,c]),[l,o,u]}function Ow(r){return typeof r=="function"}function Dl(r){const a=Fw(r),l=h.forwardRef((o,c)=>{const{children:u,...m}=o,f=h.Children.toArray(u),p=f.find($w);if(p){const y=p.props.children,g=f.map(v=>v===p?h.Children.count(y)>1?h.Children.only(null):h.isValidElement(y)?y.props.children:null:v);return e.jsx(a,{...m,ref:c,children:h.isValidElement(y)?h.cloneElement(y,void 0,g):null})}return e.jsx(a,{...m,ref:c,children:u})});return l.displayName=`${r}.Slot`,l}function Fw(r){const a=h.forwardRef((l,o)=>{const{children:c,...u}=l;if(h.isValidElement(c)){const m=Uw(c),f=Bw(u,c.props);return c.type!==h.Fragment&&(f.ref=o?Nu(o,m):m),h.cloneElement(c,f)}return h.Children.count(c)>1?h.Children.only(null):null});return a.displayName=`${r}.SlotClone`,a}var zw=Symbol("radix.slottable");function $w(r){return h.isValidElement(r)&&typeof r.type=="function"&&"__radixId"in r.type&&r.type.__radixId===zw}function Bw(r,a){const l={...a};for(const o in a){const c=r[o],u=a[o];/^on[A-Z]/.test(o)?c&&u?l[o]=(...f)=>{const p=u(...f);return c(...f),p}:c&&(l[o]=c):o==="style"?l[o]={...c,...u}:o==="className"&&(l[o]=[c,u].filter(Boolean).join(" "))}return{...r,...l}}function Uw(r){var o,c;let a=(o=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:o.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}var Vw=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Xe=Vw.reduce((r,a)=>{const l=Dl(`Primitive.${a}`),o=h.forwardRef((c,u)=>{const{asChild:m,...f}=c,p=m?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(p,{...f,ref:u})});return o.displayName=`Primitive.${a}`,{...r,[a]:o}},{});function Ww(r,a){r&&Ol.flushSync(()=>r.dispatchEvent(a))}function hn(r){const a=h.useRef(r);return h.useEffect(()=>{a.current=r}),h.useMemo(()=>(...l)=>{var o;return(o=a.current)==null?void 0:o.call(a,...l)},[])}function Hw(r,a=globalThis==null?void 0:globalThis.document){const l=hn(r);h.useEffect(()=>{const o=c=>{c.key==="Escape"&&l(c)};return a.addEventListener("keydown",o,{capture:!0}),()=>a.removeEventListener("keydown",o,{capture:!0})},[l,a])}var Kw="DismissableLayer",Zd="dismissableLayer.update",Gw="dismissableLayer.pointerDownOutside",Yw="dismissableLayer.focusOutside",Xf,pp=h.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Su=h.forwardRef((r,a)=>{const{disableOutsidePointerEvents:l=!1,onEscapeKeyDown:o,onPointerDownOutside:c,onFocusOutside:u,onInteractOutside:m,onDismiss:f,...p}=r,y=h.useContext(pp),[g,v]=h.useState(null),C=(g==null?void 0:g.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,P]=h.useState({}),R=at(a,_=>v(_)),N=Array.from(y.layers),[b]=[...y.layersWithOutsidePointerEventsDisabled].slice(-1),w=N.indexOf(b),k=g?N.indexOf(g):-1,j=y.layersWithOutsidePointerEventsDisabled.size>0,T=k>=w,L=Xw(_=>{const I=_.target,E=[...y.branches].some(G=>G.contains(I));!T||E||(c==null||c(_),m==null||m(_),_.defaultPrevented||f==null||f())},C),$=Jw(_=>{const I=_.target;[...y.branches].some(G=>G.contains(I))||(u==null||u(_),m==null||m(_),_.defaultPrevented||f==null||f())},C);return Hw(_=>{k===y.layers.size-1&&(o==null||o(_),!_.defaultPrevented&&f&&(_.preventDefault(),f()))},C),h.useEffect(()=>{if(g)return l&&(y.layersWithOutsidePointerEventsDisabled.size===0&&(Xf=C.body.style.pointerEvents,C.body.style.pointerEvents="none"),y.layersWithOutsidePointerEventsDisabled.add(g)),y.layers.add(g),Jf(),()=>{l&&y.layersWithOutsidePointerEventsDisabled.size===1&&(C.body.style.pointerEvents=Xf)}},[g,C,l,y]),h.useEffect(()=>()=>{g&&(y.layers.delete(g),y.layersWithOutsidePointerEventsDisabled.delete(g),Jf())},[g,y]),h.useEffect(()=>{const _=()=>P({});return document.addEventListener(Zd,_),()=>document.removeEventListener(Zd,_)},[]),e.jsx(Xe.div,{...p,ref:R,style:{pointerEvents:j?T?"auto":"none":void 0,...r.style},onFocusCapture:Ge(r.onFocusCapture,$.onFocusCapture),onBlurCapture:Ge(r.onBlurCapture,$.onBlurCapture),onPointerDownCapture:Ge(r.onPointerDownCapture,L.onPointerDownCapture)})});Su.displayName=Kw;var Qw="DismissableLayerBranch",qw=h.forwardRef((r,a)=>{const l=h.useContext(pp),o=h.useRef(null),c=at(a,o);return h.useEffect(()=>{const u=o.current;if(u)return l.branches.add(u),()=>{l.branches.delete(u)}},[l.branches]),e.jsx(Xe.div,{...r,ref:c})});qw.displayName=Qw;function Xw(r,a=globalThis==null?void 0:globalThis.document){const l=hn(r),o=h.useRef(!1),c=h.useRef(()=>{});return h.useEffect(()=>{const u=f=>{if(f.target&&!o.current){let p=function(){gp(Gw,l,y,{discrete:!0})};const y={originalEvent:f};f.pointerType==="touch"?(a.removeEventListener("click",c.current),c.current=p,a.addEventListener("click",c.current,{once:!0})):p()}else a.removeEventListener("click",c.current);o.current=!1},m=window.setTimeout(()=>{a.addEventListener("pointerdown",u)},0);return()=>{window.clearTimeout(m),a.removeEventListener("pointerdown",u),a.removeEventListener("click",c.current)}},[a,l]),{onPointerDownCapture:()=>o.current=!0}}function Jw(r,a=globalThis==null?void 0:globalThis.document){const l=hn(r),o=h.useRef(!1);return h.useEffect(()=>{const c=u=>{u.target&&!o.current&&gp(Yw,l,{originalEvent:u},{discrete:!1})};return a.addEventListener("focusin",c),()=>a.removeEventListener("focusin",c)},[a,l]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Jf(){const r=new CustomEvent(Zd);document.dispatchEvent(r)}function gp(r,a,l,{discrete:o}){const c=l.originalEvent.target,u=new CustomEvent(r,{bubbles:!1,cancelable:!0,detail:l});a&&c.addEventListener(r,a,{once:!0}),o?Ww(c,u):c.dispatchEvent(u)}var Rd="focusScope.autoFocusOnMount",Id="focusScope.autoFocusOnUnmount",Zf={bubbles:!1,cancelable:!0},Zw="FocusScope",Cu=h.forwardRef((r,a)=>{const{loop:l=!1,trapped:o=!1,onMountAutoFocus:c,onUnmountAutoFocus:u,...m}=r,[f,p]=h.useState(null),y=hn(c),g=hn(u),v=h.useRef(null),C=at(a,N=>p(N)),P=h.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;h.useEffect(()=>{if(o){let N=function(j){if(P.paused||!f)return;const T=j.target;f.contains(T)?v.current=T:sn(v.current,{select:!0})},b=function(j){if(P.paused||!f)return;const T=j.relatedTarget;T!==null&&(f.contains(T)||sn(v.current,{select:!0}))},w=function(j){if(document.activeElement===document.body)for(const L of j)L.removedNodes.length>0&&sn(f)};document.addEventListener("focusin",N),document.addEventListener("focusout",b);const k=new MutationObserver(w);return f&&k.observe(f,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",N),document.removeEventListener("focusout",b),k.disconnect()}}},[o,f,P.paused]),h.useEffect(()=>{if(f){tx.add(P);const N=document.activeElement;if(!f.contains(N)){const w=new CustomEvent(Rd,Zf);f.addEventListener(Rd,y),f.dispatchEvent(w),w.defaultPrevented||(e1(a1(yp(f)),{select:!0}),document.activeElement===N&&sn(f))}return()=>{f.removeEventListener(Rd,y),setTimeout(()=>{const w=new CustomEvent(Id,Zf);f.addEventListener(Id,g),f.dispatchEvent(w),w.defaultPrevented||sn(N??document.body,{select:!0}),f.removeEventListener(Id,g),tx.remove(P)},0)}}},[f,y,g,P]);const R=h.useCallback(N=>{if(!l&&!o||P.paused)return;const b=N.key==="Tab"&&!N.altKey&&!N.ctrlKey&&!N.metaKey,w=document.activeElement;if(b&&w){const k=N.currentTarget,[j,T]=t1(k);j&&T?!N.shiftKey&&w===T?(N.preventDefault(),l&&sn(j,{select:!0})):N.shiftKey&&w===j&&(N.preventDefault(),l&&sn(T,{select:!0})):w===k&&N.preventDefault()}},[l,o,P.paused]);return e.jsx(Xe.div,{tabIndex:-1,...m,ref:C,onKeyDown:R})});Cu.displayName=Zw;function e1(r,{select:a=!1}={}){const l=document.activeElement;for(const o of r)if(sn(o,{select:a}),document.activeElement!==l)return}function t1(r){const a=yp(r),l=ex(a,r),o=ex(a.reverse(),r);return[l,o]}function yp(r){const a=[],l=document.createTreeWalker(r,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const c=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||c?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;l.nextNode();)a.push(l.currentNode);return a}function ex(r,a){for(const l of r)if(!s1(l,{upTo:a}))return l}function s1(r,{upTo:a}){if(getComputedStyle(r).visibility==="hidden")return!0;for(;r;){if(a!==void 0&&r===a)return!1;if(getComputedStyle(r).display==="none")return!0;r=r.parentElement}return!1}function r1(r){return r instanceof HTMLInputElement&&"select"in r}function sn(r,{select:a=!1}={}){if(r&&r.focus){const l=document.activeElement;r.focus({preventScroll:!0}),r!==l&&r1(r)&&a&&r.select()}}var tx=n1();function n1(){let r=[];return{add(a){const l=r[0];a!==l&&(l==null||l.pause()),r=sx(r,a),r.unshift(a)},remove(a){var l;r=sx(r,a),(l=r[0])==null||l.resume()}}}function sx(r,a){const l=[...r],o=l.indexOf(a);return o!==-1&&l.splice(o,1),l}function a1(r){return r.filter(a=>a.tagName!=="A")}var l1="Portal",ku=h.forwardRef((r,a)=>{var f;const{container:l,...o}=r,[c,u]=h.useState(!1);Zt(()=>u(!0),[]);const m=l||c&&((f=globalThis==null?void 0:globalThis.document)==null?void 0:f.body);return m?Tv.createPortal(e.jsx(Xe.div,{...o,ref:a}),m):null});ku.displayName=l1;function i1(r,a){return h.useReducer((l,o)=>a[l][o]??l,r)}var Fl=r=>{const{present:a,children:l}=r,o=o1(a),c=typeof l=="function"?l({present:o.isPresent}):h.Children.only(l),u=at(o.ref,c1(c));return typeof l=="function"||o.isPresent?h.cloneElement(c,{ref:u}):null};Fl.displayName="Presence";function o1(r){const[a,l]=h.useState(),o=h.useRef(null),c=h.useRef(r),u=h.useRef("none"),m=r?"mounted":"unmounted",[f,p]=i1(m,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return h.useEffect(()=>{const y=Xi(o.current);u.current=f==="mounted"?y:"none"},[f]),Zt(()=>{const y=o.current,g=c.current;if(g!==r){const C=u.current,P=Xi(y);r?p("MOUNT"):P==="none"||(y==null?void 0:y.display)==="none"?p("UNMOUNT"):p(g&&C!==P?"ANIMATION_OUT":"UNMOUNT"),c.current=r}},[r,p]),Zt(()=>{if(a){let y;const g=a.ownerDocument.defaultView??window,v=P=>{const N=Xi(o.current).includes(CSS.escape(P.animationName));if(P.target===a&&N&&(p("ANIMATION_END"),!c.current)){const b=a.style.animationFillMode;a.style.animationFillMode="forwards",y=g.setTimeout(()=>{a.style.animationFillMode==="forwards"&&(a.style.animationFillMode=b)})}},C=P=>{P.target===a&&(u.current=Xi(o.current))};return a.addEventListener("animationstart",C),a.addEventListener("animationcancel",v),a.addEventListener("animationend",v),()=>{g.clearTimeout(y),a.removeEventListener("animationstart",C),a.removeEventListener("animationcancel",v),a.removeEventListener("animationend",v)}}else p("ANIMATION_END")},[a,p]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:h.useCallback(y=>{o.current=y?getComputedStyle(y):null,l(y)},[])}}function Xi(r){return(r==null?void 0:r.animationName)||"none"}function c1(r){var o,c;let a=(o=Object.getOwnPropertyDescriptor(r.props,"ref"))==null?void 0:o.get,l=a&&"isReactWarning"in a&&a.isReactWarning;return l?r.ref:(a=(c=Object.getOwnPropertyDescriptor(r,"ref"))==null?void 0:c.get,l=a&&"isReactWarning"in a&&a.isReactWarning,l?r.props.ref:r.props.ref||r.ref)}var _d=0;function vp(){h.useEffect(()=>{const r=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",r[0]??rx()),document.body.insertAdjacentElement("beforeend",r[1]??rx()),_d++,()=>{_d===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),_d--}},[])}function rx(){const r=document.createElement("span");return r.setAttribute("data-radix-focus-guard",""),r.tabIndex=0,r.style.outline="none",r.style.opacity="0",r.style.position="fixed",r.style.pointerEvents="none",r}var ir=function(){return ir=Object.assign||function(a){for(var l,o=1,c=arguments.length;o"u")return k1;var a=E1(r),l=document.documentElement.clientWidth,o=window.innerWidth;return{left:a[0],top:a[1],right:a[2],gap:Math.max(0,o-l+a[2]-a[0])}},T1=wp(),Ra="data-scroll-locked",R1=function(r,a,l,o){var c=r.left,u=r.top,m=r.right,f=r.gap;return l===void 0&&(l="margin"),` .`.concat(u1,` { overflow: hidden `).concat(o,`; padding-right: `).concat(f,"px ").concat(o,`; } - body[`).concat(Ia,`] { + body[`).concat(Ra,`] { overflow: hidden `).concat(o,`; overscroll-behavior: contain; `).concat([a&&"position: relative ".concat(o,";"),l==="margin"&&` @@ -478,28 +473,28 @@ Error generating stack: `+x.message+` margin-right: 0 `).concat(o,`; } - body[`).concat(Ia,`] { + body[`).concat(Ra,`] { `).concat(h1,": ").concat(f,`px; } -`)},ax=function(){var r=parseInt(document.body.getAttribute(Ia)||"0",10);return isFinite(r)?r:0},I1=function(){h.useEffect(function(){return document.body.setAttribute(Ia,(ax()+1).toString()),function(){var r=ax()-1;r<=0?document.body.removeAttribute(Ia):document.body.setAttribute(Ia,r.toString())}},[])},_1=function(r){var a=r.noRelative,l=r.noImportant,o=r.gapMode,c=o===void 0?"margin":o;I1();var u=h.useMemo(function(){return P1(c)},[c]);return h.createElement(T1,{styles:R1(u,!a,c,l?"":"!important")})},eu=!1;if(typeof window<"u")try{var Ji=Object.defineProperty({},"passive",{get:function(){return eu=!0,!0}});window.addEventListener("test",Ji,Ji),window.removeEventListener("test",Ji,Ji)}catch{eu=!1}var wa=eu?{passive:!1}:!1,M1=function(r){return r.tagName==="TEXTAREA"},Np=function(r,a){if(!(r instanceof Element))return!1;var l=window.getComputedStyle(r);return l[a]!=="hidden"&&!(l.overflowY===l.overflowX&&!M1(r)&&l[a]==="visible")},A1=function(r){return Np(r,"overflowY")},D1=function(r){return Np(r,"overflowX")},lx=function(r,a){var l=a.ownerDocument,o=a;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var c=wp(r,o);if(c){var u=Sp(r,o),m=u[1],f=u[2];if(m>f)return!0}o=o.parentNode}while(o&&o!==l.body);return!1},L1=function(r){var a=r.scrollTop,l=r.scrollHeight,o=r.clientHeight;return[a,l,o]},O1=function(r){var a=r.scrollLeft,l=r.scrollWidth,o=r.clientWidth;return[a,l,o]},wp=function(r,a){return r==="v"?A1(a):D1(a)},Sp=function(r,a){return r==="v"?L1(a):O1(a)},F1=function(r,a){return r==="h"&&a==="rtl"?-1:1},z1=function(r,a,l,o,c){var u=F1(r,window.getComputedStyle(a).direction),m=u*o,f=l.target,p=a.contains(f),y=!1,g=m>0,v=0,k=0;do{if(!f)break;var P=Sp(r,f),T=P[0],S=P[1],N=P[2],b=S-N-u*T;(T||b)&&wp(r,f)&&(v+=b,k+=T);var w=f.parentNode;f=w&&w.nodeType===Node.DOCUMENT_FRAGMENT_NODE?w.host:w}while(!p&&f!==document.body||p&&(a.contains(f)||a===f));return(g&&Math.abs(v)<1||!g&&Math.abs(k)<1)&&(y=!0),y},Zi=function(r){return"changedTouches"in r?[r.changedTouches[0].clientX,r.changedTouches[0].clientY]:[0,0]},ix=function(r){return[r.deltaX,r.deltaY]},ox=function(r){return r&&"current"in r?r.current:r},$1=function(r,a){return r[0]===a[0]&&r[1]===a[1]},B1=function(r){return` +`)},ax=function(){var r=parseInt(document.body.getAttribute(Ra)||"0",10);return isFinite(r)?r:0},I1=function(){h.useEffect(function(){return document.body.setAttribute(Ra,(ax()+1).toString()),function(){var r=ax()-1;r<=0?document.body.removeAttribute(Ra):document.body.setAttribute(Ra,r.toString())}},[])},_1=function(r){var a=r.noRelative,l=r.noImportant,o=r.gapMode,c=o===void 0?"margin":o;I1();var u=h.useMemo(function(){return P1(c)},[c]);return h.createElement(T1,{styles:R1(u,!a,c,l?"":"!important")})},eu=!1;if(typeof window<"u")try{var Ji=Object.defineProperty({},"passive",{get:function(){return eu=!0,!0}});window.addEventListener("test",Ji,Ji),window.removeEventListener("test",Ji,Ji)}catch{eu=!1}var wa=eu?{passive:!1}:!1,M1=function(r){return r.tagName==="TEXTAREA"},Sp=function(r,a){if(!(r instanceof Element))return!1;var l=window.getComputedStyle(r);return l[a]!=="hidden"&&!(l.overflowY===l.overflowX&&!M1(r)&&l[a]==="visible")},A1=function(r){return Sp(r,"overflowY")},D1=function(r){return Sp(r,"overflowX")},lx=function(r,a){var l=a.ownerDocument,o=a;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var c=Cp(r,o);if(c){var u=kp(r,o),m=u[1],f=u[2];if(m>f)return!0}o=o.parentNode}while(o&&o!==l.body);return!1},L1=function(r){var a=r.scrollTop,l=r.scrollHeight,o=r.clientHeight;return[a,l,o]},O1=function(r){var a=r.scrollLeft,l=r.scrollWidth,o=r.clientWidth;return[a,l,o]},Cp=function(r,a){return r==="v"?A1(a):D1(a)},kp=function(r,a){return r==="v"?L1(a):O1(a)},F1=function(r,a){return r==="h"&&a==="rtl"?-1:1},z1=function(r,a,l,o,c){var u=F1(r,window.getComputedStyle(a).direction),m=u*o,f=l.target,p=a.contains(f),y=!1,g=m>0,v=0,C=0;do{if(!f)break;var P=kp(r,f),R=P[0],N=P[1],b=P[2],w=N-b-u*R;(R||w)&&Cp(r,f)&&(v+=w,C+=R);var k=f.parentNode;f=k&&k.nodeType===Node.DOCUMENT_FRAGMENT_NODE?k.host:k}while(!p&&f!==document.body||p&&(a.contains(f)||a===f));return(g&&Math.abs(v)<1||!g&&Math.abs(C)<1)&&(y=!0),y},Zi=function(r){return"changedTouches"in r?[r.changedTouches[0].clientX,r.changedTouches[0].clientY]:[0,0]},ix=function(r){return[r.deltaX,r.deltaY]},ox=function(r){return r&&"current"in r?r.current:r},$1=function(r,a){return r[0]===a[0]&&r[1]===a[1]},B1=function(r){return` .block-interactivity-`.concat(r,` {pointer-events: none;} .allow-interactivity-`).concat(r,` {pointer-events: all;} -`)},U1=0,Sa=[];function V1(r){var a=h.useRef([]),l=h.useRef([0,0]),o=h.useRef(),c=h.useState(U1++)[0],u=h.useState(bp)[0],m=h.useRef(r);h.useEffect(function(){m.current=r},[r]),h.useEffect(function(){if(r.inert){document.body.classList.add("block-interactivity-".concat(c));var S=d1([r.lockRef.current],(r.shards||[]).map(ox),!0).filter(Boolean);return S.forEach(function(N){return N.classList.add("allow-interactivity-".concat(c))}),function(){document.body.classList.remove("block-interactivity-".concat(c)),S.forEach(function(N){return N.classList.remove("allow-interactivity-".concat(c))})}}},[r.inert,r.lockRef.current,r.shards]);var f=h.useCallback(function(S,N){if("touches"in S&&S.touches.length===2||S.type==="wheel"&&S.ctrlKey)return!m.current.allowPinchZoom;var b=Zi(S),w=l.current,j="deltaX"in S?S.deltaX:w[0]-b[0],_="deltaY"in S?S.deltaY:w[1]-b[1],D,V=S.target,I=Math.abs(j)>Math.abs(_)?"h":"v";if("touches"in S&&I==="h"&&V.type==="range")return!1;var R=window.getSelection(),E=R&&R.anchorNode,Y=E?E===V||E.contains(V):!1;if(Y)return!1;var ne=lx(I,V);if(!ne)return!0;if(ne?D=I:(D=I==="v"?"h":"v",ne=lx(I,V)),!ne)return!1;if(!o.current&&"changedTouches"in S&&(j||_)&&(o.current=D),!D)return!0;var ae=o.current||D;return z1(ae,N,S,ae==="h"?j:_)},[]),p=h.useCallback(function(S){var N=S;if(!(!Sa.length||Sa[Sa.length-1]!==u)){var b="deltaY"in N?ix(N):Zi(N),w=a.current.filter(function(D){return D.name===N.type&&(D.target===N.target||N.target===D.shadowParent)&&$1(D.delta,b)})[0];if(w&&w.should){N.cancelable&&N.preventDefault();return}if(!w){var j=(m.current.shards||[]).map(ox).filter(Boolean).filter(function(D){return D.contains(N.target)}),_=j.length>0?f(N,j[0]):!m.current.noIsolation;_&&N.cancelable&&N.preventDefault()}}},[]),y=h.useCallback(function(S,N,b,w){var j={name:S,delta:N,target:b,should:w,shadowParent:W1(b)};a.current.push(j),setTimeout(function(){a.current=a.current.filter(function(_){return _!==j})},1)},[]),g=h.useCallback(function(S){l.current=Zi(S),o.current=void 0},[]),v=h.useCallback(function(S){y(S.type,ix(S),S.target,f(S,r.lockRef.current))},[]),k=h.useCallback(function(S){y(S.type,Zi(S),S.target,f(S,r.lockRef.current))},[]);h.useEffect(function(){return Sa.push(u),r.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:k}),document.addEventListener("wheel",p,wa),document.addEventListener("touchmove",p,wa),document.addEventListener("touchstart",g,wa),function(){Sa=Sa.filter(function(S){return S!==u}),document.removeEventListener("wheel",p,wa),document.removeEventListener("touchmove",p,wa),document.removeEventListener("touchstart",g,wa)}},[]);var P=r.removeScrollBar,T=r.inert;return h.createElement(h.Fragment,null,T?h.createElement(u,{styles:B1(c)}):null,P?h.createElement(_1,{noRelative:r.noRelative,gapMode:r.gapMode}):null)}function W1(r){for(var a=null;r!==null;)r instanceof ShadowRoot&&(a=r.host,r=r.host),r=r.parentNode;return a}const H1=v1(jp,V1);var Eu=h.forwardRef(function(r,a){return h.createElement(Co,ir({},r,{ref:a,sideCar:H1}))});Eu.classNames=Co.classNames;var K1=function(r){if(typeof document>"u")return null;var a=Array.isArray(r)?r[0]:r;return a.ownerDocument.body},Ca=new WeakMap,eo=new WeakMap,to={},Ld=0,Cp=function(r){return r&&(r.host||Cp(r.parentNode))},G1=function(r,a){return a.map(function(l){if(r.contains(l))return l;var o=Cp(l);return o&&r.contains(o)?o:(console.error("aria-hidden",l,"in not contained inside",r,". Doing nothing"),null)}).filter(function(l){return!!l})},Y1=function(r,a,l,o){var c=G1(a,Array.isArray(r)?r:[r]);to[l]||(to[l]=new WeakMap);var u=to[l],m=[],f=new Set,p=new Set(c),y=function(v){!v||f.has(v)||(f.add(v),y(v.parentNode))};c.forEach(y);var g=function(v){!v||p.has(v)||Array.prototype.forEach.call(v.children,function(k){if(f.has(k))g(k);else try{var P=k.getAttribute(o),T=P!==null&&P!=="false",S=(Ca.get(k)||0)+1,N=(u.get(k)||0)+1;Ca.set(k,S),u.set(k,N),m.push(k),S===1&&T&&eo.set(k,!0),N===1&&k.setAttribute(l,"true"),T||k.setAttribute(o,"true")}catch(b){console.error("aria-hidden: cannot operate on ",k,b)}})};return g(a),f.clear(),Ld++,function(){m.forEach(function(v){var k=Ca.get(v)-1,P=u.get(v)-1;Ca.set(v,k),u.set(v,P),k||(eo.has(v)||v.removeAttribute(o),eo.delete(v)),P||v.removeAttribute(l)}),Ld--,Ld||(Ca=new WeakMap,Ca=new WeakMap,eo=new WeakMap,to={})}},kp=function(r,a,l){l===void 0&&(l="data-aria-hidden");var o=Array.from(Array.isArray(r)?r:[r]),c=K1(r);return c?(o.push.apply(o,Array.from(c.querySelectorAll("[aria-live], script"))),Y1(o,c,l,"aria-hidden")):function(){return null}},ko="Dialog",[Ep]=yn(ko),[Q1,Zs]=Ep(ko),Pp=r=>{const{__scopeDialog:a,children:l,open:o,defaultOpen:c,onOpenChange:u,modal:m=!0}=r,f=h.useRef(null),p=h.useRef(null),[y,g]=Un({prop:o,defaultProp:c??!1,onChange:u,caller:ko});return e.jsx(Q1,{scope:a,triggerRef:f,contentRef:p,contentId:dn(),titleId:dn(),descriptionId:dn(),open:y,onOpenChange:g,onOpenToggle:h.useCallback(()=>g(v=>!v),[g]),modal:m,children:l})};Pp.displayName=ko;var Tp="DialogTrigger",q1=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(Tp,l),u=at(a,c.triggerRef);return e.jsx(Xe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":c.open,"aria-controls":c.contentId,"data-state":Ru(c.open),...o,ref:u,onClick:Qe(r.onClick,c.onOpenToggle)})});q1.displayName=Tp;var Pu="DialogPortal",[X1,Rp]=Ep(Pu,{forceMount:void 0}),Ip=r=>{const{__scopeDialog:a,forceMount:l,children:o,container:c}=r,u=Zs(Pu,a);return e.jsx(X1,{scope:a,forceMount:l,children:h.Children.map(o,m=>e.jsx(Fl,{present:l||u.open,children:e.jsx(ku,{asChild:!0,container:c,children:m})}))})};Ip.displayName=Pu;var fo="DialogOverlay",_p=h.forwardRef((r,a)=>{const l=Rp(fo,r.__scopeDialog),{forceMount:o=l.forceMount,...c}=r,u=Zs(fo,r.__scopeDialog);return u.modal?e.jsx(Fl,{present:o||u.open,children:e.jsx(Z1,{...c,ref:a})}):null});_p.displayName=fo;var J1=Dl("DialogOverlay.RemoveScroll"),Z1=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(fo,l);return e.jsx(Eu,{as:J1,allowPinchZoom:!0,shards:[c.contentRef],children:e.jsx(Xe.div,{"data-state":Ru(c.open),...o,ref:a,style:{pointerEvents:"auto",...o.style}})})}),Vn="DialogContent",Mp=h.forwardRef((r,a)=>{const l=Rp(Vn,r.__scopeDialog),{forceMount:o=l.forceMount,...c}=r,u=Zs(Vn,r.__scopeDialog);return e.jsx(Fl,{present:o||u.open,children:u.modal?e.jsx(e2,{...c,ref:a}):e.jsx(t2,{...c,ref:a})})});Mp.displayName=Vn;var e2=h.forwardRef((r,a)=>{const l=Zs(Vn,r.__scopeDialog),o=h.useRef(null),c=at(a,l.contentRef,o);return h.useEffect(()=>{const u=o.current;if(u)return kp(u)},[]),e.jsx(Ap,{...r,ref:c,trapFocus:l.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Qe(r.onCloseAutoFocus,u=>{var m;u.preventDefault(),(m=l.triggerRef.current)==null||m.focus()}),onPointerDownOutside:Qe(r.onPointerDownOutside,u=>{const m=u.detail.originalEvent,f=m.button===0&&m.ctrlKey===!0;(m.button===2||f)&&u.preventDefault()}),onFocusOutside:Qe(r.onFocusOutside,u=>u.preventDefault())})}),t2=h.forwardRef((r,a)=>{const l=Zs(Vn,r.__scopeDialog),o=h.useRef(!1),c=h.useRef(!1);return e.jsx(Ap,{...r,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:u=>{var m,f;(m=r.onCloseAutoFocus)==null||m.call(r,u),u.defaultPrevented||(o.current||(f=l.triggerRef.current)==null||f.focus(),u.preventDefault()),o.current=!1,c.current=!1},onInteractOutside:u=>{var p,y;(p=r.onInteractOutside)==null||p.call(r,u),u.defaultPrevented||(o.current=!0,u.detail.originalEvent.type==="pointerdown"&&(c.current=!0));const m=u.target;((y=l.triggerRef.current)==null?void 0:y.contains(m))&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&c.current&&u.preventDefault()}})}),Ap=h.forwardRef((r,a)=>{const{__scopeDialog:l,trapFocus:o,onOpenAutoFocus:c,onCloseAutoFocus:u,...m}=r,f=Zs(Vn,l),p=h.useRef(null),y=at(a,p);return gp(),e.jsxs(e.Fragment,{children:[e.jsx(Cu,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:c,onUnmountAutoFocus:u,children:e.jsx(Su,{role:"dialog",id:f.contentId,"aria-describedby":f.descriptionId,"aria-labelledby":f.titleId,"data-state":Ru(f.open),...m,ref:y,onDismiss:()=>f.onOpenChange(!1)})}),e.jsxs(e.Fragment,{children:[e.jsx(s2,{titleId:f.titleId}),e.jsx(n2,{contentRef:p,descriptionId:f.descriptionId})]})]})}),Tu="DialogTitle",Dp=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(Tu,l);return e.jsx(Xe.h2,{id:c.titleId,...o,ref:a})});Dp.displayName=Tu;var Lp="DialogDescription",Op=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(Lp,l);return e.jsx(Xe.p,{id:c.descriptionId,...o,ref:a})});Op.displayName=Lp;var Fp="DialogClose",zp=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(Fp,l);return e.jsx(Xe.button,{type:"button",...o,ref:a,onClick:Qe(r.onClick,()=>c.onOpenChange(!1))})});zp.displayName=Fp;function Ru(r){return r?"open":"closed"}var $p="DialogTitleWarning",[ZC,Bp]=Iw($p,{contentName:Vn,titleName:Tu,docsSlug:"dialog"}),s2=({titleId:r})=>{const a=Bp($p),l=`\`${a.contentName}\` requires a \`${a.titleName}\` for the component to be accessible for screen reader users. +`)},U1=0,Sa=[];function V1(r){var a=h.useRef([]),l=h.useRef([0,0]),o=h.useRef(),c=h.useState(U1++)[0],u=h.useState(wp)[0],m=h.useRef(r);h.useEffect(function(){m.current=r},[r]),h.useEffect(function(){if(r.inert){document.body.classList.add("block-interactivity-".concat(c));var N=d1([r.lockRef.current],(r.shards||[]).map(ox),!0).filter(Boolean);return N.forEach(function(b){return b.classList.add("allow-interactivity-".concat(c))}),function(){document.body.classList.remove("block-interactivity-".concat(c)),N.forEach(function(b){return b.classList.remove("allow-interactivity-".concat(c))})}}},[r.inert,r.lockRef.current,r.shards]);var f=h.useCallback(function(N,b){if("touches"in N&&N.touches.length===2||N.type==="wheel"&&N.ctrlKey)return!m.current.allowPinchZoom;var w=Zi(N),k=l.current,j="deltaX"in N?N.deltaX:k[0]-w[0],T="deltaY"in N?N.deltaY:k[1]-w[1],L,$=N.target,_=Math.abs(j)>Math.abs(T)?"h":"v";if("touches"in N&&_==="h"&&$.type==="range")return!1;var I=window.getSelection(),E=I&&I.anchorNode,G=E?E===$||E.contains($):!1;if(G)return!1;var ne=lx(_,$);if(!ne)return!0;if(ne?L=_:(L=_==="v"?"h":"v",ne=lx(_,$)),!ne)return!1;if(!o.current&&"changedTouches"in N&&(j||T)&&(o.current=L),!L)return!0;var ae=o.current||L;return z1(ae,b,N,ae==="h"?j:T)},[]),p=h.useCallback(function(N){var b=N;if(!(!Sa.length||Sa[Sa.length-1]!==u)){var w="deltaY"in b?ix(b):Zi(b),k=a.current.filter(function(L){return L.name===b.type&&(L.target===b.target||b.target===L.shadowParent)&&$1(L.delta,w)})[0];if(k&&k.should){b.cancelable&&b.preventDefault();return}if(!k){var j=(m.current.shards||[]).map(ox).filter(Boolean).filter(function(L){return L.contains(b.target)}),T=j.length>0?f(b,j[0]):!m.current.noIsolation;T&&b.cancelable&&b.preventDefault()}}},[]),y=h.useCallback(function(N,b,w,k){var j={name:N,delta:b,target:w,should:k,shadowParent:W1(w)};a.current.push(j),setTimeout(function(){a.current=a.current.filter(function(T){return T!==j})},1)},[]),g=h.useCallback(function(N){l.current=Zi(N),o.current=void 0},[]),v=h.useCallback(function(N){y(N.type,ix(N),N.target,f(N,r.lockRef.current))},[]),C=h.useCallback(function(N){y(N.type,Zi(N),N.target,f(N,r.lockRef.current))},[]);h.useEffect(function(){return Sa.push(u),r.setCallbacks({onScrollCapture:v,onWheelCapture:v,onTouchMoveCapture:C}),document.addEventListener("wheel",p,wa),document.addEventListener("touchmove",p,wa),document.addEventListener("touchstart",g,wa),function(){Sa=Sa.filter(function(N){return N!==u}),document.removeEventListener("wheel",p,wa),document.removeEventListener("touchmove",p,wa),document.removeEventListener("touchstart",g,wa)}},[]);var P=r.removeScrollBar,R=r.inert;return h.createElement(h.Fragment,null,R?h.createElement(u,{styles:B1(c)}):null,P?h.createElement(_1,{noRelative:r.noRelative,gapMode:r.gapMode}):null)}function W1(r){for(var a=null;r!==null;)r instanceof ShadowRoot&&(a=r.host,r=r.host),r=r.parentNode;return a}const H1=v1(Np,V1);var Eu=h.forwardRef(function(r,a){return h.createElement(Co,ir({},r,{ref:a,sideCar:H1}))});Eu.classNames=Co.classNames;var K1=function(r){if(typeof document>"u")return null;var a=Array.isArray(r)?r[0]:r;return a.ownerDocument.body},Ca=new WeakMap,eo=new WeakMap,to={},Ld=0,Ep=function(r){return r&&(r.host||Ep(r.parentNode))},G1=function(r,a){return a.map(function(l){if(r.contains(l))return l;var o=Ep(l);return o&&r.contains(o)?o:(console.error("aria-hidden",l,"in not contained inside",r,". Doing nothing"),null)}).filter(function(l){return!!l})},Y1=function(r,a,l,o){var c=G1(a,Array.isArray(r)?r:[r]);to[l]||(to[l]=new WeakMap);var u=to[l],m=[],f=new Set,p=new Set(c),y=function(v){!v||f.has(v)||(f.add(v),y(v.parentNode))};c.forEach(y);var g=function(v){!v||p.has(v)||Array.prototype.forEach.call(v.children,function(C){if(f.has(C))g(C);else try{var P=C.getAttribute(o),R=P!==null&&P!=="false",N=(Ca.get(C)||0)+1,b=(u.get(C)||0)+1;Ca.set(C,N),u.set(C,b),m.push(C),N===1&&R&&eo.set(C,!0),b===1&&C.setAttribute(l,"true"),R||C.setAttribute(o,"true")}catch(w){console.error("aria-hidden: cannot operate on ",C,w)}})};return g(a),f.clear(),Ld++,function(){m.forEach(function(v){var C=Ca.get(v)-1,P=u.get(v)-1;Ca.set(v,C),u.set(v,P),C||(eo.has(v)||v.removeAttribute(o),eo.delete(v)),P||v.removeAttribute(l)}),Ld--,Ld||(Ca=new WeakMap,Ca=new WeakMap,eo=new WeakMap,to={})}},Pp=function(r,a,l){l===void 0&&(l="data-aria-hidden");var o=Array.from(Array.isArray(r)?r:[r]),c=K1(r);return c?(o.push.apply(o,Array.from(c.querySelectorAll("[aria-live], script"))),Y1(o,c,l,"aria-hidden")):function(){return null}},ko="Dialog",[Tp]=yn(ko),[Q1,Zs]=Tp(ko),Rp=r=>{const{__scopeDialog:a,children:l,open:o,defaultOpen:c,onOpenChange:u,modal:m=!0}=r,f=h.useRef(null),p=h.useRef(null),[y,g]=Un({prop:o,defaultProp:c??!1,onChange:u,caller:ko});return e.jsx(Q1,{scope:a,triggerRef:f,contentRef:p,contentId:dn(),titleId:dn(),descriptionId:dn(),open:y,onOpenChange:g,onOpenToggle:h.useCallback(()=>g(v=>!v),[g]),modal:m,children:l})};Rp.displayName=ko;var Ip="DialogTrigger",q1=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(Ip,l),u=at(a,c.triggerRef);return e.jsx(Xe.button,{type:"button","aria-haspopup":"dialog","aria-expanded":c.open,"aria-controls":c.contentId,"data-state":Ru(c.open),...o,ref:u,onClick:Ge(r.onClick,c.onOpenToggle)})});q1.displayName=Ip;var Pu="DialogPortal",[X1,_p]=Tp(Pu,{forceMount:void 0}),Mp=r=>{const{__scopeDialog:a,forceMount:l,children:o,container:c}=r,u=Zs(Pu,a);return e.jsx(X1,{scope:a,forceMount:l,children:h.Children.map(o,m=>e.jsx(Fl,{present:l||u.open,children:e.jsx(ku,{asChild:!0,container:c,children:m})}))})};Mp.displayName=Pu;var fo="DialogOverlay",Ap=h.forwardRef((r,a)=>{const l=_p(fo,r.__scopeDialog),{forceMount:o=l.forceMount,...c}=r,u=Zs(fo,r.__scopeDialog);return u.modal?e.jsx(Fl,{present:o||u.open,children:e.jsx(Z1,{...c,ref:a})}):null});Ap.displayName=fo;var J1=Dl("DialogOverlay.RemoveScroll"),Z1=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(fo,l);return e.jsx(Eu,{as:J1,allowPinchZoom:!0,shards:[c.contentRef],children:e.jsx(Xe.div,{"data-state":Ru(c.open),...o,ref:a,style:{pointerEvents:"auto",...o.style}})})}),Vn="DialogContent",Dp=h.forwardRef((r,a)=>{const l=_p(Vn,r.__scopeDialog),{forceMount:o=l.forceMount,...c}=r,u=Zs(Vn,r.__scopeDialog);return e.jsx(Fl,{present:o||u.open,children:u.modal?e.jsx(e2,{...c,ref:a}):e.jsx(t2,{...c,ref:a})})});Dp.displayName=Vn;var e2=h.forwardRef((r,a)=>{const l=Zs(Vn,r.__scopeDialog),o=h.useRef(null),c=at(a,l.contentRef,o);return h.useEffect(()=>{const u=o.current;if(u)return Pp(u)},[]),e.jsx(Lp,{...r,ref:c,trapFocus:l.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:Ge(r.onCloseAutoFocus,u=>{var m;u.preventDefault(),(m=l.triggerRef.current)==null||m.focus()}),onPointerDownOutside:Ge(r.onPointerDownOutside,u=>{const m=u.detail.originalEvent,f=m.button===0&&m.ctrlKey===!0;(m.button===2||f)&&u.preventDefault()}),onFocusOutside:Ge(r.onFocusOutside,u=>u.preventDefault())})}),t2=h.forwardRef((r,a)=>{const l=Zs(Vn,r.__scopeDialog),o=h.useRef(!1),c=h.useRef(!1);return e.jsx(Lp,{...r,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:u=>{var m,f;(m=r.onCloseAutoFocus)==null||m.call(r,u),u.defaultPrevented||(o.current||(f=l.triggerRef.current)==null||f.focus(),u.preventDefault()),o.current=!1,c.current=!1},onInteractOutside:u=>{var p,y;(p=r.onInteractOutside)==null||p.call(r,u),u.defaultPrevented||(o.current=!0,u.detail.originalEvent.type==="pointerdown"&&(c.current=!0));const m=u.target;((y=l.triggerRef.current)==null?void 0:y.contains(m))&&u.preventDefault(),u.detail.originalEvent.type==="focusin"&&c.current&&u.preventDefault()}})}),Lp=h.forwardRef((r,a)=>{const{__scopeDialog:l,trapFocus:o,onOpenAutoFocus:c,onCloseAutoFocus:u,...m}=r,f=Zs(Vn,l),p=h.useRef(null),y=at(a,p);return vp(),e.jsxs(e.Fragment,{children:[e.jsx(Cu,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:c,onUnmountAutoFocus:u,children:e.jsx(Su,{role:"dialog",id:f.contentId,"aria-describedby":f.descriptionId,"aria-labelledby":f.titleId,"data-state":Ru(f.open),...m,ref:y,onDismiss:()=>f.onOpenChange(!1)})}),e.jsxs(e.Fragment,{children:[e.jsx(s2,{titleId:f.titleId}),e.jsx(n2,{contentRef:p,descriptionId:f.descriptionId})]})]})}),Tu="DialogTitle",Op=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(Tu,l);return e.jsx(Xe.h2,{id:c.titleId,...o,ref:a})});Op.displayName=Tu;var Fp="DialogDescription",zp=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs(Fp,l);return e.jsx(Xe.p,{id:c.descriptionId,...o,ref:a})});zp.displayName=Fp;var $p="DialogClose",Bp=h.forwardRef((r,a)=>{const{__scopeDialog:l,...o}=r,c=Zs($p,l);return e.jsx(Xe.button,{type:"button",...o,ref:a,onClick:Ge(r.onClick,()=>c.onOpenChange(!1))})});Bp.displayName=$p;function Ru(r){return r?"open":"closed"}var Up="DialogTitleWarning",[XC,Vp]=Iw(Up,{contentName:Vn,titleName:Tu,docsSlug:"dialog"}),s2=({titleId:r})=>{const a=Vp(Up),l=`\`${a.contentName}\` requires a \`${a.titleName}\` for the component to be accessible for screen reader users. If you want to hide the \`${a.titleName}\`, you can wrap it with our VisuallyHidden component. -For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return h.useEffect(()=>{r&&(document.getElementById(r)||console.error(l))},[l,r]),null},r2="DialogDescriptionWarning",n2=({contentRef:r,descriptionId:a})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Bp(r2).contentName}}.`;return h.useEffect(()=>{var u;const c=(u=r.current)==null?void 0:u.getAttribute("aria-describedby");a&&c&&(document.getElementById(a)||console.warn(o))},[o,r,a]),null},a2=Pp,l2=Ip,i2=_p,o2=Mp,c2=Dp,d2=Op,u2=zp;function Ct(r){return e.jsx(a2,{"data-slot":"dialog",...r})}function h2(r){return e.jsx(l2,{...r})}const Up=h.forwardRef(({className:r,...a},l)=>e.jsx(i2,{ref:l,className:lt("fixed inset-0 z-50 bg-black/50",r),...a}));Up.displayName="DialogOverlay";const Nt=h.forwardRef(({className:r,children:a,showCloseButton:l=!0,...o},c)=>e.jsxs(h2,{children:[e.jsx(Up,{}),e.jsxs(o2,{ref:c,"aria-describedby":void 0,className:lt("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg border bg-background p-6 shadow-lg sm:max-w-lg",r),...o,children:[a,l&&e.jsxs(u2,{className:"absolute right-4 top-4 rounded-sm opacity-70 hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[e.jsx(ms,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Nt.displayName="DialogContent";function kt({className:r,...a}){return e.jsx("div",{className:lt("flex flex-col gap-2 text-center sm:text-left",r),...a})}function Dt({className:r,...a}){return e.jsx("div",{className:lt("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",r),...a})}function Et(r){return e.jsx(c2,{className:"text-lg font-semibold leading-none",...r})}function m2(r){return e.jsx(d2,{className:"text-sm text-muted-foreground",...r})}function Iu(r,a){const[l,o]=h.useState(r);return h.useEffect(()=>{const c=setTimeout(()=>o(r),a);return()=>clearTimeout(c)},[r,a]),l}function Qs({page:r,totalPages:a,total:l,pageSize:o,onPageChange:c,onPageSizeChange:u,pageSizeOptions:m=[10,20,50,100]}){return a<=1&&!u?null:e.jsxs("div",{className:"flex items-center justify-between gap-4 py-4 px-5 border-t border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-400",children:[e.jsxs("span",{children:["共 ",l," 条"]}),u&&e.jsx("select",{value:o,onChange:f=>u(Number(f.target.value)),className:"bg-[#0f2137] border border-gray-600 rounded px-2 py-1 text-gray-300 text-sm",children:m.map(f=>e.jsxs("option",{value:f,children:[f," 条/页"]},f))})]}),a>1&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:()=>c(1),disabled:r<=1,className:"px-2 py-1 rounded border border-gray-600 text-gray-400 hover:bg-gray-700/50 disabled:opacity-40 text-sm",children:"首页"}),e.jsx("button",{type:"button",onClick:()=>c(r-1),disabled:r<=1,className:"px-3 py-1 rounded border border-gray-600 text-gray-400 hover:bg-gray-700/50 disabled:opacity-40 text-sm",children:"上一页"}),e.jsxs("span",{className:"px-3 py-1 text-gray-400 text-sm",children:[r," / ",a]}),e.jsx("button",{type:"button",onClick:()=>c(r+1),disabled:r>=a,className:"px-3 py-1 rounded border border-gray-600 text-gray-400 hover:bg-gray-700/50 disabled:opacity-40 text-sm",children:"下一页"}),e.jsx("button",{type:"button",onClick:()=>c(a),disabled:r>=a,className:"px-2 py-1 rounded border border-gray-600 text-gray-400 hover:bg-gray-700/50 disabled:opacity-40 text-sm",children:"末页"})]})]})}function f2(){const[r,a]=h.useState([]),[l,o]=h.useState([]),[c,u]=h.useState(0),[m,f]=h.useState(0),[p,y]=h.useState(0),[g,v]=h.useState(1),[k,P]=h.useState(10),[T,S]=h.useState(""),N=Iu(T,300),[b,w]=h.useState("all"),[j,_]=h.useState(!0),[D,V]=h.useState(null),[I,R]=h.useState(null),[E,Y]=h.useState(""),[ne,ae]=h.useState(!1);async function q(){_(!0),V(null);try{const K=b==="all"?"":b==="completed"?"completed":b,A=new URLSearchParams({page:String(g),pageSize:String(k),...K&&{status:K},...N&&{search:N}}),[F,O]=await Promise.all([$e(`/api/orders?${A}`),$e("/api/db/users?page=1&pageSize=500")]);F!=null&&F.success&&(a(F.orders||[]),u(F.total??0),f(F.totalRevenue??0),y(F.todayRevenue??0)),O!=null&&O.success&&O.users&&o(O.users)}catch(K){console.error("加载订单失败",K),V("加载订单失败,请检查网络后重试")}finally{_(!1)}}h.useEffect(()=>{v(1)},[N,b]),h.useEffect(()=>{q()},[g,k,N,b]);const se=K=>{var A;return K.userNickname||((A=l.find(F=>F.id===K.userId))==null?void 0:A.nickname)||"匿名用户"},H=K=>{var A;return((A=l.find(F=>F.id===K))==null?void 0:A.phone)||"-"},ie=K=>{const A=K.productType||K.type||"",F=K.description||"";if(F){if(A==="section"&&F.includes("章节")){if(F.includes("-")){const O=F.split("-");if(O.length>=3)return{name:`第${O[1]}章 第${O[2]}节`,type:"《一场Soul的创业实验》"}}return{name:F,type:"章节购买"}}return A==="fullbook"||F.includes("全书")?{name:"《一场Soul的创业实验》",type:"全书购买"}:A==="vip"||F.includes("VIP")?{name:"VIP年度会员",type:"VIP"}:A==="match"||F.includes("伙伴")?{name:"找伙伴匹配",type:"功能服务"}:{name:F,type:"其他"}}return A==="section"?{name:`章节 ${K.productId||K.sectionId||""}`,type:"单章"}:A==="fullbook"?{name:"《一场Soul的创业实验》",type:"全书"}:A==="vip"?{name:"VIP年度会员",type:"VIP"}:A==="match"?{name:"找伙伴匹配",type:"功能"}:{name:"未知商品",type:A||"其他"}},ve=Math.ceil(c/k)||1;async function U(){var K;if(!(!(I!=null&&I.orderSn)&&!(I!=null&&I.id))){ae(!0),V(null);try{const A=await vt("/api/admin/orders/refund",{orderSn:I.orderSn||I.id,reason:E||void 0});A!=null&&A.success?(R(null),Y(""),q()):V((A==null?void 0:A.error)||"退款失败")}catch(A){const F=A;V(((K=F==null?void 0:F.data)==null?void 0:K.error)||"退款失败,请检查网络后重试")}finally{ae(!1)}}}function ce(){if(r.length===0){alert("暂无数据可导出");return}const K=["订单号","用户","手机号","商品","金额","支付方式","状态","退款原因","分销佣金","下单时间"],A=r.map(de=>{const Q=ie(de);return[de.orderSn||de.id||"",se(de),H(de.userId),Q.name,Number(de.amount||0).toFixed(2),de.paymentMethod==="wechat"?"微信支付":de.paymentMethod==="alipay"?"支付宝":de.paymentMethod||"微信支付",de.status==="refunded"?"已退款":de.status==="paid"||de.status==="completed"?"已完成":de.status==="pending"||de.status==="created"?"待支付":"已失败",de.status==="refunded"&&de.refundReason?de.refundReason:"-",de.referrerEarnings?Number(de.referrerEarnings).toFixed(2):"-",de.createdAt?new Date(de.createdAt).toLocaleString("zh-CN"):""].join(",")}),F="\uFEFF"+[K.join(","),...A].join(` -`),O=new Blob([F],{type:"text/csv;charset=utf-8"}),Z=URL.createObjectURL(O),G=document.createElement("a");G.href=Z,G.download=`订单列表_${new Date().toISOString().slice(0,10)}.csv`,G.click(),URL.revokeObjectURL(Z)}return e.jsxs("div",{className:"p-8 w-full",children:[D&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:D}),e.jsx("button",{type:"button",onClick:()=>V(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"订单管理"}),e.jsxs("p",{className:"text-gray-400 mt-1",children:["共 ",r.length," 笔订单"]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs(J,{variant:"outline",onClick:q,disabled:j,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${j?"animate-spin":""}`}),"刷新"]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx("span",{className:"text-gray-400",children:"总收入:"}),e.jsxs("span",{className:"text-[#38bdac] font-bold",children:["¥",m.toFixed(2)]}),e.jsx("span",{className:"text-gray-600",children:"|"}),e.jsx("span",{className:"text-gray-400",children:"今日:"}),e.jsxs("span",{className:"text-[#FFD700] font-bold",children:["¥",p.toFixed(2)]})]})]})]}),e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsxs("div",{className:"relative flex-1 max-w-md",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500"}),e.jsx(le,{type:"text",placeholder:"搜索订单号/用户/章节...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white placeholder:text-gray-500",value:T,onChange:K=>S(K.target.value)})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Kx,{className:"w-4 h-4 text-gray-400"}),e.jsxs("select",{value:b,onChange:K=>w(K.target.value),className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:[e.jsx("option",{value:"all",children:"全部状态"}),e.jsx("option",{value:"completed",children:"已完成"}),e.jsx("option",{value:"pending",children:"待支付"}),e.jsx("option",{value:"created",children:"已创建"}),e.jsx("option",{value:"failed",children:"已失败"}),e.jsx("option",{value:"refunded",children:"已退款"})]})]}),e.jsxs(J,{variant:"outline",onClick:ce,disabled:r.length===0,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ub,{className:"w-4 h-4 mr-2"}),"导出 CSV"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:j?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs("div",{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"订单号"}),e.jsx(be,{className:"text-gray-400",children:"用户"}),e.jsx(be,{className:"text-gray-400",children:"商品"}),e.jsx(be,{className:"text-gray-400",children:"金额"}),e.jsx(be,{className:"text-gray-400",children:"支付方式"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-gray-400",children:"退款原因"}),e.jsx(be,{className:"text-gray-400",children:"分销佣金"}),e.jsx(be,{className:"text-gray-400",children:"下单时间"}),e.jsx(be,{className:"text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[r.map(K=>{const A=ie(K);return e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsxs(pe,{className:"font-mono text-xs text-gray-400",children:[(K.orderSn||K.id||"").slice(0,12),"..."]}),e.jsx(pe,{children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white text-sm",children:se(K)}),e.jsx("p",{className:"text-gray-500 text-xs",children:H(K.userId)})]})}),e.jsx(pe,{children:e.jsxs("div",{children:[e.jsxs("p",{className:"text-white text-sm flex items-center gap-2",children:[A.name,(K.productType||K.type)==="vip"&&e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 hover:bg-amber-500/20 border-0 text-xs",children:"VIP"})]}),e.jsx("p",{className:"text-gray-500 text-xs",children:A.type})]})}),e.jsxs(pe,{className:"text-[#38bdac] font-bold",children:["¥",Number(K.amount||0).toFixed(2)]}),e.jsx(pe,{className:"text-gray-300",children:K.paymentMethod==="wechat"?"微信支付":K.paymentMethod==="alipay"?"支付宝":K.paymentMethod||"微信支付"}),e.jsx(pe,{children:K.status==="refunded"?e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 hover:bg-gray-500/20 border-0",children:"已退款"}):K.status==="paid"||K.status==="completed"?e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"已完成"}):K.status==="pending"||K.status==="created"?e.jsx(Le,{className:"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/20 border-0",children:"待支付"}):e.jsx(Le,{className:"bg-red-500/20 text-red-400 hover:bg-red-500/20 border-0",children:"已失败"})}),e.jsx(pe,{className:"text-gray-400 text-sm max-w-[120px] truncate",title:K.refundReason,children:K.status==="refunded"&&K.refundReason?K.refundReason:"-"}),e.jsx(pe,{className:"text-[#FFD700]",children:K.referrerEarnings?`¥${Number(K.referrerEarnings).toFixed(2)}`:"-"}),e.jsx(pe,{className:"text-gray-400 text-sm",children:new Date(K.createdAt).toLocaleString("zh-CN")}),e.jsx(pe,{children:(K.status==="paid"||K.status==="completed")&&e.jsxs(J,{variant:"outline",size:"sm",className:"border-orange-500/50 text-orange-400 hover:bg-orange-500/20",onClick:()=>{R(K),Y("")},children:[e.jsx(Qx,{className:"w-3 h-3 mr-1"}),"退款"]})})]},K.id)}),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:10,className:"text-center py-12 text-gray-500",children:"暂无订单数据"})})]})]}),e.jsx(Qs,{page:g,totalPages:ve,total:c,pageSize:k,onPageChange:v,onPageSizeChange:K=>{P(K),v(1)}})]})})}),e.jsx(Ct,{open:!!I,onOpenChange:K=>!K&&R(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:"订单退款"})}),I&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["订单号:",I.orderSn||I.id]}),e.jsxs("p",{className:"text-gray-400 text-sm",children:["退款金额:¥",Number(I.amount||0).toFixed(2)]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm text-gray-400 block mb-2",children:"退款原因(选填)"}),e.jsx("div",{className:"form-input",children:e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",placeholder:"如:用户申请退款",value:E,onChange:K=>Y(K.target.value)})})]}),e.jsx("p",{className:"text-orange-400/80 text-xs",children:"退款将原路退回至用户微信,且无法撤销,请确认后再操作。"})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",className:"border-gray-600 text-gray-300",onClick:()=>R(null),disabled:ne,children:"取消"}),e.jsx(J,{className:"bg-orange-500 hover:bg-orange-600 text-white",onClick:U,disabled:ne,children:ne?"退款中...":"确认退款"})]})]})})]})}var x2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],p2=x2.reduce((r,a)=>{const l=Xx(`Primitive.${a}`),o=h.forwardRef((c,u)=>{const{asChild:m,...f}=c,p=m?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(p,{...f,ref:u})});return o.displayName=`Primitive.${a}`,{...r,[a]:o}},{}),g2="Label",Vp=h.forwardRef((r,a)=>e.jsx(p2.label,{...r,ref:a,onMouseDown:l=>{var c;l.target.closest("button, input, select, textarea")||((c=r.onMouseDown)==null||c.call(r,l),!l.defaultPrevented&&l.detail>1&&l.preventDefault())}}));Vp.displayName=g2;var Wp=Vp;const te=h.forwardRef(({className:r,...a},l)=>e.jsx(Wp,{ref:l,className:lt("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",r),...a}));te.displayName=Wp.displayName;function _u(r){const a=r+"CollectionProvider",[l,o]=yn(a),[c,u]=l(a,{collectionRef:{current:null},itemMap:new Map}),m=S=>{const{scope:N,children:b}=S,w=en.useRef(null),j=en.useRef(new Map).current;return e.jsx(c,{scope:N,itemMap:j,collectionRef:w,children:b})};m.displayName=a;const f=r+"CollectionSlot",p=Dl(f),y=en.forwardRef((S,N)=>{const{scope:b,children:w}=S,j=u(f,b),_=at(N,j.collectionRef);return e.jsx(p,{ref:_,children:w})});y.displayName=f;const g=r+"CollectionItemSlot",v="data-radix-collection-item",k=Dl(g),P=en.forwardRef((S,N)=>{const{scope:b,children:w,...j}=S,_=en.useRef(null),D=at(N,_),V=u(g,b);return en.useEffect(()=>(V.itemMap.set(_,{ref:_,...j}),()=>void V.itemMap.delete(_))),e.jsx(k,{[v]:"",ref:D,children:w})});P.displayName=g;function T(S){const N=u(r+"CollectionConsumer",S);return en.useCallback(()=>{const w=N.collectionRef.current;if(!w)return[];const j=Array.from(w.querySelectorAll(`[${v}]`));return Array.from(N.itemMap.values()).sort((V,I)=>j.indexOf(V.ref.current)-j.indexOf(I.ref.current))},[N.collectionRef,N.itemMap])}return[{Provider:m,Slot:y,ItemSlot:P},T,o]}var y2=h.createContext(void 0);function Eo(r){const a=h.useContext(y2);return r||a||"ltr"}var Od="rovingFocusGroup.onEntryFocus",v2={bubbles:!1,cancelable:!0},zl="RovingFocusGroup",[tu,Hp,j2]=_u(zl),[b2,Kp]=yn(zl,[j2]),[N2,w2]=b2(zl),Gp=h.forwardRef((r,a)=>e.jsx(tu.Provider,{scope:r.__scopeRovingFocusGroup,children:e.jsx(tu.Slot,{scope:r.__scopeRovingFocusGroup,children:e.jsx(S2,{...r,ref:a})})}));Gp.displayName=zl;var S2=h.forwardRef((r,a)=>{const{__scopeRovingFocusGroup:l,orientation:o,loop:c=!1,dir:u,currentTabStopId:m,defaultCurrentTabStopId:f,onCurrentTabStopIdChange:p,onEntryFocus:y,preventScrollOnEntryFocus:g=!1,...v}=r,k=h.useRef(null),P=at(a,k),T=Eo(u),[S,N]=Un({prop:m,defaultProp:f??null,onChange:p,caller:zl}),[b,w]=h.useState(!1),j=hn(y),_=Hp(l),D=h.useRef(!1),[V,I]=h.useState(0);return h.useEffect(()=>{const R=k.current;if(R)return R.addEventListener(Od,j),()=>R.removeEventListener(Od,j)},[j]),e.jsx(N2,{scope:l,orientation:o,dir:T,loop:c,currentTabStopId:S,onItemFocus:h.useCallback(R=>N(R),[N]),onItemShiftTab:h.useCallback(()=>w(!0),[]),onFocusableItemAdd:h.useCallback(()=>I(R=>R+1),[]),onFocusableItemRemove:h.useCallback(()=>I(R=>R-1),[]),children:e.jsx(Xe.div,{tabIndex:b||V===0?-1:0,"data-orientation":o,...v,ref:P,style:{outline:"none",...r.style},onMouseDown:Qe(r.onMouseDown,()=>{D.current=!0}),onFocus:Qe(r.onFocus,R=>{const E=!D.current;if(R.target===R.currentTarget&&E&&!b){const Y=new CustomEvent(Od,v2);if(R.currentTarget.dispatchEvent(Y),!Y.defaultPrevented){const ne=_().filter(ie=>ie.focusable),ae=ne.find(ie=>ie.active),q=ne.find(ie=>ie.id===S),H=[ae,q,...ne].filter(Boolean).map(ie=>ie.ref.current);qp(H,g)}}D.current=!1}),onBlur:Qe(r.onBlur,()=>w(!1))})})}),Yp="RovingFocusGroupItem",Qp=h.forwardRef((r,a)=>{const{__scopeRovingFocusGroup:l,focusable:o=!0,active:c=!1,tabStopId:u,children:m,...f}=r,p=dn(),y=u||p,g=w2(Yp,l),v=g.currentTabStopId===y,k=Hp(l),{onFocusableItemAdd:P,onFocusableItemRemove:T,currentTabStopId:S}=g;return h.useEffect(()=>{if(o)return P(),()=>T()},[o,P,T]),e.jsx(tu.ItemSlot,{scope:l,id:y,focusable:o,active:c,children:e.jsx(Xe.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...f,ref:a,onMouseDown:Qe(r.onMouseDown,N=>{o?g.onItemFocus(y):N.preventDefault()}),onFocus:Qe(r.onFocus,()=>g.onItemFocus(y)),onKeyDown:Qe(r.onKeyDown,N=>{if(N.key==="Tab"&&N.shiftKey){g.onItemShiftTab();return}if(N.target!==N.currentTarget)return;const b=E2(N,g.orientation,g.dir);if(b!==void 0){if(N.metaKey||N.ctrlKey||N.altKey||N.shiftKey)return;N.preventDefault();let j=k().filter(_=>_.focusable).map(_=>_.ref.current);if(b==="last")j.reverse();else if(b==="prev"||b==="next"){b==="prev"&&j.reverse();const _=j.indexOf(N.currentTarget);j=g.loop?P2(j,_+1):j.slice(_+1)}setTimeout(()=>qp(j))}}),children:typeof m=="function"?m({isCurrentTabStop:v,hasTabStop:S!=null}):m})})});Qp.displayName=Yp;var C2={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function k2(r,a){return a!=="rtl"?r:r==="ArrowLeft"?"ArrowRight":r==="ArrowRight"?"ArrowLeft":r}function E2(r,a,l){const o=k2(r.key,l);if(!(a==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(a==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return C2[o]}function qp(r,a=!1){const l=document.activeElement;for(const o of r)if(o===l||(o.focus({preventScroll:a}),document.activeElement!==l))return}function P2(r,a){return r.map((l,o)=>r[(a+o)%r.length])}var T2=Gp,R2=Qp,Po="Tabs",[I2]=yn(Po,[Kp]),Xp=Kp(),[_2,Mu]=I2(Po),Jp=h.forwardRef((r,a)=>{const{__scopeTabs:l,value:o,onValueChange:c,defaultValue:u,orientation:m="horizontal",dir:f,activationMode:p="automatic",...y}=r,g=Eo(f),[v,k]=Un({prop:o,onChange:c,defaultProp:u??"",caller:Po});return e.jsx(_2,{scope:l,baseId:dn(),value:v,onValueChange:k,orientation:m,dir:g,activationMode:p,children:e.jsx(Xe.div,{dir:g,"data-orientation":m,...y,ref:a})})});Jp.displayName=Po;var Zp="TabsList",e0=h.forwardRef((r,a)=>{const{__scopeTabs:l,loop:o=!0,...c}=r,u=Mu(Zp,l),m=Xp(l);return e.jsx(T2,{asChild:!0,...m,orientation:u.orientation,dir:u.dir,loop:o,children:e.jsx(Xe.div,{role:"tablist","aria-orientation":u.orientation,...c,ref:a})})});e0.displayName=Zp;var t0="TabsTrigger",s0=h.forwardRef((r,a)=>{const{__scopeTabs:l,value:o,disabled:c=!1,...u}=r,m=Mu(t0,l),f=Xp(l),p=a0(m.baseId,o),y=l0(m.baseId,o),g=o===m.value;return e.jsx(R2,{asChild:!0,...f,focusable:!c,active:g,children:e.jsx(Xe.button,{type:"button",role:"tab","aria-selected":g,"aria-controls":y,"data-state":g?"active":"inactive","data-disabled":c?"":void 0,disabled:c,id:p,...u,ref:a,onMouseDown:Qe(r.onMouseDown,v=>{!c&&v.button===0&&v.ctrlKey===!1?m.onValueChange(o):v.preventDefault()}),onKeyDown:Qe(r.onKeyDown,v=>{[" ","Enter"].includes(v.key)&&m.onValueChange(o)}),onFocus:Qe(r.onFocus,()=>{const v=m.activationMode!=="manual";!g&&!c&&v&&m.onValueChange(o)})})})});s0.displayName=t0;var r0="TabsContent",n0=h.forwardRef((r,a)=>{const{__scopeTabs:l,value:o,forceMount:c,children:u,...m}=r,f=Mu(r0,l),p=a0(f.baseId,o),y=l0(f.baseId,o),g=o===f.value,v=h.useRef(g);return h.useEffect(()=>{const k=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(k)},[]),e.jsx(Fl,{present:c||g,children:({present:k})=>e.jsx(Xe.div,{"data-state":g?"active":"inactive","data-orientation":f.orientation,role:"tabpanel","aria-labelledby":p,hidden:!k,id:y,tabIndex:0,...m,ref:a,style:{...r.style,animationDuration:v.current?"0s":void 0},children:k&&u})})});n0.displayName=r0;function a0(r,a){return`${r}-trigger-${a}`}function l0(r,a){return`${r}-content-${a}`}var M2=Jp,i0=e0,o0=s0,c0=n0;const $l=M2,$a=h.forwardRef(({className:r,...a},l)=>e.jsx(i0,{ref:l,className:lt("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",r),...a}));$a.displayName=i0.displayName;const Lt=h.forwardRef(({className:r,...a},l)=>e.jsx(o0,{ref:l,className:lt("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",r),...a}));Lt.displayName=o0.displayName;const Ot=h.forwardRef(({className:r,...a},l)=>e.jsx(c0,{ref:l,className:lt("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",r),...a}));Ot.displayName=c0.displayName;function Au(r){const a=h.useRef({value:r,previous:r});return h.useMemo(()=>(a.current.value!==r&&(a.current.previous=a.current.value,a.current.value=r),a.current.previous),[r])}function Du(r){const[a,l]=h.useState(void 0);return Zt(()=>{if(r){l({width:r.offsetWidth,height:r.offsetHeight});const o=new ResizeObserver(c=>{if(!Array.isArray(c)||!c.length)return;const u=c[0];let m,f;if("borderBoxSize"in u){const p=u.borderBoxSize,y=Array.isArray(p)?p[0]:p;m=y.inlineSize,f=y.blockSize}else m=r.offsetWidth,f=r.offsetHeight;l({width:m,height:f})});return o.observe(r,{box:"border-box"}),()=>o.unobserve(r)}else l(void 0)},[r]),a}var To="Switch",[A2]=yn(To),[D2,L2]=A2(To),d0=h.forwardRef((r,a)=>{const{__scopeSwitch:l,name:o,checked:c,defaultChecked:u,required:m,disabled:f,value:p="on",onCheckedChange:y,form:g,...v}=r,[k,P]=h.useState(null),T=at(a,j=>P(j)),S=h.useRef(!1),N=k?g||!!k.closest("form"):!0,[b,w]=Un({prop:c,defaultProp:u??!1,onChange:y,caller:To});return e.jsxs(D2,{scope:l,checked:b,disabled:f,children:[e.jsx(Xe.button,{type:"button",role:"switch","aria-checked":b,"aria-required":m,"data-state":f0(b),"data-disabled":f?"":void 0,disabled:f,value:p,...v,ref:T,onClick:Qe(r.onClick,j=>{w(_=>!_),N&&(S.current=j.isPropagationStopped(),S.current||j.stopPropagation())})}),N&&e.jsx(m0,{control:k,bubbles:!S.current,name:o,value:p,checked:b,required:m,disabled:f,form:g,style:{transform:"translateX(-100%)"}})]})});d0.displayName=To;var u0="SwitchThumb",h0=h.forwardRef((r,a)=>{const{__scopeSwitch:l,...o}=r,c=L2(u0,l);return e.jsx(Xe.span,{"data-state":f0(c.checked),"data-disabled":c.disabled?"":void 0,...o,ref:a})});h0.displayName=u0;var O2="SwitchBubbleInput",m0=h.forwardRef(({__scopeSwitch:r,control:a,checked:l,bubbles:o=!0,...c},u)=>{const m=h.useRef(null),f=at(m,u),p=Au(l),y=Du(a);return h.useEffect(()=>{const g=m.current;if(!g)return;const v=window.HTMLInputElement.prototype,P=Object.getOwnPropertyDescriptor(v,"checked").set;if(p!==l&&P){const T=new Event("click",{bubbles:o});P.call(g,l),g.dispatchEvent(T)}},[p,l,o]),e.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:l,...c,tabIndex:-1,ref:f,style:{...c.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});m0.displayName=O2;function f0(r){return r?"checked":"unchecked"}var x0=d0,F2=h0;const ot=h.forwardRef(({className:r,...a},l)=>e.jsx(x0,{className:lt("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#38bdac] focus-visible:ring-offset-2 focus-visible:ring-offset-[#0a1628] disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-gray-600 data-[state=checked]:bg-[#38bdac]",r),...a,ref:l,children:e.jsx(F2,{className:lt("pointer-events-none block h-4 w-4 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));ot.displayName=x0.displayName;const un=h.forwardRef(({className:r,...a},l)=>e.jsx("textarea",{className:lt("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:l,...a}));un.displayName="Textarea";function p0({open:r,onClose:a,userId:l,onUserUpdated:o}){var ze;const[c,u]=h.useState(null),[m,f]=h.useState([]),[p,y]=h.useState([]),[g,v]=h.useState(!1),[k,P]=h.useState(!1),[T,S]=h.useState(!1),[N,b]=h.useState("info"),[w,j]=h.useState(""),[_,D]=h.useState(""),[V,I]=h.useState([]),[R,E]=h.useState(""),[Y,ne]=h.useState(!1),[ae,q]=h.useState(null),[se,H]=h.useState(null),[ie,ve]=h.useState(""),[U,ce]=h.useState(""),[K,A]=h.useState(""),[F,O]=h.useState(!1),[Z,G]=h.useState(null),[de,Q]=h.useState("");h.useEffect(()=>{r&&l&&(b("info"),q(null),H(null),G(null),Q(""),ge())},[r,l]);async function ge(){if(l){v(!0);try{const he=await $e(`/api/db/users?id=${encodeURIComponent(l)}`);if(he!=null&&he.success&&he.user){const xe=he.user;u(xe),j(xe.phone||""),D(xe.nickname||""),ve(xe.phone||""),ce(xe.wechatId||""),A(xe.openId||"");try{I(typeof xe.tags=="string"?JSON.parse(xe.tags||"[]"):[])}catch{I([])}}try{const xe=await $e(`/api/user/track?userId=${encodeURIComponent(l)}&limit=50`);xe!=null&&xe.success&&xe.tracks&&f(xe.tracks)}catch{f([])}try{const xe=await $e(`/api/db/users/referrals?userId=${encodeURIComponent(l)}`);xe!=null&&xe.success&&xe.referrals&&y(xe.referrals)}catch{y([])}}catch(he){console.error("Load user detail error:",he)}finally{v(!1)}}}async function Se(){if(!(c!=null&&c.phone)){alert("用户未绑定手机号,无法同步");return}P(!0);try{const he=await mt("/api/ckb/sync",{action:"full_sync",phone:c.phone,userId:c.id});he!=null&&he.success?(alert("同步成功"),ge()):alert("同步失败: "+(he==null?void 0:he.error))}catch(he){console.error("Sync CKB error:",he),alert("同步失败")}finally{P(!1)}}async function L(){if(c){S(!0);try{const he={id:c.id,phone:w||void 0,nickname:_||void 0,tags:JSON.stringify(V)},xe=await vt("/api/db/users",he);xe!=null&&xe.success?(alert("保存成功"),ge(),o==null||o()):alert("保存失败: "+(xe==null?void 0:xe.error))}catch(he){console.error("Save user error:",he),alert("保存失败")}finally{S(!1)}}}const fe=()=>{R&&!V.includes(R)&&(I([...V,R]),E(""))},ke=he=>I(V.filter(xe=>xe!==he));async function Ve(){if(!ie&&!K&&!U){H("请至少输入手机号、微信号或 OpenID 中的一项");return}ne(!0),H(null),q(null);try{const he=new URLSearchParams;ie&&he.set("phone",ie),K&&he.set("openId",K),U&&he.set("wechatId",U);const xe=await $e(`/api/admin/shensheshou/query?${he}`);xe!=null&&xe.success&&xe.data?(q(xe.data),c&&await We(xe.data)):H((xe==null?void 0:xe.error)||"未查询到数据,该用户可能未在神射手收录")}catch(he){console.error("SSS query error:",he),H("请求失败,请检查神射手接口配置")}finally{ne(!1)}}async function We(he){if(c)try{await mt("/api/admin/shensheshou/enrich",{userId:c.id,phone:ie||c.phone||"",openId:K||c.openId||"",wechatId:U||c.wechatId||""}),ge()}catch(xe){console.error("SSS enrich error:",xe)}}async function Ye(){if(c){O(!0),G(null);try{const he={users:[{phone:c.phone||"",name:c.nickname||"",openId:c.openId||"",tags:V}]},xe=await mt("/api/admin/shensheshou/ingest",he);xe!=null&&xe.success&&xe.data?G(xe.data):G({error:(xe==null?void 0:xe.error)||"推送失败"})}catch(he){console.error("SSS ingest error:",he),G({error:"请求失败"})}finally{O(!1)}}}const tt=he=>{const ft={view_chapter:qs,purchase:qd,match:Yt,login:Ra,register:Ra,share:on,bind_phone:Jb,bind_wechat:Wb,fill_profile:Ed,visit_page:Pa}[he]||Yd;return e.jsx(ft,{className:"w-4 h-4"})};return r?e.jsx(Ct,{open:r,onOpenChange:()=>a(),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-4xl max-h-[90vh] overflow-hidden",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(Ra,{className:"w-5 h-5 text-[#38bdac]"}),"用户详情",(c==null?void 0:c.phone)&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0 ml-2",children:"已绑定手机"}),(c==null?void 0:c.isVip)&&e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 border-0",children:"VIP"})]})}),g?e.jsxs("div",{className:"flex items-center justify-center py-20",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):c?e.jsxs("div",{className:"flex flex-col h-[75vh]",children:[e.jsxs("div",{className:"flex items-center gap-4 p-4 bg-[#0a1628] rounded-lg mb-3",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-2xl text-[#38bdac] shrink-0",children:c.avatar?e.jsx("img",{src:c.avatar,className:"w-full h-full rounded-full object-cover",alt:""}):((ze=c.nickname)==null?void 0:ze.charAt(0))||"?"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("h3",{className:"text-lg font-bold text-white",children:c.nickname}),c.isAdmin&&e.jsx(Le,{className:"bg-purple-500/20 text-purple-400 border-0",children:"管理员"}),c.hasFullBook&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0",children:"全书已购"}),c.vipRole&&e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 border-0",children:c.vipRole})]}),e.jsxs("p",{className:"text-gray-400 text-sm mt-1",children:[c.phone?`📱 ${c.phone}`:"未绑定手机",c.wechatId&&` · 💬 ${c.wechatId}`,c.mbti&&` · ${c.mbti}`]}),e.jsxs("div",{className:"flex items-center gap-4 mt-1",children:[e.jsxs("p",{className:"text-gray-600 text-xs",children:["ID: ",c.id.slice(0,16),"…"]}),c.referralCode&&e.jsxs("p",{className:"text-xs",children:[e.jsx("span",{className:"text-gray-500",children:"推广码:"}),e.jsx("code",{className:"text-[#38bdac] bg-[#38bdac]/10 px-1.5 py-0.5 rounded",children:c.referralCode})]})]})]}),e.jsxs("div",{className:"text-right shrink-0",children:[e.jsxs("p",{className:"text-[#38bdac] font-bold text-lg",children:["¥",(c.earnings||0).toFixed(2)]}),e.jsx("p",{className:"text-gray-500 text-xs",children:"累计收益"})]})]}),e.jsxs($l,{value:N,onValueChange:b,className:"flex-1 flex flex-col overflow-hidden",children:[e.jsxs($a,{className:"bg-[#0a1628] border border-gray-700/50 p-1 mb-3 flex-wrap h-auto gap-1",children:[e.jsx(Lt,{value:"info",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:"基础信息"}),e.jsx(Lt,{value:"tags",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:"标签体系"}),e.jsxs(Lt,{value:"journey",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:[e.jsx(Pa,{className:"w-3 h-3 mr-1"}),"用户旅程"]}),e.jsx(Lt,{value:"relations",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:"关系链路"}),e.jsxs(Lt,{value:"shensheshou",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:[e.jsx(an,{className:"w-3 h-3 mr-1"}),"用户资料完善"]})]}),e.jsxs(Ot,{value:"info",className:"flex-1 overflow-auto space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"手机号"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"输入手机号",value:w,onChange:he=>j(he.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"昵称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"输入昵称",value:_,onChange:he=>D(he.target.value)})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[c.openId&&e.jsxs("div",{className:"p-3 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"微信 OpenID"}),e.jsx("p",{className:"text-gray-300 font-mono text-xs break-all",children:c.openId})]}),c.region&&e.jsxs("div",{className:"p-3 bg-[#0a1628] rounded-lg flex items-center gap-2",children:[e.jsx(Yx,{className:"w-4 h-4 text-gray-500"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-500 text-xs",children:"地区"}),e.jsx("p",{className:"text-white",children:c.region})]})]}),c.industry&&e.jsxs("div",{className:"p-3 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"行业"}),e.jsx("p",{className:"text-white",children:c.industry})]}),c.position&&e.jsxs("div",{className:"p-3 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"职位"}),e.jsx("p",{className:"text-white",children:c.position})]})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"推荐人数"}),e.jsx("p",{className:"text-2xl font-bold text-white",children:c.referralCount??0})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"待提现"}),e.jsxs("p",{className:"text-2xl font-bold text-yellow-400",children:["¥",(c.pendingEarnings??0).toFixed(2)]})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"创建时间"}),e.jsx("p",{className:"text-sm text-white",children:c.createdAt?new Date(c.createdAt).toLocaleDateString():"-"})]})]}),c.isVip&&e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg border border-amber-500/20",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(rn,{className:"w-4 h-4 text-amber-400"}),e.jsx("span",{className:"text-white font-medium",children:"VIP 信息"}),e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 border-0 text-xs",children:c.vipRole||"VIP"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[c.vipName&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"展示名:"}),e.jsx("span",{className:"text-white",children:c.vipName})]}),c.vipProject&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"项目:"}),e.jsx("span",{className:"text-white",children:c.vipProject})]}),c.vipContact&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"联系方式:"}),e.jsx("span",{className:"text-white",children:c.vipContact})]}),c.vipExpireDate&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"到期时间:"}),e.jsx("span",{className:"text-white",children:new Date(c.vipExpireDate).toLocaleDateString()})]})]}),c.vipBio&&e.jsx("p",{className:"text-gray-400 text-sm mt-2",children:c.vipBio})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg border border-purple-500/20",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Al,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-white font-medium",children:"微信归属"}),e.jsx("span",{className:"text-gray-500 text-xs",children:"该用户归属在哪个微信号下"})]}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white flex-1",placeholder:"输入归属微信号(如 wxid_xxxx)",value:de,onChange:he=>Q(he.target.value)}),e.jsxs(J,{size:"sm",onClick:async()=>{if(!(!de||!c))try{await vt("/api/db/users",{id:c.id,wechatId:de}),alert("已保存微信归属"),ge()}catch{alert("保存失败")}},className:"bg-purple-500/20 hover:bg-purple-500/30 text-purple-400 border border-purple-500/30 shrink-0",children:[e.jsx(Mt,{className:"w-4 h-4 mr-1"})," 保存"]})]}),c.wechatId&&e.jsxs("p",{className:"text-gray-500 text-xs mt-2",children:["当前归属:",e.jsx("span",{className:"text-purple-400",children:c.wechatId})]})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(on,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx("span",{className:"text-white font-medium",children:"存客宝同步"})]}),e.jsx(J,{size:"sm",onClick:Se,disabled:k||!c.phone,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:k?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-1 animate-spin"})," 同步中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-1"})," 同步数据"]})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"同步状态:"}),c.ckbSyncedAt?e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0 ml-1",children:"已同步"}):e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 border-0 ml-1",children:"未同步"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"最后同步:"}),e.jsx("span",{className:"text-gray-300 ml-1",children:c.ckbSyncedAt?new Date(c.ckbSyncedAt).toLocaleString():"-"})]})]})]})]}),e.jsxs(Ot,{value:"tags",className:"flex-1 overflow-auto space-y-4",children:[e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Ed,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx("span",{className:"text-white font-medium",children:"用户标签"}),e.jsx("span",{className:"text-gray-500 text-xs",children:"基于《一场 Soul 的创业实验》维度打标"})]}),e.jsxs("div",{className:"mb-3 p-2.5 bg-[#38bdac]/5 border border-[#38bdac]/20 rounded-lg flex items-center gap-2 text-xs text-gray-400",children:[e.jsx(Gd,{className:"w-3.5 h-3.5 text-[#38bdac] shrink-0"}),"命中的标签自动高亮 · 系统根据行为轨迹和填写资料自动打标 · 手动点击补充或取消"]}),e.jsx("div",{className:"mb-4 space-y-3",children:[{category:"身份类型",tags:["创业者","打工人","自由职业","学生","投资人","合伙人"]},{category:"行业背景",tags:["电商","内容","传统行业","科技/AI","金融","教育","餐饮"]},{category:"痛点标签",tags:["找资源","找方向","找合伙人","想赚钱","想学习","找情感出口"]},{category:"付费意愿",tags:["高意向","已付费","观望中","薅羊毛"]},{category:"MBTI",tags:["ENTJ","INTJ","ENFP","INFP","ENTP","INTP","ESTJ","ISFJ"]}].map(he=>e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1.5",children:he.category}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:he.tags.map(xe=>e.jsxs("button",{type:"button",onClick:()=>{V.includes(xe)?ke(xe):I([...V,xe])},className:`px-2 py-0.5 rounded text-xs border transition-all ${V.includes(xe)?"bg-[#38bdac]/20 border-[#38bdac]/50 text-[#38bdac]":"bg-transparent border-gray-700 text-gray-500 hover:border-gray-500 hover:text-gray-300"}`,children:[V.includes(xe)?"✓ ":"",xe]},xe))})]},he.category))}),e.jsxs("div",{className:"border-t border-gray-700/50 pt-3",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-2",children:"已选标签"}),e.jsxs("div",{className:"flex flex-wrap gap-2 mb-3 min-h-[32px]",children:[V.map((he,xe)=>e.jsxs(Le,{className:"bg-[#38bdac]/20 text-[#38bdac] border-0 pr-1",children:[he,e.jsx("button",{type:"button",onClick:()=>ke(he),className:"ml-1 hover:text-red-400",children:e.jsx(ms,{className:"w-3 h-3"})})]},xe)),V.length===0&&e.jsx("span",{className:"text-gray-600 text-sm",children:"暂未选择标签"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white flex-1",placeholder:"自定义标签(回车添加)",value:R,onChange:he=>E(he.target.value),onKeyDown:he=>he.key==="Enter"&&fe()}),e.jsx(J,{onClick:fe,className:"bg-[#38bdac] hover:bg-[#2da396]",children:"添加"})]})]})]}),c.ckbTags&&e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Ed,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-white font-medium",children:"存客宝标签"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:(typeof c.ckbTags=="string"?c.ckbTags.split(","):[]).map((he,xe)=>e.jsx(Le,{className:"bg-purple-500/20 text-purple-400 border-0",children:he.trim()},xe))})]})]}),e.jsxs(Ot,{value:"journey",className:"flex-1 overflow-auto",children:[e.jsxs("div",{className:"mb-3 p-3 bg-[#0a1628] rounded-lg flex items-center gap-2",children:[e.jsx(Pa,{className:"w-4 h-4 text-[#38bdac]"}),e.jsxs("span",{className:"text-gray-400 text-sm",children:["记录用户从注册到付费的完整行动路径,共 ",m.length," 条记录"]})]}),e.jsx("div",{className:"space-y-2",children:m.length>0?m.map((he,xe)=>e.jsxs("div",{className:"flex items-start gap-3 p-3 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-[#38bdac]",children:tt(he.action)}),xe0?p.map((he,xe)=>{var es;const ft=he;return e.jsxs("div",{className:"flex items-center justify-between p-2 bg-[#162840] rounded",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-6 h-6 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-xs text-[#38bdac]",children:((es=ft.nickname)==null?void 0:es.charAt(0))||"?"}),e.jsx("span",{className:"text-white text-sm",children:ft.nickname})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[ft.status==="vip"&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0 text-xs",children:"已购"}),e.jsx("span",{className:"text-gray-500 text-xs",children:ft.createdAt?new Date(ft.createdAt).toLocaleDateString():""})]})]},ft.id||xe)}):e.jsx("p",{className:"text-gray-500 text-sm text-center py-4",children:"暂无推荐用户"})})]})}),e.jsxs(Ot,{value:"shensheshou",className:"flex-1 overflow-auto space-y-4",children:[e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(an,{className:"w-5 h-5 text-[#38bdac]"}),e.jsx("span",{className:"text-white font-medium",children:"用户资料完善"}),e.jsx("span",{className:"text-gray-500 text-xs",children:"通过多维度查询神射手数据,自动回填用户基础信息"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 mb-3",children:[e.jsxs("div",{children:[e.jsx(te,{className:"text-gray-500 text-xs mb-1 block",children:"手机号"}),e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white",placeholder:"11位手机号",value:ie,onChange:he=>ve(he.target.value)})]}),e.jsxs("div",{children:[e.jsx(te,{className:"text-gray-500 text-xs mb-1 block",children:"微信号"}),e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white",placeholder:"微信 ID",value:U,onChange:he=>ce(he.target.value)})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx(te,{className:"text-gray-500 text-xs mb-1 block",children:"微信 OpenID"}),e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white",placeholder:"openid_xxxx(自动填入)",value:K,onChange:he=>A(he.target.value)})]})]}),e.jsx(J,{onClick:Ve,disabled:Y,className:"w-full bg-[#38bdac] hover:bg-[#2da396] text-white",children:Y?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-1 animate-spin"})," 查询并自动回填中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(cn,{className:"w-4 h-4 mr-1"})," 查询并自动完善用户资料"]})}),e.jsx("p",{className:"text-gray-600 text-xs mt-2",children:"查询成功后,神射手返回的标签将自动同步到该用户"}),se&&e.jsx("div",{className:"mt-3 p-3 bg-red-500/10 border border-red-500/30 rounded-lg text-red-400 text-sm",children:se}),ae&&e.jsxs("div",{className:"mt-3 space-y-3",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"p-3 bg-[#162840] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"神射手 RFM 分"}),e.jsx("p",{className:"text-2xl font-bold text-[#38bdac]",children:ae.rfm_score??"-"})]}),e.jsxs("div",{className:"p-3 bg-[#162840] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"用户等级"}),e.jsx("p",{className:"text-2xl font-bold text-white",children:ae.user_level??"-"})]})]}),ae.tags&&ae.tags.length>0&&e.jsxs("div",{className:"p-3 bg-[#162840] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-2",children:"神射手标签"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:ae.tags.map((he,xe)=>e.jsx(Le,{className:"bg-[#38bdac]/10 text-[#38bdac] border border-[#38bdac]/20",children:he},xe))})]}),ae.last_active&&e.jsxs("div",{className:"text-sm text-gray-500",children:["最近活跃:",ae.last_active]})]})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(an,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-white font-medium",children:"推送用户数据到神射手"})]}),e.jsx("p",{className:"text-gray-500 text-xs",children:"将本用户信息(手机号、昵称、标签等)同步至神射手,自动完善用户画像"})]}),e.jsx(J,{onClick:Ye,disabled:F||!c.phone,variant:"outline",className:"border-purple-500/40 text-purple-400 hover:bg-purple-500/10 bg-transparent shrink-0 ml-4",children:F?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-1 animate-spin"})," 推送中"]}):e.jsxs(e.Fragment,{children:[e.jsx(an,{className:"w-4 h-4 mr-1"})," 推送"]})})]}),!c.phone&&e.jsx("p",{className:"text-yellow-500/70 text-xs",children:"⚠ 用户未绑定手机号,无法推送"}),Z&&e.jsx("div",{className:"mt-3 p-3 bg-[#162840] rounded-lg text-sm",children:Z.error?e.jsx("p",{className:"text-red-400",children:String(Z.error)}):e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-green-400 flex items-center gap-1",children:[e.jsx(Gd,{className:"w-4 h-4"})," 推送成功"]}),Z.enriched!==void 0&&e.jsxs("p",{className:"text-gray-400",children:["自动补全标签数:",String(Z.new_tags_added??0)]})]})})]})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-3 border-t border-gray-700 mt-3",children:[e.jsxs(J,{variant:"outline",onClick:a,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"关闭"]}),e.jsxs(J,{onClick:L,disabled:T,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),T?"保存中...":"保存修改"]})]})]}):e.jsx("div",{className:"text-center py-12 text-gray-500",children:"用户不存在"})]})}):null}const Fd={isVip:!1,vipExpireDate:"",vipSort:"",vipRole:"",vipRoleCustom:"",vipName:"",vipProject:"",vipContact:"",vipBio:""};function z2({open:r,onClose:a,userId:l,userNickname:o="",onSaved:c}){const[u,m]=h.useState(Fd),[f,p]=h.useState([]),[y,g]=h.useState(!1),[v,k]=h.useState(!1);h.useEffect(()=>{if(!r){m(Fd);return}let T=!1;return g(!0),Promise.all([$e("/api/db/vip-roles"),l?$e(`/api/db/users?id=${encodeURIComponent(l)}`):Promise.resolve(null)]).then(([S,N])=>{if(T)return;const b=S!=null&&S.success&&S.data?S.data:[];p(b);const w=N&&N.user?N.user:null;if(w){const j=String(w.vipRole??""),_=b.some(D=>D.name===j);m({isVip:!!(w.isVip??!1),vipExpireDate:w.vipExpireDate?String(w.vipExpireDate).slice(0,10):"",vipSort:typeof w.vipSort=="number"?w.vipSort:"",vipRole:_?j:j?"__custom__":"",vipRoleCustom:_?"":j,vipName:String(w.vipName??""),vipProject:String(w.vipProject??""),vipContact:String(w.vipContact??""),vipBio:String(w.vipBio??"")})}else m(Fd)}).catch(S=>{T||console.error("Load error:",S)}).finally(()=>{T||g(!1)}),()=>{T=!0}},[r,l]);async function P(){if(l){if(u.isVip&&!u.vipExpireDate.trim()){alert("开启 VIP 时请填写有效到期日");return}if(u.isVip&&u.vipExpireDate.trim()){const T=new Date(u.vipExpireDate);if(isNaN(T.getTime())){alert("到期日格式无效,请使用 YYYY-MM-DD");return}}k(!0);try{const T=u.vipRole==="__custom__"?u.vipRoleCustom.trim():u.vipRole,S={id:l,isVip:u.isVip,vipExpireDate:u.isVip?u.vipExpireDate:void 0,vipSort:u.vipSort===""?void 0:u.vipSort,vipRole:T||void 0,vipName:u.vipName||void 0,vipProject:u.vipProject||void 0,vipContact:u.vipContact||void 0,vipBio:u.vipBio||void 0},N=await vt("/api/db/users",S);N!=null&&N.success?(alert("VIP 设置已保存"),c==null||c(),a()):alert("保存失败: "+(N==null?void 0:N.error))}catch(T){console.error("Save VIP error:",T),alert("保存失败")}finally{k(!1)}}}return r?e.jsx(Ct,{open:r,onOpenChange:()=>a(),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(rn,{className:"w-5 h-5 text-amber-400"}),"设置 VIP - ",o||l]})}),y?e.jsx("div",{className:"py-8 text-center text-gray-400",children:"加载中..."}):e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(te,{className:"text-gray-300",children:"VIP 会员"}),e.jsx(ot,{checked:u.isVip,onCheckedChange:T=>m(S=>({...S,isVip:T}))})]}),u.isVip&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300",children:["到期日 (YYYY-MM-DD) ",e.jsx("span",{className:"text-amber-400",children:"*"})]}),e.jsx(le,{type:"date",className:"bg-[#0a1628] border-gray-700 text-white",value:u.vipExpireDate,onChange:T=>m(S=>({...S,vipExpireDate:T.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"排序"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"数字越小越靠前,留空按时间",value:u.vipSort===""?"":u.vipSort,onChange:T=>{const S=T.target.value;m(N=>({...N,vipSort:S===""?"":parseInt(S,10)||0}))}})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"角色"}),e.jsxs("select",{className:"w-full bg-[#0a1628] border border-gray-700 text-white rounded-md px-3 py-2",value:u.vipRole,onChange:T=>m(S=>({...S,vipRole:T.target.value})),children:[e.jsx("option",{value:"",children:"请选择或下方手动填写"}),f.map(T=>e.jsx("option",{value:T.name,children:T.name},T.id)),e.jsx("option",{value:"__custom__",children:"其他(手动填写)"})]}),u.vipRole==="__custom__"&&e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white mt-1",placeholder:"输入自定义角色",value:u.vipRoleCustom,onChange:T=>m(S=>({...S,vipRoleCustom:T.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"VIP 展示名"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"创业老板排行展示名",value:u.vipName,onChange:T=>m(S=>({...S,vipName:T.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"项目/公司"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"项目名称",value:u.vipProject,onChange:T=>m(S=>({...S,vipProject:T.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"联系方式"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"微信号或手机",value:u.vipContact,onChange:T=>m(S=>({...S,vipContact:T.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"一句话简介"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"简要描述业务",value:u.vipBio,onChange:T=>m(S=>({...S,vipBio:T.target.value}))})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:a,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:P,disabled:v||y,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),v?"保存中...":"保存"]})]})]})}):null}const so=[{id:"register",label:"注册/登录",icon:"👤",color:"bg-blue-500/20 border-blue-500/40 text-blue-400",desc:"微信授权登录或手机号注册"},{id:"browse",label:"浏览章节",icon:"📖",color:"bg-purple-500/20 border-purple-500/40 text-purple-400",desc:"点击免费/付费章节预览"},{id:"bind_phone",label:"绑定手机",icon:"📱",color:"bg-cyan-500/20 border-cyan-500/40 text-cyan-400",desc:"触发付费章节后绑定手机"},{id:"first_pay",label:"首次付款",icon:"💳",color:"bg-green-500/20 border-green-500/40 text-green-400",desc:"购买单章或全书"},{id:"fill_profile",label:"完善资料",icon:"✍️",color:"bg-yellow-500/20 border-yellow-500/40 text-yellow-400",desc:"填写头像、MBTI、行业等"},{id:"match",label:"派对房匹配",icon:"🤝",color:"bg-orange-500/20 border-orange-500/40 text-orange-400",desc:"参与 Soul 派对房"},{id:"vip",label:"升级 VIP",icon:"👑",color:"bg-amber-500/20 border-amber-500/40 text-amber-400",desc:"付款 ¥1980 购买全书"},{id:"distribution",label:"开启分销",icon:"🔗",color:"bg-[#38bdac]/20 border-[#38bdac]/40 text-[#38bdac]",desc:"生成推广码并推荐好友"}];function $2(){var as,En,er,xr,Pt;const[r,a]=$x(),l=r.get("pool"),[o,c]=h.useState([]),[u,m]=h.useState(0),[f,p]=h.useState(1),[y,g]=h.useState(10),[v,k]=h.useState(""),P=Iu(v,300),T=l==="vip"?"vip":l==="complete"?"complete":"all",[S,N]=h.useState(T),[b,w]=h.useState(!0),[j,_]=h.useState(null),[D,V]=h.useState(!1),[I,R]=h.useState("desc");h.useEffect(()=>{l==="vip"?N("vip"):l==="complete"?N("complete"):l==="all"&&N("all")},[l]);const[E,Y]=h.useState(!1),[ne,ae]=h.useState(!1),[q,se]=h.useState(null),[H,ie]=h.useState(""),[ve,U]=h.useState(""),[ce,K]=h.useState(!1),[A,F]=h.useState(!1),[O,Z]=h.useState({referrals:[],stats:{}}),[G,de]=h.useState(!1),[Q,ge]=h.useState(null),[Se,L]=h.useState(!1),[fe,ke]=h.useState(null),[Ve,We]=h.useState(!1),[Ye,tt]=h.useState(null),[ze,he]=h.useState({phone:"",nickname:"",password:"",isAdmin:!1,hasFullBook:!1}),[xe,ft]=h.useState([]),[es,hr]=h.useState(!1),[bn,As]=h.useState(!1),[Bt,_r]=h.useState(null),[ct,gs]=h.useState({title:"",description:"",trigger:"",sort:0,enabled:!0}),[Nn,mr]=h.useState([]),[Cs,Gn]=h.useState(!1),[Yn,ks]=h.useState(!1),[wn,fr]=h.useState(null),[ys,Ds]=h.useState({name:"",sort:0}),[Ls,Sn]=h.useState({}),[Es,Os]=h.useState(!1);async function Fs(){var $;w(!0),_(null);try{if(D){const He=new URLSearchParams({search:P,limit:String(y*5)}),Je=await $e(`/api/db/users/rfm?${He}`);if(Je!=null&&Je.success){let ls=Je.users||[];I==="asc"&&(ls=[...ls].reverse());const dt=(f-1)*y;c(ls.slice(dt,dt+y)),m((($=Je.users)==null?void 0:$.length)??0),ls.length===0&&(V(!1),_("暂无订单数据,RFM 排序需要用户有购买记录后才能生效"))}else V(!1),_((Je==null?void 0:Je.error)||"RFM 加载失败,已切回普通模式")}else{const He=new URLSearchParams({page:String(f),pageSize:String(y),search:P,...S==="vip"&&{vip:"true"},...S==="complete"&&{pool:"complete"}}),Je=await $e(`/api/db/users?${He}`);Je!=null&&Je.success?(c(Je.users||[]),m(Je.total??0)):_((Je==null?void 0:Je.error)||"加载失败")}}catch(He){console.error("Load users error:",He),_("网络错误")}finally{w(!1)}}h.useEffect(()=>{p(1)},[P,S,D]),h.useEffect(()=>{Fs()},[f,y,P,S,D,I]);const Qn=Math.ceil(u/y)||1,qn=()=>{D?I==="desc"?R("asc"):(V(!1),R("desc")):(V(!0),R("desc"))},Xn=$=>({S:"bg-amber-500/20 text-amber-400",A:"bg-green-500/20 text-green-400",B:"bg-blue-500/20 text-blue-400",C:"bg-gray-500/20 text-gray-400",D:"bg-red-500/20 text-red-400"})[$||""]||"bg-gray-500/20 text-gray-400";async function Jn($){if(confirm("确定要删除这个用户吗?"))try{const He=await Pr(`/api/db/users?id=${encodeURIComponent($)}`);He!=null&&He.success?Fs():alert("删除失败: "+((He==null?void 0:He.error)||""))}catch{alert("删除失败")}}const Cn=$=>{se($),he({phone:$.phone||"",nickname:$.nickname||"",password:"",isAdmin:!!($.isAdmin??!1),hasFullBook:!!($.hasFullBook??!1)}),Y(!0)},kn=()=>{se(null),he({phone:"",nickname:"",password:"",isAdmin:!1,hasFullBook:!1}),Y(!0)};async function zs(){if(!ze.phone||!ze.nickname){alert("请填写手机号和昵称");return}K(!0);try{if(q){const $=await vt("/api/db/users",{id:q.id,nickname:ze.nickname,isAdmin:ze.isAdmin,hasFullBook:ze.hasFullBook,...ze.password&&{password:ze.password}});if(!($!=null&&$.success)){alert("更新失败: "+(($==null?void 0:$.error)||""));return}}else{const $=await mt("/api/db/users",{phone:ze.phone,nickname:ze.nickname,password:ze.password,isAdmin:ze.isAdmin});if(!($!=null&&$.success)){alert("创建失败: "+(($==null?void 0:$.error)||""));return}}Y(!1),Fs()}catch{alert("保存失败")}finally{K(!1)}}const Mr=$=>{se($),ie(""),U(""),ae(!0)};async function $s($){ge($),F(!0),de(!0);try{const He=await $e(`/api/db/users/referrals?userId=${encodeURIComponent($.id)}`);He!=null&&He.success?Z({referrals:He.referrals||[],stats:He.stats||{}}):Z({referrals:[],stats:{}})}catch{Z({referrals:[],stats:{}})}finally{de(!1)}}async function Zn(){if(!H){alert("请输入新密码");return}if(H!==ve){alert("两次密码不一致");return}if(H.length<6){alert("密码至少6位");return}K(!0);try{const $=await vt("/api/db/users",{id:q==null?void 0:q.id,password:H});$!=null&&$.success?(alert("修改成功"),ae(!1)):alert("修改失败: "+(($==null?void 0:$.error)||""))}catch{alert("修改失败")}finally{K(!1)}}const ts=h.useCallback(async()=>{hr(!0);try{const $=await $e("/api/db/user-rules");$!=null&&$.success&&ft($.rules||[])}catch{}finally{hr(!1)}},[]);async function z(){if(!ct.title){alert("请填写规则标题");return}K(!0);try{if(Bt){const $=await vt("/api/db/user-rules",{id:Bt.id,...ct});if(!($!=null&&$.success)){alert("更新失败: "+(($==null?void 0:$.error)||""));return}}else{const $=await mt("/api/db/user-rules",ct);if(!($!=null&&$.success)){alert("创建失败: "+(($==null?void 0:$.error)||""));return}}As(!1),ts()}catch{alert("保存失败")}finally{K(!1)}}async function oe($){if(confirm("确定删除?"))try{const He=await Pr(`/api/db/user-rules?id=${$}`);He!=null&&He.success&&ts()}catch{}}async function Ce($){try{await vt("/api/db/user-rules",{id:$.id,enabled:!$.enabled}),ts()}catch{}}const Pe=h.useCallback(async()=>{Gn(!0);try{const $=await $e("/api/db/vip-roles");$!=null&&$.success&&mr($.roles||[])}catch{}finally{Gn(!1)}},[]);async function xt(){if(!ys.name){alert("请填写角色名称");return}K(!0);try{if(wn){const $=await vt("/api/db/vip-roles",{id:wn.id,...ys});if(!($!=null&&$.success)){alert("更新失败");return}}else{const $=await mt("/api/db/vip-roles",ys);if(!($!=null&&$.success)){alert("创建失败");return}}ks(!1),Pe()}catch{alert("保存失败")}finally{K(!1)}}async function ns($){if(confirm("确定删除?"))try{const He=await Pr(`/api/db/vip-roles?id=${$}`);He!=null&&He.success&&Pe()}catch{}}const nt=h.useCallback(async()=>{Os(!0);try{const $=await $e("/api/db/users/journey-stats");$!=null&&$.success&&$.stats&&Sn($.stats)}catch{}finally{Os(!1)}},[]);return e.jsxs("div",{className:"p-8 w-full",children:[j&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:j}),e.jsx("button",{type:"button",onClick:()=>_(null),children:"×"})]}),e.jsx("div",{className:"flex justify-between items-center mb-6",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"用户管理"}),e.jsxs("p",{className:"text-gray-400 mt-1 text-sm",children:["共 ",u," 位注册用户",D&&" · RFM 排序中"]})]})}),e.jsxs($l,{defaultValue:"users",className:"w-full",children:[e.jsxs($a,{className:"bg-[#0a1628] border border-gray-700/50 p-1 mb-6 flex-wrap h-auto gap-1",children:[e.jsxs(Lt,{value:"users",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] flex items-center gap-1.5",children:[e.jsx(Yt,{className:"w-4 h-4"})," 用户列表"]}),e.jsxs(Lt,{value:"journey",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] flex items-center gap-1.5",onClick:nt,children:[e.jsx(Pa,{className:"w-4 h-4"})," 用户旅程总览"]}),e.jsxs(Lt,{value:"rules",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] flex items-center gap-1.5",onClick:ts,children:[e.jsx(Bn,{className:"w-4 h-4"})," 规则配置"]}),e.jsxs(Lt,{value:"vip-roles",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] flex items-center gap-1.5",onClick:Pe,children:[e.jsx(rn,{className:"w-4 h-4"})," VIP 角色"]})]}),e.jsxs(Ot,{value:"users",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4 justify-end flex-wrap",children:[e.jsxs(J,{variant:"outline",onClick:Fs,disabled:b,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${b?"animate-spin":""}`})," 刷新"]}),e.jsxs("select",{value:S,onChange:$=>{const He=$.target.value;N(He),p(1),l&&(r.delete("pool"),a(r))},className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",disabled:D,children:[e.jsx("option",{value:"all",children:"全部用户"}),e.jsx("option",{value:"vip",children:"VIP会员(超级个体)"}),e.jsx("option",{value:"complete",children:"完善资料用户"})]}),e.jsxs("div",{className:"relative",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500"}),e.jsx(le,{type:"text",placeholder:"搜索用户...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white placeholder:text-gray-500 w-56",value:v,onChange:$=>k($.target.value)})]}),e.jsxs(J,{onClick:kn,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Xd,{className:"w-4 h-4 mr-2"})," 添加用户"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:b?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs("div",{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"用户信息"}),e.jsx(be,{className:"text-gray-400",children:"绑定信息"}),e.jsx(be,{className:"text-gray-400",children:"购买状态"}),e.jsx(be,{className:"text-gray-400",children:"分销收益"}),e.jsxs(be,{className:"text-gray-400 cursor-pointer select-none",onClick:qn,children:[e.jsxs("div",{className:"flex items-center gap-1 group",children:[e.jsx(Ta,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"RFM分值"}),D?I==="desc"?e.jsx(_l,{className:"w-3.5 h-3.5 text-[#38bdac]"}):e.jsx(Ux,{className:"w-3.5 h-3.5 text-[#38bdac]"}):e.jsx(Uj,{className:"w-3.5 h-3.5 text-gray-600 group-hover:text-gray-400"})]}),D&&e.jsx("div",{className:"text-[10px] text-[#38bdac] font-normal mt-0.5",children:"点击切换方向/关闭"})]}),e.jsx(be,{className:"text-gray-400",children:"注册时间"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[o.map($=>{var He,Je,ls;return e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac]",children:$.avatar?e.jsx("img",{src:$.avatar,className:"w-full h-full rounded-full object-cover",alt:""}):((He=$.nickname)==null?void 0:He.charAt(0))||"?"}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("p",{className:"font-medium text-white",children:$.nickname}),$.isAdmin&&e.jsx(Le,{className:"bg-purple-500/20 text-purple-400 hover:bg-purple-500/20 border-0 text-xs",children:"管理员"}),$.openId&&!((Je=$.id)!=null&&Je.startsWith("user_"))&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0 text-xs",children:"微信"})]}),e.jsx("p",{className:"text-xs text-gray-500 font-mono",children:$.openId?$.openId.slice(0,12)+"...":(ls=$.id)==null?void 0:ls.slice(0,12)})]})]})}),e.jsx(pe,{children:e.jsxs("div",{className:"space-y-1",children:[$.phone&&e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx("span",{className:"text-gray-500",children:"📱"}),e.jsx("span",{className:"text-gray-300",children:$.phone})]}),$.wechatId&&e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx("span",{className:"text-gray-500",children:"💬"}),e.jsx("span",{className:"text-gray-300",children:$.wechatId})]}),$.openId&&e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx("span",{className:"text-gray-500",children:"🔗"}),e.jsxs("span",{className:"text-gray-500 truncate max-w-[100px]",title:$.openId,children:[$.openId.slice(0,12),"..."]})]}),!$.phone&&!$.wechatId&&!$.openId&&e.jsx("span",{className:"text-gray-600 text-xs",children:"未绑定"})]})}),e.jsx(pe,{children:$.hasFullBook?e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 hover:bg-amber-500/20 border-0",children:"VIP"}):e.jsx(Le,{variant:"outline",className:"text-gray-500 border-gray-600",children:"未购买"})}),e.jsx(pe,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"text-white font-medium",children:["¥",parseFloat(String($.earnings||0)).toFixed(2)]}),parseFloat(String($.pendingEarnings||0))>0&&e.jsxs("div",{className:"text-xs text-yellow-400",children:["待提现: ¥",parseFloat(String($.pendingEarnings||0)).toFixed(2)]}),e.jsxs("div",{className:"text-xs text-[#38bdac] cursor-pointer hover:underline flex items-center gap-1",onClick:()=>$s($),role:"button",tabIndex:0,onKeyDown:dt=>dt.key==="Enter"&&$s($),children:[e.jsx(Yt,{className:"w-3 h-3"})," 绑定",$.referralCount||0,"人"]})]})}),e.jsx(pe,{children:$.rfmScore!==void 0?e.jsx("div",{className:"flex flex-col gap-1",children:e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-white font-bold text-base",children:$.rfmScore}),e.jsx(Le,{className:`border-0 text-xs ${Xn($.rfmLevel)}`,children:$.rfmLevel})]})}):e.jsxs("span",{className:"text-gray-600 text-sm",children:["— ",e.jsx("span",{className:"text-xs text-gray-700",children:"点列头排序"})]})}),e.jsx(pe,{className:"text-gray-400",children:$.createdAt?new Date($.createdAt).toLocaleDateString():"-"}),e.jsx(pe,{className:"text-right",children:e.jsxs("div",{className:"flex items-center justify-end gap-1",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>{tt($),We(!0)},className:"text-gray-400 hover:text-amber-400 hover:bg-amber-400/10",title:"设置 VIP",children:e.jsx(rn,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>{ke($.id),L(!0)},className:"text-gray-400 hover:text-blue-400 hover:bg-blue-400/10",title:"查看详情",children:e.jsx(Er,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>Cn($),className:"text-gray-400 hover:text-[#38bdac] hover:bg-[#38bdac]/10",title:"编辑",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>Mr($),className:"text-gray-400 hover:text-yellow-400 hover:bg-yellow-400/10",title:"修改密码",children:e.jsx($f,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",onClick:()=>Jn($.id),title:"删除",children:e.jsx(Ht,{className:"w-4 h-4"})})]})})]},$.id)}),o.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:7,className:"text-center py-12 text-gray-500",children:"暂无用户数据"})})]})]}),e.jsx(Qs,{page:f,totalPages:Qn,total:u,pageSize:y,onPageChange:p,onPageSizeChange:$=>{g($),p(1)}})]})})})]}),e.jsxs(Ot,{value:"journey",children:[e.jsxs("div",{className:"flex items-center justify-between mb-5",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"用户从注册到 VIP 的完整行动路径,点击各阶段查看用户动态"}),e.jsxs(J,{variant:"outline",onClick:nt,disabled:Es,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${Es?"animate-spin":""}`})," 刷新数据"]})]}),e.jsxs("div",{className:"relative mb-8",children:[e.jsx("div",{className:"absolute top-16 left-0 right-0 h-0.5 bg-gradient-to-r from-blue-500/20 via-[#38bdac]/30 to-amber-500/20 mx-20"}),e.jsx("div",{className:"grid grid-cols-4 gap-4 lg:grid-cols-8",children:so.map(($,He)=>e.jsxs("div",{className:"relative flex flex-col items-center",children:[e.jsxs("div",{className:`relative w-full p-3 rounded-xl border ${$.color} text-center cursor-default`,children:[e.jsx("div",{className:"text-2xl mb-1",children:$.icon}),e.jsx("div",{className:`text-xs font-medium ${$.color.split(" ").find(Je=>Je.startsWith("text-"))}`,children:$.label}),Ls[$.id]!==void 0&&e.jsxs("div",{className:"mt-1.5 text-xs text-gray-400",children:[e.jsx("span",{className:"font-bold text-white",children:Ls[$.id]})," 人"]}),e.jsx("div",{className:"absolute -top-2.5 -left-2.5 w-5 h-5 rounded-full bg-[#0a1628] border border-gray-700 flex items-center justify-center text-[10px] text-gray-500",children:He+1})]}),Hee.jsxs("div",{className:"flex items-start gap-3 p-2 bg-[#0a1628] rounded",children:[e.jsx("span",{className:"text-[#38bdac] font-mono text-xs shrink-0 mt-0.5",children:$.step}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-300",children:$.action}),e.jsxs("p",{className:"text-gray-600 text-xs",children:["→ ",$.next]})]})]},$.step))})]}),e.jsxs("div",{className:"bg-[#0f2137] border border-gray-700/50 rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(qs,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-white font-medium",children:"行为锚点统计"}),e.jsx("span",{className:"text-gray-500 text-xs ml-auto",children:"实时更新"})]}),Es?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(Be,{className:"w-5 h-5 text-[#38bdac] animate-spin"})}):Object.keys(Ls).length>0?e.jsx("div",{className:"space-y-2",children:so.map($=>{const He=Ls[$.id]||0,Je=Math.max(...so.map(dt=>Ls[dt.id]||0),1),ls=Math.round(He/Je*100);return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"text-gray-500 text-xs w-20 shrink-0",children:[$.icon," ",$.label]}),e.jsx("div",{className:"flex-1 h-2 bg-[#0a1628] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-[#38bdac]/60 rounded-full transition-all",style:{width:`${ls}%`}})}),e.jsx("span",{className:"text-gray-400 text-xs w-10 text-right",children:He})]},$.id)})}):e.jsx("div",{className:"text-center py-8",children:e.jsx("p",{className:"text-gray-500 text-sm",children:"点击「刷新数据」加载统计"})})]})]})]}),e.jsxs(Ot,{value:"rules",children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"用户旅程引导规则,定义各行为节点的触发条件与引导内容"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(J,{variant:"outline",onClick:ts,disabled:es,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${es?"animate-spin":""}`})," 刷新"]}),e.jsxs(J,{onClick:()=>{_r(null),gs({title:"",description:"",trigger:"",sort:0,enabled:!0}),As(!0)},className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"})," 添加规则"]})]})]}),es?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"})}):xe.length===0?e.jsxs("div",{className:"text-center py-16 bg-[#0f2137] rounded-lg border border-gray-700/50",children:[e.jsx(qs,{className:"w-12 h-12 text-[#38bdac]/30 mx-auto mb-4"}),e.jsx("p",{className:"text-gray-400 mb-4",children:"暂无规则(重启服务将自动写入10条默认规则)"}),e.jsxs(J,{onClick:ts,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Be,{className:"w-4 h-4 mr-2"})," 重新加载"]})]}):e.jsx("div",{className:"space-y-2",children:xe.map($=>e.jsx("div",{className:`p-4 rounded-lg border transition-all ${$.enabled?"bg-[#0f2137] border-gray-700/50":"bg-[#0a1628]/50 border-gray-700/30 opacity-55"}`,children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[e.jsx(ht,{className:"w-4 h-4 text-[#38bdac] shrink-0"}),e.jsx("span",{className:"text-white font-medium",children:$.title}),$.trigger&&e.jsxs(Le,{className:"bg-[#38bdac]/10 text-[#38bdac] border border-[#38bdac]/30 text-xs",children:["触发:",$.trigger]}),e.jsx(Le,{className:`text-xs border-0 ${$.enabled?"bg-green-500/20 text-green-400":"bg-gray-500/20 text-gray-400"}`,children:$.enabled?"启用":"禁用"})]}),$.description&&e.jsx("p",{className:"text-gray-400 text-sm ml-6",children:$.description})]}),e.jsxs("div",{className:"flex items-center gap-2 ml-4 shrink-0",children:[e.jsx(ot,{checked:$.enabled,onCheckedChange:()=>Ce($)}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>{_r($),gs({title:$.title,description:$.description,trigger:$.trigger,sort:$.sort,enabled:$.enabled}),As(!0)},className:"text-gray-400 hover:text-[#38bdac] hover:bg-[#38bdac]/10",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>oe($.id),className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",children:e.jsx(Ht,{className:"w-4 h-4"})})]})]})},$.id))})]}),e.jsxs(Ot,{value:"vip-roles",children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"管理用户 VIP 角色分类,这些角色将在用户详情和会员展示中使用"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(J,{variant:"outline",onClick:Pe,disabled:Cs,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${Cs?"animate-spin":""}`})," 刷新"]}),e.jsxs(J,{onClick:()=>{fr(null),Ds({name:"",sort:0}),ks(!0)},className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"})," 添加角色"]})]})]}),Cs?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"})}):Nn.length===0?e.jsxs("div",{className:"text-center py-16 bg-[#0f2137] rounded-lg border border-gray-700/50",children:[e.jsx(rn,{className:"w-12 h-12 text-amber-400/30 mx-auto mb-4"}),e.jsx("p",{className:"text-gray-400 mb-4",children:"暂无 VIP 角色"}),e.jsxs(J,{onClick:()=>{fr(null),Ds({name:"",sort:0}),ks(!0)},className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"})," 添加第一个角色"]})]}):e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3",children:Nn.map($=>e.jsxs("div",{className:"p-4 bg-[#0f2137] border border-amber-500/20 rounded-xl hover:border-amber-500/40 transition-all group",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(rn,{className:"w-4 h-4 text-amber-400"}),e.jsx("span",{className:"text-white font-medium",children:$.name})]}),e.jsxs("div",{className:"flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx("button",{type:"button",onClick:()=>{fr($),Ds({name:$.name,sort:$.sort}),ks(!0)},className:"text-gray-500 hover:text-[#38bdac]",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx("button",{type:"button",onClick:()=>ns($.id),className:"text-gray-500 hover:text-red-400",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),e.jsxs("p",{className:"text-gray-600 text-xs",children:["排序: ",$.sort]})]},$.id))})]})]}),e.jsx(Ct,{open:E,onOpenChange:Y,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[q?e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}):e.jsx(Xd,{className:"w-5 h-5 text-[#38bdac]"}),q?"编辑用户":"添加用户"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"手机号"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"请输入手机号",value:ze.phone,onChange:$=>he({...ze,phone:$.target.value}),disabled:!!q})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"昵称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"请输入昵称",value:ze.nickname,onChange:$=>he({...ze,nickname:$.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:q?"新密码 (留空则不修改)":"密码"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:q?"留空则不修改":"请输入密码",value:ze.password,onChange:$=>he({...ze,password:$.target.value})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(te,{className:"text-gray-300",children:"管理员权限"}),e.jsx(ot,{checked:ze.isAdmin,onCheckedChange:$=>he({...ze,isAdmin:$})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(te,{className:"text-gray-300",children:"已购全书"}),e.jsx(ot,{checked:ze.hasFullBook,onCheckedChange:$=>he({...ze,hasFullBook:$})})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>Y(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:zs,disabled:ce,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),ce?"保存中...":"保存"]})]})]})}),e.jsx(Ct,{open:ne,onOpenChange:ae,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx($f,{className:"w-5 h-5 text-[#38bdac]"}),"修改密码"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["用户:",q==null?void 0:q.nickname]}),e.jsxs("p",{className:"text-gray-400 text-sm",children:["手机号:",q==null?void 0:q.phone]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"新密码"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"请输入新密码 (至少6位)",value:H,onChange:$=>ie($.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"确认密码"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"请再次输入",value:ve,onChange:$=>U($.target.value)})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>ae(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:Zn,disabled:ce,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:ce?"保存中...":"确认修改"})]})]})}),e.jsx(Ct,{open:bn,onOpenChange:As,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}),Bt?"编辑规则":"添加规则"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"规则标题 *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例:匹配后填写头像、付款1980需填写信息",value:ct.title,onChange:$=>gs({...ct,title:$.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"规则描述"}),e.jsx(un,{className:"bg-[#0a1628] border-gray-700 text-white min-h-[80px] resize-none",placeholder:"详细说明规则内容...",value:ct.description,onChange:$=>gs({...ct,description:$.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"触发条件"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例:完成匹配、付款后、注册时",value:ct.trigger,onChange:$=>gs({...ct,trigger:$.target.value})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{children:e.jsx(te,{className:"text-gray-300",children:"启用状态"})}),e.jsx(ot,{checked:ct.enabled,onCheckedChange:$=>gs({...ct,enabled:$})})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>As(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:z,disabled:ce,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),ce?"保存中...":"保存"]})]})]})}),e.jsx(Ct,{open:Yn,onOpenChange:ks,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(rn,{className:"w-5 h-5 text-amber-400"}),wn?"编辑 VIP 角色":"添加 VIP 角色"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"角色名称 *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例:创业者、资源整合者、技术咖",value:ys.name,onChange:$=>Ds({...ys,name:$.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"排序(越小越前)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:ys.sort,onChange:$=>Ds({...ys,sort:parseInt($.target.value)||0})})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>ks(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:xt,disabled:ce,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),ce?"保存中...":"保存"]})]})]})}),e.jsx(Ct,{open:A,onOpenChange:F,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-2xl max-h-[80vh] overflow-auto",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"}),"绑定关系 - ",Q==null?void 0:Q.nickname]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-4 gap-3",children:[e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3 text-center",children:[e.jsx("div",{className:"text-2xl font-bold text-[#38bdac]",children:((as=O.stats)==null?void 0:as.total)||0}),e.jsx("div",{className:"text-xs text-gray-400",children:"绑定总数"})]}),e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3 text-center",children:[e.jsx("div",{className:"text-2xl font-bold text-green-400",children:((En=O.stats)==null?void 0:En.purchased)||0}),e.jsx("div",{className:"text-xs text-gray-400",children:"已付费"})]}),e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3 text-center",children:[e.jsxs("div",{className:"text-2xl font-bold text-yellow-400",children:["¥",(((er=O.stats)==null?void 0:er.earnings)||0).toFixed(2)]}),e.jsx("div",{className:"text-xs text-gray-400",children:"累计收益"})]}),e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3 text-center",children:[e.jsxs("div",{className:"text-2xl font-bold text-orange-400",children:["¥",(((xr=O.stats)==null?void 0:xr.pendingEarnings)||0).toFixed(2)]}),e.jsx("div",{className:"text-xs text-gray-400",children:"待提现"})]})]}),G?e.jsxs("div",{className:"flex items-center justify-center py-8",children:[e.jsx(Be,{className:"w-5 h-5 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):(((Pt=O.referrals)==null?void 0:Pt.length)??0)>0?e.jsx("div",{className:"space-y-2 max-h-[300px] overflow-y-auto",children:(O.referrals??[]).map(($,He)=>{var ls;const Je=$;return e.jsxs("div",{className:"flex items-center justify-between bg-[#0a1628] rounded-lg p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm text-[#38bdac]",children:((ls=Je.nickname)==null?void 0:ls.charAt(0))||"?"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-white text-sm",children:Je.nickname}),e.jsx("div",{className:"text-xs text-gray-500",children:Je.phone||(Je.hasOpenId?"微信用户":"未绑定")})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[Je.status==="vip"&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0 text-xs",children:"全书已购"}),Je.status==="paid"&&e.jsxs(Le,{className:"bg-blue-500/20 text-blue-400 border-0 text-xs",children:["已付费",Je.purchasedSections,"章"]}),Je.status==="free"&&e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 border-0 text-xs",children:"未付费"}),e.jsx("span",{className:"text-xs text-gray-500",children:Je.createdAt?new Date(Je.createdAt).toLocaleDateString():""})]})]},Je.id||He)})}):e.jsx("div",{className:"text-center py-8 text-gray-500",children:"暂无绑定用户"})]}),e.jsx(Dt,{children:e.jsx(J,{variant:"outline",onClick:()=>F(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"关闭"})})]})}),e.jsx(p0,{open:Se,onClose:()=>L(!1),userId:fe,onUserUpdated:Fs}),e.jsx(z2,{open:Ve,onClose:()=>{We(!1),tt(null)},userId:(Ye==null?void 0:Ye.id)??null,userNickname:Ye==null?void 0:Ye.nickname,onSaved:Fs})]})}function xo(r,[a,l]){return Math.min(l,Math.max(a,r))}var g0=["PageUp","PageDown"],y0=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],v0={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Ba="Slider",[su,B2,U2]=_u(Ba),[j0]=yn(Ba,[U2]),[V2,Ro]=j0(Ba),b0=h.forwardRef((r,a)=>{const{name:l,min:o=0,max:c=100,step:u=1,orientation:m="horizontal",disabled:f=!1,minStepsBetweenThumbs:p=0,defaultValue:y=[o],value:g,onValueChange:v=()=>{},onValueCommit:k=()=>{},inverted:P=!1,form:T,...S}=r,N=h.useRef(new Set),b=h.useRef(0),j=m==="horizontal"?W2:H2,[_=[],D]=Un({prop:g,defaultProp:y,onChange:ne=>{var q;(q=[...N.current][b.current])==null||q.focus(),v(ne)}}),V=h.useRef(_);function I(ne){const ae=q2(_,ne);Y(ne,ae)}function R(ne){Y(ne,b.current)}function E(){const ne=V.current[b.current];_[b.current]!==ne&&k(_)}function Y(ne,ae,{commit:q}={commit:!1}){const se=e4(u),H=t4(Math.round((ne-o)/u)*u+o,se),ie=xo(H,[o,c]);D((ve=[])=>{const U=Y2(ve,ie,ae);if(Z2(U,p*u)){b.current=U.indexOf(ie);const ce=String(U)!==String(ve);return ce&&q&&k(U),ce?U:ve}else return ve})}return e.jsx(V2,{scope:r.__scopeSlider,name:l,disabled:f,min:o,max:c,valueIndexToChangeRef:b,thumbs:N.current,values:_,orientation:m,form:T,children:e.jsx(su.Provider,{scope:r.__scopeSlider,children:e.jsx(su.Slot,{scope:r.__scopeSlider,children:e.jsx(j,{"aria-disabled":f,"data-disabled":f?"":void 0,...S,ref:a,onPointerDown:Qe(S.onPointerDown,()=>{f||(V.current=_)}),min:o,max:c,inverted:P,onSlideStart:f?void 0:I,onSlideMove:f?void 0:R,onSlideEnd:f?void 0:E,onHomeKeyDown:()=>!f&&Y(o,0,{commit:!0}),onEndKeyDown:()=>!f&&Y(c,_.length-1,{commit:!0}),onStepKeyDown:({event:ne,direction:ae})=>{if(!f){const H=g0.includes(ne.key)||ne.shiftKey&&y0.includes(ne.key)?10:1,ie=b.current,ve=_[ie],U=u*H*ae;Y(ve+U,ie,{commit:!0})}}})})})})});b0.displayName=Ba;var[N0,w0]=j0(Ba,{startEdge:"left",endEdge:"right",size:"width",direction:1}),W2=h.forwardRef((r,a)=>{const{min:l,max:o,dir:c,inverted:u,onSlideStart:m,onSlideMove:f,onSlideEnd:p,onStepKeyDown:y,...g}=r,[v,k]=h.useState(null),P=at(a,j=>k(j)),T=h.useRef(void 0),S=Eo(c),N=S==="ltr",b=N&&!u||!N&&u;function w(j){const _=T.current||v.getBoundingClientRect(),D=[0,_.width],I=Lu(D,b?[l,o]:[o,l]);return T.current=_,I(j-_.left)}return e.jsx(N0,{scope:r.__scopeSlider,startEdge:b?"left":"right",endEdge:b?"right":"left",direction:b?1:-1,size:"width",children:e.jsx(S0,{dir:S,"data-orientation":"horizontal",...g,ref:P,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:j=>{const _=w(j.clientX);m==null||m(_)},onSlideMove:j=>{const _=w(j.clientX);f==null||f(_)},onSlideEnd:()=>{T.current=void 0,p==null||p()},onStepKeyDown:j=>{const D=v0[b?"from-left":"from-right"].includes(j.key);y==null||y({event:j,direction:D?-1:1})}})})}),H2=h.forwardRef((r,a)=>{const{min:l,max:o,inverted:c,onSlideStart:u,onSlideMove:m,onSlideEnd:f,onStepKeyDown:p,...y}=r,g=h.useRef(null),v=at(a,g),k=h.useRef(void 0),P=!c;function T(S){const N=k.current||g.current.getBoundingClientRect(),b=[0,N.height],j=Lu(b,P?[o,l]:[l,o]);return k.current=N,j(S-N.top)}return e.jsx(N0,{scope:r.__scopeSlider,startEdge:P?"bottom":"top",endEdge:P?"top":"bottom",size:"height",direction:P?1:-1,children:e.jsx(S0,{"data-orientation":"vertical",...y,ref:v,style:{...y.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:S=>{const N=T(S.clientY);u==null||u(N)},onSlideMove:S=>{const N=T(S.clientY);m==null||m(N)},onSlideEnd:()=>{k.current=void 0,f==null||f()},onStepKeyDown:S=>{const b=v0[P?"from-bottom":"from-top"].includes(S.key);p==null||p({event:S,direction:b?-1:1})}})})}),S0=h.forwardRef((r,a)=>{const{__scopeSlider:l,onSlideStart:o,onSlideMove:c,onSlideEnd:u,onHomeKeyDown:m,onEndKeyDown:f,onStepKeyDown:p,...y}=r,g=Ro(Ba,l);return e.jsx(Xe.span,{...y,ref:a,onKeyDown:Qe(r.onKeyDown,v=>{v.key==="Home"?(m(v),v.preventDefault()):v.key==="End"?(f(v),v.preventDefault()):g0.concat(y0).includes(v.key)&&(p(v),v.preventDefault())}),onPointerDown:Qe(r.onPointerDown,v=>{const k=v.target;k.setPointerCapture(v.pointerId),v.preventDefault(),g.thumbs.has(k)?k.focus():o(v)}),onPointerMove:Qe(r.onPointerMove,v=>{v.target.hasPointerCapture(v.pointerId)&&c(v)}),onPointerUp:Qe(r.onPointerUp,v=>{const k=v.target;k.hasPointerCapture(v.pointerId)&&(k.releasePointerCapture(v.pointerId),u(v))})})}),C0="SliderTrack",k0=h.forwardRef((r,a)=>{const{__scopeSlider:l,...o}=r,c=Ro(C0,l);return e.jsx(Xe.span,{"data-disabled":c.disabled?"":void 0,"data-orientation":c.orientation,...o,ref:a})});k0.displayName=C0;var ru="SliderRange",E0=h.forwardRef((r,a)=>{const{__scopeSlider:l,...o}=r,c=Ro(ru,l),u=w0(ru,l),m=h.useRef(null),f=at(a,m),p=c.values.length,y=c.values.map(k=>R0(k,c.min,c.max)),g=p>1?Math.min(...y):0,v=100-Math.max(...y);return e.jsx(Xe.span,{"data-orientation":c.orientation,"data-disabled":c.disabled?"":void 0,...o,ref:f,style:{...r.style,[u.startEdge]:g+"%",[u.endEdge]:v+"%"}})});E0.displayName=ru;var nu="SliderThumb",P0=h.forwardRef((r,a)=>{const l=B2(r.__scopeSlider),[o,c]=h.useState(null),u=at(a,f=>c(f)),m=h.useMemo(()=>o?l().findIndex(f=>f.ref.current===o):-1,[l,o]);return e.jsx(K2,{...r,ref:u,index:m})}),K2=h.forwardRef((r,a)=>{const{__scopeSlider:l,index:o,name:c,...u}=r,m=Ro(nu,l),f=w0(nu,l),[p,y]=h.useState(null),g=at(a,w=>y(w)),v=p?m.form||!!p.closest("form"):!0,k=Du(p),P=m.values[o],T=P===void 0?0:R0(P,m.min,m.max),S=Q2(o,m.values.length),N=k==null?void 0:k[f.size],b=N?X2(N,T,f.direction):0;return h.useEffect(()=>{if(p)return m.thumbs.add(p),()=>{m.thumbs.delete(p)}},[p,m.thumbs]),e.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${T}% + ${b}px)`},children:[e.jsx(su.ItemSlot,{scope:r.__scopeSlider,children:e.jsx(Xe.span,{role:"slider","aria-label":r["aria-label"]||S,"aria-valuemin":m.min,"aria-valuenow":P,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...u,ref:g,style:P===void 0?{display:"none"}:r.style,onFocus:Qe(r.onFocus,()=>{m.valueIndexToChangeRef.current=o})})}),v&&e.jsx(T0,{name:c??(m.name?m.name+(m.values.length>1?"[]":""):void 0),form:m.form,value:P},o)]})});P0.displayName=nu;var G2="RadioBubbleInput",T0=h.forwardRef(({__scopeSlider:r,value:a,...l},o)=>{const c=h.useRef(null),u=at(c,o),m=Au(a);return h.useEffect(()=>{const f=c.current;if(!f)return;const p=window.HTMLInputElement.prototype,g=Object.getOwnPropertyDescriptor(p,"value").set;if(m!==a&&g){const v=new Event("input",{bubbles:!0});g.call(f,a),f.dispatchEvent(v)}},[m,a]),e.jsx(Xe.input,{style:{display:"none"},...l,ref:u,defaultValue:a})});T0.displayName=G2;function Y2(r=[],a,l){const o=[...r];return o[l]=a,o.sort((c,u)=>c-u)}function R0(r,a,l){const u=100/(l-a)*(r-a);return xo(u,[0,100])}function Q2(r,a){return a>2?`Value ${r+1} of ${a}`:a===2?["Minimum","Maximum"][r]:void 0}function q2(r,a){if(r.length===1)return 0;const l=r.map(c=>Math.abs(c-a)),o=Math.min(...l);return l.indexOf(o)}function X2(r,a,l){const o=r/2,u=Lu([0,50],[0,o]);return(o-u(a)*l)*l}function J2(r){return r.slice(0,-1).map((a,l)=>r[l+1]-a)}function Z2(r,a){if(a>0){const l=J2(r);return Math.min(...l)>=a}return!0}function Lu(r,a){return l=>{if(r[0]===r[1]||a[0]===a[1])return a[0];const o=(a[1]-a[0])/(r[1]-r[0]);return a[0]+o*(l-r[0])}}function e4(r){return(String(r).split(".")[1]||"").length}function t4(r,a){const l=Math.pow(10,a);return Math.round(r*l)/l}var s4=b0,r4=k0,n4=E0,a4=P0;function l4({className:r,defaultValue:a,value:l,min:o=0,max:c=100,...u}){const m=h.useMemo(()=>Array.isArray(l)?l:Array.isArray(a)?a:[o,c],[l,a,o,c]);return e.jsxs(s4,{defaultValue:a,value:l,min:o,max:c,className:lt("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50",r),...u,children:[e.jsx(r4,{className:"bg-gray-600 relative grow overflow-hidden rounded-full h-1.5 w-full",children:e.jsx(n4,{className:"bg-[#38bdac] absolute h-full rounded-full"})}),Array.from({length:m.length},(f,p)=>e.jsx(a4,{className:"block size-4 shrink-0 rounded-full border-2 border-[#38bdac] bg-white shadow-sm focus-visible:ring-2 focus-visible:ring-[#38bdac] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"},p))]})}const i4={distributorShare:90,minWithdrawAmount:10,bindingDays:30,userDiscount:5,enableAutoWithdraw:!1,vipOrderShareVip:20,vipOrderShareNonVip:10};function I0({embedded:r=!1}){const[a,l]=h.useState(i4),[o,c]=h.useState(!0),[u,m]=h.useState(!1);h.useEffect(()=>{$e("/api/admin/referral-settings").then(y=>{const g=y==null?void 0:y.data;g&&typeof g=="object"&&l({distributorShare:g.distributorShare??90,minWithdrawAmount:g.minWithdrawAmount??10,bindingDays:g.bindingDays??30,userDiscount:g.userDiscount??5,enableAutoWithdraw:g.enableAutoWithdraw??!1,vipOrderShareVip:g.vipOrderShareVip??20,vipOrderShareNonVip:g.vipOrderShareNonVip??10})}).catch(console.error).finally(()=>c(!1))},[]);const f=async()=>{m(!0);try{const y={distributorShare:Number(a.distributorShare)||0,minWithdrawAmount:Number(a.minWithdrawAmount)||0,bindingDays:Number(a.bindingDays)||0,userDiscount:Number(a.userDiscount)||0,enableAutoWithdraw:!!a.enableAutoWithdraw,vipOrderShareVip:Number(a.vipOrderShareVip)||20,vipOrderShareNonVip:Number(a.vipOrderShareNonVip)||10},g=await mt("/api/admin/referral-settings",y);if(!g||g.success===!1){alert("保存失败: "+(g&&typeof g=="object"&&"error"in g?g.error:""));return}alert(`✅ 分销配置已保存成功! +For more information, see https://radix-ui.com/primitives/docs/components/${a.docsSlug}`;return h.useEffect(()=>{r&&(document.getElementById(r)||console.error(l))},[l,r]),null},r2="DialogDescriptionWarning",n2=({contentRef:r,descriptionId:a})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${Vp(r2).contentName}}.`;return h.useEffect(()=>{var u;const c=(u=r.current)==null?void 0:u.getAttribute("aria-describedby");a&&c&&(document.getElementById(a)||console.warn(o))},[o,r,a]),null},a2=Rp,l2=Mp,i2=Ap,o2=Dp,c2=Op,d2=zp,u2=Bp;function Ct(r){return e.jsx(a2,{"data-slot":"dialog",...r})}function h2(r){return e.jsx(l2,{...r})}const Wp=h.forwardRef(({className:r,...a},l)=>e.jsx(i2,{ref:l,className:lt("fixed inset-0 z-50 bg-black/50",r),...a}));Wp.displayName="DialogOverlay";const Nt=h.forwardRef(({className:r,children:a,showCloseButton:l=!0,...o},c)=>e.jsxs(h2,{children:[e.jsx(Wp,{}),e.jsxs(o2,{ref:c,"aria-describedby":void 0,className:lt("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg border bg-background p-6 shadow-lg sm:max-w-lg",r),...o,children:[a,l&&e.jsxs(u2,{className:"absolute right-4 top-4 rounded-sm opacity-70 hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[e.jsx(ms,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));Nt.displayName="DialogContent";function kt({className:r,...a}){return e.jsx("div",{className:lt("flex flex-col gap-2 text-center sm:text-left",r),...a})}function Dt({className:r,...a}){return e.jsx("div",{className:lt("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",r),...a})}function Et(r){return e.jsx(c2,{className:"text-lg font-semibold leading-none",...r})}function m2(r){return e.jsx(d2,{className:"text-sm text-muted-foreground",...r})}function Iu(r,a){const[l,o]=h.useState(r);return h.useEffect(()=>{const c=setTimeout(()=>o(r),a);return()=>clearTimeout(c)},[r,a]),l}function Qs({page:r,totalPages:a,total:l,pageSize:o,onPageChange:c,onPageSizeChange:u,pageSizeOptions:m=[10,20,50,100]}){return a<=1&&!u?null:e.jsxs("div",{className:"flex items-center justify-between gap-4 py-4 px-5 border-t border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm text-gray-400",children:[e.jsxs("span",{children:["共 ",l," 条"]}),u&&e.jsx("select",{value:o,onChange:f=>u(Number(f.target.value)),className:"bg-[#0f2137] border border-gray-600 rounded px-2 py-1 text-gray-300 text-sm",children:m.map(f=>e.jsxs("option",{value:f,children:[f," 条/页"]},f))})]}),a>1&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:()=>c(1),disabled:r<=1,className:"px-2 py-1 rounded border border-gray-600 text-gray-400 hover:bg-gray-700/50 disabled:opacity-40 text-sm",children:"首页"}),e.jsx("button",{type:"button",onClick:()=>c(r-1),disabled:r<=1,className:"px-3 py-1 rounded border border-gray-600 text-gray-400 hover:bg-gray-700/50 disabled:opacity-40 text-sm",children:"上一页"}),e.jsxs("span",{className:"px-3 py-1 text-gray-400 text-sm",children:[r," / ",a]}),e.jsx("button",{type:"button",onClick:()=>c(r+1),disabled:r>=a,className:"px-3 py-1 rounded border border-gray-600 text-gray-400 hover:bg-gray-700/50 disabled:opacity-40 text-sm",children:"下一页"}),e.jsx("button",{type:"button",onClick:()=>c(a),disabled:r>=a,className:"px-2 py-1 rounded border border-gray-600 text-gray-400 hover:bg-gray-700/50 disabled:opacity-40 text-sm",children:"末页"})]})]})}function f2(){const[r,a]=h.useState([]),[l,o]=h.useState([]),[c,u]=h.useState(0),[m,f]=h.useState(0),[p,y]=h.useState(0),[g,v]=h.useState(1),[C,P]=h.useState(10),[R,N]=h.useState(""),b=Iu(R,300),[w,k]=h.useState("all"),[j,T]=h.useState(!0),[L,$]=h.useState(null),[_,I]=h.useState(null),[E,G]=h.useState(""),[ne,ae]=h.useState(!1);async function q(){T(!0),$(null);try{const K=w==="all"?"":w==="completed"?"completed":w,A=new URLSearchParams({page:String(g),pageSize:String(C),...K&&{status:K},...b&&{search:b}}),[F,O]=await Promise.all([$e(`/api/orders?${A}`),$e("/api/db/users?page=1&pageSize=500")]);F!=null&&F.success&&(a(F.orders||[]),u(F.total??0),f(F.totalRevenue??0),y(F.todayRevenue??0)),O!=null&&O.success&&O.users&&o(O.users)}catch(K){console.error("加载订单失败",K),$("加载订单失败,请检查网络后重试")}finally{T(!1)}}h.useEffect(()=>{v(1)},[b,w]),h.useEffect(()=>{q()},[g,C,b,w]);const se=K=>{var A;return K.userNickname||((A=l.find(F=>F.id===K.userId))==null?void 0:A.nickname)||"匿名用户"},H=K=>{var A;return((A=l.find(F=>F.id===K))==null?void 0:A.phone)||"-"},ie=K=>{const A=K.productType||K.type||"",F=K.description||"";if(F){if(A==="section"&&F.includes("章节")){if(F.includes("-")){const O=F.split("-");if(O.length>=3)return{name:`第${O[1]}章 第${O[2]}节`,type:"《一场Soul的创业实验》"}}return{name:F,type:"章节购买"}}return A==="fullbook"||F.includes("全书")?{name:"《一场Soul的创业实验》",type:"全书购买"}:A==="vip"||F.includes("VIP")?{name:"VIP年度会员",type:"VIP"}:A==="match"||F.includes("伙伴")?{name:"找伙伴匹配",type:"功能服务"}:{name:F,type:"其他"}}return A==="section"?{name:`章节 ${K.productId||K.sectionId||""}`,type:"单章"}:A==="fullbook"?{name:"《一场Soul的创业实验》",type:"全书"}:A==="vip"?{name:"VIP年度会员",type:"VIP"}:A==="match"?{name:"找伙伴匹配",type:"功能"}:{name:"未知商品",type:A||"其他"}},ve=Math.ceil(c/C)||1;async function V(){var K;if(!(!(_!=null&&_.orderSn)&&!(_!=null&&_.id))){ae(!0),$(null);try{const A=await vt("/api/admin/orders/refund",{orderSn:_.orderSn||_.id,reason:E||void 0});A!=null&&A.success?(I(null),G(""),q()):$((A==null?void 0:A.error)||"退款失败")}catch(A){const F=A;$(((K=F==null?void 0:F.data)==null?void 0:K.error)||"退款失败,请检查网络后重试")}finally{ae(!1)}}}function ce(){if(r.length===0){alert("暂无数据可导出");return}const K=["订单号","用户","手机号","商品","金额","支付方式","状态","退款原因","分销佣金","下单时间"],A=r.map(de=>{const Q=ie(de);return[de.orderSn||de.id||"",se(de),H(de.userId),Q.name,Number(de.amount||0).toFixed(2),de.paymentMethod==="wechat"?"微信支付":de.paymentMethod==="alipay"?"支付宝":de.paymentMethod||"微信支付",de.status==="refunded"?"已退款":de.status==="paid"||de.status==="completed"?"已完成":de.status==="pending"||de.status==="created"?"待支付":"已失败",de.status==="refunded"&&de.refundReason?de.refundReason:"-",de.referrerEarnings?Number(de.referrerEarnings).toFixed(2):"-",de.createdAt?new Date(de.createdAt).toLocaleString("zh-CN"):""].join(",")}),F="\uFEFF"+[K.join(","),...A].join(` +`),O=new Blob([F],{type:"text/csv;charset=utf-8"}),Z=URL.createObjectURL(O),Y=document.createElement("a");Y.href=Z,Y.download=`订单列表_${new Date().toISOString().slice(0,10)}.csv`,Y.click(),URL.revokeObjectURL(Z)}return e.jsxs("div",{className:"p-8 w-full",children:[L&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:L}),e.jsx("button",{type:"button",onClick:()=>$(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"订单管理"}),e.jsxs("p",{className:"text-gray-400 mt-1",children:["共 ",r.length," 笔订单"]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs(J,{variant:"outline",onClick:q,disabled:j,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${j?"animate-spin":""}`}),"刷新"]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[e.jsx("span",{className:"text-gray-400",children:"总收入:"}),e.jsxs("span",{className:"text-[#38bdac] font-bold",children:["¥",m.toFixed(2)]}),e.jsx("span",{className:"text-gray-600",children:"|"}),e.jsx("span",{className:"text-gray-400",children:"今日:"}),e.jsxs("span",{className:"text-[#FFD700] font-bold",children:["¥",p.toFixed(2)]})]})]})]}),e.jsxs("div",{className:"flex items-center gap-4 mb-6",children:[e.jsxs("div",{className:"relative flex-1 max-w-md",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500"}),e.jsx(le,{type:"text",placeholder:"搜索订单号/用户/章节...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white placeholder:text-gray-500",value:R,onChange:K=>N(K.target.value)})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Yx,{className:"w-4 h-4 text-gray-400"}),e.jsxs("select",{value:w,onChange:K=>k(K.target.value),className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:[e.jsx("option",{value:"all",children:"全部状态"}),e.jsx("option",{value:"completed",children:"已完成"}),e.jsx("option",{value:"pending",children:"待支付"}),e.jsx("option",{value:"created",children:"已创建"}),e.jsx("option",{value:"failed",children:"已失败"}),e.jsx("option",{value:"refunded",children:"已退款"})]})]}),e.jsxs(J,{variant:"outline",onClick:ce,disabled:r.length===0,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(mb,{className:"w-4 h-4 mr-2"}),"导出 CSV"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:j?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs("div",{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"订单号"}),e.jsx(be,{className:"text-gray-400",children:"用户"}),e.jsx(be,{className:"text-gray-400",children:"商品"}),e.jsx(be,{className:"text-gray-400",children:"金额"}),e.jsx(be,{className:"text-gray-400",children:"支付方式"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-gray-400",children:"退款原因"}),e.jsx(be,{className:"text-gray-400",children:"分销佣金"}),e.jsx(be,{className:"text-gray-400",children:"下单时间"}),e.jsx(be,{className:"text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[r.map(K=>{const A=ie(K);return e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsxs(pe,{className:"font-mono text-xs text-gray-400",children:[(K.orderSn||K.id||"").slice(0,12),"..."]}),e.jsx(pe,{children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white text-sm",children:se(K)}),e.jsx("p",{className:"text-gray-500 text-xs",children:H(K.userId)})]})}),e.jsx(pe,{children:e.jsxs("div",{children:[e.jsxs("p",{className:"text-white text-sm flex items-center gap-2",children:[A.name,(K.productType||K.type)==="vip"&&e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 hover:bg-amber-500/20 border-0 text-xs",children:"VIP"})]}),e.jsx("p",{className:"text-gray-500 text-xs",children:A.type})]})}),e.jsxs(pe,{className:"text-[#38bdac] font-bold",children:["¥",Number(K.amount||0).toFixed(2)]}),e.jsx(pe,{className:"text-gray-300",children:K.paymentMethod==="wechat"?"微信支付":K.paymentMethod==="alipay"?"支付宝":K.paymentMethod||"微信支付"}),e.jsx(pe,{children:K.status==="refunded"?e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 hover:bg-gray-500/20 border-0",children:"已退款"}):K.status==="paid"||K.status==="completed"?e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"已完成"}):K.status==="pending"||K.status==="created"?e.jsx(Le,{className:"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/20 border-0",children:"待支付"}):e.jsx(Le,{className:"bg-red-500/20 text-red-400 hover:bg-red-500/20 border-0",children:"已失败"})}),e.jsx(pe,{className:"text-gray-400 text-sm max-w-[120px] truncate",title:K.refundReason,children:K.status==="refunded"&&K.refundReason?K.refundReason:"-"}),e.jsx(pe,{className:"text-[#FFD700]",children:K.referrerEarnings?`¥${Number(K.referrerEarnings).toFixed(2)}`:"-"}),e.jsx(pe,{className:"text-gray-400 text-sm",children:new Date(K.createdAt).toLocaleString("zh-CN")}),e.jsx(pe,{children:(K.status==="paid"||K.status==="completed")&&e.jsxs(J,{variant:"outline",size:"sm",className:"border-orange-500/50 text-orange-400 hover:bg-orange-500/20",onClick:()=>{I(K),G("")},children:[e.jsx(Xx,{className:"w-3 h-3 mr-1"}),"退款"]})})]},K.id)}),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:10,className:"text-center py-12 text-gray-500",children:"暂无订单数据"})})]})]}),e.jsx(Qs,{page:g,totalPages:ve,total:c,pageSize:C,onPageChange:v,onPageSizeChange:K=>{P(K),v(1)}})]})})}),e.jsx(Ct,{open:!!_,onOpenChange:K=>!K&&I(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:"订单退款"})}),_&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["订单号:",_.orderSn||_.id]}),e.jsxs("p",{className:"text-gray-400 text-sm",children:["退款金额:¥",Number(_.amount||0).toFixed(2)]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm text-gray-400 block mb-2",children:"退款原因(选填)"}),e.jsx("div",{className:"form-input",children:e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",placeholder:"如:用户申请退款",value:E,onChange:K=>G(K.target.value)})})]}),e.jsx("p",{className:"text-orange-400/80 text-xs",children:"退款将原路退回至用户微信,且无法撤销,请确认后再操作。"})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",className:"border-gray-600 text-gray-300",onClick:()=>I(null),disabled:ne,children:"取消"}),e.jsx(J,{className:"bg-orange-500 hover:bg-orange-600 text-white",onClick:V,disabled:ne,children:ne?"退款中...":"确认退款"})]})]})})]})}var x2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],p2=x2.reduce((r,a)=>{const l=Zx(`Primitive.${a}`),o=h.forwardRef((c,u)=>{const{asChild:m,...f}=c,p=m?l:a;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),e.jsx(p,{...f,ref:u})});return o.displayName=`Primitive.${a}`,{...r,[a]:o}},{}),g2="Label",Hp=h.forwardRef((r,a)=>e.jsx(p2.label,{...r,ref:a,onMouseDown:l=>{var c;l.target.closest("button, input, select, textarea")||((c=r.onMouseDown)==null||c.call(r,l),!l.defaultPrevented&&l.detail>1&&l.preventDefault())}}));Hp.displayName=g2;var Kp=Hp;const te=h.forwardRef(({className:r,...a},l)=>e.jsx(Kp,{ref:l,className:lt("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",r),...a}));te.displayName=Kp.displayName;function _u(r){const a=r+"CollectionProvider",[l,o]=yn(a),[c,u]=l(a,{collectionRef:{current:null},itemMap:new Map}),m=N=>{const{scope:b,children:w}=N,k=en.useRef(null),j=en.useRef(new Map).current;return e.jsx(c,{scope:b,itemMap:j,collectionRef:k,children:w})};m.displayName=a;const f=r+"CollectionSlot",p=Dl(f),y=en.forwardRef((N,b)=>{const{scope:w,children:k}=N,j=u(f,w),T=at(b,j.collectionRef);return e.jsx(p,{ref:T,children:k})});y.displayName=f;const g=r+"CollectionItemSlot",v="data-radix-collection-item",C=Dl(g),P=en.forwardRef((N,b)=>{const{scope:w,children:k,...j}=N,T=en.useRef(null),L=at(b,T),$=u(g,w);return en.useEffect(()=>($.itemMap.set(T,{ref:T,...j}),()=>void $.itemMap.delete(T))),e.jsx(C,{[v]:"",ref:L,children:k})});P.displayName=g;function R(N){const b=u(r+"CollectionConsumer",N);return en.useCallback(()=>{const k=b.collectionRef.current;if(!k)return[];const j=Array.from(k.querySelectorAll(`[${v}]`));return Array.from(b.itemMap.values()).sort(($,_)=>j.indexOf($.ref.current)-j.indexOf(_.ref.current))},[b.collectionRef,b.itemMap])}return[{Provider:m,Slot:y,ItemSlot:P},R,o]}var y2=h.createContext(void 0);function Eo(r){const a=h.useContext(y2);return r||a||"ltr"}var Od="rovingFocusGroup.onEntryFocus",v2={bubbles:!1,cancelable:!0},zl="RovingFocusGroup",[tu,Gp,j2]=_u(zl),[b2,Yp]=yn(zl,[j2]),[N2,w2]=b2(zl),Qp=h.forwardRef((r,a)=>e.jsx(tu.Provider,{scope:r.__scopeRovingFocusGroup,children:e.jsx(tu.Slot,{scope:r.__scopeRovingFocusGroup,children:e.jsx(S2,{...r,ref:a})})}));Qp.displayName=zl;var S2=h.forwardRef((r,a)=>{const{__scopeRovingFocusGroup:l,orientation:o,loop:c=!1,dir:u,currentTabStopId:m,defaultCurrentTabStopId:f,onCurrentTabStopIdChange:p,onEntryFocus:y,preventScrollOnEntryFocus:g=!1,...v}=r,C=h.useRef(null),P=at(a,C),R=Eo(u),[N,b]=Un({prop:m,defaultProp:f??null,onChange:p,caller:zl}),[w,k]=h.useState(!1),j=hn(y),T=Gp(l),L=h.useRef(!1),[$,_]=h.useState(0);return h.useEffect(()=>{const I=C.current;if(I)return I.addEventListener(Od,j),()=>I.removeEventListener(Od,j)},[j]),e.jsx(N2,{scope:l,orientation:o,dir:R,loop:c,currentTabStopId:N,onItemFocus:h.useCallback(I=>b(I),[b]),onItemShiftTab:h.useCallback(()=>k(!0),[]),onFocusableItemAdd:h.useCallback(()=>_(I=>I+1),[]),onFocusableItemRemove:h.useCallback(()=>_(I=>I-1),[]),children:e.jsx(Xe.div,{tabIndex:w||$===0?-1:0,"data-orientation":o,...v,ref:P,style:{outline:"none",...r.style},onMouseDown:Ge(r.onMouseDown,()=>{L.current=!0}),onFocus:Ge(r.onFocus,I=>{const E=!L.current;if(I.target===I.currentTarget&&E&&!w){const G=new CustomEvent(Od,v2);if(I.currentTarget.dispatchEvent(G),!G.defaultPrevented){const ne=T().filter(ie=>ie.focusable),ae=ne.find(ie=>ie.active),q=ne.find(ie=>ie.id===N),H=[ae,q,...ne].filter(Boolean).map(ie=>ie.ref.current);Jp(H,g)}}L.current=!1}),onBlur:Ge(r.onBlur,()=>k(!1))})})}),qp="RovingFocusGroupItem",Xp=h.forwardRef((r,a)=>{const{__scopeRovingFocusGroup:l,focusable:o=!0,active:c=!1,tabStopId:u,children:m,...f}=r,p=dn(),y=u||p,g=w2(qp,l),v=g.currentTabStopId===y,C=Gp(l),{onFocusableItemAdd:P,onFocusableItemRemove:R,currentTabStopId:N}=g;return h.useEffect(()=>{if(o)return P(),()=>R()},[o,P,R]),e.jsx(tu.ItemSlot,{scope:l,id:y,focusable:o,active:c,children:e.jsx(Xe.span,{tabIndex:v?0:-1,"data-orientation":g.orientation,...f,ref:a,onMouseDown:Ge(r.onMouseDown,b=>{o?g.onItemFocus(y):b.preventDefault()}),onFocus:Ge(r.onFocus,()=>g.onItemFocus(y)),onKeyDown:Ge(r.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){g.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const w=E2(b,g.orientation,g.dir);if(w!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let j=C().filter(T=>T.focusable).map(T=>T.ref.current);if(w==="last")j.reverse();else if(w==="prev"||w==="next"){w==="prev"&&j.reverse();const T=j.indexOf(b.currentTarget);j=g.loop?P2(j,T+1):j.slice(T+1)}setTimeout(()=>Jp(j))}}),children:typeof m=="function"?m({isCurrentTabStop:v,hasTabStop:N!=null}):m})})});Xp.displayName=qp;var C2={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function k2(r,a){return a!=="rtl"?r:r==="ArrowLeft"?"ArrowRight":r==="ArrowRight"?"ArrowLeft":r}function E2(r,a,l){const o=k2(r.key,l);if(!(a==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(a==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return C2[o]}function Jp(r,a=!1){const l=document.activeElement;for(const o of r)if(o===l||(o.focus({preventScroll:a}),document.activeElement!==l))return}function P2(r,a){return r.map((l,o)=>r[(a+o)%r.length])}var T2=Qp,R2=Xp,Po="Tabs",[I2]=yn(Po,[Yp]),Zp=Yp(),[_2,Mu]=I2(Po),e0=h.forwardRef((r,a)=>{const{__scopeTabs:l,value:o,onValueChange:c,defaultValue:u,orientation:m="horizontal",dir:f,activationMode:p="automatic",...y}=r,g=Eo(f),[v,C]=Un({prop:o,onChange:c,defaultProp:u??"",caller:Po});return e.jsx(_2,{scope:l,baseId:dn(),value:v,onValueChange:C,orientation:m,dir:g,activationMode:p,children:e.jsx(Xe.div,{dir:g,"data-orientation":m,...y,ref:a})})});e0.displayName=Po;var t0="TabsList",s0=h.forwardRef((r,a)=>{const{__scopeTabs:l,loop:o=!0,...c}=r,u=Mu(t0,l),m=Zp(l);return e.jsx(T2,{asChild:!0,...m,orientation:u.orientation,dir:u.dir,loop:o,children:e.jsx(Xe.div,{role:"tablist","aria-orientation":u.orientation,...c,ref:a})})});s0.displayName=t0;var r0="TabsTrigger",n0=h.forwardRef((r,a)=>{const{__scopeTabs:l,value:o,disabled:c=!1,...u}=r,m=Mu(r0,l),f=Zp(l),p=i0(m.baseId,o),y=o0(m.baseId,o),g=o===m.value;return e.jsx(R2,{asChild:!0,...f,focusable:!c,active:g,children:e.jsx(Xe.button,{type:"button",role:"tab","aria-selected":g,"aria-controls":y,"data-state":g?"active":"inactive","data-disabled":c?"":void 0,disabled:c,id:p,...u,ref:a,onMouseDown:Ge(r.onMouseDown,v=>{!c&&v.button===0&&v.ctrlKey===!1?m.onValueChange(o):v.preventDefault()}),onKeyDown:Ge(r.onKeyDown,v=>{[" ","Enter"].includes(v.key)&&m.onValueChange(o)}),onFocus:Ge(r.onFocus,()=>{const v=m.activationMode!=="manual";!g&&!c&&v&&m.onValueChange(o)})})})});n0.displayName=r0;var a0="TabsContent",l0=h.forwardRef((r,a)=>{const{__scopeTabs:l,value:o,forceMount:c,children:u,...m}=r,f=Mu(a0,l),p=i0(f.baseId,o),y=o0(f.baseId,o),g=o===f.value,v=h.useRef(g);return h.useEffect(()=>{const C=requestAnimationFrame(()=>v.current=!1);return()=>cancelAnimationFrame(C)},[]),e.jsx(Fl,{present:c||g,children:({present:C})=>e.jsx(Xe.div,{"data-state":g?"active":"inactive","data-orientation":f.orientation,role:"tabpanel","aria-labelledby":p,hidden:!C,id:y,tabIndex:0,...m,ref:a,style:{...r.style,animationDuration:v.current?"0s":void 0},children:C&&u})})});l0.displayName=a0;function i0(r,a){return`${r}-trigger-${a}`}function o0(r,a){return`${r}-content-${a}`}var M2=e0,c0=s0,d0=n0,u0=l0;const $l=M2,$a=h.forwardRef(({className:r,...a},l)=>e.jsx(c0,{ref:l,className:lt("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",r),...a}));$a.displayName=c0.displayName;const Lt=h.forwardRef(({className:r,...a},l)=>e.jsx(d0,{ref:l,className:lt("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",r),...a}));Lt.displayName=d0.displayName;const Ot=h.forwardRef(({className:r,...a},l)=>e.jsx(u0,{ref:l,className:lt("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",r),...a}));Ot.displayName=u0.displayName;function Au(r){const a=h.useRef({value:r,previous:r});return h.useMemo(()=>(a.current.value!==r&&(a.current.previous=a.current.value,a.current.value=r),a.current.previous),[r])}function Du(r){const[a,l]=h.useState(void 0);return Zt(()=>{if(r){l({width:r.offsetWidth,height:r.offsetHeight});const o=new ResizeObserver(c=>{if(!Array.isArray(c)||!c.length)return;const u=c[0];let m,f;if("borderBoxSize"in u){const p=u.borderBoxSize,y=Array.isArray(p)?p[0]:p;m=y.inlineSize,f=y.blockSize}else m=r.offsetWidth,f=r.offsetHeight;l({width:m,height:f})});return o.observe(r,{box:"border-box"}),()=>o.unobserve(r)}else l(void 0)},[r]),a}var To="Switch",[A2]=yn(To),[D2,L2]=A2(To),h0=h.forwardRef((r,a)=>{const{__scopeSwitch:l,name:o,checked:c,defaultChecked:u,required:m,disabled:f,value:p="on",onCheckedChange:y,form:g,...v}=r,[C,P]=h.useState(null),R=at(a,j=>P(j)),N=h.useRef(!1),b=C?g||!!C.closest("form"):!0,[w,k]=Un({prop:c,defaultProp:u??!1,onChange:y,caller:To});return e.jsxs(D2,{scope:l,checked:w,disabled:f,children:[e.jsx(Xe.button,{type:"button",role:"switch","aria-checked":w,"aria-required":m,"data-state":p0(w),"data-disabled":f?"":void 0,disabled:f,value:p,...v,ref:R,onClick:Ge(r.onClick,j=>{k(T=>!T),b&&(N.current=j.isPropagationStopped(),N.current||j.stopPropagation())})}),b&&e.jsx(x0,{control:C,bubbles:!N.current,name:o,value:p,checked:w,required:m,disabled:f,form:g,style:{transform:"translateX(-100%)"}})]})});h0.displayName=To;var m0="SwitchThumb",f0=h.forwardRef((r,a)=>{const{__scopeSwitch:l,...o}=r,c=L2(m0,l);return e.jsx(Xe.span,{"data-state":p0(c.checked),"data-disabled":c.disabled?"":void 0,...o,ref:a})});f0.displayName=m0;var O2="SwitchBubbleInput",x0=h.forwardRef(({__scopeSwitch:r,control:a,checked:l,bubbles:o=!0,...c},u)=>{const m=h.useRef(null),f=at(m,u),p=Au(l),y=Du(a);return h.useEffect(()=>{const g=m.current;if(!g)return;const v=window.HTMLInputElement.prototype,P=Object.getOwnPropertyDescriptor(v,"checked").set;if(p!==l&&P){const R=new Event("click",{bubbles:o});P.call(g,l),g.dispatchEvent(R)}},[p,l,o]),e.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:l,...c,tabIndex:-1,ref:f,style:{...c.style,...y,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});x0.displayName=O2;function p0(r){return r?"checked":"unchecked"}var g0=h0,F2=f0;const ot=h.forwardRef(({className:r,...a},l)=>e.jsx(g0,{className:lt("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#38bdac] focus-visible:ring-offset-2 focus-visible:ring-offset-[#0a1628] disabled:cursor-not-allowed disabled:opacity-50 data-[state=unchecked]:bg-gray-600 data-[state=checked]:bg-[#38bdac]",r),...a,ref:l,children:e.jsx(F2,{className:lt("pointer-events-none block h-4 w-4 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));ot.displayName=g0.displayName;const un=h.forwardRef(({className:r,...a},l)=>e.jsx("textarea",{className:lt("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",r),ref:l,...a}));un.displayName="Textarea";function y0({open:r,onClose:a,userId:l,onUserUpdated:o}){var ze;const[c,u]=h.useState(null),[m,f]=h.useState([]),[p,y]=h.useState([]),[g,v]=h.useState(!1),[C,P]=h.useState(!1),[R,N]=h.useState(!1),[b,w]=h.useState("info"),[k,j]=h.useState(""),[T,L]=h.useState(""),[$,_]=h.useState([]),[I,E]=h.useState(""),[G,ne]=h.useState(!1),[ae,q]=h.useState(null),[se,H]=h.useState(null),[ie,ve]=h.useState(""),[V,ce]=h.useState(""),[K,A]=h.useState(""),[F,O]=h.useState(!1),[Z,Y]=h.useState(null),[de,Q]=h.useState("");h.useEffect(()=>{r&&l&&(w("info"),q(null),H(null),Y(null),Q(""),ge())},[r,l]);async function ge(){if(l){v(!0);try{const he=await $e(`/api/db/users?id=${encodeURIComponent(l)}`);if(he!=null&&he.success&&he.user){const xe=he.user;u(xe),j(xe.phone||""),L(xe.nickname||""),ve(xe.phone||""),ce(xe.wechatId||""),A(xe.openId||"");try{_(typeof xe.tags=="string"?JSON.parse(xe.tags||"[]"):[])}catch{_([])}}try{const xe=await $e(`/api/user/track?userId=${encodeURIComponent(l)}&limit=50`);xe!=null&&xe.success&&xe.tracks&&f(xe.tracks)}catch{f([])}try{const xe=await $e(`/api/db/users/referrals?userId=${encodeURIComponent(l)}`);xe!=null&&xe.success&&xe.referrals&&y(xe.referrals)}catch{y([])}}catch(he){console.error("Load user detail error:",he)}finally{v(!1)}}}async function Se(){if(!(c!=null&&c.phone)){alert("用户未绑定手机号,无法同步");return}P(!0);try{const he=await mt("/api/ckb/sync",{action:"full_sync",phone:c.phone,userId:c.id});he!=null&&he.success?(alert("同步成功"),ge()):alert("同步失败: "+(he==null?void 0:he.error))}catch(he){console.error("Sync CKB error:",he),alert("同步失败")}finally{P(!1)}}async function D(){if(c){N(!0);try{const he={id:c.id,phone:k||void 0,nickname:T||void 0,tags:JSON.stringify($)},xe=await vt("/api/db/users",he);xe!=null&&xe.success?(alert("保存成功"),ge(),o==null||o()):alert("保存失败: "+(xe==null?void 0:xe.error))}catch(he){console.error("Save user error:",he),alert("保存失败")}finally{N(!1)}}}const fe=()=>{I&&!$.includes(I)&&(_([...$,I]),E(""))},ke=he=>_($.filter(xe=>xe!==he));async function Ve(){if(!ie&&!K&&!V){H("请至少输入手机号、微信号或 OpenID 中的一项");return}ne(!0),H(null),q(null);try{const he=new URLSearchParams;ie&&he.set("phone",ie),K&&he.set("openId",K),V&&he.set("wechatId",V);const xe=await $e(`/api/admin/shensheshou/query?${he}`);xe!=null&&xe.success&&xe.data?(q(xe.data),c&&await We(xe.data)):H((xe==null?void 0:xe.error)||"未查询到数据,该用户可能未在神射手收录")}catch(he){console.error("SSS query error:",he),H("请求失败,请检查神射手接口配置")}finally{ne(!1)}}async function We(he){if(c)try{await mt("/api/admin/shensheshou/enrich",{userId:c.id,phone:ie||c.phone||"",openId:K||c.openId||"",wechatId:V||c.wechatId||""}),ge()}catch(xe){console.error("SSS enrich error:",xe)}}async function Ke(){if(c){O(!0),Y(null);try{const he={users:[{phone:c.phone||"",name:c.nickname||"",openId:c.openId||"",tags:$}]},xe=await mt("/api/admin/shensheshou/ingest",he);xe!=null&&xe.success&&xe.data?Y(xe.data):Y({error:(xe==null?void 0:xe.error)||"推送失败"})}catch(he){console.error("SSS ingest error:",he),Y({error:"请求失败"})}finally{O(!1)}}}const tt=he=>{const ft={view_chapter:qs,purchase:qd,match:Yt,login:Ta,register:Ta,share:on,bind_phone:eN,bind_wechat:Kb,fill_profile:Ed,visit_page:Pa}[he]||Yd;return e.jsx(ft,{className:"w-4 h-4"})};return r?e.jsx(Ct,{open:r,onOpenChange:()=>a(),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-4xl max-h-[90vh] overflow-hidden",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(Ta,{className:"w-5 h-5 text-[#38bdac]"}),"用户详情",(c==null?void 0:c.phone)&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0 ml-2",children:"已绑定手机"}),(c==null?void 0:c.isVip)&&e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 border-0",children:"VIP"})]})}),g?e.jsxs("div",{className:"flex items-center justify-center py-20",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):c?e.jsxs("div",{className:"flex flex-col h-[75vh]",children:[e.jsxs("div",{className:"flex items-center gap-4 p-4 bg-[#0a1628] rounded-lg mb-3",children:[e.jsx("div",{className:"w-16 h-16 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-2xl text-[#38bdac] shrink-0",children:c.avatar?e.jsx("img",{src:c.avatar,className:"w-full h-full rounded-full object-cover",alt:""}):((ze=c.nickname)==null?void 0:ze.charAt(0))||"?"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx("h3",{className:"text-lg font-bold text-white",children:c.nickname}),c.isAdmin&&e.jsx(Le,{className:"bg-purple-500/20 text-purple-400 border-0",children:"管理员"}),c.hasFullBook&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0",children:"全书已购"}),c.vipRole&&e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 border-0",children:c.vipRole})]}),e.jsxs("p",{className:"text-gray-400 text-sm mt-1",children:[c.phone?`📱 ${c.phone}`:"未绑定手机",c.wechatId&&` · 💬 ${c.wechatId}`,c.mbti&&` · ${c.mbti}`]}),e.jsxs("div",{className:"flex items-center gap-4 mt-1",children:[e.jsxs("p",{className:"text-gray-600 text-xs",children:["ID: ",c.id.slice(0,16),"…"]}),c.referralCode&&e.jsxs("p",{className:"text-xs",children:[e.jsx("span",{className:"text-gray-500",children:"推广码:"}),e.jsx("code",{className:"text-[#38bdac] bg-[#38bdac]/10 px-1.5 py-0.5 rounded",children:c.referralCode})]})]})]}),e.jsxs("div",{className:"text-right shrink-0",children:[e.jsxs("p",{className:"text-[#38bdac] font-bold text-lg",children:["¥",(c.earnings||0).toFixed(2)]}),e.jsx("p",{className:"text-gray-500 text-xs",children:"累计收益"})]})]}),e.jsxs($l,{value:b,onValueChange:w,className:"flex-1 flex flex-col overflow-hidden",children:[e.jsxs($a,{className:"bg-[#0a1628] border border-gray-700/50 p-1 mb-3 flex-wrap h-auto gap-1",children:[e.jsx(Lt,{value:"info",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:"基础信息"}),e.jsx(Lt,{value:"tags",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:"标签体系"}),e.jsxs(Lt,{value:"journey",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:[e.jsx(Pa,{className:"w-3 h-3 mr-1"}),"用户旅程"]}),e.jsx(Lt,{value:"relations",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:"关系链路"}),e.jsxs(Lt,{value:"shensheshou",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-xs",children:[e.jsx(an,{className:"w-3 h-3 mr-1"}),"用户资料完善"]})]}),e.jsxs(Ot,{value:"info",className:"flex-1 overflow-auto space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"手机号"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"输入手机号",value:k,onChange:he=>j(he.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"昵称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"输入昵称",value:T,onChange:he=>L(he.target.value)})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[c.openId&&e.jsxs("div",{className:"p-3 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"微信 OpenID"}),e.jsx("p",{className:"text-gray-300 font-mono text-xs break-all",children:c.openId})]}),c.region&&e.jsxs("div",{className:"p-3 bg-[#0a1628] rounded-lg flex items-center gap-2",children:[e.jsx(qx,{className:"w-4 h-4 text-gray-500"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-500 text-xs",children:"地区"}),e.jsx("p",{className:"text-white",children:c.region})]})]}),c.industry&&e.jsxs("div",{className:"p-3 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"行业"}),e.jsx("p",{className:"text-white",children:c.industry})]}),c.position&&e.jsxs("div",{className:"p-3 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"职位"}),e.jsx("p",{className:"text-white",children:c.position})]})]}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"推荐人数"}),e.jsx("p",{className:"text-2xl font-bold text-white",children:c.referralCount??0})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"待提现"}),e.jsxs("p",{className:"text-2xl font-bold text-yellow-400",children:["¥",(c.pendingEarnings??0).toFixed(2)]})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"创建时间"}),e.jsx("p",{className:"text-sm text-white",children:c.createdAt?new Date(c.createdAt).toLocaleDateString():"-"})]})]}),c.isVip&&e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg border border-amber-500/20",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(rn,{className:"w-4 h-4 text-amber-400"}),e.jsx("span",{className:"text-white font-medium",children:"VIP 信息"}),e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 border-0 text-xs",children:c.vipRole||"VIP"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[c.vipName&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"展示名:"}),e.jsx("span",{className:"text-white",children:c.vipName})]}),c.vipProject&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"项目:"}),e.jsx("span",{className:"text-white",children:c.vipProject})]}),c.vipContact&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"联系方式:"}),e.jsx("span",{className:"text-white",children:c.vipContact})]}),c.vipExpireDate&&e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"到期时间:"}),e.jsx("span",{className:"text-white",children:new Date(c.vipExpireDate).toLocaleDateString()})]})]}),c.vipBio&&e.jsx("p",{className:"text-gray-400 text-sm mt-2",children:c.vipBio})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg border border-purple-500/20",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Al,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-white font-medium",children:"微信归属"}),e.jsx("span",{className:"text-gray-500 text-xs",children:"该用户归属在哪个微信号下"})]}),e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white flex-1",placeholder:"输入归属微信号(如 wxid_xxxx)",value:de,onChange:he=>Q(he.target.value)}),e.jsxs(J,{size:"sm",onClick:async()=>{if(!(!de||!c))try{await vt("/api/db/users",{id:c.id,wechatId:de}),alert("已保存微信归属"),ge()}catch{alert("保存失败")}},className:"bg-purple-500/20 hover:bg-purple-500/30 text-purple-400 border border-purple-500/30 shrink-0",children:[e.jsx(Mt,{className:"w-4 h-4 mr-1"})," 保存"]})]}),c.wechatId&&e.jsxs("p",{className:"text-gray-500 text-xs mt-2",children:["当前归属:",e.jsx("span",{className:"text-purple-400",children:c.wechatId})]})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(on,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx("span",{className:"text-white font-medium",children:"存客宝同步"})]}),e.jsx(J,{size:"sm",onClick:Se,disabled:C||!c.phone,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:C?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-1 animate-spin"})," 同步中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-1"})," 同步数据"]})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"同步状态:"}),c.ckbSyncedAt?e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0 ml-1",children:"已同步"}):e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 border-0 ml-1",children:"未同步"})]}),e.jsxs("div",{children:[e.jsx("span",{className:"text-gray-500",children:"最后同步:"}),e.jsx("span",{className:"text-gray-300 ml-1",children:c.ckbSyncedAt?new Date(c.ckbSyncedAt).toLocaleString():"-"})]})]})]})]}),e.jsxs(Ot,{value:"tags",className:"flex-1 overflow-auto space-y-4",children:[e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Ed,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx("span",{className:"text-white font-medium",children:"用户标签"}),e.jsx("span",{className:"text-gray-500 text-xs",children:"基于《一场 Soul 的创业实验》维度打标"})]}),e.jsxs("div",{className:"mb-3 p-2.5 bg-[#38bdac]/5 border border-[#38bdac]/20 rounded-lg flex items-center gap-2 text-xs text-gray-400",children:[e.jsx(Gd,{className:"w-3.5 h-3.5 text-[#38bdac] shrink-0"}),"命中的标签自动高亮 · 系统根据行为轨迹和填写资料自动打标 · 手动点击补充或取消"]}),e.jsx("div",{className:"mb-4 space-y-3",children:[{category:"身份类型",tags:["创业者","打工人","自由职业","学生","投资人","合伙人"]},{category:"行业背景",tags:["电商","内容","传统行业","科技/AI","金融","教育","餐饮"]},{category:"痛点标签",tags:["找资源","找方向","找合伙人","想赚钱","想学习","找情感出口"]},{category:"付费意愿",tags:["高意向","已付费","观望中","薅羊毛"]},{category:"MBTI",tags:["ENTJ","INTJ","ENFP","INFP","ENTP","INTP","ESTJ","ISFJ"]}].map(he=>e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1.5",children:he.category}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:he.tags.map(xe=>e.jsxs("button",{type:"button",onClick:()=>{$.includes(xe)?ke(xe):_([...$,xe])},className:`px-2 py-0.5 rounded text-xs border transition-all ${$.includes(xe)?"bg-[#38bdac]/20 border-[#38bdac]/50 text-[#38bdac]":"bg-transparent border-gray-700 text-gray-500 hover:border-gray-500 hover:text-gray-300"}`,children:[$.includes(xe)?"✓ ":"",xe]},xe))})]},he.category))}),e.jsxs("div",{className:"border-t border-gray-700/50 pt-3",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-2",children:"已选标签"}),e.jsxs("div",{className:"flex flex-wrap gap-2 mb-3 min-h-[32px]",children:[$.map((he,xe)=>e.jsxs(Le,{className:"bg-[#38bdac]/20 text-[#38bdac] border-0 pr-1",children:[he,e.jsx("button",{type:"button",onClick:()=>ke(he),className:"ml-1 hover:text-red-400",children:e.jsx(ms,{className:"w-3 h-3"})})]},xe)),$.length===0&&e.jsx("span",{className:"text-gray-600 text-sm",children:"暂未选择标签"})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white flex-1",placeholder:"自定义标签(回车添加)",value:I,onChange:he=>E(he.target.value),onKeyDown:he=>he.key==="Enter"&&fe()}),e.jsx(J,{onClick:fe,className:"bg-[#38bdac] hover:bg-[#2da396]",children:"添加"})]})]})]}),c.ckbTags&&e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(Ed,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-white font-medium",children:"存客宝标签"})]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:(typeof c.ckbTags=="string"?c.ckbTags.split(","):[]).map((he,xe)=>e.jsx(Le,{className:"bg-purple-500/20 text-purple-400 border-0",children:he.trim()},xe))})]})]}),e.jsxs(Ot,{value:"journey",className:"flex-1 overflow-auto",children:[e.jsxs("div",{className:"mb-3 p-3 bg-[#0a1628] rounded-lg flex items-center gap-2",children:[e.jsx(Pa,{className:"w-4 h-4 text-[#38bdac]"}),e.jsxs("span",{className:"text-gray-400 text-sm",children:["记录用户从注册到付费的完整行动路径,共 ",m.length," 条记录"]})]}),e.jsx("div",{className:"space-y-2",children:m.length>0?m.map((he,xe)=>e.jsxs("div",{className:"flex items-start gap-3 p-3 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-[#38bdac]",children:tt(he.action)}),xe0?p.map((he,xe)=>{var es;const ft=he;return e.jsxs("div",{className:"flex items-center justify-between p-2 bg-[#162840] rounded",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-6 h-6 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-xs text-[#38bdac]",children:((es=ft.nickname)==null?void 0:es.charAt(0))||"?"}),e.jsx("span",{className:"text-white text-sm",children:ft.nickname})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[ft.status==="vip"&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0 text-xs",children:"已购"}),e.jsx("span",{className:"text-gray-500 text-xs",children:ft.createdAt?new Date(ft.createdAt).toLocaleDateString():""})]})]},ft.id||xe)}):e.jsx("p",{className:"text-gray-500 text-sm text-center py-4",children:"暂无推荐用户"})})]})}),e.jsxs(Ot,{value:"shensheshou",className:"flex-1 overflow-auto space-y-4",children:[e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(an,{className:"w-5 h-5 text-[#38bdac]"}),e.jsx("span",{className:"text-white font-medium",children:"用户资料完善"}),e.jsx("span",{className:"text-gray-500 text-xs",children:"通过多维度查询神射手数据,自动回填用户基础信息"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 mb-3",children:[e.jsxs("div",{children:[e.jsx(te,{className:"text-gray-500 text-xs mb-1 block",children:"手机号"}),e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white",placeholder:"11位手机号",value:ie,onChange:he=>ve(he.target.value)})]}),e.jsxs("div",{children:[e.jsx(te,{className:"text-gray-500 text-xs mb-1 block",children:"微信号"}),e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white",placeholder:"微信 ID",value:V,onChange:he=>ce(he.target.value)})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx(te,{className:"text-gray-500 text-xs mb-1 block",children:"微信 OpenID"}),e.jsx(le,{className:"bg-[#162840] border-gray-700 text-white",placeholder:"openid_xxxx(自动填入)",value:K,onChange:he=>A(he.target.value)})]})]}),e.jsx(J,{onClick:Ve,disabled:G,className:"w-full bg-[#38bdac] hover:bg-[#2da396] text-white",children:G?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-1 animate-spin"})," 查询并自动回填中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(cn,{className:"w-4 h-4 mr-1"})," 查询并自动完善用户资料"]})}),e.jsx("p",{className:"text-gray-600 text-xs mt-2",children:"查询成功后,神射手返回的标签将自动同步到该用户"}),se&&e.jsx("div",{className:"mt-3 p-3 bg-red-500/10 border border-red-500/30 rounded-lg text-red-400 text-sm",children:se}),ae&&e.jsxs("div",{className:"mt-3 space-y-3",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"p-3 bg-[#162840] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"神射手 RFM 分"}),e.jsx("p",{className:"text-2xl font-bold text-[#38bdac]",children:ae.rfm_score??"-"})]}),e.jsxs("div",{className:"p-3 bg-[#162840] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-1",children:"用户等级"}),e.jsx("p",{className:"text-2xl font-bold text-white",children:ae.user_level??"-"})]})]}),ae.tags&&ae.tags.length>0&&e.jsxs("div",{className:"p-3 bg-[#162840] rounded-lg",children:[e.jsx("p",{className:"text-gray-500 text-xs mb-2",children:"神射手标签"}),e.jsx("div",{className:"flex flex-wrap gap-2",children:ae.tags.map((he,xe)=>e.jsx(Le,{className:"bg-[#38bdac]/10 text-[#38bdac] border border-[#38bdac]/20",children:he},xe))})]}),ae.last_active&&e.jsxs("div",{className:"text-sm text-gray-500",children:["最近活跃:",ae.last_active]})]})]}),e.jsxs("div",{className:"p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(an,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-white font-medium",children:"推送用户数据到神射手"})]}),e.jsx("p",{className:"text-gray-500 text-xs",children:"将本用户信息(手机号、昵称、标签等)同步至神射手,自动完善用户画像"})]}),e.jsx(J,{onClick:Ke,disabled:F||!c.phone,variant:"outline",className:"border-purple-500/40 text-purple-400 hover:bg-purple-500/10 bg-transparent shrink-0 ml-4",children:F?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-1 animate-spin"})," 推送中"]}):e.jsxs(e.Fragment,{children:[e.jsx(an,{className:"w-4 h-4 mr-1"})," 推送"]})})]}),!c.phone&&e.jsx("p",{className:"text-yellow-500/70 text-xs",children:"⚠ 用户未绑定手机号,无法推送"}),Z&&e.jsx("div",{className:"mt-3 p-3 bg-[#162840] rounded-lg text-sm",children:Z.error?e.jsx("p",{className:"text-red-400",children:String(Z.error)}):e.jsxs("div",{className:"space-y-1",children:[e.jsxs("p",{className:"text-green-400 flex items-center gap-1",children:[e.jsx(Gd,{className:"w-4 h-4"})," 推送成功"]}),Z.enriched!==void 0&&e.jsxs("p",{className:"text-gray-400",children:["自动补全标签数:",String(Z.new_tags_added??0)]})]})})]})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 pt-3 border-t border-gray-700 mt-3",children:[e.jsxs(J,{variant:"outline",onClick:a,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"关闭"]}),e.jsxs(J,{onClick:D,disabled:R,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),R?"保存中...":"保存修改"]})]})]}):e.jsx("div",{className:"text-center py-12 text-gray-500",children:"用户不存在"})]})}):null}const Fd={isVip:!1,vipExpireDate:"",vipSort:"",vipRole:"",vipRoleCustom:"",vipName:"",vipProject:"",vipContact:"",vipBio:""};function z2({open:r,onClose:a,userId:l,userNickname:o="",onSaved:c}){const[u,m]=h.useState(Fd),[f,p]=h.useState([]),[y,g]=h.useState(!1),[v,C]=h.useState(!1);h.useEffect(()=>{if(!r){m(Fd);return}let R=!1;return g(!0),Promise.all([$e("/api/db/vip-roles"),l?$e(`/api/db/users?id=${encodeURIComponent(l)}`):Promise.resolve(null)]).then(([N,b])=>{if(R)return;const w=N!=null&&N.success&&N.data?N.data:[];p(w);const k=b&&b.user?b.user:null;if(k){const j=String(k.vipRole??""),T=w.some(L=>L.name===j);m({isVip:!!(k.isVip??!1),vipExpireDate:k.vipExpireDate?String(k.vipExpireDate).slice(0,10):"",vipSort:typeof k.vipSort=="number"?k.vipSort:"",vipRole:T?j:j?"__custom__":"",vipRoleCustom:T?"":j,vipName:String(k.vipName??""),vipProject:String(k.vipProject??""),vipContact:String(k.vipContact??""),vipBio:String(k.vipBio??"")})}else m(Fd)}).catch(N=>{R||console.error("Load error:",N)}).finally(()=>{R||g(!1)}),()=>{R=!0}},[r,l]);async function P(){if(l){if(u.isVip&&!u.vipExpireDate.trim()){alert("开启 VIP 时请填写有效到期日");return}if(u.isVip&&u.vipExpireDate.trim()){const R=new Date(u.vipExpireDate);if(isNaN(R.getTime())){alert("到期日格式无效,请使用 YYYY-MM-DD");return}}C(!0);try{const R=u.vipRole==="__custom__"?u.vipRoleCustom.trim():u.vipRole,N={id:l,isVip:u.isVip,vipExpireDate:u.isVip?u.vipExpireDate:void 0,vipSort:u.vipSort===""?void 0:u.vipSort,vipRole:R||void 0,vipName:u.vipName||void 0,vipProject:u.vipProject||void 0,vipContact:u.vipContact||void 0,vipBio:u.vipBio||void 0},b=await vt("/api/db/users",N);b!=null&&b.success?(alert("VIP 设置已保存"),c==null||c(),a()):alert("保存失败: "+(b==null?void 0:b.error))}catch(R){console.error("Save VIP error:",R),alert("保存失败")}finally{C(!1)}}}return r?e.jsx(Ct,{open:r,onOpenChange:()=>a(),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(rn,{className:"w-5 h-5 text-amber-400"}),"设置 VIP - ",o||l]})}),y?e.jsx("div",{className:"py-8 text-center text-gray-400",children:"加载中..."}):e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(te,{className:"text-gray-300",children:"VIP 会员"}),e.jsx(ot,{checked:u.isVip,onCheckedChange:R=>m(N=>({...N,isVip:R}))})]}),u.isVip&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300",children:["到期日 (YYYY-MM-DD) ",e.jsx("span",{className:"text-amber-400",children:"*"})]}),e.jsx(le,{type:"date",className:"bg-[#0a1628] border-gray-700 text-white",value:u.vipExpireDate,onChange:R=>m(N=>({...N,vipExpireDate:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"排序"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"数字越小越靠前,留空按时间",value:u.vipSort===""?"":u.vipSort,onChange:R=>{const N=R.target.value;m(b=>({...b,vipSort:N===""?"":parseInt(N,10)||0}))}})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"角色"}),e.jsxs("select",{className:"w-full bg-[#0a1628] border border-gray-700 text-white rounded-md px-3 py-2",value:u.vipRole,onChange:R=>m(N=>({...N,vipRole:R.target.value})),children:[e.jsx("option",{value:"",children:"请选择或下方手动填写"}),f.map(R=>e.jsx("option",{value:R.name,children:R.name},R.id)),e.jsx("option",{value:"__custom__",children:"其他(手动填写)"})]}),u.vipRole==="__custom__"&&e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white mt-1",placeholder:"输入自定义角色",value:u.vipRoleCustom,onChange:R=>m(N=>({...N,vipRoleCustom:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"VIP 展示名"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"创业老板排行展示名",value:u.vipName,onChange:R=>m(N=>({...N,vipName:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"项目/公司"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"项目名称",value:u.vipProject,onChange:R=>m(N=>({...N,vipProject:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"联系方式"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"微信号或手机",value:u.vipContact,onChange:R=>m(N=>({...N,vipContact:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"一句话简介"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"简要描述业务",value:u.vipBio,onChange:R=>m(N=>({...N,vipBio:R.target.value}))})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:a,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:P,disabled:v||y,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),v?"保存中...":"保存"]})]})]})}):null}const so=[{id:"register",label:"注册/登录",icon:"👤",color:"bg-blue-500/20 border-blue-500/40 text-blue-400",desc:"微信授权登录或手机号注册"},{id:"browse",label:"浏览章节",icon:"📖",color:"bg-purple-500/20 border-purple-500/40 text-purple-400",desc:"点击免费/付费章节预览"},{id:"bind_phone",label:"绑定手机",icon:"📱",color:"bg-cyan-500/20 border-cyan-500/40 text-cyan-400",desc:"触发付费章节后绑定手机"},{id:"first_pay",label:"首次付款",icon:"💳",color:"bg-green-500/20 border-green-500/40 text-green-400",desc:"购买单章或全书"},{id:"fill_profile",label:"完善资料",icon:"✍️",color:"bg-yellow-500/20 border-yellow-500/40 text-yellow-400",desc:"填写头像、MBTI、行业等"},{id:"match",label:"派对房匹配",icon:"🤝",color:"bg-orange-500/20 border-orange-500/40 text-orange-400",desc:"参与 Soul 派对房"},{id:"vip",label:"升级 VIP",icon:"👑",color:"bg-amber-500/20 border-amber-500/40 text-amber-400",desc:"付款 ¥1980 购买全书"},{id:"distribution",label:"开启分销",icon:"🔗",color:"bg-[#38bdac]/20 border-[#38bdac]/40 text-[#38bdac]",desc:"生成推广码并推荐好友"}];function $2(){var as,En,er,xr,Pt;const[r,a]=Ux(),l=r.get("pool"),[o,c]=h.useState([]),[u,m]=h.useState(0),[f,p]=h.useState(1),[y,g]=h.useState(10),[v,C]=h.useState(""),P=Iu(v,300),R=l==="vip"?"vip":l==="complete"?"complete":"all",[N,b]=h.useState(R),[w,k]=h.useState(!0),[j,T]=h.useState(null),[L,$]=h.useState(!1),[_,I]=h.useState("desc");h.useEffect(()=>{l==="vip"?b("vip"):l==="complete"?b("complete"):l==="all"&&b("all")},[l]);const[E,G]=h.useState(!1),[ne,ae]=h.useState(!1),[q,se]=h.useState(null),[H,ie]=h.useState(""),[ve,V]=h.useState(""),[ce,K]=h.useState(!1),[A,F]=h.useState(!1),[O,Z]=h.useState({referrals:[],stats:{}}),[Y,de]=h.useState(!1),[Q,ge]=h.useState(null),[Se,D]=h.useState(!1),[fe,ke]=h.useState(null),[Ve,We]=h.useState(!1),[Ke,tt]=h.useState(null),[ze,he]=h.useState({phone:"",nickname:"",password:"",isAdmin:!1,hasFullBook:!1}),[xe,ft]=h.useState([]),[es,hr]=h.useState(!1),[bn,As]=h.useState(!1),[Bt,_r]=h.useState(null),[ct,gs]=h.useState({title:"",description:"",trigger:"",sort:0,enabled:!0}),[Nn,mr]=h.useState([]),[Cs,Gn]=h.useState(!1),[Yn,ks]=h.useState(!1),[wn,fr]=h.useState(null),[ys,Ds]=h.useState({name:"",sort:0}),[Ls,Sn]=h.useState({}),[Es,Os]=h.useState(!1);async function Fs(){var B;k(!0),T(null);try{if(L){const He=new URLSearchParams({search:P,limit:String(y*5)}),Je=await $e(`/api/db/users/rfm?${He}`);if(Je!=null&&Je.success){let ls=Je.users||[];_==="asc"&&(ls=[...ls].reverse());const dt=(f-1)*y;c(ls.slice(dt,dt+y)),m(((B=Je.users)==null?void 0:B.length)??0),ls.length===0&&($(!1),T("暂无订单数据,RFM 排序需要用户有购买记录后才能生效"))}else $(!1),T((Je==null?void 0:Je.error)||"RFM 加载失败,已切回普通模式")}else{const He=new URLSearchParams({page:String(f),pageSize:String(y),search:P,...N==="vip"&&{vip:"true"},...N==="complete"&&{pool:"complete"}}),Je=await $e(`/api/db/users?${He}`);Je!=null&&Je.success?(c(Je.users||[]),m(Je.total??0)):T((Je==null?void 0:Je.error)||"加载失败")}}catch(He){console.error("Load users error:",He),T("网络错误")}finally{k(!1)}}h.useEffect(()=>{p(1)},[P,N,L]),h.useEffect(()=>{Fs()},[f,y,P,N,L,_]);const Qn=Math.ceil(u/y)||1,qn=()=>{L?_==="desc"?I("asc"):($(!1),I("desc")):($(!0),I("desc"))},Xn=B=>({S:"bg-amber-500/20 text-amber-400",A:"bg-green-500/20 text-green-400",B:"bg-blue-500/20 text-blue-400",C:"bg-gray-500/20 text-gray-400",D:"bg-red-500/20 text-red-400"})[B||""]||"bg-gray-500/20 text-gray-400";async function Jn(B){if(confirm("确定要删除这个用户吗?"))try{const He=await Pr(`/api/db/users?id=${encodeURIComponent(B)}`);He!=null&&He.success?Fs():alert("删除失败: "+((He==null?void 0:He.error)||""))}catch{alert("删除失败")}}const Cn=B=>{se(B),he({phone:B.phone||"",nickname:B.nickname||"",password:"",isAdmin:!!(B.isAdmin??!1),hasFullBook:!!(B.hasFullBook??!1)}),G(!0)},kn=()=>{se(null),he({phone:"",nickname:"",password:"",isAdmin:!1,hasFullBook:!1}),G(!0)};async function zs(){if(!ze.phone||!ze.nickname){alert("请填写手机号和昵称");return}K(!0);try{if(q){const B=await vt("/api/db/users",{id:q.id,nickname:ze.nickname,isAdmin:ze.isAdmin,hasFullBook:ze.hasFullBook,...ze.password&&{password:ze.password}});if(!(B!=null&&B.success)){alert("更新失败: "+((B==null?void 0:B.error)||""));return}}else{const B=await mt("/api/db/users",{phone:ze.phone,nickname:ze.nickname,password:ze.password,isAdmin:ze.isAdmin});if(!(B!=null&&B.success)){alert("创建失败: "+((B==null?void 0:B.error)||""));return}}G(!1),Fs()}catch{alert("保存失败")}finally{K(!1)}}const Mr=B=>{se(B),ie(""),V(""),ae(!0)};async function $s(B){ge(B),F(!0),de(!0);try{const He=await $e(`/api/db/users/referrals?userId=${encodeURIComponent(B.id)}`);He!=null&&He.success?Z({referrals:He.referrals||[],stats:He.stats||{}}):Z({referrals:[],stats:{}})}catch{Z({referrals:[],stats:{}})}finally{de(!1)}}async function Zn(){if(!H){alert("请输入新密码");return}if(H!==ve){alert("两次密码不一致");return}if(H.length<6){alert("密码至少6位");return}K(!0);try{const B=await vt("/api/db/users",{id:q==null?void 0:q.id,password:H});B!=null&&B.success?(alert("修改成功"),ae(!1)):alert("修改失败: "+((B==null?void 0:B.error)||""))}catch{alert("修改失败")}finally{K(!1)}}const ts=h.useCallback(async()=>{hr(!0);try{const B=await $e("/api/db/user-rules");B!=null&&B.success&&ft(B.rules||[])}catch{}finally{hr(!1)}},[]);async function z(){if(!ct.title){alert("请填写规则标题");return}K(!0);try{if(Bt){const B=await vt("/api/db/user-rules",{id:Bt.id,...ct});if(!(B!=null&&B.success)){alert("更新失败: "+((B==null?void 0:B.error)||""));return}}else{const B=await mt("/api/db/user-rules",ct);if(!(B!=null&&B.success)){alert("创建失败: "+((B==null?void 0:B.error)||""));return}}As(!1),ts()}catch{alert("保存失败")}finally{K(!1)}}async function oe(B){if(confirm("确定删除?"))try{const He=await Pr(`/api/db/user-rules?id=${B}`);He!=null&&He.success&&ts()}catch{}}async function Ce(B){try{await vt("/api/db/user-rules",{id:B.id,enabled:!B.enabled}),ts()}catch{}}const Ee=h.useCallback(async()=>{Gn(!0);try{const B=await $e("/api/db/vip-roles");B!=null&&B.success&&mr(B.roles||[])}catch{}finally{Gn(!1)}},[]);async function xt(){if(!ys.name){alert("请填写角色名称");return}K(!0);try{if(wn){const B=await vt("/api/db/vip-roles",{id:wn.id,...ys});if(!(B!=null&&B.success)){alert("更新失败");return}}else{const B=await mt("/api/db/vip-roles",ys);if(!(B!=null&&B.success)){alert("创建失败");return}}ks(!1),Ee()}catch{alert("保存失败")}finally{K(!1)}}async function ns(B){if(confirm("确定删除?"))try{const He=await Pr(`/api/db/vip-roles?id=${B}`);He!=null&&He.success&&Ee()}catch{}}const nt=h.useCallback(async()=>{Os(!0);try{const B=await $e("/api/db/users/journey-stats");B!=null&&B.success&&B.stats&&Sn(B.stats)}catch{}finally{Os(!1)}},[]);return e.jsxs("div",{className:"p-8 w-full",children:[j&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:j}),e.jsx("button",{type:"button",onClick:()=>T(null),children:"×"})]}),e.jsx("div",{className:"flex justify-between items-center mb-6",children:e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"用户管理"}),e.jsxs("p",{className:"text-gray-400 mt-1 text-sm",children:["共 ",u," 位注册用户",L&&" · RFM 排序中"]})]})}),e.jsxs($l,{defaultValue:"users",className:"w-full",children:[e.jsxs($a,{className:"bg-[#0a1628] border border-gray-700/50 p-1 mb-6 flex-wrap h-auto gap-1",children:[e.jsxs(Lt,{value:"users",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] flex items-center gap-1.5",children:[e.jsx(Yt,{className:"w-4 h-4"})," 用户列表"]}),e.jsxs(Lt,{value:"journey",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] flex items-center gap-1.5",onClick:nt,children:[e.jsx(Pa,{className:"w-4 h-4"})," 用户旅程总览"]}),e.jsxs(Lt,{value:"rules",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] flex items-center gap-1.5",onClick:ts,children:[e.jsx(Bn,{className:"w-4 h-4"})," 规则配置"]}),e.jsxs(Lt,{value:"vip-roles",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] flex items-center gap-1.5",onClick:Ee,children:[e.jsx(rn,{className:"w-4 h-4"})," VIP 角色"]})]}),e.jsxs(Ot,{value:"users",children:[e.jsxs("div",{className:"flex items-center gap-3 mb-4 justify-end flex-wrap",children:[e.jsxs(J,{variant:"outline",onClick:Fs,disabled:w,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${w?"animate-spin":""}`})," 刷新"]}),e.jsxs("select",{value:N,onChange:B=>{const He=B.target.value;b(He),p(1),l&&(r.delete("pool"),a(r))},className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",disabled:L,children:[e.jsx("option",{value:"all",children:"全部用户"}),e.jsx("option",{value:"vip",children:"VIP会员(超级个体)"}),e.jsx("option",{value:"complete",children:"完善资料用户"})]}),e.jsxs("div",{className:"relative",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-500"}),e.jsx(le,{type:"text",placeholder:"搜索用户...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white placeholder:text-gray-500 w-56",value:v,onChange:B=>C(B.target.value)})]}),e.jsxs(J,{onClick:kn,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Xd,{className:"w-4 h-4 mr-2"})," 添加用户"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:w?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs("div",{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"用户信息"}),e.jsx(be,{className:"text-gray-400",children:"绑定信息"}),e.jsx(be,{className:"text-gray-400",children:"购买状态"}),e.jsx(be,{className:"text-gray-400",children:"分销收益"}),e.jsxs(be,{className:"text-gray-400 cursor-pointer select-none",onClick:qn,children:[e.jsxs("div",{className:"flex items-center gap-1 group",children:[e.jsx(Rl,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"RFM分值"}),L?_==="desc"?e.jsx(Ml,{className:"w-3.5 h-3.5 text-[#38bdac]"}):e.jsx(Wx,{className:"w-3.5 h-3.5 text-[#38bdac]"}):e.jsx(Wj,{className:"w-3.5 h-3.5 text-gray-600 group-hover:text-gray-400"})]}),L&&e.jsx("div",{className:"text-[10px] text-[#38bdac] font-normal mt-0.5",children:"点击切换方向/关闭"})]}),e.jsx(be,{className:"text-gray-400",children:"注册时间"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[o.map(B=>{var He,Je,ls;return e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac]",children:B.avatar?e.jsx("img",{src:B.avatar,className:"w-full h-full rounded-full object-cover",alt:""}):((He=B.nickname)==null?void 0:He.charAt(0))||"?"}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("p",{className:"font-medium text-white",children:B.nickname}),B.isAdmin&&e.jsx(Le,{className:"bg-purple-500/20 text-purple-400 hover:bg-purple-500/20 border-0 text-xs",children:"管理员"}),B.openId&&!((Je=B.id)!=null&&Je.startsWith("user_"))&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0 text-xs",children:"微信"})]}),e.jsx("p",{className:"text-xs text-gray-500 font-mono",children:B.openId?B.openId.slice(0,12)+"...":(ls=B.id)==null?void 0:ls.slice(0,12)})]})]})}),e.jsx(pe,{children:e.jsxs("div",{className:"space-y-1",children:[B.phone&&e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx("span",{className:"text-gray-500",children:"📱"}),e.jsx("span",{className:"text-gray-300",children:B.phone})]}),B.wechatId&&e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx("span",{className:"text-gray-500",children:"💬"}),e.jsx("span",{className:"text-gray-300",children:B.wechatId})]}),B.openId&&e.jsxs("div",{className:"flex items-center gap-1 text-xs",children:[e.jsx("span",{className:"text-gray-500",children:"🔗"}),e.jsxs("span",{className:"text-gray-500 truncate max-w-[100px]",title:B.openId,children:[B.openId.slice(0,12),"..."]})]}),!B.phone&&!B.wechatId&&!B.openId&&e.jsx("span",{className:"text-gray-600 text-xs",children:"未绑定"})]})}),e.jsx(pe,{children:B.hasFullBook?e.jsx(Le,{className:"bg-amber-500/20 text-amber-400 hover:bg-amber-500/20 border-0",children:"VIP"}):e.jsx(Le,{variant:"outline",className:"text-gray-500 border-gray-600",children:"未购买"})}),e.jsx(pe,{children:e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"text-white font-medium",children:["¥",parseFloat(String(B.earnings||0)).toFixed(2)]}),parseFloat(String(B.pendingEarnings||0))>0&&e.jsxs("div",{className:"text-xs text-yellow-400",children:["待提现: ¥",parseFloat(String(B.pendingEarnings||0)).toFixed(2)]}),e.jsxs("div",{className:"text-xs text-[#38bdac] cursor-pointer hover:underline flex items-center gap-1",onClick:()=>$s(B),role:"button",tabIndex:0,onKeyDown:dt=>dt.key==="Enter"&&$s(B),children:[e.jsx(Yt,{className:"w-3 h-3"})," 绑定",B.referralCount||0,"人"]})]})}),e.jsx(pe,{children:B.rfmScore!==void 0?e.jsx("div",{className:"flex flex-col gap-1",children:e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"text-white font-bold text-base",children:B.rfmScore}),e.jsx(Le,{className:`border-0 text-xs ${Xn(B.rfmLevel)}`,children:B.rfmLevel})]})}):e.jsxs("span",{className:"text-gray-600 text-sm",children:["— ",e.jsx("span",{className:"text-xs text-gray-700",children:"点列头排序"})]})}),e.jsx(pe,{className:"text-gray-400",children:B.createdAt?new Date(B.createdAt).toLocaleDateString():"-"}),e.jsx(pe,{className:"text-right",children:e.jsxs("div",{className:"flex items-center justify-end gap-1",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>{tt(B),We(!0)},className:"text-gray-400 hover:text-amber-400 hover:bg-amber-400/10",title:"设置 VIP",children:e.jsx(rn,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>{ke(B.id),D(!0)},className:"text-gray-400 hover:text-blue-400 hover:bg-blue-400/10",title:"查看详情",children:e.jsx(Er,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>Cn(B),className:"text-gray-400 hover:text-[#38bdac] hover:bg-[#38bdac]/10",title:"编辑",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>Mr(B),className:"text-gray-400 hover:text-yellow-400 hover:bg-yellow-400/10",title:"修改密码",children:e.jsx($f,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",onClick:()=>Jn(B.id),title:"删除",children:e.jsx(Ht,{className:"w-4 h-4"})})]})})]},B.id)}),o.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:7,className:"text-center py-12 text-gray-500",children:"暂无用户数据"})})]})]}),e.jsx(Qs,{page:f,totalPages:Qn,total:u,pageSize:y,onPageChange:p,onPageSizeChange:B=>{g(B),p(1)}})]})})})]}),e.jsxs(Ot,{value:"journey",children:[e.jsxs("div",{className:"flex items-center justify-between mb-5",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"用户从注册到 VIP 的完整行动路径,点击各阶段查看用户动态"}),e.jsxs(J,{variant:"outline",onClick:nt,disabled:Es,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${Es?"animate-spin":""}`})," 刷新数据"]})]}),e.jsxs("div",{className:"relative mb-8",children:[e.jsx("div",{className:"absolute top-16 left-0 right-0 h-0.5 bg-gradient-to-r from-blue-500/20 via-[#38bdac]/30 to-amber-500/20 mx-20"}),e.jsx("div",{className:"grid grid-cols-4 gap-4 lg:grid-cols-8",children:so.map((B,He)=>e.jsxs("div",{className:"relative flex flex-col items-center",children:[e.jsxs("div",{className:`relative w-full p-3 rounded-xl border ${B.color} text-center cursor-default`,children:[e.jsx("div",{className:"text-2xl mb-1",children:B.icon}),e.jsx("div",{className:`text-xs font-medium ${B.color.split(" ").find(Je=>Je.startsWith("text-"))}`,children:B.label}),Ls[B.id]!==void 0&&e.jsxs("div",{className:"mt-1.5 text-xs text-gray-400",children:[e.jsx("span",{className:"font-bold text-white",children:Ls[B.id]})," 人"]}),e.jsx("div",{className:"absolute -top-2.5 -left-2.5 w-5 h-5 rounded-full bg-[#0a1628] border border-gray-700 flex items-center justify-center text-[10px] text-gray-500",children:He+1})]}),Hee.jsxs("div",{className:"flex items-start gap-3 p-2 bg-[#0a1628] rounded",children:[e.jsx("span",{className:"text-[#38bdac] font-mono text-xs shrink-0 mt-0.5",children:B.step}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-300",children:B.action}),e.jsxs("p",{className:"text-gray-600 text-xs",children:["→ ",B.next]})]})]},B.step))})]}),e.jsxs("div",{className:"bg-[#0f2137] border border-gray-700/50 rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(qs,{className:"w-4 h-4 text-purple-400"}),e.jsx("span",{className:"text-white font-medium",children:"行为锚点统计"}),e.jsx("span",{className:"text-gray-500 text-xs ml-auto",children:"实时更新"})]}),Es?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(Be,{className:"w-5 h-5 text-[#38bdac] animate-spin"})}):Object.keys(Ls).length>0?e.jsx("div",{className:"space-y-2",children:so.map(B=>{const He=Ls[B.id]||0,Je=Math.max(...so.map(dt=>Ls[dt.id]||0),1),ls=Math.round(He/Je*100);return e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"text-gray-500 text-xs w-20 shrink-0",children:[B.icon," ",B.label]}),e.jsx("div",{className:"flex-1 h-2 bg-[#0a1628] rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-[#38bdac]/60 rounded-full transition-all",style:{width:`${ls}%`}})}),e.jsx("span",{className:"text-gray-400 text-xs w-10 text-right",children:He})]},B.id)})}):e.jsx("div",{className:"text-center py-8",children:e.jsx("p",{className:"text-gray-500 text-sm",children:"点击「刷新数据」加载统计"})})]})]})]}),e.jsxs(Ot,{value:"rules",children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"用户旅程引导规则,定义各行为节点的触发条件与引导内容"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(J,{variant:"outline",onClick:ts,disabled:es,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${es?"animate-spin":""}`})," 刷新"]}),e.jsxs(J,{onClick:()=>{_r(null),gs({title:"",description:"",trigger:"",sort:0,enabled:!0}),As(!0)},className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"})," 添加规则"]})]})]}),es?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"})}):xe.length===0?e.jsxs("div",{className:"text-center py-16 bg-[#0f2137] rounded-lg border border-gray-700/50",children:[e.jsx(qs,{className:"w-12 h-12 text-[#38bdac]/30 mx-auto mb-4"}),e.jsx("p",{className:"text-gray-400 mb-4",children:"暂无规则(重启服务将自动写入10条默认规则)"}),e.jsxs(J,{onClick:ts,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Be,{className:"w-4 h-4 mr-2"})," 重新加载"]})]}):e.jsx("div",{className:"space-y-2",children:xe.map(B=>e.jsx("div",{className:`p-4 rounded-lg border transition-all ${B.enabled?"bg-[#0f2137] border-gray-700/50":"bg-[#0a1628]/50 border-gray-700/30 opacity-55"}`,children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap mb-1",children:[e.jsx(ht,{className:"w-4 h-4 text-[#38bdac] shrink-0"}),e.jsx("span",{className:"text-white font-medium",children:B.title}),B.trigger&&e.jsxs(Le,{className:"bg-[#38bdac]/10 text-[#38bdac] border border-[#38bdac]/30 text-xs",children:["触发:",B.trigger]}),e.jsx(Le,{className:`text-xs border-0 ${B.enabled?"bg-green-500/20 text-green-400":"bg-gray-500/20 text-gray-400"}`,children:B.enabled?"启用":"禁用"})]}),B.description&&e.jsx("p",{className:"text-gray-400 text-sm ml-6",children:B.description})]}),e.jsxs("div",{className:"flex items-center gap-2 ml-4 shrink-0",children:[e.jsx(ot,{checked:B.enabled,onCheckedChange:()=>Ce(B)}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>{_r(B),gs({title:B.title,description:B.description,trigger:B.trigger,sort:B.sort,enabled:B.enabled}),As(!0)},className:"text-gray-400 hover:text-[#38bdac] hover:bg-[#38bdac]/10",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>oe(B.id),className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",children:e.jsx(Ht,{className:"w-4 h-4"})})]})]})},B.id))})]}),e.jsxs(Ot,{value:"vip-roles",children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"管理用户 VIP 角色分类,这些角色将在用户详情和会员展示中使用"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(J,{variant:"outline",onClick:Ee,disabled:Cs,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${Cs?"animate-spin":""}`})," 刷新"]}),e.jsxs(J,{onClick:()=>{fr(null),Ds({name:"",sort:0}),ks(!0)},className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"})," 添加角色"]})]})]}),Cs?e.jsx("div",{className:"flex items-center justify-center py-12",children:e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"})}):Nn.length===0?e.jsxs("div",{className:"text-center py-16 bg-[#0f2137] rounded-lg border border-gray-700/50",children:[e.jsx(rn,{className:"w-12 h-12 text-amber-400/30 mx-auto mb-4"}),e.jsx("p",{className:"text-gray-400 mb-4",children:"暂无 VIP 角色"}),e.jsxs(J,{onClick:()=>{fr(null),Ds({name:"",sort:0}),ks(!0)},className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"})," 添加第一个角色"]})]}):e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-3",children:Nn.map(B=>e.jsxs("div",{className:"p-4 bg-[#0f2137] border border-amber-500/20 rounded-xl hover:border-amber-500/40 transition-all group",children:[e.jsxs("div",{className:"flex items-start justify-between mb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(rn,{className:"w-4 h-4 text-amber-400"}),e.jsx("span",{className:"text-white font-medium",children:B.name})]}),e.jsxs("div",{className:"flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx("button",{type:"button",onClick:()=>{fr(B),Ds({name:B.name,sort:B.sort}),ks(!0)},className:"text-gray-500 hover:text-[#38bdac]",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx("button",{type:"button",onClick:()=>ns(B.id),className:"text-gray-500 hover:text-red-400",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),e.jsxs("p",{className:"text-gray-600 text-xs",children:["排序: ",B.sort]})]},B.id))})]})]}),e.jsx(Ct,{open:E,onOpenChange:G,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[q?e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}):e.jsx(Xd,{className:"w-5 h-5 text-[#38bdac]"}),q?"编辑用户":"添加用户"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"手机号"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"请输入手机号",value:ze.phone,onChange:B=>he({...ze,phone:B.target.value}),disabled:!!q})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"昵称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"请输入昵称",value:ze.nickname,onChange:B=>he({...ze,nickname:B.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:q?"新密码 (留空则不修改)":"密码"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:q?"留空则不修改":"请输入密码",value:ze.password,onChange:B=>he({...ze,password:B.target.value})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(te,{className:"text-gray-300",children:"管理员权限"}),e.jsx(ot,{checked:ze.isAdmin,onCheckedChange:B=>he({...ze,isAdmin:B})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(te,{className:"text-gray-300",children:"已购全书"}),e.jsx(ot,{checked:ze.hasFullBook,onCheckedChange:B=>he({...ze,hasFullBook:B})})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>G(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:zs,disabled:ce,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),ce?"保存中...":"保存"]})]})]})}),e.jsx(Ct,{open:ne,onOpenChange:ae,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx($f,{className:"w-5 h-5 text-[#38bdac]"}),"修改密码"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["用户:",q==null?void 0:q.nickname]}),e.jsxs("p",{className:"text-gray-400 text-sm",children:["手机号:",q==null?void 0:q.phone]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"新密码"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"请输入新密码 (至少6位)",value:H,onChange:B=>ie(B.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"确认密码"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"请再次输入",value:ve,onChange:B=>V(B.target.value)})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>ae(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:Zn,disabled:ce,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:ce?"保存中...":"确认修改"})]})]})}),e.jsx(Ct,{open:bn,onOpenChange:As,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}),Bt?"编辑规则":"添加规则"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"规则标题 *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例:匹配后填写头像、付款1980需填写信息",value:ct.title,onChange:B=>gs({...ct,title:B.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"规则描述"}),e.jsx(un,{className:"bg-[#0a1628] border-gray-700 text-white min-h-[80px] resize-none",placeholder:"详细说明规则内容...",value:ct.description,onChange:B=>gs({...ct,description:B.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"触发条件"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例:完成匹配、付款后、注册时",value:ct.trigger,onChange:B=>gs({...ct,trigger:B.target.value})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{children:e.jsx(te,{className:"text-gray-300",children:"启用状态"})}),e.jsx(ot,{checked:ct.enabled,onCheckedChange:B=>gs({...ct,enabled:B})})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>As(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:z,disabled:ce,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),ce?"保存中...":"保存"]})]})]})}),e.jsx(Ct,{open:Yn,onOpenChange:ks,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(rn,{className:"w-5 h-5 text-amber-400"}),wn?"编辑 VIP 角色":"添加 VIP 角色"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"角色名称 *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例:创业者、资源整合者、技术咖",value:ys.name,onChange:B=>Ds({...ys,name:B.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"排序(越小越前)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:ys.sort,onChange:B=>Ds({...ys,sort:parseInt(B.target.value)||0})})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>ks(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:xt,disabled:ce,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),ce?"保存中...":"保存"]})]})]})}),e.jsx(Ct,{open:A,onOpenChange:F,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-2xl max-h-[80vh] overflow-auto",children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"}),"绑定关系 - ",Q==null?void 0:Q.nickname]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-4 gap-3",children:[e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3 text-center",children:[e.jsx("div",{className:"text-2xl font-bold text-[#38bdac]",children:((as=O.stats)==null?void 0:as.total)||0}),e.jsx("div",{className:"text-xs text-gray-400",children:"绑定总数"})]}),e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3 text-center",children:[e.jsx("div",{className:"text-2xl font-bold text-green-400",children:((En=O.stats)==null?void 0:En.purchased)||0}),e.jsx("div",{className:"text-xs text-gray-400",children:"已付费"})]}),e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3 text-center",children:[e.jsxs("div",{className:"text-2xl font-bold text-yellow-400",children:["¥",(((er=O.stats)==null?void 0:er.earnings)||0).toFixed(2)]}),e.jsx("div",{className:"text-xs text-gray-400",children:"累计收益"})]}),e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-3 text-center",children:[e.jsxs("div",{className:"text-2xl font-bold text-orange-400",children:["¥",(((xr=O.stats)==null?void 0:xr.pendingEarnings)||0).toFixed(2)]}),e.jsx("div",{className:"text-xs text-gray-400",children:"待提现"})]})]}),Y?e.jsxs("div",{className:"flex items-center justify-center py-8",children:[e.jsx(Be,{className:"w-5 h-5 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):(((Pt=O.referrals)==null?void 0:Pt.length)??0)>0?e.jsx("div",{className:"space-y-2 max-h-[300px] overflow-y-auto",children:(O.referrals??[]).map((B,He)=>{var ls;const Je=B;return e.jsxs("div",{className:"flex items-center justify-between bg-[#0a1628] rounded-lg p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-8 h-8 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm text-[#38bdac]",children:((ls=Je.nickname)==null?void 0:ls.charAt(0))||"?"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-white text-sm",children:Je.nickname}),e.jsx("div",{className:"text-xs text-gray-500",children:Je.phone||(Je.hasOpenId?"微信用户":"未绑定")})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[Je.status==="vip"&&e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0 text-xs",children:"全书已购"}),Je.status==="paid"&&e.jsxs(Le,{className:"bg-blue-500/20 text-blue-400 border-0 text-xs",children:["已付费",Je.purchasedSections,"章"]}),Je.status==="free"&&e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 border-0 text-xs",children:"未付费"}),e.jsx("span",{className:"text-xs text-gray-500",children:Je.createdAt?new Date(Je.createdAt).toLocaleDateString():""})]})]},Je.id||He)})}):e.jsx("div",{className:"text-center py-8 text-gray-500",children:"暂无绑定用户"})]}),e.jsx(Dt,{children:e.jsx(J,{variant:"outline",onClick:()=>F(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"关闭"})})]})}),e.jsx(y0,{open:Se,onClose:()=>D(!1),userId:fe,onUserUpdated:Fs}),e.jsx(z2,{open:Ve,onClose:()=>{We(!1),tt(null)},userId:(Ke==null?void 0:Ke.id)??null,userNickname:Ke==null?void 0:Ke.nickname,onSaved:Fs})]})}function xo(r,[a,l]){return Math.min(l,Math.max(a,r))}var v0=["PageUp","PageDown"],j0=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],b0={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},Ba="Slider",[su,B2,U2]=_u(Ba),[N0]=yn(Ba,[U2]),[V2,Ro]=N0(Ba),w0=h.forwardRef((r,a)=>{const{name:l,min:o=0,max:c=100,step:u=1,orientation:m="horizontal",disabled:f=!1,minStepsBetweenThumbs:p=0,defaultValue:y=[o],value:g,onValueChange:v=()=>{},onValueCommit:C=()=>{},inverted:P=!1,form:R,...N}=r,b=h.useRef(new Set),w=h.useRef(0),j=m==="horizontal"?W2:H2,[T=[],L]=Un({prop:g,defaultProp:y,onChange:ne=>{var q;(q=[...b.current][w.current])==null||q.focus(),v(ne)}}),$=h.useRef(T);function _(ne){const ae=q2(T,ne);G(ne,ae)}function I(ne){G(ne,w.current)}function E(){const ne=$.current[w.current];T[w.current]!==ne&&C(T)}function G(ne,ae,{commit:q}={commit:!1}){const se=e4(u),H=t4(Math.round((ne-o)/u)*u+o,se),ie=xo(H,[o,c]);L((ve=[])=>{const V=Y2(ve,ie,ae);if(Z2(V,p*u)){w.current=V.indexOf(ie);const ce=String(V)!==String(ve);return ce&&q&&C(V),ce?V:ve}else return ve})}return e.jsx(V2,{scope:r.__scopeSlider,name:l,disabled:f,min:o,max:c,valueIndexToChangeRef:w,thumbs:b.current,values:T,orientation:m,form:R,children:e.jsx(su.Provider,{scope:r.__scopeSlider,children:e.jsx(su.Slot,{scope:r.__scopeSlider,children:e.jsx(j,{"aria-disabled":f,"data-disabled":f?"":void 0,...N,ref:a,onPointerDown:Ge(N.onPointerDown,()=>{f||($.current=T)}),min:o,max:c,inverted:P,onSlideStart:f?void 0:_,onSlideMove:f?void 0:I,onSlideEnd:f?void 0:E,onHomeKeyDown:()=>!f&&G(o,0,{commit:!0}),onEndKeyDown:()=>!f&&G(c,T.length-1,{commit:!0}),onStepKeyDown:({event:ne,direction:ae})=>{if(!f){const H=v0.includes(ne.key)||ne.shiftKey&&j0.includes(ne.key)?10:1,ie=w.current,ve=T[ie],V=u*H*ae;G(ve+V,ie,{commit:!0})}}})})})})});w0.displayName=Ba;var[S0,C0]=N0(Ba,{startEdge:"left",endEdge:"right",size:"width",direction:1}),W2=h.forwardRef((r,a)=>{const{min:l,max:o,dir:c,inverted:u,onSlideStart:m,onSlideMove:f,onSlideEnd:p,onStepKeyDown:y,...g}=r,[v,C]=h.useState(null),P=at(a,j=>C(j)),R=h.useRef(void 0),N=Eo(c),b=N==="ltr",w=b&&!u||!b&&u;function k(j){const T=R.current||v.getBoundingClientRect(),L=[0,T.width],_=Lu(L,w?[l,o]:[o,l]);return R.current=T,_(j-T.left)}return e.jsx(S0,{scope:r.__scopeSlider,startEdge:w?"left":"right",endEdge:w?"right":"left",direction:w?1:-1,size:"width",children:e.jsx(k0,{dir:N,"data-orientation":"horizontal",...g,ref:P,style:{...g.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:j=>{const T=k(j.clientX);m==null||m(T)},onSlideMove:j=>{const T=k(j.clientX);f==null||f(T)},onSlideEnd:()=>{R.current=void 0,p==null||p()},onStepKeyDown:j=>{const L=b0[w?"from-left":"from-right"].includes(j.key);y==null||y({event:j,direction:L?-1:1})}})})}),H2=h.forwardRef((r,a)=>{const{min:l,max:o,inverted:c,onSlideStart:u,onSlideMove:m,onSlideEnd:f,onStepKeyDown:p,...y}=r,g=h.useRef(null),v=at(a,g),C=h.useRef(void 0),P=!c;function R(N){const b=C.current||g.current.getBoundingClientRect(),w=[0,b.height],j=Lu(w,P?[o,l]:[l,o]);return C.current=b,j(N-b.top)}return e.jsx(S0,{scope:r.__scopeSlider,startEdge:P?"bottom":"top",endEdge:P?"top":"bottom",size:"height",direction:P?1:-1,children:e.jsx(k0,{"data-orientation":"vertical",...y,ref:v,style:{...y.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:N=>{const b=R(N.clientY);u==null||u(b)},onSlideMove:N=>{const b=R(N.clientY);m==null||m(b)},onSlideEnd:()=>{C.current=void 0,f==null||f()},onStepKeyDown:N=>{const w=b0[P?"from-bottom":"from-top"].includes(N.key);p==null||p({event:N,direction:w?-1:1})}})})}),k0=h.forwardRef((r,a)=>{const{__scopeSlider:l,onSlideStart:o,onSlideMove:c,onSlideEnd:u,onHomeKeyDown:m,onEndKeyDown:f,onStepKeyDown:p,...y}=r,g=Ro(Ba,l);return e.jsx(Xe.span,{...y,ref:a,onKeyDown:Ge(r.onKeyDown,v=>{v.key==="Home"?(m(v),v.preventDefault()):v.key==="End"?(f(v),v.preventDefault()):v0.concat(j0).includes(v.key)&&(p(v),v.preventDefault())}),onPointerDown:Ge(r.onPointerDown,v=>{const C=v.target;C.setPointerCapture(v.pointerId),v.preventDefault(),g.thumbs.has(C)?C.focus():o(v)}),onPointerMove:Ge(r.onPointerMove,v=>{v.target.hasPointerCapture(v.pointerId)&&c(v)}),onPointerUp:Ge(r.onPointerUp,v=>{const C=v.target;C.hasPointerCapture(v.pointerId)&&(C.releasePointerCapture(v.pointerId),u(v))})})}),E0="SliderTrack",P0=h.forwardRef((r,a)=>{const{__scopeSlider:l,...o}=r,c=Ro(E0,l);return e.jsx(Xe.span,{"data-disabled":c.disabled?"":void 0,"data-orientation":c.orientation,...o,ref:a})});P0.displayName=E0;var ru="SliderRange",T0=h.forwardRef((r,a)=>{const{__scopeSlider:l,...o}=r,c=Ro(ru,l),u=C0(ru,l),m=h.useRef(null),f=at(a,m),p=c.values.length,y=c.values.map(C=>_0(C,c.min,c.max)),g=p>1?Math.min(...y):0,v=100-Math.max(...y);return e.jsx(Xe.span,{"data-orientation":c.orientation,"data-disabled":c.disabled?"":void 0,...o,ref:f,style:{...r.style,[u.startEdge]:g+"%",[u.endEdge]:v+"%"}})});T0.displayName=ru;var nu="SliderThumb",R0=h.forwardRef((r,a)=>{const l=B2(r.__scopeSlider),[o,c]=h.useState(null),u=at(a,f=>c(f)),m=h.useMemo(()=>o?l().findIndex(f=>f.ref.current===o):-1,[l,o]);return e.jsx(K2,{...r,ref:u,index:m})}),K2=h.forwardRef((r,a)=>{const{__scopeSlider:l,index:o,name:c,...u}=r,m=Ro(nu,l),f=C0(nu,l),[p,y]=h.useState(null),g=at(a,k=>y(k)),v=p?m.form||!!p.closest("form"):!0,C=Du(p),P=m.values[o],R=P===void 0?0:_0(P,m.min,m.max),N=Q2(o,m.values.length),b=C==null?void 0:C[f.size],w=b?X2(b,R,f.direction):0;return h.useEffect(()=>{if(p)return m.thumbs.add(p),()=>{m.thumbs.delete(p)}},[p,m.thumbs]),e.jsxs("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${R}% + ${w}px)`},children:[e.jsx(su.ItemSlot,{scope:r.__scopeSlider,children:e.jsx(Xe.span,{role:"slider","aria-label":r["aria-label"]||N,"aria-valuemin":m.min,"aria-valuenow":P,"aria-valuemax":m.max,"aria-orientation":m.orientation,"data-orientation":m.orientation,"data-disabled":m.disabled?"":void 0,tabIndex:m.disabled?void 0:0,...u,ref:g,style:P===void 0?{display:"none"}:r.style,onFocus:Ge(r.onFocus,()=>{m.valueIndexToChangeRef.current=o})})}),v&&e.jsx(I0,{name:c??(m.name?m.name+(m.values.length>1?"[]":""):void 0),form:m.form,value:P},o)]})});R0.displayName=nu;var G2="RadioBubbleInput",I0=h.forwardRef(({__scopeSlider:r,value:a,...l},o)=>{const c=h.useRef(null),u=at(c,o),m=Au(a);return h.useEffect(()=>{const f=c.current;if(!f)return;const p=window.HTMLInputElement.prototype,g=Object.getOwnPropertyDescriptor(p,"value").set;if(m!==a&&g){const v=new Event("input",{bubbles:!0});g.call(f,a),f.dispatchEvent(v)}},[m,a]),e.jsx(Xe.input,{style:{display:"none"},...l,ref:u,defaultValue:a})});I0.displayName=G2;function Y2(r=[],a,l){const o=[...r];return o[l]=a,o.sort((c,u)=>c-u)}function _0(r,a,l){const u=100/(l-a)*(r-a);return xo(u,[0,100])}function Q2(r,a){return a>2?`Value ${r+1} of ${a}`:a===2?["Minimum","Maximum"][r]:void 0}function q2(r,a){if(r.length===1)return 0;const l=r.map(c=>Math.abs(c-a)),o=Math.min(...l);return l.indexOf(o)}function X2(r,a,l){const o=r/2,u=Lu([0,50],[0,o]);return(o-u(a)*l)*l}function J2(r){return r.slice(0,-1).map((a,l)=>r[l+1]-a)}function Z2(r,a){if(a>0){const l=J2(r);return Math.min(...l)>=a}return!0}function Lu(r,a){return l=>{if(r[0]===r[1]||a[0]===a[1])return a[0];const o=(a[1]-a[0])/(r[1]-r[0]);return a[0]+o*(l-r[0])}}function e4(r){return(String(r).split(".")[1]||"").length}function t4(r,a){const l=Math.pow(10,a);return Math.round(r*l)/l}var s4=w0,r4=P0,n4=T0,a4=R0;function l4({className:r,defaultValue:a,value:l,min:o=0,max:c=100,...u}){const m=h.useMemo(()=>Array.isArray(l)?l:Array.isArray(a)?a:[o,c],[l,a,o,c]);return e.jsxs(s4,{defaultValue:a,value:l,min:o,max:c,className:lt("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50",r),...u,children:[e.jsx(r4,{className:"bg-gray-600 relative grow overflow-hidden rounded-full h-1.5 w-full",children:e.jsx(n4,{className:"bg-[#38bdac] absolute h-full rounded-full"})}),Array.from({length:m.length},(f,p)=>e.jsx(a4,{className:"block size-4 shrink-0 rounded-full border-2 border-[#38bdac] bg-white shadow-sm focus-visible:ring-2 focus-visible:ring-[#38bdac] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"},p))]})}const i4={distributorShare:90,minWithdrawAmount:10,bindingDays:30,userDiscount:5,enableAutoWithdraw:!1,vipOrderShareVip:20,vipOrderShareNonVip:10};function M0({embedded:r=!1}){const[a,l]=h.useState(i4),[o,c]=h.useState(!0),[u,m]=h.useState(!1);h.useEffect(()=>{$e("/api/admin/referral-settings").then(y=>{const g=y==null?void 0:y.data;g&&typeof g=="object"&&l({distributorShare:g.distributorShare??90,minWithdrawAmount:g.minWithdrawAmount??10,bindingDays:g.bindingDays??30,userDiscount:g.userDiscount??5,enableAutoWithdraw:g.enableAutoWithdraw??!1,vipOrderShareVip:g.vipOrderShareVip??20,vipOrderShareNonVip:g.vipOrderShareNonVip??10})}).catch(console.error).finally(()=>c(!1))},[]);const f=async()=>{m(!0);try{const y={distributorShare:Number(a.distributorShare)||0,minWithdrawAmount:Number(a.minWithdrawAmount)||0,bindingDays:Number(a.bindingDays)||0,userDiscount:Number(a.userDiscount)||0,enableAutoWithdraw:!!a.enableAutoWithdraw,vipOrderShareVip:Number(a.vipOrderShareVip)||20,vipOrderShareNonVip:Number(a.vipOrderShareNonVip)||10},g=await mt("/api/admin/referral-settings",y);if(!g||g.success===!1){alert("保存失败: "+(g&&typeof g=="object"&&"error"in g?g.error:""));return}alert(`✅ 分销配置已保存成功! • 小程序与网站的推广规则会一起生效 • 绑定关系会使用新的天数配置 • 佣金比例会立即应用到新订单 -如有缓存,请刷新前台/小程序页面。`)}catch(y){console.error(y),alert("保存失败: "+(y instanceof Error?y.message:String(y)))}finally{m(!1)}},p=y=>g=>{const v=parseFloat(g.target.value||"0");l(k=>({...k,[y]:isNaN(v)?0:v}))};return o?e.jsx("div",{className:"p-8 text-gray-500",children:"加载中..."}):e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Ma,{className:"w-5 h-5 text-[#38bdac]"}),"推广 / 分销设置"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"统一管理「好友优惠」「你得 90% 收益」「绑定期 30 天」「提现门槛」等规则,小程序和 Web 共用这套配置。"})]}),e.jsxs(J,{onClick:f,disabled:u||o,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),u?"保存中...":"保存配置"]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"flex items-center gap-2 text-white",children:[e.jsx(qb,{className:"w-4 h-4 text-[#38bdac]"}),"推广规则"]}),e.jsx(jt,{className:"text-gray-400",children:"这三项会直接体现在小程序「推广规则」卡片上,同时影响实收佣金计算。"})]}),e.jsx(we,{className:"space-y-6",children:e.jsxs("div",{className:"grid grid-cols-3 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yi,{className:"w-3 h-3 text-[#38bdac]"}),"好友优惠(%)"]}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.userDiscount,onChange:p("userDiscount")}),e.jsx("p",{className:"text-xs text-gray-500",children:"例如 5 表示好友立减 5%(在价格配置基础上生效)。"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yt,{className:"w-3 h-3 text-[#38bdac]"}),"推广者分成(%)"]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(l4,{className:"flex-1",min:10,max:100,step:1,value:[a.distributorShare],onValueChange:([y])=>l(g=>({...g,distributorShare:y}))}),e.jsx(le,{type:"number",min:0,max:100,className:"w-20 bg-[#0a1628] border-gray-700 text-white text-center",value:a.distributorShare,onChange:p("distributorShare")})]}),e.jsxs("p",{className:"text-xs text-gray-500",children:["内容订单佣金 = 订单金额 ×"," ",e.jsxs("span",{className:"text-[#38bdac] font-mono",children:[a.distributorShare,"%"]}),";会员订单见下方。"]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yi,{className:"w-3 h-3 text-[#38bdac]"}),"会员订单分润(推广者是会员 %)"]}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.vipOrderShareVip,onChange:p("vipOrderShareVip")}),e.jsx("p",{className:"text-xs text-gray-500",children:"推广者已是会员时,会员订单佣金比例,默认 20%。"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yi,{className:"w-3 h-3 text-[#38bdac]"}),"会员订单分润(推广者非会员 %)"]}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.vipOrderShareNonVip,onChange:p("vipOrderShareNonVip")}),e.jsx("p",{className:"text-xs text-gray-500",children:"推广者非会员时,会员订单佣金比例,默认 10%。"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yt,{className:"w-3 h-3 text-[#38bdac]"}),"绑定有效期(天)"]}),e.jsx(le,{type:"number",min:1,max:365,className:"bg-[#0a1628] border-gray-700 text-white",value:a.bindingDays,onChange:p("bindingDays")}),e.jsx("p",{className:"text-xs text-gray-500",children:"好友通过你的链接进来并登录后,绑定在你名下的天数。"})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"flex items-center gap-2 text-white",children:[e.jsx(Ma,{className:"w-4 h-4 text-[#38bdac]"}),"提现规则"]}),e.jsx(jt,{className:"text-gray-400",children:"与「提现中心」「自动提现」相关的参数,影响推广者看到的可提现金额和最低门槛。"})]}),e.jsx(we,{className:"space-y-6",children:e.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"最低提现金额(元)"}),e.jsx(le,{type:"number",min:0,step:1,className:"bg-[#0a1628] border-gray-700 text-white",value:a.minWithdrawAmount,onChange:p("minWithdrawAmount")}),e.jsx("p",{className:"text-xs text-gray-500",children:"小程序「满 X 元可提现」展示的门槛,同时用于后端接口校验。"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:["自动提现开关",e.jsx(Le,{variant:"outline",className:"border-[#38bdac]/40 text-[#38bdac] text-[10px]",children:"预留"})]}),e.jsxs("div",{className:"flex items-center gap-3 mt-1",children:[e.jsx(ot,{checked:a.enableAutoWithdraw,onCheckedChange:y=>l(g=>({...g,enableAutoWithdraw:y}))}),e.jsx("span",{className:"text-sm text-gray-400",children:"开启后,可结合定时任务实现「收益自动打款到微信零钱」。"})]})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsx(Ke,{children:e.jsxs(Ge,{className:"flex items-center gap-2 text-gray-200 text-sm",children:[e.jsx(Yi,{className:"w-4 h-4 text-[#38bdac]"}),"使用说明"]})}),e.jsxs(we,{className:"space-y-2 text-xs text-gray-400 leading-relaxed",children:[e.jsxs("p",{children:["1. 以上配置会写入"," ",e.jsx("code",{className:"font-mono text-[11px] text-[#38bdac]",children:"system_config.referral_config"}),",小程序「推广中心」、Web 推广页以及支付回调都会读取同一份配置。"]}),e.jsx("p",{children:"2. 修改后新订单立即生效;旧订单的历史佣金不会自动重算,只影响之后产生的订单。"}),e.jsx("p",{children:"3. 如遇前端展示与实际结算不一致,优先以此处配置为准,再排查缓存和小程序版本。"})]})]})]})]})}function o4(){var Se;const[r,a]=h.useState("overview"),[l,o]=h.useState([]),[c,u]=h.useState(null),[m,f]=h.useState([]),[p,y]=h.useState([]),[g,v]=h.useState([]),[k,P]=h.useState(!0),[T,S]=h.useState(null),[N,b]=h.useState(""),[w,j]=h.useState("all"),[_,D]=h.useState(1),[V,I]=h.useState(10),[R,E]=h.useState(0),[Y,ne]=h.useState(new Set),[ae,q]=h.useState(null),[se,H]=h.useState(""),[ie,ve]=h.useState(!1);h.useEffect(()=>{U()},[]),h.useEffect(()=>{D(1)},[r,w]),h.useEffect(()=>{ce(r)},[r]),h.useEffect(()=>{["orders","bindings","withdrawals"].includes(r)&&ce(r,!0)},[_,V,w,N]);async function U(){S(null);try{const L=await $e("/api/admin/distribution/overview");L!=null&&L.success&&L.overview&&u(L.overview)}catch(L){console.error("[Admin] 概览接口异常:",L),S("加载概览失败")}try{const L=await $e("/api/db/users");v((L==null?void 0:L.users)||[])}catch(L){console.error("[Admin] 用户数据加载失败:",L)}}async function ce(L,fe=!1){var ke;if(!(!fe&&Y.has(L))){P(!0);try{const Ve=g;switch(L){case"overview":break;case"orders":{try{const We=new URLSearchParams({page:String(_),pageSize:String(V),...w!=="all"&&{status:w},...N&&{search:N}}),Ye=await $e(`/api/orders?${We}`);if(Ye!=null&&Ye.success&&Ye.orders){const tt=Ye.orders.map(ze=>{const he=Ve.find(ft=>ft.id===ze.userId),xe=ze.referrerId?Ve.find(ft=>ft.id===ze.referrerId):null;return{...ze,amount:parseFloat(String(ze.amount))||0,userNickname:(he==null?void 0:he.nickname)||ze.userNickname||"未知用户",userPhone:(he==null?void 0:he.phone)||ze.userPhone||"-",referrerNickname:(xe==null?void 0:xe.nickname)||null,referrerCode:(xe==null?void 0:xe.referralCode)??null,type:ze.productType||ze.type}});o(tt),E(Ye.total??tt.length)}else o([]),E(0)}catch(We){console.error(We),S("加载订单失败"),o([])}break}case"bindings":{try{const We=new URLSearchParams({page:String(_),pageSize:String(V),...w!=="all"&&{status:w}}),Ye=await $e(`/api/db/distribution?${We}`);f((Ye==null?void 0:Ye.bindings)||[]),E((Ye==null?void 0:Ye.total)??((ke=Ye==null?void 0:Ye.bindings)==null?void 0:ke.length)??0)}catch(We){console.error(We),S("加载绑定数据失败"),f([])}break}case"withdrawals":{try{const We=w==="completed"?"success":w==="rejected"?"failed":w,Ye=new URLSearchParams({...We&&We!=="all"&&{status:We},page:String(_),pageSize:String(V)}),tt=await $e(`/api/admin/withdrawals?${Ye}`);if(tt!=null&&tt.success&&tt.withdrawals){const ze=tt.withdrawals.map(he=>({...he,account:he.account??"未绑定微信号",status:he.status==="success"?"completed":he.status==="failed"?"rejected":he.status}));y(ze),E((tt==null?void 0:tt.total)??ze.length)}else tt!=null&&tt.success||S(`获取提现记录失败: ${(tt==null?void 0:tt.error)||"未知错误"}`),y([])}catch(We){console.error(We),S("加载提现数据失败"),y([])}break}}ne(We=>new Set(We).add(L))}catch(Ve){console.error(Ve)}finally{P(!1)}}}async function K(){S(null),ne(L=>{const fe=new Set(L);return fe.delete(r),fe}),r==="overview"&&U(),await ce(r,!0)}async function A(L){if(confirm("确认审核通过并打款?"))try{const fe=await vt("/api/admin/withdrawals",{id:L,action:"approve"});if(!(fe!=null&&fe.success)){const ke=(fe==null?void 0:fe.message)||(fe==null?void 0:fe.error)||"操作失败";alert(ke);return}await K()}catch(fe){console.error(fe),alert("操作失败")}}async function F(L){const fe=prompt("请输入拒绝原因:");if(fe)try{const ke=await vt("/api/admin/withdrawals",{id:L,action:"reject",errorMessage:fe});if(!(ke!=null&&ke.success)){alert((ke==null?void 0:ke.error)||"操作失败");return}await K()}catch(ke){console.error(ke),alert("操作失败")}}async function O(){var L;if(!(!(ae!=null&&ae.orderSn)&&!(ae!=null&&ae.id))){ve(!0),S(null);try{const fe=await vt("/api/admin/orders/refund",{orderSn:ae.orderSn||ae.id,reason:se||void 0});fe!=null&&fe.success?(q(null),H(""),await ce("orders",!0)):S((fe==null?void 0:fe.error)||"退款失败")}catch(fe){const ke=fe;S(((L=ke==null?void 0:ke.data)==null?void 0:L.error)||"退款失败,请检查网络后重试")}finally{ve(!1)}}}function Z(L){const fe={active:"bg-green-500/20 text-green-400",converted:"bg-blue-500/20 text-blue-400",expired:"bg-gray-500/20 text-gray-400",cancelled:"bg-red-500/20 text-red-400",pending:"bg-orange-500/20 text-orange-400",pending_confirm:"bg-orange-500/20 text-orange-400",processing:"bg-blue-500/20 text-blue-400",completed:"bg-green-500/20 text-green-400",rejected:"bg-red-500/20 text-red-400"},ke={active:"有效",converted:"已转化",expired:"已过期",cancelled:"已取消",pending:"待审核",pending_confirm:"待用户确认",processing:"处理中",completed:"已完成",rejected:"已拒绝"};return e.jsx(Le,{className:`${fe[L]||"bg-gray-500/20 text-gray-400"} border-0`,children:ke[L]||L})}const G=Math.ceil(R/V)||1,de=l,Q=m.filter(L=>{var ke,Ve,We,Ye;if(!N)return!0;const fe=N.toLowerCase();return((ke=L.refereeNickname)==null?void 0:ke.toLowerCase().includes(fe))||((Ve=L.refereePhone)==null?void 0:Ve.includes(fe))||((We=L.referrerName)==null?void 0:We.toLowerCase().includes(fe))||((Ye=L.referrerCode)==null?void 0:Ye.toLowerCase().includes(fe))}),ge=p.filter(L=>{var ke;if(!N)return!0;const fe=N.toLowerCase();return((ke=L.userName)==null?void 0:ke.toLowerCase().includes(fe))||L.account&&L.account.toLowerCase().includes(fe)});return e.jsxs("div",{className:"p-8 w-full",children:[T&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:T}),e.jsx("button",{type:"button",onClick:()=>S(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex items-center justify-between mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-white",children:"推广中心"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"统一管理:订单、分销绑定、提现审核"})]}),e.jsxs(J,{onClick:K,disabled:k,variant:"outline",className:"border-gray-700 text-gray-300 hover:bg-gray-800",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${k?"animate-spin":""}`}),"刷新数据"]})]}),e.jsx("div",{className:"flex gap-2 mb-6 border-b border-gray-700 pb-4 flex-wrap",children:[{key:"overview",label:"数据概览",icon:Ta},{key:"orders",label:"订单管理",icon:Ml},{key:"bindings",label:"绑定管理",icon:on},{key:"withdrawals",label:"提现审核",icon:Ma},{key:"settings",label:"推广设置",icon:Bn}].map(L=>e.jsxs("button",{type:"button",onClick:()=>{a(L.key),j("all"),b("")},className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors ${r===L.key?"bg-[#38bdac] text-white":"text-gray-400 hover:text-white hover:bg-gray-800"}`,children:[e.jsx(L.icon,{className:"w-4 h-4"}),L.label]},L.key))}),k?e.jsxs("div",{className:"flex items-center justify-center py-20",children:[e.jsx(Be,{className:"w-8 h-8 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[r==="overview"&&c&&e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日点击"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:c.todayClicks}),e.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:"总点击次数(实时)"})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-500/20 flex items-center justify-center",children:e.jsx(Er,{className:"w-6 h-6 text-blue-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日独立用户"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:c.todayUniqueVisitors??0}),e.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:"去重访客数(实时)"})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-cyan-500/20 flex items-center justify-center",children:e.jsx(Yt,{className:"w-6 h-6 text-cyan-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日总文章点击率"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:(c.todayClickRate??0).toFixed(2)}),e.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:"人均点击(总点击/独立用户)"})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-amber-500/20 flex items-center justify-center",children:e.jsx(Ta,{className:"w-6 h-6 text-amber-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日绑定"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:c.todayBindings})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-green-500/20 flex items-center justify-center",children:e.jsx(on,{className:"w-6 h-6 text-green-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日转化"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:c.todayConversions})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-purple-500/20 flex items-center justify-center",children:e.jsx(Ff,{className:"w-6 h-6 text-purple-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日佣金"}),e.jsxs("p",{className:"text-2xl font-bold text-[#38bdac] mt-1",children:["¥",c.todayEarnings.toFixed(2)]})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-[#38bdac]/20 flex items-center justify-center",children:e.jsx(Ml,{className:"w-6 h-6 text-[#38bdac]"})})]})})})]}),(((Se=c.todayClicksByPage)==null?void 0:Se.length)??0)>0&&e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Er,{className:"w-5 h-5 text-[#38bdac]"}),"每篇文章今日点击(按来源页/文章统计)"]}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"实际用户与实际文章的点击均计入;今日总点击与上表一致"})]}),e.jsx(we,{children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-gray-700 text-left text-gray-400",children:[e.jsx("th",{className:"pb-3 pr-4",children:"来源页/文章"}),e.jsx("th",{className:"pb-3 pr-4 text-right",children:"今日点击"}),e.jsx("th",{className:"pb-3 text-right",children:"占比"})]})}),e.jsx("tbody",{children:[...c.todayClicksByPage??[]].sort((L,fe)=>fe.clicks-L.clicks).map((L,fe)=>e.jsxs("tr",{className:"border-b border-gray-700/50",children:[e.jsx("td",{className:"py-2 pr-4 text-white font-mono",children:L.page||"(未区分)"}),e.jsx("td",{className:"py-2 pr-4 text-right text-white",children:L.clicks}),e.jsxs("td",{className:"py-2 text-right text-gray-400",children:[c.todayClicks>0?(L.clicks/c.todayClicks*100).toFixed(1):0,"%"]})]},fe))})]})})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(Ne,{className:"bg-orange-500/10 border-orange-500/30",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl bg-orange-500/20 flex items-center justify-center",children:e.jsx(Yd,{className:"w-6 h-6 text-orange-400"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-orange-300 font-medium",children:"即将过期绑定"}),e.jsxs("p",{className:"text-2xl font-bold text-white",children:[c.expiringBindings," 个"]}),e.jsx("p",{className:"text-orange-300/60 text-sm",children:"7天内到期,需关注转化"})]})]})})}),e.jsx(Ne,{className:"bg-blue-500/10 border-blue-500/30",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-500/20 flex items-center justify-center",children:e.jsx(Ma,{className:"w-6 h-6 text-blue-400"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-blue-300 font-medium",children:"待审核提现"}),e.jsxs("p",{className:"text-2xl font-bold text-white",children:[c.pendingWithdrawals," 笔"]}),e.jsxs("p",{className:"text-blue-300/60 text-sm",children:["共 ¥",c.pendingWithdrawAmount.toFixed(2)]})]}),e.jsx(J,{onClick:()=>a("withdrawals"),variant:"outline",className:"border-blue-500/50 text-blue-400 hover:bg-blue-500/20",children:"去审核"})]})})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsx(Ke,{children:e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(oo,{className:"w-5 h-5 text-[#38bdac]"}),"本月统计"]})}),e.jsx(we,{children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"点击量"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.monthClicks})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"绑定数"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.monthBindings})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"转化数"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.monthConversions})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"佣金"}),e.jsxs("p",{className:"text-xl font-bold text-[#38bdac]",children:["¥",c.monthEarnings.toFixed(2)]})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsx(Ke,{children:e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Ta,{className:"w-5 h-5 text-[#38bdac]"}),"累计统计"]})}),e.jsxs(we,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"总点击"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.totalClicks.toLocaleString()})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"总绑定"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.totalBindings.toLocaleString()})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"总转化"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.totalConversions})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"总佣金"}),e.jsxs("p",{className:"text-xl font-bold text-[#38bdac]",children:["¥",c.totalEarnings.toFixed(2)]})]})]}),e.jsxs("div",{className:"mt-4 p-4 bg-[#38bdac]/10 rounded-lg flex items-center justify-between",children:[e.jsx("span",{className:"text-gray-300",children:"点击转化率"}),e.jsxs("span",{className:"text-[#38bdac] font-bold text-xl",children:[c.conversionRate,"%"]})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsx(Ke,{children:e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"}),"推广统计"]})}),e.jsx(we,{children:e.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg text-center",children:[e.jsx("p",{className:"text-3xl font-bold text-white",children:c.totalDistributors}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"推广用户数"})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg text-center",children:[e.jsx("p",{className:"text-3xl font-bold text-green-400",children:c.activeDistributors}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"有收益用户"})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg text-center",children:[e.jsx("p",{className:"text-3xl font-bold text-[#38bdac]",children:"90%"}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"佣金比例"})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg text-center",children:[e.jsx("p",{className:"text-3xl font-bold text-orange-400",children:"30天"}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"绑定有效期"})]})]})})]})]}),r==="orders"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(le,{value:N,onChange:L=>b(L.target.value),placeholder:"搜索订单号、用户名、手机号...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white"})]}),e.jsxs("select",{value:w,onChange:L=>j(L.target.value),className:"px-4 py-2 bg-[#0f2137] border border-gray-700 rounded-lg text-white",children:[e.jsx("option",{value:"all",children:"全部状态"}),e.jsx("option",{value:"completed",children:"已完成"}),e.jsx("option",{value:"pending",children:"待支付"}),e.jsx("option",{value:"failed",children:"已失败"}),e.jsx("option",{value:"refunded",children:"已退款"})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-0",children:[l.length===0?e.jsx("div",{className:"py-12 text-center text-gray-500",children:"暂无订单数据"}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-[#0a1628] text-gray-400",children:[e.jsx("th",{className:"p-4 text-left font-medium",children:"订单号"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"用户"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"商品"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"金额"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"支付方式"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"状态"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"退款原因"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"推荐人/邀请码"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"分销佣金"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"下单时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"操作"})]})}),e.jsx("tbody",{className:"divide-y divide-gray-700/50",children:de.map(L=>{var fe,ke;return e.jsxs("tr",{className:"hover:bg-[#0a1628] transition-colors",children:[e.jsxs("td",{className:"p-4 font-mono text-xs text-gray-400",children:[(fe=L.id)==null?void 0:fe.slice(0,12),"..."]}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white text-sm",children:L.userNickname}),e.jsx("p",{className:"text-gray-500 text-xs",children:L.userPhone})]})}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white text-sm",children:(()=>{const Ve=L.productType||L.type;return Ve==="fullbook"?`${L.bookName||"《底层逻辑》"} - 全本`:Ve==="match"?"匹配次数购买":`${L.bookName||"《底层逻辑》"} - ${L.sectionTitle||L.chapterTitle||`章节${L.productId||L.sectionId||""}`}`})()}),e.jsx("p",{className:"text-gray-500 text-xs",children:(()=>{const Ve=L.productType||L.type;return Ve==="fullbook"?"全书解锁":Ve==="match"?"功能权益":L.chapterTitle||"单章购买"})()})]})}),e.jsxs("td",{className:"p-4 text-[#38bdac] font-bold",children:["¥",typeof L.amount=="number"?L.amount.toFixed(2):parseFloat(String(L.amount||"0")).toFixed(2)]}),e.jsx("td",{className:"p-4 text-gray-300",children:L.paymentMethod==="wechat"?"微信支付":L.paymentMethod==="alipay"?"支付宝":L.paymentMethod||"微信支付"}),e.jsx("td",{className:"p-4",children:L.status==="refunded"?e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 border-0",children:"已退款"}):L.status==="completed"||L.status==="paid"?e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0",children:"已完成"}):L.status==="pending"||L.status==="created"?e.jsx(Le,{className:"bg-yellow-500/20 text-yellow-400 border-0",children:"待支付"}):e.jsx(Le,{className:"bg-red-500/20 text-red-400 border-0",children:"已失败"})}),e.jsx("td",{className:"p-4 text-gray-400 text-sm max-w-[120px]",title:L.refundReason,children:L.status==="refunded"&&L.refundReason?L.refundReason:"-"}),e.jsx("td",{className:"p-4 text-gray-300 text-sm",children:L.referrerId||L.referralCode?e.jsxs("span",{title:L.referralCode||L.referrerCode||L.referrerId||"",children:[L.referrerNickname||L.referralCode||L.referrerCode||((ke=L.referrerId)==null?void 0:ke.slice(0,8)),(L.referralCode||L.referrerCode)&&` (${L.referralCode||L.referrerCode})`]}):"-"}),e.jsx("td",{className:"p-4 text-[#FFD700]",children:L.referrerEarnings?`¥${(typeof L.referrerEarnings=="number"?L.referrerEarnings:parseFloat(String(L.referrerEarnings))).toFixed(2)}`:"-"}),e.jsx("td",{className:"p-4 text-gray-400 text-sm",children:L.createdAt?new Date(L.createdAt).toLocaleString("zh-CN"):"-"}),e.jsx("td",{className:"p-4",children:(L.status==="paid"||L.status==="completed")&&e.jsxs(J,{variant:"outline",size:"sm",className:"border-orange-500/50 text-orange-400 hover:bg-orange-500/20",onClick:()=>{q(L),H("")},children:[e.jsx(Qx,{className:"w-3 h-3 mr-1"}),"退款"]})})]},L.id)})})]})}),r==="orders"&&e.jsx(Qs,{page:_,totalPages:G,total:R,pageSize:V,onPageChange:D,onPageSizeChange:L=>{I(L),D(1)}})]})})]}),r==="bindings"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(le,{value:N,onChange:L=>b(L.target.value),placeholder:"搜索用户昵称、手机号、推广码...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white"})]}),e.jsxs("select",{value:w,onChange:L=>j(L.target.value),className:"px-4 py-2 bg-[#0f2137] border border-gray-700 rounded-lg text-white",children:[e.jsx("option",{value:"all",children:"全部状态"}),e.jsx("option",{value:"active",children:"有效"}),e.jsx("option",{value:"converted",children:"已转化"}),e.jsx("option",{value:"expired",children:"已过期"})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-0",children:[Q.length===0?e.jsx("div",{className:"py-12 text-center text-gray-500",children:"暂无绑定数据"}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-[#0a1628] text-gray-400",children:[e.jsx("th",{className:"p-4 text-left font-medium",children:"访客"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"分销商"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"绑定时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"到期时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"状态"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"佣金"})]})}),e.jsx("tbody",{className:"divide-y divide-gray-700/50",children:Q.map(L=>e.jsxs("tr",{className:"hover:bg-[#0a1628] transition-colors",children:[e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-medium",children:L.refereeNickname||"匿名用户"}),e.jsx("p",{className:"text-gray-500 text-xs",children:L.refereePhone})]})}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white",children:L.referrerName||"-"}),e.jsx("p",{className:"text-gray-500 text-xs font-mono",children:L.referrerCode})]})}),e.jsx("td",{className:"p-4 text-gray-400",children:L.boundAt?new Date(L.boundAt).toLocaleDateString("zh-CN"):"-"}),e.jsx("td",{className:"p-4 text-gray-400",children:L.expiresAt?new Date(L.expiresAt).toLocaleDateString("zh-CN"):"-"}),e.jsx("td",{className:"p-4",children:Z(L.status)}),e.jsx("td",{className:"p-4",children:L.commission?e.jsxs("span",{className:"text-[#38bdac] font-medium",children:["¥",L.commission.toFixed(2)]}):e.jsx("span",{className:"text-gray-500",children:"-"})})]},L.id))})]})}),r==="bindings"&&e.jsx(Qs,{page:_,totalPages:G,total:R,pageSize:V,onPageChange:D,onPageSizeChange:L=>{I(L),D(1)}})]})})]}),r==="withdrawals"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(le,{value:N,onChange:L=>b(L.target.value),placeholder:"搜索用户名称、账号...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white"})]}),e.jsxs("select",{value:w,onChange:L=>j(L.target.value),className:"px-4 py-2 bg-[#0f2137] border border-gray-700 rounded-lg text-white",children:[e.jsx("option",{value:"all",children:"全部状态"}),e.jsx("option",{value:"pending",children:"待审核"}),e.jsx("option",{value:"completed",children:"已完成"}),e.jsx("option",{value:"rejected",children:"已拒绝"})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-0",children:[ge.length===0?e.jsx("div",{className:"py-12 text-center text-gray-500",children:"暂无提现记录"}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-[#0a1628] text-gray-400",children:[e.jsx("th",{className:"p-4 text-left font-medium",children:"申请人"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"金额"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"收款方式"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"收款账号"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"申请时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"状态"}),e.jsx("th",{className:"p-4 text-right font-medium",children:"操作"})]})}),e.jsx("tbody",{className:"divide-y divide-gray-700/50",children:ge.map(L=>e.jsxs("tr",{className:"hover:bg-[#0a1628] transition-colors",children:[e.jsx("td",{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[L.userAvatar?e.jsx("img",{src:L.userAvatar,alt:"",className:"w-8 h-8 rounded-full object-cover"}):e.jsx("div",{className:"w-8 h-8 rounded-full bg-gray-600 flex items-center justify-center text-white text-sm font-medium",children:(L.userName||L.name||"?").slice(0,1)}),e.jsx("p",{className:"text-white font-medium",children:L.userName||L.name})]})}),e.jsx("td",{className:"p-4",children:e.jsxs("span",{className:"text-[#38bdac] font-bold",children:["¥",L.amount.toFixed(2)]})}),e.jsx("td",{className:"p-4",children:e.jsx(Le,{className:L.method==="wechat"?"bg-green-500/20 text-green-400 border-0":"bg-blue-500/20 text-blue-400 border-0",children:L.method==="wechat"?"微信":"支付宝"})}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-mono text-xs",children:L.account}),e.jsx("p",{className:"text-gray-500 text-xs",children:L.name})]})}),e.jsx("td",{className:"p-4 text-gray-400",children:L.createdAt?new Date(L.createdAt).toLocaleString("zh-CN"):"-"}),e.jsx("td",{className:"p-4",children:Z(L.status)}),e.jsx("td",{className:"p-4 text-right",children:L.status==="pending"&&e.jsxs("div",{className:"flex gap-2 justify-end",children:[e.jsxs(J,{size:"sm",onClick:()=>A(L.id),className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Ff,{className:"w-4 h-4 mr-1"}),"通过"]}),e.jsxs(J,{size:"sm",variant:"outline",onClick:()=>F(L.id),className:"border-red-500/50 text-red-400 hover:bg-red-500/20",children:[e.jsx(Wx,{className:"w-4 h-4 mr-1"}),"拒绝"]})]})})]},L.id))})]})}),r==="withdrawals"&&e.jsx(Qs,{page:_,totalPages:G,total:R,pageSize:V,onPageChange:D,onPageSizeChange:L=>{I(L),D(1)}})]})})]})]}),e.jsx(Ct,{open:!!ae,onOpenChange:L=>!L&&q(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:"订单退款"})}),ae&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["订单号:",ae.orderSn||ae.id]}),e.jsxs("p",{className:"text-gray-400 text-sm",children:["退款金额:¥",typeof ae.amount=="number"?ae.amount.toFixed(2):parseFloat(String(ae.amount||"0")).toFixed(2)]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm text-gray-400 block mb-2",children:"退款原因(选填)"}),e.jsx("div",{className:"form-input",children:e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",placeholder:"如:用户申请退款",value:se,onChange:L=>H(L.target.value)})})]}),e.jsx("p",{className:"text-orange-400/80 text-xs",children:"退款将原路退回至用户微信,且无法撤销,请确认后再操作。"})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",className:"border-gray-600 text-gray-300",onClick:()=>q(null),disabled:ie,children:"取消"}),e.jsx(J,{className:"bg-orange-500 hover:bg-orange-600 text-white",onClick:O,disabled:ie,children:ie?"退款中...":"确认退款"})]})]})}),r==="settings"&&e.jsx("div",{className:"-mx-8 -mt-6",children:e.jsx(I0,{embedded:!0})})]})}function c4(){const[r,a]=h.useState([]),[l,o]=h.useState({total:0,pendingCount:0,pendingAmount:0,successCount:0,successAmount:0,failedCount:0}),[c,u]=h.useState(!0),[m,f]=h.useState(null),[p,y]=h.useState("all"),[g,v]=h.useState(1),[k,P]=h.useState(10),[T,S]=h.useState(0),[N,b]=h.useState(null);async function w(){var I,R,E,Y,ne,ae,q;u(!0),f(null);try{const se=new URLSearchParams({status:p,page:String(g),pageSize:String(k)}),H=await $e(`/api/admin/withdrawals?${se}`);if(H!=null&&H.success){const ie=H.withdrawals||[];a(ie),S(H.total??((I=H.stats)==null?void 0:I.total)??ie.length),o({total:((R=H.stats)==null?void 0:R.total)??H.total??ie.length,pendingCount:((E=H.stats)==null?void 0:E.pendingCount)??0,pendingAmount:((Y=H.stats)==null?void 0:Y.pendingAmount)??0,successCount:((ne=H.stats)==null?void 0:ne.successCount)??0,successAmount:((ae=H.stats)==null?void 0:ae.successAmount)??0,failedCount:((q=H.stats)==null?void 0:q.failedCount)??0})}else f("加载提现记录失败")}catch(se){console.error("Load withdrawals error:",se),f("加载失败,请检查网络后重试")}finally{u(!1)}}h.useEffect(()=>{v(1)},[p]),h.useEffect(()=>{w()},[p,g,k]);const j=Math.ceil(T/k)||1;async function _(I){const R=r.find(E=>E.id===I);if(R!=null&&R.userCommissionInfo&&R.userCommissionInfo.availableAfterThis<0){if(!confirm(`⚠️ 风险警告:该用户审核后余额为负数(¥${R.userCommissionInfo.availableAfterThis.toFixed(2)}),可能存在超额提现。 +如有缓存,请刷新前台/小程序页面。`)}catch(y){console.error(y),alert("保存失败: "+(y instanceof Error?y.message:String(y)))}finally{m(!1)}},p=y=>g=>{const v=parseFloat(g.target.value||"0");l(C=>({...C,[y]:isNaN(v)?0:v}))};return o?e.jsx("div",{className:"p-8 text-gray-500",children:"加载中..."}):e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Ma,{className:"w-5 h-5 text-[#38bdac]"}),"推广 / 分销设置"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"统一管理「好友优惠」「你得 90% 收益」「绑定期 30 天」「提现门槛」等规则,小程序和 Web 共用这套配置。"})]}),e.jsxs(J,{onClick:f,disabled:u||o,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),u?"保存中...":"保存配置"]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"flex items-center gap-2 text-white",children:[e.jsx(Jb,{className:"w-4 h-4 text-[#38bdac]"}),"推广规则"]}),e.jsx(jt,{className:"text-gray-400",children:"这三项会直接体现在小程序「推广规则」卡片上,同时影响实收佣金计算。"})]}),e.jsx(we,{className:"space-y-6",children:e.jsxs("div",{className:"grid grid-cols-3 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yi,{className:"w-3 h-3 text-[#38bdac]"}),"好友优惠(%)"]}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.userDiscount,onChange:p("userDiscount")}),e.jsx("p",{className:"text-xs text-gray-500",children:"例如 5 表示好友立减 5%(在价格配置基础上生效)。"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yt,{className:"w-3 h-3 text-[#38bdac]"}),"推广者分成(%)"]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(l4,{className:"flex-1",min:10,max:100,step:1,value:[a.distributorShare],onValueChange:([y])=>l(g=>({...g,distributorShare:y}))}),e.jsx(le,{type:"number",min:0,max:100,className:"w-20 bg-[#0a1628] border-gray-700 text-white text-center",value:a.distributorShare,onChange:p("distributorShare")})]}),e.jsxs("p",{className:"text-xs text-gray-500",children:["内容订单佣金 = 订单金额 ×"," ",e.jsxs("span",{className:"text-[#38bdac] font-mono",children:[a.distributorShare,"%"]}),";会员订单见下方。"]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yi,{className:"w-3 h-3 text-[#38bdac]"}),"会员订单分润(推广者是会员 %)"]}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.vipOrderShareVip,onChange:p("vipOrderShareVip")}),e.jsx("p",{className:"text-xs text-gray-500",children:"推广者已是会员时,会员订单佣金比例,默认 20%。"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yi,{className:"w-3 h-3 text-[#38bdac]"}),"会员订单分润(推广者非会员 %)"]}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.vipOrderShareNonVip,onChange:p("vipOrderShareNonVip")}),e.jsx("p",{className:"text-xs text-gray-500",children:"推广者非会员时,会员订单佣金比例,默认 10%。"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Yt,{className:"w-3 h-3 text-[#38bdac]"}),"绑定有效期(天)"]}),e.jsx(le,{type:"number",min:1,max:365,className:"bg-[#0a1628] border-gray-700 text-white",value:a.bindingDays,onChange:p("bindingDays")}),e.jsx("p",{className:"text-xs text-gray-500",children:"好友通过你的链接进来并登录后,绑定在你名下的天数。"})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"flex items-center gap-2 text-white",children:[e.jsx(Ma,{className:"w-4 h-4 text-[#38bdac]"}),"提现规则"]}),e.jsx(jt,{className:"text-gray-400",children:"与「提现中心」「自动提现」相关的参数,影响推广者看到的可提现金额和最低门槛。"})]}),e.jsx(we,{className:"space-y-6",children:e.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"最低提现金额(元)"}),e.jsx(le,{type:"number",min:0,step:1,className:"bg-[#0a1628] border-gray-700 text-white",value:a.minWithdrawAmount,onChange:p("minWithdrawAmount")}),e.jsx("p",{className:"text-xs text-gray-500",children:"小程序「满 X 元可提现」展示的门槛,同时用于后端接口校验。"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:["自动提现开关",e.jsx(Le,{variant:"outline",className:"border-[#38bdac]/40 text-[#38bdac] text-[10px]",children:"预留"})]}),e.jsxs("div",{className:"flex items-center gap-3 mt-1",children:[e.jsx(ot,{checked:a.enableAutoWithdraw,onCheckedChange:y=>l(g=>({...g,enableAutoWithdraw:y}))}),e.jsx("span",{className:"text-sm text-gray-400",children:"开启后,可结合定时任务实现「收益自动打款到微信零钱」。"})]})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsx(Ye,{children:e.jsxs(Qe,{className:"flex items-center gap-2 text-gray-200 text-sm",children:[e.jsx(Yi,{className:"w-4 h-4 text-[#38bdac]"}),"使用说明"]})}),e.jsxs(we,{className:"space-y-2 text-xs text-gray-400 leading-relaxed",children:[e.jsxs("p",{children:["1. 以上配置会写入"," ",e.jsx("code",{className:"font-mono text-[11px] text-[#38bdac]",children:"system_config.referral_config"}),",小程序「推广中心」、Web 推广页以及支付回调都会读取同一份配置。"]}),e.jsx("p",{children:"2. 修改后新订单立即生效;旧订单的历史佣金不会自动重算,只影响之后产生的订单。"}),e.jsx("p",{children:"3. 如遇前端展示与实际结算不一致,优先以此处配置为准,再排查缓存和小程序版本。"})]})]})]})]})}function o4(){var Se;const[r,a]=h.useState("overview"),[l,o]=h.useState([]),[c,u]=h.useState(null),[m,f]=h.useState([]),[p,y]=h.useState([]),[g,v]=h.useState([]),[C,P]=h.useState(!0),[R,N]=h.useState(null),[b,w]=h.useState(""),[k,j]=h.useState("all"),[T,L]=h.useState(1),[$,_]=h.useState(10),[I,E]=h.useState(0),[G,ne]=h.useState(new Set),[ae,q]=h.useState(null),[se,H]=h.useState(""),[ie,ve]=h.useState(!1);h.useEffect(()=>{V()},[]),h.useEffect(()=>{L(1)},[r,k]),h.useEffect(()=>{ce(r)},[r]),h.useEffect(()=>{["orders","bindings","withdrawals"].includes(r)&&ce(r,!0)},[T,$,k,b]);async function V(){N(null);try{const D=await $e("/api/admin/distribution/overview");D!=null&&D.success&&D.overview&&u(D.overview)}catch(D){console.error("[Admin] 概览接口异常:",D),N("加载概览失败")}try{const D=await $e("/api/db/users");v((D==null?void 0:D.users)||[])}catch(D){console.error("[Admin] 用户数据加载失败:",D)}}async function ce(D,fe=!1){var ke;if(!(!fe&&G.has(D))){P(!0);try{const Ve=g;switch(D){case"overview":break;case"orders":{try{const We=new URLSearchParams({page:String(T),pageSize:String($),...k!=="all"&&{status:k},...b&&{search:b}}),Ke=await $e(`/api/orders?${We}`);if(Ke!=null&&Ke.success&&Ke.orders){const tt=Ke.orders.map(ze=>{const he=Ve.find(ft=>ft.id===ze.userId),xe=ze.referrerId?Ve.find(ft=>ft.id===ze.referrerId):null;return{...ze,amount:parseFloat(String(ze.amount))||0,userNickname:(he==null?void 0:he.nickname)||ze.userNickname||"未知用户",userPhone:(he==null?void 0:he.phone)||ze.userPhone||"-",referrerNickname:(xe==null?void 0:xe.nickname)||null,referrerCode:(xe==null?void 0:xe.referralCode)??null,type:ze.productType||ze.type}});o(tt),E(Ke.total??tt.length)}else o([]),E(0)}catch(We){console.error(We),N("加载订单失败"),o([])}break}case"bindings":{try{const We=new URLSearchParams({page:String(T),pageSize:String($),...k!=="all"&&{status:k}}),Ke=await $e(`/api/db/distribution?${We}`);f((Ke==null?void 0:Ke.bindings)||[]),E((Ke==null?void 0:Ke.total)??((ke=Ke==null?void 0:Ke.bindings)==null?void 0:ke.length)??0)}catch(We){console.error(We),N("加载绑定数据失败"),f([])}break}case"withdrawals":{try{const We=k==="completed"?"success":k==="rejected"?"failed":k,Ke=new URLSearchParams({...We&&We!=="all"&&{status:We},page:String(T),pageSize:String($)}),tt=await $e(`/api/admin/withdrawals?${Ke}`);if(tt!=null&&tt.success&&tt.withdrawals){const ze=tt.withdrawals.map(he=>({...he,account:he.account??"未绑定微信号",status:he.status==="success"?"completed":he.status==="failed"?"rejected":he.status}));y(ze),E((tt==null?void 0:tt.total)??ze.length)}else tt!=null&&tt.success||N(`获取提现记录失败: ${(tt==null?void 0:tt.error)||"未知错误"}`),y([])}catch(We){console.error(We),N("加载提现数据失败"),y([])}break}}ne(We=>new Set(We).add(D))}catch(Ve){console.error(Ve)}finally{P(!1)}}}async function K(){N(null),ne(D=>{const fe=new Set(D);return fe.delete(r),fe}),r==="overview"&&V(),await ce(r,!0)}async function A(D){if(confirm("确认审核通过并打款?"))try{const fe=await vt("/api/admin/withdrawals",{id:D,action:"approve"});if(!(fe!=null&&fe.success)){const ke=(fe==null?void 0:fe.message)||(fe==null?void 0:fe.error)||"操作失败";alert(ke);return}await K()}catch(fe){console.error(fe),alert("操作失败")}}async function F(D){const fe=prompt("请输入拒绝原因:");if(fe)try{const ke=await vt("/api/admin/withdrawals",{id:D,action:"reject",errorMessage:fe});if(!(ke!=null&&ke.success)){alert((ke==null?void 0:ke.error)||"操作失败");return}await K()}catch(ke){console.error(ke),alert("操作失败")}}async function O(){var D;if(!(!(ae!=null&&ae.orderSn)&&!(ae!=null&&ae.id))){ve(!0),N(null);try{const fe=await vt("/api/admin/orders/refund",{orderSn:ae.orderSn||ae.id,reason:se||void 0});fe!=null&&fe.success?(q(null),H(""),await ce("orders",!0)):N((fe==null?void 0:fe.error)||"退款失败")}catch(fe){const ke=fe;N(((D=ke==null?void 0:ke.data)==null?void 0:D.error)||"退款失败,请检查网络后重试")}finally{ve(!1)}}}function Z(D){const fe={active:"bg-green-500/20 text-green-400",converted:"bg-blue-500/20 text-blue-400",expired:"bg-gray-500/20 text-gray-400",cancelled:"bg-red-500/20 text-red-400",pending:"bg-orange-500/20 text-orange-400",pending_confirm:"bg-orange-500/20 text-orange-400",processing:"bg-blue-500/20 text-blue-400",completed:"bg-green-500/20 text-green-400",rejected:"bg-red-500/20 text-red-400"},ke={active:"有效",converted:"已转化",expired:"已过期",cancelled:"已取消",pending:"待审核",pending_confirm:"待用户确认",processing:"处理中",completed:"已完成",rejected:"已拒绝"};return e.jsx(Le,{className:`${fe[D]||"bg-gray-500/20 text-gray-400"} border-0`,children:ke[D]||D})}const Y=Math.ceil(I/$)||1,de=l,Q=m.filter(D=>{var ke,Ve,We,Ke;if(!b)return!0;const fe=b.toLowerCase();return((ke=D.refereeNickname)==null?void 0:ke.toLowerCase().includes(fe))||((Ve=D.refereePhone)==null?void 0:Ve.includes(fe))||((We=D.referrerName)==null?void 0:We.toLowerCase().includes(fe))||((Ke=D.referrerCode)==null?void 0:Ke.toLowerCase().includes(fe))}),ge=p.filter(D=>{var ke;if(!b)return!0;const fe=b.toLowerCase();return((ke=D.userName)==null?void 0:ke.toLowerCase().includes(fe))||D.account&&D.account.toLowerCase().includes(fe)});return e.jsxs("div",{className:"p-8 w-full",children:[R&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:R}),e.jsx("button",{type:"button",onClick:()=>N(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex items-center justify-between mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-white",children:"推广中心"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"统一管理:订单、分销绑定、提现审核"})]}),e.jsxs(J,{onClick:K,disabled:C,variant:"outline",className:"border-gray-700 text-gray-300 hover:bg-gray-800",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${C?"animate-spin":""}`}),"刷新数据"]})]}),e.jsx("div",{className:"flex gap-2 mb-6 border-b border-gray-700 pb-4 flex-wrap",children:[{key:"overview",label:"数据概览",icon:Rl},{key:"orders",label:"订单管理",icon:co},{key:"bindings",label:"绑定管理",icon:on},{key:"withdrawals",label:"提现审核",icon:Ma},{key:"settings",label:"推广设置",icon:Bn}].map(D=>e.jsxs("button",{type:"button",onClick:()=>{a(D.key),j("all"),w("")},className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors ${r===D.key?"bg-[#38bdac] text-white":"text-gray-400 hover:text-white hover:bg-gray-800"}`,children:[e.jsx(D.icon,{className:"w-4 h-4"}),D.label]},D.key))}),C?e.jsxs("div",{className:"flex items-center justify-center py-20",children:[e.jsx(Be,{className:"w-8 h-8 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[r==="overview"&&c&&e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日点击"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:c.todayClicks}),e.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:"总点击次数(实时)"})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-500/20 flex items-center justify-center",children:e.jsx(Er,{className:"w-6 h-6 text-blue-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日独立用户"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:c.todayUniqueVisitors??0}),e.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:"去重访客数(实时)"})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-cyan-500/20 flex items-center justify-center",children:e.jsx(Yt,{className:"w-6 h-6 text-cyan-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日总文章点击率"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:(c.todayClickRate??0).toFixed(2)}),e.jsx("p",{className:"text-xs text-gray-500 mt-0.5",children:"人均点击(总点击/独立用户)"})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-amber-500/20 flex items-center justify-center",children:e.jsx(Rl,{className:"w-6 h-6 text-amber-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日绑定"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:c.todayBindings})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-green-500/20 flex items-center justify-center",children:e.jsx(on,{className:"w-6 h-6 text-green-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日转化"}),e.jsx("p",{className:"text-2xl font-bold text-white mt-1",children:c.todayConversions})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-purple-500/20 flex items-center justify-center",children:e.jsx(Ff,{className:"w-6 h-6 text-purple-400"})})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"今日佣金"}),e.jsxs("p",{className:"text-2xl font-bold text-[#38bdac] mt-1",children:["¥",c.todayEarnings.toFixed(2)]})]}),e.jsx("div",{className:"w-12 h-12 rounded-xl bg-[#38bdac]/20 flex items-center justify-center",children:e.jsx(co,{className:"w-6 h-6 text-[#38bdac]"})})]})})})]}),(((Se=c.todayClicksByPage)==null?void 0:Se.length)??0)>0&&e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Er,{className:"w-5 h-5 text-[#38bdac]"}),"每篇文章今日点击(按来源页/文章统计)"]}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"实际用户与实际文章的点击均计入;今日总点击与上表一致"})]}),e.jsx(we,{children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-gray-700 text-left text-gray-400",children:[e.jsx("th",{className:"pb-3 pr-4",children:"来源页/文章"}),e.jsx("th",{className:"pb-3 pr-4 text-right",children:"今日点击"}),e.jsx("th",{className:"pb-3 text-right",children:"占比"})]})}),e.jsx("tbody",{children:[...c.todayClicksByPage??[]].sort((D,fe)=>fe.clicks-D.clicks).map((D,fe)=>e.jsxs("tr",{className:"border-b border-gray-700/50",children:[e.jsx("td",{className:"py-2 pr-4 text-white font-mono",children:D.page||"(未区分)"}),e.jsx("td",{className:"py-2 pr-4 text-right text-white",children:D.clicks}),e.jsxs("td",{className:"py-2 text-right text-gray-400",children:[c.todayClicks>0?(D.clicks/c.todayClicks*100).toFixed(1):0,"%"]})]},fe))})]})})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsx(Ne,{className:"bg-orange-500/10 border-orange-500/30",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl bg-orange-500/20 flex items-center justify-center",children:e.jsx(Yd,{className:"w-6 h-6 text-orange-400"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-orange-300 font-medium",children:"即将过期绑定"}),e.jsxs("p",{className:"text-2xl font-bold text-white",children:[c.expiringBindings," 个"]}),e.jsx("p",{className:"text-orange-300/60 text-sm",children:"7天内到期,需关注转化"})]})]})})}),e.jsx(Ne,{className:"bg-blue-500/10 border-blue-500/30",children:e.jsx(we,{className:"p-6",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl bg-blue-500/20 flex items-center justify-center",children:e.jsx(Ma,{className:"w-6 h-6 text-blue-400"})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:"text-blue-300 font-medium",children:"待审核提现"}),e.jsxs("p",{className:"text-2xl font-bold text-white",children:[c.pendingWithdrawals," 笔"]}),e.jsxs("p",{className:"text-blue-300/60 text-sm",children:["共 ¥",c.pendingWithdrawAmount.toFixed(2)]})]}),e.jsx(J,{onClick:()=>a("withdrawals"),variant:"outline",className:"border-blue-500/50 text-blue-400 hover:bg-blue-500/20",children:"去审核"})]})})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsx(Ye,{children:e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(oo,{className:"w-5 h-5 text-[#38bdac]"}),"本月统计"]})}),e.jsx(we,{children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"点击量"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.monthClicks})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"绑定数"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.monthBindings})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"转化数"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.monthConversions})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"佣金"}),e.jsxs("p",{className:"text-xl font-bold text-[#38bdac]",children:["¥",c.monthEarnings.toFixed(2)]})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsx(Ye,{children:e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Rl,{className:"w-5 h-5 text-[#38bdac]"}),"累计统计"]})}),e.jsxs(we,{children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"总点击"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.totalClicks.toLocaleString()})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"总绑定"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.totalBindings.toLocaleString()})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"总转化"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c.totalConversions})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg",children:[e.jsx("p",{className:"text-gray-400 text-sm",children:"总佣金"}),e.jsxs("p",{className:"text-xl font-bold text-[#38bdac]",children:["¥",c.totalEarnings.toFixed(2)]})]})]}),e.jsxs("div",{className:"mt-4 p-4 bg-[#38bdac]/10 rounded-lg flex items-center justify-between",children:[e.jsx("span",{className:"text-gray-300",children:"点击转化率"}),e.jsxs("span",{className:"text-[#38bdac] font-bold text-xl",children:[c.conversionRate,"%"]})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsx(Ye,{children:e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"}),"推广统计"]})}),e.jsx(we,{children:e.jsxs("div",{className:"grid grid-cols-4 gap-4",children:[e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg text-center",children:[e.jsx("p",{className:"text-3xl font-bold text-white",children:c.totalDistributors}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"推广用户数"})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg text-center",children:[e.jsx("p",{className:"text-3xl font-bold text-green-400",children:c.activeDistributors}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"有收益用户"})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg text-center",children:[e.jsx("p",{className:"text-3xl font-bold text-[#38bdac]",children:"90%"}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"佣金比例"})]}),e.jsxs("div",{className:"p-4 bg-white/5 rounded-lg text-center",children:[e.jsx("p",{className:"text-3xl font-bold text-orange-400",children:"30天"}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"绑定有效期"})]})]})})]})]}),r==="orders"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(le,{value:b,onChange:D=>w(D.target.value),placeholder:"搜索订单号、用户名、手机号...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white"})]}),e.jsxs("select",{value:k,onChange:D=>j(D.target.value),className:"px-4 py-2 bg-[#0f2137] border border-gray-700 rounded-lg text-white",children:[e.jsx("option",{value:"all",children:"全部状态"}),e.jsx("option",{value:"completed",children:"已完成"}),e.jsx("option",{value:"pending",children:"待支付"}),e.jsx("option",{value:"failed",children:"已失败"}),e.jsx("option",{value:"refunded",children:"已退款"})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-0",children:[l.length===0?e.jsx("div",{className:"py-12 text-center text-gray-500",children:"暂无订单数据"}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-[#0a1628] text-gray-400",children:[e.jsx("th",{className:"p-4 text-left font-medium",children:"订单号"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"用户"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"商品"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"金额"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"支付方式"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"状态"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"退款原因"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"推荐人/邀请码"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"分销佣金"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"下单时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"操作"})]})}),e.jsx("tbody",{className:"divide-y divide-gray-700/50",children:de.map(D=>{var fe,ke;return e.jsxs("tr",{className:"hover:bg-[#0a1628] transition-colors",children:[e.jsxs("td",{className:"p-4 font-mono text-xs text-gray-400",children:[(fe=D.id)==null?void 0:fe.slice(0,12),"..."]}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white text-sm",children:D.userNickname}),e.jsx("p",{className:"text-gray-500 text-xs",children:D.userPhone})]})}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white text-sm",children:(()=>{const Ve=D.productType||D.type;return Ve==="fullbook"?`${D.bookName||"《底层逻辑》"} - 全本`:Ve==="match"?"匹配次数购买":`${D.bookName||"《底层逻辑》"} - ${D.sectionTitle||D.chapterTitle||`章节${D.productId||D.sectionId||""}`}`})()}),e.jsx("p",{className:"text-gray-500 text-xs",children:(()=>{const Ve=D.productType||D.type;return Ve==="fullbook"?"全书解锁":Ve==="match"?"功能权益":D.chapterTitle||"单章购买"})()})]})}),e.jsxs("td",{className:"p-4 text-[#38bdac] font-bold",children:["¥",typeof D.amount=="number"?D.amount.toFixed(2):parseFloat(String(D.amount||"0")).toFixed(2)]}),e.jsx("td",{className:"p-4 text-gray-300",children:D.paymentMethod==="wechat"?"微信支付":D.paymentMethod==="alipay"?"支付宝":D.paymentMethod||"微信支付"}),e.jsx("td",{className:"p-4",children:D.status==="refunded"?e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 border-0",children:"已退款"}):D.status==="completed"||D.status==="paid"?e.jsx(Le,{className:"bg-green-500/20 text-green-400 border-0",children:"已完成"}):D.status==="pending"||D.status==="created"?e.jsx(Le,{className:"bg-yellow-500/20 text-yellow-400 border-0",children:"待支付"}):e.jsx(Le,{className:"bg-red-500/20 text-red-400 border-0",children:"已失败"})}),e.jsx("td",{className:"p-4 text-gray-400 text-sm max-w-[120px]",title:D.refundReason,children:D.status==="refunded"&&D.refundReason?D.refundReason:"-"}),e.jsx("td",{className:"p-4 text-gray-300 text-sm",children:D.referrerId||D.referralCode?e.jsxs("span",{title:D.referralCode||D.referrerCode||D.referrerId||"",children:[D.referrerNickname||D.referralCode||D.referrerCode||((ke=D.referrerId)==null?void 0:ke.slice(0,8)),(D.referralCode||D.referrerCode)&&` (${D.referralCode||D.referrerCode})`]}):"-"}),e.jsx("td",{className:"p-4 text-[#FFD700]",children:D.referrerEarnings?`¥${(typeof D.referrerEarnings=="number"?D.referrerEarnings:parseFloat(String(D.referrerEarnings))).toFixed(2)}`:"-"}),e.jsx("td",{className:"p-4 text-gray-400 text-sm",children:D.createdAt?new Date(D.createdAt).toLocaleString("zh-CN"):"-"}),e.jsx("td",{className:"p-4",children:(D.status==="paid"||D.status==="completed")&&e.jsxs(J,{variant:"outline",size:"sm",className:"border-orange-500/50 text-orange-400 hover:bg-orange-500/20",onClick:()=>{q(D),H("")},children:[e.jsx(Xx,{className:"w-3 h-3 mr-1"}),"退款"]})})]},D.id)})})]})}),r==="orders"&&e.jsx(Qs,{page:T,totalPages:Y,total:I,pageSize:$,onPageChange:L,onPageSizeChange:D=>{_(D),L(1)}})]})})]}),r==="bindings"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(le,{value:b,onChange:D=>w(D.target.value),placeholder:"搜索用户昵称、手机号、推广码...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white"})]}),e.jsxs("select",{value:k,onChange:D=>j(D.target.value),className:"px-4 py-2 bg-[#0f2137] border border-gray-700 rounded-lg text-white",children:[e.jsx("option",{value:"all",children:"全部状态"}),e.jsx("option",{value:"active",children:"有效"}),e.jsx("option",{value:"converted",children:"已转化"}),e.jsx("option",{value:"expired",children:"已过期"})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-0",children:[Q.length===0?e.jsx("div",{className:"py-12 text-center text-gray-500",children:"暂无绑定数据"}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-[#0a1628] text-gray-400",children:[e.jsx("th",{className:"p-4 text-left font-medium",children:"访客"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"分销商"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"绑定时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"到期时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"状态"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"佣金"})]})}),e.jsx("tbody",{className:"divide-y divide-gray-700/50",children:Q.map(D=>e.jsxs("tr",{className:"hover:bg-[#0a1628] transition-colors",children:[e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-medium",children:D.refereeNickname||"匿名用户"}),e.jsx("p",{className:"text-gray-500 text-xs",children:D.refereePhone})]})}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white",children:D.referrerName||"-"}),e.jsx("p",{className:"text-gray-500 text-xs font-mono",children:D.referrerCode})]})}),e.jsx("td",{className:"p-4 text-gray-400",children:D.boundAt?new Date(D.boundAt).toLocaleDateString("zh-CN"):"-"}),e.jsx("td",{className:"p-4 text-gray-400",children:D.expiresAt?new Date(D.expiresAt).toLocaleDateString("zh-CN"):"-"}),e.jsx("td",{className:"p-4",children:Z(D.status)}),e.jsx("td",{className:"p-4",children:D.commission?e.jsxs("span",{className:"text-[#38bdac] font-medium",children:["¥",D.commission.toFixed(2)]}):e.jsx("span",{className:"text-gray-500",children:"-"})})]},D.id))})]})}),r==="bindings"&&e.jsx(Qs,{page:T,totalPages:Y,total:I,pageSize:$,onPageChange:L,onPageSizeChange:D=>{_(D),L(1)}})]})})]}),r==="withdrawals"&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(cn,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),e.jsx(le,{value:b,onChange:D=>w(D.target.value),placeholder:"搜索用户名称、账号...",className:"pl-10 bg-[#0f2137] border-gray-700 text-white"})]}),e.jsxs("select",{value:k,onChange:D=>j(D.target.value),className:"px-4 py-2 bg-[#0f2137] border border-gray-700 rounded-lg text-white",children:[e.jsx("option",{value:"all",children:"全部状态"}),e.jsx("option",{value:"pending",children:"待审核"}),e.jsx("option",{value:"completed",children:"已完成"}),e.jsx("option",{value:"rejected",children:"已拒绝"})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-0",children:[ge.length===0?e.jsx("div",{className:"py-12 text-center text-gray-500",children:"暂无提现记录"}):e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-[#0a1628] text-gray-400",children:[e.jsx("th",{className:"p-4 text-left font-medium",children:"申请人"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"金额"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"收款方式"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"收款账号"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"申请时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"状态"}),e.jsx("th",{className:"p-4 text-right font-medium",children:"操作"})]})}),e.jsx("tbody",{className:"divide-y divide-gray-700/50",children:ge.map(D=>e.jsxs("tr",{className:"hover:bg-[#0a1628] transition-colors",children:[e.jsx("td",{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[D.userAvatar?e.jsx("img",{src:D.userAvatar,alt:"",className:"w-8 h-8 rounded-full object-cover"}):e.jsx("div",{className:"w-8 h-8 rounded-full bg-gray-600 flex items-center justify-center text-white text-sm font-medium",children:(D.userName||D.name||"?").slice(0,1)}),e.jsx("p",{className:"text-white font-medium",children:D.userName||D.name})]})}),e.jsx("td",{className:"p-4",children:e.jsxs("span",{className:"text-[#38bdac] font-bold",children:["¥",D.amount.toFixed(2)]})}),e.jsx("td",{className:"p-4",children:e.jsx(Le,{className:D.method==="wechat"?"bg-green-500/20 text-green-400 border-0":"bg-blue-500/20 text-blue-400 border-0",children:D.method==="wechat"?"微信":"支付宝"})}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-mono text-xs",children:D.account}),e.jsx("p",{className:"text-gray-500 text-xs",children:D.name})]})}),e.jsx("td",{className:"p-4 text-gray-400",children:D.createdAt?new Date(D.createdAt).toLocaleString("zh-CN"):"-"}),e.jsx("td",{className:"p-4",children:Z(D.status)}),e.jsx("td",{className:"p-4 text-right",children:D.status==="pending"&&e.jsxs("div",{className:"flex gap-2 justify-end",children:[e.jsxs(J,{size:"sm",onClick:()=>A(D.id),className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Ff,{className:"w-4 h-4 mr-1"}),"通过"]}),e.jsxs(J,{size:"sm",variant:"outline",onClick:()=>F(D.id),className:"border-red-500/50 text-red-400 hover:bg-red-500/20",children:[e.jsx(Kx,{className:"w-4 h-4 mr-1"}),"拒绝"]})]})})]},D.id))})]})}),r==="withdrawals"&&e.jsx(Qs,{page:T,totalPages:Y,total:I,pageSize:$,onPageChange:L,onPageSizeChange:D=>{_(D),L(1)}})]})})]})]}),e.jsx(Ct,{open:!!ae,onOpenChange:D=>!D&&q(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:"订单退款"})}),ae&&e.jsxs("div",{className:"space-y-4",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["订单号:",ae.orderSn||ae.id]}),e.jsxs("p",{className:"text-gray-400 text-sm",children:["退款金额:¥",typeof ae.amount=="number"?ae.amount.toFixed(2):parseFloat(String(ae.amount||"0")).toFixed(2)]}),e.jsxs("div",{children:[e.jsx("label",{className:"text-sm text-gray-400 block mb-2",children:"退款原因(选填)"}),e.jsx("div",{className:"form-input",children:e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",placeholder:"如:用户申请退款",value:se,onChange:D=>H(D.target.value)})})]}),e.jsx("p",{className:"text-orange-400/80 text-xs",children:"退款将原路退回至用户微信,且无法撤销,请确认后再操作。"})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",className:"border-gray-600 text-gray-300",onClick:()=>q(null),disabled:ie,children:"取消"}),e.jsx(J,{className:"bg-orange-500 hover:bg-orange-600 text-white",onClick:O,disabled:ie,children:ie?"退款中...":"确认退款"})]})]})}),r==="settings"&&e.jsx("div",{className:"-mx-8 -mt-6",children:e.jsx(M0,{embedded:!0})})]})}function c4(){const[r,a]=h.useState([]),[l,o]=h.useState({total:0,pendingCount:0,pendingAmount:0,successCount:0,successAmount:0,failedCount:0}),[c,u]=h.useState(!0),[m,f]=h.useState(null),[p,y]=h.useState("all"),[g,v]=h.useState(1),[C,P]=h.useState(10),[R,N]=h.useState(0),[b,w]=h.useState(null);async function k(){var _,I,E,G,ne,ae,q;u(!0),f(null);try{const se=new URLSearchParams({status:p,page:String(g),pageSize:String(C)}),H=await $e(`/api/admin/withdrawals?${se}`);if(H!=null&&H.success){const ie=H.withdrawals||[];a(ie),N(H.total??((_=H.stats)==null?void 0:_.total)??ie.length),o({total:((I=H.stats)==null?void 0:I.total)??H.total??ie.length,pendingCount:((E=H.stats)==null?void 0:E.pendingCount)??0,pendingAmount:((G=H.stats)==null?void 0:G.pendingAmount)??0,successCount:((ne=H.stats)==null?void 0:ne.successCount)??0,successAmount:((ae=H.stats)==null?void 0:ae.successAmount)??0,failedCount:((q=H.stats)==null?void 0:q.failedCount)??0})}else f("加载提现记录失败")}catch(se){console.error("Load withdrawals error:",se),f("加载失败,请检查网络后重试")}finally{u(!1)}}h.useEffect(()=>{v(1)},[p]),h.useEffect(()=>{k()},[p,g,C]);const j=Math.ceil(R/C)||1;async function T(_){const I=r.find(E=>E.id===_);if(I!=null&&I.userCommissionInfo&&I.userCommissionInfo.availableAfterThis<0){if(!confirm(`⚠️ 风险警告:该用户审核后余额为负数(¥${I.userCommissionInfo.availableAfterThis.toFixed(2)}),可能存在超额提现。 -确认已核实用户账户并完成打款?`))return}else if(!confirm("确认已完成打款?批准后将更新用户提现记录。"))return;b(I);try{const E=await vt("/api/admin/withdrawals",{id:I,action:"approve"});E!=null&&E.success?w():alert("操作失败: "+((E==null?void 0:E.error)??""))}catch{alert("操作失败")}finally{b(null)}}async function D(I){const R=prompt("请输入拒绝原因(将返还用户余额):");if(R){b(I);try{const E=await vt("/api/admin/withdrawals",{id:I,action:"reject",errorMessage:R});E!=null&&E.success?w():alert("操作失败: "+((E==null?void 0:E.error)??""))}catch{alert("操作失败")}finally{b(null)}}}function V(I){switch(I){case"pending":return e.jsx(Le,{className:"bg-orange-500/20 text-orange-400 hover:bg-orange-500/20 border-0",children:"待处理"});case"pending_confirm":return e.jsx(Le,{className:"bg-orange-500/20 text-orange-400 hover:bg-orange-500/20 border-0",children:"待用户确认"});case"processing":return e.jsx(Le,{className:"bg-blue-500/20 text-blue-400 hover:bg-blue-500/20 border-0",children:"已审批等待打款"});case"success":case"completed":return e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"已完成"});case"failed":case"rejected":return e.jsx(Le,{className:"bg-red-500/20 text-red-400 hover:bg-red-500/20 border-0",children:"已拒绝"});default:return e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 border-0",children:I})}}return e.jsxs("div",{className:"p-8 w-full",children:[m&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:m}),e.jsx("button",{type:"button",onClick:()=>f(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex justify-between items-start mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-white",children:"分账提现管理"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"管理用户分销收益的提现申请"})]}),e.jsxs(J,{variant:"outline",onClick:w,disabled:c,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${c?"animate-spin":""}`}),"刷新"]})]}),e.jsx(Ne,{className:"bg-gradient-to-r from-[#38bdac]/10 to-[#0f2137] border-[#38bdac]/30 mb-6",children:e.jsx(we,{className:"p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Ml,{className:"w-5 h-5 text-[#38bdac] mt-0.5"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-white font-medium mb-2",children:"自动分账规则"}),e.jsxs("div",{className:"text-sm text-gray-400 space-y-1",children:[e.jsxs("p",{children:["• ",e.jsx("span",{className:"text-[#38bdac]",children:"分销比例"}),":推广者获得订单金额的"," ",e.jsx("span",{className:"text-white font-medium",children:"90%"})]}),e.jsxs("p",{children:["• ",e.jsx("span",{className:"text-[#38bdac]",children:"结算方式"}),":用户付款后,分销收益自动计入推广者账户"]}),e.jsxs("p",{children:["• ",e.jsx("span",{className:"text-[#38bdac]",children:"提现方式"}),":用户在小程序端点击提现,系统自动转账到微信零钱"]}),e.jsxs("p",{children:["• ",e.jsx("span",{className:"text-[#38bdac]",children:"审批流程"}),":待处理的提现需管理员手动确认打款后批准"]})]})]})]})})}),e.jsxs("div",{className:"grid grid-cols-4 gap-4 mb-6",children:[e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-4 text-center",children:[e.jsx("div",{className:"text-3xl font-bold text-[#38bdac]",children:l.total}),e.jsx("div",{className:"text-sm text-gray-400",children:"总申请"})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-4 text-center",children:[e.jsx("div",{className:"text-3xl font-bold text-orange-400",children:l.pendingCount}),e.jsx("div",{className:"text-sm text-gray-400",children:"待处理"}),e.jsxs("div",{className:"text-xs text-orange-400 mt-1",children:["¥",l.pendingAmount.toFixed(2)]})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-4 text-center",children:[e.jsx("div",{className:"text-3xl font-bold text-green-400",children:l.successCount}),e.jsx("div",{className:"text-sm text-gray-400",children:"已完成"}),e.jsxs("div",{className:"text-xs text-green-400 mt-1",children:["¥",l.successAmount.toFixed(2)]})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-4 text-center",children:[e.jsx("div",{className:"text-3xl font-bold text-red-400",children:l.failedCount}),e.jsx("div",{className:"text-sm text-gray-400",children:"已拒绝"})]})})]}),e.jsx("div",{className:"flex gap-2 mb-4",children:["all","pending","success","failed"].map(I=>e.jsx(J,{variant:p===I?"default":"outline",size:"sm",onClick:()=>y(I),className:p===I?"bg-[#38bdac] hover:bg-[#2da396] text-white":"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:I==="all"?"全部":I==="pending"?"待处理":I==="success"?"已完成":"已拒绝"},I))}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:c?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):r.length===0?e.jsxs("div",{className:"text-center py-12",children:[e.jsx(Ma,{className:"w-12 h-12 text-gray-600 mx-auto mb-3"}),e.jsx("p",{className:"text-gray-500",children:"暂无提现记录"})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-[#0a1628] text-gray-400",children:[e.jsx("th",{className:"p-4 text-left font-medium",children:"申请时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"用户"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"提现金额"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"用户佣金信息"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"状态"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"处理时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"确认收款"}),e.jsx("th",{className:"p-4 text-right font-medium",children:"操作"})]})}),e.jsx("tbody",{className:"divide-y divide-gray-700/50",children:r.map(I=>e.jsxs("tr",{className:"hover:bg-[#0a1628] transition-colors",children:[e.jsx("td",{className:"p-4 text-gray-400",children:new Date(I.createdAt??"").toLocaleString()}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[I.userAvatar?e.jsx("img",{src:I.userAvatar,alt:I.userName??"",className:"w-8 h-8 rounded-full object-cover"}):e.jsx("div",{className:"w-8 h-8 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm text-[#38bdac]",children:(I.userName??"?").charAt(0)}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-white",children:I.userName??"未知"}),e.jsx("p",{className:"text-xs text-gray-500",children:I.userPhone??I.referralCode??(I.userId??"").slice(0,10)})]})]})}),e.jsx("td",{className:"p-4",children:e.jsxs("span",{className:"font-bold text-orange-400",children:["¥",Number(I.amount).toFixed(2)]})}),e.jsx("td",{className:"p-4",children:I.userCommissionInfo?e.jsxs("div",{className:"text-xs space-y-1",children:[e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-gray-500",children:"累计佣金:"}),e.jsxs("span",{className:"text-[#38bdac] font-medium",children:["¥",I.userCommissionInfo.totalCommission.toFixed(2)]})]}),e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-gray-500",children:"已提现:"}),e.jsxs("span",{className:"text-gray-400",children:["¥",I.userCommissionInfo.withdrawnEarnings.toFixed(2)]})]}),e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-gray-500",children:"待审核:"}),e.jsxs("span",{className:"text-orange-400",children:["¥",I.userCommissionInfo.pendingWithdrawals.toFixed(2)]})]}),e.jsxs("div",{className:"flex justify-between gap-4 pt-1 border-t border-gray-700/30",children:[e.jsx("span",{className:"text-gray-500",children:"审核后余额:"}),e.jsxs("span",{className:I.userCommissionInfo.availableAfterThis>=0?"text-green-400 font-medium":"text-red-400 font-medium",children:["¥",I.userCommissionInfo.availableAfterThis.toFixed(2)]})]})]}):e.jsx("span",{className:"text-gray-500 text-xs",children:"暂无数据"})}),e.jsxs("td",{className:"p-4",children:[V(I.status),I.errorMessage&&e.jsx("p",{className:"text-xs text-red-400 mt-1",children:I.errorMessage})]}),e.jsx("td",{className:"p-4 text-gray-400",children:I.processedAt?new Date(I.processedAt).toLocaleString():"-"}),e.jsx("td",{className:"p-4 text-gray-400",children:I.userConfirmedAt?e.jsxs("span",{className:"text-green-400",title:I.userConfirmedAt,children:["已确认 ",new Date(I.userConfirmedAt).toLocaleString()]}):"-"}),e.jsxs("td",{className:"p-4 text-right",children:[(I.status==="pending"||I.status==="pending_confirm")&&e.jsxs("div",{className:"flex items-center justify-end gap-2",children:[e.jsxs(J,{size:"sm",onClick:()=>_(I.id),disabled:N===I.id,className:"bg-green-600 hover:bg-green-700 text-white",children:[e.jsx(wo,{className:"w-4 h-4 mr-1"}),"批准"]}),e.jsxs(J,{size:"sm",variant:"outline",onClick:()=>D(I.id),disabled:N===I.id,className:"border-red-500/50 text-red-400 hover:bg-red-500/10 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-1"}),"拒绝"]})]}),(I.status==="success"||I.status==="completed")&&I.transactionId&&e.jsx("span",{className:"text-xs text-gray-500 font-mono",children:I.transactionId})]})]},I.id))})]})}),e.jsx(Qs,{page:g,totalPages:j,total:T,pageSize:k,onPageChange:v,onPageSizeChange:I=>{P(I),v(1)}})]})})})]})}const d4=["top","right","bottom","left"],mn=Math.min,ws=Math.max,po=Math.round,ro=Math.floor,cr=r=>({x:r,y:r}),u4={left:"right",right:"left",bottom:"top",top:"bottom"},h4={start:"end",end:"start"};function au(r,a,l){return ws(r,mn(a,l))}function Tr(r,a){return typeof r=="function"?r(a):r}function Rr(r){return r.split("-")[0]}function Ua(r){return r.split("-")[1]}function Ou(r){return r==="x"?"y":"x"}function Fu(r){return r==="y"?"height":"width"}const m4=new Set(["top","bottom"]);function or(r){return m4.has(Rr(r))?"y":"x"}function zu(r){return Ou(or(r))}function f4(r,a,l){l===void 0&&(l=!1);const o=Ua(r),c=zu(r),u=Fu(c);let m=c==="x"?o===(l?"end":"start")?"right":"left":o==="start"?"bottom":"top";return a.reference[u]>a.floating[u]&&(m=go(m)),[m,go(m)]}function x4(r){const a=go(r);return[lu(r),a,lu(a)]}function lu(r){return r.replace(/start|end/g,a=>h4[a])}const cx=["left","right"],dx=["right","left"],p4=["top","bottom"],g4=["bottom","top"];function y4(r,a,l){switch(r){case"top":case"bottom":return l?a?dx:cx:a?cx:dx;case"left":case"right":return a?p4:g4;default:return[]}}function v4(r,a,l,o){const c=Ua(r);let u=y4(Rr(r),l==="start",o);return c&&(u=u.map(m=>m+"-"+c),a&&(u=u.concat(u.map(lu)))),u}function go(r){return r.replace(/left|right|bottom|top/g,a=>u4[a])}function j4(r){return{top:0,right:0,bottom:0,left:0,...r}}function _0(r){return typeof r!="number"?j4(r):{top:r,right:r,bottom:r,left:r}}function yo(r){const{x:a,y:l,width:o,height:c}=r;return{width:o,height:c,top:l,left:a,right:a+o,bottom:l+c,x:a,y:l}}function ux(r,a,l){let{reference:o,floating:c}=r;const u=or(a),m=zu(a),f=Fu(m),p=Rr(a),y=u==="y",g=o.x+o.width/2-c.width/2,v=o.y+o.height/2-c.height/2,k=o[f]/2-c[f]/2;let P;switch(p){case"top":P={x:g,y:o.y-c.height};break;case"bottom":P={x:g,y:o.y+o.height};break;case"right":P={x:o.x+o.width,y:v};break;case"left":P={x:o.x-c.width,y:v};break;default:P={x:o.x,y:o.y}}switch(Ua(a)){case"start":P[m]-=k*(l&&y?-1:1);break;case"end":P[m]+=k*(l&&y?-1:1);break}return P}async function b4(r,a){var l;a===void 0&&(a={});const{x:o,y:c,platform:u,rects:m,elements:f,strategy:p}=r,{boundary:y="clippingAncestors",rootBoundary:g="viewport",elementContext:v="floating",altBoundary:k=!1,padding:P=0}=Tr(a,r),T=_0(P),N=f[k?v==="floating"?"reference":"floating":v],b=yo(await u.getClippingRect({element:(l=await(u.isElement==null?void 0:u.isElement(N)))==null||l?N:N.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(f.floating)),boundary:y,rootBoundary:g,strategy:p})),w=v==="floating"?{x:o,y:c,width:m.floating.width,height:m.floating.height}:m.reference,j=await(u.getOffsetParent==null?void 0:u.getOffsetParent(f.floating)),_=await(u.isElement==null?void 0:u.isElement(j))?await(u.getScale==null?void 0:u.getScale(j))||{x:1,y:1}:{x:1,y:1},D=yo(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:w,offsetParent:j,strategy:p}):w);return{top:(b.top-D.top+T.top)/_.y,bottom:(D.bottom-b.bottom+T.bottom)/_.y,left:(b.left-D.left+T.left)/_.x,right:(D.right-b.right+T.right)/_.x}}const N4=async(r,a,l)=>{const{placement:o="bottom",strategy:c="absolute",middleware:u=[],platform:m}=l,f=u.filter(Boolean),p=await(m.isRTL==null?void 0:m.isRTL(a));let y=await m.getElementRects({reference:r,floating:a,strategy:c}),{x:g,y:v}=ux(y,o,p),k=o,P={},T=0;for(let N=0;N({name:"arrow",options:r,async fn(a){const{x:l,y:o,placement:c,rects:u,platform:m,elements:f,middlewareData:p}=a,{element:y,padding:g=0}=Tr(r,a)||{};if(y==null)return{};const v=_0(g),k={x:l,y:o},P=zu(c),T=Fu(P),S=await m.getDimensions(y),N=P==="y",b=N?"top":"left",w=N?"bottom":"right",j=N?"clientHeight":"clientWidth",_=u.reference[T]+u.reference[P]-k[P]-u.floating[T],D=k[P]-u.reference[P],V=await(m.getOffsetParent==null?void 0:m.getOffsetParent(y));let I=V?V[j]:0;(!I||!await(m.isElement==null?void 0:m.isElement(V)))&&(I=f.floating[j]||u.floating[T]);const R=_/2-D/2,E=I/2-S[T]/2-1,Y=mn(v[b],E),ne=mn(v[w],E),ae=Y,q=I-S[T]-ne,se=I/2-S[T]/2+R,H=au(ae,se,q),ie=!p.arrow&&Ua(c)!=null&&se!==H&&u.reference[T]/2-(sese<=0)){var ne,ae;const se=(((ne=u.flip)==null?void 0:ne.index)||0)+1,H=I[se];if(H&&(!(v==="alignment"?w!==or(H):!1)||Y.every(U=>or(U.placement)===w?U.overflows[0]>0:!0)))return{data:{index:se,overflows:Y},reset:{placement:H}};let ie=(ae=Y.filter(ve=>ve.overflows[0]<=0).sort((ve,U)=>ve.overflows[1]-U.overflows[1])[0])==null?void 0:ae.placement;if(!ie)switch(P){case"bestFit":{var q;const ve=(q=Y.filter(U=>{if(V){const ce=or(U.placement);return ce===w||ce==="y"}return!0}).map(U=>[U.placement,U.overflows.filter(ce=>ce>0).reduce((ce,K)=>ce+K,0)]).sort((U,ce)=>U[1]-ce[1])[0])==null?void 0:q[0];ve&&(ie=ve);break}case"initialPlacement":ie=f;break}if(c!==ie)return{reset:{placement:ie}}}return{}}}};function hx(r,a){return{top:r.top-a.height,right:r.right-a.width,bottom:r.bottom-a.height,left:r.left-a.width}}function mx(r){return d4.some(a=>r[a]>=0)}const C4=function(r){return r===void 0&&(r={}),{name:"hide",options:r,async fn(a){const{rects:l,platform:o}=a,{strategy:c="referenceHidden",...u}=Tr(r,a);switch(c){case"referenceHidden":{const m=await o.detectOverflow(a,{...u,elementContext:"reference"}),f=hx(m,l.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:mx(f)}}}case"escaped":{const m=await o.detectOverflow(a,{...u,altBoundary:!0}),f=hx(m,l.floating);return{data:{escapedOffsets:f,escaped:mx(f)}}}default:return{}}}}},M0=new Set(["left","top"]);async function k4(r,a){const{placement:l,platform:o,elements:c}=r,u=await(o.isRTL==null?void 0:o.isRTL(c.floating)),m=Rr(l),f=Ua(l),p=or(l)==="y",y=M0.has(m)?-1:1,g=u&&p?-1:1,v=Tr(a,r);let{mainAxis:k,crossAxis:P,alignmentAxis:T}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return f&&typeof T=="number"&&(P=f==="end"?T*-1:T),p?{x:P*g,y:k*y}:{x:k*y,y:P*g}}const E4=function(r){return r===void 0&&(r=0),{name:"offset",options:r,async fn(a){var l,o;const{x:c,y:u,placement:m,middlewareData:f}=a,p=await k4(a,r);return m===((l=f.offset)==null?void 0:l.placement)&&(o=f.arrow)!=null&&o.alignmentOffset?{}:{x:c+p.x,y:u+p.y,data:{...p,placement:m}}}}},P4=function(r){return r===void 0&&(r={}),{name:"shift",options:r,async fn(a){const{x:l,y:o,placement:c,platform:u}=a,{mainAxis:m=!0,crossAxis:f=!1,limiter:p={fn:b=>{let{x:w,y:j}=b;return{x:w,y:j}}},...y}=Tr(r,a),g={x:l,y:o},v=await u.detectOverflow(a,y),k=or(Rr(c)),P=Ou(k);let T=g[P],S=g[k];if(m){const b=P==="y"?"top":"left",w=P==="y"?"bottom":"right",j=T+v[b],_=T-v[w];T=au(j,T,_)}if(f){const b=k==="y"?"top":"left",w=k==="y"?"bottom":"right",j=S+v[b],_=S-v[w];S=au(j,S,_)}const N=p.fn({...a,[P]:T,[k]:S});return{...N,data:{x:N.x-l,y:N.y-o,enabled:{[P]:m,[k]:f}}}}}},T4=function(r){return r===void 0&&(r={}),{options:r,fn(a){const{x:l,y:o,placement:c,rects:u,middlewareData:m}=a,{offset:f=0,mainAxis:p=!0,crossAxis:y=!0}=Tr(r,a),g={x:l,y:o},v=or(c),k=Ou(v);let P=g[k],T=g[v];const S=Tr(f,a),N=typeof S=="number"?{mainAxis:S,crossAxis:0}:{mainAxis:0,crossAxis:0,...S};if(p){const j=k==="y"?"height":"width",_=u.reference[k]-u.floating[j]+N.mainAxis,D=u.reference[k]+u.reference[j]-N.mainAxis;P<_?P=_:P>D&&(P=D)}if(y){var b,w;const j=k==="y"?"width":"height",_=M0.has(Rr(c)),D=u.reference[v]-u.floating[j]+(_&&((b=m.offset)==null?void 0:b[v])||0)+(_?0:N.crossAxis),V=u.reference[v]+u.reference[j]+(_?0:((w=m.offset)==null?void 0:w[v])||0)-(_?N.crossAxis:0);TV&&(T=V)}return{[k]:P,[v]:T}}}},R4=function(r){return r===void 0&&(r={}),{name:"size",options:r,async fn(a){var l,o;const{placement:c,rects:u,platform:m,elements:f}=a,{apply:p=()=>{},...y}=Tr(r,a),g=await m.detectOverflow(a,y),v=Rr(c),k=Ua(c),P=or(c)==="y",{width:T,height:S}=u.floating;let N,b;v==="top"||v==="bottom"?(N=v,b=k===(await(m.isRTL==null?void 0:m.isRTL(f.floating))?"start":"end")?"left":"right"):(b=v,N=k==="end"?"top":"bottom");const w=S-g.top-g.bottom,j=T-g.left-g.right,_=mn(S-g[N],w),D=mn(T-g[b],j),V=!a.middlewareData.shift;let I=_,R=D;if((l=a.middlewareData.shift)!=null&&l.enabled.x&&(R=j),(o=a.middlewareData.shift)!=null&&o.enabled.y&&(I=w),V&&!k){const Y=ws(g.left,0),ne=ws(g.right,0),ae=ws(g.top,0),q=ws(g.bottom,0);P?R=T-2*(Y!==0||ne!==0?Y+ne:ws(g.left,g.right)):I=S-2*(ae!==0||q!==0?ae+q:ws(g.top,g.bottom))}await p({...a,availableWidth:R,availableHeight:I});const E=await m.getDimensions(f.floating);return T!==E.width||S!==E.height?{reset:{rects:!0}}:{}}}};function Io(){return typeof window<"u"}function Va(r){return A0(r)?(r.nodeName||"").toLowerCase():"#document"}function Ss(r){var a;return(r==null||(a=r.ownerDocument)==null?void 0:a.defaultView)||window}function ur(r){var a;return(a=(A0(r)?r.ownerDocument:r.document)||window.document)==null?void 0:a.documentElement}function A0(r){return Io()?r instanceof Node||r instanceof Ss(r).Node:!1}function Xs(r){return Io()?r instanceof Element||r instanceof Ss(r).Element:!1}function dr(r){return Io()?r instanceof HTMLElement||r instanceof Ss(r).HTMLElement:!1}function fx(r){return!Io()||typeof ShadowRoot>"u"?!1:r instanceof ShadowRoot||r instanceof Ss(r).ShadowRoot}const I4=new Set(["inline","contents"]);function Bl(r){const{overflow:a,overflowX:l,overflowY:o,display:c}=Js(r);return/auto|scroll|overlay|hidden|clip/.test(a+o+l)&&!I4.has(c)}const _4=new Set(["table","td","th"]);function M4(r){return _4.has(Va(r))}const A4=[":popover-open",":modal"];function _o(r){return A4.some(a=>{try{return r.matches(a)}catch{return!1}})}const D4=["transform","translate","scale","rotate","perspective"],L4=["transform","translate","scale","rotate","perspective","filter"],O4=["paint","layout","strict","content"];function $u(r){const a=Bu(),l=Xs(r)?Js(r):r;return D4.some(o=>l[o]?l[o]!=="none":!1)||(l.containerType?l.containerType!=="normal":!1)||!a&&(l.backdropFilter?l.backdropFilter!=="none":!1)||!a&&(l.filter?l.filter!=="none":!1)||L4.some(o=>(l.willChange||"").includes(o))||O4.some(o=>(l.contain||"").includes(o))}function F4(r){let a=fn(r);for(;dr(a)&&!Da(a);){if($u(a))return a;if(_o(a))return null;a=fn(a)}return null}function Bu(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const z4=new Set(["html","body","#document"]);function Da(r){return z4.has(Va(r))}function Js(r){return Ss(r).getComputedStyle(r)}function Mo(r){return Xs(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:{scrollLeft:r.scrollX,scrollTop:r.scrollY}}function fn(r){if(Va(r)==="html")return r;const a=r.assignedSlot||r.parentNode||fx(r)&&r.host||ur(r);return fx(a)?a.host:a}function D0(r){const a=fn(r);return Da(a)?r.ownerDocument?r.ownerDocument.body:r.body:dr(a)&&Bl(a)?a:D0(a)}function Ll(r,a,l){var o;a===void 0&&(a=[]),l===void 0&&(l=!0);const c=D0(r),u=c===((o=r.ownerDocument)==null?void 0:o.body),m=Ss(c);if(u){const f=iu(m);return a.concat(m,m.visualViewport||[],Bl(c)?c:[],f&&l?Ll(f):[])}return a.concat(c,Ll(c,[],l))}function iu(r){return r.parent&&Object.getPrototypeOf(r.parent)?r.frameElement:null}function L0(r){const a=Js(r);let l=parseFloat(a.width)||0,o=parseFloat(a.height)||0;const c=dr(r),u=c?r.offsetWidth:l,m=c?r.offsetHeight:o,f=po(l)!==u||po(o)!==m;return f&&(l=u,o=m),{width:l,height:o,$:f}}function Uu(r){return Xs(r)?r:r.contextElement}function _a(r){const a=Uu(r);if(!dr(a))return cr(1);const l=a.getBoundingClientRect(),{width:o,height:c,$:u}=L0(a);let m=(u?po(l.width):l.width)/o,f=(u?po(l.height):l.height)/c;return(!m||!Number.isFinite(m))&&(m=1),(!f||!Number.isFinite(f))&&(f=1),{x:m,y:f}}const $4=cr(0);function O0(r){const a=Ss(r);return!Bu()||!a.visualViewport?$4:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function B4(r,a,l){return a===void 0&&(a=!1),!l||a&&l!==Ss(r)?!1:a}function Wn(r,a,l,o){a===void 0&&(a=!1),l===void 0&&(l=!1);const c=r.getBoundingClientRect(),u=Uu(r);let m=cr(1);a&&(o?Xs(o)&&(m=_a(o)):m=_a(r));const f=B4(u,l,o)?O0(u):cr(0);let p=(c.left+f.x)/m.x,y=(c.top+f.y)/m.y,g=c.width/m.x,v=c.height/m.y;if(u){const k=Ss(u),P=o&&Xs(o)?Ss(o):o;let T=k,S=iu(T);for(;S&&o&&P!==T;){const N=_a(S),b=S.getBoundingClientRect(),w=Js(S),j=b.left+(S.clientLeft+parseFloat(w.paddingLeft))*N.x,_=b.top+(S.clientTop+parseFloat(w.paddingTop))*N.y;p*=N.x,y*=N.y,g*=N.x,v*=N.y,p+=j,y+=_,T=Ss(S),S=iu(T)}}return yo({width:g,height:v,x:p,y})}function Ao(r,a){const l=Mo(r).scrollLeft;return a?a.left+l:Wn(ur(r)).left+l}function F0(r,a){const l=r.getBoundingClientRect(),o=l.left+a.scrollLeft-Ao(r,l),c=l.top+a.scrollTop;return{x:o,y:c}}function U4(r){let{elements:a,rect:l,offsetParent:o,strategy:c}=r;const u=c==="fixed",m=ur(o),f=a?_o(a.floating):!1;if(o===m||f&&u)return l;let p={scrollLeft:0,scrollTop:0},y=cr(1);const g=cr(0),v=dr(o);if((v||!v&&!u)&&((Va(o)!=="body"||Bl(m))&&(p=Mo(o)),dr(o))){const P=Wn(o);y=_a(o),g.x=P.x+o.clientLeft,g.y=P.y+o.clientTop}const k=m&&!v&&!u?F0(m,p):cr(0);return{width:l.width*y.x,height:l.height*y.y,x:l.x*y.x-p.scrollLeft*y.x+g.x+k.x,y:l.y*y.y-p.scrollTop*y.y+g.y+k.y}}function V4(r){return Array.from(r.getClientRects())}function W4(r){const a=ur(r),l=Mo(r),o=r.ownerDocument.body,c=ws(a.scrollWidth,a.clientWidth,o.scrollWidth,o.clientWidth),u=ws(a.scrollHeight,a.clientHeight,o.scrollHeight,o.clientHeight);let m=-l.scrollLeft+Ao(r);const f=-l.scrollTop;return Js(o).direction==="rtl"&&(m+=ws(a.clientWidth,o.clientWidth)-c),{width:c,height:u,x:m,y:f}}const xx=25;function H4(r,a){const l=Ss(r),o=ur(r),c=l.visualViewport;let u=o.clientWidth,m=o.clientHeight,f=0,p=0;if(c){u=c.width,m=c.height;const g=Bu();(!g||g&&a==="fixed")&&(f=c.offsetLeft,p=c.offsetTop)}const y=Ao(o);if(y<=0){const g=o.ownerDocument,v=g.body,k=getComputedStyle(v),P=g.compatMode==="CSS1Compat"&&parseFloat(k.marginLeft)+parseFloat(k.marginRight)||0,T=Math.abs(o.clientWidth-v.clientWidth-P);T<=xx&&(u-=T)}else y<=xx&&(u+=y);return{width:u,height:m,x:f,y:p}}const K4=new Set(["absolute","fixed"]);function G4(r,a){const l=Wn(r,!0,a==="fixed"),o=l.top+r.clientTop,c=l.left+r.clientLeft,u=dr(r)?_a(r):cr(1),m=r.clientWidth*u.x,f=r.clientHeight*u.y,p=c*u.x,y=o*u.y;return{width:m,height:f,x:p,y}}function px(r,a,l){let o;if(a==="viewport")o=H4(r,l);else if(a==="document")o=W4(ur(r));else if(Xs(a))o=G4(a,l);else{const c=O0(r);o={x:a.x-c.x,y:a.y-c.y,width:a.width,height:a.height}}return yo(o)}function z0(r,a){const l=fn(r);return l===a||!Xs(l)||Da(l)?!1:Js(l).position==="fixed"||z0(l,a)}function Y4(r,a){const l=a.get(r);if(l)return l;let o=Ll(r,[],!1).filter(f=>Xs(f)&&Va(f)!=="body"),c=null;const u=Js(r).position==="fixed";let m=u?fn(r):r;for(;Xs(m)&&!Da(m);){const f=Js(m),p=$u(m);!p&&f.position==="fixed"&&(c=null),(u?!p&&!c:!p&&f.position==="static"&&!!c&&K4.has(c.position)||Bl(m)&&!p&&z0(r,m))?o=o.filter(g=>g!==m):c=f,m=fn(m)}return a.set(r,o),o}function Q4(r){let{element:a,boundary:l,rootBoundary:o,strategy:c}=r;const m=[...l==="clippingAncestors"?_o(a)?[]:Y4(a,this._c):[].concat(l),o],f=m[0],p=m.reduce((y,g)=>{const v=px(a,g,c);return y.top=ws(v.top,y.top),y.right=mn(v.right,y.right),y.bottom=mn(v.bottom,y.bottom),y.left=ws(v.left,y.left),y},px(a,f,c));return{width:p.right-p.left,height:p.bottom-p.top,x:p.left,y:p.top}}function q4(r){const{width:a,height:l}=L0(r);return{width:a,height:l}}function X4(r,a,l){const o=dr(a),c=ur(a),u=l==="fixed",m=Wn(r,!0,u,a);let f={scrollLeft:0,scrollTop:0};const p=cr(0);function y(){p.x=Ao(c)}if(o||!o&&!u)if((Va(a)!=="body"||Bl(c))&&(f=Mo(a)),o){const P=Wn(a,!0,u,a);p.x=P.x+a.clientLeft,p.y=P.y+a.clientTop}else c&&y();u&&!o&&c&&y();const g=c&&!o&&!u?F0(c,f):cr(0),v=m.left+f.scrollLeft-p.x-g.x,k=m.top+f.scrollTop-p.y-g.y;return{x:v,y:k,width:m.width,height:m.height}}function zd(r){return Js(r).position==="static"}function gx(r,a){if(!dr(r)||Js(r).position==="fixed")return null;if(a)return a(r);let l=r.offsetParent;return ur(r)===l&&(l=l.ownerDocument.body),l}function $0(r,a){const l=Ss(r);if(_o(r))return l;if(!dr(r)){let c=fn(r);for(;c&&!Da(c);){if(Xs(c)&&!zd(c))return c;c=fn(c)}return l}let o=gx(r,a);for(;o&&M4(o)&&zd(o);)o=gx(o,a);return o&&Da(o)&&zd(o)&&!$u(o)?l:o||F4(r)||l}const J4=async function(r){const a=this.getOffsetParent||$0,l=this.getDimensions,o=await l(r.floating);return{reference:X4(r.reference,await a(r.floating),r.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Z4(r){return Js(r).direction==="rtl"}const eS={convertOffsetParentRelativeRectToViewportRelativeRect:U4,getDocumentElement:ur,getClippingRect:Q4,getOffsetParent:$0,getElementRects:J4,getClientRects:V4,getDimensions:q4,getScale:_a,isElement:Xs,isRTL:Z4};function B0(r,a){return r.x===a.x&&r.y===a.y&&r.width===a.width&&r.height===a.height}function tS(r,a){let l=null,o;const c=ur(r);function u(){var f;clearTimeout(o),(f=l)==null||f.disconnect(),l=null}function m(f,p){f===void 0&&(f=!1),p===void 0&&(p=1),u();const y=r.getBoundingClientRect(),{left:g,top:v,width:k,height:P}=y;if(f||a(),!k||!P)return;const T=ro(v),S=ro(c.clientWidth-(g+k)),N=ro(c.clientHeight-(v+P)),b=ro(g),j={rootMargin:-T+"px "+-S+"px "+-N+"px "+-b+"px",threshold:ws(0,mn(1,p))||1};let _=!0;function D(V){const I=V[0].intersectionRatio;if(I!==p){if(!_)return m();I?m(!1,I):o=setTimeout(()=>{m(!1,1e-7)},1e3)}I===1&&!B0(y,r.getBoundingClientRect())&&m(),_=!1}try{l=new IntersectionObserver(D,{...j,root:c.ownerDocument})}catch{l=new IntersectionObserver(D,j)}l.observe(r)}return m(!0),u}function sS(r,a,l,o){o===void 0&&(o={});const{ancestorScroll:c=!0,ancestorResize:u=!0,elementResize:m=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:p=!1}=o,y=Uu(r),g=c||u?[...y?Ll(y):[],...Ll(a)]:[];g.forEach(b=>{c&&b.addEventListener("scroll",l,{passive:!0}),u&&b.addEventListener("resize",l)});const v=y&&f?tS(y,l):null;let k=-1,P=null;m&&(P=new ResizeObserver(b=>{let[w]=b;w&&w.target===y&&P&&(P.unobserve(a),cancelAnimationFrame(k),k=requestAnimationFrame(()=>{var j;(j=P)==null||j.observe(a)})),l()}),y&&!p&&P.observe(y),P.observe(a));let T,S=p?Wn(r):null;p&&N();function N(){const b=Wn(r);S&&!B0(S,b)&&l(),S=b,T=requestAnimationFrame(N)}return l(),()=>{var b;g.forEach(w=>{c&&w.removeEventListener("scroll",l),u&&w.removeEventListener("resize",l)}),v==null||v(),(b=P)==null||b.disconnect(),P=null,p&&cancelAnimationFrame(T)}}const rS=E4,nS=P4,aS=S4,lS=R4,iS=C4,yx=w4,oS=T4,cS=(r,a,l)=>{const o=new Map,c={platform:eS,...l},u={...c.platform,_c:o};return N4(r,a,{...c,platform:u})};var dS=typeof document<"u",uS=function(){},lo=dS?h.useLayoutEffect:uS;function vo(r,a){if(r===a)return!0;if(typeof r!=typeof a)return!1;if(typeof r=="function"&&r.toString()===a.toString())return!0;let l,o,c;if(r&&a&&typeof r=="object"){if(Array.isArray(r)){if(l=r.length,l!==a.length)return!1;for(o=l;o--!==0;)if(!vo(r[o],a[o]))return!1;return!0}if(c=Object.keys(r),l=c.length,l!==Object.keys(a).length)return!1;for(o=l;o--!==0;)if(!{}.hasOwnProperty.call(a,c[o]))return!1;for(o=l;o--!==0;){const u=c[o];if(!(u==="_owner"&&r.$$typeof)&&!vo(r[u],a[u]))return!1}return!0}return r!==r&&a!==a}function U0(r){return typeof window>"u"?1:(r.ownerDocument.defaultView||window).devicePixelRatio||1}function vx(r,a){const l=U0(r);return Math.round(a*l)/l}function $d(r){const a=h.useRef(r);return lo(()=>{a.current=r}),a}function hS(r){r===void 0&&(r={});const{placement:a="bottom",strategy:l="absolute",middleware:o=[],platform:c,elements:{reference:u,floating:m}={},transform:f=!0,whileElementsMounted:p,open:y}=r,[g,v]=h.useState({x:0,y:0,strategy:l,placement:a,middlewareData:{},isPositioned:!1}),[k,P]=h.useState(o);vo(k,o)||P(o);const[T,S]=h.useState(null),[N,b]=h.useState(null),w=h.useCallback(U=>{U!==V.current&&(V.current=U,S(U))},[]),j=h.useCallback(U=>{U!==I.current&&(I.current=U,b(U))},[]),_=u||T,D=m||N,V=h.useRef(null),I=h.useRef(null),R=h.useRef(g),E=p!=null,Y=$d(p),ne=$d(c),ae=$d(y),q=h.useCallback(()=>{if(!V.current||!I.current)return;const U={placement:a,strategy:l,middleware:k};ne.current&&(U.platform=ne.current),cS(V.current,I.current,U).then(ce=>{const K={...ce,isPositioned:ae.current!==!1};se.current&&!vo(R.current,K)&&(R.current=K,Ol.flushSync(()=>{v(K)}))})},[k,a,l,ne,ae]);lo(()=>{y===!1&&R.current.isPositioned&&(R.current.isPositioned=!1,v(U=>({...U,isPositioned:!1})))},[y]);const se=h.useRef(!1);lo(()=>(se.current=!0,()=>{se.current=!1}),[]),lo(()=>{if(_&&(V.current=_),D&&(I.current=D),_&&D){if(Y.current)return Y.current(_,D,q);q()}},[_,D,q,Y,E]);const H=h.useMemo(()=>({reference:V,floating:I,setReference:w,setFloating:j}),[w,j]),ie=h.useMemo(()=>({reference:_,floating:D}),[_,D]),ve=h.useMemo(()=>{const U={position:l,left:0,top:0};if(!ie.floating)return U;const ce=vx(ie.floating,g.x),K=vx(ie.floating,g.y);return f?{...U,transform:"translate("+ce+"px, "+K+"px)",...U0(ie.floating)>=1.5&&{willChange:"transform"}}:{position:l,left:ce,top:K}},[l,f,ie.floating,g.x,g.y]);return h.useMemo(()=>({...g,update:q,refs:H,elements:ie,floatingStyles:ve}),[g,q,H,ie,ve])}const mS=r=>{function a(l){return{}.hasOwnProperty.call(l,"current")}return{name:"arrow",options:r,fn(l){const{element:o,padding:c}=typeof r=="function"?r(l):r;return o&&a(o)?o.current!=null?yx({element:o.current,padding:c}).fn(l):{}:o?yx({element:o,padding:c}).fn(l):{}}}},fS=(r,a)=>({...rS(r),options:[r,a]}),xS=(r,a)=>({...nS(r),options:[r,a]}),pS=(r,a)=>({...oS(r),options:[r,a]}),gS=(r,a)=>({...aS(r),options:[r,a]}),yS=(r,a)=>({...lS(r),options:[r,a]}),vS=(r,a)=>({...iS(r),options:[r,a]}),jS=(r,a)=>({...mS(r),options:[r,a]});var bS="Arrow",V0=h.forwardRef((r,a)=>{const{children:l,width:o=10,height:c=5,...u}=r;return e.jsx(Xe.svg,{...u,ref:a,width:o,height:c,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:r.asChild?l:e.jsx("polygon",{points:"0,0 30,0 15,10"})})});V0.displayName=bS;var NS=V0,Vu="Popper",[W0,H0]=yn(Vu),[wS,K0]=W0(Vu),G0=r=>{const{__scopePopper:a,children:l}=r,[o,c]=h.useState(null);return e.jsx(wS,{scope:a,anchor:o,onAnchorChange:c,children:l})};G0.displayName=Vu;var Y0="PopperAnchor",Q0=h.forwardRef((r,a)=>{const{__scopePopper:l,virtualRef:o,...c}=r,u=K0(Y0,l),m=h.useRef(null),f=at(a,m),p=h.useRef(null);return h.useEffect(()=>{const y=p.current;p.current=(o==null?void 0:o.current)||m.current,y!==p.current&&u.onAnchorChange(p.current)}),o?null:e.jsx(Xe.div,{...c,ref:f})});Q0.displayName=Y0;var Wu="PopperContent",[SS,CS]=W0(Wu),q0=h.forwardRef((r,a)=>{var Q,ge,Se,L,fe,ke;const{__scopePopper:l,side:o="bottom",sideOffset:c=0,align:u="center",alignOffset:m=0,arrowPadding:f=0,avoidCollisions:p=!0,collisionBoundary:y=[],collisionPadding:g=0,sticky:v="partial",hideWhenDetached:k=!1,updatePositionStrategy:P="optimized",onPlaced:T,...S}=r,N=K0(Wu,l),[b,w]=h.useState(null),j=at(a,Ve=>w(Ve)),[_,D]=h.useState(null),V=Du(_),I=(V==null?void 0:V.width)??0,R=(V==null?void 0:V.height)??0,E=o+(u!=="center"?"-"+u:""),Y=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},ne=Array.isArray(y)?y:[y],ae=ne.length>0,q={padding:Y,boundary:ne.filter(ES),altBoundary:ae},{refs:se,floatingStyles:H,placement:ie,isPositioned:ve,middlewareData:U}=hS({strategy:"fixed",placement:E,whileElementsMounted:(...Ve)=>sS(...Ve,{animationFrame:P==="always"}),elements:{reference:N.anchor},middleware:[fS({mainAxis:c+R,alignmentAxis:m}),p&&xS({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?pS():void 0,...q}),p&&gS({...q}),yS({...q,apply:({elements:Ve,rects:We,availableWidth:Ye,availableHeight:tt})=>{const{width:ze,height:he}=We.reference,xe=Ve.floating.style;xe.setProperty("--radix-popper-available-width",`${Ye}px`),xe.setProperty("--radix-popper-available-height",`${tt}px`),xe.setProperty("--radix-popper-anchor-width",`${ze}px`),xe.setProperty("--radix-popper-anchor-height",`${he}px`)}}),_&&jS({element:_,padding:f}),PS({arrowWidth:I,arrowHeight:R}),k&&vS({strategy:"referenceHidden",...q})]}),[ce,K]=Z0(ie),A=hn(T);Zt(()=>{ve&&(A==null||A())},[ve,A]);const F=(Q=U.arrow)==null?void 0:Q.x,O=(ge=U.arrow)==null?void 0:ge.y,Z=((Se=U.arrow)==null?void 0:Se.centerOffset)!==0,[G,de]=h.useState();return Zt(()=>{b&&de(window.getComputedStyle(b).zIndex)},[b]),e.jsx("div",{ref:se.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:ve?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:G,"--radix-popper-transform-origin":[(L=U.transformOrigin)==null?void 0:L.x,(fe=U.transformOrigin)==null?void 0:fe.y].join(" "),...((ke=U.hide)==null?void 0:ke.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:r.dir,children:e.jsx(SS,{scope:l,placedSide:ce,onArrowChange:D,arrowX:F,arrowY:O,shouldHideArrow:Z,children:e.jsx(Xe.div,{"data-side":ce,"data-align":K,...S,ref:j,style:{...S.style,animation:ve?void 0:"none"}})})})});q0.displayName=Wu;var X0="PopperArrow",kS={top:"bottom",right:"left",bottom:"top",left:"right"},J0=h.forwardRef(function(a,l){const{__scopePopper:o,...c}=a,u=CS(X0,o),m=kS[u.placedSide];return e.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[m]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:e.jsx(NS,{...c,ref:l,style:{...c.style,display:"block"}})})});J0.displayName=X0;function ES(r){return r!==null}var PS=r=>({name:"transformOrigin",options:r,fn(a){var N,b,w;const{placement:l,rects:o,middlewareData:c}=a,m=((N=c.arrow)==null?void 0:N.centerOffset)!==0,f=m?0:r.arrowWidth,p=m?0:r.arrowHeight,[y,g]=Z0(l),v={start:"0%",center:"50%",end:"100%"}[g],k=(((b=c.arrow)==null?void 0:b.x)??0)+f/2,P=(((w=c.arrow)==null?void 0:w.y)??0)+p/2;let T="",S="";return y==="bottom"?(T=m?v:`${k}px`,S=`${-p}px`):y==="top"?(T=m?v:`${k}px`,S=`${o.floating.height+p}px`):y==="right"?(T=`${-p}px`,S=m?v:`${P}px`):y==="left"&&(T=`${o.floating.width+p}px`,S=m?v:`${P}px`),{data:{x:T,y:S}}}});function Z0(r){const[a,l="center"]=r.split("-");return[a,l]}var TS=G0,RS=Q0,IS=q0,_S=J0,eg=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),MS="VisuallyHidden",AS=h.forwardRef((r,a)=>e.jsx(Xe.span,{...r,ref:a,style:{...eg,...r.style}}));AS.displayName=MS;var DS=[" ","Enter","ArrowUp","ArrowDown"],LS=[" ","Enter"],Hn="Select",[Do,Lo,OS]=_u(Hn),[Wa]=yn(Hn,[OS,H0]),Oo=H0(),[FS,vn]=Wa(Hn),[zS,$S]=Wa(Hn),tg=r=>{const{__scopeSelect:a,children:l,open:o,defaultOpen:c,onOpenChange:u,value:m,defaultValue:f,onValueChange:p,dir:y,name:g,autoComplete:v,disabled:k,required:P,form:T}=r,S=Oo(a),[N,b]=h.useState(null),[w,j]=h.useState(null),[_,D]=h.useState(!1),V=Eo(y),[I,R]=Un({prop:o,defaultProp:c??!1,onChange:u,caller:Hn}),[E,Y]=Un({prop:m,defaultProp:f,onChange:p,caller:Hn}),ne=h.useRef(null),ae=N?T||!!N.closest("form"):!0,[q,se]=h.useState(new Set),H=Array.from(q).map(ie=>ie.props.value).join(";");return e.jsx(TS,{...S,children:e.jsxs(FS,{required:P,scope:a,trigger:N,onTriggerChange:b,valueNode:w,onValueNodeChange:j,valueNodeHasChildren:_,onValueNodeHasChildrenChange:D,contentId:dn(),value:E,onValueChange:Y,open:I,onOpenChange:R,dir:V,triggerPointerDownPosRef:ne,disabled:k,children:[e.jsx(Do.Provider,{scope:a,children:e.jsx(zS,{scope:r.__scopeSelect,onNativeOptionAdd:h.useCallback(ie=>{se(ve=>new Set(ve).add(ie))},[]),onNativeOptionRemove:h.useCallback(ie=>{se(ve=>{const U=new Set(ve);return U.delete(ie),U})},[]),children:l})}),ae?e.jsxs(wg,{"aria-hidden":!0,required:P,tabIndex:-1,name:g,autoComplete:v,value:E,onChange:ie=>Y(ie.target.value),disabled:k,form:T,children:[E===void 0?e.jsx("option",{value:""}):null,Array.from(q)]},H):null]})})};tg.displayName=Hn;var sg="SelectTrigger",rg=h.forwardRef((r,a)=>{const{__scopeSelect:l,disabled:o=!1,...c}=r,u=Oo(l),m=vn(sg,l),f=m.disabled||o,p=at(a,m.onTriggerChange),y=Lo(l),g=h.useRef("touch"),[v,k,P]=Cg(S=>{const N=y().filter(j=>!j.disabled),b=N.find(j=>j.value===m.value),w=kg(N,S,b);w!==void 0&&m.onValueChange(w.value)}),T=S=>{f||(m.onOpenChange(!0),P()),S&&(m.triggerPointerDownPosRef.current={x:Math.round(S.pageX),y:Math.round(S.pageY)})};return e.jsx(RS,{asChild:!0,...u,children:e.jsx(Xe.button,{type:"button",role:"combobox","aria-controls":m.contentId,"aria-expanded":m.open,"aria-required":m.required,"aria-autocomplete":"none",dir:m.dir,"data-state":m.open?"open":"closed",disabled:f,"data-disabled":f?"":void 0,"data-placeholder":Sg(m.value)?"":void 0,...c,ref:p,onClick:Qe(c.onClick,S=>{S.currentTarget.focus(),g.current!=="mouse"&&T(S)}),onPointerDown:Qe(c.onPointerDown,S=>{g.current=S.pointerType;const N=S.target;N.hasPointerCapture(S.pointerId)&&N.releasePointerCapture(S.pointerId),S.button===0&&S.ctrlKey===!1&&S.pointerType==="mouse"&&(T(S),S.preventDefault())}),onKeyDown:Qe(c.onKeyDown,S=>{const N=v.current!=="";!(S.ctrlKey||S.altKey||S.metaKey)&&S.key.length===1&&k(S.key),!(N&&S.key===" ")&&DS.includes(S.key)&&(T(),S.preventDefault())})})})});rg.displayName=sg;var ng="SelectValue",ag=h.forwardRef((r,a)=>{const{__scopeSelect:l,className:o,style:c,children:u,placeholder:m="",...f}=r,p=vn(ng,l),{onValueNodeHasChildrenChange:y}=p,g=u!==void 0,v=at(a,p.onValueNodeChange);return Zt(()=>{y(g)},[y,g]),e.jsx(Xe.span,{...f,ref:v,style:{pointerEvents:"none"},children:Sg(p.value)?e.jsx(e.Fragment,{children:m}):u})});ag.displayName=ng;var BS="SelectIcon",lg=h.forwardRef((r,a)=>{const{__scopeSelect:l,children:o,...c}=r;return e.jsx(Xe.span,{"aria-hidden":!0,...c,ref:a,children:o||"▼"})});lg.displayName=BS;var US="SelectPortal",ig=r=>e.jsx(ku,{asChild:!0,...r});ig.displayName=US;var Kn="SelectContent",og=h.forwardRef((r,a)=>{const l=vn(Kn,r.__scopeSelect),[o,c]=h.useState();if(Zt(()=>{c(new DocumentFragment)},[]),!l.open){const u=o;return u?Ol.createPortal(e.jsx(cg,{scope:r.__scopeSelect,children:e.jsx(Do.Slot,{scope:r.__scopeSelect,children:e.jsx("div",{children:r.children})})}),u):null}return e.jsx(dg,{...r,ref:a})});og.displayName=Kn;var Ys=10,[cg,jn]=Wa(Kn),VS="SelectContentImpl",WS=Dl("SelectContent.RemoveScroll"),dg=h.forwardRef((r,a)=>{const{__scopeSelect:l,position:o="item-aligned",onCloseAutoFocus:c,onEscapeKeyDown:u,onPointerDownOutside:m,side:f,sideOffset:p,align:y,alignOffset:g,arrowPadding:v,collisionBoundary:k,collisionPadding:P,sticky:T,hideWhenDetached:S,avoidCollisions:N,...b}=r,w=vn(Kn,l),[j,_]=h.useState(null),[D,V]=h.useState(null),I=at(a,Q=>_(Q)),[R,E]=h.useState(null),[Y,ne]=h.useState(null),ae=Lo(l),[q,se]=h.useState(!1),H=h.useRef(!1);h.useEffect(()=>{if(j)return kp(j)},[j]),gp();const ie=h.useCallback(Q=>{const[ge,...Se]=ae().map(ke=>ke.ref.current),[L]=Se.slice(-1),fe=document.activeElement;for(const ke of Q)if(ke===fe||(ke==null||ke.scrollIntoView({block:"nearest"}),ke===ge&&D&&(D.scrollTop=0),ke===L&&D&&(D.scrollTop=D.scrollHeight),ke==null||ke.focus(),document.activeElement!==fe))return},[ae,D]),ve=h.useCallback(()=>ie([R,j]),[ie,R,j]);h.useEffect(()=>{q&&ve()},[q,ve]);const{onOpenChange:U,triggerPointerDownPosRef:ce}=w;h.useEffect(()=>{if(j){let Q={x:0,y:0};const ge=L=>{var fe,ke;Q={x:Math.abs(Math.round(L.pageX)-(((fe=ce.current)==null?void 0:fe.x)??0)),y:Math.abs(Math.round(L.pageY)-(((ke=ce.current)==null?void 0:ke.y)??0))}},Se=L=>{Q.x<=10&&Q.y<=10?L.preventDefault():j.contains(L.target)||U(!1),document.removeEventListener("pointermove",ge),ce.current=null};return ce.current!==null&&(document.addEventListener("pointermove",ge),document.addEventListener("pointerup",Se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ge),document.removeEventListener("pointerup",Se,{capture:!0})}}},[j,U,ce]),h.useEffect(()=>{const Q=()=>U(!1);return window.addEventListener("blur",Q),window.addEventListener("resize",Q),()=>{window.removeEventListener("blur",Q),window.removeEventListener("resize",Q)}},[U]);const[K,A]=Cg(Q=>{const ge=ae().filter(fe=>!fe.disabled),Se=ge.find(fe=>fe.ref.current===document.activeElement),L=kg(ge,Q,Se);L&&setTimeout(()=>L.ref.current.focus())}),F=h.useCallback((Q,ge,Se)=>{const L=!H.current&&!Se;(w.value!==void 0&&w.value===ge||L)&&(E(Q),L&&(H.current=!0))},[w.value]),O=h.useCallback(()=>j==null?void 0:j.focus(),[j]),Z=h.useCallback((Q,ge,Se)=>{const L=!H.current&&!Se;(w.value!==void 0&&w.value===ge||L)&&ne(Q)},[w.value]),G=o==="popper"?ou:ug,de=G===ou?{side:f,sideOffset:p,align:y,alignOffset:g,arrowPadding:v,collisionBoundary:k,collisionPadding:P,sticky:T,hideWhenDetached:S,avoidCollisions:N}:{};return e.jsx(cg,{scope:l,content:j,viewport:D,onViewportChange:V,itemRefCallback:F,selectedItem:R,onItemLeave:O,itemTextRefCallback:Z,focusSelectedItem:ve,selectedItemText:Y,position:o,isPositioned:q,searchRef:K,children:e.jsx(Eu,{as:WS,allowPinchZoom:!0,children:e.jsx(Cu,{asChild:!0,trapped:w.open,onMountAutoFocus:Q=>{Q.preventDefault()},onUnmountAutoFocus:Qe(c,Q=>{var ge;(ge=w.trigger)==null||ge.focus({preventScroll:!0}),Q.preventDefault()}),children:e.jsx(Su,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:m,onFocusOutside:Q=>Q.preventDefault(),onDismiss:()=>w.onOpenChange(!1),children:e.jsx(G,{role:"listbox",id:w.contentId,"data-state":w.open?"open":"closed",dir:w.dir,onContextMenu:Q=>Q.preventDefault(),...b,...de,onPlaced:()=>se(!0),ref:I,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:Qe(b.onKeyDown,Q=>{const ge=Q.ctrlKey||Q.altKey||Q.metaKey;if(Q.key==="Tab"&&Q.preventDefault(),!ge&&Q.key.length===1&&A(Q.key),["ArrowUp","ArrowDown","Home","End"].includes(Q.key)){let L=ae().filter(fe=>!fe.disabled).map(fe=>fe.ref.current);if(["ArrowUp","End"].includes(Q.key)&&(L=L.slice().reverse()),["ArrowUp","ArrowDown"].includes(Q.key)){const fe=Q.target,ke=L.indexOf(fe);L=L.slice(ke+1)}setTimeout(()=>ie(L)),Q.preventDefault()}})})})})})})});dg.displayName=VS;var HS="SelectItemAlignedPosition",ug=h.forwardRef((r,a)=>{const{__scopeSelect:l,onPlaced:o,...c}=r,u=vn(Kn,l),m=jn(Kn,l),[f,p]=h.useState(null),[y,g]=h.useState(null),v=at(a,I=>g(I)),k=Lo(l),P=h.useRef(!1),T=h.useRef(!0),{viewport:S,selectedItem:N,selectedItemText:b,focusSelectedItem:w}=m,j=h.useCallback(()=>{if(u.trigger&&u.valueNode&&f&&y&&S&&N&&b){const I=u.trigger.getBoundingClientRect(),R=y.getBoundingClientRect(),E=u.valueNode.getBoundingClientRect(),Y=b.getBoundingClientRect();if(u.dir!=="rtl"){const fe=Y.left-R.left,ke=E.left-fe,Ve=I.left-ke,We=I.width+Ve,Ye=Math.max(We,R.width),tt=window.innerWidth-Ys,ze=xo(ke,[Ys,Math.max(Ys,tt-Ye)]);f.style.minWidth=We+"px",f.style.left=ze+"px"}else{const fe=R.right-Y.right,ke=window.innerWidth-E.right-fe,Ve=window.innerWidth-I.right-ke,We=I.width+Ve,Ye=Math.max(We,R.width),tt=window.innerWidth-Ys,ze=xo(ke,[Ys,Math.max(Ys,tt-Ye)]);f.style.minWidth=We+"px",f.style.right=ze+"px"}const ne=k(),ae=window.innerHeight-Ys*2,q=S.scrollHeight,se=window.getComputedStyle(y),H=parseInt(se.borderTopWidth,10),ie=parseInt(se.paddingTop,10),ve=parseInt(se.borderBottomWidth,10),U=parseInt(se.paddingBottom,10),ce=H+ie+q+U+ve,K=Math.min(N.offsetHeight*5,ce),A=window.getComputedStyle(S),F=parseInt(A.paddingTop,10),O=parseInt(A.paddingBottom,10),Z=I.top+I.height/2-Ys,G=ae-Z,de=N.offsetHeight/2,Q=N.offsetTop+de,ge=H+ie+Q,Se=ce-ge;if(ge<=Z){const fe=ne.length>0&&N===ne[ne.length-1].ref.current;f.style.bottom="0px";const ke=y.clientHeight-S.offsetTop-S.offsetHeight,Ve=Math.max(G,de+(fe?O:0)+ke+ve),We=ge+Ve;f.style.height=We+"px"}else{const fe=ne.length>0&&N===ne[0].ref.current;f.style.top="0px";const Ve=Math.max(Z,H+S.offsetTop+(fe?F:0)+de)+Se;f.style.height=Ve+"px",S.scrollTop=ge-Z+S.offsetTop}f.style.margin=`${Ys}px 0`,f.style.minHeight=K+"px",f.style.maxHeight=ae+"px",o==null||o(),requestAnimationFrame(()=>P.current=!0)}},[k,u.trigger,u.valueNode,f,y,S,N,b,u.dir,o]);Zt(()=>j(),[j]);const[_,D]=h.useState();Zt(()=>{y&&D(window.getComputedStyle(y).zIndex)},[y]);const V=h.useCallback(I=>{I&&T.current===!0&&(j(),w==null||w(),T.current=!1)},[j,w]);return e.jsx(GS,{scope:l,contentWrapper:f,shouldExpandOnScrollRef:P,onScrollButtonChange:V,children:e.jsx("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:_},children:e.jsx(Xe.div,{...c,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...c.style}})})})});ug.displayName=HS;var KS="SelectPopperPosition",ou=h.forwardRef((r,a)=>{const{__scopeSelect:l,align:o="start",collisionPadding:c=Ys,...u}=r,m=Oo(l);return e.jsx(IS,{...m,...u,ref:a,align:o,collisionPadding:c,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ou.displayName=KS;var[GS,Hu]=Wa(Kn,{}),cu="SelectViewport",hg=h.forwardRef((r,a)=>{const{__scopeSelect:l,nonce:o,...c}=r,u=jn(cu,l),m=Hu(cu,l),f=at(a,u.onViewportChange),p=h.useRef(0);return e.jsxs(e.Fragment,{children:[e.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),e.jsx(Do.Slot,{scope:l,children:e.jsx(Xe.div,{"data-radix-select-viewport":"",role:"presentation",...c,ref:f,style:{position:"relative",flex:1,overflow:"hidden auto",...c.style},onScroll:Qe(c.onScroll,y=>{const g=y.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:k}=m;if(k!=null&&k.current&&v){const P=Math.abs(p.current-g.scrollTop);if(P>0){const T=window.innerHeight-Ys*2,S=parseFloat(v.style.minHeight),N=parseFloat(v.style.height),b=Math.max(S,N);if(b0?_:0,v.style.justifyContent="flex-end")}}}p.current=g.scrollTop})})})]})});hg.displayName=cu;var mg="SelectGroup",[YS,QS]=Wa(mg),qS=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r,c=dn();return e.jsx(YS,{scope:l,id:c,children:e.jsx(Xe.div,{role:"group","aria-labelledby":c,...o,ref:a})})});qS.displayName=mg;var fg="SelectLabel",XS=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r,c=QS(fg,l);return e.jsx(Xe.div,{id:c.id,...o,ref:a})});XS.displayName=fg;var jo="SelectItem",[JS,xg]=Wa(jo),pg=h.forwardRef((r,a)=>{const{__scopeSelect:l,value:o,disabled:c=!1,textValue:u,...m}=r,f=vn(jo,l),p=jn(jo,l),y=f.value===o,[g,v]=h.useState(u??""),[k,P]=h.useState(!1),T=at(a,w=>{var j;return(j=p.itemRefCallback)==null?void 0:j.call(p,w,o,c)}),S=dn(),N=h.useRef("touch"),b=()=>{c||(f.onValueChange(o),f.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return e.jsx(JS,{scope:l,value:o,disabled:c,textId:S,isSelected:y,onItemTextChange:h.useCallback(w=>{v(j=>j||((w==null?void 0:w.textContent)??"").trim())},[]),children:e.jsx(Do.ItemSlot,{scope:l,value:o,disabled:c,textValue:g,children:e.jsx(Xe.div,{role:"option","aria-labelledby":S,"data-highlighted":k?"":void 0,"aria-selected":y&&k,"data-state":y?"checked":"unchecked","aria-disabled":c||void 0,"data-disabled":c?"":void 0,tabIndex:c?void 0:-1,...m,ref:T,onFocus:Qe(m.onFocus,()=>P(!0)),onBlur:Qe(m.onBlur,()=>P(!1)),onClick:Qe(m.onClick,()=>{N.current!=="mouse"&&b()}),onPointerUp:Qe(m.onPointerUp,()=>{N.current==="mouse"&&b()}),onPointerDown:Qe(m.onPointerDown,w=>{N.current=w.pointerType}),onPointerMove:Qe(m.onPointerMove,w=>{var j;N.current=w.pointerType,c?(j=p.onItemLeave)==null||j.call(p):N.current==="mouse"&&w.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Qe(m.onPointerLeave,w=>{var j;w.currentTarget===document.activeElement&&((j=p.onItemLeave)==null||j.call(p))}),onKeyDown:Qe(m.onKeyDown,w=>{var _;((_=p.searchRef)==null?void 0:_.current)!==""&&w.key===" "||(LS.includes(w.key)&&b(),w.key===" "&&w.preventDefault())})})})})});pg.displayName=jo;var Pl="SelectItemText",gg=h.forwardRef((r,a)=>{const{__scopeSelect:l,className:o,style:c,...u}=r,m=vn(Pl,l),f=jn(Pl,l),p=xg(Pl,l),y=$S(Pl,l),[g,v]=h.useState(null),k=at(a,b=>v(b),p.onItemTextChange,b=>{var w;return(w=f.itemTextRefCallback)==null?void 0:w.call(f,b,p.value,p.disabled)}),P=g==null?void 0:g.textContent,T=h.useMemo(()=>e.jsx("option",{value:p.value,disabled:p.disabled,children:P},p.value),[p.disabled,p.value,P]),{onNativeOptionAdd:S,onNativeOptionRemove:N}=y;return Zt(()=>(S(T),()=>N(T)),[S,N,T]),e.jsxs(e.Fragment,{children:[e.jsx(Xe.span,{id:p.textId,...u,ref:k}),p.isSelected&&m.valueNode&&!m.valueNodeHasChildren?Ol.createPortal(u.children,m.valueNode):null]})});gg.displayName=Pl;var yg="SelectItemIndicator",vg=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r;return xg(yg,l).isSelected?e.jsx(Xe.span,{"aria-hidden":!0,...o,ref:a}):null});vg.displayName=yg;var du="SelectScrollUpButton",jg=h.forwardRef((r,a)=>{const l=jn(du,r.__scopeSelect),o=Hu(du,r.__scopeSelect),[c,u]=h.useState(!1),m=at(a,o.onScrollButtonChange);return Zt(()=>{if(l.viewport&&l.isPositioned){let f=function(){const y=p.scrollTop>0;u(y)};const p=l.viewport;return f(),p.addEventListener("scroll",f),()=>p.removeEventListener("scroll",f)}},[l.viewport,l.isPositioned]),c?e.jsx(Ng,{...r,ref:m,onAutoScroll:()=>{const{viewport:f,selectedItem:p}=l;f&&p&&(f.scrollTop=f.scrollTop-p.offsetHeight)}}):null});jg.displayName=du;var uu="SelectScrollDownButton",bg=h.forwardRef((r,a)=>{const l=jn(uu,r.__scopeSelect),o=Hu(uu,r.__scopeSelect),[c,u]=h.useState(!1),m=at(a,o.onScrollButtonChange);return Zt(()=>{if(l.viewport&&l.isPositioned){let f=function(){const y=p.scrollHeight-p.clientHeight,g=Math.ceil(p.scrollTop)p.removeEventListener("scroll",f)}},[l.viewport,l.isPositioned]),c?e.jsx(Ng,{...r,ref:m,onAutoScroll:()=>{const{viewport:f,selectedItem:p}=l;f&&p&&(f.scrollTop=f.scrollTop+p.offsetHeight)}}):null});bg.displayName=uu;var Ng=h.forwardRef((r,a)=>{const{__scopeSelect:l,onAutoScroll:o,...c}=r,u=jn("SelectScrollButton",l),m=h.useRef(null),f=Lo(l),p=h.useCallback(()=>{m.current!==null&&(window.clearInterval(m.current),m.current=null)},[]);return h.useEffect(()=>()=>p(),[p]),Zt(()=>{var g;const y=f().find(v=>v.ref.current===document.activeElement);(g=y==null?void 0:y.ref.current)==null||g.scrollIntoView({block:"nearest"})},[f]),e.jsx(Xe.div,{"aria-hidden":!0,...c,ref:a,style:{flexShrink:0,...c.style},onPointerDown:Qe(c.onPointerDown,()=>{m.current===null&&(m.current=window.setInterval(o,50))}),onPointerMove:Qe(c.onPointerMove,()=>{var y;(y=u.onItemLeave)==null||y.call(u),m.current===null&&(m.current=window.setInterval(o,50))}),onPointerLeave:Qe(c.onPointerLeave,()=>{p()})})}),ZS="SelectSeparator",eC=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r;return e.jsx(Xe.div,{"aria-hidden":!0,...o,ref:a})});eC.displayName=ZS;var hu="SelectArrow",tC=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r,c=Oo(l),u=vn(hu,l),m=jn(hu,l);return u.open&&m.position==="popper"?e.jsx(_S,{...c,...o,ref:a}):null});tC.displayName=hu;var sC="SelectBubbleInput",wg=h.forwardRef(({__scopeSelect:r,value:a,...l},o)=>{const c=h.useRef(null),u=at(o,c),m=Au(a);return h.useEffect(()=>{const f=c.current;if(!f)return;const p=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(p,"value").set;if(m!==a&&g){const v=new Event("change",{bubbles:!0});g.call(f,a),f.dispatchEvent(v)}},[m,a]),e.jsx(Xe.select,{...l,style:{...eg,...l.style},ref:u,defaultValue:a})});wg.displayName=sC;function Sg(r){return r===""||r===void 0}function Cg(r){const a=hn(r),l=h.useRef(""),o=h.useRef(0),c=h.useCallback(m=>{const f=l.current+m;a(f),(function p(y){l.current=y,window.clearTimeout(o.current),y!==""&&(o.current=window.setTimeout(()=>p(""),1e3))})(f)},[a]),u=h.useCallback(()=>{l.current="",window.clearTimeout(o.current)},[]);return h.useEffect(()=>()=>window.clearTimeout(o.current),[]),[l,c,u]}function kg(r,a,l){const c=a.length>1&&Array.from(a).every(y=>y===a[0])?a[0]:a,u=l?r.indexOf(l):-1;let m=rC(r,Math.max(u,0));c.length===1&&(m=m.filter(y=>y!==l));const p=m.find(y=>y.textValue.toLowerCase().startsWith(c.toLowerCase()));return p!==l?p:void 0}function rC(r,a){return r.map((l,o)=>r[(a+o)%r.length])}var nC=tg,Eg=rg,aC=ag,lC=lg,iC=ig,Pg=og,oC=hg,Tg=pg,cC=gg,dC=vg,uC=jg,hC=bg;const kl=nC,El=aC,ka=h.forwardRef(({className:r,children:a,...l},o)=>e.jsxs(Eg,{ref:o,className:lt("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",r),...l,children:[a,e.jsx(lC,{asChild:!0,children:e.jsx(_l,{className:"h-4 w-4 opacity-50"})})]}));ka.displayName=Eg.displayName;const Ea=h.forwardRef(({className:r,children:a,position:l="popper",...o},c)=>e.jsx(iC,{children:e.jsxs(Pg,{ref:c,className:lt("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md",l==="popper"&&"data-[side=bottom]:translate-y-1",r),position:l,...o,children:[e.jsx(uC,{className:"flex cursor-default items-center justify-center py-1",children:e.jsx(Ux,{className:"h-4 w-4"})}),e.jsx(oC,{className:"p-1",children:a}),e.jsx(hC,{className:"flex cursor-default items-center justify-center py-1",children:e.jsx(_l,{className:"h-4 w-4"})})]})}));Ea.displayName=Pg.displayName;const lr=h.forwardRef(({className:r,children:a,...l},o)=>e.jsxs(Tg,{ref:o,className:lt("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...l,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(dC,{children:e.jsx(wo,{className:"h-4 w-4"})})}),e.jsx(cC,{children:a})]}));lr.displayName=Tg.displayName;const mC=["一","二","三","四","五","六","七","八","九","十"];function Bd(r){return r.startsWith("part:")?{type:"part",id:r.slice(5)}:r.startsWith("chapter:")?{type:"chapter",id:r.slice(8)}:r.startsWith("section:")?{type:"section",id:r.slice(8)}:null}function fC({parts:r,expandedParts:a,onTogglePart:l,onReorder:o,onReadSection:c,onDeleteSection:u,onAddSectionInPart:m,onAddChapterInPart:f,onDeleteChapter:p,onEditPart:y,onDeletePart:g,onEditChapter:v,selectedSectionIds:k=[],onToggleSectionSelect:P,onShowSectionOrders:T}){const[S,N]=h.useState(null),[b,w]=h.useState(null),j=(E,Y)=>(S==null?void 0:S.type)===E&&(S==null?void 0:S.id)===Y,_=(E,Y)=>(b==null?void 0:b.type)===E&&(b==null?void 0:b.id)===Y,D=h.useCallback(()=>{const E=[];for(const Y of r)for(const ne of Y.chapters)for(const ae of ne.sections)E.push({id:ae.id,partId:Y.id,partTitle:Y.title,chapterId:ne.id,chapterTitle:ne.title});return E},[r]),V=h.useCallback(async(E,Y,ne,ae)=>{var ve;E.preventDefault(),E.stopPropagation();const q=E.dataTransfer.getData("text/plain"),se=Bd(q);if(!se||se.type===Y&&se.id===ne)return;const H=D(),ie=new Map(H.map(U=>[U.id,U]));if(se.type==="part"&&Y==="part"){const U=r.map(O=>O.id),ce=U.indexOf(se.id),K=U.indexOf(ne);if(ce===-1||K===-1)return;const A=[...U];A.splice(ce,1),A.splice(ceG.id===O);if(Z)for(const G of Z.chapters)for(const de of G.sections){const Q=ie.get(de.id);Q&&F.push(Q)}}await o(F);return}if(se.type==="chapter"&&(Y==="chapter"||Y==="section"||Y==="part")){const U=r.find(Q=>Q.chapters.some(ge=>ge.id===se.id)),ce=U==null?void 0:U.chapters.find(Q=>Q.id===se.id);if(!U||!ce)return;let K,A,F=null;if(Y==="section"){const Q=ie.get(ne);if(!Q)return;K=Q.partId,A=Q.partTitle,F=ne}else if(Y==="chapter"){const Q=r.find(L=>L.chapters.some(fe=>fe.id===ne)),ge=Q==null?void 0:Q.chapters.find(L=>L.id===ne);if(!Q||!ge)return;K=Q.id,A=Q.title;const Se=H.filter(L=>L.chapterId===ne).pop();F=(Se==null?void 0:Se.id)??null}else{const Q=r.find(Se=>Se.id===ne);if(!Q||!Q.chapters[0])return;K=Q.id,A=Q.title;const ge=H.filter(Se=>Se.partId===Q.id&&Se.chapterId===Q.chapters[0].id);F=((ve=ge[ge.length-1])==null?void 0:ve.id)??null}const O=ce.sections.map(Q=>Q.id),Z=H.filter(Q=>!O.includes(Q.id));let G=Z.length;if(F){const Q=Z.findIndex(ge=>ge.id===F);Q>=0&&(G=Q+1)}const de=O.map(Q=>({...ie.get(Q),partId:K,partTitle:A,chapterId:ce.id,chapterTitle:ce.title}));await o([...Z.slice(0,G),...de,...Z.slice(G)]);return}if(se.type==="section"&&(Y==="section"||Y==="chapter"||Y==="part")){if(!ae)return;const{partId:U,partTitle:ce,chapterId:K,chapterTitle:A}=ae;let F;if(Y==="section")F=H.findIndex(ge=>ge.id===ne);else if(Y==="chapter"){const ge=H.filter(Se=>Se.chapterId===ne).pop();F=ge?H.findIndex(Se=>Se.id===ge.id)+1:H.length}else{const ge=r.find(fe=>fe.id===ne);if(!(ge!=null&&ge.chapters[0]))return;const Se=H.filter(fe=>fe.partId===ge.id&&fe.chapterId===ge.chapters[0].id),L=Se[Se.length-1];F=L?H.findIndex(fe=>fe.id===L.id)+1:0}const O=H.findIndex(ge=>ge.id===se.id);if(O===-1)return;const Z=H.filter(ge=>ge.id!==se.id),G=O({onDragEnter:ae=>{ae.preventDefault(),ae.stopPropagation(),ae.dataTransfer.dropEffect="move",w({type:E,id:Y})},onDragOver:ae=>{ae.preventDefault(),ae.stopPropagation(),ae.dataTransfer.dropEffect="move",w({type:E,id:Y})},onDragLeave:()=>w(null),onDrop:ae=>{w(null);const q=Bd(ae.dataTransfer.getData("text/plain"));if(q&&!(E==="section"&&q.type==="section"&&q.id===Y))if(E==="part")if(q.type==="part")V(ae,"part",Y);else{const se=r.find(ie=>ie.id===Y);(se==null?void 0:se.chapters[0])&&ne&&V(ae,"part",Y,ne)}else E==="chapter"&&ne?(q.type==="section"||q.type==="chapter")&&V(ae,"chapter",Y,ne):E==="section"&&ne&&V(ae,"section",Y,ne)}}),R=E=>mC[E]??String(E+1);return e.jsx("div",{className:"space-y-3",children:r.map((E,Y)=>{var ce,K,A,F;const ne=E.title==="序言"||E.title.includes("序言"),ae=E.title==="尾声"||E.title.includes("尾声"),q=E.title==="附录"||E.title.includes("附录"),se=_("part",E.id),H=a.includes(E.id),ie=E.chapters.length,ve=E.chapters.reduce((O,Z)=>O+Z.sections.length,0);if(ne&&E.chapters.length===1&&E.chapters[0].sections.length===1){const O=E.chapters[0].sections[0],Z=_("section",O.id),G={partId:E.id,partTitle:E.title,chapterId:E.chapters[0].id,chapterTitle:E.chapters[0].title};return e.jsxs("div",{draggable:!0,onDragStart:de=>{de.stopPropagation(),de.dataTransfer.setData("text/plain","section:"+O.id),de.dataTransfer.effectAllowed="move",N({type:"section",id:O.id})},onDragEnd:()=>{N(null),w(null)},className:`rounded-xl border border-gray-700/50 bg-[#1C1C1E] p-4 flex items-center justify-between hover:border-[#38bdac]/30 transition-colors cursor-grab active:cursor-grabbing select-none min-h-[40px] ${Z?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":""} ${j("section",O.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,...I("section",O.id,G),children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 select-none",children:[e.jsx(Sr,{className:"w-5 h-5 text-gray-500 shrink-0 opacity-60"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:de=>de.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:k.includes(O.id),onChange:()=>P(O.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsx("div",{className:"w-8 h-8 rounded-lg bg-gray-600/50 flex items-center justify-center shrink-0",children:e.jsx(qs,{className:"w-4 h-4 text-gray-400"})}),e.jsxs("span",{className:"font-medium text-gray-200 truncate",children:[E.chapters[0].title," | ",O.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:de=>de.stopPropagation(),onClick:de=>de.stopPropagation(),children:[O.price===0||O.isFree?e.jsx("span",{className:"px-2 py-1 bg-[#38bdac]/20 text-[#38bdac] text-[10px] font-medium rounded",children:"免费"}):e.jsxs("span",{className:"text-xs text-gray-500",children:["¥",O.price]}),e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",O.clickCount??0," · 付款 ",O.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(O.hotScore??0).toFixed(1)," · 第",O.hotRank&&O.hotRank>0?O.hotRank:"-","名"]}),T&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>T(O),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(O),className:"text-gray-500 hover:text-red-400 h-7 px-2",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500"})]})]},E.id)}if(E.title==="2026每日派对干货"||E.title.includes("2026每日派对干货")){const O=_("part",E.id);return e.jsxs("div",{className:`rounded-xl border overflow-hidden transition-all duration-200 ${O?"border-[#38bdac] ring-2 ring-[#38bdac]/40 bg-[#38bdac]/5":"border-gray-700/50 bg-[#1C1C1E]"}`,...I("part",E.id,{partId:E.id,partTitle:E.title,chapterId:((ce=E.chapters[0])==null?void 0:ce.id)??"",chapterTitle:((K=E.chapters[0])==null?void 0:K.title)??""}),children:[e.jsxs("div",{draggable:!0,onDragStart:Z=>{Z.stopPropagation(),Z.dataTransfer.setData("text/plain","part:"+E.id),Z.dataTransfer.effectAllowed="move",N({type:"part",id:E.id})},onDragEnd:()=>{N(null),w(null)},className:`flex items-center justify-between p-4 cursor-grab active:cursor-grabbing select-none transition-all duration-200 ${j("part",E.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":"hover:bg-[#162840]/50"}`,onClick:()=>l(E.id),children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(Sr,{className:"w-5 h-5 text-gray-500 shrink-0 opacity-60"}),e.jsx("div",{className:"w-10 h-10 rounded-xl bg-[#38bdac]/80 flex items-center justify-center text-white font-bold shrink-0",children:"派"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-bold text-white text-base",children:E.title}),e.jsxs("p",{className:"text-xs text-gray-500 mt-0.5",children:["共 ",ve," 节"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:Z=>Z.stopPropagation(),onClick:Z=>Z.stopPropagation(),children:[m&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>m(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",title:"在本篇下新增章节",children:e.jsx(Rt,{className:"w-3.5 h-3.5"})}),y&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>y(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",title:"编辑篇名",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),g&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>g(E),className:"text-gray-500 hover:text-red-400 h-7 px-2",title:"删除本篇",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})}),e.jsxs("span",{className:"text-xs text-gray-500",children:[ie,"章"]}),H?e.jsx(_l,{className:"w-5 h-5 text-gray-500"}):e.jsx(tn,{className:"w-5 h-5 text-gray-500"})]})]}),H&&E.chapters.length>0&&e.jsx("div",{className:"border-t border-gray-700/50 pl-4 pr-4 pb-4 pt-3 space-y-4",children:E.chapters.map(Z=>e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 w-full",children:[e.jsx("p",{className:"text-xs text-gray-500 pb-1 flex-1",children:Z.title}),e.jsxs("div",{className:"flex gap-0.5 shrink-0",onClick:G=>G.stopPropagation(),children:[v&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>v(E,Z),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",title:"编辑章节名称",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),f&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>f(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",title:"新增第X章",children:e.jsx(Rt,{className:"w-3.5 h-3.5"})}),p&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>p(E,Z),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",title:"删除本章",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),e.jsx("div",{className:"space-y-1 pl-2",children:Z.sections.map(G=>{const de=_("section",G.id);return e.jsxs("div",{draggable:!0,onDragStart:Q=>{Q.stopPropagation(),Q.dataTransfer.setData("text/plain","section:"+G.id),Q.dataTransfer.effectAllowed="move",N({type:"section",id:G.id})},onDragEnd:()=>{N(null),w(null)},className:`flex items-center justify-between py-2 px-3 rounded-lg min-h-[40px] cursor-grab active:cursor-grabbing select-none transition-all duration-200 ${de?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":"hover:bg-[#162840]/50"} ${j("section",G.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,...I("section",G.id,{partId:E.id,partTitle:E.title,chapterId:Z.id,chapterTitle:Z.title}),children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:Q=>Q.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:k.includes(G.id),onChange:()=>P(G.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsxs("span",{className:"text-sm text-gray-200 truncate",children:[G.id," ",G.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",G.clickCount??0," · 付款 ",G.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(G.hotScore??0).toFixed(1)," · 第",G.hotRank&&G.hotRank>0?G.hotRank:"-","名"]}),T&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>T(G),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(G),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(G),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(G),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]},G.id)})})]},Z.id))})]},E.id)}if(q)return e.jsxs("div",{className:"rounded-xl border border-gray-700/50 bg-[#1C1C1E] p-5",children:[e.jsx("h3",{className:"text-sm font-medium text-gray-400 mb-4",children:"附录"}),e.jsx("div",{className:"space-y-3",children:E.chapters.map((O,Z)=>O.sections.length>0?O.sections.map(G=>{const de=_("section",G.id);return e.jsxs("div",{draggable:!0,onDragStart:Q=>{Q.stopPropagation(),Q.dataTransfer.setData("text/plain","section:"+G.id),Q.dataTransfer.effectAllowed="move",N({type:"section",id:G.id})},onDragEnd:()=>{N(null),w(null)},className:`flex justify-between items-center py-2 select-none rounded px-2 -mx-2 group cursor-grab active:cursor-grabbing min-h-[40px] transition-all duration-200 ${de?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":"hover:bg-[#162840]/50"} ${j("section",G.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,...I("section",G.id,{partId:E.id,partTitle:E.title,chapterId:O.id,chapterTitle:O.title}),children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:Q=>Q.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:k.includes(G.id),onChange:()=>P(G.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsxs("span",{className:"text-sm text-gray-300 truncate",children:["附录",Z+1," | ",O.title," | ",G.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",G.clickCount??0," · 付款 ",G.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(G.hotScore??0).toFixed(1)," · 第",G.hotRank&&G.hotRank>0?G.hotRank:"-","名"]}),T&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>T(G),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsxs("div",{className:"flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>c(G),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>c(G),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>u(G),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500 shrink-0"})]},G.id)}):e.jsxs("div",{className:"flex justify-between items-center py-2 select-none hover:bg-[#162840]/50 rounded px-2 -mx-2",children:[e.jsxs("span",{className:"text-sm text-gray-500",children:["附录",Z+1," | ",O.title,"(空)"]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500 shrink-0"})]},O.id))})]},E.id);if(ae&&E.chapters.length===1&&E.chapters[0].sections.length===1){const O=E.chapters[0].sections[0],Z=_("section",O.id),G={partId:E.id,partTitle:E.title,chapterId:E.chapters[0].id,chapterTitle:E.chapters[0].title};return e.jsxs("div",{draggable:!0,onDragStart:de=>{de.stopPropagation(),de.dataTransfer.setData("text/plain","section:"+O.id),de.dataTransfer.effectAllowed="move",N({type:"section",id:O.id})},onDragEnd:()=>{N(null),w(null)},className:`rounded-xl border border-gray-700/50 bg-[#1C1C1E] p-4 flex items-center justify-between hover:border-[#38bdac]/30 transition-colors cursor-grab active:cursor-grabbing select-none min-h-[40px] ${Z?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":""} ${j("section",O.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,...I("section",O.id,G),children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 select-none",children:[e.jsx(Sr,{className:"w-5 h-5 text-gray-500 shrink-0 opacity-60"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:de=>de.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:k.includes(O.id),onChange:()=>P(O.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsx("div",{className:"w-8 h-8 rounded-lg bg-gray-600/50 flex items-center justify-center shrink-0",children:e.jsx(qs,{className:"w-4 h-4 text-gray-400"})}),e.jsxs("span",{className:"font-medium text-gray-200 truncate",children:[E.chapters[0].title," | ",O.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:de=>de.stopPropagation(),onClick:de=>de.stopPropagation(),children:[O.price===0||O.isFree?e.jsx("span",{className:"px-2 py-1 bg-[#38bdac]/20 text-[#38bdac] text-[10px] font-medium rounded",children:"免费"}):e.jsxs("span",{className:"text-xs text-gray-500",children:["¥",O.price]}),e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",O.clickCount??0," · 付款 ",O.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(O.hotScore??0).toFixed(1)," · 第",O.hotRank&&O.hotRank>0?O.hotRank:"-","名"]}),T&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>T(O),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(O),className:"text-gray-500 hover:text-red-400 h-7 px-2",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500"})]})]},E.id)}return ae?e.jsxs("div",{className:"rounded-xl border border-gray-700/50 bg-[#1C1C1E] p-5",children:[e.jsx("h3",{className:"text-sm font-medium text-gray-400 mb-4",children:"尾声"}),e.jsx("div",{className:"space-y-3",children:E.chapters.map(O=>O.sections.map(Z=>{const G=_("section",Z.id);return e.jsxs("div",{draggable:!0,onDragStart:de=>{de.stopPropagation(),de.dataTransfer.setData("text/plain","section:"+Z.id),de.dataTransfer.effectAllowed="move",N({type:"section",id:Z.id})},onDragEnd:()=>{N(null),w(null)},className:`flex justify-between items-center py-2 select-none rounded px-2 -mx-2 cursor-grab active:cursor-grabbing min-h-[40px] transition-all duration-200 ${G?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":"hover:bg-[#162840]/50"} ${j("section",Z.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,...I("section",Z.id,{partId:E.id,partTitle:E.title,chapterId:O.id,chapterTitle:O.title}),children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:de=>de.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:k.includes(Z.id),onChange:()=>P(Z.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsxs("span",{className:"text-sm text-gray-300",children:[O.title," | ",Z.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",Z.clickCount??0," · 付款 ",Z.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(Z.hotScore??0).toFixed(1)," · 第",Z.hotRank&&Z.hotRank>0?Z.hotRank:"-","名"]}),T&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>T(Z),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(Z),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(Z),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(Z),className:"text-gray-500 hover:text-red-400 h-7 px-2",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]})]},Z.id)}))})]},E.id):e.jsxs("div",{className:`rounded-xl border bg-[#1C1C1E] overflow-hidden transition-all duration-200 ${se?"border-[#38bdac] ring-2 ring-[#38bdac]/40 bg-[#38bdac]/5":"border-gray-700/50"}`,...I("part",E.id,{partId:E.id,partTitle:E.title,chapterId:((A=E.chapters[0])==null?void 0:A.id)??"",chapterTitle:((F=E.chapters[0])==null?void 0:F.title)??""}),children:[e.jsxs("div",{draggable:!0,onDragStart:O=>{O.stopPropagation(),O.dataTransfer.setData("text/plain","part:"+E.id),O.dataTransfer.effectAllowed="move",N({type:"part",id:E.id})},onDragEnd:()=>{N(null),w(null)},className:`flex items-center justify-between p-4 cursor-grab active:cursor-grabbing select-none transition-all duration-200 ${j("part",E.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac] rounded-xl shadow-xl shadow-[#38bdac]/20":"hover:bg-[#162840]/50"}`,onClick:()=>l(E.id),children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(Sr,{className:"w-5 h-5 text-gray-500 shrink-0 opacity-60"}),e.jsx("div",{className:"w-10 h-10 rounded-xl bg-[#38bdac] flex items-center justify-center text-white font-bold shadow-lg shadow-[#38bdac]/30 shrink-0",children:R(Y)}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-bold text-white text-base",children:E.title}),e.jsxs("p",{className:"text-xs text-gray-500 mt-0.5",children:["共 ",ve," 节"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:O=>O.stopPropagation(),onClick:O=>O.stopPropagation(),children:[m&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>m(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",title:"在本篇下新增章节",children:e.jsx(Rt,{className:"w-3.5 h-3.5"})}),y&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>y(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",title:"编辑篇名",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),g&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>g(E),className:"text-gray-500 hover:text-red-400 h-7 px-2",title:"删除本篇",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})}),e.jsxs("span",{className:"text-xs text-gray-500",children:[ie,"章"]}),H?e.jsx(_l,{className:"w-5 h-5 text-gray-500"}):e.jsx(tn,{className:"w-5 h-5 text-gray-500"})]})]}),H&&e.jsx("div",{className:"border-t border-gray-700/50 pl-4 pr-4 pb-4 pt-3 space-y-4",children:E.chapters.map(O=>{const Z=_("chapter",O.id);return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 w-full",children:[e.jsxs("div",{draggable:!0,onDragStart:G=>{G.stopPropagation(),G.dataTransfer.setData("text/plain","chapter:"+O.id),G.dataTransfer.effectAllowed="move",N({type:"chapter",id:O.id})},onDragEnd:()=>{N(null),w(null)},onDragEnter:G=>{G.preventDefault(),G.stopPropagation(),G.dataTransfer.dropEffect="move",w({type:"chapter",id:O.id})},onDragOver:G=>{G.preventDefault(),G.stopPropagation(),G.dataTransfer.dropEffect="move",w({type:"chapter",id:O.id})},onDragLeave:()=>w(null),onDrop:G=>{w(null);const de=Bd(G.dataTransfer.getData("text/plain"));if(!de)return;const Q={partId:E.id,partTitle:E.title,chapterId:O.id,chapterTitle:O.title};(de.type==="section"||de.type==="chapter")&&V(G,"chapter",O.id,Q)},className:`flex-1 min-w-0 py-2 px-2 rounded cursor-grab active:cursor-grabbing select-none -mx-2 transition-all duration-200 flex items-center gap-2 ${Z?"bg-[#38bdac]/15 ring-1 ring-[#38bdac]/50":""} ${j("chapter",O.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":"hover:bg-[#162840]/30"}`,children:[e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),e.jsx("p",{className:"text-xs text-gray-500 pb-1 flex-1",children:O.title})]}),e.jsxs("div",{className:"flex gap-0.5 shrink-0",onClick:G=>G.stopPropagation(),children:[v&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>v(E,O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",title:"编辑章节名称",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),f&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>f(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",title:"新增第X章",children:e.jsx(Rt,{className:"w-3.5 h-3.5"})}),p&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>p(E,O),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",title:"删除本章",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),e.jsx("div",{className:"space-y-1 pl-2",children:O.sections.map(G=>{const de=_("section",G.id);return e.jsxs("div",{draggable:!0,onDragStart:Q=>{Q.stopPropagation(),Q.dataTransfer.setData("text/plain","section:"+G.id),Q.dataTransfer.effectAllowed="move",N({type:"section",id:G.id})},onDragEnd:()=>{N(null),w(null)},className:`flex items-center justify-between py-2 px-3 rounded-lg group cursor-grab active:cursor-grabbing select-none min-h-[40px] transition-all duration-200 ${de?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":""} ${j("section",G.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac] shadow-lg":"hover:bg-[#162840]/50"}`,...I("section",G.id,{partId:E.id,partTitle:E.title,chapterId:O.id,chapterTitle:O.title}),children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:Q=>Q.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:k.includes(G.id),onChange:()=>P(G.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),e.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${G.price===0||G.isFree?"border-2 border-[#38bdac] bg-transparent":"bg-gray-500"}`}),e.jsxs("span",{className:"text-sm text-gray-200 truncate",children:[G.id," ",G.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:Q=>Q.stopPropagation(),onClick:Q=>Q.stopPropagation(),children:[G.isNew&&e.jsx("span",{className:"px-2 py-1 bg-[#38bdac]/20 text-[#38bdac] text-[10px] font-medium rounded",children:"NEW"}),G.price===0||G.isFree?e.jsx("span",{className:"px-2 py-1 bg-[#38bdac]/20 text-[#38bdac] text-[10px] font-medium rounded",children:"免费"}):e.jsxs("span",{className:"text-xs text-gray-500",children:["¥",G.price]}),e.jsxs("span",{className:"text-[10px] text-gray-500",title:"点击次数 · 付款笔数",children:["点击 ",G.clickCount??0," · 付款 ",G.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(G.hotScore??0).toFixed(1)," · 第",G.hotRank&&G.hotRank>0?G.hotRank:"-","名"]}),T&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>T(G),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5 shrink-0",children:"付款记录"}),e.jsxs("div",{className:"flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(G),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(G),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(G),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500"})]})]},G.id)})})]},O.id)})})]},E.id)})})}function xC(r){const a=new Map;for(const f of r){const p=f.partId||"part-1",y=f.partTitle||"未分类",g=f.chapterId||"chapter-1",v=f.chapterTitle||"未分类";a.has(p)||a.set(p,{id:p,title:y,chapters:new Map});const k=a.get(p);k.chapters.has(g)||k.chapters.set(g,{id:g,title:v,sections:[]}),k.chapters.get(g).sections.push({id:f.id,title:f.title,price:f.price??1,filePath:f.filePath,isFree:f.isFree,isNew:f.isNew,clickCount:f.clickCount??0,payCount:f.payCount??0,hotScore:f.hotScore??0,hotRank:f.hotRank??0})}const l="part-2026-daily",o="2026每日派对干货";Array.from(a.values()).some(f=>f.title===o||f.title.includes(o))||a.set(l,{id:l,title:o,chapters:new Map([["chapter-2026-daily",{id:"chapter-2026-daily",title:o,sections:[]}]])});const u=Array.from(a.values()).map(f=>({...f,chapters:Array.from(f.chapters.values())})),m=f=>f.includes("序言")?0:f.includes(o)?1.5:f.includes("附录")?2:f.includes("尾声")?3:1;return u.sort((f,p)=>{const y=m(f.title),g=m(p.title);return y!==g?y-g:0})}function pC(){var $s,Zn,ts;const[r,a]=h.useState([]),[l,o]=h.useState(!0),[c,u]=h.useState([]),[m,f]=h.useState(null),[p,y]=h.useState(!1),[g,v]=h.useState(!1),[k,P]=h.useState(!1),[T,S]=h.useState(""),[N,b]=h.useState([]),[w,j]=h.useState(!1),[_,D]=h.useState(!1),V=h.useRef(null),[I,R]=h.useState({id:"",title:"",price:1,partId:"part-1",chapterId:"chapter-1",content:""}),[E,Y]=h.useState(null),[ne,ae]=h.useState(!1),[q,se]=h.useState(!1),[H,ie]=h.useState(null),[ve,U]=h.useState(!1),[ce,K]=h.useState([]),[A,F]=h.useState(!1),[O,Z]=h.useState(""),[G,de]=h.useState(""),[Q,ge]=h.useState(!1),[Se,L]=h.useState(""),[fe,ke]=h.useState(!1),[Ve,We]=h.useState(null),[Ye,tt]=h.useState(!1),[ze,he]=h.useState(!1),[xe,ft]=h.useState({readWeight:.5,recencyWeight:.3,payWeight:.2}),[es,hr]=h.useState(!1),[bn,As]=h.useState(!1),Bt=xC(r),_r=r.length,ct=async()=>{o(!0);try{const z=await $e("/api/db/book?action=list",{cache:"no-store"});a(Array.isArray(z==null?void 0:z.sections)?z.sections:[])}catch(z){console.error(z),a([])}finally{o(!1)}};h.useEffect(()=>{ct()},[]);const gs=z=>{u(oe=>oe.includes(z)?oe.filter(Ce=>Ce!==z):[...oe,z])},Nn=h.useCallback(z=>{const oe=r,Ce=z.flatMap(Pe=>{const xt=oe.find(ns=>ns.id===Pe.id);return xt?[{...xt,partId:Pe.partId,partTitle:Pe.partTitle,chapterId:Pe.chapterId,chapterTitle:Pe.chapterTitle}]:[]});return a(Ce),vt("/api/db/book",{action:"reorder",items:z}).then(Pe=>{Pe&&Pe.success===!1&&(a(oe),alert("排序失败: "+(Pe&&typeof Pe=="object"&&"error"in Pe?Pe.error:"未知错误")))}).catch(Pe=>{a(oe),console.error("排序失败:",Pe),alert("排序失败: "+(Pe instanceof Error?Pe.message:"网络或服务异常"))}),Promise.resolve()},[r]),mr=async z=>{if(confirm(`确定要删除章节「${z.title}」吗?此操作不可恢复。`))try{const oe=await Pr(`/api/db/book?id=${encodeURIComponent(z.id)}`);oe&&oe.success!==!1?(alert("已删除"),ct()):alert("删除失败: "+(oe&&typeof oe=="object"&&"error"in oe?oe.error:"未知错误"))}catch(oe){console.error(oe),alert("删除失败")}},Cs=h.useCallback(async()=>{hr(!0);try{const z=await $e("/api/db/config/full?key=article_ranking_weights",{cache:"no-store"}),oe=z&&z.data;oe&&typeof oe.readWeight=="number"&&typeof oe.recencyWeight=="number"&&typeof oe.payWeight=="number"&&ft({readWeight:Math.max(0,Math.min(1,oe.readWeight)),recencyWeight:Math.max(0,Math.min(1,oe.recencyWeight)),payWeight:Math.max(0,Math.min(1,oe.payWeight))})}catch{}finally{hr(!1)}},[]);h.useEffect(()=>{ze&&Cs()},[ze,Cs]);const Gn=async()=>{const{readWeight:z,recencyWeight:oe,payWeight:Ce}=xe,Pe=z+oe+Ce;if(Math.abs(Pe-1)>.001){alert("三个权重之和必须等于 1");return}As(!0);try{const xt=await mt("/api/db/config",{key:"article_ranking_weights",value:{readWeight:z,recencyWeight:oe,payWeight:Ce},description:"文章排名算法权重"});xt&&xt.success!==!1?(alert("已保存"),ct()):alert("保存失败: "+(xt&&typeof xt=="object"&&"error"in xt?xt.error:""))}catch(xt){console.error(xt),alert("保存失败")}finally{As(!1)}},Yn=async z=>{We({section:z,orders:[]}),tt(!0);try{const oe=await $e(`/api/db/book?action=section-orders&id=${encodeURIComponent(z.id)}`),Ce=oe!=null&&oe.success&&Array.isArray(oe.orders)?oe.orders:[];We(Pe=>Pe?{...Pe,orders:Ce}:null)}catch(oe){console.error(oe),We(Ce=>Ce?{...Ce,orders:[]}:null)}finally{tt(!1)}},ks=async z=>{v(!0);try{const oe=await $e(`/api/db/book?action=read&id=${encodeURIComponent(z.id)}`);if(oe!=null&&oe.success&&oe.section){const Ce=oe.section;f({id:z.id,title:oe.section.title??z.title,price:oe.section.price??z.price,content:oe.section.content??"",filePath:z.filePath,isFree:z.isFree||z.price===0,isNew:Ce.isNew??z.isNew})}else f({id:z.id,title:z.title,price:z.price,content:"",filePath:z.filePath,isFree:z.isFree,isNew:z.isNew}),oe&&!oe.success&&alert("无法读取文件内容: "+(oe.error||"未知错误"))}catch(oe){console.error(oe),f({id:z.id,title:z.title,price:z.price,content:"",filePath:z.filePath,isFree:z.isFree})}finally{v(!1)}},wn=async()=>{var z;if(m){P(!0);try{let oe=m.content||"";const Ce=[new RegExp(`^#+\\s*${m.id.replace(".","\\.")}\\s+.*$`,"gm"),new RegExp(`^#+\\s*${m.id.replace(".","\\.")}[::].*$`,"gm"),new RegExp(`^#\\s+.*${(z=m.title)==null?void 0:z.slice(0,10).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}.*$`,"gm")];for(const xt of Ce)oe=oe.replace(xt,"");oe=oe.replace(/^\s*\n+/,"").trim();const Pe=await vt("/api/db/book",{id:m.id,title:m.title,price:m.isFree?0:m.price,content:oe,isFree:m.isFree||m.price===0,isNew:m.isNew,saveToFile:!0});Pe&&Pe.success!==!1?(alert(`已保存章节: ${m.title}`),f(null),ct()):alert("保存失败: "+(Pe&&typeof Pe=="object"&&"error"in Pe?Pe.error:"未知错误"))}catch(oe){console.error(oe),alert("保存失败")}finally{P(!1)}}},fr=async()=>{if(!I.id||!I.title){alert("请填写章节ID和标题");return}P(!0);try{const z=await vt("/api/db/book",{id:I.id,title:I.title,price:I.price,content:I.content,partId:I.partId,chapterId:I.chapterId,saveToFile:!1});z&&z.success!==!1?(alert(`章节创建成功: ${I.title}`),y(!1),R({id:"",title:"",price:1,partId:"part-1",chapterId:"chapter-1",content:""}),ct()):alert("创建失败: "+(z&&typeof z=="object"&&"error"in z?z.error:"未知错误"))}catch(z){console.error(z),alert("创建失败")}finally{P(!1)}},ys=z=>{R(oe=>{var Ce;return{...oe,partId:z.id,chapterId:((Ce=z.chapters[0])==null?void 0:Ce.id)??"chapter-1"}}),y(!0)},Ds=z=>{Y({id:z.id,title:z.title})},Ls=async()=>{var z;if((z=E==null?void 0:E.title)!=null&&z.trim()){ae(!0);try{const oe=r.map(Pe=>({id:Pe.id,partId:Pe.partId||"part-1",partTitle:Pe.partId===E.id?E.title.trim():Pe.partTitle||"",chapterId:Pe.chapterId||"chapter-1",chapterTitle:Pe.chapterTitle||""})),Ce=await vt("/api/db/book",{action:"reorder",items:oe});Ce&&Ce.success!==!1?(Y(null),ct()):alert("更新篇名失败: "+(Ce&&typeof Ce=="object"&&"error"in Ce?Ce.error:"未知错误"))}catch(oe){console.error(oe),alert("更新篇名失败")}finally{ae(!1)}}},Sn=z=>{const oe=z.chapters.length+1,Ce=`chapter-${z.id}-${oe}-${Date.now()}`;R({id:`${oe}.1`,title:"新章节",price:1,partId:z.id,chapterId:Ce,content:""}),y(!0)},Es=(z,oe)=>{ie({part:z,chapter:oe,title:oe.title})},Os=async()=>{var z;if((z=H==null?void 0:H.title)!=null&&z.trim()){U(!0);try{const oe=r.map(Pe=>({id:Pe.id,partId:Pe.partId||H.part.id,partTitle:Pe.partId===H.part.id?H.part.title:Pe.partTitle||"",chapterId:Pe.chapterId||H.chapter.id,chapterTitle:Pe.partId===H.part.id&&Pe.chapterId===H.chapter.id?H.title.trim():Pe.chapterTitle||""})),Ce=await vt("/api/db/book",{action:"reorder",items:oe});Ce&&Ce.success!==!1?(ie(null),ct()):alert("保存失败: "+(Ce&&typeof Ce=="object"&&"error"in Ce?Ce.error:"未知错误"))}catch(oe){console.error(oe),alert("保存失败")}finally{U(!1)}}},Fs=async(z,oe)=>{const Ce=oe.sections.map(Pe=>Pe.id);if(Ce.length===0){alert("该章下无小节,无需删除");return}if(confirm(`确定要删除「第${z.chapters.indexOf(oe)+1}章 | ${oe.title}」吗?将删除共 ${Ce.length} 节,此操作不可恢复。`))try{for(const Pe of Ce)await Pr(`/api/db/book?id=${encodeURIComponent(Pe)}`);ct()}catch(Pe){console.error(Pe),alert("删除失败")}},Qn=async()=>{if(!Se.trim()){alert("请输入篇名");return}ke(!0);try{const z=`part-new-${Date.now()}`,oe="chapter-1",Ce=`part-placeholder-${Date.now()}`,Pe=await vt("/api/db/book",{id:Ce,title:"占位节(可编辑)",price:0,content:"",partId:z,partTitle:Se.trim(),chapterId:oe,chapterTitle:"第1章 | 待编辑",saveToFile:!1});Pe&&Pe.success!==!1?(alert(`篇「${Se}」创建成功,请编辑占位节`),se(!1),L(""),ct()):alert("创建失败: "+(Pe&&typeof Pe=="object"&&"error"in Pe?Pe.error:"未知错误"))}catch(z){console.error(z),alert("创建失败")}finally{ke(!1)}},qn=async()=>{if(ce.length===0){alert("请先勾选要移动的章节");return}const z=Bt.find(Ce=>Ce.id===O),oe=z==null?void 0:z.chapters.find(Ce=>Ce.id===G);if(!z||!oe||!O||!G){alert("请选择目标篇和章");return}ge(!0);try{const Ce=()=>{const nt=new Set(ce),as=r.map(Pt=>({id:Pt.id,partId:Pt.partId||"",partTitle:Pt.partTitle||"",chapterId:Pt.chapterId||"",chapterTitle:Pt.chapterTitle||""})),En=as.filter(Pt=>nt.has(Pt.id)).map(Pt=>({...Pt,partId:O,partTitle:z.title||O,chapterId:G,chapterTitle:oe.title||G})),er=as.filter(Pt=>!nt.has(Pt.id));let xr=er.length;for(let Pt=er.length-1;Pt>=0;Pt-=1){const $=er[Pt];if($.partId===O&&$.chapterId===G){xr=Pt+1;break}}return[...er.slice(0,xr),...En,...er.slice(xr)]},Pe=async()=>{const nt=Ce(),as=await vt("/api/db/book",{action:"reorder",items:nt});return as&&as.success!==!1?(alert(`已移动 ${ce.length} 节到「${z.title}」-「${oe.title}」`),F(!1),K([]),await ct(),!0):!1},xt={action:"move-sections",sectionIds:ce,targetPartId:O,targetChapterId:G,targetPartTitle:z.title||O,targetChapterTitle:oe.title||G},ns=await vt("/api/db/book",xt);if(ns&&ns.success!==!1)alert(`已移动 ${ns.count??ce.length} 节到「${z.title}」-「${oe.title}」`),F(!1),K([]),await ct();else{const nt=ns&&typeof ns=="object"&&"error"in ns?ns.error||"":"未知错误";if((nt.includes("缺少 id")||nt.includes("无效的 action"))&&await Pe())return;alert("移动失败: "+nt)}}catch(Ce){console.error(Ce),alert("移动失败: "+(Ce instanceof Error?Ce.message:"网络或服务异常"))}finally{ge(!1)}},Xn=z=>{K(oe=>oe.includes(z)?oe.filter(Ce=>Ce!==z):[...oe,z])},Jn=async z=>{const oe=r.filter(Ce=>Ce.partId===z.id).map(Ce=>Ce.id);if(oe.length===0){alert("该篇下暂无小节可删除");return}if(confirm(`确定要删除「${z.title}」整篇吗?将删除共 ${oe.length} 节内容,此操作不可恢复。`))try{for(const Ce of oe)await Pr(`/api/db/book?id=${encodeURIComponent(Ce)}`);ct()}catch(Ce){console.error(Ce),alert("删除失败")}},Cn=async z=>{var Ce,Pe;const oe=(Ce=z.target.files)==null?void 0:Ce[0];if(oe){D(!0);try{const xt=new FormData;xt.append("file",oe),xt.append("folder","book-images");const nt=await(await fetch(Aa("/api/upload"),{method:"POST",body:xt,credentials:"include"})).json();if(nt!=null&&nt.success&&((Pe=nt==null?void 0:nt.data)!=null&&Pe.url)){const as=`![${oe.name}](${nt.data.url})`;m&&f({...m,content:(m.content||"")+` +确认已核实用户账户并完成打款?`))return}else if(!confirm("确认已完成打款?批准后将更新用户提现记录。"))return;w(_);try{const E=await vt("/api/admin/withdrawals",{id:_,action:"approve"});E!=null&&E.success?k():alert("操作失败: "+((E==null?void 0:E.error)??""))}catch{alert("操作失败")}finally{w(null)}}async function L(_){const I=prompt("请输入拒绝原因(将返还用户余额):");if(I){w(_);try{const E=await vt("/api/admin/withdrawals",{id:_,action:"reject",errorMessage:I});E!=null&&E.success?k():alert("操作失败: "+((E==null?void 0:E.error)??""))}catch{alert("操作失败")}finally{w(null)}}}function $(_){switch(_){case"pending":return e.jsx(Le,{className:"bg-orange-500/20 text-orange-400 hover:bg-orange-500/20 border-0",children:"待处理"});case"pending_confirm":return e.jsx(Le,{className:"bg-orange-500/20 text-orange-400 hover:bg-orange-500/20 border-0",children:"待用户确认"});case"processing":return e.jsx(Le,{className:"bg-blue-500/20 text-blue-400 hover:bg-blue-500/20 border-0",children:"已审批等待打款"});case"success":case"completed":return e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"已完成"});case"failed":case"rejected":return e.jsx(Le,{className:"bg-red-500/20 text-red-400 hover:bg-red-500/20 border-0",children:"已拒绝"});default:return e.jsx(Le,{className:"bg-gray-500/20 text-gray-400 border-0",children:_})}}return e.jsxs("div",{className:"p-8 w-full",children:[m&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:m}),e.jsx("button",{type:"button",onClick:()=>f(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex justify-between items-start mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold text-white",children:"分账提现管理"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"管理用户分销收益的提现申请"})]}),e.jsxs(J,{variant:"outline",onClick:k,disabled:c,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${c?"animate-spin":""}`}),"刷新"]})]}),e.jsx(Ne,{className:"bg-gradient-to-r from-[#38bdac]/10 to-[#0f2137] border-[#38bdac]/30 mb-6",children:e.jsx(we,{className:"p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(co,{className:"w-5 h-5 text-[#38bdac] mt-0.5"}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-white font-medium mb-2",children:"自动分账规则"}),e.jsxs("div",{className:"text-sm text-gray-400 space-y-1",children:[e.jsxs("p",{children:["• ",e.jsx("span",{className:"text-[#38bdac]",children:"分销比例"}),":推广者获得订单金额的"," ",e.jsx("span",{className:"text-white font-medium",children:"90%"})]}),e.jsxs("p",{children:["• ",e.jsx("span",{className:"text-[#38bdac]",children:"结算方式"}),":用户付款后,分销收益自动计入推广者账户"]}),e.jsxs("p",{children:["• ",e.jsx("span",{className:"text-[#38bdac]",children:"提现方式"}),":用户在小程序端点击提现,系统自动转账到微信零钱"]}),e.jsxs("p",{children:["• ",e.jsx("span",{className:"text-[#38bdac]",children:"审批流程"}),":待处理的提现需管理员手动确认打款后批准"]})]})]})]})})}),e.jsxs("div",{className:"grid grid-cols-4 gap-4 mb-6",children:[e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-4 text-center",children:[e.jsx("div",{className:"text-3xl font-bold text-[#38bdac]",children:l.total}),e.jsx("div",{className:"text-sm text-gray-400",children:"总申请"})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-4 text-center",children:[e.jsx("div",{className:"text-3xl font-bold text-orange-400",children:l.pendingCount}),e.jsx("div",{className:"text-sm text-gray-400",children:"待处理"}),e.jsxs("div",{className:"text-xs text-orange-400 mt-1",children:["¥",l.pendingAmount.toFixed(2)]})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-4 text-center",children:[e.jsx("div",{className:"text-3xl font-bold text-green-400",children:l.successCount}),e.jsx("div",{className:"text-sm text-gray-400",children:"已完成"}),e.jsxs("div",{className:"text-xs text-green-400 mt-1",children:["¥",l.successAmount.toFixed(2)]})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsxs(we,{className:"p-4 text-center",children:[e.jsx("div",{className:"text-3xl font-bold text-red-400",children:l.failedCount}),e.jsx("div",{className:"text-sm text-gray-400",children:"已拒绝"})]})})]}),e.jsx("div",{className:"flex gap-2 mb-4",children:["all","pending","success","failed"].map(_=>e.jsx(J,{variant:p===_?"default":"outline",size:"sm",onClick:()=>y(_),className:p===_?"bg-[#38bdac] hover:bg-[#2da396] text-white":"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:_==="all"?"全部":_==="pending"?"待处理":_==="success"?"已完成":"已拒绝"},_))}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:c?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):r.length===0?e.jsxs("div",{className:"text-center py-12",children:[e.jsx(Ma,{className:"w-12 h-12 text-gray-600 mx-auto mb-3"}),e.jsx("p",{className:"text-gray-500",children:"暂无提现记录"})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-sm",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"bg-[#0a1628] text-gray-400",children:[e.jsx("th",{className:"p-4 text-left font-medium",children:"申请时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"用户"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"提现金额"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"用户佣金信息"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"状态"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"处理时间"}),e.jsx("th",{className:"p-4 text-left font-medium",children:"确认收款"}),e.jsx("th",{className:"p-4 text-right font-medium",children:"操作"})]})}),e.jsx("tbody",{className:"divide-y divide-gray-700/50",children:r.map(_=>e.jsxs("tr",{className:"hover:bg-[#0a1628] transition-colors",children:[e.jsx("td",{className:"p-4 text-gray-400",children:new Date(_.createdAt??"").toLocaleString()}),e.jsx("td",{className:"p-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[_.userAvatar?e.jsx("img",{src:_.userAvatar,alt:_.userName??"",className:"w-8 h-8 rounded-full object-cover"}):e.jsx("div",{className:"w-8 h-8 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm text-[#38bdac]",children:(_.userName??"?").charAt(0)}),e.jsxs("div",{children:[e.jsx("p",{className:"font-medium text-white",children:_.userName??"未知"}),e.jsx("p",{className:"text-xs text-gray-500",children:_.userPhone??_.referralCode??(_.userId??"").slice(0,10)})]})]})}),e.jsx("td",{className:"p-4",children:e.jsxs("span",{className:"font-bold text-orange-400",children:["¥",Number(_.amount).toFixed(2)]})}),e.jsx("td",{className:"p-4",children:_.userCommissionInfo?e.jsxs("div",{className:"text-xs space-y-1",children:[e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-gray-500",children:"累计佣金:"}),e.jsxs("span",{className:"text-[#38bdac] font-medium",children:["¥",_.userCommissionInfo.totalCommission.toFixed(2)]})]}),e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-gray-500",children:"已提现:"}),e.jsxs("span",{className:"text-gray-400",children:["¥",_.userCommissionInfo.withdrawnEarnings.toFixed(2)]})]}),e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-gray-500",children:"待审核:"}),e.jsxs("span",{className:"text-orange-400",children:["¥",_.userCommissionInfo.pendingWithdrawals.toFixed(2)]})]}),e.jsxs("div",{className:"flex justify-between gap-4 pt-1 border-t border-gray-700/30",children:[e.jsx("span",{className:"text-gray-500",children:"审核后余额:"}),e.jsxs("span",{className:_.userCommissionInfo.availableAfterThis>=0?"text-green-400 font-medium":"text-red-400 font-medium",children:["¥",_.userCommissionInfo.availableAfterThis.toFixed(2)]})]})]}):e.jsx("span",{className:"text-gray-500 text-xs",children:"暂无数据"})}),e.jsxs("td",{className:"p-4",children:[$(_.status),_.errorMessage&&e.jsx("p",{className:"text-xs text-red-400 mt-1",children:_.errorMessage})]}),e.jsx("td",{className:"p-4 text-gray-400",children:_.processedAt?new Date(_.processedAt).toLocaleString():"-"}),e.jsx("td",{className:"p-4 text-gray-400",children:_.userConfirmedAt?e.jsxs("span",{className:"text-green-400",title:_.userConfirmedAt,children:["已确认 ",new Date(_.userConfirmedAt).toLocaleString()]}):"-"}),e.jsxs("td",{className:"p-4 text-right",children:[(_.status==="pending"||_.status==="pending_confirm")&&e.jsxs("div",{className:"flex items-center justify-end gap-2",children:[e.jsxs(J,{size:"sm",onClick:()=>T(_.id),disabled:b===_.id,className:"bg-green-600 hover:bg-green-700 text-white",children:[e.jsx(wo,{className:"w-4 h-4 mr-1"}),"批准"]}),e.jsxs(J,{size:"sm",variant:"outline",onClick:()=>L(_.id),disabled:b===_.id,className:"border-red-500/50 text-red-400 hover:bg-red-500/10 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-1"}),"拒绝"]})]}),(_.status==="success"||_.status==="completed")&&_.transactionId&&e.jsx("span",{className:"text-xs text-gray-500 font-mono",children:_.transactionId})]})]},_.id))})]})}),e.jsx(Qs,{page:g,totalPages:j,total:R,pageSize:C,onPageChange:v,onPageSizeChange:_=>{P(_),v(1)}})]})})})]})}const d4=["top","right","bottom","left"],mn=Math.min,ws=Math.max,po=Math.round,ro=Math.floor,cr=r=>({x:r,y:r}),u4={left:"right",right:"left",bottom:"top",top:"bottom"},h4={start:"end",end:"start"};function au(r,a,l){return ws(r,mn(a,l))}function Tr(r,a){return typeof r=="function"?r(a):r}function Rr(r){return r.split("-")[0]}function Ua(r){return r.split("-")[1]}function Ou(r){return r==="x"?"y":"x"}function Fu(r){return r==="y"?"height":"width"}const m4=new Set(["top","bottom"]);function or(r){return m4.has(Rr(r))?"y":"x"}function zu(r){return Ou(or(r))}function f4(r,a,l){l===void 0&&(l=!1);const o=Ua(r),c=zu(r),u=Fu(c);let m=c==="x"?o===(l?"end":"start")?"right":"left":o==="start"?"bottom":"top";return a.reference[u]>a.floating[u]&&(m=go(m)),[m,go(m)]}function x4(r){const a=go(r);return[lu(r),a,lu(a)]}function lu(r){return r.replace(/start|end/g,a=>h4[a])}const cx=["left","right"],dx=["right","left"],p4=["top","bottom"],g4=["bottom","top"];function y4(r,a,l){switch(r){case"top":case"bottom":return l?a?dx:cx:a?cx:dx;case"left":case"right":return a?p4:g4;default:return[]}}function v4(r,a,l,o){const c=Ua(r);let u=y4(Rr(r),l==="start",o);return c&&(u=u.map(m=>m+"-"+c),a&&(u=u.concat(u.map(lu)))),u}function go(r){return r.replace(/left|right|bottom|top/g,a=>u4[a])}function j4(r){return{top:0,right:0,bottom:0,left:0,...r}}function A0(r){return typeof r!="number"?j4(r):{top:r,right:r,bottom:r,left:r}}function yo(r){const{x:a,y:l,width:o,height:c}=r;return{width:o,height:c,top:l,left:a,right:a+o,bottom:l+c,x:a,y:l}}function ux(r,a,l){let{reference:o,floating:c}=r;const u=or(a),m=zu(a),f=Fu(m),p=Rr(a),y=u==="y",g=o.x+o.width/2-c.width/2,v=o.y+o.height/2-c.height/2,C=o[f]/2-c[f]/2;let P;switch(p){case"top":P={x:g,y:o.y-c.height};break;case"bottom":P={x:g,y:o.y+o.height};break;case"right":P={x:o.x+o.width,y:v};break;case"left":P={x:o.x-c.width,y:v};break;default:P={x:o.x,y:o.y}}switch(Ua(a)){case"start":P[m]-=C*(l&&y?-1:1);break;case"end":P[m]+=C*(l&&y?-1:1);break}return P}async function b4(r,a){var l;a===void 0&&(a={});const{x:o,y:c,platform:u,rects:m,elements:f,strategy:p}=r,{boundary:y="clippingAncestors",rootBoundary:g="viewport",elementContext:v="floating",altBoundary:C=!1,padding:P=0}=Tr(a,r),R=A0(P),b=f[C?v==="floating"?"reference":"floating":v],w=yo(await u.getClippingRect({element:(l=await(u.isElement==null?void 0:u.isElement(b)))==null||l?b:b.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(f.floating)),boundary:y,rootBoundary:g,strategy:p})),k=v==="floating"?{x:o,y:c,width:m.floating.width,height:m.floating.height}:m.reference,j=await(u.getOffsetParent==null?void 0:u.getOffsetParent(f.floating)),T=await(u.isElement==null?void 0:u.isElement(j))?await(u.getScale==null?void 0:u.getScale(j))||{x:1,y:1}:{x:1,y:1},L=yo(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:f,rect:k,offsetParent:j,strategy:p}):k);return{top:(w.top-L.top+R.top)/T.y,bottom:(L.bottom-w.bottom+R.bottom)/T.y,left:(w.left-L.left+R.left)/T.x,right:(L.right-w.right+R.right)/T.x}}const N4=async(r,a,l)=>{const{placement:o="bottom",strategy:c="absolute",middleware:u=[],platform:m}=l,f=u.filter(Boolean),p=await(m.isRTL==null?void 0:m.isRTL(a));let y=await m.getElementRects({reference:r,floating:a,strategy:c}),{x:g,y:v}=ux(y,o,p),C=o,P={},R=0;for(let b=0;b({name:"arrow",options:r,async fn(a){const{x:l,y:o,placement:c,rects:u,platform:m,elements:f,middlewareData:p}=a,{element:y,padding:g=0}=Tr(r,a)||{};if(y==null)return{};const v=A0(g),C={x:l,y:o},P=zu(c),R=Fu(P),N=await m.getDimensions(y),b=P==="y",w=b?"top":"left",k=b?"bottom":"right",j=b?"clientHeight":"clientWidth",T=u.reference[R]+u.reference[P]-C[P]-u.floating[R],L=C[P]-u.reference[P],$=await(m.getOffsetParent==null?void 0:m.getOffsetParent(y));let _=$?$[j]:0;(!_||!await(m.isElement==null?void 0:m.isElement($)))&&(_=f.floating[j]||u.floating[R]);const I=T/2-L/2,E=_/2-N[R]/2-1,G=mn(v[w],E),ne=mn(v[k],E),ae=G,q=_-N[R]-ne,se=_/2-N[R]/2+I,H=au(ae,se,q),ie=!p.arrow&&Ua(c)!=null&&se!==H&&u.reference[R]/2-(sese<=0)){var ne,ae;const se=(((ne=u.flip)==null?void 0:ne.index)||0)+1,H=_[se];if(H&&(!(v==="alignment"?k!==or(H):!1)||G.every(V=>or(V.placement)===k?V.overflows[0]>0:!0)))return{data:{index:se,overflows:G},reset:{placement:H}};let ie=(ae=G.filter(ve=>ve.overflows[0]<=0).sort((ve,V)=>ve.overflows[1]-V.overflows[1])[0])==null?void 0:ae.placement;if(!ie)switch(P){case"bestFit":{var q;const ve=(q=G.filter(V=>{if($){const ce=or(V.placement);return ce===k||ce==="y"}return!0}).map(V=>[V.placement,V.overflows.filter(ce=>ce>0).reduce((ce,K)=>ce+K,0)]).sort((V,ce)=>V[1]-ce[1])[0])==null?void 0:q[0];ve&&(ie=ve);break}case"initialPlacement":ie=f;break}if(c!==ie)return{reset:{placement:ie}}}return{}}}};function hx(r,a){return{top:r.top-a.height,right:r.right-a.width,bottom:r.bottom-a.height,left:r.left-a.width}}function mx(r){return d4.some(a=>r[a]>=0)}const C4=function(r){return r===void 0&&(r={}),{name:"hide",options:r,async fn(a){const{rects:l,platform:o}=a,{strategy:c="referenceHidden",...u}=Tr(r,a);switch(c){case"referenceHidden":{const m=await o.detectOverflow(a,{...u,elementContext:"reference"}),f=hx(m,l.reference);return{data:{referenceHiddenOffsets:f,referenceHidden:mx(f)}}}case"escaped":{const m=await o.detectOverflow(a,{...u,altBoundary:!0}),f=hx(m,l.floating);return{data:{escapedOffsets:f,escaped:mx(f)}}}default:return{}}}}},D0=new Set(["left","top"]);async function k4(r,a){const{placement:l,platform:o,elements:c}=r,u=await(o.isRTL==null?void 0:o.isRTL(c.floating)),m=Rr(l),f=Ua(l),p=or(l)==="y",y=D0.has(m)?-1:1,g=u&&p?-1:1,v=Tr(a,r);let{mainAxis:C,crossAxis:P,alignmentAxis:R}=typeof v=="number"?{mainAxis:v,crossAxis:0,alignmentAxis:null}:{mainAxis:v.mainAxis||0,crossAxis:v.crossAxis||0,alignmentAxis:v.alignmentAxis};return f&&typeof R=="number"&&(P=f==="end"?R*-1:R),p?{x:P*g,y:C*y}:{x:C*y,y:P*g}}const E4=function(r){return r===void 0&&(r=0),{name:"offset",options:r,async fn(a){var l,o;const{x:c,y:u,placement:m,middlewareData:f}=a,p=await k4(a,r);return m===((l=f.offset)==null?void 0:l.placement)&&(o=f.arrow)!=null&&o.alignmentOffset?{}:{x:c+p.x,y:u+p.y,data:{...p,placement:m}}}}},P4=function(r){return r===void 0&&(r={}),{name:"shift",options:r,async fn(a){const{x:l,y:o,placement:c,platform:u}=a,{mainAxis:m=!0,crossAxis:f=!1,limiter:p={fn:w=>{let{x:k,y:j}=w;return{x:k,y:j}}},...y}=Tr(r,a),g={x:l,y:o},v=await u.detectOverflow(a,y),C=or(Rr(c)),P=Ou(C);let R=g[P],N=g[C];if(m){const w=P==="y"?"top":"left",k=P==="y"?"bottom":"right",j=R+v[w],T=R-v[k];R=au(j,R,T)}if(f){const w=C==="y"?"top":"left",k=C==="y"?"bottom":"right",j=N+v[w],T=N-v[k];N=au(j,N,T)}const b=p.fn({...a,[P]:R,[C]:N});return{...b,data:{x:b.x-l,y:b.y-o,enabled:{[P]:m,[C]:f}}}}}},T4=function(r){return r===void 0&&(r={}),{options:r,fn(a){const{x:l,y:o,placement:c,rects:u,middlewareData:m}=a,{offset:f=0,mainAxis:p=!0,crossAxis:y=!0}=Tr(r,a),g={x:l,y:o},v=or(c),C=Ou(v);let P=g[C],R=g[v];const N=Tr(f,a),b=typeof N=="number"?{mainAxis:N,crossAxis:0}:{mainAxis:0,crossAxis:0,...N};if(p){const j=C==="y"?"height":"width",T=u.reference[C]-u.floating[j]+b.mainAxis,L=u.reference[C]+u.reference[j]-b.mainAxis;PL&&(P=L)}if(y){var w,k;const j=C==="y"?"width":"height",T=D0.has(Rr(c)),L=u.reference[v]-u.floating[j]+(T&&((w=m.offset)==null?void 0:w[v])||0)+(T?0:b.crossAxis),$=u.reference[v]+u.reference[j]+(T?0:((k=m.offset)==null?void 0:k[v])||0)-(T?b.crossAxis:0);R$&&(R=$)}return{[C]:P,[v]:R}}}},R4=function(r){return r===void 0&&(r={}),{name:"size",options:r,async fn(a){var l,o;const{placement:c,rects:u,platform:m,elements:f}=a,{apply:p=()=>{},...y}=Tr(r,a),g=await m.detectOverflow(a,y),v=Rr(c),C=Ua(c),P=or(c)==="y",{width:R,height:N}=u.floating;let b,w;v==="top"||v==="bottom"?(b=v,w=C===(await(m.isRTL==null?void 0:m.isRTL(f.floating))?"start":"end")?"left":"right"):(w=v,b=C==="end"?"top":"bottom");const k=N-g.top-g.bottom,j=R-g.left-g.right,T=mn(N-g[b],k),L=mn(R-g[w],j),$=!a.middlewareData.shift;let _=T,I=L;if((l=a.middlewareData.shift)!=null&&l.enabled.x&&(I=j),(o=a.middlewareData.shift)!=null&&o.enabled.y&&(_=k),$&&!C){const G=ws(g.left,0),ne=ws(g.right,0),ae=ws(g.top,0),q=ws(g.bottom,0);P?I=R-2*(G!==0||ne!==0?G+ne:ws(g.left,g.right)):_=N-2*(ae!==0||q!==0?ae+q:ws(g.top,g.bottom))}await p({...a,availableWidth:I,availableHeight:_});const E=await m.getDimensions(f.floating);return R!==E.width||N!==E.height?{reset:{rects:!0}}:{}}}};function Io(){return typeof window<"u"}function Va(r){return L0(r)?(r.nodeName||"").toLowerCase():"#document"}function Ss(r){var a;return(r==null||(a=r.ownerDocument)==null?void 0:a.defaultView)||window}function ur(r){var a;return(a=(L0(r)?r.ownerDocument:r.document)||window.document)==null?void 0:a.documentElement}function L0(r){return Io()?r instanceof Node||r instanceof Ss(r).Node:!1}function Xs(r){return Io()?r instanceof Element||r instanceof Ss(r).Element:!1}function dr(r){return Io()?r instanceof HTMLElement||r instanceof Ss(r).HTMLElement:!1}function fx(r){return!Io()||typeof ShadowRoot>"u"?!1:r instanceof ShadowRoot||r instanceof Ss(r).ShadowRoot}const I4=new Set(["inline","contents"]);function Bl(r){const{overflow:a,overflowX:l,overflowY:o,display:c}=Js(r);return/auto|scroll|overlay|hidden|clip/.test(a+o+l)&&!I4.has(c)}const _4=new Set(["table","td","th"]);function M4(r){return _4.has(Va(r))}const A4=[":popover-open",":modal"];function _o(r){return A4.some(a=>{try{return r.matches(a)}catch{return!1}})}const D4=["transform","translate","scale","rotate","perspective"],L4=["transform","translate","scale","rotate","perspective","filter"],O4=["paint","layout","strict","content"];function $u(r){const a=Bu(),l=Xs(r)?Js(r):r;return D4.some(o=>l[o]?l[o]!=="none":!1)||(l.containerType?l.containerType!=="normal":!1)||!a&&(l.backdropFilter?l.backdropFilter!=="none":!1)||!a&&(l.filter?l.filter!=="none":!1)||L4.some(o=>(l.willChange||"").includes(o))||O4.some(o=>(l.contain||"").includes(o))}function F4(r){let a=fn(r);for(;dr(a)&&!Da(a);){if($u(a))return a;if(_o(a))return null;a=fn(a)}return null}function Bu(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const z4=new Set(["html","body","#document"]);function Da(r){return z4.has(Va(r))}function Js(r){return Ss(r).getComputedStyle(r)}function Mo(r){return Xs(r)?{scrollLeft:r.scrollLeft,scrollTop:r.scrollTop}:{scrollLeft:r.scrollX,scrollTop:r.scrollY}}function fn(r){if(Va(r)==="html")return r;const a=r.assignedSlot||r.parentNode||fx(r)&&r.host||ur(r);return fx(a)?a.host:a}function O0(r){const a=fn(r);return Da(a)?r.ownerDocument?r.ownerDocument.body:r.body:dr(a)&&Bl(a)?a:O0(a)}function Ll(r,a,l){var o;a===void 0&&(a=[]),l===void 0&&(l=!0);const c=O0(r),u=c===((o=r.ownerDocument)==null?void 0:o.body),m=Ss(c);if(u){const f=iu(m);return a.concat(m,m.visualViewport||[],Bl(c)?c:[],f&&l?Ll(f):[])}return a.concat(c,Ll(c,[],l))}function iu(r){return r.parent&&Object.getPrototypeOf(r.parent)?r.frameElement:null}function F0(r){const a=Js(r);let l=parseFloat(a.width)||0,o=parseFloat(a.height)||0;const c=dr(r),u=c?r.offsetWidth:l,m=c?r.offsetHeight:o,f=po(l)!==u||po(o)!==m;return f&&(l=u,o=m),{width:l,height:o,$:f}}function Uu(r){return Xs(r)?r:r.contextElement}function Ia(r){const a=Uu(r);if(!dr(a))return cr(1);const l=a.getBoundingClientRect(),{width:o,height:c,$:u}=F0(a);let m=(u?po(l.width):l.width)/o,f=(u?po(l.height):l.height)/c;return(!m||!Number.isFinite(m))&&(m=1),(!f||!Number.isFinite(f))&&(f=1),{x:m,y:f}}const $4=cr(0);function z0(r){const a=Ss(r);return!Bu()||!a.visualViewport?$4:{x:a.visualViewport.offsetLeft,y:a.visualViewport.offsetTop}}function B4(r,a,l){return a===void 0&&(a=!1),!l||a&&l!==Ss(r)?!1:a}function Wn(r,a,l,o){a===void 0&&(a=!1),l===void 0&&(l=!1);const c=r.getBoundingClientRect(),u=Uu(r);let m=cr(1);a&&(o?Xs(o)&&(m=Ia(o)):m=Ia(r));const f=B4(u,l,o)?z0(u):cr(0);let p=(c.left+f.x)/m.x,y=(c.top+f.y)/m.y,g=c.width/m.x,v=c.height/m.y;if(u){const C=Ss(u),P=o&&Xs(o)?Ss(o):o;let R=C,N=iu(R);for(;N&&o&&P!==R;){const b=Ia(N),w=N.getBoundingClientRect(),k=Js(N),j=w.left+(N.clientLeft+parseFloat(k.paddingLeft))*b.x,T=w.top+(N.clientTop+parseFloat(k.paddingTop))*b.y;p*=b.x,y*=b.y,g*=b.x,v*=b.y,p+=j,y+=T,R=Ss(N),N=iu(R)}}return yo({width:g,height:v,x:p,y})}function Ao(r,a){const l=Mo(r).scrollLeft;return a?a.left+l:Wn(ur(r)).left+l}function $0(r,a){const l=r.getBoundingClientRect(),o=l.left+a.scrollLeft-Ao(r,l),c=l.top+a.scrollTop;return{x:o,y:c}}function U4(r){let{elements:a,rect:l,offsetParent:o,strategy:c}=r;const u=c==="fixed",m=ur(o),f=a?_o(a.floating):!1;if(o===m||f&&u)return l;let p={scrollLeft:0,scrollTop:0},y=cr(1);const g=cr(0),v=dr(o);if((v||!v&&!u)&&((Va(o)!=="body"||Bl(m))&&(p=Mo(o)),dr(o))){const P=Wn(o);y=Ia(o),g.x=P.x+o.clientLeft,g.y=P.y+o.clientTop}const C=m&&!v&&!u?$0(m,p):cr(0);return{width:l.width*y.x,height:l.height*y.y,x:l.x*y.x-p.scrollLeft*y.x+g.x+C.x,y:l.y*y.y-p.scrollTop*y.y+g.y+C.y}}function V4(r){return Array.from(r.getClientRects())}function W4(r){const a=ur(r),l=Mo(r),o=r.ownerDocument.body,c=ws(a.scrollWidth,a.clientWidth,o.scrollWidth,o.clientWidth),u=ws(a.scrollHeight,a.clientHeight,o.scrollHeight,o.clientHeight);let m=-l.scrollLeft+Ao(r);const f=-l.scrollTop;return Js(o).direction==="rtl"&&(m+=ws(a.clientWidth,o.clientWidth)-c),{width:c,height:u,x:m,y:f}}const xx=25;function H4(r,a){const l=Ss(r),o=ur(r),c=l.visualViewport;let u=o.clientWidth,m=o.clientHeight,f=0,p=0;if(c){u=c.width,m=c.height;const g=Bu();(!g||g&&a==="fixed")&&(f=c.offsetLeft,p=c.offsetTop)}const y=Ao(o);if(y<=0){const g=o.ownerDocument,v=g.body,C=getComputedStyle(v),P=g.compatMode==="CSS1Compat"&&parseFloat(C.marginLeft)+parseFloat(C.marginRight)||0,R=Math.abs(o.clientWidth-v.clientWidth-P);R<=xx&&(u-=R)}else y<=xx&&(u+=y);return{width:u,height:m,x:f,y:p}}const K4=new Set(["absolute","fixed"]);function G4(r,a){const l=Wn(r,!0,a==="fixed"),o=l.top+r.clientTop,c=l.left+r.clientLeft,u=dr(r)?Ia(r):cr(1),m=r.clientWidth*u.x,f=r.clientHeight*u.y,p=c*u.x,y=o*u.y;return{width:m,height:f,x:p,y}}function px(r,a,l){let o;if(a==="viewport")o=H4(r,l);else if(a==="document")o=W4(ur(r));else if(Xs(a))o=G4(a,l);else{const c=z0(r);o={x:a.x-c.x,y:a.y-c.y,width:a.width,height:a.height}}return yo(o)}function B0(r,a){const l=fn(r);return l===a||!Xs(l)||Da(l)?!1:Js(l).position==="fixed"||B0(l,a)}function Y4(r,a){const l=a.get(r);if(l)return l;let o=Ll(r,[],!1).filter(f=>Xs(f)&&Va(f)!=="body"),c=null;const u=Js(r).position==="fixed";let m=u?fn(r):r;for(;Xs(m)&&!Da(m);){const f=Js(m),p=$u(m);!p&&f.position==="fixed"&&(c=null),(u?!p&&!c:!p&&f.position==="static"&&!!c&&K4.has(c.position)||Bl(m)&&!p&&B0(r,m))?o=o.filter(g=>g!==m):c=f,m=fn(m)}return a.set(r,o),o}function Q4(r){let{element:a,boundary:l,rootBoundary:o,strategy:c}=r;const m=[...l==="clippingAncestors"?_o(a)?[]:Y4(a,this._c):[].concat(l),o],f=m[0],p=m.reduce((y,g)=>{const v=px(a,g,c);return y.top=ws(v.top,y.top),y.right=mn(v.right,y.right),y.bottom=mn(v.bottom,y.bottom),y.left=ws(v.left,y.left),y},px(a,f,c));return{width:p.right-p.left,height:p.bottom-p.top,x:p.left,y:p.top}}function q4(r){const{width:a,height:l}=F0(r);return{width:a,height:l}}function X4(r,a,l){const o=dr(a),c=ur(a),u=l==="fixed",m=Wn(r,!0,u,a);let f={scrollLeft:0,scrollTop:0};const p=cr(0);function y(){p.x=Ao(c)}if(o||!o&&!u)if((Va(a)!=="body"||Bl(c))&&(f=Mo(a)),o){const P=Wn(a,!0,u,a);p.x=P.x+a.clientLeft,p.y=P.y+a.clientTop}else c&&y();u&&!o&&c&&y();const g=c&&!o&&!u?$0(c,f):cr(0),v=m.left+f.scrollLeft-p.x-g.x,C=m.top+f.scrollTop-p.y-g.y;return{x:v,y:C,width:m.width,height:m.height}}function zd(r){return Js(r).position==="static"}function gx(r,a){if(!dr(r)||Js(r).position==="fixed")return null;if(a)return a(r);let l=r.offsetParent;return ur(r)===l&&(l=l.ownerDocument.body),l}function U0(r,a){const l=Ss(r);if(_o(r))return l;if(!dr(r)){let c=fn(r);for(;c&&!Da(c);){if(Xs(c)&&!zd(c))return c;c=fn(c)}return l}let o=gx(r,a);for(;o&&M4(o)&&zd(o);)o=gx(o,a);return o&&Da(o)&&zd(o)&&!$u(o)?l:o||F4(r)||l}const J4=async function(r){const a=this.getOffsetParent||U0,l=this.getDimensions,o=await l(r.floating);return{reference:X4(r.reference,await a(r.floating),r.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Z4(r){return Js(r).direction==="rtl"}const eS={convertOffsetParentRelativeRectToViewportRelativeRect:U4,getDocumentElement:ur,getClippingRect:Q4,getOffsetParent:U0,getElementRects:J4,getClientRects:V4,getDimensions:q4,getScale:Ia,isElement:Xs,isRTL:Z4};function V0(r,a){return r.x===a.x&&r.y===a.y&&r.width===a.width&&r.height===a.height}function tS(r,a){let l=null,o;const c=ur(r);function u(){var f;clearTimeout(o),(f=l)==null||f.disconnect(),l=null}function m(f,p){f===void 0&&(f=!1),p===void 0&&(p=1),u();const y=r.getBoundingClientRect(),{left:g,top:v,width:C,height:P}=y;if(f||a(),!C||!P)return;const R=ro(v),N=ro(c.clientWidth-(g+C)),b=ro(c.clientHeight-(v+P)),w=ro(g),j={rootMargin:-R+"px "+-N+"px "+-b+"px "+-w+"px",threshold:ws(0,mn(1,p))||1};let T=!0;function L($){const _=$[0].intersectionRatio;if(_!==p){if(!T)return m();_?m(!1,_):o=setTimeout(()=>{m(!1,1e-7)},1e3)}_===1&&!V0(y,r.getBoundingClientRect())&&m(),T=!1}try{l=new IntersectionObserver(L,{...j,root:c.ownerDocument})}catch{l=new IntersectionObserver(L,j)}l.observe(r)}return m(!0),u}function sS(r,a,l,o){o===void 0&&(o={});const{ancestorScroll:c=!0,ancestorResize:u=!0,elementResize:m=typeof ResizeObserver=="function",layoutShift:f=typeof IntersectionObserver=="function",animationFrame:p=!1}=o,y=Uu(r),g=c||u?[...y?Ll(y):[],...Ll(a)]:[];g.forEach(w=>{c&&w.addEventListener("scroll",l,{passive:!0}),u&&w.addEventListener("resize",l)});const v=y&&f?tS(y,l):null;let C=-1,P=null;m&&(P=new ResizeObserver(w=>{let[k]=w;k&&k.target===y&&P&&(P.unobserve(a),cancelAnimationFrame(C),C=requestAnimationFrame(()=>{var j;(j=P)==null||j.observe(a)})),l()}),y&&!p&&P.observe(y),P.observe(a));let R,N=p?Wn(r):null;p&&b();function b(){const w=Wn(r);N&&!V0(N,w)&&l(),N=w,R=requestAnimationFrame(b)}return l(),()=>{var w;g.forEach(k=>{c&&k.removeEventListener("scroll",l),u&&k.removeEventListener("resize",l)}),v==null||v(),(w=P)==null||w.disconnect(),P=null,p&&cancelAnimationFrame(R)}}const rS=E4,nS=P4,aS=S4,lS=R4,iS=C4,yx=w4,oS=T4,cS=(r,a,l)=>{const o=new Map,c={platform:eS,...l},u={...c.platform,_c:o};return N4(r,a,{...c,platform:u})};var dS=typeof document<"u",uS=function(){},lo=dS?h.useLayoutEffect:uS;function vo(r,a){if(r===a)return!0;if(typeof r!=typeof a)return!1;if(typeof r=="function"&&r.toString()===a.toString())return!0;let l,o,c;if(r&&a&&typeof r=="object"){if(Array.isArray(r)){if(l=r.length,l!==a.length)return!1;for(o=l;o--!==0;)if(!vo(r[o],a[o]))return!1;return!0}if(c=Object.keys(r),l=c.length,l!==Object.keys(a).length)return!1;for(o=l;o--!==0;)if(!{}.hasOwnProperty.call(a,c[o]))return!1;for(o=l;o--!==0;){const u=c[o];if(!(u==="_owner"&&r.$$typeof)&&!vo(r[u],a[u]))return!1}return!0}return r!==r&&a!==a}function W0(r){return typeof window>"u"?1:(r.ownerDocument.defaultView||window).devicePixelRatio||1}function vx(r,a){const l=W0(r);return Math.round(a*l)/l}function $d(r){const a=h.useRef(r);return lo(()=>{a.current=r}),a}function hS(r){r===void 0&&(r={});const{placement:a="bottom",strategy:l="absolute",middleware:o=[],platform:c,elements:{reference:u,floating:m}={},transform:f=!0,whileElementsMounted:p,open:y}=r,[g,v]=h.useState({x:0,y:0,strategy:l,placement:a,middlewareData:{},isPositioned:!1}),[C,P]=h.useState(o);vo(C,o)||P(o);const[R,N]=h.useState(null),[b,w]=h.useState(null),k=h.useCallback(V=>{V!==$.current&&($.current=V,N(V))},[]),j=h.useCallback(V=>{V!==_.current&&(_.current=V,w(V))},[]),T=u||R,L=m||b,$=h.useRef(null),_=h.useRef(null),I=h.useRef(g),E=p!=null,G=$d(p),ne=$d(c),ae=$d(y),q=h.useCallback(()=>{if(!$.current||!_.current)return;const V={placement:a,strategy:l,middleware:C};ne.current&&(V.platform=ne.current),cS($.current,_.current,V).then(ce=>{const K={...ce,isPositioned:ae.current!==!1};se.current&&!vo(I.current,K)&&(I.current=K,Ol.flushSync(()=>{v(K)}))})},[C,a,l,ne,ae]);lo(()=>{y===!1&&I.current.isPositioned&&(I.current.isPositioned=!1,v(V=>({...V,isPositioned:!1})))},[y]);const se=h.useRef(!1);lo(()=>(se.current=!0,()=>{se.current=!1}),[]),lo(()=>{if(T&&($.current=T),L&&(_.current=L),T&&L){if(G.current)return G.current(T,L,q);q()}},[T,L,q,G,E]);const H=h.useMemo(()=>({reference:$,floating:_,setReference:k,setFloating:j}),[k,j]),ie=h.useMemo(()=>({reference:T,floating:L}),[T,L]),ve=h.useMemo(()=>{const V={position:l,left:0,top:0};if(!ie.floating)return V;const ce=vx(ie.floating,g.x),K=vx(ie.floating,g.y);return f?{...V,transform:"translate("+ce+"px, "+K+"px)",...W0(ie.floating)>=1.5&&{willChange:"transform"}}:{position:l,left:ce,top:K}},[l,f,ie.floating,g.x,g.y]);return h.useMemo(()=>({...g,update:q,refs:H,elements:ie,floatingStyles:ve}),[g,q,H,ie,ve])}const mS=r=>{function a(l){return{}.hasOwnProperty.call(l,"current")}return{name:"arrow",options:r,fn(l){const{element:o,padding:c}=typeof r=="function"?r(l):r;return o&&a(o)?o.current!=null?yx({element:o.current,padding:c}).fn(l):{}:o?yx({element:o,padding:c}).fn(l):{}}}},fS=(r,a)=>({...rS(r),options:[r,a]}),xS=(r,a)=>({...nS(r),options:[r,a]}),pS=(r,a)=>({...oS(r),options:[r,a]}),gS=(r,a)=>({...aS(r),options:[r,a]}),yS=(r,a)=>({...lS(r),options:[r,a]}),vS=(r,a)=>({...iS(r),options:[r,a]}),jS=(r,a)=>({...mS(r),options:[r,a]});var bS="Arrow",H0=h.forwardRef((r,a)=>{const{children:l,width:o=10,height:c=5,...u}=r;return e.jsx(Xe.svg,{...u,ref:a,width:o,height:c,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:r.asChild?l:e.jsx("polygon",{points:"0,0 30,0 15,10"})})});H0.displayName=bS;var NS=H0,Vu="Popper",[K0,G0]=yn(Vu),[wS,Y0]=K0(Vu),Q0=r=>{const{__scopePopper:a,children:l}=r,[o,c]=h.useState(null);return e.jsx(wS,{scope:a,anchor:o,onAnchorChange:c,children:l})};Q0.displayName=Vu;var q0="PopperAnchor",X0=h.forwardRef((r,a)=>{const{__scopePopper:l,virtualRef:o,...c}=r,u=Y0(q0,l),m=h.useRef(null),f=at(a,m),p=h.useRef(null);return h.useEffect(()=>{const y=p.current;p.current=(o==null?void 0:o.current)||m.current,y!==p.current&&u.onAnchorChange(p.current)}),o?null:e.jsx(Xe.div,{...c,ref:f})});X0.displayName=q0;var Wu="PopperContent",[SS,CS]=K0(Wu),J0=h.forwardRef((r,a)=>{var Q,ge,Se,D,fe,ke;const{__scopePopper:l,side:o="bottom",sideOffset:c=0,align:u="center",alignOffset:m=0,arrowPadding:f=0,avoidCollisions:p=!0,collisionBoundary:y=[],collisionPadding:g=0,sticky:v="partial",hideWhenDetached:C=!1,updatePositionStrategy:P="optimized",onPlaced:R,...N}=r,b=Y0(Wu,l),[w,k]=h.useState(null),j=at(a,Ve=>k(Ve)),[T,L]=h.useState(null),$=Du(T),_=($==null?void 0:$.width)??0,I=($==null?void 0:$.height)??0,E=o+(u!=="center"?"-"+u:""),G=typeof g=="number"?g:{top:0,right:0,bottom:0,left:0,...g},ne=Array.isArray(y)?y:[y],ae=ne.length>0,q={padding:G,boundary:ne.filter(ES),altBoundary:ae},{refs:se,floatingStyles:H,placement:ie,isPositioned:ve,middlewareData:V}=hS({strategy:"fixed",placement:E,whileElementsMounted:(...Ve)=>sS(...Ve,{animationFrame:P==="always"}),elements:{reference:b.anchor},middleware:[fS({mainAxis:c+I,alignmentAxis:m}),p&&xS({mainAxis:!0,crossAxis:!1,limiter:v==="partial"?pS():void 0,...q}),p&&gS({...q}),yS({...q,apply:({elements:Ve,rects:We,availableWidth:Ke,availableHeight:tt})=>{const{width:ze,height:he}=We.reference,xe=Ve.floating.style;xe.setProperty("--radix-popper-available-width",`${Ke}px`),xe.setProperty("--radix-popper-available-height",`${tt}px`),xe.setProperty("--radix-popper-anchor-width",`${ze}px`),xe.setProperty("--radix-popper-anchor-height",`${he}px`)}}),T&&jS({element:T,padding:f}),PS({arrowWidth:_,arrowHeight:I}),C&&vS({strategy:"referenceHidden",...q})]}),[ce,K]=tg(ie),A=hn(R);Zt(()=>{ve&&(A==null||A())},[ve,A]);const F=(Q=V.arrow)==null?void 0:Q.x,O=(ge=V.arrow)==null?void 0:ge.y,Z=((Se=V.arrow)==null?void 0:Se.centerOffset)!==0,[Y,de]=h.useState();return Zt(()=>{w&&de(window.getComputedStyle(w).zIndex)},[w]),e.jsx("div",{ref:se.setFloating,"data-radix-popper-content-wrapper":"",style:{...H,transform:ve?H.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Y,"--radix-popper-transform-origin":[(D=V.transformOrigin)==null?void 0:D.x,(fe=V.transformOrigin)==null?void 0:fe.y].join(" "),...((ke=V.hide)==null?void 0:ke.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:r.dir,children:e.jsx(SS,{scope:l,placedSide:ce,onArrowChange:L,arrowX:F,arrowY:O,shouldHideArrow:Z,children:e.jsx(Xe.div,{"data-side":ce,"data-align":K,...N,ref:j,style:{...N.style,animation:ve?void 0:"none"}})})})});J0.displayName=Wu;var Z0="PopperArrow",kS={top:"bottom",right:"left",bottom:"top",left:"right"},eg=h.forwardRef(function(a,l){const{__scopePopper:o,...c}=a,u=CS(Z0,o),m=kS[u.placedSide];return e.jsx("span",{ref:u.onArrowChange,style:{position:"absolute",left:u.arrowX,top:u.arrowY,[m]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[u.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[u.placedSide],visibility:u.shouldHideArrow?"hidden":void 0},children:e.jsx(NS,{...c,ref:l,style:{...c.style,display:"block"}})})});eg.displayName=Z0;function ES(r){return r!==null}var PS=r=>({name:"transformOrigin",options:r,fn(a){var b,w,k;const{placement:l,rects:o,middlewareData:c}=a,m=((b=c.arrow)==null?void 0:b.centerOffset)!==0,f=m?0:r.arrowWidth,p=m?0:r.arrowHeight,[y,g]=tg(l),v={start:"0%",center:"50%",end:"100%"}[g],C=(((w=c.arrow)==null?void 0:w.x)??0)+f/2,P=(((k=c.arrow)==null?void 0:k.y)??0)+p/2;let R="",N="";return y==="bottom"?(R=m?v:`${C}px`,N=`${-p}px`):y==="top"?(R=m?v:`${C}px`,N=`${o.floating.height+p}px`):y==="right"?(R=`${-p}px`,N=m?v:`${P}px`):y==="left"&&(R=`${o.floating.width+p}px`,N=m?v:`${P}px`),{data:{x:R,y:N}}}});function tg(r){const[a,l="center"]=r.split("-");return[a,l]}var TS=Q0,RS=X0,IS=J0,_S=eg,sg=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),MS="VisuallyHidden",AS=h.forwardRef((r,a)=>e.jsx(Xe.span,{...r,ref:a,style:{...sg,...r.style}}));AS.displayName=MS;var DS=[" ","Enter","ArrowUp","ArrowDown"],LS=[" ","Enter"],Hn="Select",[Do,Lo,OS]=_u(Hn),[Wa]=yn(Hn,[OS,G0]),Oo=G0(),[FS,vn]=Wa(Hn),[zS,$S]=Wa(Hn),rg=r=>{const{__scopeSelect:a,children:l,open:o,defaultOpen:c,onOpenChange:u,value:m,defaultValue:f,onValueChange:p,dir:y,name:g,autoComplete:v,disabled:C,required:P,form:R}=r,N=Oo(a),[b,w]=h.useState(null),[k,j]=h.useState(null),[T,L]=h.useState(!1),$=Eo(y),[_,I]=Un({prop:o,defaultProp:c??!1,onChange:u,caller:Hn}),[E,G]=Un({prop:m,defaultProp:f,onChange:p,caller:Hn}),ne=h.useRef(null),ae=b?R||!!b.closest("form"):!0,[q,se]=h.useState(new Set),H=Array.from(q).map(ie=>ie.props.value).join(";");return e.jsx(TS,{...N,children:e.jsxs(FS,{required:P,scope:a,trigger:b,onTriggerChange:w,valueNode:k,onValueNodeChange:j,valueNodeHasChildren:T,onValueNodeHasChildrenChange:L,contentId:dn(),value:E,onValueChange:G,open:_,onOpenChange:I,dir:$,triggerPointerDownPosRef:ne,disabled:C,children:[e.jsx(Do.Provider,{scope:a,children:e.jsx(zS,{scope:r.__scopeSelect,onNativeOptionAdd:h.useCallback(ie=>{se(ve=>new Set(ve).add(ie))},[]),onNativeOptionRemove:h.useCallback(ie=>{se(ve=>{const V=new Set(ve);return V.delete(ie),V})},[]),children:l})}),ae?e.jsxs(Cg,{"aria-hidden":!0,required:P,tabIndex:-1,name:g,autoComplete:v,value:E,onChange:ie=>G(ie.target.value),disabled:C,form:R,children:[E===void 0?e.jsx("option",{value:""}):null,Array.from(q)]},H):null]})})};rg.displayName=Hn;var ng="SelectTrigger",ag=h.forwardRef((r,a)=>{const{__scopeSelect:l,disabled:o=!1,...c}=r,u=Oo(l),m=vn(ng,l),f=m.disabled||o,p=at(a,m.onTriggerChange),y=Lo(l),g=h.useRef("touch"),[v,C,P]=Eg(N=>{const b=y().filter(j=>!j.disabled),w=b.find(j=>j.value===m.value),k=Pg(b,N,w);k!==void 0&&m.onValueChange(k.value)}),R=N=>{f||(m.onOpenChange(!0),P()),N&&(m.triggerPointerDownPosRef.current={x:Math.round(N.pageX),y:Math.round(N.pageY)})};return e.jsx(RS,{asChild:!0,...u,children:e.jsx(Xe.button,{type:"button",role:"combobox","aria-controls":m.contentId,"aria-expanded":m.open,"aria-required":m.required,"aria-autocomplete":"none",dir:m.dir,"data-state":m.open?"open":"closed",disabled:f,"data-disabled":f?"":void 0,"data-placeholder":kg(m.value)?"":void 0,...c,ref:p,onClick:Ge(c.onClick,N=>{N.currentTarget.focus(),g.current!=="mouse"&&R(N)}),onPointerDown:Ge(c.onPointerDown,N=>{g.current=N.pointerType;const b=N.target;b.hasPointerCapture(N.pointerId)&&b.releasePointerCapture(N.pointerId),N.button===0&&N.ctrlKey===!1&&N.pointerType==="mouse"&&(R(N),N.preventDefault())}),onKeyDown:Ge(c.onKeyDown,N=>{const b=v.current!=="";!(N.ctrlKey||N.altKey||N.metaKey)&&N.key.length===1&&C(N.key),!(b&&N.key===" ")&&DS.includes(N.key)&&(R(),N.preventDefault())})})})});ag.displayName=ng;var lg="SelectValue",ig=h.forwardRef((r,a)=>{const{__scopeSelect:l,className:o,style:c,children:u,placeholder:m="",...f}=r,p=vn(lg,l),{onValueNodeHasChildrenChange:y}=p,g=u!==void 0,v=at(a,p.onValueNodeChange);return Zt(()=>{y(g)},[y,g]),e.jsx(Xe.span,{...f,ref:v,style:{pointerEvents:"none"},children:kg(p.value)?e.jsx(e.Fragment,{children:m}):u})});ig.displayName=lg;var BS="SelectIcon",og=h.forwardRef((r,a)=>{const{__scopeSelect:l,children:o,...c}=r;return e.jsx(Xe.span,{"aria-hidden":!0,...c,ref:a,children:o||"▼"})});og.displayName=BS;var US="SelectPortal",cg=r=>e.jsx(ku,{asChild:!0,...r});cg.displayName=US;var Kn="SelectContent",dg=h.forwardRef((r,a)=>{const l=vn(Kn,r.__scopeSelect),[o,c]=h.useState();if(Zt(()=>{c(new DocumentFragment)},[]),!l.open){const u=o;return u?Ol.createPortal(e.jsx(ug,{scope:r.__scopeSelect,children:e.jsx(Do.Slot,{scope:r.__scopeSelect,children:e.jsx("div",{children:r.children})})}),u):null}return e.jsx(hg,{...r,ref:a})});dg.displayName=Kn;var Ys=10,[ug,jn]=Wa(Kn),VS="SelectContentImpl",WS=Dl("SelectContent.RemoveScroll"),hg=h.forwardRef((r,a)=>{const{__scopeSelect:l,position:o="item-aligned",onCloseAutoFocus:c,onEscapeKeyDown:u,onPointerDownOutside:m,side:f,sideOffset:p,align:y,alignOffset:g,arrowPadding:v,collisionBoundary:C,collisionPadding:P,sticky:R,hideWhenDetached:N,avoidCollisions:b,...w}=r,k=vn(Kn,l),[j,T]=h.useState(null),[L,$]=h.useState(null),_=at(a,Q=>T(Q)),[I,E]=h.useState(null),[G,ne]=h.useState(null),ae=Lo(l),[q,se]=h.useState(!1),H=h.useRef(!1);h.useEffect(()=>{if(j)return Pp(j)},[j]),vp();const ie=h.useCallback(Q=>{const[ge,...Se]=ae().map(ke=>ke.ref.current),[D]=Se.slice(-1),fe=document.activeElement;for(const ke of Q)if(ke===fe||(ke==null||ke.scrollIntoView({block:"nearest"}),ke===ge&&L&&(L.scrollTop=0),ke===D&&L&&(L.scrollTop=L.scrollHeight),ke==null||ke.focus(),document.activeElement!==fe))return},[ae,L]),ve=h.useCallback(()=>ie([I,j]),[ie,I,j]);h.useEffect(()=>{q&&ve()},[q,ve]);const{onOpenChange:V,triggerPointerDownPosRef:ce}=k;h.useEffect(()=>{if(j){let Q={x:0,y:0};const ge=D=>{var fe,ke;Q={x:Math.abs(Math.round(D.pageX)-(((fe=ce.current)==null?void 0:fe.x)??0)),y:Math.abs(Math.round(D.pageY)-(((ke=ce.current)==null?void 0:ke.y)??0))}},Se=D=>{Q.x<=10&&Q.y<=10?D.preventDefault():j.contains(D.target)||V(!1),document.removeEventListener("pointermove",ge),ce.current=null};return ce.current!==null&&(document.addEventListener("pointermove",ge),document.addEventListener("pointerup",Se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ge),document.removeEventListener("pointerup",Se,{capture:!0})}}},[j,V,ce]),h.useEffect(()=>{const Q=()=>V(!1);return window.addEventListener("blur",Q),window.addEventListener("resize",Q),()=>{window.removeEventListener("blur",Q),window.removeEventListener("resize",Q)}},[V]);const[K,A]=Eg(Q=>{const ge=ae().filter(fe=>!fe.disabled),Se=ge.find(fe=>fe.ref.current===document.activeElement),D=Pg(ge,Q,Se);D&&setTimeout(()=>D.ref.current.focus())}),F=h.useCallback((Q,ge,Se)=>{const D=!H.current&&!Se;(k.value!==void 0&&k.value===ge||D)&&(E(Q),D&&(H.current=!0))},[k.value]),O=h.useCallback(()=>j==null?void 0:j.focus(),[j]),Z=h.useCallback((Q,ge,Se)=>{const D=!H.current&&!Se;(k.value!==void 0&&k.value===ge||D)&&ne(Q)},[k.value]),Y=o==="popper"?ou:mg,de=Y===ou?{side:f,sideOffset:p,align:y,alignOffset:g,arrowPadding:v,collisionBoundary:C,collisionPadding:P,sticky:R,hideWhenDetached:N,avoidCollisions:b}:{};return e.jsx(ug,{scope:l,content:j,viewport:L,onViewportChange:$,itemRefCallback:F,selectedItem:I,onItemLeave:O,itemTextRefCallback:Z,focusSelectedItem:ve,selectedItemText:G,position:o,isPositioned:q,searchRef:K,children:e.jsx(Eu,{as:WS,allowPinchZoom:!0,children:e.jsx(Cu,{asChild:!0,trapped:k.open,onMountAutoFocus:Q=>{Q.preventDefault()},onUnmountAutoFocus:Ge(c,Q=>{var ge;(ge=k.trigger)==null||ge.focus({preventScroll:!0}),Q.preventDefault()}),children:e.jsx(Su,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:m,onFocusOutside:Q=>Q.preventDefault(),onDismiss:()=>k.onOpenChange(!1),children:e.jsx(Y,{role:"listbox",id:k.contentId,"data-state":k.open?"open":"closed",dir:k.dir,onContextMenu:Q=>Q.preventDefault(),...w,...de,onPlaced:()=>se(!0),ref:_,style:{display:"flex",flexDirection:"column",outline:"none",...w.style},onKeyDown:Ge(w.onKeyDown,Q=>{const ge=Q.ctrlKey||Q.altKey||Q.metaKey;if(Q.key==="Tab"&&Q.preventDefault(),!ge&&Q.key.length===1&&A(Q.key),["ArrowUp","ArrowDown","Home","End"].includes(Q.key)){let D=ae().filter(fe=>!fe.disabled).map(fe=>fe.ref.current);if(["ArrowUp","End"].includes(Q.key)&&(D=D.slice().reverse()),["ArrowUp","ArrowDown"].includes(Q.key)){const fe=Q.target,ke=D.indexOf(fe);D=D.slice(ke+1)}setTimeout(()=>ie(D)),Q.preventDefault()}})})})})})})});hg.displayName=VS;var HS="SelectItemAlignedPosition",mg=h.forwardRef((r,a)=>{const{__scopeSelect:l,onPlaced:o,...c}=r,u=vn(Kn,l),m=jn(Kn,l),[f,p]=h.useState(null),[y,g]=h.useState(null),v=at(a,_=>g(_)),C=Lo(l),P=h.useRef(!1),R=h.useRef(!0),{viewport:N,selectedItem:b,selectedItemText:w,focusSelectedItem:k}=m,j=h.useCallback(()=>{if(u.trigger&&u.valueNode&&f&&y&&N&&b&&w){const _=u.trigger.getBoundingClientRect(),I=y.getBoundingClientRect(),E=u.valueNode.getBoundingClientRect(),G=w.getBoundingClientRect();if(u.dir!=="rtl"){const fe=G.left-I.left,ke=E.left-fe,Ve=_.left-ke,We=_.width+Ve,Ke=Math.max(We,I.width),tt=window.innerWidth-Ys,ze=xo(ke,[Ys,Math.max(Ys,tt-Ke)]);f.style.minWidth=We+"px",f.style.left=ze+"px"}else{const fe=I.right-G.right,ke=window.innerWidth-E.right-fe,Ve=window.innerWidth-_.right-ke,We=_.width+Ve,Ke=Math.max(We,I.width),tt=window.innerWidth-Ys,ze=xo(ke,[Ys,Math.max(Ys,tt-Ke)]);f.style.minWidth=We+"px",f.style.right=ze+"px"}const ne=C(),ae=window.innerHeight-Ys*2,q=N.scrollHeight,se=window.getComputedStyle(y),H=parseInt(se.borderTopWidth,10),ie=parseInt(se.paddingTop,10),ve=parseInt(se.borderBottomWidth,10),V=parseInt(se.paddingBottom,10),ce=H+ie+q+V+ve,K=Math.min(b.offsetHeight*5,ce),A=window.getComputedStyle(N),F=parseInt(A.paddingTop,10),O=parseInt(A.paddingBottom,10),Z=_.top+_.height/2-Ys,Y=ae-Z,de=b.offsetHeight/2,Q=b.offsetTop+de,ge=H+ie+Q,Se=ce-ge;if(ge<=Z){const fe=ne.length>0&&b===ne[ne.length-1].ref.current;f.style.bottom="0px";const ke=y.clientHeight-N.offsetTop-N.offsetHeight,Ve=Math.max(Y,de+(fe?O:0)+ke+ve),We=ge+Ve;f.style.height=We+"px"}else{const fe=ne.length>0&&b===ne[0].ref.current;f.style.top="0px";const Ve=Math.max(Z,H+N.offsetTop+(fe?F:0)+de)+Se;f.style.height=Ve+"px",N.scrollTop=ge-Z+N.offsetTop}f.style.margin=`${Ys}px 0`,f.style.minHeight=K+"px",f.style.maxHeight=ae+"px",o==null||o(),requestAnimationFrame(()=>P.current=!0)}},[C,u.trigger,u.valueNode,f,y,N,b,w,u.dir,o]);Zt(()=>j(),[j]);const[T,L]=h.useState();Zt(()=>{y&&L(window.getComputedStyle(y).zIndex)},[y]);const $=h.useCallback(_=>{_&&R.current===!0&&(j(),k==null||k(),R.current=!1)},[j,k]);return e.jsx(GS,{scope:l,contentWrapper:f,shouldExpandOnScrollRef:P,onScrollButtonChange:$,children:e.jsx("div",{ref:p,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:T},children:e.jsx(Xe.div,{...c,ref:v,style:{boxSizing:"border-box",maxHeight:"100%",...c.style}})})})});mg.displayName=HS;var KS="SelectPopperPosition",ou=h.forwardRef((r,a)=>{const{__scopeSelect:l,align:o="start",collisionPadding:c=Ys,...u}=r,m=Oo(l);return e.jsx(IS,{...m,...u,ref:a,align:o,collisionPadding:c,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ou.displayName=KS;var[GS,Hu]=Wa(Kn,{}),cu="SelectViewport",fg=h.forwardRef((r,a)=>{const{__scopeSelect:l,nonce:o,...c}=r,u=jn(cu,l),m=Hu(cu,l),f=at(a,u.onViewportChange),p=h.useRef(0);return e.jsxs(e.Fragment,{children:[e.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),e.jsx(Do.Slot,{scope:l,children:e.jsx(Xe.div,{"data-radix-select-viewport":"",role:"presentation",...c,ref:f,style:{position:"relative",flex:1,overflow:"hidden auto",...c.style},onScroll:Ge(c.onScroll,y=>{const g=y.currentTarget,{contentWrapper:v,shouldExpandOnScrollRef:C}=m;if(C!=null&&C.current&&v){const P=Math.abs(p.current-g.scrollTop);if(P>0){const R=window.innerHeight-Ys*2,N=parseFloat(v.style.minHeight),b=parseFloat(v.style.height),w=Math.max(N,b);if(w0?T:0,v.style.justifyContent="flex-end")}}}p.current=g.scrollTop})})})]})});fg.displayName=cu;var xg="SelectGroup",[YS,QS]=Wa(xg),qS=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r,c=dn();return e.jsx(YS,{scope:l,id:c,children:e.jsx(Xe.div,{role:"group","aria-labelledby":c,...o,ref:a})})});qS.displayName=xg;var pg="SelectLabel",XS=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r,c=QS(pg,l);return e.jsx(Xe.div,{id:c.id,...o,ref:a})});XS.displayName=pg;var jo="SelectItem",[JS,gg]=Wa(jo),yg=h.forwardRef((r,a)=>{const{__scopeSelect:l,value:o,disabled:c=!1,textValue:u,...m}=r,f=vn(jo,l),p=jn(jo,l),y=f.value===o,[g,v]=h.useState(u??""),[C,P]=h.useState(!1),R=at(a,k=>{var j;return(j=p.itemRefCallback)==null?void 0:j.call(p,k,o,c)}),N=dn(),b=h.useRef("touch"),w=()=>{c||(f.onValueChange(o),f.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return e.jsx(JS,{scope:l,value:o,disabled:c,textId:N,isSelected:y,onItemTextChange:h.useCallback(k=>{v(j=>j||((k==null?void 0:k.textContent)??"").trim())},[]),children:e.jsx(Do.ItemSlot,{scope:l,value:o,disabled:c,textValue:g,children:e.jsx(Xe.div,{role:"option","aria-labelledby":N,"data-highlighted":C?"":void 0,"aria-selected":y&&C,"data-state":y?"checked":"unchecked","aria-disabled":c||void 0,"data-disabled":c?"":void 0,tabIndex:c?void 0:-1,...m,ref:R,onFocus:Ge(m.onFocus,()=>P(!0)),onBlur:Ge(m.onBlur,()=>P(!1)),onClick:Ge(m.onClick,()=>{b.current!=="mouse"&&w()}),onPointerUp:Ge(m.onPointerUp,()=>{b.current==="mouse"&&w()}),onPointerDown:Ge(m.onPointerDown,k=>{b.current=k.pointerType}),onPointerMove:Ge(m.onPointerMove,k=>{var j;b.current=k.pointerType,c?(j=p.onItemLeave)==null||j.call(p):b.current==="mouse"&&k.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Ge(m.onPointerLeave,k=>{var j;k.currentTarget===document.activeElement&&((j=p.onItemLeave)==null||j.call(p))}),onKeyDown:Ge(m.onKeyDown,k=>{var T;((T=p.searchRef)==null?void 0:T.current)!==""&&k.key===" "||(LS.includes(k.key)&&w(),k.key===" "&&k.preventDefault())})})})})});yg.displayName=jo;var Pl="SelectItemText",vg=h.forwardRef((r,a)=>{const{__scopeSelect:l,className:o,style:c,...u}=r,m=vn(Pl,l),f=jn(Pl,l),p=gg(Pl,l),y=$S(Pl,l),[g,v]=h.useState(null),C=at(a,w=>v(w),p.onItemTextChange,w=>{var k;return(k=f.itemTextRefCallback)==null?void 0:k.call(f,w,p.value,p.disabled)}),P=g==null?void 0:g.textContent,R=h.useMemo(()=>e.jsx("option",{value:p.value,disabled:p.disabled,children:P},p.value),[p.disabled,p.value,P]),{onNativeOptionAdd:N,onNativeOptionRemove:b}=y;return Zt(()=>(N(R),()=>b(R)),[N,b,R]),e.jsxs(e.Fragment,{children:[e.jsx(Xe.span,{id:p.textId,...u,ref:C}),p.isSelected&&m.valueNode&&!m.valueNodeHasChildren?Ol.createPortal(u.children,m.valueNode):null]})});vg.displayName=Pl;var jg="SelectItemIndicator",bg=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r;return gg(jg,l).isSelected?e.jsx(Xe.span,{"aria-hidden":!0,...o,ref:a}):null});bg.displayName=jg;var du="SelectScrollUpButton",Ng=h.forwardRef((r,a)=>{const l=jn(du,r.__scopeSelect),o=Hu(du,r.__scopeSelect),[c,u]=h.useState(!1),m=at(a,o.onScrollButtonChange);return Zt(()=>{if(l.viewport&&l.isPositioned){let f=function(){const y=p.scrollTop>0;u(y)};const p=l.viewport;return f(),p.addEventListener("scroll",f),()=>p.removeEventListener("scroll",f)}},[l.viewport,l.isPositioned]),c?e.jsx(Sg,{...r,ref:m,onAutoScroll:()=>{const{viewport:f,selectedItem:p}=l;f&&p&&(f.scrollTop=f.scrollTop-p.offsetHeight)}}):null});Ng.displayName=du;var uu="SelectScrollDownButton",wg=h.forwardRef((r,a)=>{const l=jn(uu,r.__scopeSelect),o=Hu(uu,r.__scopeSelect),[c,u]=h.useState(!1),m=at(a,o.onScrollButtonChange);return Zt(()=>{if(l.viewport&&l.isPositioned){let f=function(){const y=p.scrollHeight-p.clientHeight,g=Math.ceil(p.scrollTop)p.removeEventListener("scroll",f)}},[l.viewport,l.isPositioned]),c?e.jsx(Sg,{...r,ref:m,onAutoScroll:()=>{const{viewport:f,selectedItem:p}=l;f&&p&&(f.scrollTop=f.scrollTop+p.offsetHeight)}}):null});wg.displayName=uu;var Sg=h.forwardRef((r,a)=>{const{__scopeSelect:l,onAutoScroll:o,...c}=r,u=jn("SelectScrollButton",l),m=h.useRef(null),f=Lo(l),p=h.useCallback(()=>{m.current!==null&&(window.clearInterval(m.current),m.current=null)},[]);return h.useEffect(()=>()=>p(),[p]),Zt(()=>{var g;const y=f().find(v=>v.ref.current===document.activeElement);(g=y==null?void 0:y.ref.current)==null||g.scrollIntoView({block:"nearest"})},[f]),e.jsx(Xe.div,{"aria-hidden":!0,...c,ref:a,style:{flexShrink:0,...c.style},onPointerDown:Ge(c.onPointerDown,()=>{m.current===null&&(m.current=window.setInterval(o,50))}),onPointerMove:Ge(c.onPointerMove,()=>{var y;(y=u.onItemLeave)==null||y.call(u),m.current===null&&(m.current=window.setInterval(o,50))}),onPointerLeave:Ge(c.onPointerLeave,()=>{p()})})}),ZS="SelectSeparator",eC=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r;return e.jsx(Xe.div,{"aria-hidden":!0,...o,ref:a})});eC.displayName=ZS;var hu="SelectArrow",tC=h.forwardRef((r,a)=>{const{__scopeSelect:l,...o}=r,c=Oo(l),u=vn(hu,l),m=jn(hu,l);return u.open&&m.position==="popper"?e.jsx(_S,{...c,...o,ref:a}):null});tC.displayName=hu;var sC="SelectBubbleInput",Cg=h.forwardRef(({__scopeSelect:r,value:a,...l},o)=>{const c=h.useRef(null),u=at(o,c),m=Au(a);return h.useEffect(()=>{const f=c.current;if(!f)return;const p=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(p,"value").set;if(m!==a&&g){const v=new Event("change",{bubbles:!0});g.call(f,a),f.dispatchEvent(v)}},[m,a]),e.jsx(Xe.select,{...l,style:{...sg,...l.style},ref:u,defaultValue:a})});Cg.displayName=sC;function kg(r){return r===""||r===void 0}function Eg(r){const a=hn(r),l=h.useRef(""),o=h.useRef(0),c=h.useCallback(m=>{const f=l.current+m;a(f),(function p(y){l.current=y,window.clearTimeout(o.current),y!==""&&(o.current=window.setTimeout(()=>p(""),1e3))})(f)},[a]),u=h.useCallback(()=>{l.current="",window.clearTimeout(o.current)},[]);return h.useEffect(()=>()=>window.clearTimeout(o.current),[]),[l,c,u]}function Pg(r,a,l){const c=a.length>1&&Array.from(a).every(y=>y===a[0])?a[0]:a,u=l?r.indexOf(l):-1;let m=rC(r,Math.max(u,0));c.length===1&&(m=m.filter(y=>y!==l));const p=m.find(y=>y.textValue.toLowerCase().startsWith(c.toLowerCase()));return p!==l?p:void 0}function rC(r,a){return r.map((l,o)=>r[(a+o)%r.length])}var nC=rg,Tg=ag,aC=ig,lC=og,iC=cg,Rg=dg,oC=fg,Ig=yg,cC=vg,dC=bg,uC=Ng,hC=wg;const kl=nC,El=aC,ka=h.forwardRef(({className:r,children:a,...l},o)=>e.jsxs(Tg,{ref:o,className:lt("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",r),...l,children:[a,e.jsx(lC,{asChild:!0,children:e.jsx(Ml,{className:"h-4 w-4 opacity-50"})})]}));ka.displayName=Tg.displayName;const Ea=h.forwardRef(({className:r,children:a,position:l="popper",...o},c)=>e.jsx(iC,{children:e.jsxs(Rg,{ref:c,className:lt("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md",l==="popper"&&"data-[side=bottom]:translate-y-1",r),position:l,...o,children:[e.jsx(uC,{className:"flex cursor-default items-center justify-center py-1",children:e.jsx(Wx,{className:"h-4 w-4"})}),e.jsx(oC,{className:"p-1",children:a}),e.jsx(hC,{className:"flex cursor-default items-center justify-center py-1",children:e.jsx(Ml,{className:"h-4 w-4"})})]})}));Ea.displayName=Rg.displayName;const lr=h.forwardRef(({className:r,children:a,...l},o)=>e.jsxs(Ig,{ref:o,className:lt("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r),...l,children:[e.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:e.jsx(dC,{children:e.jsx(wo,{className:"h-4 w-4"})})}),e.jsx(cC,{children:a})]}));lr.displayName=Ig.displayName;const mC=["一","二","三","四","五","六","七","八","九","十"];function Bd(r){return r.startsWith("part:")?{type:"part",id:r.slice(5)}:r.startsWith("chapter:")?{type:"chapter",id:r.slice(8)}:r.startsWith("section:")?{type:"section",id:r.slice(8)}:null}function fC({parts:r,expandedParts:a,onTogglePart:l,onReorder:o,onReadSection:c,onDeleteSection:u,onAddSectionInPart:m,onAddChapterInPart:f,onDeleteChapter:p,onEditPart:y,onDeletePart:g,onEditChapter:v,selectedSectionIds:C=[],onToggleSectionSelect:P,onShowSectionOrders:R}){const[N,b]=h.useState(null),[w,k]=h.useState(null),j=(E,G)=>(N==null?void 0:N.type)===E&&(N==null?void 0:N.id)===G,T=(E,G)=>(w==null?void 0:w.type)===E&&(w==null?void 0:w.id)===G,L=h.useCallback(()=>{const E=[];for(const G of r)for(const ne of G.chapters)for(const ae of ne.sections)E.push({id:ae.id,partId:G.id,partTitle:G.title,chapterId:ne.id,chapterTitle:ne.title});return E},[r]),$=h.useCallback(async(E,G,ne,ae)=>{var ve;E.preventDefault(),E.stopPropagation();const q=E.dataTransfer.getData("text/plain"),se=Bd(q);if(!se||se.type===G&&se.id===ne)return;const H=L(),ie=new Map(H.map(V=>[V.id,V]));if(se.type==="part"&&G==="part"){const V=r.map(O=>O.id),ce=V.indexOf(se.id),K=V.indexOf(ne);if(ce===-1||K===-1)return;const A=[...V];A.splice(ce,1),A.splice(ceY.id===O);if(Z)for(const Y of Z.chapters)for(const de of Y.sections){const Q=ie.get(de.id);Q&&F.push(Q)}}await o(F);return}if(se.type==="chapter"&&(G==="chapter"||G==="section"||G==="part")){const V=r.find(Q=>Q.chapters.some(ge=>ge.id===se.id)),ce=V==null?void 0:V.chapters.find(Q=>Q.id===se.id);if(!V||!ce)return;let K,A,F=null;if(G==="section"){const Q=ie.get(ne);if(!Q)return;K=Q.partId,A=Q.partTitle,F=ne}else if(G==="chapter"){const Q=r.find(D=>D.chapters.some(fe=>fe.id===ne)),ge=Q==null?void 0:Q.chapters.find(D=>D.id===ne);if(!Q||!ge)return;K=Q.id,A=Q.title;const Se=H.filter(D=>D.chapterId===ne).pop();F=(Se==null?void 0:Se.id)??null}else{const Q=r.find(Se=>Se.id===ne);if(!Q||!Q.chapters[0])return;K=Q.id,A=Q.title;const ge=H.filter(Se=>Se.partId===Q.id&&Se.chapterId===Q.chapters[0].id);F=((ve=ge[ge.length-1])==null?void 0:ve.id)??null}const O=ce.sections.map(Q=>Q.id),Z=H.filter(Q=>!O.includes(Q.id));let Y=Z.length;if(F){const Q=Z.findIndex(ge=>ge.id===F);Q>=0&&(Y=Q+1)}const de=O.map(Q=>({...ie.get(Q),partId:K,partTitle:A,chapterId:ce.id,chapterTitle:ce.title}));await o([...Z.slice(0,Y),...de,...Z.slice(Y)]);return}if(se.type==="section"&&(G==="section"||G==="chapter"||G==="part")){if(!ae)return;const{partId:V,partTitle:ce,chapterId:K,chapterTitle:A}=ae;let F;if(G==="section")F=H.findIndex(ge=>ge.id===ne);else if(G==="chapter"){const ge=H.filter(Se=>Se.chapterId===ne).pop();F=ge?H.findIndex(Se=>Se.id===ge.id)+1:H.length}else{const ge=r.find(fe=>fe.id===ne);if(!(ge!=null&&ge.chapters[0]))return;const Se=H.filter(fe=>fe.partId===ge.id&&fe.chapterId===ge.chapters[0].id),D=Se[Se.length-1];F=D?H.findIndex(fe=>fe.id===D.id)+1:0}const O=H.findIndex(ge=>ge.id===se.id);if(O===-1)return;const Z=H.filter(ge=>ge.id!==se.id),Y=O({onDragEnter:ae=>{ae.preventDefault(),ae.stopPropagation(),ae.dataTransfer.dropEffect="move",k({type:E,id:G})},onDragOver:ae=>{ae.preventDefault(),ae.stopPropagation(),ae.dataTransfer.dropEffect="move",k({type:E,id:G})},onDragLeave:()=>k(null),onDrop:ae=>{k(null);const q=Bd(ae.dataTransfer.getData("text/plain"));if(q&&!(E==="section"&&q.type==="section"&&q.id===G))if(E==="part")if(q.type==="part")$(ae,"part",G);else{const se=r.find(ie=>ie.id===G);(se==null?void 0:se.chapters[0])&&ne&&$(ae,"part",G,ne)}else E==="chapter"&&ne?(q.type==="section"||q.type==="chapter")&&$(ae,"chapter",G,ne):E==="section"&&ne&&$(ae,"section",G,ne)}}),I=E=>mC[E]??String(E+1);return e.jsx("div",{className:"space-y-3",children:r.map((E,G)=>{var ce,K,A,F;const ne=E.title==="序言"||E.title.includes("序言"),ae=E.title==="尾声"||E.title.includes("尾声"),q=E.title==="附录"||E.title.includes("附录"),se=T("part",E.id),H=a.includes(E.id),ie=E.chapters.length,ve=E.chapters.reduce((O,Z)=>O+Z.sections.length,0);if(ne&&E.chapters.length===1&&E.chapters[0].sections.length===1){const O=E.chapters[0].sections[0],Z=T("section",O.id),Y={partId:E.id,partTitle:E.title,chapterId:E.chapters[0].id,chapterTitle:E.chapters[0].title};return e.jsxs("div",{draggable:!0,onDragStart:de=>{de.stopPropagation(),de.dataTransfer.setData("text/plain","section:"+O.id),de.dataTransfer.effectAllowed="move",b({type:"section",id:O.id})},onDragEnd:()=>{b(null),k(null)},className:`rounded-xl border border-gray-700/50 bg-[#1C1C1E] p-4 flex items-center justify-between hover:border-[#38bdac]/30 transition-colors cursor-grab active:cursor-grabbing select-none min-h-[40px] ${Z?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":""} ${j("section",O.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,..._("section",O.id,Y),children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 select-none",children:[e.jsx(Sr,{className:"w-5 h-5 text-gray-500 shrink-0 opacity-60"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:de=>de.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:C.includes(O.id),onChange:()=>P(O.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsx("div",{className:"w-8 h-8 rounded-lg bg-gray-600/50 flex items-center justify-center shrink-0",children:e.jsx(qs,{className:"w-4 h-4 text-gray-400"})}),e.jsxs("span",{className:"font-medium text-gray-200 truncate",children:[E.chapters[0].title," | ",O.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:de=>de.stopPropagation(),onClick:de=>de.stopPropagation(),children:[O.price===0||O.isFree?e.jsx("span",{className:"px-2 py-1 bg-[#38bdac]/20 text-[#38bdac] text-[10px] font-medium rounded",children:"免费"}):e.jsxs("span",{className:"text-xs text-gray-500",children:["¥",O.price]}),e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",O.clickCount??0," · 付款 ",O.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(O.hotScore??0).toFixed(1)," · 第",O.hotRank&&O.hotRank>0?O.hotRank:"-","名"]}),R&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>R(O),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(O),className:"text-gray-500 hover:text-red-400 h-7 px-2",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500"})]})]},E.id)}if(E.title==="2026每日派对干货"||E.title.includes("2026每日派对干货")){const O=T("part",E.id);return e.jsxs("div",{className:`rounded-xl border overflow-hidden transition-all duration-200 ${O?"border-[#38bdac] ring-2 ring-[#38bdac]/40 bg-[#38bdac]/5":"border-gray-700/50 bg-[#1C1C1E]"}`,..._("part",E.id,{partId:E.id,partTitle:E.title,chapterId:((ce=E.chapters[0])==null?void 0:ce.id)??"",chapterTitle:((K=E.chapters[0])==null?void 0:K.title)??""}),children:[e.jsxs("div",{draggable:!0,onDragStart:Z=>{Z.stopPropagation(),Z.dataTransfer.setData("text/plain","part:"+E.id),Z.dataTransfer.effectAllowed="move",b({type:"part",id:E.id})},onDragEnd:()=>{b(null),k(null)},className:`flex items-center justify-between p-4 cursor-grab active:cursor-grabbing select-none transition-all duration-200 ${j("part",E.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":"hover:bg-[#162840]/50"}`,onClick:()=>l(E.id),children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(Sr,{className:"w-5 h-5 text-gray-500 shrink-0 opacity-60"}),e.jsx("div",{className:"w-10 h-10 rounded-xl bg-[#38bdac]/80 flex items-center justify-center text-white font-bold shrink-0",children:"派"}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-bold text-white text-base",children:E.title}),e.jsxs("p",{className:"text-xs text-gray-500 mt-0.5",children:["共 ",ve," 节"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:Z=>Z.stopPropagation(),onClick:Z=>Z.stopPropagation(),children:[m&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>m(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",title:"在本篇下新增章节",children:e.jsx(Rt,{className:"w-3.5 h-3.5"})}),y&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>y(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",title:"编辑篇名",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),g&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>g(E),className:"text-gray-500 hover:text-red-400 h-7 px-2",title:"删除本篇",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})}),e.jsxs("span",{className:"text-xs text-gray-500",children:[ie,"章"]}),H?e.jsx(Ml,{className:"w-5 h-5 text-gray-500"}):e.jsx(tn,{className:"w-5 h-5 text-gray-500"})]})]}),H&&E.chapters.length>0&&e.jsx("div",{className:"border-t border-gray-700/50 pl-4 pr-4 pb-4 pt-3 space-y-4",children:E.chapters.map(Z=>e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 w-full",children:[e.jsx("p",{className:"text-xs text-gray-500 pb-1 flex-1",children:Z.title}),e.jsxs("div",{className:"flex gap-0.5 shrink-0",onClick:Y=>Y.stopPropagation(),children:[v&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>v(E,Z),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",title:"编辑章节名称",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),f&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>f(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",title:"新增第X章",children:e.jsx(Rt,{className:"w-3.5 h-3.5"})}),p&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>p(E,Z),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",title:"删除本章",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),e.jsx("div",{className:"space-y-1 pl-2",children:Z.sections.map(Y=>{const de=T("section",Y.id);return e.jsxs("div",{draggable:!0,onDragStart:Q=>{Q.stopPropagation(),Q.dataTransfer.setData("text/plain","section:"+Y.id),Q.dataTransfer.effectAllowed="move",b({type:"section",id:Y.id})},onDragEnd:()=>{b(null),k(null)},className:`flex items-center justify-between py-2 px-3 rounded-lg min-h-[40px] cursor-grab active:cursor-grabbing select-none transition-all duration-200 ${de?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":"hover:bg-[#162840]/50"} ${j("section",Y.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,..._("section",Y.id,{partId:E.id,partTitle:E.title,chapterId:Z.id,chapterTitle:Z.title}),children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:Q=>Q.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:C.includes(Y.id),onChange:()=>P(Y.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsxs("span",{className:"text-sm text-gray-200 truncate",children:[Y.id," ",Y.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",Y.clickCount??0," · 付款 ",Y.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(Y.hotScore??0).toFixed(1)," · 第",Y.hotRank&&Y.hotRank>0?Y.hotRank:"-","名"]}),R&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>R(Y),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(Y),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(Y),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(Y),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]},Y.id)})})]},Z.id))})]},E.id)}if(q)return e.jsxs("div",{className:"rounded-xl border border-gray-700/50 bg-[#1C1C1E] p-5",children:[e.jsx("h3",{className:"text-sm font-medium text-gray-400 mb-4",children:"附录"}),e.jsx("div",{className:"space-y-3",children:E.chapters.map((O,Z)=>O.sections.length>0?O.sections.map(Y=>{const de=T("section",Y.id);return e.jsxs("div",{draggable:!0,onDragStart:Q=>{Q.stopPropagation(),Q.dataTransfer.setData("text/plain","section:"+Y.id),Q.dataTransfer.effectAllowed="move",b({type:"section",id:Y.id})},onDragEnd:()=>{b(null),k(null)},className:`flex justify-between items-center py-2 select-none rounded px-2 -mx-2 group cursor-grab active:cursor-grabbing min-h-[40px] transition-all duration-200 ${de?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":"hover:bg-[#162840]/50"} ${j("section",Y.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,..._("section",Y.id,{partId:E.id,partTitle:E.title,chapterId:O.id,chapterTitle:O.title}),children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:Q=>Q.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:C.includes(Y.id),onChange:()=>P(Y.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsxs("span",{className:"text-sm text-gray-300 truncate",children:["附录",Z+1," | ",O.title," | ",Y.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",Y.clickCount??0," · 付款 ",Y.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(Y.hotScore??0).toFixed(1)," · 第",Y.hotRank&&Y.hotRank>0?Y.hotRank:"-","名"]}),R&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>R(Y),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsxs("div",{className:"flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>c(Y),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>c(Y),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>u(Y),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500 shrink-0"})]},Y.id)}):e.jsxs("div",{className:"flex justify-between items-center py-2 select-none hover:bg-[#162840]/50 rounded px-2 -mx-2",children:[e.jsxs("span",{className:"text-sm text-gray-500",children:["附录",Z+1," | ",O.title,"(空)"]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500 shrink-0"})]},O.id))})]},E.id);if(ae&&E.chapters.length===1&&E.chapters[0].sections.length===1){const O=E.chapters[0].sections[0],Z=T("section",O.id),Y={partId:E.id,partTitle:E.title,chapterId:E.chapters[0].id,chapterTitle:E.chapters[0].title};return e.jsxs("div",{draggable:!0,onDragStart:de=>{de.stopPropagation(),de.dataTransfer.setData("text/plain","section:"+O.id),de.dataTransfer.effectAllowed="move",b({type:"section",id:O.id})},onDragEnd:()=>{b(null),k(null)},className:`rounded-xl border border-gray-700/50 bg-[#1C1C1E] p-4 flex items-center justify-between hover:border-[#38bdac]/30 transition-colors cursor-grab active:cursor-grabbing select-none min-h-[40px] ${Z?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":""} ${j("section",O.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,..._("section",O.id,Y),children:[e.jsxs("div",{className:"flex items-center gap-3 flex-1 min-w-0 select-none",children:[e.jsx(Sr,{className:"w-5 h-5 text-gray-500 shrink-0 opacity-60"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:de=>de.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:C.includes(O.id),onChange:()=>P(O.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsx("div",{className:"w-8 h-8 rounded-lg bg-gray-600/50 flex items-center justify-center shrink-0",children:e.jsx(qs,{className:"w-4 h-4 text-gray-400"})}),e.jsxs("span",{className:"font-medium text-gray-200 truncate",children:[E.chapters[0].title," | ",O.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:de=>de.stopPropagation(),onClick:de=>de.stopPropagation(),children:[O.price===0||O.isFree?e.jsx("span",{className:"px-2 py-1 bg-[#38bdac]/20 text-[#38bdac] text-[10px] font-medium rounded",children:"免费"}):e.jsxs("span",{className:"text-xs text-gray-500",children:["¥",O.price]}),e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",O.clickCount??0," · 付款 ",O.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(O.hotScore??0).toFixed(1)," · 第",O.hotRank&&O.hotRank>0?O.hotRank:"-","名"]}),R&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>R(O),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(O),className:"text-gray-500 hover:text-red-400 h-7 px-2",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500"})]})]},E.id)}return ae?e.jsxs("div",{className:"rounded-xl border border-gray-700/50 bg-[#1C1C1E] p-5",children:[e.jsx("h3",{className:"text-sm font-medium text-gray-400 mb-4",children:"尾声"}),e.jsx("div",{className:"space-y-3",children:E.chapters.map(O=>O.sections.map(Z=>{const Y=T("section",Z.id);return e.jsxs("div",{draggable:!0,onDragStart:de=>{de.stopPropagation(),de.dataTransfer.setData("text/plain","section:"+Z.id),de.dataTransfer.effectAllowed="move",b({type:"section",id:Z.id})},onDragEnd:()=>{b(null),k(null)},className:`flex justify-between items-center py-2 select-none rounded px-2 -mx-2 cursor-grab active:cursor-grabbing min-h-[40px] transition-all duration-200 ${Y?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":"hover:bg-[#162840]/50"} ${j("section",Z.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":""}`,..._("section",Z.id,{partId:E.id,partTitle:E.title,chapterId:O.id,chapterTitle:O.title}),children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:de=>de.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:C.includes(Z.id),onChange:()=>P(Z.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsxs("span",{className:"text-sm text-gray-300",children:[O.title," | ",Z.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[e.jsxs("span",{className:"text-[10px] text-gray-500",children:["点击 ",Z.clickCount??0," · 付款 ",Z.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(Z.hotScore??0).toFixed(1)," · 第",Z.hotRank&&Z.hotRank>0?Z.hotRank:"-","名"]}),R&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>R(Z),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:"付款记录"}),e.jsxs("div",{className:"flex gap-1",children:[e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(Z),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(Z),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(Z),className:"text-gray-500 hover:text-red-400 h-7 px-2",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]})]},Z.id)}))})]},E.id):e.jsxs("div",{className:`rounded-xl border bg-[#1C1C1E] overflow-hidden transition-all duration-200 ${se?"border-[#38bdac] ring-2 ring-[#38bdac]/40 bg-[#38bdac]/5":"border-gray-700/50"}`,..._("part",E.id,{partId:E.id,partTitle:E.title,chapterId:((A=E.chapters[0])==null?void 0:A.id)??"",chapterTitle:((F=E.chapters[0])==null?void 0:F.title)??""}),children:[e.jsxs("div",{draggable:!0,onDragStart:O=>{O.stopPropagation(),O.dataTransfer.setData("text/plain","part:"+E.id),O.dataTransfer.effectAllowed="move",b({type:"part",id:E.id})},onDragEnd:()=>{b(null),k(null)},className:`flex items-center justify-between p-4 cursor-grab active:cursor-grabbing select-none transition-all duration-200 ${j("part",E.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac] rounded-xl shadow-xl shadow-[#38bdac]/20":"hover:bg-[#162840]/50"}`,onClick:()=>l(E.id),children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx(Sr,{className:"w-5 h-5 text-gray-500 shrink-0 opacity-60"}),e.jsx("div",{className:"w-10 h-10 rounded-xl bg-[#38bdac] flex items-center justify-center text-white font-bold shadow-lg shadow-[#38bdac]/30 shrink-0",children:I(G)}),e.jsxs("div",{children:[e.jsx("h3",{className:"font-bold text-white text-base",children:E.title}),e.jsxs("p",{className:"text-xs text-gray-500 mt-0.5",children:["共 ",ve," 节"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:O=>O.stopPropagation(),onClick:O=>O.stopPropagation(),children:[m&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>m(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",title:"在本篇下新增章节",children:e.jsx(Rt,{className:"w-3.5 h-3.5"})}),y&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>y(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-2",title:"编辑篇名",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),g&&e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>g(E),className:"text-gray-500 hover:text-red-400 h-7 px-2",title:"删除本篇",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})}),e.jsxs("span",{className:"text-xs text-gray-500",children:[ie,"章"]}),H?e.jsx(Ml,{className:"w-5 h-5 text-gray-500"}):e.jsx(tn,{className:"w-5 h-5 text-gray-500"})]})]}),H&&e.jsx("div",{className:"border-t border-gray-700/50 pl-4 pr-4 pb-4 pt-3 space-y-4",children:E.chapters.map(O=>{const Z=T("chapter",O.id);return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 w-full",children:[e.jsxs("div",{draggable:!0,onDragStart:Y=>{Y.stopPropagation(),Y.dataTransfer.setData("text/plain","chapter:"+O.id),Y.dataTransfer.effectAllowed="move",b({type:"chapter",id:O.id})},onDragEnd:()=>{b(null),k(null)},onDragEnter:Y=>{Y.preventDefault(),Y.stopPropagation(),Y.dataTransfer.dropEffect="move",k({type:"chapter",id:O.id})},onDragOver:Y=>{Y.preventDefault(),Y.stopPropagation(),Y.dataTransfer.dropEffect="move",k({type:"chapter",id:O.id})},onDragLeave:()=>k(null),onDrop:Y=>{k(null);const de=Bd(Y.dataTransfer.getData("text/plain"));if(!de)return;const Q={partId:E.id,partTitle:E.title,chapterId:O.id,chapterTitle:O.title};(de.type==="section"||de.type==="chapter")&&$(Y,"chapter",O.id,Q)},className:`flex-1 min-w-0 py-2 px-2 rounded cursor-grab active:cursor-grabbing select-none -mx-2 transition-all duration-200 flex items-center gap-2 ${Z?"bg-[#38bdac]/15 ring-1 ring-[#38bdac]/50":""} ${j("chapter",O.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac]":"hover:bg-[#162840]/30"}`,children:[e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),e.jsx("p",{className:"text-xs text-gray-500 pb-1 flex-1",children:O.title})]}),e.jsxs("div",{className:"flex gap-0.5 shrink-0",onClick:Y=>Y.stopPropagation(),children:[v&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>v(E,O),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",title:"编辑章节名称",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),f&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>f(E),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",title:"新增第X章",children:e.jsx(Rt,{className:"w-3.5 h-3.5"})}),p&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>p(E,O),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",title:"删除本章",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]})]}),e.jsx("div",{className:"space-y-1 pl-2",children:O.sections.map(Y=>{const de=T("section",Y.id);return e.jsxs("div",{draggable:!0,onDragStart:Q=>{Q.stopPropagation(),Q.dataTransfer.setData("text/plain","section:"+Y.id),Q.dataTransfer.effectAllowed="move",b({type:"section",id:Y.id})},onDragEnd:()=>{b(null),k(null)},className:`flex items-center justify-between py-2 px-3 rounded-lg group cursor-grab active:cursor-grabbing select-none min-h-[40px] transition-all duration-200 ${de?"bg-[#38bdac]/15 ring-2 ring-[#38bdac]/50":""} ${j("section",Y.id)?"opacity-60 scale-[0.98] ring-2 ring-[#38bdac] shadow-lg":"hover:bg-[#162840]/50"}`,..._("section",Y.id,{partId:E.id,partTitle:E.title,chapterId:O.id,chapterTitle:O.title}),children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[P&&e.jsx("label",{className:"shrink-0 flex items-center",onClick:Q=>Q.stopPropagation(),children:e.jsx("input",{type:"checkbox",checked:C.includes(Y.id),onChange:()=>P(Y.id),className:"w-4 h-4 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"})}),e.jsx(Sr,{className:"w-4 h-4 text-gray-500 shrink-0 opacity-50"}),e.jsx("div",{className:`w-2 h-2 rounded-full shrink-0 ${Y.price===0||Y.isFree?"border-2 border-[#38bdac] bg-transparent":"bg-gray-500"}`}),e.jsxs("span",{className:"text-sm text-gray-200 truncate",children:[Y.id," ",Y.title]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",onMouseDown:Q=>Q.stopPropagation(),onClick:Q=>Q.stopPropagation(),children:[Y.isNew&&e.jsx("span",{className:"px-2 py-1 bg-[#38bdac]/20 text-[#38bdac] text-[10px] font-medium rounded",children:"NEW"}),Y.price===0||Y.isFree?e.jsx("span",{className:"px-2 py-1 bg-[#38bdac]/20 text-[#38bdac] text-[10px] font-medium rounded",children:"免费"}):e.jsxs("span",{className:"text-xs text-gray-500",children:["¥",Y.price]}),e.jsxs("span",{className:"text-[10px] text-gray-500",title:"点击次数 · 付款笔数",children:["点击 ",Y.clickCount??0," · 付款 ",Y.payCount??0]}),e.jsxs("span",{className:"text-[10px] text-amber-400/90",title:"热度积分与排名",children:["热度 ",(Y.hotScore??0).toFixed(1)," · 第",Y.hotRank&&Y.hotRank>0?Y.hotRank:"-","名"]}),R&&e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>R(Y),className:"text-[10px] text-gray-500 hover:text-[#38bdac] h-7 px-1.5 shrink-0",children:"付款记录"}),e.jsxs("div",{className:"flex gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity",children:[e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(Y),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(Er,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>c(Y),className:"text-gray-500 hover:text-[#38bdac] h-7 px-1.5",children:e.jsx(ht,{className:"w-3.5 h-3.5"})}),e.jsx(J,{draggable:!1,variant:"ghost",size:"sm",onClick:()=>u(Y),className:"text-gray-500 hover:text-red-400 h-7 px-1.5",children:e.jsx(Ht,{className:"w-3.5 h-3.5"})})]}),e.jsx(tn,{className:"w-4 h-4 text-gray-500"})]})]},Y.id)})})]},O.id)})})]},E.id)})})}function xC(r){const a=new Map;for(const f of r){const p=f.partId||"part-1",y=f.partTitle||"未分类",g=f.chapterId||"chapter-1",v=f.chapterTitle||"未分类";a.has(p)||a.set(p,{id:p,title:y,chapters:new Map});const C=a.get(p);C.chapters.has(g)||C.chapters.set(g,{id:g,title:v,sections:[]}),C.chapters.get(g).sections.push({id:f.id,title:f.title,price:f.price??1,filePath:f.filePath,isFree:f.isFree,isNew:f.isNew,clickCount:f.clickCount??0,payCount:f.payCount??0,hotScore:f.hotScore??0,hotRank:f.hotRank??0})}const l="part-2026-daily",o="2026每日派对干货";Array.from(a.values()).some(f=>f.title===o||f.title.includes(o))||a.set(l,{id:l,title:o,chapters:new Map([["chapter-2026-daily",{id:"chapter-2026-daily",title:o,sections:[]}]])});const u=Array.from(a.values()).map(f=>({...f,chapters:Array.from(f.chapters.values())})),m=f=>f.includes("序言")?0:f.includes(o)?1.5:f.includes("附录")?2:f.includes("尾声")?3:1;return u.sort((f,p)=>{const y=m(f.title),g=m(p.title);return y!==g?y-g:0})}function pC(){var $s,Zn,ts;const[r,a]=h.useState([]),[l,o]=h.useState(!0),[c,u]=h.useState([]),[m,f]=h.useState(null),[p,y]=h.useState(!1),[g,v]=h.useState(!1),[C,P]=h.useState(!1),[R,N]=h.useState(""),[b,w]=h.useState([]),[k,j]=h.useState(!1),[T,L]=h.useState(!1),$=h.useRef(null),[_,I]=h.useState({id:"",title:"",price:1,partId:"part-1",chapterId:"chapter-1",content:""}),[E,G]=h.useState(null),[ne,ae]=h.useState(!1),[q,se]=h.useState(!1),[H,ie]=h.useState(null),[ve,V]=h.useState(!1),[ce,K]=h.useState([]),[A,F]=h.useState(!1),[O,Z]=h.useState(""),[Y,de]=h.useState(""),[Q,ge]=h.useState(!1),[Se,D]=h.useState(""),[fe,ke]=h.useState(!1),[Ve,We]=h.useState(null),[Ke,tt]=h.useState(!1),[ze,he]=h.useState(!1),[xe,ft]=h.useState({readWeight:.5,recencyWeight:.3,payWeight:.2}),[es,hr]=h.useState(!1),[bn,As]=h.useState(!1),Bt=xC(r),_r=r.length,ct=async()=>{o(!0);try{const z=await $e("/api/db/book?action=list",{cache:"no-store"});a(Array.isArray(z==null?void 0:z.sections)?z.sections:[])}catch(z){console.error(z),a([])}finally{o(!1)}};h.useEffect(()=>{ct()},[]);const gs=z=>{u(oe=>oe.includes(z)?oe.filter(Ce=>Ce!==z):[...oe,z])},Nn=h.useCallback(z=>{const oe=r,Ce=z.flatMap(Ee=>{const xt=oe.find(ns=>ns.id===Ee.id);return xt?[{...xt,partId:Ee.partId,partTitle:Ee.partTitle,chapterId:Ee.chapterId,chapterTitle:Ee.chapterTitle}]:[]});return a(Ce),vt("/api/db/book",{action:"reorder",items:z}).then(Ee=>{Ee&&Ee.success===!1&&(a(oe),alert("排序失败: "+(Ee&&typeof Ee=="object"&&"error"in Ee?Ee.error:"未知错误")))}).catch(Ee=>{a(oe),console.error("排序失败:",Ee),alert("排序失败: "+(Ee instanceof Error?Ee.message:"网络或服务异常"))}),Promise.resolve()},[r]),mr=async z=>{if(confirm(`确定要删除章节「${z.title}」吗?此操作不可恢复。`))try{const oe=await Pr(`/api/db/book?id=${encodeURIComponent(z.id)}`);oe&&oe.success!==!1?(alert("已删除"),ct()):alert("删除失败: "+(oe&&typeof oe=="object"&&"error"in oe?oe.error:"未知错误"))}catch(oe){console.error(oe),alert("删除失败")}},Cs=h.useCallback(async()=>{hr(!0);try{const z=await $e("/api/db/config/full?key=article_ranking_weights",{cache:"no-store"}),oe=z&&z.data;oe&&typeof oe.readWeight=="number"&&typeof oe.recencyWeight=="number"&&typeof oe.payWeight=="number"&&ft({readWeight:Math.max(0,Math.min(1,oe.readWeight)),recencyWeight:Math.max(0,Math.min(1,oe.recencyWeight)),payWeight:Math.max(0,Math.min(1,oe.payWeight))})}catch{}finally{hr(!1)}},[]);h.useEffect(()=>{ze&&Cs()},[ze,Cs]);const Gn=async()=>{const{readWeight:z,recencyWeight:oe,payWeight:Ce}=xe,Ee=z+oe+Ce;if(Math.abs(Ee-1)>.001){alert("三个权重之和必须等于 1");return}As(!0);try{const xt=await mt("/api/db/config",{key:"article_ranking_weights",value:{readWeight:z,recencyWeight:oe,payWeight:Ce},description:"文章排名算法权重"});xt&&xt.success!==!1?(alert("已保存"),ct()):alert("保存失败: "+(xt&&typeof xt=="object"&&"error"in xt?xt.error:""))}catch(xt){console.error(xt),alert("保存失败")}finally{As(!1)}},Yn=async z=>{We({section:z,orders:[]}),tt(!0);try{const oe=await $e(`/api/db/book?action=section-orders&id=${encodeURIComponent(z.id)}`),Ce=oe!=null&&oe.success&&Array.isArray(oe.orders)?oe.orders:[];We(Ee=>Ee?{...Ee,orders:Ce}:null)}catch(oe){console.error(oe),We(Ce=>Ce?{...Ce,orders:[]}:null)}finally{tt(!1)}},ks=async z=>{v(!0);try{const oe=await $e(`/api/db/book?action=read&id=${encodeURIComponent(z.id)}`);if(oe!=null&&oe.success&&oe.section){const Ce=oe.section;f({id:z.id,title:oe.section.title??z.title,price:oe.section.price??z.price,content:oe.section.content??"",filePath:z.filePath,isFree:z.isFree||z.price===0,isNew:Ce.isNew??z.isNew})}else f({id:z.id,title:z.title,price:z.price,content:"",filePath:z.filePath,isFree:z.isFree,isNew:z.isNew}),oe&&!oe.success&&alert("无法读取文件内容: "+(oe.error||"未知错误"))}catch(oe){console.error(oe),f({id:z.id,title:z.title,price:z.price,content:"",filePath:z.filePath,isFree:z.isFree})}finally{v(!1)}},wn=async()=>{var z;if(m){P(!0);try{let oe=m.content||"";const Ce=[new RegExp(`^#+\\s*${m.id.replace(".","\\.")}\\s+.*$`,"gm"),new RegExp(`^#+\\s*${m.id.replace(".","\\.")}[::].*$`,"gm"),new RegExp(`^#\\s+.*${(z=m.title)==null?void 0:z.slice(0,10).replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}.*$`,"gm")];for(const xt of Ce)oe=oe.replace(xt,"");oe=oe.replace(/^\s*\n+/,"").trim();const Ee=await vt("/api/db/book",{id:m.id,title:m.title,price:m.isFree?0:m.price,content:oe,isFree:m.isFree||m.price===0,isNew:m.isNew,saveToFile:!0});Ee&&Ee.success!==!1?(alert(`已保存章节: ${m.title}`),f(null),ct()):alert("保存失败: "+(Ee&&typeof Ee=="object"&&"error"in Ee?Ee.error:"未知错误"))}catch(oe){console.error(oe),alert("保存失败")}finally{P(!1)}}},fr=async()=>{if(!_.id||!_.title){alert("请填写章节ID和标题");return}P(!0);try{const z=await vt("/api/db/book",{id:_.id,title:_.title,price:_.price,content:_.content,partId:_.partId,chapterId:_.chapterId,saveToFile:!1});z&&z.success!==!1?(alert(`章节创建成功: ${_.title}`),y(!1),I({id:"",title:"",price:1,partId:"part-1",chapterId:"chapter-1",content:""}),ct()):alert("创建失败: "+(z&&typeof z=="object"&&"error"in z?z.error:"未知错误"))}catch(z){console.error(z),alert("创建失败")}finally{P(!1)}},ys=z=>{I(oe=>{var Ce;return{...oe,partId:z.id,chapterId:((Ce=z.chapters[0])==null?void 0:Ce.id)??"chapter-1"}}),y(!0)},Ds=z=>{G({id:z.id,title:z.title})},Ls=async()=>{var z;if((z=E==null?void 0:E.title)!=null&&z.trim()){ae(!0);try{const oe=r.map(Ee=>({id:Ee.id,partId:Ee.partId||"part-1",partTitle:Ee.partId===E.id?E.title.trim():Ee.partTitle||"",chapterId:Ee.chapterId||"chapter-1",chapterTitle:Ee.chapterTitle||""})),Ce=await vt("/api/db/book",{action:"reorder",items:oe});Ce&&Ce.success!==!1?(G(null),ct()):alert("更新篇名失败: "+(Ce&&typeof Ce=="object"&&"error"in Ce?Ce.error:"未知错误"))}catch(oe){console.error(oe),alert("更新篇名失败")}finally{ae(!1)}}},Sn=z=>{const oe=z.chapters.length+1,Ce=`chapter-${z.id}-${oe}-${Date.now()}`;I({id:`${oe}.1`,title:"新章节",price:1,partId:z.id,chapterId:Ce,content:""}),y(!0)},Es=(z,oe)=>{ie({part:z,chapter:oe,title:oe.title})},Os=async()=>{var z;if((z=H==null?void 0:H.title)!=null&&z.trim()){V(!0);try{const oe=r.map(Ee=>({id:Ee.id,partId:Ee.partId||H.part.id,partTitle:Ee.partId===H.part.id?H.part.title:Ee.partTitle||"",chapterId:Ee.chapterId||H.chapter.id,chapterTitle:Ee.partId===H.part.id&&Ee.chapterId===H.chapter.id?H.title.trim():Ee.chapterTitle||""})),Ce=await vt("/api/db/book",{action:"reorder",items:oe});Ce&&Ce.success!==!1?(ie(null),ct()):alert("保存失败: "+(Ce&&typeof Ce=="object"&&"error"in Ce?Ce.error:"未知错误"))}catch(oe){console.error(oe),alert("保存失败")}finally{V(!1)}}},Fs=async(z,oe)=>{const Ce=oe.sections.map(Ee=>Ee.id);if(Ce.length===0){alert("该章下无小节,无需删除");return}if(confirm(`确定要删除「第${z.chapters.indexOf(oe)+1}章 | ${oe.title}」吗?将删除共 ${Ce.length} 节,此操作不可恢复。`))try{for(const Ee of Ce)await Pr(`/api/db/book?id=${encodeURIComponent(Ee)}`);ct()}catch(Ee){console.error(Ee),alert("删除失败")}},Qn=async()=>{if(!Se.trim()){alert("请输入篇名");return}ke(!0);try{const z=`part-new-${Date.now()}`,oe="chapter-1",Ce=`part-placeholder-${Date.now()}`,Ee=await vt("/api/db/book",{id:Ce,title:"占位节(可编辑)",price:0,content:"",partId:z,partTitle:Se.trim(),chapterId:oe,chapterTitle:"第1章 | 待编辑",saveToFile:!1});Ee&&Ee.success!==!1?(alert(`篇「${Se}」创建成功,请编辑占位节`),se(!1),D(""),ct()):alert("创建失败: "+(Ee&&typeof Ee=="object"&&"error"in Ee?Ee.error:"未知错误"))}catch(z){console.error(z),alert("创建失败")}finally{ke(!1)}},qn=async()=>{if(ce.length===0){alert("请先勾选要移动的章节");return}const z=Bt.find(Ce=>Ce.id===O),oe=z==null?void 0:z.chapters.find(Ce=>Ce.id===Y);if(!z||!oe||!O||!Y){alert("请选择目标篇和章");return}ge(!0);try{const Ce=()=>{const nt=new Set(ce),as=r.map(Pt=>({id:Pt.id,partId:Pt.partId||"",partTitle:Pt.partTitle||"",chapterId:Pt.chapterId||"",chapterTitle:Pt.chapterTitle||""})),En=as.filter(Pt=>nt.has(Pt.id)).map(Pt=>({...Pt,partId:O,partTitle:z.title||O,chapterId:Y,chapterTitle:oe.title||Y})),er=as.filter(Pt=>!nt.has(Pt.id));let xr=er.length;for(let Pt=er.length-1;Pt>=0;Pt-=1){const B=er[Pt];if(B.partId===O&&B.chapterId===Y){xr=Pt+1;break}}return[...er.slice(0,xr),...En,...er.slice(xr)]},Ee=async()=>{const nt=Ce(),as=await vt("/api/db/book",{action:"reorder",items:nt});return as&&as.success!==!1?(alert(`已移动 ${ce.length} 节到「${z.title}」-「${oe.title}」`),F(!1),K([]),await ct(),!0):!1},xt={action:"move-sections",sectionIds:ce,targetPartId:O,targetChapterId:Y,targetPartTitle:z.title||O,targetChapterTitle:oe.title||Y},ns=await vt("/api/db/book",xt);if(ns&&ns.success!==!1)alert(`已移动 ${ns.count??ce.length} 节到「${z.title}」-「${oe.title}」`),F(!1),K([]),await ct();else{const nt=ns&&typeof ns=="object"&&"error"in ns?ns.error||"":"未知错误";if((nt.includes("缺少 id")||nt.includes("无效的 action"))&&await Ee())return;alert("移动失败: "+nt)}}catch(Ce){console.error(Ce),alert("移动失败: "+(Ce instanceof Error?Ce.message:"网络或服务异常"))}finally{ge(!1)}},Xn=z=>{K(oe=>oe.includes(z)?oe.filter(Ce=>Ce!==z):[...oe,z])},Jn=async z=>{const oe=r.filter(Ce=>Ce.partId===z.id).map(Ce=>Ce.id);if(oe.length===0){alert("该篇下暂无小节可删除");return}if(confirm(`确定要删除「${z.title}」整篇吗?将删除共 ${oe.length} 节内容,此操作不可恢复。`))try{for(const Ce of oe)await Pr(`/api/db/book?id=${encodeURIComponent(Ce)}`);ct()}catch(Ce){console.error(Ce),alert("删除失败")}},Cn=async z=>{var Ce,Ee;const oe=(Ce=z.target.files)==null?void 0:Ce[0];if(oe){L(!0);try{const xt=new FormData;xt.append("file",oe),xt.append("folder","book-images");const nt=await(await fetch(Aa("/api/upload"),{method:"POST",body:xt,credentials:"include"})).json();if(nt!=null&&nt.success&&((Ee=nt==null?void 0:nt.data)!=null&&Ee.url)){const as=`![${oe.name}](${nt.data.url})`;m&&f({...m,content:(m.content||"")+` -`+as}),alert(`图片上传成功: ${nt.data.url}`)}else alert("上传失败: "+((nt==null?void 0:nt.error)||"未知错误"))}catch(xt){console.error(xt),alert("上传失败")}finally{D(!1),V.current&&(V.current.value="")}}},kn=async()=>{var z;if(T.trim()){j(!0);try{const oe=await $e(`/api/search?q=${encodeURIComponent(T)}`);oe!=null&&oe.success&&((z=oe.data)!=null&&z.results)?b(oe.data.results):(b([]),oe&&!oe.success&&alert("搜索失败: "+oe.error))}catch(oe){console.error(oe),b([]),alert("搜索失败")}finally{j(!1)}}},zs=Bt.find(z=>z.id===I.partId),Mr=(zs==null?void 0:zs.chapters)??[];return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"内容管理"}),e.jsxs("p",{className:"text-gray-400 mt-1",children:["共 ",Bt.length," 篇 · ",_r," 节内容"]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(J,{onClick:()=>he(!0),variant:"outline",className:"border-amber-500/50 text-amber-400 hover:bg-amber-500/10 bg-transparent",children:[e.jsx(kd,{className:"w-4 h-4 mr-2"}),"排名算法"]}),e.jsxs(J,{onClick:()=>{const z=typeof window<"u"?`${window.location.origin}/api-doc`:"";z&&window.open(z,"_blank","noopener,noreferrer")},variant:"outline",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(on,{className:"w-4 h-4 mr-2"}),"API 接口"]})]})]}),e.jsx(Ct,{open:p,onOpenChange:y,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-2xl max-h-[90vh] overflow-y-auto",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(Rt,{className:"w-5 h-5 text-[#38bdac]"}),"新建章节"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节ID *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 9.15",value:I.id,onChange:z=>R({...I,id:z.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"价格 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:I.price,onChange:z=>R({...I,price:Number(z.target.value)})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节标题 *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"输入章节标题",value:I.title,onChange:z=>R({...I,title:z.target.value})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"所属篇"}),e.jsxs(kl,{value:I.partId,onValueChange:z=>R({...I,partId:z,chapterId:"chapter-1"}),children:[e.jsx(ka,{className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{})}),e.jsxs(Ea,{className:"bg-[#0f2137] border-gray-700",children:[Bt.map(z=>e.jsx(lr,{value:z.id,className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:z.title},z.id)),Bt.length===0&&e.jsx(lr,{value:"part-1",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"默认篇"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"所属章"}),e.jsxs(kl,{value:I.chapterId,onValueChange:z=>R({...I,chapterId:z}),children:[e.jsx(ka,{className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{})}),e.jsxs(Ea,{className:"bg-[#0f2137] border-gray-700",children:[Mr.map(z=>e.jsx(lr,{value:z.id,className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:z.title},z.id)),Mr.length===0&&e.jsx(lr,{value:"chapter-1",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"默认章"})]})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"内容 (Markdown格式)"}),e.jsx(un,{className:"bg-[#0a1628] border-gray-700 text-white min-h-[300px] font-mono text-sm placeholder:text-gray-500",placeholder:"输入章节内容...",value:I.content,onChange:z=>R({...I,content:z.target.value})})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>y(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:fr,disabled:k||!I.id||!I.title,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:k?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"创建中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"创建章节"]})})]})]})}),e.jsx(Ct,{open:!!E,onOpenChange:z=>!z&&Y(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}),"编辑篇名"]})}),E&&e.jsx("div",{className:"space-y-4 py-4",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"篇名"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:E.title,onChange:z=>Y({...E,title:z.target.value}),placeholder:"输入篇名"})]})}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>Y(null),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:Ls,disabled:ne||!(($s=E==null?void 0:E.title)!=null&&$s.trim()),className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:ne?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"保存中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存"]})})]})]})}),e.jsx(Ct,{open:!!H,onOpenChange:z=>!z&&ie(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}),"编辑章节名称"]})}),H&&e.jsx("div",{className:"space-y-4 py-4",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节名称(如:第8章|底层结构)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:H.title,onChange:z=>ie({...H,title:z.target.value}),placeholder:"输入章节名称"})]})}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>ie(null),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:Os,disabled:ve||!((Zn=H==null?void 0:H.title)!=null&&Zn.trim()),className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:ve?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"保存中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存"]})})]})]})}),e.jsx(Ct,{open:A,onOpenChange:z=>{var oe;if(F(z),z&&Bt.length>0){const Ce=Bt[0];Z(Ce.id),de(((oe=Ce.chapters[0])==null?void 0:oe.id)??"")}},children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:"批量移动至指定目录"})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["已选 ",e.jsx("span",{className:"text-[#38bdac] font-medium",children:ce.length})," 节,请选择目标篇与章。"]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"目标篇"}),e.jsxs(kl,{value:O,onValueChange:z=>{var Ce;Z(z);const oe=Bt.find(Pe=>Pe.id===z);de(((Ce=oe==null?void 0:oe.chapters[0])==null?void 0:Ce.id)??"")},children:[e.jsx(ka,{className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{placeholder:"选择篇"})}),e.jsx(Ea,{className:"bg-[#0f2137] border-gray-700",children:Bt.map(z=>e.jsx(lr,{value:z.id,className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:z.title},z.id))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"目标章"}),e.jsxs(kl,{value:G,onValueChange:de,children:[e.jsx(ka,{className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{placeholder:"选择章"})}),e.jsx(Ea,{className:"bg-[#0f2137] border-gray-700",children:(((ts=Bt.find(z=>z.id===O))==null?void 0:ts.chapters)??[]).map(z=>e.jsx(lr,{value:z.id,className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:z.title},z.id))})]})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>F(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:qn,disabled:Q||ce.length===0,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:Q?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"移动中..."]}):"确认移动"})]})]})}),e.jsx(Ct,{open:!!Ve,onOpenChange:z=>!z&&We(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-3xl max-h-[85vh] overflow-hidden flex flex-col",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white",children:["付款记录 — ",(Ve==null?void 0:Ve.section.title)??""]})}),e.jsx("div",{className:"flex-1 overflow-y-auto py-2",children:Ye?e.jsxs("div",{className:"flex items-center justify-center py-8",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):Ve&&Ve.orders.length===0?e.jsx("p",{className:"text-gray-500 text-center py-6",children:"暂无付款记录"}):Ve?e.jsxs("table",{className:"w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-gray-700 text-left text-gray-400",children:[e.jsx("th",{className:"py-2 pr-2",children:"订单号"}),e.jsx("th",{className:"py-2 pr-2",children:"用户ID"}),e.jsx("th",{className:"py-2 pr-2",children:"金额"}),e.jsx("th",{className:"py-2 pr-2",children:"状态"}),e.jsx("th",{className:"py-2 pr-2",children:"支付时间"})]})}),e.jsx("tbody",{children:Ve.orders.map(z=>e.jsxs("tr",{className:"border-b border-gray-700/50",children:[e.jsx("td",{className:"py-2 pr-2 text-gray-300",children:z.orderSn??"-"}),e.jsx("td",{className:"py-2 pr-2 text-gray-300",children:z.userId??z.openId??"-"}),e.jsxs("td",{className:"py-2 pr-2 text-gray-300",children:["¥",z.amount??0]}),e.jsx("td",{className:"py-2 pr-2 text-gray-300",children:z.status??"-"}),e.jsx("td",{className:"py-2 pr-2 text-gray-500",children:z.payTime??z.createdAt??"-"})]},z.id??z.orderSn??""))})]}):null})]})}),e.jsx(Ct,{open:ze,onOpenChange:he,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(kd,{className:"w-5 h-5 text-amber-400"}),"文章排名算法"]})}),e.jsxs("div",{className:"space-y-4 py-2",children:[e.jsx("p",{className:"text-sm text-gray-400",children:"热度积分 = 阅读权重×阅读排名分 + 新度权重×新度排名分 + 付款权重×付款排名分(三权重之和须为 1)"}),es?e.jsx("p",{className:"text-gray-500",children:"加载中..."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(te,{className:"text-gray-400 text-xs",children:"阅读权重"}),e.jsx(le,{type:"number",step:"0.1",min:"0",max:"1",className:"bg-[#0a1628] border-gray-700 text-white",value:xe.readWeight,onChange:z=>ft(oe=>({...oe,readWeight:Math.max(0,Math.min(1,parseFloat(z.target.value)||0))}))})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(te,{className:"text-gray-400 text-xs",children:"新度权重"}),e.jsx(le,{type:"number",step:"0.1",min:"0",max:"1",className:"bg-[#0a1628] border-gray-700 text-white",value:xe.recencyWeight,onChange:z=>ft(oe=>({...oe,recencyWeight:Math.max(0,Math.min(1,parseFloat(z.target.value)||0))}))})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(te,{className:"text-gray-400 text-xs",children:"付款权重"}),e.jsx(le,{type:"number",step:"0.1",min:"0",max:"1",className:"bg-[#0a1628] border-gray-700 text-white",value:xe.payWeight,onChange:z=>ft(oe=>({...oe,payWeight:Math.max(0,Math.min(1,parseFloat(z.target.value)||0))}))})]})]}),e.jsxs("p",{className:"text-xs text-gray-500",children:["当前之和: ",(xe.readWeight+xe.recencyWeight+xe.payWeight).toFixed(1)]}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-xs text-gray-400",children:[e.jsx("li",{children:"阅读量前 20 名:得分 20~1"}),e.jsx("li",{children:"最近更新前 30 篇:得分 30~1"}),e.jsx("li",{children:"付款数前 20 名:得分 20~1"})]}),e.jsx(J,{onClick:Gn,disabled:bn||Math.abs(xe.readWeight+xe.recencyWeight+xe.payWeight-1)>.001,className:"w-full bg-amber-500 hover:bg-amber-600 text-white",children:bn?"保存中...":"保存权重"})]})]})]})}),e.jsx(Ct,{open:q,onOpenChange:se,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(Rt,{className:"w-5 h-5 text-amber-400"}),"新建篇"]})}),e.jsx("div",{className:"space-y-4 py-4",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"篇名(如:第六篇|真实的社会)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:Se,onChange:z=>L(z.target.value),placeholder:"输入篇名"})]})}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>{se(!1),L("")},className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:Qn,disabled:fe||!Se.trim(),className:"bg-amber-500 hover:bg-amber-600 text-white",children:fe?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"创建中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"创建篇"]})})]})]})}),e.jsx(Ct,{open:!!m,onOpenChange:()=>f(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-4xl max-h-[90vh] flex flex-col p-0 gap-0",showCloseButton:!0,children:[e.jsx(kt,{className:"shrink-0 px-6 pt-6 pb-2",children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}),"编辑章节"]})}),m&&e.jsxs("div",{className:"flex-1 overflow-y-auto min-h-0 px-6 space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节ID"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:m.id,disabled:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"价格 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:m.isFree?0:m.price,onChange:z=>f({...m,price:Number(z.target.value),isFree:Number(z.target.value)===0}),disabled:m.isFree})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"免费章节(唯一入口,小程序以 is_free 或 price=0 为准)"}),e.jsx("div",{className:"flex items-center h-10",children:e.jsxs("label",{className:"flex items-center cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:m.isFree||m.price===0,onChange:z=>f({...m,isFree:z.target.checked,price:z.target.checked?0:1}),className:"w-5 h-5 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"}),e.jsx("span",{className:"ml-2 text-gray-400 text-sm",children:"设为免费"})]})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"最新新增"}),e.jsx("div",{className:"flex items-center h-10",children:e.jsxs("label",{className:"flex items-center cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:m.isNew??!1,onChange:z=>f({...m,isNew:z.target.checked}),className:"w-5 h-5 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"}),e.jsx("span",{className:"ml-2 text-gray-400 text-sm",children:"标记 NEW"})]})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:m.title,onChange:z=>f({...m,title:z.target.value})})]}),m.filePath&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"文件路径"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-gray-400 text-sm",value:m.filePath,disabled:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(te,{className:"text-gray-300",children:"内容 (Markdown格式)"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{ref:V,type:"file",accept:"image/*",onChange:Cn,className:"hidden"}),e.jsxs(J,{variant:"outline",size:"sm",onClick:()=>{var z;return(z=V.current)==null?void 0:z.click()},disabled:_,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[_?e.jsx(Be,{className:"w-4 h-4 mr-1 animate-spin"}):e.jsx(Gx,{className:"w-4 h-4 mr-1"}),"上传图片"]})]})]}),g?e.jsxs("div",{className:"bg-[#0a1628] border border-gray-700 rounded-md min-h-[400px] flex items-center justify-center",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsx(un,{className:"bg-[#0a1628] border-gray-700 text-white min-h-[400px] font-mono text-sm placeholder:text-gray-500",placeholder:"此处输入章节内容,支持Markdown格式...",value:m.content,onChange:z=>f({...m,content:z.target.value})})]})]}),e.jsxs(Dt,{className:"shrink-0 px-6 py-4 border-t border-gray-700/50",children:[e.jsxs(J,{variant:"outline",onClick:()=>f(null),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsx(J,{onClick:wn,disabled:k,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:k?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"保存中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存修改"]})})]})]})}),e.jsxs($l,{defaultValue:"chapters",className:"space-y-6",children:[e.jsxs($a,{className:"bg-[#0f2137] border border-gray-700/50 p-1",children:[e.jsxs(Lt,{value:"chapters",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400",children:[e.jsx(qs,{className:"w-4 h-4 mr-2"}),"章节管理"]}),e.jsxs(Lt,{value:"search",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400",children:[e.jsx(cn,{className:"w-4 h-4 mr-2"}),"内容搜索"]}),e.jsxs(Lt,{value:"hooks",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400",children:[e.jsx(kd,{className:"w-4 h-4 mr-2"}),"钩子配置"]})]}),e.jsxs(Ot,{value:"chapters",className:"space-y-4",children:[e.jsxs("div",{className:"rounded-2xl border border-gray-700/50 bg-[#1C1C1E] p-4 flex items-center justify-between shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl bg-[#38bdac] flex items-center justify-center text-white shadow-lg shadow-[#38bdac]/20 shrink-0",children:e.jsx(qs,{className:"w-6 h-6"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"font-bold text-base text-white leading-tight mb-1",children:"一场SOUL的创业实验场"}),e.jsx("p",{className:"text-xs text-gray-500",children:"来自Soul派对房的真实商业故事"})]})]}),e.jsxs("div",{className:"text-center shrink-0",children:[e.jsx("span",{className:"block text-2xl font-bold text-[#38bdac]",children:_r}),e.jsx("span",{className:"text-xs text-gray-500",children:"章节"})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(J,{onClick:()=>y(!0),className:"flex-1 min-w-[120px] bg-[#38bdac]/10 hover:bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/30",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新建章节"]}),e.jsxs(J,{onClick:()=>se(!0),className:"flex-1 min-w-[120px] bg-amber-500/10 hover:bg-amber-500/20 text-amber-400 border border-amber-500/30",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新建篇"]}),e.jsxs(J,{variant:"outline",onClick:()=>F(!0),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:["批量移动(已选 ",ce.length," 节)"]})]}),l?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsx(fC,{parts:Bt,expandedParts:c,onTogglePart:gs,onReorder:Nn,onReadSection:ks,onDeleteSection:mr,onAddSectionInPart:ys,onAddChapterInPart:Sn,onDeleteChapter:Fs,onEditPart:Ds,onDeletePart:Jn,onEditChapter:Es,selectedSectionIds:ce,onToggleSectionSelect:Xn,onShowSectionOrders:Yn})]}),e.jsx(Ot,{value:"search",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsx(Ke,{children:e.jsx(Ge,{className:"text-white",children:"内容搜索"})}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 flex-1",placeholder:"搜索标题或内容...",value:T,onChange:z=>S(z.target.value),onKeyDown:z=>z.key==="Enter"&&kn()}),e.jsx(J,{onClick:kn,disabled:w||!T.trim(),className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:w?e.jsx(Be,{className:"w-4 h-4 animate-spin"}):e.jsx(cn,{className:"w-4 h-4"})})]}),N.length>0&&e.jsxs("div",{className:"space-y-2 mt-4",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["找到 ",N.length," 个结果"]}),N.map(z=>e.jsxs("div",{className:"p-3 rounded-lg bg-[#162840] hover:bg-[#1a3050] cursor-pointer transition-colors",onClick:()=>ks({id:z.id,title:z.title,price:z.price??1,filePath:""}),children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-[#38bdac] font-mono text-xs mr-2",children:z.id}),e.jsx("span",{className:"text-white",children:z.title})]}),e.jsx(Le,{variant:"outline",className:"text-gray-400 border-gray-600 text-xs",children:z.matchType==="title"?"标题匹配":"内容匹配"})]}),z.snippet&&e.jsx("p",{className:"text-gray-500 text-xs mt-2 line-clamp-2",children:z.snippet}),(z.partTitle||z.chapterTitle)&&e.jsxs("p",{className:"text-gray-600 text-xs mt-1",children:[z.partTitle," · ",z.chapterTitle]})]},z.id))]})]})]})}),e.jsx(Ot,{value:"hooks",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsx(Ke,{children:e.jsx(Ge,{className:"text-white",children:"引流钩子配置"})}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid w-full max-w-sm items-center gap-1.5",children:[e.jsx(te,{htmlFor:"hook-chapter",className:"text-gray-300",children:"触发章节"}),e.jsxs(kl,{defaultValue:"3",children:[e.jsx(ka,{id:"hook-chapter",className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{placeholder:"选择章节"})}),e.jsxs(Ea,{className:"bg-[#0f2137] border-gray-700",children:[e.jsx(lr,{value:"1",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"第一章"}),e.jsx(lr,{value:"2",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"第二章"}),e.jsx(lr,{value:"3",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"第三章 (默认)"})]})]})]}),e.jsxs("div",{className:"grid w-full gap-1.5",children:[e.jsx(te,{htmlFor:"message",className:"text-gray-300",children:"引流文案"}),e.jsx(un,{placeholder:"输入引导用户加群的文案...",id:"message",className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",defaultValue:"阅读更多精彩内容,请加入Soul创业实验派对群..."})]}),e.jsx(J,{className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:"保存配置"})]})]})})]})]})}const kr={name:"卡若",avatar:"K",avatarImg:"",title:"Soul派对房主理人 · 私域运营专家",bio:'每天早上6点到9点,在Soul派对房分享真实的创业故事。专注私域运营与项目变现,用"云阿米巴"模式帮助创业者构建可持续的商业体系。',stats:[{label:"商业案例",value:"62"},{label:"连续直播",value:"365天"},{label:"派对分享",value:"1000+"}],highlights:["5年私域运营经验","帮助100+品牌从0到1增长","连续创业者,擅长商业模式设计"]};function jx(r){return Array.isArray(r)?r.map(a=>a&&typeof a=="object"&&"label"in a&&"value"in a?{label:String(a.label),value:String(a.value)}:{label:"",value:""}).filter(a=>a.label||a.value):kr.stats}function bx(r){return Array.isArray(r)?r.map(a=>typeof a=="string"?a:String(a??"")).filter(Boolean):kr.highlights}function gC(){const[r,a]=h.useState(kr),[l,o]=h.useState(!0),[c,u]=h.useState(!1),[m,f]=h.useState(!1),p=h.useRef(null);h.useEffect(()=>{$e("/api/admin/author-settings").then(b=>{const w=b==null?void 0:b.data;w&&typeof w=="object"&&a({name:String(w.name??kr.name),avatar:String(w.avatar??kr.avatar),avatarImg:String(w.avatarImg??""),title:String(w.title??kr.title),bio:String(w.bio??kr.bio),stats:jx(w.stats).length?jx(w.stats):kr.stats,highlights:bx(w.highlights).length?bx(w.highlights):kr.highlights})}).catch(console.error).finally(()=>o(!1))},[]);const y=async()=>{u(!0);try{const b={name:r.name,avatar:r.avatar||"K",avatarImg:r.avatarImg,title:r.title,bio:r.bio,stats:r.stats.filter(_=>_.label||_.value),highlights:r.highlights.filter(Boolean)},w=await mt("/api/admin/author-settings",b);if(!w||w.success===!1){alert("保存失败: "+(w&&typeof w=="object"&&"error"in w?w.error:""));return}u(!1);const j=document.createElement("div");j.className="fixed top-4 right-4 z-50 px-4 py-2 rounded-lg bg-[#38bdac] text-white text-sm shadow-lg",j.textContent="作者设置已保存",document.body.appendChild(j),setTimeout(()=>j.remove(),2e3)}catch(b){console.error(b),alert("保存失败: "+(b instanceof Error?b.message:String(b)))}finally{u(!1)}},g=async b=>{var j;const w=(j=b.target.files)==null?void 0:j[0];if(w){f(!0);try{const _=new FormData;_.append("file",w),_.append("folder","avatars");const D=bu(),V={};D&&(V.Authorization=`Bearer ${D}`);const R=await(await fetch(Aa("/api/upload"),{method:"POST",body:_,credentials:"include",headers:V})).json();R!=null&&R.success&&(R!=null&&R.url)?a(E=>({...E,avatarImg:R.url})):alert("上传失败: "+((R==null?void 0:R.error)||"未知错误"))}catch(_){console.error(_),alert("上传失败")}finally{f(!1),p.current&&(p.current.value="")}}},v=()=>a(b=>({...b,stats:[...b.stats,{label:"",value:""}]})),k=b=>a(w=>({...w,stats:w.stats.filter((j,_)=>_!==b)})),P=(b,w,j)=>a(_=>({..._,stats:_.stats.map((D,V)=>V===b?{...D,[w]:j}:D)})),T=()=>a(b=>({...b,highlights:[...b.highlights,""]})),S=b=>a(w=>({...w,highlights:w.highlights.filter((j,_)=>_!==b)})),N=(b,w)=>a(j=>({...j,highlights:j.highlights.map((_,D)=>D===b?w:_)}));return l?e.jsx("div",{className:"p-8 text-gray-500",children:"加载中..."}):e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Ra,{className:"w-5 h-5 text-[#38bdac]"}),"作者详情"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"配置小程序「关于作者」页展示的作者信息,包括头像、简介、统计数据与亮点标签。"})]}),e.jsxs(J,{onClick:y,disabled:c||l,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),c?"保存中...":"保存"]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"flex items-center gap-2 text-white",children:[e.jsx(Ra,{className:"w-4 h-4 text-[#38bdac]"}),"基本信息"]}),e.jsx(jt,{className:"text-gray-400",children:"作者姓名、头像、头衔与个人简介,将展示在「关于作者」页顶部。"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"姓名"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:r.name,onChange:b=>a(w=>({...w,name:b.target.value})),placeholder:"卡若"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"首字母占位(无头像时显示)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white w-20",value:r.avatar,onChange:b=>a(w=>({...w,avatar:b.target.value.slice(0,1)||"K"})),placeholder:"K"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Gx,{className:"w-3 h-3 text-[#38bdac]"}),"头像图片"]}),e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:r.avatarImg,onChange:b=>a(w=>({...w,avatarImg:b.target.value})),placeholder:"上传或粘贴 URL,如 /uploads/avatars/xxx.png"}),e.jsx("input",{ref:p,type:"file",accept:"image/*",className:"hidden",onChange:g}),e.jsxs(J,{type:"button",variant:"outline",size:"sm",className:"border-gray-600 text-gray-400 shrink-0",disabled:m,onClick:()=>{var b;return(b=p.current)==null?void 0:b.click()},children:[e.jsx(uo,{className:"w-4 h-4 mr-2"}),m?"上传中...":"上传"]})]}),r.avatarImg&&e.jsx("div",{className:"mt-2",children:e.jsx("img",{src:r.avatarImg.startsWith("http")?r.avatarImg:Aa(r.avatarImg),alt:"头像预览",className:"w-20 h-20 rounded-full object-cover border border-gray-600"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"头衔"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:r.title,onChange:b=>a(w=>({...w,title:b.target.value})),placeholder:"Soul派对房主理人 · 私域运营专家"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"个人简介"}),e.jsx(un,{className:"bg-[#0a1628] border-gray-700 text-white min-h-[120px]",value:r.bio,onChange:b=>a(w=>({...w,bio:b.target.value})),placeholder:"每天早上6点到9点..."})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsx(Ge,{className:"text-white",children:"统计数据"}),e.jsx(jt,{className:"text-gray-400",children:"展示在作者卡片中的数字指标,如「商业案例 62」「连续直播 365天」。第一个「商业案例」的值可由书籍统计自动更新。"})]}),e.jsxs(we,{className:"space-y-3",children:[r.stats.map((b,w)=>e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:b.label,onChange:j=>P(w,"label",j.target.value),placeholder:"标签"}),e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:b.value,onChange:j=>P(w,"value",j.target.value),placeholder:"数值"}),e.jsx(J,{variant:"ghost",size:"icon",className:"text-gray-400 hover:text-red-400",onClick:()=>k(w),children:e.jsx(ms,{className:"w-4 h-4"})})]},w)),e.jsxs(J,{variant:"outline",size:"sm",onClick:v,className:"border-gray-600 text-gray-400",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"添加统计项"]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsx(Ge,{className:"text-white",children:"亮点标签"}),e.jsx(jt,{className:"text-gray-400",children:"作者优势或成就的简短描述,以标签形式展示。"})]}),e.jsxs(we,{className:"space-y-3",children:[r.highlights.map((b,w)=>e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:b,onChange:j=>N(w,j.target.value),placeholder:"5年私域运营经验"}),e.jsx(J,{variant:"ghost",size:"icon",className:"text-gray-400 hover:text-red-400",onClick:()=>S(w),children:e.jsx(ms,{className:"w-4 h-4"})})]},w)),e.jsxs(J,{variant:"outline",size:"sm",onClick:T,className:"border-gray-600 text-gray-400",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"添加亮点"]})]})]})]})]})}function yC(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m]=h.useState(10),[f,p]=h.useState(0),[y,g]=h.useState(""),v=Iu(y,300),[k,P]=h.useState(!0),[T,S]=h.useState(null),[N,b]=h.useState(!1),[w,j]=h.useState(null),[_,D]=h.useState(""),[V,I]=h.useState(""),[R,E]=h.useState(""),[Y,ne]=h.useState("admin"),[ae,q]=h.useState("active"),[se,H]=h.useState(!1);async function ie(){var F;P(!0),S(null);try{const O=new URLSearchParams({page:String(c),pageSize:String(m)});v.trim()&&O.set("search",v.trim());const Z=await $e(`/api/admin/users?${O}`);Z!=null&&Z.success?(a(Z.records||[]),o(Z.total??0),p(Z.totalPages??0)):S(Z.error||"加载失败")}catch(O){const Z=O;S(Z.status===403?"无权限访问":((F=Z==null?void 0:Z.data)==null?void 0:F.error)||"加载失败"),a([])}finally{P(!1)}}h.useEffect(()=>{ie()},[c,m,v]);const ve=()=>{j(null),D(""),I(""),E(""),ne("admin"),q("active"),b(!0)},U=F=>{j(F),D(F.username),I(""),E(F.name||""),ne(F.role==="super_admin"?"super_admin":"admin"),q(F.status==="disabled"?"disabled":"active"),b(!0)},ce=async()=>{var F;if(!_.trim()){S("用户名不能为空");return}if(!w&&!V){S("新建时密码必填,至少 6 位");return}if(V&&V.length<6){S("密码至少 6 位");return}S(null),H(!0);try{if(w){const O=await vt("/api/admin/users",{id:w.id,password:V||void 0,name:R.trim(),role:Y,status:ae});O!=null&&O.success?(b(!1),ie()):S((O==null?void 0:O.error)||"保存失败")}else{const O=await mt("/api/admin/users",{username:_.trim(),password:V,name:R.trim(),role:Y});O!=null&&O.success?(b(!1),ie()):S((O==null?void 0:O.error)||"保存失败")}}catch(O){const Z=O;S(((F=Z==null?void 0:Z.data)==null?void 0:F.error)||"保存失败")}finally{H(!1)}},K=async F=>{var O;if(confirm("确定删除该管理员?"))try{const Z=await Pr(`/api/admin/users?id=${F}`);Z!=null&&Z.success?ie():S((Z==null?void 0:Z.error)||"删除失败")}catch(Z){const G=Z;S(((O=G==null?void 0:G.data)==null?void 0:O.error)||"删除失败")}},A=F=>{if(!F)return"-";try{const O=new Date(F);return isNaN(O.getTime())?F:O.toLocaleString("zh-CN")}catch{return F}};return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-6",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(vu,{className:"w-5 h-5 text-[#38bdac]"}),"管理员用户"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"后台登录账号管理,仅超级管理员可操作"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(le,{placeholder:"搜索用户名/昵称",value:y,onChange:F=>g(F.target.value),className:"w-48 bg-[#0f2137] border-gray-700 text-white placeholder:text-gray-500"}),e.jsx(J,{variant:"outline",size:"sm",onClick:ie,disabled:k,className:"border-gray-600 text-gray-300",children:e.jsx(Be,{className:`w-4 h-4 ${k?"animate-spin":""}`})}),e.jsxs(J,{onClick:ve,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新增管理员"]})]})]}),T&&e.jsxs("div",{className:"mb-4 p-3 rounded-lg bg-red-500/10 border border-red-500/20 text-red-400 text-sm flex justify-between items-center",children:[e.jsx("span",{children:T}),e.jsx("button",{type:"button",onClick:()=>S(null),className:"text-red-400 hover:text-red-300",children:"×"})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:k?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"用户名"}),e.jsx(be,{className:"text-gray-400",children:"昵称"}),e.jsx(be,{className:"text-gray-400",children:"角色"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-gray-400",children:"创建时间"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[r.map(F=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:F.id}),e.jsx(pe,{className:"text-white font-medium",children:F.username}),e.jsx(pe,{className:"text-gray-400",children:F.name||"-"}),e.jsx(pe,{children:e.jsx(Le,{variant:"outline",className:F.role==="super_admin"?"border-amber-500/50 text-amber-400":"border-gray-600 text-gray-400",children:F.role==="super_admin"?"超级管理员":"管理员"})}),e.jsx(pe,{children:e.jsx(Le,{variant:"outline",className:F.status==="active"?"border-[#38bdac]/50 text-[#38bdac]":"border-gray-500 text-gray-500",children:F.status==="active"?"正常":"已禁用"})}),e.jsx(pe,{className:"text-gray-500 text-sm",children:A(F.createdAt)}),e.jsxs(pe,{className:"text-right",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>U(F),className:"text-gray-400 hover:text-[#38bdac]",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>K(F.id),className:"text-gray-400 hover:text-red-400",children:e.jsx(Ht,{className:"w-4 h-4"})})]})]},F.id)),r.length===0&&!k&&e.jsx(et,{children:e.jsx(pe,{colSpan:7,className:"text-center py-12 text-gray-500",children:T==="无权限访问"?"仅超级管理员可查看":"暂无管理员"})})]})]}),f>1&&e.jsx("div",{className:"p-4 border-t border-gray-700/50",children:e.jsx(Qs,{page:c,pageSize:m,total:l,totalPages:f,onPageChange:u})})]})})}),e.jsx(Ct,{open:N,onOpenChange:b,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-sm",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:w?"编辑管理员":"新增管理员"})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"用户名"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"登录用户名",value:_,onChange:F=>D(F.target.value),disabled:!!w}),w&&e.jsx("p",{className:"text-xs text-gray-500",children:"用户名不可修改"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:w?"新密码(留空不改)":"密码"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:w?"留空表示不修改":"至少 6 位",value:V,onChange:F=>I(F.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"昵称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"显示名称",value:R,onChange:F=>E(F.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"角色"}),e.jsxs("select",{value:Y,onChange:F=>ne(F.target.value),className:"w-full h-10 px-3 rounded-md bg-[#0a1628] border border-gray-700 text-white",children:[e.jsx("option",{value:"admin",children:"管理员"}),e.jsx("option",{value:"super_admin",children:"超级管理员"})]})]}),w&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"状态"}),e.jsxs("select",{value:ae,onChange:F=>q(F.target.value),className:"w-full h-10 px-3 rounded-md bg-[#0a1628] border border-gray-700 text-white",children:[e.jsx("option",{value:"active",children:"正常"}),e.jsx("option",{value:"disabled",children:"禁用"})]})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>b(!1),className:"border-gray-600 text-gray-300",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:ce,disabled:se,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),se?"保存中...":"保存"]})]})]})})]})}const vC={appId:"wxb8bbb2b10dec74aa",withdrawSubscribeTmplId:"u3MbZGPRkrZIk-I7QdpwzFxnO_CeQPaCWF2FkiIablE",mchId:"1318592501",minWithdraw:10},jC={name:"卡若",startDate:"2025年10月15日",bio:"连续创业者,私域运营专家,每天早上6-9点在Soul派对房分享真实商业故事",liveTime:"06:00-09:00",platform:"Soul派对房",description:"连续创业者,私域运营专家"},bC={sectionPrice:1,baseBookPrice:9.9,distributorShare:90,authorInfo:{...jC}},NC={matchEnabled:!0,referralEnabled:!0,searchEnabled:!0,aboutEnabled:!0},wC=["system","author","admin"];function SC(){const[r,a]=$x(),l=r.get("tab")??"system",o=wC.includes(l)?l:"system",[c,u]=h.useState(bC),[m,f]=h.useState(NC),[p,y]=h.useState(vC),[g,v]=h.useState(!1),[k,P]=h.useState(!0),[T,S]=h.useState(!1),[N,b]=h.useState(""),[w,j]=h.useState(""),[_,D]=h.useState(!1),[V,I]=h.useState(!1),R=(q,se,H=!1)=>{b(q),j(se),D(H),S(!0)};h.useEffect(()=>{(async()=>{try{const se=await $e("/api/admin/settings");if(!se||se.success===!1)return;if(se.featureConfig&&Object.keys(se.featureConfig).length&&f(H=>({...H,...se.featureConfig})),se.mpConfig&&typeof se.mpConfig=="object"&&y(H=>({...H,...se.mpConfig})),se.siteSettings&&typeof se.siteSettings=="object"){const H=se.siteSettings;u(ie=>({...ie,...typeof H.sectionPrice=="number"&&{sectionPrice:H.sectionPrice},...typeof H.baseBookPrice=="number"&&{baseBookPrice:H.baseBookPrice},...typeof H.distributorShare=="number"&&{distributorShare:H.distributorShare},...H.authorInfo&&typeof H.authorInfo=="object"&&{authorInfo:{...ie.authorInfo,...H.authorInfo}}}))}}catch(se){console.error("Load settings error:",se)}finally{P(!1)}})()},[]);const E=async(q,se)=>{I(!0);try{const H=await mt("/api/admin/settings",{featureConfig:q});if(!H||H.success===!1){se(),R("保存失败",(H==null?void 0:H.error)??"未知错误",!0);return}R("已保存","功能开关已更新,相关入口将随之显示或隐藏。")}catch(H){console.error("Save feature config error:",H),se(),R("保存失败",H instanceof Error?H.message:String(H),!0)}finally{I(!1)}},Y=(q,se)=>{const H=m,ie={...H,[q]:se};f(ie),E(ie,()=>f(H))},ne=async()=>{v(!0);try{const q=await mt("/api/admin/settings",{featureConfig:m,siteSettings:{sectionPrice:c.sectionPrice,baseBookPrice:c.baseBookPrice,distributorShare:c.distributorShare,authorInfo:c.authorInfo},mpConfig:{...p,appId:p.appId||"",withdrawSubscribeTmplId:p.withdrawSubscribeTmplId||"",mchId:p.mchId||"",minWithdraw:typeof p.minWithdraw=="number"?p.minWithdraw:10}});if(!q||q.success===!1){R("保存失败",(q==null?void 0:q.error)??"未知错误",!0);return}R("已保存","设置已保存成功。")}catch(q){console.error("Save settings error:",q),R("保存失败",q instanceof Error?q.message:String(q),!0)}finally{v(!1)}},ae=q=>{a(q==="system"?{}:{tab:q})};return k?e.jsx("div",{className:"p-8 text-gray-500",children:"加载中..."}):e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"系统设置"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"配置全站基础参数与开关"})]}),o==="system"&&e.jsxs(J,{onClick:ne,disabled:g,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),g?"保存中...":"保存设置"]})]}),e.jsxs($l,{value:o,onValueChange:ae,className:"w-full",children:[e.jsxs($a,{className:"mb-6 bg-[#0f2137] border border-gray-700/50 p-1",children:[e.jsxs(Lt,{value:"system",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400 data-[state=active]:font-medium",children:[e.jsx(Bn,{className:"w-4 h-4 mr-2"}),"系统设置"]}),e.jsxs(Lt,{value:"author",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400 data-[state=active]:font-medium",children:[e.jsx(Cd,{className:"w-4 h-4 mr-2"}),"作者详情"]}),e.jsxs(Lt,{value:"admin",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400 data-[state=active]:font-medium",children:[e.jsx(vu,{className:"w-4 h-4 mr-2"}),"管理员"]})]}),e.jsx(Ot,{value:"system",className:"mt-0",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Cd,{className:"w-5 h-5 text-[#38bdac]"}),"关于作者"]}),e.jsx(jt,{className:"text-gray-400",children:'配置作者信息,将在"关于作者"页面显示'})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"author-name",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(Cd,{className:"w-3 h-3"}),"主理人名称"]}),e.jsx(le,{id:"author-name",className:"bg-[#0a1628] border-gray-700 text-white",value:c.authorInfo.name??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,name:q.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"start-date",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(oo,{className:"w-3 h-3"}),"开播日期"]}),e.jsx(le,{id:"start-date",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例如: 2025年10月15日",value:c.authorInfo.startDate??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,startDate:q.target.value}}))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"live-time",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(oo,{className:"w-3 h-3"}),"直播时间"]}),e.jsx(le,{id:"live-time",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例如: 06:00-09:00",value:c.authorInfo.liveTime??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,liveTime:q.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"platform",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(Yx,{className:"w-3 h-3"}),"直播平台"]}),e.jsx(le,{id:"platform",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例如: Soul派对房",value:c.authorInfo.platform??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,platform:q.target.value}}))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"description",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(qs,{className:"w-3 h-3"}),"简介描述"]}),e.jsx(le,{id:"description",className:"bg-[#0a1628] border-gray-700 text-white",value:c.authorInfo.description??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,description:q.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"bio",className:"text-gray-300",children:"详细介绍"}),e.jsx(un,{id:"bio",className:"bg-[#0a1628] border-gray-700 text-white min-h-[100px]",placeholder:"输入作者详细介绍...",value:c.authorInfo.bio??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,bio:q.target.value}}))})]}),e.jsxs("div",{className:"mt-4 p-4 rounded-xl bg-[#0a1628] border border-[#38bdac]/30",children:[e.jsx("p",{className:"text-xs text-gray-500 mb-2",children:"预览效果"}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-to-br from-[#00CED1] to-[#20B2AA] flex items-center justify-center text-xl font-bold text-white",children:(c.authorInfo.name??"K").charAt(0)}),e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-semibold",children:c.authorInfo.name}),e.jsx("p",{className:"text-gray-400 text-xs",children:c.authorInfo.description}),e.jsxs("p",{className:"text-[#38bdac] text-xs mt-1",children:["每日 ",c.authorInfo.liveTime," · ",c.authorInfo.platform]})]})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Ml,{className:"w-5 h-5 text-[#38bdac]"}),"价格设置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置书籍和章节的定价"})]}),e.jsx(we,{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"单节价格 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:c.sectionPrice,onChange:q=>u(se=>({...se,sectionPrice:Number.parseFloat(q.target.value)||1}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"整本价格 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:c.baseBookPrice,onChange:q=>u(se=>({...se,baseBookPrice:Number.parseFloat(q.target.value)||9.9}))})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Al,{className:"w-5 h-5 text-[#38bdac]"}),"小程序配置"]}),e.jsx(jt,{className:"text-gray-400",children:"订阅消息模板、支付商户号等,小程序从 /api/miniprogram/config 读取(API 地址由 app.js baseUrl 控制)"})]}),e.jsx(we,{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"小程序 AppID"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"wxb8bbb2b10dec74aa",value:p.appId??"",onChange:q=>y(se=>({...se,appId:q.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"提现订阅模板 ID"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"用户申请提现时需授权",value:p.withdrawSubscribeTmplId??"",onChange:q=>y(se=>({...se,withdrawSubscribeTmplId:q.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"微信支付商户号"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"1318592501",value:p.mchId??"",onChange:q=>y(se=>({...se,mchId:q.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"最低提现金额 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:p.minWithdraw??10,onChange:q=>y(se=>({...se,minWithdraw:Number.parseFloat(q.target.value)||10}))})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Bn,{className:"w-5 h-5 text-[#38bdac]"}),"功能开关"]}),e.jsx(jt,{className:"text-gray-400",children:"控制各个功能模块的显示/隐藏"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-[#0a1628] border border-gray-700/50",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Yt,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx(te,{htmlFor:"match-enabled",className:"text-white font-medium cursor-pointer",children:"找伙伴功能"})]}),e.jsx("p",{className:"text-xs text-gray-400 ml-6",children:"控制小程序和Web端的找伙伴功能显示"})]}),e.jsx(ot,{id:"match-enabled",checked:m.matchEnabled,disabled:V,onCheckedChange:q=>Y("matchEnabled",q)})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-[#0a1628] border border-gray-700/50",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(yb,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx(te,{htmlFor:"referral-enabled",className:"text-white font-medium cursor-pointer",children:"推广功能"})]}),e.jsx("p",{className:"text-xs text-gray-400 ml-6",children:"控制推广中心的显示(我的页面入口)"})]}),e.jsx(ot,{id:"referral-enabled",checked:m.referralEnabled,disabled:V,onCheckedChange:q=>Y("referralEnabled",q)})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-[#0a1628] border border-gray-700/50",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(qs,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx(te,{htmlFor:"search-enabled",className:"text-white font-medium cursor-pointer",children:"搜索功能"})]}),e.jsx("p",{className:"text-xs text-gray-400 ml-6",children:"控制首页搜索栏的显示"})]}),e.jsx(ot,{id:"search-enabled",checked:m.searchEnabled,disabled:V,onCheckedChange:q=>Y("searchEnabled",q)})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-[#0a1628] border border-gray-700/50",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Bn,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx(te,{htmlFor:"about-enabled",className:"text-white font-medium cursor-pointer",children:"关于页面"})]}),e.jsx("p",{className:"text-xs text-gray-400 ml-6",children:"控制关于页面的访问"})]}),e.jsx(ot,{id:"about-enabled",checked:m.aboutEnabled,disabled:V,onCheckedChange:q=>Y("aboutEnabled",q)})]})]}),e.jsx("div",{className:"p-3 rounded-lg bg-blue-500/10 border border-blue-500/30",children:e.jsx("p",{className:"text-xs text-blue-300",children:"💡 关闭功能后,相关入口会自动隐藏。建议在功能开发完成后再开启。"})})]})]})]})}),e.jsx(Ot,{value:"author",className:"mt-0",children:e.jsx(gC,{})}),e.jsx(Ot,{value:"admin",className:"mt-0",children:e.jsx(yC,{})})]}),e.jsx(Ct,{open:T,onOpenChange:S,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white",showCloseButton:!0,children:[e.jsxs(kt,{children:[e.jsx(Et,{className:_?"text-red-400":"text-[#38bdac]",children:N}),e.jsx(m2,{className:"text-gray-400 whitespace-pre-wrap pt-2",children:w})]}),e.jsx(Dt,{className:"mt-4",children:e.jsx(J,{onClick:()=>S(!1),className:_?"bg-gray-600 hover:bg-gray-500":"bg-[#38bdac] hover:bg-[#2da396]",children:"确定"})})]})})]})}const Nx={wechat:{enabled:!0,qrCode:"/images/wechat-pay.png",account:"卡若",websiteAppId:"",merchantId:"",groupQrCode:"/images/party-group-qr.png"},alipay:{enabled:!0,qrCode:"/images/alipay.png",account:"卡若",partnerId:"",securityKey:""},usdt:{enabled:!1,network:"TRC20",address:"",exchangeRate:7.2},paypal:{enabled:!1,email:"",exchangeRate:7.2}};function CC(){const[r,a]=h.useState(!1),[l,o]=h.useState(Nx),[c,u]=h.useState(""),m=async()=>{a(!0);try{const b=await $e("/api/config");b!=null&&b.paymentMethods&&o({...Nx,...b.paymentMethods})}catch(b){console.error(b)}finally{a(!1)}};h.useEffect(()=>{m()},[]);const f=async()=>{a(!0);try{await mt("/api/db/config",{key:"payment_methods",value:l,description:"支付方式配置"}),alert("配置已保存!")}catch(b){console.error("保存失败:",b),alert("保存失败: "+(b instanceof Error?b.message:String(b)))}finally{a(!1)}},p=(b,w)=>{navigator.clipboard.writeText(b),u(w),setTimeout(()=>u(""),2e3)},y=(b,w)=>{o(j=>({...j,wechat:{...j.wechat,[b]:w}}))},g=(b,w)=>{o(j=>({...j,alipay:{...j.alipay,[b]:w}}))},v=(b,w)=>{o(j=>({...j,usdt:{...j.usdt,[b]:w}}))},k=(b,w)=>{o(j=>({...j,paypal:{...j.paypal,[b]:w}}))},P=l.wechat,T=l.alipay,S=l.usdt,N=l.paypal;return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold mb-2 text-white",children:"支付配置"}),e.jsx("p",{className:"text-gray-400",children:"配置微信、支付宝、USDT、PayPal等支付参数"})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsxs(J,{variant:"outline",onClick:m,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${r?"animate-spin":""}`}),"同步配置"]}),e.jsxs(J,{onClick:f,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存配置"]})]})]}),e.jsx("div",{className:"mb-6 bg-[#07C160]/10 border border-[#07C160]/30 rounded-xl p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Vx,{className:"w-5 h-5 text-[#07C160] flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-sm",children:[e.jsx("p",{className:"font-medium mb-2 text-[#07C160]",children:"如何获取微信群跳转链接?"}),e.jsxs("ol",{className:"text-[#07C160]/80 space-y-1 list-decimal list-inside",children:[e.jsx("li",{children:"打开微信,进入目标微信群"}),e.jsx("li",{children:'点击右上角"..." → "群二维码"'}),e.jsx("li",{children:'点击右上角"..." → "发送到电脑"'}),e.jsx("li",{children:"在电脑上保存二维码图片,上传到图床获取URL"}),e.jsx("li",{children:"或使用草料二维码等工具解析二维码获取链接"})]}),e.jsx("p",{className:"text-[#07C160]/60 mt-2",children:"提示:微信群二维码7天后失效,建议使用活码工具"})]})]})}),e.jsxs($l,{defaultValue:"wechat",className:"space-y-6",children:[e.jsxs($a,{className:"bg-[#0f2137] border border-gray-700/50 p-1 grid grid-cols-4 w-full",children:[e.jsxs(Lt,{value:"wechat",className:"data-[state=active]:bg-[#07C160]/20 data-[state=active]:text-[#07C160] text-gray-400",children:[e.jsx(Al,{className:"w-4 h-4 mr-2"}),"微信"]}),e.jsxs(Lt,{value:"alipay",className:"data-[state=active]:bg-[#1677FF]/20 data-[state=active]:text-[#1677FF] text-gray-400",children:[e.jsx(zf,{className:"w-4 h-4 mr-2"}),"支付宝"]}),e.jsxs(Lt,{value:"usdt",className:"data-[state=active]:bg-[#26A17B]/20 data-[state=active]:text-[#26A17B] text-gray-400",children:[e.jsx(Of,{className:"w-4 h-4 mr-2"}),"USDT"]}),e.jsxs(Lt,{value:"paypal",className:"data-[state=active]:bg-[#003087]/20 data-[state=active]:text-[#169BD7] text-gray-400",children:[e.jsx(Qd,{className:"w-4 h-4 mr-2"}),"PayPal"]})]}),e.jsx(Ot,{value:"wechat",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Ge,{className:"text-[#07C160] flex items-center gap-2",children:[e.jsx(Al,{className:"w-5 h-5"}),"微信支付配置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置微信支付参数和跳转链接"})]}),e.jsx(ot,{checked:!!P.enabled,onCheckedChange:b=>y("enabled",b)})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"网站AppID"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",value:String(P.websiteAppId??""),onChange:b=>y("websiteAppId",b.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"商户号"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",value:String(P.merchantId??""),onChange:b=>y("merchantId",b.target.value)})]})]}),e.jsxs("div",{className:"border-t border-gray-700/50 pt-4 space-y-4",children:[e.jsxs("h4",{className:"text-white font-medium flex items-center gap-2",children:[e.jsx(co,{className:"w-4 h-4 text-[#38bdac]"}),"跳转链接配置(核心功能)"]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"微信收款码/支付链接"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",placeholder:"https://收款码图片URL 或 weixin://支付链接",value:String(P.qrCode??""),onChange:b=>y("qrCode",b.target.value)}),e.jsx("p",{className:"text-xs text-gray-500",children:"用户点击微信支付后显示的二维码图片URL"})]}),e.jsxs("div",{className:"space-y-2 bg-[#07C160]/5 p-4 rounded-xl border border-[#07C160]/20",children:[e.jsx(te,{className:"text-[#07C160] font-medium",children:"微信群跳转链接(支付成功后跳转)"}),e.jsx(le,{className:"bg-[#0a1628] border-[#07C160]/30 text-white placeholder:text-gray-500",placeholder:"https://weixin.qq.com/g/... 或微信群二维码图片URL",value:String(P.groupQrCode??""),onChange:b=>y("groupQrCode",b.target.value)}),e.jsx("p",{className:"text-xs text-[#07C160]/70",children:"用户支付成功后将自动跳转到此链接,进入指定微信群"})]})]})]})]})}),e.jsx(Ot,{value:"alipay",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Ge,{className:"text-[#1677FF] flex items-center gap-2",children:[e.jsx(zf,{className:"w-5 h-5"}),"支付宝配置"]}),e.jsx(jt,{className:"text-gray-400",children:"已加载真实支付宝参数"})]}),e.jsx(ot,{checked:!!T.enabled,onCheckedChange:b=>g("enabled",b)})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"合作者身份 (PID)"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",value:String(T.partnerId??""),onChange:b=>g("partnerId",b.target.value)}),e.jsx(J,{size:"icon",variant:"outline",className:"border-gray-700 bg-transparent",onClick:()=>p(String(T.partnerId??""),"pid"),children:c==="pid"?e.jsx(wo,{className:"w-4 h-4 text-green-500"}):e.jsx(Hx,{className:"w-4 h-4 text-gray-400"})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"安全校验码 (Key)"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",value:String(T.securityKey??""),onChange:b=>g("securityKey",b.target.value)})]})]}),e.jsxs("div",{className:"border-t border-gray-700/50 pt-4 space-y-4",children:[e.jsxs("h4",{className:"text-white font-medium flex items-center gap-2",children:[e.jsx(co,{className:"w-4 h-4 text-[#38bdac]"}),"跳转链接配置"]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"支付宝收款码/跳转链接"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",placeholder:"https://qr.alipay.com/... 或收款码图片URL",value:String(T.qrCode??""),onChange:b=>g("qrCode",b.target.value)}),e.jsx("p",{className:"text-xs text-gray-500",children:"用户点击支付宝支付后显示的二维码"})]})]})]})]})}),e.jsx(Ot,{value:"usdt",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Ge,{className:"text-[#26A17B] flex items-center gap-2",children:[e.jsx(Of,{className:"w-5 h-5"}),"USDT配置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置加密货币收款地址"})]}),e.jsx(ot,{checked:!!S.enabled,onCheckedChange:b=>v("enabled",b)})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"网络类型"}),e.jsxs("select",{className:"w-full bg-[#0a1628] border border-gray-700 text-white rounded-md p-2",value:String(S.network??"TRC20"),onChange:b=>v("network",b.target.value),children:[e.jsx("option",{value:"TRC20",children:"TRC20 (波场)"}),e.jsx("option",{value:"ERC20",children:"ERC20 (以太坊)"}),e.jsx("option",{value:"BEP20",children:"BEP20 (币安链)"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"收款地址"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",placeholder:"T... (TRC20地址)",value:String(S.address??""),onChange:b=>v("address",b.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"汇率 (1 USD = ? CNY)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:Number(S.exchangeRate)??7.2,onChange:b=>v("exchangeRate",Number.parseFloat(b.target.value)||7.2)})]})]})]})}),e.jsx(Ot,{value:"paypal",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Ge,{className:"text-[#169BD7] flex items-center gap-2",children:[e.jsx(Qd,{className:"w-5 h-5"}),"PayPal配置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置PayPal收款账户"})]}),e.jsx(ot,{checked:!!N.enabled,onCheckedChange:b=>k("enabled",b)})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"PayPal邮箱"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"your@email.com",value:String(N.email??""),onChange:b=>k("email",b.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"汇率 (1 USD = ? CNY)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:Number(N.exchangeRate)??7.2,onChange:b=>k("exchangeRate",Number(b.target.value)||7.2)})]})]})]})})]})]})}const kC={siteName:"卡若日记",siteTitle:"一场SOUL的创业实验场",siteDescription:"来自Soul派对房的真实商业故事",logo:"/logo.png",favicon:"/favicon.ico",primaryColor:"#00CED1"},EC={home:{enabled:!0,label:"首页"},chapters:{enabled:!0,label:"目录"},match:{enabled:!0,label:"匹配"},my:{enabled:!0,label:"我的"}},PC={homeTitle:"一场SOUL的创业实验场",homeSubtitle:"来自Soul派对房的真实商业故事",chaptersTitle:"我要看",matchTitle:"语音匹配",myTitle:"我的",aboutTitle:"关于作者"};function TC(){const[r,a]=h.useState({siteConfig:{...kC},menuConfig:{...EC},pageConfig:{...PC}}),[l,o]=h.useState(!1),[c,u]=h.useState(!1);h.useEffect(()=>{$e("/api/config").then(g=>{g!=null&&g.siteConfig&&a(v=>({...v,siteConfig:{...v.siteConfig,...g.siteConfig}})),g!=null&&g.menuConfig&&a(v=>({...v,menuConfig:{...v.menuConfig,...g.menuConfig}})),g!=null&&g.pageConfig&&a(v=>({...v,pageConfig:{...v.pageConfig,...g.pageConfig}}))}).catch(console.error)},[]);const m=async()=>{u(!0);try{await mt("/api/db/config",{key:"site_config",value:r.siteConfig,description:"网站基础配置"}),await mt("/api/db/config",{key:"menu_config",value:r.menuConfig,description:"底部菜单配置"}),await mt("/api/db/config",{key:"page_config",value:r.pageConfig,description:"页面标题配置"}),o(!0),setTimeout(()=>o(!1),2e3),alert("配置已保存")}catch(g){console.error(g),alert("保存失败: "+(g instanceof Error?g.message:String(g)))}finally{u(!1)}},f=r.siteConfig,p=r.menuConfig,y=r.pageConfig;return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"网站配置"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"配置网站名称、图标、菜单和页面标题"})]}),e.jsxs(J,{onClick:m,disabled:c,className:`${l?"bg-green-500":"bg-[#00CED1]"} hover:bg-[#20B2AA] text-white transition-colors`,children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),c?"保存中...":l?"已保存":"保存设置"]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Qd,{className:"w-5 h-5 text-[#00CED1]"}),"网站基础信息"]}),e.jsx(jt,{className:"text-gray-400",children:"配置网站名称、标题和描述"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"site-name",className:"text-gray-300",children:"网站名称"}),e.jsx(le,{id:"site-name",className:"bg-[#0a1628] border-gray-700 text-white",value:f.siteName??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,siteName:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"site-title",className:"text-gray-300",children:"网站标题"}),e.jsx(le,{id:"site-title",className:"bg-[#0a1628] border-gray-700 text-white",value:f.siteTitle??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,siteTitle:g.target.value}}))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"site-desc",className:"text-gray-300",children:"网站描述"}),e.jsx(le,{id:"site-desc",className:"bg-[#0a1628] border-gray-700 text-white",value:f.siteDescription??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,siteDescription:g.target.value}}))})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"logo",className:"text-gray-300",children:"Logo地址"}),e.jsx(le,{id:"logo",className:"bg-[#0a1628] border-gray-700 text-white",value:f.logo??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,logo:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"favicon",className:"text-gray-300",children:"Favicon地址"}),e.jsx(le,{id:"favicon",className:"bg-[#0a1628] border-gray-700 text-white",value:f.favicon??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,favicon:g.target.value}}))})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Gb,{className:"w-5 h-5 text-[#00CED1]"}),"主题颜色"]}),e.jsx(jt,{className:"text-gray-400",children:"配置网站主题色"})]}),e.jsx(we,{children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"space-y-2 flex-1",children:[e.jsx(te,{htmlFor:"primary-color",className:"text-gray-300",children:"主色调"}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(le,{id:"primary-color",type:"color",className:"w-16 h-10 bg-[#0a1628] border-gray-700 cursor-pointer p-1",value:f.primaryColor??"#00CED1",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,primaryColor:g.target.value}}))}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white flex-1",value:f.primaryColor??"#00CED1",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,primaryColor:g.target.value}}))})]})]}),e.jsx("div",{className:"w-24 h-24 rounded-xl flex items-center justify-center text-white font-bold",style:{backgroundColor:f.primaryColor??"#00CED1"},children:"预览"})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Ub,{className:"w-5 h-5 text-[#00CED1]"}),"底部菜单配置"]}),e.jsx(jt,{className:"text-gray-400",children:"控制底部导航栏菜单的显示和名称"})]}),e.jsx(we,{className:"space-y-4",children:Object.entries(p).map(([g,v])=>e.jsxs("div",{className:"flex items-center justify-between p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-4 flex-1",children:[e.jsx(ot,{checked:(v==null?void 0:v.enabled)??!0,onCheckedChange:k=>a(P=>({...P,menuConfig:{...P.menuConfig,[g]:{...v,enabled:k}}}))}),e.jsx("span",{className:"text-gray-300 w-16 capitalize",children:g}),e.jsx(le,{className:"bg-[#0f2137] border-gray-700 text-white max-w-[200px]",value:(v==null?void 0:v.label)??"",onChange:k=>a(P=>({...P,menuConfig:{...P.menuConfig,[g]:{...v,label:k.target.value}}}))})]}),e.jsx("span",{className:`text-sm ${v!=null&&v.enabled?"text-green-400":"text-gray-500"}`,children:v!=null&&v.enabled?"显示":"隐藏"})]},g))})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(xb,{className:"w-5 h-5 text-[#00CED1]"}),"页面标题配置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置各个页面的标题和副标题"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"首页标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.homeTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,homeTitle:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"首页副标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.homeSubtitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,homeSubtitle:g.target.value}}))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"目录页标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.chaptersTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,chaptersTitle:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"匹配页标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.matchTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,matchTitle:g.target.value}}))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"我的页标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.myTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,myTitle:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"关于作者标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.aboutTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,aboutTitle:g.target.value}}))})]})]})]})]})]})]})}function RC(){const[r,a]=h.useState(""),[l,o]=h.useState(""),[c,u]=h.useState(""),[m,f]=h.useState({}),p=async()=>{var P,T,S,N;try{const b=await $e("/api/config"),w=(T=(P=b==null?void 0:b.liveQRCodes)==null?void 0:P[0])==null?void 0:T.urls;Array.isArray(w)&&a(w.join(` -`));const j=(N=(S=b==null?void 0:b.paymentMethods)==null?void 0:S.wechat)==null?void 0:N.groupQrCode;j&&o(j),f({paymentMethods:b==null?void 0:b.paymentMethods,liveQRCodes:b==null?void 0:b.liveQRCodes})}catch(b){console.error(b)}};h.useEffect(()=>{p()},[]);const y=(P,T)=>{navigator.clipboard.writeText(P),u(T),setTimeout(()=>u(""),2e3)},g=async()=>{try{const P=r.split(` -`).map(S=>S.trim()).filter(Boolean),T=[...m.liveQRCodes||[]];T[0]?T[0].urls=P:T.push({id:"live-1",name:"微信群活码",urls:P,clickCount:0}),await mt("/api/db/config",{key:"live_qr_codes",value:T,description:"群活码配置"}),alert("群活码配置已保存!"),await p()}catch(P){console.error(P),alert("保存失败: "+(P instanceof Error?P.message:String(P)))}},v=async()=>{var P;try{await mt("/api/db/config",{key:"payment_methods",value:{...m.paymentMethods||{},wechat:{...((P=m.paymentMethods)==null?void 0:P.wechat)||{},groupQrCode:l}},description:"支付方式配置"}),alert("微信群链接已保存!用户支付成功后将自动跳转"),await p()}catch(T){console.error(T),alert("保存失败: "+(T instanceof Error?T.message:String(T)))}},k=()=>{l?window.open(l,"_blank"):alert("请先配置微信群链接")};return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"微信群活码管理"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"配置微信群跳转链接,用户支付后自动跳转加群"})]}),e.jsx("div",{className:"mb-6 bg-[#07C160]/10 border border-[#07C160]/30 rounded-xl p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Vx,{className:"w-5 h-5 text-[#07C160] flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-sm",children:[e.jsx("p",{className:"font-medium mb-2 text-[#07C160]",children:"微信群活码配置指南"}),e.jsxs("div",{className:"text-[#07C160]/80 space-y-2",children:[e.jsx("p",{className:"font-medium",children:"方法一:使用草料活码(推荐)"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-1 pl-2",children:[e.jsx("li",{children:"访问草料二维码创建活码"}),e.jsx("li",{children:"上传微信群二维码图片,生成永久链接"}),e.jsx("li",{children:"复制生成的短链接填入下方配置"}),e.jsx("li",{children:"群满后可直接在草料后台更换新群码,链接不变"})]}),e.jsx("p",{className:"font-medium mt-3",children:"方法二:直接使用微信群链接"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-1 pl-2",children:[e.jsx("li",{children:'微信打开目标群 → 右上角"..." → 群二维码'}),e.jsx("li",{children:"长按二维码 → 识别二维码 → 复制链接"})]}),e.jsx("p",{className:"text-[#07C160]/60 mt-2",children:"注意:微信原生群二维码7天后失效,建议使用草料活码"})]})]})]})}),e.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl md:col-span-2",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-[#07C160] flex items-center gap-2",children:[e.jsx(Uf,{className:"w-5 h-5"}),"支付成功跳转链接(核心配置)"]}),e.jsx(jt,{className:"text-gray-400",children:"用户支付完成后自动跳转到此链接,进入指定微信群"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Bf,{className:"w-4 h-4"}),"微信群链接 / 活码链接"]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(le,{placeholder:"https://cli.im/xxxxx 或 https://weixin.qq.com/g/...",className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 flex-1",value:l,onChange:P=>o(P.target.value)}),e.jsx(J,{variant:"outline",size:"icon",className:"border-gray-700 bg-transparent hover:bg-gray-700/50",onClick:()=>y(l,"group"),children:c==="group"?e.jsx(wo,{className:"w-4 h-4 text-green-500"}):e.jsx(Hx,{className:"w-4 h-4 text-gray-400"})})]}),e.jsxs("p",{className:"text-xs text-gray-500 flex items-center gap-1",children:[e.jsx(co,{className:"w-3 h-3"}),"支持格式:草料短链、微信群链接(https://weixin.qq.com/g/...)、企业微信链接等"]})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsxs(J,{onClick:v,className:"flex-1 bg-[#07C160] hover:bg-[#06AD51] text-white",children:[e.jsx(uo,{className:"w-4 h-4 mr-2"}),"保存配置"]}),e.jsxs(J,{onClick:k,variant:"outline",className:"border-[#07C160] text-[#07C160] hover:bg-[#07C160]/10 bg-transparent",children:[e.jsx(co,{className:"w-4 h-4 mr-2"}),"测试跳转"]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl md:col-span-2",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Uf,{className:"w-5 h-5 text-[#38bdac]"}),"多群轮换(高级配置)"]}),e.jsx(jt,{className:"text-gray-400",children:"配置多个群链接,系统自动轮换分配,避免单群满员"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Bf,{className:"w-4 h-4"}),"多个群链接(每行一个)"]}),e.jsx(un,{placeholder:"https://cli.im/group1\\nhttps://cli.im/group2",className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 min-h-[120px] font-mono text-sm",value:r,onChange:P=>a(P.target.value)}),e.jsx("p",{className:"text-xs text-gray-500",children:"每行填写一个群链接,系统将按顺序或随机分配"})]}),e.jsxs("div",{className:"flex items-center justify-between p-3 bg-[#0a1628] rounded-lg border border-gray-700/50",children:[e.jsx("span",{className:"text-sm text-gray-400",children:"已配置群数量"}),e.jsxs("span",{className:"font-bold text-[#38bdac]",children:[r.split(` -`).filter(Boolean).length," 个"]})]}),e.jsxs(J,{onClick:g,className:"w-full bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(uo,{className:"w-4 h-4 mr-2"}),"保存多群配置"]})]})]})]}),e.jsxs("div",{className:"mt-6 bg-[#0f2137] rounded-xl p-4 border border-gray-700/50",children:[e.jsx("h4",{className:"text-white font-medium mb-3",children:"常见问题"}),e.jsxs("div",{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[#38bdac]",children:"Q: 为什么推荐使用草料活码?"}),e.jsx("p",{className:"text-gray-400",children:"A: 草料活码是永久链接,群满后可直接在后台更换新群码,无需修改网站配置。微信原生群码7天失效。"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[#38bdac]",children:"Q: 支付后没有跳转怎么办?"}),e.jsx("p",{className:"text-gray-400",children:"A: 1) 检查链接是否正确填写 2) 部分浏览器可能拦截弹窗,用户需手动允许 3) 建议使用https开头的链接"})]})]})]})]})}const wx={matchTypes:[{id:"partner",label:"创业合伙",matchLabel:"创业伙伴",icon:"⭐",matchFromDB:!0,showJoinAfterMatch:!1,price:1,enabled:!0},{id:"investor",label:"资源对接",matchLabel:"资源对接",icon:"👥",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0},{id:"mentor",label:"导师顾问",matchLabel:"导师顾问",icon:"❤️",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0},{id:"team",label:"团队招募",matchLabel:"加入项目",icon:"🎮",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}],freeMatchLimit:3,matchPrice:1,settings:{enableFreeMatches:!0,enablePaidMatches:!0,maxMatchesPerDay:10}},IC=["⭐","👥","❤️","🎮","💼","🚀","💡","🎯","🔥","✨"];function _C(){const[r,a]=h.useState(wx),[l,o]=h.useState(!0),[c,u]=h.useState(!1),[m,f]=h.useState(!1),[p,y]=h.useState(null),[g,v]=h.useState({id:"",label:"",matchLabel:"",icon:"⭐",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}),k=async()=>{o(!0);try{const j=await $e("/api/db/config/full?key=match_config"),_=(j==null?void 0:j.data)??(j==null?void 0:j.config);_&&a({...wx,..._})}catch(j){console.error("加载匹配配置失败:",j)}finally{o(!1)}};h.useEffect(()=>{k()},[]);const P=async()=>{u(!0);try{const j=await mt("/api/db/config",{key:"match_config",value:r,description:"匹配功能配置"});j&&j.success!==!1?alert("配置保存成功!"):alert("保存失败: "+(j&&typeof j=="object"&&"error"in j?j.error:"未知错误"))}catch(j){console.error("保存配置失败:",j),alert("保存失败")}finally{u(!1)}},T=j=>{y(j),v({id:j.id,label:j.label,matchLabel:j.matchLabel,icon:j.icon,matchFromDB:j.matchFromDB,showJoinAfterMatch:j.showJoinAfterMatch,price:j.price,enabled:j.enabled}),f(!0)},S=()=>{y(null),v({id:"",label:"",matchLabel:"",icon:"⭐",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}),f(!0)},N=()=>{if(!g.id||!g.label){alert("请填写类型ID和名称");return}const j=[...r.matchTypes];if(p){const _=j.findIndex(D=>D.id===p.id);_!==-1&&(j[_]={...g})}else{if(j.some(_=>_.id===g.id)){alert("类型ID已存在");return}j.push({...g})}a({...r,matchTypes:j}),f(!1)},b=j=>{confirm("确定要删除这个匹配类型吗?")&&a({...r,matchTypes:r.matchTypes.filter(_=>_.id!==j)})},w=j=>{a({...r,matchTypes:r.matchTypes.map(_=>_.id===j?{..._,enabled:!_.enabled}:_)})};return e.jsxs("div",{className:"p-8 w-full space-y-6",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Bn,{className:"w-6 h-6 text-[#38bdac]"}),"匹配功能配置"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"管理找伙伴功能的匹配类型和价格"})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsxs(J,{variant:"outline",onClick:k,disabled:l,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${l?"animate-spin":""}`}),"刷新"]}),e.jsxs(J,{onClick:P,disabled:c,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),c?"保存中...":"保存配置"]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(an,{className:"w-5 h-5 text-yellow-400"}),"基础设置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置免费匹配次数和付费规则"})]}),e.jsxs(we,{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"每日免费匹配次数"}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:r.freeMatchLimit,onChange:j=>a({...r,freeMatchLimit:parseInt(j.target.value,10)||0})}),e.jsx("p",{className:"text-xs text-gray-500",children:"用户每天可免费匹配的次数"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"付费匹配价格(元)"}),e.jsx(le,{type:"number",min:.01,step:.01,className:"bg-[#0a1628] border-gray-700 text-white",value:r.matchPrice,onChange:j=>a({...r,matchPrice:parseFloat(j.target.value)||1})}),e.jsx("p",{className:"text-xs text-gray-500",children:"免费次数用完后的单次匹配价格"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"每日最大匹配次数"}),e.jsx(le,{type:"number",min:1,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:r.settings.maxMatchesPerDay,onChange:j=>a({...r,settings:{...r.settings,maxMatchesPerDay:parseInt(j.target.value,10)||10}})}),e.jsx("p",{className:"text-xs text-gray-500",children:"包含免费和付费的总次数"})]})]}),e.jsxs("div",{className:"flex gap-8 pt-4 border-t border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:r.settings.enableFreeMatches,onCheckedChange:j=>a({...r,settings:{...r.settings,enableFreeMatches:j}})}),e.jsx(te,{className:"text-gray-300",children:"启用免费匹配"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:r.settings.enablePaidMatches,onCheckedChange:j=>a({...r,settings:{...r.settings,enablePaidMatches:j}})}),e.jsx(te,{className:"text-gray-300",children:"启用付费匹配"})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"}),"匹配类型管理"]}),e.jsx(jt,{className:"text-gray-400",children:"配置不同的匹配类型及其价格"})]}),e.jsxs(J,{onClick:S,size:"sm",className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-1"}),"添加类型"]})]}),e.jsx(we,{children:e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"图标"}),e.jsx(be,{className:"text-gray-400",children:"类型ID"}),e.jsx(be,{className:"text-gray-400",children:"显示名称"}),e.jsx(be,{className:"text-gray-400",children:"匹配标签"}),e.jsx(be,{className:"text-gray-400",children:"价格"}),e.jsx(be,{className:"text-gray-400",children:"数据库匹配"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsx(ps,{children:r.matchTypes.map(j=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsx("span",{className:"text-2xl",children:j.icon})}),e.jsx(pe,{className:"font-mono text-gray-300",children:j.id}),e.jsx(pe,{className:"text-white font-medium",children:j.label}),e.jsx(pe,{className:"text-gray-300",children:j.matchLabel}),e.jsx(pe,{children:e.jsxs(Le,{className:"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/20 border-0",children:["¥",j.price]})}),e.jsx(pe,{children:j.matchFromDB?e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"是"}):e.jsx(Le,{variant:"outline",className:"text-gray-500 border-gray-600",children:"否"})}),e.jsx(pe,{children:e.jsx(ot,{checked:j.enabled,onCheckedChange:()=>w(j.id)})}),e.jsx(pe,{className:"text-right",children:e.jsxs("div",{className:"flex items-center justify-end gap-1",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>T(j),className:"text-gray-400 hover:text-[#38bdac] hover:bg-[#38bdac]/10",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>b(j.id),className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",children:e.jsx(Ht,{className:"w-4 h-4"})})]})})]},j.id))})]})})]}),e.jsx(Ct,{open:m,onOpenChange:f,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[p?e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}):e.jsx(Rt,{className:"w-5 h-5 text-[#38bdac]"}),p?"编辑匹配类型":"添加匹配类型"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"类型ID(英文)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: partner",value:g.id,onChange:j=>v({...g,id:j.target.value}),disabled:!!p})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"图标"}),e.jsx("div",{className:"flex gap-1 flex-wrap",children:IC.map(j=>e.jsx("button",{type:"button",className:`w-8 h-8 text-lg rounded ${g.icon===j?"bg-[#38bdac]/30 ring-1 ring-[#38bdac]":"bg-[#0a1628]"}`,onClick:()=>v({...g,icon:j}),children:j},j))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"显示名称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 创业合伙",value:g.label,onChange:j=>v({...g,label:j.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"匹配标签"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 创业伙伴",value:g.matchLabel,onChange:j=>v({...g,matchLabel:j.target.value})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"单次匹配价格(元)"}),e.jsx(le,{type:"number",min:.01,step:.01,className:"bg-[#0a1628] border-gray-700 text-white",value:g.price,onChange:j=>v({...g,price:parseFloat(j.target.value)||1})})]}),e.jsxs("div",{className:"flex gap-6 pt-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:g.matchFromDB,onCheckedChange:j=>v({...g,matchFromDB:j})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"从数据库匹配"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:g.showJoinAfterMatch,onCheckedChange:j=>v({...g,showJoinAfterMatch:j})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"匹配后显示加入"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:g.enabled,onCheckedChange:j=>v({...g,enabled:j})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"启用"})]})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>f(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsxs(J,{onClick:N,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存"]})]})]})})]})}const Sx={partner:"找伙伴",investor:"资源对接",mentor:"导师顾问",team:"团队招募"};function MC(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m,f]=h.useState(10),[p,y]=h.useState(""),[g,v]=h.useState(!0),[k,P]=h.useState(null);async function T(){v(!0),P(null);try{const N=new URLSearchParams({page:String(c),pageSize:String(m)});p&&N.set("matchType",p);const b=await $e(`/api/db/match-records?${N}`);b!=null&&b.success?(a(b.records||[]),o(b.total??0)):P("加载匹配记录失败")}catch(N){console.error("加载匹配记录失败",N),P("加载失败,请检查网络后重试")}finally{v(!1)}}h.useEffect(()=>{T()},[c,p]);const S=Math.ceil(l/m)||1;return e.jsxs("div",{className:"p-8 w-full",children:[k&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:k}),e.jsx("button",{type:"button",onClick:()=>P(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"匹配记录"}),e.jsxs("p",{className:"text-gray-400 mt-1",children:["找伙伴匹配统计,共 ",l," 条记录"]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("select",{value:p,onChange:N=>{y(N.target.value),u(1)},className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:[e.jsx("option",{value:"",children:"全部类型"}),Object.entries(Sx).map(([N,b])=>e.jsx("option",{value:N,children:b},N))]}),e.jsxs("button",{type:"button",onClick:T,disabled:g,className:"flex items-center gap-2 px-4 py-2 rounded-lg border border-gray-600 text-gray-300 hover:bg-gray-700/50 transition-colors disabled:opacity-50",children:[e.jsx(Be,{className:`w-4 h-4 ${g?"animate-spin":""}`}),"刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:g?e.jsxs("div",{className:"flex justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"发起人"}),e.jsx(be,{className:"text-gray-400",children:"匹配到"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"联系方式"}),e.jsx(be,{className:"text-gray-400",children:"匹配时间"})]})}),e.jsxs(ps,{children:[r.map(N=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 overflow-hidden",children:[N.userAvatar?e.jsx("img",{src:N.userAvatar,alt:"",className:"w-full h-full object-cover",onError:b=>{b.currentTarget.style.display="none";const w=b.currentTarget.nextElementSibling;w&&w.classList.remove("hidden")}}):null,e.jsx("span",{className:N.userAvatar?"hidden":"",children:(N.userNickname||N.userId||"?").charAt(0)})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-white",children:N.userNickname||N.userId}),e.jsxs("div",{className:"text-xs text-gray-500 font-mono",children:[N.userId.slice(0,16),"..."]})]})]})}),e.jsx(pe,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 overflow-hidden",children:[N.matchedUserAvatar?e.jsx("img",{src:N.matchedUserAvatar,alt:"",className:"w-full h-full object-cover",onError:b=>{b.currentTarget.style.display="none";const w=b.currentTarget.nextElementSibling;w&&w.classList.remove("hidden")}}):null,e.jsx("span",{className:N.matchedUserAvatar?"hidden":"",children:(N.matchedNickname||N.matchedUserId||"?").charAt(0)})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-white",children:N.matchedNickname||N.matchedUserId}),e.jsxs("div",{className:"text-xs text-gray-500 font-mono",children:[N.matchedUserId.slice(0,16),"..."]})]})]})}),e.jsx(pe,{children:e.jsx(Le,{className:"bg-[#38bdac]/20 text-[#38bdac] border-0",children:Sx[N.matchType]||N.matchType})}),e.jsxs(pe,{className:"text-gray-400 text-sm",children:[N.phone&&e.jsxs("div",{children:["📱 ",N.phone]}),N.wechatId&&e.jsxs("div",{children:["💬 ",N.wechatId]}),!N.phone&&!N.wechatId&&"-"]}),e.jsx(pe,{className:"text-gray-400",children:N.createdAt?new Date(N.createdAt).toLocaleString():"-"})]},N.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:5,className:"text-center py-12 text-gray-500",children:"暂无匹配记录"})})]})]}),e.jsx(Qs,{page:c,totalPages:S,total:l,pageSize:m,onPageChange:u,onPageSizeChange:N=>{f(N),u(1)}})]})})})]})}function AC(){const[r,a]=h.useState([]),[l,o]=h.useState(!0),[c,u]=h.useState(!1),[m,f]=h.useState(null),[p,y]=h.useState(""),[g,v]=h.useState(0),[k,P]=h.useState(!1);async function T(){o(!0);try{const j=await $e("/api/db/vip-roles");j!=null&&j.success&&j.data&&a(j.data)}catch(j){console.error("Load roles error:",j)}finally{o(!1)}}h.useEffect(()=>{T()},[]);const S=()=>{f(null),y(""),v(r.length>0?Math.max(...r.map(j=>j.sort))+1:0),u(!0)},N=j=>{f(j),y(j.name),v(j.sort),u(!0)},b=async()=>{if(!p.trim()){alert("角色名称不能为空");return}P(!0);try{if(m){const j=await vt("/api/db/vip-roles",{id:m.id,name:p.trim(),sort:g});j!=null&&j.success?(u(!1),T()):alert("更新失败: "+(j==null?void 0:j.error))}else{const j=await mt("/api/db/vip-roles",{name:p.trim(),sort:g});j!=null&&j.success?(u(!1),T()):alert("新增失败: "+(j==null?void 0:j.error))}}catch(j){console.error("Save error:",j),alert("保存失败")}finally{P(!1)}},w=async j=>{if(confirm("确定删除该角色?已设置该角色的 VIP 用户将保留角色名称。"))try{const _=await Pr(`/api/db/vip-roles?id=${j}`);_!=null&&_.success?T():alert("删除失败: "+(_==null?void 0:_.error))}catch(_){console.error("Delete error:",_),alert("删除失败")}};return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(rn,{className:"w-5 h-5 text-amber-400"}),"VIP 角色管理"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"超级个体固定角色,在「设置 VIP」时可选择或手动填写"})]}),e.jsxs(J,{onClick:S,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新增角色"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:l?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"角色名称"}),e.jsx(be,{className:"text-gray-400",children:"排序"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[r.map(j=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:j.id}),e.jsx(pe,{className:"text-white",children:j.name}),e.jsx(pe,{className:"text-gray-400",children:j.sort}),e.jsxs(pe,{className:"text-right",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>N(j),className:"text-gray-400 hover:text-[#38bdac]",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>w(j.id),className:"text-gray-400 hover:text-red-400",children:e.jsx(Ht,{className:"w-4 h-4"})})]})]},j.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:4,className:"text-center py-12 text-gray-500",children:"暂无角色,点击「新增角色」添加"})})]})]})})}),e.jsx(Ct,{open:c,onOpenChange:u,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-sm",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:m?"编辑角色":"新增角色"})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"角色名称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:创始人、投资人",value:p,onChange:j=>y(j.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"排序(下拉展示顺序,越小越前)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:g,onChange:j=>v(parseInt(j.target.value,10)||0)})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>u(!1),className:"border-gray-600 text-gray-300",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:b,disabled:k,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),k?"保存中...":"保存"]})]})]})})]})}function Rg({embedded:r=!1}){const[a,l]=h.useState([]),[o,c]=h.useState(!0),[u,m]=h.useState(!1),[f,p]=h.useState(null),[y,g]=h.useState({name:"",avatar:"",intro:"",tags:"",priceSingle:"",priceHalfYear:"",priceYear:"",quote:"",whyFind:"",offering:"",judgmentStyle:"",sort:0,enabled:!0}),[v,k]=h.useState(!1),[P,T]=h.useState(!1),S=h.useRef(null),N=async R=>{var Y;const E=(Y=R.target.files)==null?void 0:Y[0];if(E){T(!0);try{const ne=new FormData;ne.append("file",E),ne.append("folder","mentors");const ae=bu(),q={};ae&&(q.Authorization=`Bearer ${ae}`);const H=await(await fetch(Aa("/api/upload"),{method:"POST",body:ne,credentials:"include",headers:q})).json();H!=null&&H.success&&(H!=null&&H.url)?g(ie=>({...ie,avatar:H.url})):alert("上传失败: "+((H==null?void 0:H.error)||"未知错误"))}catch(ne){console.error(ne),alert("上传失败")}finally{T(!1),S.current&&(S.current.value="")}}};async function b(){c(!0);try{const R=await $e("/api/db/mentors");R!=null&&R.success&&R.data&&l(R.data)}catch(R){console.error("Load mentors error:",R)}finally{c(!1)}}h.useEffect(()=>{b()},[]);const w=()=>{g({name:"",avatar:"",intro:"",tags:"",priceSingle:"",priceHalfYear:"",priceYear:"",quote:"",whyFind:"",offering:"",judgmentStyle:"",sort:a.length>0?Math.max(...a.map(R=>R.sort))+1:0,enabled:!0})},j=()=>{p(null),w(),m(!0)},_=R=>{p(R),g({name:R.name,avatar:R.avatar||"",intro:R.intro||"",tags:R.tags||"",priceSingle:R.priceSingle!=null?String(R.priceSingle):"",priceHalfYear:R.priceHalfYear!=null?String(R.priceHalfYear):"",priceYear:R.priceYear!=null?String(R.priceYear):"",quote:R.quote||"",whyFind:R.whyFind||"",offering:R.offering||"",judgmentStyle:R.judgmentStyle||"",sort:R.sort,enabled:R.enabled??!0}),m(!0)},D=async()=>{if(!y.name.trim()){alert("导师姓名不能为空");return}k(!0);try{const R=Y=>Y===""?void 0:parseFloat(Y),E={name:y.name.trim(),avatar:y.avatar.trim()||void 0,intro:y.intro.trim()||void 0,tags:y.tags.trim()||void 0,priceSingle:R(y.priceSingle),priceHalfYear:R(y.priceHalfYear),priceYear:R(y.priceYear),quote:y.quote.trim()||void 0,whyFind:y.whyFind.trim()||void 0,offering:y.offering.trim()||void 0,judgmentStyle:y.judgmentStyle.trim()||void 0,sort:y.sort,enabled:y.enabled};if(f){const Y=await vt("/api/db/mentors",{id:f.id,...E});Y!=null&&Y.success?(m(!1),b()):alert("更新失败: "+(Y==null?void 0:Y.error))}else{const Y=await mt("/api/db/mentors",E);Y!=null&&Y.success?(m(!1),b()):alert("新增失败: "+(Y==null?void 0:Y.error))}}catch(R){console.error("Save error:",R),alert("保存失败")}finally{k(!1)}},V=async R=>{if(confirm("确定删除该导师?"))try{const E=await Pr(`/api/db/mentors?id=${R}`);E!=null&&E.success?b():alert("删除失败: "+(E==null?void 0:E.error))}catch(E){console.error("Delete error:",E),alert("删除失败")}},I=R=>R!=null?`¥${R}`:"-";return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"}),"导师管理"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"stitch_soul 导师列表,支持每个导师独立配置单次/半年/年度价格"})]}),e.jsxs(J,{onClick:j,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新增导师"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:o?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"姓名"}),e.jsx(be,{className:"text-gray-400",children:"简介"}),e.jsx(be,{className:"text-gray-400",children:"单次"}),e.jsx(be,{className:"text-gray-400",children:"半年"}),e.jsx(be,{className:"text-gray-400",children:"年度"}),e.jsx(be,{className:"text-gray-400",children:"排序"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[a.map(R=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:R.id}),e.jsx(pe,{className:"text-white",children:R.name}),e.jsx(pe,{className:"text-gray-400 max-w-[200px] truncate",children:R.intro||"-"}),e.jsx(pe,{className:"text-gray-400",children:I(R.priceSingle)}),e.jsx(pe,{className:"text-gray-400",children:I(R.priceHalfYear)}),e.jsx(pe,{className:"text-gray-400",children:I(R.priceYear)}),e.jsx(pe,{className:"text-gray-400",children:R.sort}),e.jsxs(pe,{className:"text-right",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>_(R),className:"text-gray-400 hover:text-[#38bdac]",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>V(R.id),className:"text-gray-400 hover:text-red-400",children:e.jsx(Ht,{className:"w-4 h-4"})})]})]},R.id)),a.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:8,className:"text-center py-12 text-gray-500",children:"暂无导师,点击「新增导师」添加"})})]})]})})}),e.jsx(Ct,{open:u,onOpenChange:m,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg max-h-[90vh] overflow-y-auto",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:f?"编辑导师":"新增导师"})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"姓名 *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:卡若",value:y.name,onChange:R=>g(E=>({...E,name:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"排序"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:y.sort,onChange:R=>g(E=>({...E,sort:parseInt(R.target.value,10)||0}))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"头像"}),e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:y.avatar,onChange:R=>g(E=>({...E,avatar:R.target.value})),placeholder:"点击上传或粘贴图片地址"}),e.jsx("input",{ref:S,type:"file",accept:"image/*",className:"hidden",onChange:N}),e.jsxs(J,{type:"button",variant:"outline",size:"sm",className:"border-gray-600 text-gray-400 shrink-0",disabled:P,onClick:()=>{var R;return(R=S.current)==null?void 0:R.click()},children:[e.jsx(uo,{className:"w-4 h-4 mr-2"}),P?"上传中...":"上传"]})]}),y.avatar&&e.jsx("div",{className:"mt-2",children:e.jsx("img",{src:y.avatar.startsWith("http")?y.avatar:Aa(y.avatar),alt:"头像预览",className:"w-20 h-20 rounded-full object-cover border border-gray-600"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"简介"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:结构判断型咨询 · Decision > Execution",value:y.intro,onChange:R=>g(E=>({...E,intro:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"技能标签(逗号分隔)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:项目结构判断、风险止损、人×项目匹配",value:y.tags,onChange:R=>g(E=>({...E,tags:R.target.value}))})]}),e.jsxs("div",{className:"border-t border-gray-700 pt-4",children:[e.jsx(te,{className:"text-gray-300 block mb-2",children:"价格配置(每个导师独立)"}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-500 text-xs",children:"单次咨询 ¥"}),e.jsx(le,{type:"number",step:"0.01",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"980",value:y.priceSingle,onChange:R=>g(E=>({...E,priceSingle:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-500 text-xs",children:"半年咨询 ¥"}),e.jsx(le,{type:"number",step:"0.01",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"19800",value:y.priceHalfYear,onChange:R=>g(E=>({...E,priceHalfYear:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-500 text-xs",children:"年度咨询 ¥"}),e.jsx(le,{type:"number",step:"0.01",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"29800",value:y.priceYear,onChange:R=>g(E=>({...E,priceYear:R.target.value}))})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"引言"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:大多数人失败,不是因为不努力...",value:y.quote,onChange:R=>g(E=>({...E,quote:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"为什么找(文本)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"",value:y.whyFind,onChange:R=>g(E=>({...E,whyFind:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"提供什么(文本)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"",value:y.offering,onChange:R=>g(E=>({...E,offering:R.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"判断风格(逗号分隔)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:冷静、克制、偏风险视角",value:y.judgmentStyle,onChange:R=>g(E=>({...E,judgmentStyle:R.target.value}))})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",id:"enabled",checked:y.enabled,onChange:R=>g(E=>({...E,enabled:R.target.checked})),className:"rounded border-gray-600 bg-[#0a1628]"}),e.jsx(te,{htmlFor:"enabled",className:"text-gray-300 cursor-pointer",children:"上架(小程序可见)"})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>m(!1),className:"border-gray-600 text-gray-300",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:D,disabled:v,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),v?"保存中...":"保存"]})]})]})})]})}function DC(){const[r,a]=h.useState([]),[l,o]=h.useState(!0),[c,u]=h.useState("");async function m(){o(!0);try{const y=c?`/api/db/mentor-consultations?status=${c}`:"/api/db/mentor-consultations",g=await $e(y);g!=null&&g.success&&g.data&&a(g.data)}catch(y){console.error("Load consultations error:",y)}finally{o(!1)}}h.useEffect(()=>{m()},[c]);const f={created:"已创建",pending_pay:"待支付",paid:"已支付",completed:"已完成",cancelled:"已取消"},p={single:"单次",half_year:"半年",year:"年度"};return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(oo,{className:"w-5 h-5 text-[#38bdac]"}),"导师预约列表"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"stitch_soul 导师咨询预约记录"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("select",{value:c,onChange:y=>u(y.target.value),className:"bg-[#0f2137] border border-gray-700 rounded-lg px-3 py-2 text-gray-300 text-sm",children:[e.jsx("option",{value:"",children:"全部状态"}),Object.entries(f).map(([y,g])=>e.jsx("option",{value:y,children:g},y))]}),e.jsxs(J,{onClick:m,disabled:l,variant:"outline",className:"border-gray-600 text-gray-300",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${l?"animate-spin":""}`}),"刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:l?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"用户ID"}),e.jsx(be,{className:"text-gray-400",children:"导师ID"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"金额"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-gray-400",children:"创建时间"})]})}),e.jsxs(ps,{children:[r.map(y=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:y.id}),e.jsx(pe,{className:"text-gray-400",children:y.userId}),e.jsx(pe,{className:"text-gray-400",children:y.mentorId}),e.jsx(pe,{className:"text-gray-400",children:p[y.consultationType]||y.consultationType}),e.jsxs(pe,{className:"text-white",children:["¥",y.amount]}),e.jsx(pe,{className:"text-gray-400",children:f[y.status]||y.status}),e.jsx(pe,{className:"text-gray-500 text-sm",children:y.createdAt})]},y.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:7,className:"text-center py-12 text-gray-500",children:"暂无预约记录"})})]})]})})})]})}const Tl={poolSource:["vip"],requirePhone:!0,requireNickname:!0,requireAvatar:!1,requireBusiness:!1},Cx={matchTypes:[{id:"partner",label:"找伙伴",matchLabel:"找伙伴",icon:"⭐",matchFromDB:!0,showJoinAfterMatch:!1,price:1,enabled:!0},{id:"investor",label:"资源对接",matchLabel:"资源对接",icon:"👥",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0},{id:"mentor",label:"导师顾问",matchLabel:"导师顾问",icon:"❤️",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0},{id:"team",label:"团队招募",matchLabel:"加入项目",icon:"🎮",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}],freeMatchLimit:3,matchPrice:1,settings:{enableFreeMatches:!0,enablePaidMatches:!0,maxMatchesPerDay:10},poolSettings:Tl},LC=["⭐","👥","❤️","🎮","💼","🚀","💡","🎯","🔥","✨"];function OC(){const r=gn(),[a,l]=h.useState(Cx),[o,c]=h.useState(!0),[u,m]=h.useState(!1),[f,p]=h.useState(!1),[y,g]=h.useState(null),[v,k]=h.useState({id:"",label:"",matchLabel:"",icon:"⭐",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}),[P,T]=h.useState(null),[S,N]=h.useState(!1),b=async()=>{N(!0);try{const E=await $e("/api/db/match-pool-counts");E!=null&&E.success&&E.data&&T(E.data)}catch(E){console.error("加载池子人数失败:",E)}finally{N(!1)}},w=async()=>{c(!0);try{const E=await $e("/api/db/config/full?key=match_config"),Y=(E==null?void 0:E.data)??(E==null?void 0:E.config);if(Y){let ne=Y.poolSettings??Tl;ne.poolSource&&!Array.isArray(ne.poolSource)&&(ne={...ne,poolSource:[ne.poolSource]}),l({...Cx,...Y,poolSettings:ne})}}catch(E){console.error("加载匹配配置失败:",E)}finally{c(!1)}};h.useEffect(()=>{w(),b()},[]);const j=async()=>{m(!0);try{const E=await mt("/api/db/config",{key:"match_config",value:a,description:"匹配功能配置"});alert((E==null?void 0:E.success)!==!1?"配置保存成功!":"保存失败: "+((E==null?void 0:E.error)||"未知错误"))}catch(E){console.error(E),alert("保存失败")}finally{m(!1)}},_=E=>{g(E),k({...E}),p(!0)},D=()=>{g(null),k({id:"",label:"",matchLabel:"",icon:"⭐",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}),p(!0)},V=()=>{if(!v.id||!v.label){alert("请填写类型ID和名称");return}const E=[...a.matchTypes];if(y){const Y=E.findIndex(ne=>ne.id===y.id);Y!==-1&&(E[Y]={...v})}else{if(E.some(Y=>Y.id===v.id)){alert("类型ID已存在");return}E.push({...v})}l({...a,matchTypes:E}),p(!1)},I=E=>{confirm("确定要删除这个匹配类型吗?")&&l({...a,matchTypes:a.matchTypes.filter(Y=>Y.id!==E)})},R=E=>{l({...a,matchTypes:a.matchTypes.map(Y=>Y.id===E?{...Y,enabled:!Y.enabled}:Y)})};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex justify-end gap-3",children:[e.jsxs(J,{variant:"outline",onClick:w,disabled:o,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${o?"animate-spin":""}`})," 刷新"]}),e.jsxs(J,{onClick:j,disabled:u,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"})," ",u?"保存中...":"保存配置"]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Kx,{className:"w-5 h-5 text-blue-400"})," 匹配池选择"]}),e.jsx(jt,{className:"text-gray-400",children:"选择匹配的用户池和完善程度要求,只有满足条件的用户才可被匹配到"})]}),e.jsxs(we,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(te,{className:"text-gray-300",children:"匹配来源池"}),e.jsx("p",{className:"text-gray-500 text-xs",children:"可同时勾选多个池子(取并集匹配)"}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:[{value:"vip",label:"超级个体(VIP会员)",desc:"付费 ¥1980 的VIP会员",icon:"👑",countKey:"vip"},{value:"complete",label:"完善资料用户",desc:"符合下方完善度要求的用户",icon:"✅",countKey:"complete"},{value:"all",label:"全部用户",desc:"所有已注册用户",icon:"👥",countKey:"all"}].map(E=>{const Y=a.poolSettings??Tl,ae=(Array.isArray(Y.poolSource)?Y.poolSource:[Y.poolSource]).includes(E.value),q=P==null?void 0:P[E.countKey],se=()=>{const H=Array.isArray(Y.poolSource)?[...Y.poolSource]:[Y.poolSource],ie=ae?H.filter(ve=>ve!==E.value):[...H,E.value];ie.length===0&&ie.push(E.value),l({...a,poolSettings:{...Y,poolSource:ie}})};return e.jsxs("button",{type:"button",onClick:se,className:`p-4 rounded-lg border text-left transition-all ${ae?"border-[#38bdac] bg-[#38bdac]/10":"border-gray-700 bg-[#0a1628] hover:border-gray-600"}`,children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:`w-5 h-5 rounded border-2 flex items-center justify-center text-xs ${ae?"border-[#38bdac] bg-[#38bdac] text-white":"border-gray-600"}`,children:ae&&"✓"}),e.jsx("span",{className:"text-xl",children:E.icon}),e.jsx("span",{className:`text-sm font-medium ${ae?"text-[#38bdac]":"text-gray-300"}`,children:E.label})]}),e.jsxs("span",{className:"text-lg font-bold text-white",children:[S?"...":q??"-",e.jsx("span",{className:"text-xs text-gray-500 font-normal ml-1",children:"人"})]})]}),e.jsx("p",{className:"text-gray-500 text-xs mt-2",children:E.desc}),e.jsx("span",{role:"link",tabIndex:0,onClick:H=>{H.stopPropagation(),r(`/users?pool=${E.value}`)},onKeyDown:H=>{H.key==="Enter"&&(H.stopPropagation(),r(`/users?pool=${E.value}`))},className:"text-[#38bdac] text-xs mt-2 inline-block hover:underline cursor-pointer",children:"查看用户列表 →"})]},E.value)})})]}),e.jsxs("div",{className:"space-y-3 pt-4 border-t border-gray-700/50",children:[e.jsx(te,{className:"text-gray-300",children:"用户资料完善要求(被匹配用户必须满足以下条件)"}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[{key:"requirePhone",label:"有手机号",icon:"📱"},{key:"requireNickname",label:"有昵称",icon:"👤"},{key:"requireAvatar",label:"有头像",icon:"🖼️"},{key:"requireBusiness",label:"有业务需求",icon:"💼"}].map(E=>{const ne=(a.poolSettings??Tl)[E.key];return e.jsxs("div",{className:"flex items-center gap-3 bg-[#0a1628] rounded-lg p-3",children:[e.jsx(ot,{checked:ne,onCheckedChange:ae=>l({...a,poolSettings:{...a.poolSettings??Tl,[E.key]:ae}})}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{children:E.icon}),e.jsx(te,{className:"text-gray-300 text-sm",children:E.label})]})]},E.key)})})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ke,{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(an,{className:"w-5 h-5 text-yellow-400"})," 基础设置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置免费匹配次数和付费规则"})]}),e.jsxs(we,{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"每日免费匹配次数"}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.freeMatchLimit,onChange:E=>l({...a,freeMatchLimit:parseInt(E.target.value,10)||0})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"付费匹配价格(元)"}),e.jsx(le,{type:"number",min:.01,step:.01,className:"bg-[#0a1628] border-gray-700 text-white",value:a.matchPrice,onChange:E=>l({...a,matchPrice:parseFloat(E.target.value)||1})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"每日最大匹配次数"}),e.jsx(le,{type:"number",min:1,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.settings.maxMatchesPerDay,onChange:E=>l({...a,settings:{...a.settings,maxMatchesPerDay:parseInt(E.target.value,10)||10}})})]})]}),e.jsxs("div",{className:"flex gap-8 pt-4 border-t border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:a.settings.enableFreeMatches,onCheckedChange:E=>l({...a,settings:{...a.settings,enableFreeMatches:E}})}),e.jsx(te,{className:"text-gray-300",children:"启用免费匹配"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:a.settings.enablePaidMatches,onCheckedChange:E=>l({...a,settings:{...a.settings,enablePaidMatches:E}})}),e.jsx(te,{className:"text-gray-300",children:"启用付费匹配"})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"})," 匹配类型管理"]}),e.jsx(jt,{className:"text-gray-400",children:"配置不同的匹配类型及其价格"})]}),e.jsxs(J,{onClick:D,size:"sm",className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-1"})," 添加类型"]})]}),e.jsx(we,{children:e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"图标"}),e.jsx(be,{className:"text-gray-400",children:"类型ID"}),e.jsx(be,{className:"text-gray-400",children:"显示名称"}),e.jsx(be,{className:"text-gray-400",children:"匹配标签"}),e.jsx(be,{className:"text-gray-400",children:"价格"}),e.jsx(be,{className:"text-gray-400",children:"数据库匹配"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsx(ps,{children:a.matchTypes.map(E=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsx("span",{className:"text-2xl",children:E.icon})}),e.jsx(pe,{className:"font-mono text-gray-300",children:E.id}),e.jsx(pe,{className:"text-white font-medium",children:E.label}),e.jsx(pe,{className:"text-gray-300",children:E.matchLabel}),e.jsx(pe,{children:e.jsxs(Le,{className:"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/20 border-0",children:["¥",E.price]})}),e.jsx(pe,{children:E.matchFromDB?e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"是"}):e.jsx(Le,{variant:"outline",className:"text-gray-500 border-gray-600",children:"否"})}),e.jsx(pe,{children:e.jsx(ot,{checked:E.enabled,onCheckedChange:()=>R(E.id)})}),e.jsx(pe,{className:"text-right",children:e.jsxs("div",{className:"flex items-center justify-end gap-1",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>_(E),className:"text-gray-400 hover:text-[#38bdac] hover:bg-[#38bdac]/10",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>I(E.id),className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",children:e.jsx(Ht,{className:"w-4 h-4"})})]})})]},E.id))})]})})]}),e.jsx(Ct,{open:f,onOpenChange:p,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[y?e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}):e.jsx(Rt,{className:"w-5 h-5 text-[#38bdac]"}),y?"编辑匹配类型":"添加匹配类型"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"类型ID(英文)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: partner",value:v.id,onChange:E=>k({...v,id:E.target.value}),disabled:!!y})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"图标"}),e.jsx("div",{className:"flex gap-1 flex-wrap",children:LC.map(E=>e.jsx("button",{type:"button",className:`w-8 h-8 text-lg rounded ${v.icon===E?"bg-[#38bdac]/30 ring-1 ring-[#38bdac]":"bg-[#0a1628]"}`,onClick:()=>k({...v,icon:E}),children:E},E))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"显示名称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 超级个体",value:v.label,onChange:E=>k({...v,label:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"匹配标签"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 超级个体",value:v.matchLabel,onChange:E=>k({...v,matchLabel:E.target.value})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"单次匹配价格(元)"}),e.jsx(le,{type:"number",min:.01,step:.01,className:"bg-[#0a1628] border-gray-700 text-white",value:v.price,onChange:E=>k({...v,price:parseFloat(E.target.value)||1})})]}),e.jsxs("div",{className:"flex gap-6 pt-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:v.matchFromDB,onCheckedChange:E=>k({...v,matchFromDB:E})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"从数据库匹配"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:v.showJoinAfterMatch,onCheckedChange:E=>k({...v,showJoinAfterMatch:E})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"匹配后显示加入"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:v.enabled,onCheckedChange:E=>k({...v,enabled:E})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"启用"})]})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>p(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsxs(J,{onClick:V,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"})," 保存"]})]})]})})]})}const kx={partner:"找伙伴",investor:"资源对接",mentor:"导师顾问",team:"团队招募"};function FC(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m,f]=h.useState(10),[p,y]=h.useState(""),[g,v]=h.useState(!0),[k,P]=h.useState(null),[T,S]=h.useState(null);async function N(){v(!0),P(null);try{const j=new URLSearchParams({page:String(c),pageSize:String(m)});p&&j.set("matchType",p);const _=await $e(`/api/db/match-records?${j}`);_!=null&&_.success?(a(_.records||[]),o(_.total??0)):P("加载匹配记录失败")}catch{P("加载失败,请检查网络后重试")}finally{v(!1)}}h.useEffect(()=>{N()},[c,p]);const b=Math.ceil(l/m)||1,w=({userId:j,nickname:_,avatar:D})=>e.jsxs("div",{className:"flex items-center gap-3 cursor-pointer group",onClick:()=>S(j),children:[e.jsxs("div",{className:"w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 overflow-hidden",children:[D?e.jsx("img",{src:D,alt:"",className:"w-full h-full object-cover",onError:V=>{V.currentTarget.style.display="none"}}):null,e.jsx("span",{className:D?"hidden":"",children:(_||j||"?").charAt(0)})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-white group-hover:text-[#38bdac] transition-colors",children:_||j}),e.jsxs("div",{className:"text-xs text-gray-500 font-mono",children:[j==null?void 0:j.slice(0,16),(j==null?void 0:j.length)>16?"...":""]})]})]});return e.jsxs("div",{children:[k&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:k}),e.jsx("button",{type:"button",onClick:()=>P(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsxs("p",{className:"text-gray-400",children:["共 ",l," 条匹配记录 · 点击用户名查看详情"]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("select",{value:p,onChange:j=>{y(j.target.value),u(1)},className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:[e.jsx("option",{value:"",children:"全部类型"}),Object.entries(kx).map(([j,_])=>e.jsx("option",{value:j,children:_},j))]}),e.jsxs("button",{type:"button",onClick:N,disabled:g,className:"flex items-center gap-2 px-4 py-2 rounded-lg border border-gray-600 text-gray-300 hover:bg-gray-700/50 transition-colors disabled:opacity-50",children:[e.jsx(Be,{className:`w-4 h-4 ${g?"animate-spin":""}`})," 刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:g?e.jsxs("div",{className:"flex justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"发起人"}),e.jsx(be,{className:"text-gray-400",children:"匹配到"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"联系方式"}),e.jsx(be,{className:"text-gray-400",children:"匹配时间"})]})}),e.jsxs(ps,{children:[r.map(j=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsx(w,{userId:j.userId,nickname:j.userNickname,avatar:j.userAvatar})}),e.jsx(pe,{children:j.matchedUserId?e.jsx(w,{userId:j.matchedUserId,nickname:j.matchedNickname,avatar:j.matchedUserAvatar}):e.jsx("span",{className:"text-gray-500",children:"—"})}),e.jsx(pe,{children:e.jsx(Le,{className:"bg-[#38bdac]/20 text-[#38bdac] border-0",children:kx[j.matchType]||j.matchType})}),e.jsxs(pe,{className:"text-sm",children:[j.phone&&e.jsxs("div",{className:"text-green-400",children:["📱 ",j.phone]}),j.wechatId&&e.jsxs("div",{className:"text-blue-400",children:["💬 ",j.wechatId]}),!j.phone&&!j.wechatId&&e.jsx("span",{className:"text-gray-600",children:"-"})]}),e.jsx(pe,{className:"text-gray-400",children:j.createdAt?new Date(j.createdAt).toLocaleString():"-"})]},j.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:5,className:"text-center py-12 text-gray-500",children:"暂无匹配记录"})})]})]}),e.jsx(Qs,{page:c,totalPages:b,total:l,pageSize:m,onPageChange:u,onPageSizeChange:j=>{f(j),u(1)}})]})})}),e.jsx(p0,{open:!!T,onClose:()=>S(null),userId:T,onUserUpdated:N})]})}function zC(){const[r,a]=h.useState("records");return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:()=>a("records"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${r==="records"?"bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/50":"bg-[#0a1628] text-gray-400 border border-gray-700 hover:text-white"}`,children:"匹配记录"}),e.jsx("button",{type:"button",onClick:()=>a("pool"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${r==="pool"?"bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/50":"bg-[#0a1628] text-gray-400 border border-gray-700 hover:text-white"}`,children:"匹配池设置"})]}),r==="records"&&e.jsx(FC,{}),r==="pool"&&e.jsx(OC,{})]})}const Ex={investor:"资源对接",mentor:"导师顾问",team:"团队招募"};function $C(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m,f]=h.useState(10),[p,y]=h.useState(!0),[g,v]=h.useState("investor"),[k,P]=h.useState(null);async function T(){y(!0);try{const w=new URLSearchParams({page:String(c),pageSize:String(m),matchType:g}),j=await $e(`/api/db/match-records?${w}`);j!=null&&j.success&&(a(j.records||[]),o(j.total??0))}catch(w){console.error(w)}finally{y(!1)}}h.useEffect(()=>{T()},[c,g]);const S=async w=>{if(!w.phone&&!w.wechatId){alert("该记录无联系方式,无法推送到存客宝");return}P(w.id);try{const j=await mt("/api/ckb/join",{type:w.matchType||"investor",phone:w.phone||"",wechat:w.wechatId||"",userId:w.userId,name:w.userNickname||""});alert((j==null?void 0:j.message)||(j!=null&&j.success?"推送成功":"推送失败"))}catch(j){alert("推送失败: "+(j instanceof Error?j.message:"网络错误"))}finally{P(null)}},N=Math.ceil(l/m)||1,b=w=>!!(w.phone||w.wechatId);return e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400",children:"点击获客:有人填写手机号/微信号的直接显示,可一键推送到存客宝"}),e.jsxs("p",{className:"text-gray-500 text-xs mt-1",children:["共 ",l," 条记录 — 有联系方式的可触发存客宝添加好友"]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("select",{value:g,onChange:w=>{v(w.target.value),u(1)},className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:Object.entries(Ex).map(([w,j])=>e.jsx("option",{value:w,children:j},w))}),e.jsxs(J,{onClick:T,disabled:p,variant:"outline",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${p?"animate-spin":""}`})," 刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:p?e.jsxs("div",{className:"flex justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"发起人"}),e.jsx(be,{className:"text-gray-400",children:"匹配到"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"联系方式"}),e.jsx(be,{className:"text-gray-400",children:"时间"}),e.jsx(be,{className:"text-gray-400 text-right",children:"操作"})]})}),e.jsxs(ps,{children:[r.map(w=>{var j,_;return e.jsxs(et,{className:`border-gray-700/50 ${b(w)?"hover:bg-[#0a1628]":"opacity-60"}`,children:[e.jsx(pe,{className:"text-white",children:w.userNickname||((j=w.userId)==null?void 0:j.slice(0,12))}),e.jsx(pe,{className:"text-white",children:w.matchedNickname||((_=w.matchedUserId)==null?void 0:_.slice(0,12))}),e.jsx(pe,{children:e.jsx(Le,{className:"bg-[#38bdac]/20 text-[#38bdac] border-0",children:Ex[w.matchType]||w.matchType})}),e.jsxs(pe,{className:"text-sm",children:[w.phone&&e.jsxs("div",{className:"text-green-400",children:["📱 ",w.phone]}),w.wechatId&&e.jsxs("div",{className:"text-blue-400",children:["💬 ",w.wechatId]}),!w.phone&&!w.wechatId&&e.jsx("span",{className:"text-gray-600",children:"无联系方式"})]}),e.jsx(pe,{className:"text-gray-400 text-sm",children:w.createdAt?new Date(w.createdAt).toLocaleString():"-"}),e.jsx(pe,{className:"text-right",children:b(w)?e.jsxs(J,{size:"sm",onClick:()=>S(w),disabled:k===w.id,className:"bg-[#38bdac] hover:bg-[#2da396] text-white text-xs h-7 px-3",children:[e.jsx(aN,{className:"w-3 h-3 mr-1"}),k===w.id?"推送中...":"推送CKB"]}):e.jsx("span",{className:"text-gray-600 text-xs",children:"—"})})]},w.id)}),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:6,className:"text-center py-12 text-gray-500",children:"暂无记录"})})]})]}),e.jsx(Qs,{page:c,totalPages:N,total:l,pageSize:m,onPageChange:u,onPageSizeChange:w=>{f(w),u(1)}})]})})})]})}const Px={created:"已创建",pending_pay:"待支付",paid:"已支付",completed:"已完成",cancelled:"已取消"},BC={single:"单次",half_year:"半年",year:"年度"};function UC(){const[r,a]=h.useState([]),[l,o]=h.useState(!0),[c,u]=h.useState("");async function m(){o(!0);try{const f=c?`/api/db/mentor-consultations?status=${c}`:"/api/db/mentor-consultations",p=await $e(f);p!=null&&p.success&&p.data&&a(p.data)}catch(f){console.error(f)}finally{o(!1)}}return h.useEffect(()=>{m()},[c]),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsx("p",{className:"text-gray-400",children:"导师咨询预约记录"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("select",{value:c,onChange:f=>u(f.target.value),className:"bg-[#0f2137] border border-gray-700 rounded-lg px-3 py-2 text-gray-300 text-sm",children:[e.jsx("option",{value:"",children:"全部状态"}),Object.entries(Px).map(([f,p])=>e.jsx("option",{value:f,children:p},f))]}),e.jsxs(J,{onClick:m,disabled:l,variant:"outline",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${l?"animate-spin":""}`})," 刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:l?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"用户ID"}),e.jsx(be,{className:"text-gray-400",children:"导师ID"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"金额"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-gray-400",children:"创建时间"})]})}),e.jsxs(ps,{children:[r.map(f=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:f.id}),e.jsx(pe,{className:"text-gray-400",children:f.userId}),e.jsx(pe,{className:"text-gray-400",children:f.mentorId}),e.jsx(pe,{className:"text-gray-400",children:BC[f.consultationType]||f.consultationType}),e.jsxs(pe,{className:"text-white",children:["¥",f.amount]}),e.jsx(pe,{className:"text-gray-400",children:Px[f.status]||f.status}),e.jsx(pe,{className:"text-gray-500 text-sm",children:f.createdAt?new Date(f.createdAt).toLocaleString():"-"})]},f.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:7,className:"text-center py-12 text-gray-500",children:"暂无预约记录"})})]})]})})})]})}function VC(){const[r,a]=h.useState("booking");return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:()=>a("booking"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${r==="booking"?"bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/50":"bg-[#0a1628] text-gray-400 border border-gray-700 hover:text-white"}`,children:"预约记录"}),e.jsx("button",{type:"button",onClick:()=>a("manage"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${r==="manage"?"bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/50":"bg-[#0a1628] text-gray-400 border border-gray-700 hover:text-white"}`,children:"导师管理"})]}),r==="booking"&&e.jsx(UC,{}),r==="manage"&&e.jsx("div",{className:"-mx-8",children:e.jsx(Rg,{embedded:!0})})]})}function WC(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m,f]=h.useState(10),[p,y]=h.useState(!0);async function g(){y(!0);try{const k=new URLSearchParams({page:String(c),pageSize:String(m),matchType:"team"}),P=await $e(`/api/db/match-records?${k}`);P!=null&&P.success&&(a(P.records||[]),o(P.total??0))}catch(k){console.error(k)}finally{y(!1)}}h.useEffect(()=>{g()},[c]);const v=Math.ceil(l/m)||1;return e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"text-gray-400",children:["团队招募匹配记录,共 ",l," 条"]}),e.jsx("p",{className:"text-gray-500 text-xs mt-1",children:"用户通过「团队招募」提交联系方式到存客宝"})]}),e.jsxs("button",{type:"button",onClick:g,disabled:p,className:"flex items-center gap-2 px-4 py-2 rounded-lg border border-gray-600 text-gray-300 hover:bg-gray-700/50 transition-colors disabled:opacity-50",children:[e.jsx(Be,{className:`w-4 h-4 ${p?"animate-spin":""}`})," 刷新"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:p?e.jsxs("div",{className:"flex justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"发起人"}),e.jsx(be,{className:"text-gray-400",children:"匹配到"}),e.jsx(be,{className:"text-gray-400",children:"联系方式"}),e.jsx(be,{className:"text-gray-400",children:"时间"})]})}),e.jsxs(ps,{children:[r.map(k=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{className:"text-white",children:k.userNickname||k.userId}),e.jsx(pe,{className:"text-white",children:k.matchedNickname||k.matchedUserId}),e.jsxs(pe,{className:"text-gray-400 text-sm",children:[k.phone&&e.jsxs("div",{children:["📱 ",k.phone]}),k.wechatId&&e.jsxs("div",{children:["💬 ",k.wechatId]}),!k.phone&&!k.wechatId&&"-"]}),e.jsx(pe,{className:"text-gray-400",children:k.createdAt?new Date(k.createdAt).toLocaleString():"-"})]},k.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:4,className:"text-center py-12 text-gray-500",children:"暂无团队招募记录"})})]})]}),e.jsx(Qs,{page:c,totalPages:v,total:l,pageSize:m,onPageChange:u,onPageSizeChange:k=>{f(k),u(1)}})]})})})]})}const HC={partner:"超级个体",investor:"资源对接",mentor:"导师顾问",team:"团队招募"},KC={partner:"⭐",investor:"👥",mentor:"❤️",team:"🎮"};function GC({onSwitchTab:r}={}){const a=gn(),[l,o]=h.useState(null),[c,u]=h.useState(!0),[m,f]=h.useState("13800000000"),[p,y]=h.useState(""),[g,v]=h.useState([{endpoint:"/api/ckb/join",label:"场景获客 — 加入(partner)",description:"用测试手机号添加到存客宝「创业合伙」计划",method:"POST",status:"idle"},{endpoint:"/api/ckb/join",label:"场景获客 — 加入(investor)",description:"用测试手机号添加到存客宝「资源对接」计划",method:"POST",status:"idle"},{endpoint:"/api/ckb/join",label:"场景获客 — 加入(mentor)",description:"用测试手机号添加到存客宝「导师顾问」计划",method:"POST",status:"idle"},{endpoint:"/api/ckb/join",label:"场景获客 — 加入(team)",description:"用测试手机号添加到存客宝「团队招募」计划",method:"POST",status:"idle"},{endpoint:"/api/ckb/match",label:"匹配上报",description:"上报匹配行为到存客宝",method:"POST",status:"idle"},{endpoint:"/api/miniprogram/ckb/lead",label:"链接卡若",description:"首页「链接卡若」留资到存客宝",method:"POST",status:"idle"},{endpoint:"/api/match/config",label:"匹配配置",description:"获取匹配类型、价格等配置",method:"GET",status:"idle"}]),k=h.useCallback(async()=>{u(!0);try{const b=await $e("/api/db/match-records?stats=true");if(b!=null&&b.success&&b.data){let w=b.data;if(w.totalMatches>0&&(!w.uniqueUsers||w.uniqueUsers===0))try{const j=await $e("/api/db/match-records?page=1&pageSize=200");if(j!=null&&j.success&&j.records){const _=new Set(j.records.map(D=>D.userId).filter(Boolean));w={...w,uniqueUsers:_.size,totalMatches:j.total??w.totalMatches}}}catch{}o(w)}else{const w=await $e("/api/db/match-records?page=1&pageSize=200");if(w!=null&&w.success){const j=w.records||[],_=new Set(j.map(R=>R.userId).filter(Boolean)),D=new Date().toISOString().slice(0,10),V=j.filter(R=>{var E;return(E=R.createdAt)==null?void 0:E.startsWith(D)}).length,I={};j.forEach(R=>{R.matchType&&(I[R.matchType]=(I[R.matchType]||0)+1)}),o({totalMatches:w.total??j.length,todayMatches:V,byType:Object.entries(I).map(([R,E])=>({matchType:R,count:E})),uniqueUsers:_.size})}}}catch(b){console.error("加载统计失败:",b)}finally{u(!1)}},[]);h.useEffect(()=>{k()},[k]);const P=b=>{const w=m.trim(),j=p.trim(),_=["partner","investor","mentor","team"];return b<=3?{type:_[b],phone:w||void 0,wechat:j||void 0,userId:"admin_test",name:"后台测试",canHelp:b===1?"测试-我能帮到你":"",needHelp:b===1?"测试-我需要什么帮助":""}:b===4?{matchType:"partner",phone:w||void 0,wechat:j||void 0,userId:"admin_test",nickname:"后台测试",matchedUser:{id:"test_matched",nickname:"测试匹配用户",matchScore:88}}:b===5?{phone:w||void 0,wechatId:j||void 0,userId:"admin_test",name:"后台测试"}:{}},T=async b=>{const w=g[b];if(w.method==="POST"&&!m.trim()&&!p.trim()){alert("请至少填写测试手机号或微信号");return}const j=[...g];j[b]={...w,status:"testing",message:void 0,responseTime:void 0,ckbResponse:void 0},v(j);const _=performance.now();try{let D;w.method==="GET"?D=await $e(w.endpoint):D=await mt(w.endpoint,P(b));const V=Math.round(performance.now()-_),I=[...g],R=(D==null?void 0:D.message)||"",E=R.includes("已存在")||R.includes("已加入"),Y=(D==null?void 0:D.success)===!0||(D==null?void 0:D.code)===200||E;I[b]={...w,status:Y?"success":"error",message:R||(Y?"接口正常":"返回异常"),responseTime:V,ckbResponse:D!=null&&D.data?JSON.stringify(D.data).slice(0,100):void 0},v(I)}catch(D){const V=Math.round(performance.now()-_),I=[...g];I[b]={...w,status:"error",message:D instanceof Error?D.message:"请求失败",responseTime:V},v(I)}},S=async()=>{if(!m.trim()&&!p.trim()){alert("请至少填写测试手机号或微信号");return}for(let b=0;bc?"-":b??0;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4",children:[e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 cursor-pointer hover:border-[#38bdac]/50 transition-colors",onClick:()=>r==null?void 0:r("partner"),children:e.jsxs(we,{className:"p-5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-[#38bdac]/20 flex items-center justify-center",children:e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-xs",children:"总匹配次数"}),e.jsx("p",{className:"text-xl font-bold text-white",children:N(l==null?void 0:l.totalMatches)})]})]}),e.jsx("p",{className:"text-[#38bdac] text-[10px] mt-2",children:"点击查看匹配记录 →"})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 cursor-pointer hover:border-yellow-500/50 transition-colors",onClick:()=>r==null?void 0:r("partner"),children:e.jsxs(we,{className:"p-5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-yellow-500/20 flex items-center justify-center",children:e.jsx(an,{className:"w-5 h-5 text-yellow-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-xs",children:"今日匹配"}),e.jsx("p",{className:"text-xl font-bold text-white",children:N(l==null?void 0:l.todayMatches)})]})]}),e.jsx("p",{className:"text-yellow-400/60 text-[10px] mt-2",children:"点击查看匹配记录 →"})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 cursor-pointer hover:border-blue-500/50 transition-colors",onClick:()=>a("/users"),children:e.jsxs(we,{className:"p-5",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-blue-500/20 flex items-center justify-center",children:e.jsx(gN,{className:"w-5 h-5 text-blue-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-xs",children:"匹配用户数"}),e.jsx("p",{className:"text-xl font-bold text-white",children:N(l==null?void 0:l.uniqueUsers)})]})]}),e.jsx("p",{className:"text-blue-400/60 text-[10px] mt-2",children:"点击查看用户管理 →"})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-5",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-green-500/20 flex items-center justify-center",children:e.jsx(Ta,{className:"w-5 h-5 text-green-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-xs",children:"人均匹配"}),e.jsx("p",{className:"text-xl font-bold text-white",children:c?"-":l!=null&&l.uniqueUsers?(l.totalMatches/l.uniqueUsers).toFixed(1):"0"})]})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-5",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-purple-500/20 flex items-center justify-center",children:e.jsx(Ml,{className:"w-5 h-5 text-purple-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-xs",children:"匹配收益"}),e.jsxs("p",{className:"text-xl font-bold text-white",children:["¥",N(l==null?void 0:l.matchRevenue)]})]})]})})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-5",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 rounded-lg bg-orange-500/20 flex items-center justify-center",children:e.jsx($j,{className:"w-5 h-5 text-orange-400"})}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-xs",children:"付费匹配"}),e.jsx("p",{className:"text-xl font-bold text-white",children:N(l==null?void 0:l.paidMatchCount)})]})]})})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ke,{className:"flex flex-row items-center justify-between pb-3",children:[e.jsx(Ge,{className:"text-white text-lg",children:"各类型匹配分布"}),e.jsxs(J,{onClick:k,disabled:c,variant:"outline",size:"sm",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${c?"animate-spin":""}`})," 刷新数据"]})]}),e.jsx(we,{children:l!=null&&l.byType&&l.byType.length>0?e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:l.byType.map(b=>{const w=l.totalMatches>0?b.count/l.totalMatches*100:0;return e.jsxs("div",{className:"bg-[#0a1628] rounded-lg p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx("span",{className:"text-xl",children:KC[b.matchType]||"📊"}),e.jsx("span",{className:"text-gray-300 text-sm font-medium",children:HC[b.matchType]||b.matchType})]}),e.jsx("p",{className:"text-2xl font-bold text-white",children:b.count}),e.jsxs("div",{className:"mt-2",children:[e.jsx("div",{className:"w-full h-2 bg-gray-700 rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-[#38bdac] rounded-full transition-all",style:{width:`${Math.min(w,100)}%`}})}),e.jsxs("p",{className:"text-gray-500 text-xs mt-1",children:[w.toFixed(1),"% 占比"]})]})]},b.matchType)})}):e.jsx("p",{className:"text-gray-500 text-center py-8",children:c?"加载中...":"暂无匹配数据"})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ke,{children:[e.jsxs("div",{className:"flex flex-col md:flex-row md:items-center md:justify-between gap-4",children:[e.jsxs("div",{children:[e.jsxs(Ge,{className:"text-white flex items-center gap-2",children:[e.jsx(on,{className:"w-5 h-5 text-[#38bdac]"}),"存客宝接口联通测试"]}),e.jsx("p",{className:"text-gray-400 text-sm mt-1",children:"点击测试会用下方手机号/微信号真实添加到存客宝对应计划中"})]}),e.jsxs(J,{onClick:S,className:"bg-[#38bdac] hover:bg-[#2da396] text-white shrink-0",children:[e.jsx(an,{className:"w-4 h-4 mr-2"})," 全部测试"]})]}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mt-4 p-4 bg-[#0a1628] rounded-lg border border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[e.jsx(Al,{className:"w-4 h-4 text-gray-400 shrink-0"}),e.jsxs("div",{className:"flex-1 space-y-1",children:[e.jsx(te,{className:"text-gray-400 text-xs",children:"测试手机号"}),e.jsx(le,{className:"bg-[#0f2137] border-gray-700 text-white h-9",placeholder:"填写真实手机号添加到存客宝",value:m,onChange:b=>f(b.target.value)})]})]}),e.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[e.jsx("span",{className:"text-gray-400 shrink-0 text-sm",children:"💬"}),e.jsxs("div",{className:"flex-1 space-y-1",children:[e.jsx(te,{className:"text-gray-400 text-xs",children:"测试微信号(可选)"}),e.jsx(le,{className:"bg-[#0f2137] border-gray-700 text-white h-9",placeholder:"填写微信号(可选)",value:p,onChange:b=>y(b.target.value)})]})]})]})]}),e.jsx(we,{children:e.jsx("div",{className:"space-y-2",children:g.map((b,w)=>e.jsxs("div",{className:"flex items-center justify-between bg-[#0a1628] rounded-lg px-4 py-3 gap-4",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[b.status==="idle"&&e.jsx("div",{className:"w-3 h-3 rounded-full bg-gray-500 shrink-0"}),b.status==="testing"&&e.jsx(Be,{className:"w-4 h-4 text-yellow-400 animate-spin shrink-0"}),b.status==="success"&&e.jsx(Gd,{className:"w-4 h-4 text-green-400 shrink-0"}),b.status==="error"&&e.jsx(Wx,{className:"w-4 h-4 text-red-400 shrink-0"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-white text-sm font-medium",children:b.label}),e.jsx("p",{className:"text-gray-500 text-xs truncate",children:b.description})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[b.message&&e.jsx("span",{className:`text-xs max-w-[200px] truncate ${b.status==="success"?"text-green-400":b.status==="error"?"text-red-400":"text-gray-400"}`,children:b.message}),b.responseTime!==void 0&&e.jsxs(Le,{className:"bg-gray-700 text-gray-300 border-0 text-xs",children:[b.responseTime,"ms"]}),e.jsx(J,{size:"sm",variant:"outline",onClick:()=>T(w),disabled:b.status==="testing",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent text-xs h-8 px-3",children:"测试"})]})]},`${b.endpoint}-${w}`))})})]})]})}const YC=[{id:"stats",label:"数据统计",icon:Gj},{id:"partner",label:"找伙伴",icon:Yt},{id:"resource",label:"资源对接",icon:kb},{id:"mentor",label:"导师预约",icon:wb},{id:"team",label:"团队招募",icon:Xd}];function QC(){const[r,a]=h.useState("stats");return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"mb-6",children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-6 h-6 text-[#38bdac]"}),"找伙伴"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"数据统计、匹配池与记录、资源对接、导师预约、团队招募"})]}),e.jsx("div",{className:"flex flex-wrap gap-1 mb-6 bg-[#0f2137] rounded-lg p-1 border border-gray-700/50",children:YC.map(l=>{const o=r===l.id;return e.jsxs("button",{type:"button",onClick:()=>a(l.id),className:`flex items-center gap-2 px-5 py-2.5 rounded-md text-sm font-medium transition-all ${o?"bg-[#38bdac] text-white shadow-lg":"text-gray-400 hover:text-white hover:bg-gray-700/50"}`,children:[e.jsx(l.icon,{className:"w-4 h-4"}),l.label]},l.id)})}),r==="stats"&&e.jsx(GC,{onSwitchTab:l=>a(l)}),r==="partner"&&e.jsx(zC,{}),r==="resource"&&e.jsx($C,{}),r==="mentor"&&e.jsx(VC,{}),r==="team"&&e.jsx(WC,{})]})}function qC(){return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-8",children:[e.jsx(on,{className:"w-8 h-8 text-[#38bdac]"}),e.jsx("h1",{className:"text-2xl font-bold text-white",children:"API 接口文档"})]}),e.jsx("p",{className:"text-gray-400 mb-6",children:"API 风格:RESTful · 版本 v1.0 · 基础路径 /api · 简单、清晰、易用。"}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ke,{children:e.jsx(Ge,{className:"text-white",children:"1. 接口总览"})}),e.jsxs(we,{className:"space-y-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 mb-2",children:"接口分类"}),e.jsxs("ul",{className:"space-y-1 text-gray-300 font-mono",children:[e.jsx("li",{children:"/api/book — 书籍内容(章节列表、内容获取、同步)"}),e.jsx("li",{children:"/api/payment — 支付系统(订单创建、回调、状态查询)"}),e.jsx("li",{children:"/api/referral — 分销系统(邀请码、收益、提现)"}),e.jsx("li",{children:"/api/user — 用户系统(登录、注册、信息更新)"}),e.jsx("li",{children:"/api/match — 匹配系统(寻找匹配、匹配历史)"}),e.jsx("li",{children:"/api/admin — 管理后台(内容/订单/用户/分销管理)"}),e.jsx("li",{children:"/api/config — 配置系统"})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 mb-2",children:"认证方式"}),e.jsx("p",{className:"text-gray-300",children:"用户:Cookie session_id(可选)"}),e.jsx("p",{className:"text-gray-300",children:"管理端:Authorization: Bearer admin-token-secret"})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ke,{children:e.jsx(Ge,{className:"text-white",children:"2. 书籍内容"})}),e.jsxs(we,{className:"space-y-2 text-sm text-gray-300 font-mono",children:[e.jsx("p",{children:"GET /api/book/all-chapters — 获取所有章节"}),e.jsx("p",{children:"GET /api/book/chapter/:id — 获取单章内容"}),e.jsx("p",{children:"POST /api/book/sync — 同步章节(需管理员认证)"})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ke,{children:e.jsx(Ge,{className:"text-white",children:"3. 支付"})}),e.jsxs(we,{className:"space-y-2 text-sm text-gray-300 font-mono",children:[e.jsx("p",{children:"POST /api/payment/create-order — 创建订单"}),e.jsx("p",{children:"POST /api/payment/alipay/notify — 支付宝回调"}),e.jsx("p",{children:"POST /api/payment/wechat/notify — 微信回调"})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ke,{children:e.jsx(Ge,{className:"text-white",children:"4. 分销与用户"})}),e.jsxs(we,{className:"space-y-2 text-sm text-gray-300 font-mono",children:[e.jsx("p",{children:"/api/referral/* — 邀请码、收益查询、提现"}),e.jsx("p",{children:"/api/user/* — 登录、注册、信息更新"}),e.jsx("p",{children:"/api/match/* — 匹配、匹配历史"})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ke,{children:e.jsx(Ge,{className:"text-white",children:"5. 管理后台"})}),e.jsxs(we,{className:"space-y-2 text-sm text-gray-300 font-mono",children:[e.jsx("p",{children:"GET/POST /api/admin/referral-settings — 推广/分销设置(含 VIP 配置)"}),e.jsx("p",{children:"GET /api/db/users、/api/db/book — 用户与章节数据"}),e.jsx("p",{children:"GET /api/orders — 订单列表"})]})]}),e.jsx("p",{className:"text-gray-500 text-xs",children:"完整说明见项目内 开发文档/5、接口/API接口完整文档.md"})]})}function XC(){const r=pn();return e.jsx("div",{className:"min-h-screen bg-[#0a1628] flex items-center justify-center p-8",children:e.jsxs("div",{className:"text-center max-w-md",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 rounded-full bg-red-500/20 text-red-400 mb-6",children:e.jsx(Zj,{className:"w-10 h-10"})}),e.jsx("h1",{className:"text-4xl font-bold text-white mb-2",children:"404"}),e.jsx("p",{className:"text-gray-400 mb-1",children:"页面不存在"}),e.jsx("p",{className:"text-sm text-gray-500 font-mono mb-8 break-all",children:r.pathname}),e.jsx(J,{asChild:!0,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:e.jsxs(Kd,{to:"/",children:[e.jsx(Pb,{className:"w-4 h-4 mr-2"}),"返回首页"]})})]})})}function JC(){return e.jsxs(Nj,{children:[e.jsx(yt,{path:"/login",element:e.jsx(Ew,{})}),e.jsxs(yt,{path:"/",element:e.jsx(RN,{}),children:[e.jsx(yt,{index:!0,element:e.jsx(Sd,{to:"/dashboard",replace:!0})}),e.jsx(yt,{path:"dashboard",element:e.jsx(Tw,{})}),e.jsx(yt,{path:"orders",element:e.jsx(f2,{})}),e.jsx(yt,{path:"users",element:e.jsx($2,{})}),e.jsx(yt,{path:"distribution",element:e.jsx(o4,{})}),e.jsx(yt,{path:"withdrawals",element:e.jsx(c4,{})}),e.jsx(yt,{path:"content",element:e.jsx(pC,{})}),e.jsx(yt,{path:"referral-settings",element:e.jsx(I0,{})}),e.jsx(yt,{path:"author-settings",element:e.jsx(Sd,{to:"/settings?tab=author",replace:!0})}),e.jsx(yt,{path:"admin-users",element:e.jsx(Sd,{to:"/settings?tab=admin",replace:!0})}),e.jsx(yt,{path:"vip-roles",element:e.jsx(AC,{})}),e.jsx(yt,{path:"mentors",element:e.jsx(Rg,{})}),e.jsx(yt,{path:"mentor-consultations",element:e.jsx(DC,{})}),e.jsx(yt,{path:"settings",element:e.jsx(SC,{})}),e.jsx(yt,{path:"payment",element:e.jsx(CC,{})}),e.jsx(yt,{path:"site",element:e.jsx(TC,{})}),e.jsx(yt,{path:"qrcodes",element:e.jsx(RC,{})}),e.jsx(yt,{path:"find-partner",element:e.jsx(QC,{})}),e.jsx(yt,{path:"match",element:e.jsx(_C,{})}),e.jsx(yt,{path:"match-records",element:e.jsx(MC,{})}),e.jsx(yt,{path:"api-doc",element:e.jsx(qC,{})})]}),e.jsx(yt,{path:"*",element:e.jsx(XC,{})})]})}kv.createRoot(document.getElementById("root")).render(e.jsx(h.StrictMode,{children:e.jsx(Rj,{future:{v7_startTransition:!0,v7_relativeSplatPath:!0},children:e.jsx(JC,{})})})); +`+as}),alert(`图片上传成功: ${nt.data.url}`)}else alert("上传失败: "+((nt==null?void 0:nt.error)||"未知错误"))}catch(xt){console.error(xt),alert("上传失败")}finally{L(!1),$.current&&($.current.value="")}}},kn=async()=>{var z;if(R.trim()){j(!0);try{const oe=await $e(`/api/search?q=${encodeURIComponent(R)}`);oe!=null&&oe.success&&((z=oe.data)!=null&&z.results)?w(oe.data.results):(w([]),oe&&!oe.success&&alert("搜索失败: "+oe.error))}catch(oe){console.error(oe),w([]),alert("搜索失败")}finally{j(!1)}}},zs=Bt.find(z=>z.id===_.partId),Mr=(zs==null?void 0:zs.chapters)??[];return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"内容管理"}),e.jsxs("p",{className:"text-gray-400 mt-1",children:["共 ",Bt.length," 篇 · ",_r," 节内容"]})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(J,{onClick:()=>he(!0),variant:"outline",className:"border-amber-500/50 text-amber-400 hover:bg-amber-500/10 bg-transparent",children:[e.jsx(kd,{className:"w-4 h-4 mr-2"}),"排名算法"]}),e.jsxs(J,{onClick:()=>{const z=typeof window<"u"?`${window.location.origin}/api-doc`:"";z&&window.open(z,"_blank","noopener,noreferrer")},variant:"outline",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(on,{className:"w-4 h-4 mr-2"}),"API 接口"]})]})]}),e.jsx(Ct,{open:p,onOpenChange:y,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-2xl max-h-[90vh] overflow-y-auto",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(Rt,{className:"w-5 h-5 text-[#38bdac]"}),"新建章节"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节ID *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 9.15",value:_.id,onChange:z=>I({..._,id:z.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"价格 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:_.price,onChange:z=>I({..._,price:Number(z.target.value)})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节标题 *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"输入章节标题",value:_.title,onChange:z=>I({..._,title:z.target.value})})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"所属篇"}),e.jsxs(kl,{value:_.partId,onValueChange:z=>I({..._,partId:z,chapterId:"chapter-1"}),children:[e.jsx(ka,{className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{})}),e.jsxs(Ea,{className:"bg-[#0f2137] border-gray-700",children:[Bt.map(z=>e.jsx(lr,{value:z.id,className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:z.title},z.id)),Bt.length===0&&e.jsx(lr,{value:"part-1",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"默认篇"})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"所属章"}),e.jsxs(kl,{value:_.chapterId,onValueChange:z=>I({..._,chapterId:z}),children:[e.jsx(ka,{className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{})}),e.jsxs(Ea,{className:"bg-[#0f2137] border-gray-700",children:[Mr.map(z=>e.jsx(lr,{value:z.id,className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:z.title},z.id)),Mr.length===0&&e.jsx(lr,{value:"chapter-1",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"默认章"})]})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"内容 (Markdown格式)"}),e.jsx(un,{className:"bg-[#0a1628] border-gray-700 text-white min-h-[300px] font-mono text-sm placeholder:text-gray-500",placeholder:"输入章节内容...",value:_.content,onChange:z=>I({..._,content:z.target.value})})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>y(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:fr,disabled:C||!_.id||!_.title,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:C?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"创建中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"创建章节"]})})]})]})}),e.jsx(Ct,{open:!!E,onOpenChange:z=>!z&&G(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}),"编辑篇名"]})}),E&&e.jsx("div",{className:"space-y-4 py-4",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"篇名"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:E.title,onChange:z=>G({...E,title:z.target.value}),placeholder:"输入篇名"})]})}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>G(null),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:Ls,disabled:ne||!(($s=E==null?void 0:E.title)!=null&&$s.trim()),className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:ne?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"保存中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存"]})})]})]})}),e.jsx(Ct,{open:!!H,onOpenChange:z=>!z&&ie(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}),"编辑章节名称"]})}),H&&e.jsx("div",{className:"space-y-4 py-4",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节名称(如:第8章|底层结构)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:H.title,onChange:z=>ie({...H,title:z.target.value}),placeholder:"输入章节名称"})]})}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>ie(null),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:Os,disabled:ve||!((Zn=H==null?void 0:H.title)!=null&&Zn.trim()),className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:ve?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"保存中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存"]})})]})]})}),e.jsx(Ct,{open:A,onOpenChange:z=>{var oe;if(F(z),z&&Bt.length>0){const Ce=Bt[0];Z(Ce.id),de(((oe=Ce.chapters[0])==null?void 0:oe.id)??"")}},children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:"批量移动至指定目录"})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["已选 ",e.jsx("span",{className:"text-[#38bdac] font-medium",children:ce.length})," 节,请选择目标篇与章。"]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"目标篇"}),e.jsxs(kl,{value:O,onValueChange:z=>{var Ce;Z(z);const oe=Bt.find(Ee=>Ee.id===z);de(((Ce=oe==null?void 0:oe.chapters[0])==null?void 0:Ce.id)??"")},children:[e.jsx(ka,{className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{placeholder:"选择篇"})}),e.jsx(Ea,{className:"bg-[#0f2137] border-gray-700",children:Bt.map(z=>e.jsx(lr,{value:z.id,className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:z.title},z.id))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"目标章"}),e.jsxs(kl,{value:Y,onValueChange:de,children:[e.jsx(ka,{className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{placeholder:"选择章"})}),e.jsx(Ea,{className:"bg-[#0f2137] border-gray-700",children:(((ts=Bt.find(z=>z.id===O))==null?void 0:ts.chapters)??[]).map(z=>e.jsx(lr,{value:z.id,className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:z.title},z.id))})]})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>F(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:qn,disabled:Q||ce.length===0,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:Q?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"移动中..."]}):"确认移动"})]})]})}),e.jsx(Ct,{open:!!Ve,onOpenChange:z=>!z&&We(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-3xl max-h-[85vh] overflow-hidden flex flex-col",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white",children:["付款记录 — ",(Ve==null?void 0:Ve.section.title)??""]})}),e.jsx("div",{className:"flex-1 overflow-y-auto py-2",children:Ke?e.jsxs("div",{className:"flex items-center justify-center py-8",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):Ve&&Ve.orders.length===0?e.jsx("p",{className:"text-gray-500 text-center py-6",children:"暂无付款记录"}):Ve?e.jsxs("table",{className:"w-full text-sm border-collapse",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-gray-700 text-left text-gray-400",children:[e.jsx("th",{className:"py-2 pr-2",children:"订单号"}),e.jsx("th",{className:"py-2 pr-2",children:"用户ID"}),e.jsx("th",{className:"py-2 pr-2",children:"金额"}),e.jsx("th",{className:"py-2 pr-2",children:"状态"}),e.jsx("th",{className:"py-2 pr-2",children:"支付时间"})]})}),e.jsx("tbody",{children:Ve.orders.map(z=>e.jsxs("tr",{className:"border-b border-gray-700/50",children:[e.jsx("td",{className:"py-2 pr-2 text-gray-300",children:z.orderSn??"-"}),e.jsx("td",{className:"py-2 pr-2 text-gray-300",children:z.userId??z.openId??"-"}),e.jsxs("td",{className:"py-2 pr-2 text-gray-300",children:["¥",z.amount??0]}),e.jsx("td",{className:"py-2 pr-2 text-gray-300",children:z.status??"-"}),e.jsx("td",{className:"py-2 pr-2 text-gray-500",children:z.payTime??z.createdAt??"-"})]},z.id??z.orderSn??""))})]}):null})]})}),e.jsx(Ct,{open:ze,onOpenChange:he,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(kd,{className:"w-5 h-5 text-amber-400"}),"文章排名算法"]})}),e.jsxs("div",{className:"space-y-4 py-2",children:[e.jsx("p",{className:"text-sm text-gray-400",children:"热度积分 = 阅读权重×阅读排名分 + 新度权重×新度排名分 + 付款权重×付款排名分(三权重之和须为 1)"}),es?e.jsx("p",{className:"text-gray-500",children:"加载中..."}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"grid grid-cols-3 gap-3",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(te,{className:"text-gray-400 text-xs",children:"阅读权重"}),e.jsx(le,{type:"number",step:"0.1",min:"0",max:"1",className:"bg-[#0a1628] border-gray-700 text-white",value:xe.readWeight,onChange:z=>ft(oe=>({...oe,readWeight:Math.max(0,Math.min(1,parseFloat(z.target.value)||0))}))})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(te,{className:"text-gray-400 text-xs",children:"新度权重"}),e.jsx(le,{type:"number",step:"0.1",min:"0",max:"1",className:"bg-[#0a1628] border-gray-700 text-white",value:xe.recencyWeight,onChange:z=>ft(oe=>({...oe,recencyWeight:Math.max(0,Math.min(1,parseFloat(z.target.value)||0))}))})]}),e.jsxs("div",{className:"space-y-1",children:[e.jsx(te,{className:"text-gray-400 text-xs",children:"付款权重"}),e.jsx(le,{type:"number",step:"0.1",min:"0",max:"1",className:"bg-[#0a1628] border-gray-700 text-white",value:xe.payWeight,onChange:z=>ft(oe=>({...oe,payWeight:Math.max(0,Math.min(1,parseFloat(z.target.value)||0))}))})]})]}),e.jsxs("p",{className:"text-xs text-gray-500",children:["当前之和: ",(xe.readWeight+xe.recencyWeight+xe.payWeight).toFixed(1)]}),e.jsxs("ul",{className:"list-disc list-inside space-y-1 text-xs text-gray-400",children:[e.jsx("li",{children:"阅读量前 20 名:得分 20~1"}),e.jsx("li",{children:"最近更新前 30 篇:得分 30~1"}),e.jsx("li",{children:"付款数前 20 名:得分 20~1"})]}),e.jsx(J,{onClick:Gn,disabled:bn||Math.abs(xe.readWeight+xe.recencyWeight+xe.payWeight-1)>.001,className:"w-full bg-amber-500 hover:bg-amber-600 text-white",children:bn?"保存中...":"保存权重"})]})]})]})}),e.jsx(Ct,{open:q,onOpenChange:se,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-md",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(Rt,{className:"w-5 h-5 text-amber-400"}),"新建篇"]})}),e.jsx("div",{className:"space-y-4 py-4",children:e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"篇名(如:第六篇|真实的社会)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:Se,onChange:z=>D(z.target.value),placeholder:"输入篇名"})]})}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>{se(!1),D("")},className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsx(J,{onClick:Qn,disabled:fe||!Se.trim(),className:"bg-amber-500 hover:bg-amber-600 text-white",children:fe?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"创建中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"创建篇"]})})]})]})}),e.jsx(Ct,{open:!!m,onOpenChange:()=>f(null),children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-4xl max-h-[90vh] flex flex-col p-0 gap-0",showCloseButton:!0,children:[e.jsx(kt,{className:"shrink-0 px-6 pt-6 pb-2",children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}),"编辑章节"]})}),m&&e.jsxs("div",{className:"flex-1 overflow-y-auto min-h-0 px-6 space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节ID"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:m.id,disabled:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"价格 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:m.isFree?0:m.price,onChange:z=>f({...m,price:Number(z.target.value),isFree:Number(z.target.value)===0}),disabled:m.isFree})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"免费章节(唯一入口,小程序以 is_free 或 price=0 为准)"}),e.jsx("div",{className:"flex items-center h-10",children:e.jsxs("label",{className:"flex items-center cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:m.isFree||m.price===0,onChange:z=>f({...m,isFree:z.target.checked,price:z.target.checked?0:1}),className:"w-5 h-5 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"}),e.jsx("span",{className:"ml-2 text-gray-400 text-sm",children:"设为免费"})]})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"最新新增"}),e.jsx("div",{className:"flex items-center h-10",children:e.jsxs("label",{className:"flex items-center cursor-pointer",children:[e.jsx("input",{type:"checkbox",checked:m.isNew??!1,onChange:z=>f({...m,isNew:z.target.checked}),className:"w-5 h-5 rounded border-gray-600 bg-[#0a1628] text-[#38bdac] focus:ring-[#38bdac]"}),e.jsx("span",{className:"ml-2 text-gray-400 text-sm",children:"标记 NEW"})]})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"章节标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:m.title,onChange:z=>f({...m,title:z.target.value})})]}),m.filePath&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"文件路径"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-gray-400 text-sm",value:m.filePath,disabled:!0})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(te,{className:"text-gray-300",children:"内容 (Markdown格式)"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{ref:$,type:"file",accept:"image/*",onChange:Cn,className:"hidden"}),e.jsxs(J,{variant:"outline",size:"sm",onClick:()=>{var z;return(z=$.current)==null?void 0:z.click()},disabled:T,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[T?e.jsx(Be,{className:"w-4 h-4 mr-1 animate-spin"}):e.jsx(Qx,{className:"w-4 h-4 mr-1"}),"上传图片"]})]})]}),g?e.jsxs("div",{className:"bg-[#0a1628] border border-gray-700 rounded-md min-h-[400px] flex items-center justify-center",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsx(un,{className:"bg-[#0a1628] border-gray-700 text-white min-h-[400px] font-mono text-sm placeholder:text-gray-500",placeholder:"此处输入章节内容,支持Markdown格式...",value:m.content,onChange:z=>f({...m,content:z.target.value})})]})]}),e.jsxs(Dt,{className:"shrink-0 px-6 py-4 border-t border-gray-700/50",children:[e.jsxs(J,{variant:"outline",onClick:()=>f(null),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsx(J,{onClick:wn,disabled:C,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:C?e.jsxs(e.Fragment,{children:[e.jsx(Be,{className:"w-4 h-4 mr-2 animate-spin"}),"保存中..."]}):e.jsxs(e.Fragment,{children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存修改"]})})]})]})}),e.jsxs($l,{defaultValue:"chapters",className:"space-y-6",children:[e.jsxs($a,{className:"bg-[#0f2137] border border-gray-700/50 p-1",children:[e.jsxs(Lt,{value:"chapters",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400",children:[e.jsx(qs,{className:"w-4 h-4 mr-2"}),"章节管理"]}),e.jsxs(Lt,{value:"search",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400",children:[e.jsx(cn,{className:"w-4 h-4 mr-2"}),"内容搜索"]}),e.jsxs(Lt,{value:"hooks",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400",children:[e.jsx(kd,{className:"w-4 h-4 mr-2"}),"钩子配置"]})]}),e.jsxs(Ot,{value:"chapters",className:"space-y-4",children:[e.jsxs("div",{className:"rounded-2xl border border-gray-700/50 bg-[#1C1C1E] p-4 flex items-center justify-between shadow-sm",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"w-12 h-12 rounded-xl bg-[#38bdac] flex items-center justify-center text-white shadow-lg shadow-[#38bdac]/20 shrink-0",children:e.jsx(qs,{className:"w-6 h-6"})}),e.jsxs("div",{children:[e.jsx("h2",{className:"font-bold text-base text-white leading-tight mb-1",children:"一场SOUL的创业实验场"}),e.jsx("p",{className:"text-xs text-gray-500",children:"来自Soul派对房的真实商业故事"})]})]}),e.jsxs("div",{className:"text-center shrink-0",children:[e.jsx("span",{className:"block text-2xl font-bold text-[#38bdac]",children:_r}),e.jsx("span",{className:"text-xs text-gray-500",children:"章节"})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-2",children:[e.jsxs(J,{onClick:()=>y(!0),className:"flex-1 min-w-[120px] bg-[#38bdac]/10 hover:bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/30",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新建章节"]}),e.jsxs(J,{onClick:()=>se(!0),className:"flex-1 min-w-[120px] bg-amber-500/10 hover:bg-amber-500/20 text-amber-400 border border-amber-500/30",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新建篇"]}),e.jsxs(J,{variant:"outline",onClick:()=>F(!0),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:["批量移动(已选 ",ce.length," 节)"]})]}),l?e.jsxs("div",{className:"flex items-center justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsx(fC,{parts:Bt,expandedParts:c,onTogglePart:gs,onReorder:Nn,onReadSection:ks,onDeleteSection:mr,onAddSectionInPart:ys,onAddChapterInPart:Sn,onDeleteChapter:Fs,onEditPart:Ds,onDeletePart:Jn,onEditChapter:Es,selectedSectionIds:ce,onToggleSectionSelect:Xn,onShowSectionOrders:Yn})]}),e.jsx(Ot,{value:"search",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsx(Ye,{children:e.jsx(Qe,{className:"text-white",children:"内容搜索"})}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 flex-1",placeholder:"搜索标题或内容...",value:R,onChange:z=>N(z.target.value),onKeyDown:z=>z.key==="Enter"&&kn()}),e.jsx(J,{onClick:kn,disabled:k||!R.trim(),className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:k?e.jsx(Be,{className:"w-4 h-4 animate-spin"}):e.jsx(cn,{className:"w-4 h-4"})})]}),b.length>0&&e.jsxs("div",{className:"space-y-2 mt-4",children:[e.jsxs("p",{className:"text-gray-400 text-sm",children:["找到 ",b.length," 个结果"]}),b.map(z=>e.jsxs("div",{className:"p-3 rounded-lg bg-[#162840] hover:bg-[#1a3050] cursor-pointer transition-colors",onClick:()=>ks({id:z.id,title:z.title,price:z.price??1,filePath:""}),children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("span",{className:"text-[#38bdac] font-mono text-xs mr-2",children:z.id}),e.jsx("span",{className:"text-white",children:z.title})]}),e.jsx(Le,{variant:"outline",className:"text-gray-400 border-gray-600 text-xs",children:z.matchType==="title"?"标题匹配":"内容匹配"})]}),z.snippet&&e.jsx("p",{className:"text-gray-500 text-xs mt-2 line-clamp-2",children:z.snippet}),(z.partTitle||z.chapterTitle)&&e.jsxs("p",{className:"text-gray-600 text-xs mt-1",children:[z.partTitle," · ",z.chapterTitle]})]},z.id))]})]})]})}),e.jsx(Ot,{value:"hooks",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsx(Ye,{children:e.jsx(Qe,{className:"text-white",children:"引流钩子配置"})}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid w-full max-w-sm items-center gap-1.5",children:[e.jsx(te,{htmlFor:"hook-chapter",className:"text-gray-300",children:"触发章节"}),e.jsxs(kl,{defaultValue:"3",children:[e.jsx(ka,{id:"hook-chapter",className:"bg-[#0a1628] border-gray-700 text-white",children:e.jsx(El,{placeholder:"选择章节"})}),e.jsxs(Ea,{className:"bg-[#0f2137] border-gray-700",children:[e.jsx(lr,{value:"1",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"第一章"}),e.jsx(lr,{value:"2",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"第二章"}),e.jsx(lr,{value:"3",className:"text-white hover:bg-[#38bdac]/20 focus:bg-[#38bdac]/20",children:"第三章 (默认)"})]})]})]}),e.jsxs("div",{className:"grid w-full gap-1.5",children:[e.jsx(te,{htmlFor:"message",className:"text-gray-300",children:"引流文案"}),e.jsx(un,{placeholder:"输入引导用户加群的文案...",id:"message",className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",defaultValue:"阅读更多精彩内容,请加入Soul创业实验派对群..."})]}),e.jsx(J,{className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:"保存配置"})]})]})})]})]})}const kr={name:"卡若",avatar:"K",avatarImg:"",title:"Soul派对房主理人 · 私域运营专家",bio:'每天早上6点到9点,在Soul派对房分享真实的创业故事。专注私域运营与项目变现,用"云阿米巴"模式帮助创业者构建可持续的商业体系。',stats:[{label:"商业案例",value:"62"},{label:"连续直播",value:"365天"},{label:"派对分享",value:"1000+"}],highlights:["5年私域运营经验","帮助100+品牌从0到1增长","连续创业者,擅长商业模式设计"]};function jx(r){return Array.isArray(r)?r.map(a=>a&&typeof a=="object"&&"label"in a&&"value"in a?{label:String(a.label),value:String(a.value)}:{label:"",value:""}).filter(a=>a.label||a.value):kr.stats}function bx(r){return Array.isArray(r)?r.map(a=>typeof a=="string"?a:String(a??"")).filter(Boolean):kr.highlights}function gC(){const[r,a]=h.useState(kr),[l,o]=h.useState(!0),[c,u]=h.useState(!1),[m,f]=h.useState(!1),p=h.useRef(null);h.useEffect(()=>{$e("/api/admin/author-settings").then(w=>{const k=w==null?void 0:w.data;k&&typeof k=="object"&&a({name:String(k.name??kr.name),avatar:String(k.avatar??kr.avatar),avatarImg:String(k.avatarImg??""),title:String(k.title??kr.title),bio:String(k.bio??kr.bio),stats:jx(k.stats).length?jx(k.stats):kr.stats,highlights:bx(k.highlights).length?bx(k.highlights):kr.highlights})}).catch(console.error).finally(()=>o(!1))},[]);const y=async()=>{u(!0);try{const w={name:r.name,avatar:r.avatar||"K",avatarImg:r.avatarImg,title:r.title,bio:r.bio,stats:r.stats.filter(T=>T.label||T.value),highlights:r.highlights.filter(Boolean)},k=await mt("/api/admin/author-settings",w);if(!k||k.success===!1){alert("保存失败: "+(k&&typeof k=="object"&&"error"in k?k.error:""));return}u(!1);const j=document.createElement("div");j.className="fixed top-4 right-4 z-50 px-4 py-2 rounded-lg bg-[#38bdac] text-white text-sm shadow-lg",j.textContent="作者设置已保存",document.body.appendChild(j),setTimeout(()=>j.remove(),2e3)}catch(w){console.error(w),alert("保存失败: "+(w instanceof Error?w.message:String(w)))}finally{u(!1)}},g=async w=>{var j;const k=(j=w.target.files)==null?void 0:j[0];if(k){f(!0);try{const T=new FormData;T.append("file",k),T.append("folder","avatars");const L=bu(),$={};L&&($.Authorization=`Bearer ${L}`);const I=await(await fetch(Aa("/api/upload"),{method:"POST",body:T,credentials:"include",headers:$})).json();I!=null&&I.success&&(I!=null&&I.url)?a(E=>({...E,avatarImg:I.url})):alert("上传失败: "+((I==null?void 0:I.error)||"未知错误"))}catch(T){console.error(T),alert("上传失败")}finally{f(!1),p.current&&(p.current.value="")}}},v=()=>a(w=>({...w,stats:[...w.stats,{label:"",value:""}]})),C=w=>a(k=>({...k,stats:k.stats.filter((j,T)=>T!==w)})),P=(w,k,j)=>a(T=>({...T,stats:T.stats.map((L,$)=>$===w?{...L,[k]:j}:L)})),R=()=>a(w=>({...w,highlights:[...w.highlights,""]})),N=w=>a(k=>({...k,highlights:k.highlights.filter((j,T)=>T!==w)})),b=(w,k)=>a(j=>({...j,highlights:j.highlights.map((T,L)=>L===w?k:T)}));return l?e.jsx("div",{className:"p-8 text-gray-500",children:"加载中..."}):e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Ta,{className:"w-5 h-5 text-[#38bdac]"}),"作者详情"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"配置小程序「关于作者」页展示的作者信息,包括头像、简介、统计数据与亮点标签。"})]}),e.jsxs(J,{onClick:y,disabled:c||l,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),c?"保存中...":"保存"]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"flex items-center gap-2 text-white",children:[e.jsx(Ta,{className:"w-4 h-4 text-[#38bdac]"}),"基本信息"]}),e.jsx(jt,{className:"text-gray-400",children:"作者姓名、头像、头衔与个人简介,将展示在「关于作者」页顶部。"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"姓名"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:r.name,onChange:w=>a(k=>({...k,name:w.target.value})),placeholder:"卡若"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"首字母占位(无头像时显示)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white w-20",value:r.avatar,onChange:w=>a(k=>({...k,avatar:w.target.value.slice(0,1)||"K"})),placeholder:"K"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Qx,{className:"w-3 h-3 text-[#38bdac]"}),"头像图片"]}),e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:r.avatarImg,onChange:w=>a(k=>({...k,avatarImg:w.target.value})),placeholder:"上传或粘贴 URL,如 /uploads/avatars/xxx.png"}),e.jsx("input",{ref:p,type:"file",accept:"image/*",className:"hidden",onChange:g}),e.jsxs(J,{type:"button",variant:"outline",size:"sm",className:"border-gray-600 text-gray-400 shrink-0",disabled:m,onClick:()=>{var w;return(w=p.current)==null?void 0:w.click()},children:[e.jsx(uo,{className:"w-4 h-4 mr-2"}),m?"上传中...":"上传"]})]}),r.avatarImg&&e.jsx("div",{className:"mt-2",children:e.jsx("img",{src:r.avatarImg.startsWith("http")?r.avatarImg:Aa(r.avatarImg),alt:"头像预览",className:"w-20 h-20 rounded-full object-cover border border-gray-600"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"头衔"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:r.title,onChange:w=>a(k=>({...k,title:w.target.value})),placeholder:"Soul派对房主理人 · 私域运营专家"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"个人简介"}),e.jsx(un,{className:"bg-[#0a1628] border-gray-700 text-white min-h-[120px]",value:r.bio,onChange:w=>a(k=>({...k,bio:w.target.value})),placeholder:"每天早上6点到9点..."})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsx(Qe,{className:"text-white",children:"统计数据"}),e.jsx(jt,{className:"text-gray-400",children:"展示在作者卡片中的数字指标,如「商业案例 62」「连续直播 365天」。第一个「商业案例」的值可由书籍统计自动更新。"})]}),e.jsxs(we,{className:"space-y-3",children:[r.stats.map((w,k)=>e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:w.label,onChange:j=>P(k,"label",j.target.value),placeholder:"标签"}),e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:w.value,onChange:j=>P(k,"value",j.target.value),placeholder:"数值"}),e.jsx(J,{variant:"ghost",size:"icon",className:"text-gray-400 hover:text-red-400",onClick:()=>C(k),children:e.jsx(ms,{className:"w-4 h-4"})})]},k)),e.jsxs(J,{variant:"outline",size:"sm",onClick:v,className:"border-gray-600 text-gray-400",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"添加统计项"]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsx(Qe,{className:"text-white",children:"亮点标签"}),e.jsx(jt,{className:"text-gray-400",children:"作者优势或成就的简短描述,以标签形式展示。"})]}),e.jsxs(we,{className:"space-y-3",children:[r.highlights.map((w,k)=>e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:w,onChange:j=>b(k,j.target.value),placeholder:"5年私域运营经验"}),e.jsx(J,{variant:"ghost",size:"icon",className:"text-gray-400 hover:text-red-400",onClick:()=>N(k),children:e.jsx(ms,{className:"w-4 h-4"})})]},k)),e.jsxs(J,{variant:"outline",size:"sm",onClick:R,className:"border-gray-600 text-gray-400",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"添加亮点"]})]})]})]})]})}function yC(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m]=h.useState(10),[f,p]=h.useState(0),[y,g]=h.useState(""),v=Iu(y,300),[C,P]=h.useState(!0),[R,N]=h.useState(null),[b,w]=h.useState(!1),[k,j]=h.useState(null),[T,L]=h.useState(""),[$,_]=h.useState(""),[I,E]=h.useState(""),[G,ne]=h.useState("admin"),[ae,q]=h.useState("active"),[se,H]=h.useState(!1);async function ie(){var F;P(!0),N(null);try{const O=new URLSearchParams({page:String(c),pageSize:String(m)});v.trim()&&O.set("search",v.trim());const Z=await $e(`/api/admin/users?${O}`);Z!=null&&Z.success?(a(Z.records||[]),o(Z.total??0),p(Z.totalPages??0)):N(Z.error||"加载失败")}catch(O){const Z=O;N(Z.status===403?"无权限访问":((F=Z==null?void 0:Z.data)==null?void 0:F.error)||"加载失败"),a([])}finally{P(!1)}}h.useEffect(()=>{ie()},[c,m,v]);const ve=()=>{j(null),L(""),_(""),E(""),ne("admin"),q("active"),w(!0)},V=F=>{j(F),L(F.username),_(""),E(F.name||""),ne(F.role==="super_admin"?"super_admin":"admin"),q(F.status==="disabled"?"disabled":"active"),w(!0)},ce=async()=>{var F;if(!T.trim()){N("用户名不能为空");return}if(!k&&!$){N("新建时密码必填,至少 6 位");return}if($&&$.length<6){N("密码至少 6 位");return}N(null),H(!0);try{if(k){const O=await vt("/api/admin/users",{id:k.id,password:$||void 0,name:I.trim(),role:G,status:ae});O!=null&&O.success?(w(!1),ie()):N((O==null?void 0:O.error)||"保存失败")}else{const O=await mt("/api/admin/users",{username:T.trim(),password:$,name:I.trim(),role:G});O!=null&&O.success?(w(!1),ie()):N((O==null?void 0:O.error)||"保存失败")}}catch(O){const Z=O;N(((F=Z==null?void 0:Z.data)==null?void 0:F.error)||"保存失败")}finally{H(!1)}},K=async F=>{var O;if(confirm("确定删除该管理员?"))try{const Z=await Pr(`/api/admin/users?id=${F}`);Z!=null&&Z.success?ie():N((Z==null?void 0:Z.error)||"删除失败")}catch(Z){const Y=Z;N(((O=Y==null?void 0:Y.data)==null?void 0:O.error)||"删除失败")}},A=F=>{if(!F)return"-";try{const O=new Date(F);return isNaN(O.getTime())?F:O.toLocaleString("zh-CN")}catch{return F}};return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-6",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(vu,{className:"w-5 h-5 text-[#38bdac]"}),"管理员用户"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"后台登录账号管理,仅超级管理员可操作"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(le,{placeholder:"搜索用户名/昵称",value:y,onChange:F=>g(F.target.value),className:"w-48 bg-[#0f2137] border-gray-700 text-white placeholder:text-gray-500"}),e.jsx(J,{variant:"outline",size:"sm",onClick:ie,disabled:C,className:"border-gray-600 text-gray-300",children:e.jsx(Be,{className:`w-4 h-4 ${C?"animate-spin":""}`})}),e.jsxs(J,{onClick:ve,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新增管理员"]})]})]}),R&&e.jsxs("div",{className:"mb-4 p-3 rounded-lg bg-red-500/10 border border-red-500/20 text-red-400 text-sm flex justify-between items-center",children:[e.jsx("span",{children:R}),e.jsx("button",{type:"button",onClick:()=>N(null),className:"text-red-400 hover:text-red-300",children:"×"})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:C?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"用户名"}),e.jsx(be,{className:"text-gray-400",children:"昵称"}),e.jsx(be,{className:"text-gray-400",children:"角色"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-gray-400",children:"创建时间"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[r.map(F=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:F.id}),e.jsx(pe,{className:"text-white font-medium",children:F.username}),e.jsx(pe,{className:"text-gray-400",children:F.name||"-"}),e.jsx(pe,{children:e.jsx(Le,{variant:"outline",className:F.role==="super_admin"?"border-amber-500/50 text-amber-400":"border-gray-600 text-gray-400",children:F.role==="super_admin"?"超级管理员":"管理员"})}),e.jsx(pe,{children:e.jsx(Le,{variant:"outline",className:F.status==="active"?"border-[#38bdac]/50 text-[#38bdac]":"border-gray-500 text-gray-500",children:F.status==="active"?"正常":"已禁用"})}),e.jsx(pe,{className:"text-gray-500 text-sm",children:A(F.createdAt)}),e.jsxs(pe,{className:"text-right",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>V(F),className:"text-gray-400 hover:text-[#38bdac]",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>K(F.id),className:"text-gray-400 hover:text-red-400",children:e.jsx(Ht,{className:"w-4 h-4"})})]})]},F.id)),r.length===0&&!C&&e.jsx(et,{children:e.jsx(pe,{colSpan:7,className:"text-center py-12 text-gray-500",children:R==="无权限访问"?"仅超级管理员可查看":"暂无管理员"})})]})]}),f>1&&e.jsx("div",{className:"p-4 border-t border-gray-700/50",children:e.jsx(Qs,{page:c,pageSize:m,total:l,totalPages:f,onPageChange:u})})]})})}),e.jsx(Ct,{open:b,onOpenChange:w,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-sm",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:k?"编辑管理员":"新增管理员"})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"用户名"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"登录用户名",value:T,onChange:F=>L(F.target.value),disabled:!!k}),k&&e.jsx("p",{className:"text-xs text-gray-500",children:"用户名不可修改"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:k?"新密码(留空不改)":"密码"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:k?"留空表示不修改":"至少 6 位",value:$,onChange:F=>_(F.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"昵称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"显示名称",value:I,onChange:F=>E(F.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"角色"}),e.jsxs("select",{value:G,onChange:F=>ne(F.target.value),className:"w-full h-10 px-3 rounded-md bg-[#0a1628] border border-gray-700 text-white",children:[e.jsx("option",{value:"admin",children:"管理员"}),e.jsx("option",{value:"super_admin",children:"超级管理员"})]})]}),k&&e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"状态"}),e.jsxs("select",{value:ae,onChange:F=>q(F.target.value),className:"w-full h-10 px-3 rounded-md bg-[#0a1628] border border-gray-700 text-white",children:[e.jsx("option",{value:"active",children:"正常"}),e.jsx("option",{value:"disabled",children:"禁用"})]})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>w(!1),className:"border-gray-600 text-gray-300",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:ce,disabled:se,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),se?"保存中...":"保存"]})]})]})})]})}const vC={appId:"wxb8bbb2b10dec74aa",withdrawSubscribeTmplId:"u3MbZGPRkrZIk-I7QdpwzFxnO_CeQPaCWF2FkiIablE",mchId:"1318592501",minWithdraw:10},jC={name:"卡若",startDate:"2025年10月15日",bio:"连续创业者,私域运营专家,每天早上6-9点在Soul派对房分享真实商业故事",liveTime:"06:00-09:00",platform:"Soul派对房",description:"连续创业者,私域运营专家"},bC={sectionPrice:1,baseBookPrice:9.9,distributorShare:90,authorInfo:{...jC}},NC={matchEnabled:!0,referralEnabled:!0,searchEnabled:!0,aboutEnabled:!0},wC=["system","author","admin"];function SC(){const[r,a]=Ux(),l=r.get("tab")??"system",o=wC.includes(l)?l:"system",[c,u]=h.useState(bC),[m,f]=h.useState(NC),[p,y]=h.useState(vC),[g,v]=h.useState(!1),[C,P]=h.useState(!0),[R,N]=h.useState(!1),[b,w]=h.useState(""),[k,j]=h.useState(""),[T,L]=h.useState(!1),[$,_]=h.useState(!1),I=(q,se,H=!1)=>{w(q),j(se),L(H),N(!0)};h.useEffect(()=>{(async()=>{try{const se=await $e("/api/admin/settings");if(!se||se.success===!1)return;if(se.featureConfig&&Object.keys(se.featureConfig).length&&f(H=>({...H,...se.featureConfig})),se.mpConfig&&typeof se.mpConfig=="object"&&y(H=>({...H,...se.mpConfig})),se.siteSettings&&typeof se.siteSettings=="object"){const H=se.siteSettings;u(ie=>({...ie,...typeof H.sectionPrice=="number"&&{sectionPrice:H.sectionPrice},...typeof H.baseBookPrice=="number"&&{baseBookPrice:H.baseBookPrice},...typeof H.distributorShare=="number"&&{distributorShare:H.distributorShare},...H.authorInfo&&typeof H.authorInfo=="object"&&{authorInfo:{...ie.authorInfo,...H.authorInfo}}}))}}catch(se){console.error("Load settings error:",se)}finally{P(!1)}})()},[]);const E=async(q,se)=>{_(!0);try{const H=await mt("/api/admin/settings",{featureConfig:q});if(!H||H.success===!1){se(),I("保存失败",(H==null?void 0:H.error)??"未知错误",!0);return}I("已保存","功能开关已更新,相关入口将随之显示或隐藏。")}catch(H){console.error("Save feature config error:",H),se(),I("保存失败",H instanceof Error?H.message:String(H),!0)}finally{_(!1)}},G=(q,se)=>{const H=m,ie={...H,[q]:se};f(ie),E(ie,()=>f(H))},ne=async()=>{v(!0);try{const q=await mt("/api/admin/settings",{featureConfig:m,siteSettings:{sectionPrice:c.sectionPrice,baseBookPrice:c.baseBookPrice,distributorShare:c.distributorShare,authorInfo:c.authorInfo},mpConfig:{...p,appId:p.appId||"",withdrawSubscribeTmplId:p.withdrawSubscribeTmplId||"",mchId:p.mchId||"",minWithdraw:typeof p.minWithdraw=="number"?p.minWithdraw:10}});if(!q||q.success===!1){I("保存失败",(q==null?void 0:q.error)??"未知错误",!0);return}I("已保存","设置已保存成功。")}catch(q){console.error("Save settings error:",q),I("保存失败",q instanceof Error?q.message:String(q),!0)}finally{v(!1)}},ae=q=>{a(q==="system"?{}:{tab:q})};return C?e.jsx("div",{className:"p-8 text-gray-500",children:"加载中..."}):e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"系统设置"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"配置全站基础参数与开关"})]}),o==="system"&&e.jsxs(J,{onClick:ne,disabled:g,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),g?"保存中...":"保存设置"]})]}),e.jsxs($l,{value:o,onValueChange:ae,className:"w-full",children:[e.jsxs($a,{className:"mb-6 bg-[#0f2137] border border-gray-700/50 p-1",children:[e.jsxs(Lt,{value:"system",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400 data-[state=active]:font-medium",children:[e.jsx(Bn,{className:"w-4 h-4 mr-2"}),"系统设置"]}),e.jsxs(Lt,{value:"author",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400 data-[state=active]:font-medium",children:[e.jsx(Cd,{className:"w-4 h-4 mr-2"}),"作者详情"]}),e.jsxs(Lt,{value:"admin",className:"data-[state=active]:bg-[#38bdac]/20 data-[state=active]:text-[#38bdac] text-gray-400 data-[state=active]:font-medium",children:[e.jsx(vu,{className:"w-4 h-4 mr-2"}),"管理员"]})]}),e.jsx(Ot,{value:"system",className:"mt-0",children:e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Cd,{className:"w-5 h-5 text-[#38bdac]"}),"关于作者"]}),e.jsx(jt,{className:"text-gray-400",children:'配置作者信息,将在"关于作者"页面显示'})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"author-name",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(Cd,{className:"w-3 h-3"}),"主理人名称"]}),e.jsx(le,{id:"author-name",className:"bg-[#0a1628] border-gray-700 text-white",value:c.authorInfo.name??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,name:q.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"start-date",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(oo,{className:"w-3 h-3"}),"开播日期"]}),e.jsx(le,{id:"start-date",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例如: 2025年10月15日",value:c.authorInfo.startDate??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,startDate:q.target.value}}))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"live-time",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(oo,{className:"w-3 h-3"}),"直播时间"]}),e.jsx(le,{id:"live-time",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例如: 06:00-09:00",value:c.authorInfo.liveTime??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,liveTime:q.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"platform",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(qx,{className:"w-3 h-3"}),"直播平台"]}),e.jsx(le,{id:"platform",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"例如: Soul派对房",value:c.authorInfo.platform??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,platform:q.target.value}}))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{htmlFor:"description",className:"text-gray-300 flex items-center gap-1",children:[e.jsx(qs,{className:"w-3 h-3"}),"简介描述"]}),e.jsx(le,{id:"description",className:"bg-[#0a1628] border-gray-700 text-white",value:c.authorInfo.description??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,description:q.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"bio",className:"text-gray-300",children:"详细介绍"}),e.jsx(un,{id:"bio",className:"bg-[#0a1628] border-gray-700 text-white min-h-[100px]",placeholder:"输入作者详细介绍...",value:c.authorInfo.bio??"",onChange:q=>u(se=>({...se,authorInfo:{...se.authorInfo,bio:q.target.value}}))})]}),e.jsxs("div",{className:"mt-4 p-4 rounded-xl bg-[#0a1628] border border-[#38bdac]/30",children:[e.jsx("p",{className:"text-xs text-gray-500 mb-2",children:"预览效果"}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-12 h-12 rounded-full bg-gradient-to-br from-[#00CED1] to-[#20B2AA] flex items-center justify-center text-xl font-bold text-white",children:(c.authorInfo.name??"K").charAt(0)}),e.jsxs("div",{children:[e.jsx("p",{className:"text-white font-semibold",children:c.authorInfo.name}),e.jsx("p",{className:"text-gray-400 text-xs",children:c.authorInfo.description}),e.jsxs("p",{className:"text-[#38bdac] text-xs mt-1",children:["每日 ",c.authorInfo.liveTime," · ",c.authorInfo.platform]})]})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(co,{className:"w-5 h-5 text-[#38bdac]"}),"价格设置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置书籍和章节的定价"})]}),e.jsx(we,{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"单节价格 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:c.sectionPrice,onChange:q=>u(se=>({...se,sectionPrice:Number.parseFloat(q.target.value)||1}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"整本价格 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:c.baseBookPrice,onChange:q=>u(se=>({...se,baseBookPrice:Number.parseFloat(q.target.value)||9.9}))})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Al,{className:"w-5 h-5 text-[#38bdac]"}),"小程序配置"]}),e.jsx(jt,{className:"text-gray-400",children:"订阅消息模板、支付商户号等,小程序从 /api/miniprogram/config 读取(API 地址由 app.js baseUrl 控制)"})]}),e.jsx(we,{className:"space-y-4",children:e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"小程序 AppID"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"wxb8bbb2b10dec74aa",value:p.appId??"",onChange:q=>y(se=>({...se,appId:q.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"提现订阅模板 ID"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"用户申请提现时需授权",value:p.withdrawSubscribeTmplId??"",onChange:q=>y(se=>({...se,withdrawSubscribeTmplId:q.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"微信支付商户号"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"1318592501",value:p.mchId??"",onChange:q=>y(se=>({...se,mchId:q.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"最低提现金额 (元)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:p.minWithdraw??10,onChange:q=>y(se=>({...se,minWithdraw:Number.parseFloat(q.target.value)||10}))})]})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Bn,{className:"w-5 h-5 text-[#38bdac]"}),"功能开关"]}),e.jsx(jt,{className:"text-gray-400",children:"控制各个功能模块的显示/隐藏"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-[#0a1628] border border-gray-700/50",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Yt,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx(te,{htmlFor:"match-enabled",className:"text-white font-medium cursor-pointer",children:"找伙伴功能"})]}),e.jsx("p",{className:"text-xs text-gray-400 ml-6",children:"控制小程序和Web端的找伙伴功能显示"})]}),e.jsx(ot,{id:"match-enabled",checked:m.matchEnabled,disabled:$,onCheckedChange:q=>G("matchEnabled",q)})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-[#0a1628] border border-gray-700/50",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(jb,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx(te,{htmlFor:"referral-enabled",className:"text-white font-medium cursor-pointer",children:"推广功能"})]}),e.jsx("p",{className:"text-xs text-gray-400 ml-6",children:"控制推广中心的显示(我的页面入口)"})]}),e.jsx(ot,{id:"referral-enabled",checked:m.referralEnabled,disabled:$,onCheckedChange:q=>G("referralEnabled",q)})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-[#0a1628] border border-gray-700/50",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(qs,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx(te,{htmlFor:"search-enabled",className:"text-white font-medium cursor-pointer",children:"搜索功能"})]}),e.jsx("p",{className:"text-xs text-gray-400 ml-6",children:"控制首页搜索栏的显示"})]}),e.jsx(ot,{id:"search-enabled",checked:m.searchEnabled,disabled:$,onCheckedChange:q=>G("searchEnabled",q)})]}),e.jsxs("div",{className:"flex items-center justify-between p-4 rounded-lg bg-[#0a1628] border border-gray-700/50",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Bn,{className:"w-4 h-4 text-[#38bdac]"}),e.jsx(te,{htmlFor:"about-enabled",className:"text-white font-medium cursor-pointer",children:"关于页面"})]}),e.jsx("p",{className:"text-xs text-gray-400 ml-6",children:"控制关于页面的访问"})]}),e.jsx(ot,{id:"about-enabled",checked:m.aboutEnabled,disabled:$,onCheckedChange:q=>G("aboutEnabled",q)})]})]}),e.jsx("div",{className:"p-3 rounded-lg bg-blue-500/10 border border-blue-500/30",children:e.jsx("p",{className:"text-xs text-blue-300",children:"💡 关闭功能后,相关入口会自动隐藏。建议在功能开发完成后再开启。"})})]})]})]})}),e.jsx(Ot,{value:"author",className:"mt-0",children:e.jsx(gC,{})}),e.jsx(Ot,{value:"admin",className:"mt-0",children:e.jsx(yC,{})})]}),e.jsx(Ct,{open:R,onOpenChange:N,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white",showCloseButton:!0,children:[e.jsxs(kt,{children:[e.jsx(Et,{className:T?"text-red-400":"text-[#38bdac]",children:b}),e.jsx(m2,{className:"text-gray-400 whitespace-pre-wrap pt-2",children:k})]}),e.jsx(Dt,{className:"mt-4",children:e.jsx(J,{onClick:()=>N(!1),className:T?"bg-gray-600 hover:bg-gray-500":"bg-[#38bdac] hover:bg-[#2da396]",children:"确定"})})]})})]})}const Nx={wechat:{enabled:!0,qrCode:"/images/wechat-pay.png",account:"卡若",websiteAppId:"",merchantId:"",groupQrCode:"/images/party-group-qr.png"},alipay:{enabled:!0,qrCode:"/images/alipay.png",account:"卡若",partnerId:"",securityKey:""},usdt:{enabled:!1,network:"TRC20",address:"",exchangeRate:7.2},paypal:{enabled:!1,email:"",exchangeRate:7.2}};function CC(){const[r,a]=h.useState(!1),[l,o]=h.useState(Nx),[c,u]=h.useState(""),m=async()=>{a(!0);try{const w=await $e("/api/config");w!=null&&w.paymentMethods&&o({...Nx,...w.paymentMethods})}catch(w){console.error(w)}finally{a(!1)}};h.useEffect(()=>{m()},[]);const f=async()=>{a(!0);try{await mt("/api/db/config",{key:"payment_methods",value:l,description:"支付方式配置"}),alert("配置已保存!")}catch(w){console.error("保存失败:",w),alert("保存失败: "+(w instanceof Error?w.message:String(w)))}finally{a(!1)}},p=(w,k)=>{navigator.clipboard.writeText(w),u(k),setTimeout(()=>u(""),2e3)},y=(w,k)=>{o(j=>({...j,wechat:{...j.wechat,[w]:k}}))},g=(w,k)=>{o(j=>({...j,alipay:{...j.alipay,[w]:k}}))},v=(w,k)=>{o(j=>({...j,usdt:{...j.usdt,[w]:k}}))},C=(w,k)=>{o(j=>({...j,paypal:{...j.paypal,[w]:k}}))},P=l.wechat,R=l.alipay,N=l.usdt,b=l.paypal;return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-bold mb-2 text-white",children:"支付配置"}),e.jsx("p",{className:"text-gray-400",children:"配置微信、支付宝、USDT、PayPal等支付参数"})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsxs(J,{variant:"outline",onClick:m,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${r?"animate-spin":""}`}),"同步配置"]}),e.jsxs(J,{onClick:f,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存配置"]})]})]}),e.jsx("div",{className:"mb-6 bg-[#07C160]/10 border border-[#07C160]/30 rounded-xl p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Hx,{className:"w-5 h-5 text-[#07C160] flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-sm",children:[e.jsx("p",{className:"font-medium mb-2 text-[#07C160]",children:"如何获取微信群跳转链接?"}),e.jsxs("ol",{className:"text-[#07C160]/80 space-y-1 list-decimal list-inside",children:[e.jsx("li",{children:"打开微信,进入目标微信群"}),e.jsx("li",{children:'点击右上角"..." → "群二维码"'}),e.jsx("li",{children:'点击右上角"..." → "发送到电脑"'}),e.jsx("li",{children:"在电脑上保存二维码图片,上传到图床获取URL"}),e.jsx("li",{children:"或使用草料二维码等工具解析二维码获取链接"})]}),e.jsx("p",{className:"text-[#07C160]/60 mt-2",children:"提示:微信群二维码7天后失效,建议使用活码工具"})]})]})}),e.jsxs($l,{defaultValue:"wechat",className:"space-y-6",children:[e.jsxs($a,{className:"bg-[#0f2137] border border-gray-700/50 p-1 grid grid-cols-4 w-full",children:[e.jsxs(Lt,{value:"wechat",className:"data-[state=active]:bg-[#07C160]/20 data-[state=active]:text-[#07C160] text-gray-400",children:[e.jsx(Al,{className:"w-4 h-4 mr-2"}),"微信"]}),e.jsxs(Lt,{value:"alipay",className:"data-[state=active]:bg-[#1677FF]/20 data-[state=active]:text-[#1677FF] text-gray-400",children:[e.jsx(zf,{className:"w-4 h-4 mr-2"}),"支付宝"]}),e.jsxs(Lt,{value:"usdt",className:"data-[state=active]:bg-[#26A17B]/20 data-[state=active]:text-[#26A17B] text-gray-400",children:[e.jsx(Of,{className:"w-4 h-4 mr-2"}),"USDT"]}),e.jsxs(Lt,{value:"paypal",className:"data-[state=active]:bg-[#003087]/20 data-[state=active]:text-[#169BD7] text-gray-400",children:[e.jsx(Qd,{className:"w-4 h-4 mr-2"}),"PayPal"]})]}),e.jsx(Ot,{value:"wechat",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Qe,{className:"text-[#07C160] flex items-center gap-2",children:[e.jsx(Al,{className:"w-5 h-5"}),"微信支付配置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置微信支付参数和跳转链接"})]}),e.jsx(ot,{checked:!!P.enabled,onCheckedChange:w=>y("enabled",w)})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"网站AppID"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",value:String(P.websiteAppId??""),onChange:w=>y("websiteAppId",w.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"商户号"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",value:String(P.merchantId??""),onChange:w=>y("merchantId",w.target.value)})]})]}),e.jsxs("div",{className:"border-t border-gray-700/50 pt-4 space-y-4",children:[e.jsxs("h4",{className:"text-white font-medium flex items-center gap-2",children:[e.jsx(_a,{className:"w-4 h-4 text-[#38bdac]"}),"跳转链接配置(核心功能)"]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"微信收款码/支付链接"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",placeholder:"https://收款码图片URL 或 weixin://支付链接",value:String(P.qrCode??""),onChange:w=>y("qrCode",w.target.value)}),e.jsx("p",{className:"text-xs text-gray-500",children:"用户点击微信支付后显示的二维码图片URL"})]}),e.jsxs("div",{className:"space-y-2 bg-[#07C160]/5 p-4 rounded-xl border border-[#07C160]/20",children:[e.jsx(te,{className:"text-[#07C160] font-medium",children:"微信群跳转链接(支付成功后跳转)"}),e.jsx(le,{className:"bg-[#0a1628] border-[#07C160]/30 text-white placeholder:text-gray-500",placeholder:"https://weixin.qq.com/g/... 或微信群二维码图片URL",value:String(P.groupQrCode??""),onChange:w=>y("groupQrCode",w.target.value)}),e.jsx("p",{className:"text-xs text-[#07C160]/70",children:"用户支付成功后将自动跳转到此链接,进入指定微信群"})]})]})]})]})}),e.jsx(Ot,{value:"alipay",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Qe,{className:"text-[#1677FF] flex items-center gap-2",children:[e.jsx(zf,{className:"w-5 h-5"}),"支付宝配置"]}),e.jsx(jt,{className:"text-gray-400",children:"已加载真实支付宝参数"})]}),e.jsx(ot,{checked:!!R.enabled,onCheckedChange:w=>g("enabled",w)})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"合作者身份 (PID)"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",value:String(R.partnerId??""),onChange:w=>g("partnerId",w.target.value)}),e.jsx(J,{size:"icon",variant:"outline",className:"border-gray-700 bg-transparent",onClick:()=>p(String(R.partnerId??""),"pid"),children:c==="pid"?e.jsx(wo,{className:"w-4 h-4 text-green-500"}):e.jsx(Gx,{className:"w-4 h-4 text-gray-400"})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"安全校验码 (Key)"}),e.jsx(le,{type:"password",className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",value:String(R.securityKey??""),onChange:w=>g("securityKey",w.target.value)})]})]}),e.jsxs("div",{className:"border-t border-gray-700/50 pt-4 space-y-4",children:[e.jsxs("h4",{className:"text-white font-medium flex items-center gap-2",children:[e.jsx(_a,{className:"w-4 h-4 text-[#38bdac]"}),"跳转链接配置"]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"支付宝收款码/跳转链接"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500",placeholder:"https://qr.alipay.com/... 或收款码图片URL",value:String(R.qrCode??""),onChange:w=>g("qrCode",w.target.value)}),e.jsx("p",{className:"text-xs text-gray-500",children:"用户点击支付宝支付后显示的二维码"})]})]})]})]})}),e.jsx(Ot,{value:"usdt",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Qe,{className:"text-[#26A17B] flex items-center gap-2",children:[e.jsx(Of,{className:"w-5 h-5"}),"USDT配置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置加密货币收款地址"})]}),e.jsx(ot,{checked:!!N.enabled,onCheckedChange:w=>v("enabled",w)})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"网络类型"}),e.jsxs("select",{className:"w-full bg-[#0a1628] border border-gray-700 text-white rounded-md p-2",value:String(N.network??"TRC20"),onChange:w=>v("network",w.target.value),children:[e.jsx("option",{value:"TRC20",children:"TRC20 (波场)"}),e.jsx("option",{value:"ERC20",children:"ERC20 (以太坊)"}),e.jsx("option",{value:"BEP20",children:"BEP20 (币安链)"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"收款地址"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white font-mono text-sm",placeholder:"T... (TRC20地址)",value:String(N.address??""),onChange:w=>v("address",w.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"汇率 (1 USD = ? CNY)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:Number(N.exchangeRate)??7.2,onChange:w=>v("exchangeRate",Number.parseFloat(w.target.value)||7.2)})]})]})]})}),e.jsx(Ot,{value:"paypal",className:"space-y-4",children:e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{className:"flex flex-row items-center justify-between pb-2",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsxs(Qe,{className:"text-[#169BD7] flex items-center gap-2",children:[e.jsx(Qd,{className:"w-5 h-5"}),"PayPal配置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置PayPal收款账户"})]}),e.jsx(ot,{checked:!!b.enabled,onCheckedChange:w=>C("enabled",w)})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"PayPal邮箱"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"your@email.com",value:String(b.email??""),onChange:w=>C("email",w.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"汇率 (1 USD = ? CNY)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:Number(b.exchangeRate)??7.2,onChange:w=>C("exchangeRate",Number(w.target.value)||7.2)})]})]})]})})]})]})}const kC={siteName:"卡若日记",siteTitle:"一场SOUL的创业实验场",siteDescription:"来自Soul派对房的真实商业故事",logo:"/logo.png",favicon:"/favicon.ico",primaryColor:"#00CED1"},EC={home:{enabled:!0,label:"首页"},chapters:{enabled:!0,label:"目录"},match:{enabled:!0,label:"匹配"},my:{enabled:!0,label:"我的"}},PC={homeTitle:"一场SOUL的创业实验场",homeSubtitle:"来自Soul派对房的真实商业故事",chaptersTitle:"我要看",matchTitle:"语音匹配",myTitle:"我的",aboutTitle:"关于作者"};function TC(){const[r,a]=h.useState({siteConfig:{...kC},menuConfig:{...EC},pageConfig:{...PC}}),[l,o]=h.useState(!1),[c,u]=h.useState(!1);h.useEffect(()=>{$e("/api/config").then(g=>{g!=null&&g.siteConfig&&a(v=>({...v,siteConfig:{...v.siteConfig,...g.siteConfig}})),g!=null&&g.menuConfig&&a(v=>({...v,menuConfig:{...v.menuConfig,...g.menuConfig}})),g!=null&&g.pageConfig&&a(v=>({...v,pageConfig:{...v.pageConfig,...g.pageConfig}}))}).catch(console.error)},[]);const m=async()=>{u(!0);try{await mt("/api/db/config",{key:"site_config",value:r.siteConfig,description:"网站基础配置"}),await mt("/api/db/config",{key:"menu_config",value:r.menuConfig,description:"底部菜单配置"}),await mt("/api/db/config",{key:"page_config",value:r.pageConfig,description:"页面标题配置"}),o(!0),setTimeout(()=>o(!1),2e3),alert("配置已保存")}catch(g){console.error(g),alert("保存失败: "+(g instanceof Error?g.message:String(g)))}finally{u(!1)}},f=r.siteConfig,p=r.menuConfig,y=r.pageConfig;return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"网站配置"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"配置网站名称、图标、菜单和页面标题"})]}),e.jsxs(J,{onClick:m,disabled:c,className:`${l?"bg-green-500":"bg-[#00CED1]"} hover:bg-[#20B2AA] text-white transition-colors`,children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),c?"保存中...":l?"已保存":"保存设置"]})]}),e.jsxs("div",{className:"space-y-6",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Qd,{className:"w-5 h-5 text-[#00CED1]"}),"网站基础信息"]}),e.jsx(jt,{className:"text-gray-400",children:"配置网站名称、标题和描述"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"site-name",className:"text-gray-300",children:"网站名称"}),e.jsx(le,{id:"site-name",className:"bg-[#0a1628] border-gray-700 text-white",value:f.siteName??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,siteName:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"site-title",className:"text-gray-300",children:"网站标题"}),e.jsx(le,{id:"site-title",className:"bg-[#0a1628] border-gray-700 text-white",value:f.siteTitle??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,siteTitle:g.target.value}}))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"site-desc",className:"text-gray-300",children:"网站描述"}),e.jsx(le,{id:"site-desc",className:"bg-[#0a1628] border-gray-700 text-white",value:f.siteDescription??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,siteDescription:g.target.value}}))})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"logo",className:"text-gray-300",children:"Logo地址"}),e.jsx(le,{id:"logo",className:"bg-[#0a1628] border-gray-700 text-white",value:f.logo??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,logo:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{htmlFor:"favicon",className:"text-gray-300",children:"Favicon地址"}),e.jsx(le,{id:"favicon",className:"bg-[#0a1628] border-gray-700 text-white",value:f.favicon??"",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,favicon:g.target.value}}))})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Qb,{className:"w-5 h-5 text-[#00CED1]"}),"主题颜色"]}),e.jsx(jt,{className:"text-gray-400",children:"配置网站主题色"})]}),e.jsx(we,{children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"space-y-2 flex-1",children:[e.jsx(te,{htmlFor:"primary-color",className:"text-gray-300",children:"主色调"}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(le,{id:"primary-color",type:"color",className:"w-16 h-10 bg-[#0a1628] border-gray-700 cursor-pointer p-1",value:f.primaryColor??"#00CED1",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,primaryColor:g.target.value}}))}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white flex-1",value:f.primaryColor??"#00CED1",onChange:g=>a(v=>({...v,siteConfig:{...v.siteConfig,primaryColor:g.target.value}}))})]})]}),e.jsx("div",{className:"w-24 h-24 rounded-xl flex items-center justify-center text-white font-bold",style:{backgroundColor:f.primaryColor??"#00CED1"},children:"预览"})]})})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Wb,{className:"w-5 h-5 text-[#00CED1]"}),"底部菜单配置"]}),e.jsx(jt,{className:"text-gray-400",children:"控制底部导航栏菜单的显示和名称"})]}),e.jsx(we,{className:"space-y-4",children:Object.entries(p).map(([g,v])=>e.jsxs("div",{className:"flex items-center justify-between p-4 bg-[#0a1628] rounded-lg",children:[e.jsxs("div",{className:"flex items-center gap-4 flex-1",children:[e.jsx(ot,{checked:(v==null?void 0:v.enabled)??!0,onCheckedChange:C=>a(P=>({...P,menuConfig:{...P.menuConfig,[g]:{...v,enabled:C}}}))}),e.jsx("span",{className:"text-gray-300 w-16 capitalize",children:g}),e.jsx(le,{className:"bg-[#0f2137] border-gray-700 text-white max-w-[200px]",value:(v==null?void 0:v.label)??"",onChange:C=>a(P=>({...P,menuConfig:{...P.menuConfig,[g]:{...v,label:C.target.value}}}))})]}),e.jsx("span",{className:`text-sm ${v!=null&&v.enabled?"text-green-400":"text-gray-500"}`,children:v!=null&&v.enabled?"显示":"隐藏"})]},g))})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(gb,{className:"w-5 h-5 text-[#00CED1]"}),"页面标题配置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置各个页面的标题和副标题"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"首页标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.homeTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,homeTitle:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"首页副标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.homeSubtitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,homeSubtitle:g.target.value}}))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"目录页标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.chaptersTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,chaptersTitle:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"匹配页标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.matchTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,matchTitle:g.target.value}}))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"我的页标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.myTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,myTitle:g.target.value}}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"关于作者标题"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",value:y.aboutTitle??"",onChange:g=>a(v=>({...v,pageConfig:{...v.pageConfig,aboutTitle:g.target.value}}))})]})]})]})]})]})]})}function RC(){const[r,a]=h.useState(""),[l,o]=h.useState(""),[c,u]=h.useState(""),[m,f]=h.useState({}),p=async()=>{var P,R,N,b;try{const w=await $e("/api/config"),k=(R=(P=w==null?void 0:w.liveQRCodes)==null?void 0:P[0])==null?void 0:R.urls;Array.isArray(k)&&a(k.join(` +`));const j=(b=(N=w==null?void 0:w.paymentMethods)==null?void 0:N.wechat)==null?void 0:b.groupQrCode;j&&o(j),f({paymentMethods:w==null?void 0:w.paymentMethods,liveQRCodes:w==null?void 0:w.liveQRCodes})}catch(w){console.error(w)}};h.useEffect(()=>{p()},[]);const y=(P,R)=>{navigator.clipboard.writeText(P),u(R),setTimeout(()=>u(""),2e3)},g=async()=>{try{const P=r.split(` +`).map(N=>N.trim()).filter(Boolean),R=[...m.liveQRCodes||[]];R[0]?R[0].urls=P:R.push({id:"live-1",name:"微信群活码",urls:P,clickCount:0}),await mt("/api/db/config",{key:"live_qr_codes",value:R,description:"群活码配置"}),alert("群活码配置已保存!"),await p()}catch(P){console.error(P),alert("保存失败: "+(P instanceof Error?P.message:String(P)))}},v=async()=>{var P;try{await mt("/api/db/config",{key:"payment_methods",value:{...m.paymentMethods||{},wechat:{...((P=m.paymentMethods)==null?void 0:P.wechat)||{},groupQrCode:l}},description:"支付方式配置"}),alert("微信群链接已保存!用户支付成功后将自动跳转"),await p()}catch(R){console.error(R),alert("保存失败: "+(R instanceof Error?R.message:String(R)))}},C=()=>{l?window.open(l,"_blank"):alert("请先配置微信群链接")};return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"微信群活码管理"}),e.jsx("p",{className:"text-gray-400 mt-1",children:"配置微信群跳转链接,用户支付后自动跳转加群"})]}),e.jsx("div",{className:"mb-6 bg-[#07C160]/10 border border-[#07C160]/30 rounded-xl p-4",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(Hx,{className:"w-5 h-5 text-[#07C160] flex-shrink-0 mt-0.5"}),e.jsxs("div",{className:"text-sm",children:[e.jsx("p",{className:"font-medium mb-2 text-[#07C160]",children:"微信群活码配置指南"}),e.jsxs("div",{className:"text-[#07C160]/80 space-y-2",children:[e.jsx("p",{className:"font-medium",children:"方法一:使用草料活码(推荐)"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-1 pl-2",children:[e.jsx("li",{children:"访问草料二维码创建活码"}),e.jsx("li",{children:"上传微信群二维码图片,生成永久链接"}),e.jsx("li",{children:"复制生成的短链接填入下方配置"}),e.jsx("li",{children:"群满后可直接在草料后台更换新群码,链接不变"})]}),e.jsx("p",{className:"font-medium mt-3",children:"方法二:直接使用微信群链接"}),e.jsxs("ol",{className:"list-decimal list-inside space-y-1 pl-2",children:[e.jsx("li",{children:'微信打开目标群 → 右上角"..." → 群二维码'}),e.jsx("li",{children:"长按二维码 → 识别二维码 → 复制链接"})]}),e.jsx("p",{className:"text-[#07C160]/60 mt-2",children:"注意:微信原生群二维码7天后失效,建议使用草料活码"})]})]})]})}),e.jsxs("div",{className:"grid gap-6 md:grid-cols-2",children:[e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl md:col-span-2",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-[#07C160] flex items-center gap-2",children:[e.jsx(Uf,{className:"w-5 h-5"}),"支付成功跳转链接(核心配置)"]}),e.jsx(jt,{className:"text-gray-400",children:"用户支付完成后自动跳转到此链接,进入指定微信群"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Bf,{className:"w-4 h-4"}),"微信群链接 / 活码链接"]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(le,{placeholder:"https://cli.im/xxxxx 或 https://weixin.qq.com/g/...",className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 flex-1",value:l,onChange:P=>o(P.target.value)}),e.jsx(J,{variant:"outline",size:"icon",className:"border-gray-700 bg-transparent hover:bg-gray-700/50",onClick:()=>y(l,"group"),children:c==="group"?e.jsx(wo,{className:"w-4 h-4 text-green-500"}):e.jsx(Gx,{className:"w-4 h-4 text-gray-400"})})]}),e.jsxs("p",{className:"text-xs text-gray-500 flex items-center gap-1",children:[e.jsx(_a,{className:"w-3 h-3"}),"支持格式:草料短链、微信群链接(https://weixin.qq.com/g/...)、企业微信链接等"]})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsxs(J,{onClick:v,className:"flex-1 bg-[#07C160] hover:bg-[#06AD51] text-white",children:[e.jsx(uo,{className:"w-4 h-4 mr-2"}),"保存配置"]}),e.jsxs(J,{onClick:C,variant:"outline",className:"border-[#07C160] text-[#07C160] hover:bg-[#07C160]/10 bg-transparent",children:[e.jsx(_a,{className:"w-4 h-4 mr-2"}),"测试跳转"]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl md:col-span-2",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Uf,{className:"w-5 h-5 text-[#38bdac]"}),"多群轮换(高级配置)"]}),e.jsx(jt,{className:"text-gray-400",children:"配置多个群链接,系统自动轮换分配,避免单群满员"})]}),e.jsxs(we,{className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(te,{className:"text-gray-300 flex items-center gap-2",children:[e.jsx(Bf,{className:"w-4 h-4"}),"多个群链接(每行一个)"]}),e.jsx(un,{placeholder:"https://cli.im/group1\\nhttps://cli.im/group2",className:"bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500 min-h-[120px] font-mono text-sm",value:r,onChange:P=>a(P.target.value)}),e.jsx("p",{className:"text-xs text-gray-500",children:"每行填写一个群链接,系统将按顺序或随机分配"})]}),e.jsxs("div",{className:"flex items-center justify-between p-3 bg-[#0a1628] rounded-lg border border-gray-700/50",children:[e.jsx("span",{className:"text-sm text-gray-400",children:"已配置群数量"}),e.jsxs("span",{className:"font-bold text-[#38bdac]",children:[r.split(` +`).filter(Boolean).length," 个"]})]}),e.jsxs(J,{onClick:g,className:"w-full bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(uo,{className:"w-4 h-4 mr-2"}),"保存多群配置"]})]})]})]}),e.jsxs("div",{className:"mt-6 bg-[#0f2137] rounded-xl p-4 border border-gray-700/50",children:[e.jsx("h4",{className:"text-white font-medium mb-3",children:"常见问题"}),e.jsxs("div",{className:"space-y-3 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-[#38bdac]",children:"Q: 为什么推荐使用草料活码?"}),e.jsx("p",{className:"text-gray-400",children:"A: 草料活码是永久链接,群满后可直接在后台更换新群码,无需修改网站配置。微信原生群码7天失效。"})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-[#38bdac]",children:"Q: 支付后没有跳转怎么办?"}),e.jsx("p",{className:"text-gray-400",children:"A: 1) 检查链接是否正确填写 2) 部分浏览器可能拦截弹窗,用户需手动允许 3) 建议使用https开头的链接"})]})]})]})]})}const wx={matchTypes:[{id:"partner",label:"创业合伙",matchLabel:"创业伙伴",icon:"⭐",matchFromDB:!0,showJoinAfterMatch:!1,price:1,enabled:!0},{id:"investor",label:"资源对接",matchLabel:"资源对接",icon:"👥",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0},{id:"mentor",label:"导师顾问",matchLabel:"导师顾问",icon:"❤️",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0},{id:"team",label:"团队招募",matchLabel:"加入项目",icon:"🎮",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}],freeMatchLimit:3,matchPrice:1,settings:{enableFreeMatches:!0,enablePaidMatches:!0,maxMatchesPerDay:10}},IC=["⭐","👥","❤️","🎮","💼","🚀","💡","🎯","🔥","✨"];function _C(){const[r,a]=h.useState(wx),[l,o]=h.useState(!0),[c,u]=h.useState(!1),[m,f]=h.useState(!1),[p,y]=h.useState(null),[g,v]=h.useState({id:"",label:"",matchLabel:"",icon:"⭐",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}),C=async()=>{o(!0);try{const j=await $e("/api/db/config/full?key=match_config"),T=(j==null?void 0:j.data)??(j==null?void 0:j.config);T&&a({...wx,...T})}catch(j){console.error("加载匹配配置失败:",j)}finally{o(!1)}};h.useEffect(()=>{C()},[]);const P=async()=>{u(!0);try{const j=await mt("/api/db/config",{key:"match_config",value:r,description:"匹配功能配置"});j&&j.success!==!1?alert("配置保存成功!"):alert("保存失败: "+(j&&typeof j=="object"&&"error"in j?j.error:"未知错误"))}catch(j){console.error("保存配置失败:",j),alert("保存失败")}finally{u(!1)}},R=j=>{y(j),v({id:j.id,label:j.label,matchLabel:j.matchLabel,icon:j.icon,matchFromDB:j.matchFromDB,showJoinAfterMatch:j.showJoinAfterMatch,price:j.price,enabled:j.enabled}),f(!0)},N=()=>{y(null),v({id:"",label:"",matchLabel:"",icon:"⭐",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}),f(!0)},b=()=>{if(!g.id||!g.label){alert("请填写类型ID和名称");return}const j=[...r.matchTypes];if(p){const T=j.findIndex(L=>L.id===p.id);T!==-1&&(j[T]={...g})}else{if(j.some(T=>T.id===g.id)){alert("类型ID已存在");return}j.push({...g})}a({...r,matchTypes:j}),f(!1)},w=j=>{confirm("确定要删除这个匹配类型吗?")&&a({...r,matchTypes:r.matchTypes.filter(T=>T.id!==j)})},k=j=>{a({...r,matchTypes:r.matchTypes.map(T=>T.id===j?{...T,enabled:!T.enabled}:T)})};return e.jsxs("div",{className:"p-8 w-full space-y-6",children:[e.jsxs("div",{className:"flex justify-between items-center",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Bn,{className:"w-6 h-6 text-[#38bdac]"}),"匹配功能配置"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"管理找伙伴功能的匹配类型和价格"})]}),e.jsxs("div",{className:"flex gap-3",children:[e.jsxs(J,{variant:"outline",onClick:C,disabled:l,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${l?"animate-spin":""}`}),"刷新"]}),e.jsxs(J,{onClick:P,disabled:c,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),c?"保存中...":"保存配置"]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(an,{className:"w-5 h-5 text-yellow-400"}),"基础设置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置免费匹配次数和付费规则"})]}),e.jsxs(we,{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"每日免费匹配次数"}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:r.freeMatchLimit,onChange:j=>a({...r,freeMatchLimit:parseInt(j.target.value,10)||0})}),e.jsx("p",{className:"text-xs text-gray-500",children:"用户每天可免费匹配的次数"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"付费匹配价格(元)"}),e.jsx(le,{type:"number",min:.01,step:.01,className:"bg-[#0a1628] border-gray-700 text-white",value:r.matchPrice,onChange:j=>a({...r,matchPrice:parseFloat(j.target.value)||1})}),e.jsx("p",{className:"text-xs text-gray-500",children:"免费次数用完后的单次匹配价格"})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"每日最大匹配次数"}),e.jsx(le,{type:"number",min:1,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:r.settings.maxMatchesPerDay,onChange:j=>a({...r,settings:{...r.settings,maxMatchesPerDay:parseInt(j.target.value,10)||10}})}),e.jsx("p",{className:"text-xs text-gray-500",children:"包含免费和付费的总次数"})]})]}),e.jsxs("div",{className:"flex gap-8 pt-4 border-t border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:r.settings.enableFreeMatches,onCheckedChange:j=>a({...r,settings:{...r.settings,enableFreeMatches:j}})}),e.jsx(te,{className:"text-gray-300",children:"启用免费匹配"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:r.settings.enablePaidMatches,onCheckedChange:j=>a({...r,settings:{...r.settings,enablePaidMatches:j}})}),e.jsx(te,{className:"text-gray-300",children:"启用付费匹配"})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ye,{className:"flex flex-row items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"}),"匹配类型管理"]}),e.jsx(jt,{className:"text-gray-400",children:"配置不同的匹配类型及其价格"})]}),e.jsxs(J,{onClick:N,size:"sm",className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-1"}),"添加类型"]})]}),e.jsx(we,{children:e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"图标"}),e.jsx(be,{className:"text-gray-400",children:"类型ID"}),e.jsx(be,{className:"text-gray-400",children:"显示名称"}),e.jsx(be,{className:"text-gray-400",children:"匹配标签"}),e.jsx(be,{className:"text-gray-400",children:"价格"}),e.jsx(be,{className:"text-gray-400",children:"数据库匹配"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsx(ps,{children:r.matchTypes.map(j=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsx("span",{className:"text-2xl",children:j.icon})}),e.jsx(pe,{className:"font-mono text-gray-300",children:j.id}),e.jsx(pe,{className:"text-white font-medium",children:j.label}),e.jsx(pe,{className:"text-gray-300",children:j.matchLabel}),e.jsx(pe,{children:e.jsxs(Le,{className:"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/20 border-0",children:["¥",j.price]})}),e.jsx(pe,{children:j.matchFromDB?e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"是"}):e.jsx(Le,{variant:"outline",className:"text-gray-500 border-gray-600",children:"否"})}),e.jsx(pe,{children:e.jsx(ot,{checked:j.enabled,onCheckedChange:()=>k(j.id)})}),e.jsx(pe,{className:"text-right",children:e.jsxs("div",{className:"flex items-center justify-end gap-1",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>R(j),className:"text-gray-400 hover:text-[#38bdac] hover:bg-[#38bdac]/10",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>w(j.id),className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",children:e.jsx(Ht,{className:"w-4 h-4"})})]})})]},j.id))})]})})]}),e.jsx(Ct,{open:m,onOpenChange:f,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[p?e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}):e.jsx(Rt,{className:"w-5 h-5 text-[#38bdac]"}),p?"编辑匹配类型":"添加匹配类型"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"类型ID(英文)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: partner",value:g.id,onChange:j=>v({...g,id:j.target.value}),disabled:!!p})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"图标"}),e.jsx("div",{className:"flex gap-1 flex-wrap",children:IC.map(j=>e.jsx("button",{type:"button",className:`w-8 h-8 text-lg rounded ${g.icon===j?"bg-[#38bdac]/30 ring-1 ring-[#38bdac]":"bg-[#0a1628]"}`,onClick:()=>v({...g,icon:j}),children:j},j))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"显示名称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 创业合伙",value:g.label,onChange:j=>v({...g,label:j.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"匹配标签"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 创业伙伴",value:g.matchLabel,onChange:j=>v({...g,matchLabel:j.target.value})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"单次匹配价格(元)"}),e.jsx(le,{type:"number",min:.01,step:.01,className:"bg-[#0a1628] border-gray-700 text-white",value:g.price,onChange:j=>v({...g,price:parseFloat(j.target.value)||1})})]}),e.jsxs("div",{className:"flex gap-6 pt-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:g.matchFromDB,onCheckedChange:j=>v({...g,matchFromDB:j})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"从数据库匹配"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:g.showJoinAfterMatch,onCheckedChange:j=>v({...g,showJoinAfterMatch:j})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"匹配后显示加入"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:g.enabled,onCheckedChange:j=>v({...g,enabled:j})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"启用"})]})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>f(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsxs(J,{onClick:b,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),"保存"]})]})]})})]})}const Sx={partner:"找伙伴",investor:"资源对接",mentor:"导师顾问",team:"团队招募"};function MC(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m,f]=h.useState(10),[p,y]=h.useState(""),[g,v]=h.useState(!0),[C,P]=h.useState(null);async function R(){v(!0),P(null);try{const b=new URLSearchParams({page:String(c),pageSize:String(m)});p&&b.set("matchType",p);const w=await $e(`/api/db/match-records?${b}`);w!=null&&w.success?(a(w.records||[]),o(w.total??0)):P("加载匹配记录失败")}catch(b){console.error("加载匹配记录失败",b),P("加载失败,请检查网络后重试")}finally{v(!1)}}h.useEffect(()=>{R()},[c,p]);const N=Math.ceil(l/m)||1;return e.jsxs("div",{className:"p-8 w-full",children:[C&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:C}),e.jsx("button",{type:"button",onClick:()=>P(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold text-white",children:"匹配记录"}),e.jsxs("p",{className:"text-gray-400 mt-1",children:["找伙伴匹配统计,共 ",l," 条记录"]})]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("select",{value:p,onChange:b=>{y(b.target.value),u(1)},className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:[e.jsx("option",{value:"",children:"全部类型"}),Object.entries(Sx).map(([b,w])=>e.jsx("option",{value:b,children:w},b))]}),e.jsxs("button",{type:"button",onClick:R,disabled:g,className:"flex items-center gap-2 px-4 py-2 rounded-lg border border-gray-600 text-gray-300 hover:bg-gray-700/50 transition-colors disabled:opacity-50",children:[e.jsx(Be,{className:`w-4 h-4 ${g?"animate-spin":""}`}),"刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:g?e.jsxs("div",{className:"flex justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"发起人"}),e.jsx(be,{className:"text-gray-400",children:"匹配到"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"联系方式"}),e.jsx(be,{className:"text-gray-400",children:"匹配时间"})]})}),e.jsxs(ps,{children:[r.map(b=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 overflow-hidden",children:[b.userAvatar?e.jsx("img",{src:b.userAvatar,alt:"",className:"w-full h-full object-cover",onError:w=>{w.currentTarget.style.display="none";const k=w.currentTarget.nextElementSibling;k&&k.classList.remove("hidden")}}):null,e.jsx("span",{className:b.userAvatar?"hidden":"",children:(b.userNickname||b.userId||"?").charAt(0)})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-white",children:b.userNickname||b.userId}),e.jsxs("div",{className:"text-xs text-gray-500 font-mono",children:[b.userId.slice(0,16),"..."]})]})]})}),e.jsx(pe,{children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("div",{className:"w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 overflow-hidden",children:[b.matchedUserAvatar?e.jsx("img",{src:b.matchedUserAvatar,alt:"",className:"w-full h-full object-cover",onError:w=>{w.currentTarget.style.display="none";const k=w.currentTarget.nextElementSibling;k&&k.classList.remove("hidden")}}):null,e.jsx("span",{className:b.matchedUserAvatar?"hidden":"",children:(b.matchedNickname||b.matchedUserId||"?").charAt(0)})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-white",children:b.matchedNickname||b.matchedUserId}),e.jsxs("div",{className:"text-xs text-gray-500 font-mono",children:[b.matchedUserId.slice(0,16),"..."]})]})]})}),e.jsx(pe,{children:e.jsx(Le,{className:"bg-[#38bdac]/20 text-[#38bdac] border-0",children:Sx[b.matchType]||b.matchType})}),e.jsxs(pe,{className:"text-gray-400 text-sm",children:[b.phone&&e.jsxs("div",{children:["📱 ",b.phone]}),b.wechatId&&e.jsxs("div",{children:["💬 ",b.wechatId]}),!b.phone&&!b.wechatId&&"-"]}),e.jsx(pe,{className:"text-gray-400",children:b.createdAt?new Date(b.createdAt).toLocaleString():"-"})]},b.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:5,className:"text-center py-12 text-gray-500",children:"暂无匹配记录"})})]})]}),e.jsx(Qs,{page:c,totalPages:N,total:l,pageSize:m,onPageChange:u,onPageSizeChange:b=>{f(b),u(1)}})]})})})]})}function AC(){const[r,a]=h.useState([]),[l,o]=h.useState(!0),[c,u]=h.useState(!1),[m,f]=h.useState(null),[p,y]=h.useState(""),[g,v]=h.useState(0),[C,P]=h.useState(!1);async function R(){o(!0);try{const j=await $e("/api/db/vip-roles");j!=null&&j.success&&j.data&&a(j.data)}catch(j){console.error("Load roles error:",j)}finally{o(!1)}}h.useEffect(()=>{R()},[]);const N=()=>{f(null),y(""),v(r.length>0?Math.max(...r.map(j=>j.sort))+1:0),u(!0)},b=j=>{f(j),y(j.name),v(j.sort),u(!0)},w=async()=>{if(!p.trim()){alert("角色名称不能为空");return}P(!0);try{if(m){const j=await vt("/api/db/vip-roles",{id:m.id,name:p.trim(),sort:g});j!=null&&j.success?(u(!1),R()):alert("更新失败: "+(j==null?void 0:j.error))}else{const j=await mt("/api/db/vip-roles",{name:p.trim(),sort:g});j!=null&&j.success?(u(!1),R()):alert("新增失败: "+(j==null?void 0:j.error))}}catch(j){console.error("Save error:",j),alert("保存失败")}finally{P(!1)}},k=async j=>{if(confirm("确定删除该角色?已设置该角色的 VIP 用户将保留角色名称。"))try{const T=await Pr(`/api/db/vip-roles?id=${j}`);T!=null&&T.success?R():alert("删除失败: "+(T==null?void 0:T.error))}catch(T){console.error("Delete error:",T),alert("删除失败")}};return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(rn,{className:"w-5 h-5 text-amber-400"}),"VIP 角色管理"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"超级个体固定角色,在「设置 VIP」时可选择或手动填写"})]}),e.jsxs(J,{onClick:N,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新增角色"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:l?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"角色名称"}),e.jsx(be,{className:"text-gray-400",children:"排序"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[r.map(j=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:j.id}),e.jsx(pe,{className:"text-white",children:j.name}),e.jsx(pe,{className:"text-gray-400",children:j.sort}),e.jsxs(pe,{className:"text-right",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>b(j),className:"text-gray-400 hover:text-[#38bdac]",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>k(j.id),className:"text-gray-400 hover:text-red-400",children:e.jsx(Ht,{className:"w-4 h-4"})})]})]},j.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:4,className:"text-center py-12 text-gray-500",children:"暂无角色,点击「新增角色」添加"})})]})]})})}),e.jsx(Ct,{open:c,onOpenChange:u,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-sm",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:m?"编辑角色":"新增角色"})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"角色名称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:创始人、投资人",value:p,onChange:j=>y(j.target.value)})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"排序(下拉展示顺序,越小越前)"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:g,onChange:j=>v(parseInt(j.target.value,10)||0)})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>u(!1),className:"border-gray-600 text-gray-300",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:w,disabled:C,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),C?"保存中...":"保存"]})]})]})})]})}function _g({embedded:r=!1}){const[a,l]=h.useState([]),[o,c]=h.useState(!0),[u,m]=h.useState(!1),[f,p]=h.useState(null),[y,g]=h.useState({name:"",avatar:"",intro:"",tags:"",priceSingle:"",priceHalfYear:"",priceYear:"",quote:"",whyFind:"",offering:"",judgmentStyle:"",sort:0,enabled:!0}),[v,C]=h.useState(!1),[P,R]=h.useState(!1),N=h.useRef(null),b=async I=>{var G;const E=(G=I.target.files)==null?void 0:G[0];if(E){R(!0);try{const ne=new FormData;ne.append("file",E),ne.append("folder","mentors");const ae=bu(),q={};ae&&(q.Authorization=`Bearer ${ae}`);const H=await(await fetch(Aa("/api/upload"),{method:"POST",body:ne,credentials:"include",headers:q})).json();H!=null&&H.success&&(H!=null&&H.url)?g(ie=>({...ie,avatar:H.url})):alert("上传失败: "+((H==null?void 0:H.error)||"未知错误"))}catch(ne){console.error(ne),alert("上传失败")}finally{R(!1),N.current&&(N.current.value="")}}};async function w(){c(!0);try{const I=await $e("/api/db/mentors");I!=null&&I.success&&I.data&&l(I.data)}catch(I){console.error("Load mentors error:",I)}finally{c(!1)}}h.useEffect(()=>{w()},[]);const k=()=>{g({name:"",avatar:"",intro:"",tags:"",priceSingle:"",priceHalfYear:"",priceYear:"",quote:"",whyFind:"",offering:"",judgmentStyle:"",sort:a.length>0?Math.max(...a.map(I=>I.sort))+1:0,enabled:!0})},j=()=>{p(null),k(),m(!0)},T=I=>{p(I),g({name:I.name,avatar:I.avatar||"",intro:I.intro||"",tags:I.tags||"",priceSingle:I.priceSingle!=null?String(I.priceSingle):"",priceHalfYear:I.priceHalfYear!=null?String(I.priceHalfYear):"",priceYear:I.priceYear!=null?String(I.priceYear):"",quote:I.quote||"",whyFind:I.whyFind||"",offering:I.offering||"",judgmentStyle:I.judgmentStyle||"",sort:I.sort,enabled:I.enabled??!0}),m(!0)},L=async()=>{if(!y.name.trim()){alert("导师姓名不能为空");return}C(!0);try{const I=G=>G===""?void 0:parseFloat(G),E={name:y.name.trim(),avatar:y.avatar.trim()||void 0,intro:y.intro.trim()||void 0,tags:y.tags.trim()||void 0,priceSingle:I(y.priceSingle),priceHalfYear:I(y.priceHalfYear),priceYear:I(y.priceYear),quote:y.quote.trim()||void 0,whyFind:y.whyFind.trim()||void 0,offering:y.offering.trim()||void 0,judgmentStyle:y.judgmentStyle.trim()||void 0,sort:y.sort,enabled:y.enabled};if(f){const G=await vt("/api/db/mentors",{id:f.id,...E});G!=null&&G.success?(m(!1),w()):alert("更新失败: "+(G==null?void 0:G.error))}else{const G=await mt("/api/db/mentors",E);G!=null&&G.success?(m(!1),w()):alert("新增失败: "+(G==null?void 0:G.error))}}catch(I){console.error("Save error:",I),alert("保存失败")}finally{C(!1)}},$=async I=>{if(confirm("确定删除该导师?"))try{const E=await Pr(`/api/db/mentors?id=${I}`);E!=null&&E.success?w():alert("删除失败: "+(E==null?void 0:E.error))}catch(E){console.error("Delete error:",E),alert("删除失败")}},_=I=>I!=null?`¥${I}`:"-";return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"}),"导师管理"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"stitch_soul 导师列表,支持每个导师独立配置单次/半年/年度价格"})]}),e.jsxs(J,{onClick:j,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-2"}),"新增导师"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:o?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"姓名"}),e.jsx(be,{className:"text-gray-400",children:"简介"}),e.jsx(be,{className:"text-gray-400",children:"单次"}),e.jsx(be,{className:"text-gray-400",children:"半年"}),e.jsx(be,{className:"text-gray-400",children:"年度"}),e.jsx(be,{className:"text-gray-400",children:"排序"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsxs(ps,{children:[a.map(I=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:I.id}),e.jsx(pe,{className:"text-white",children:I.name}),e.jsx(pe,{className:"text-gray-400 max-w-[200px] truncate",children:I.intro||"-"}),e.jsx(pe,{className:"text-gray-400",children:_(I.priceSingle)}),e.jsx(pe,{className:"text-gray-400",children:_(I.priceHalfYear)}),e.jsx(pe,{className:"text-gray-400",children:_(I.priceYear)}),e.jsx(pe,{className:"text-gray-400",children:I.sort}),e.jsxs(pe,{className:"text-right",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>T(I),className:"text-gray-400 hover:text-[#38bdac]",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>$(I.id),className:"text-gray-400 hover:text-red-400",children:e.jsx(Ht,{className:"w-4 h-4"})})]})]},I.id)),a.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:8,className:"text-center py-12 text-gray-500",children:"暂无导师,点击「新增导师」添加"})})]})]})})}),e.jsx(Ct,{open:u,onOpenChange:m,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg max-h-[90vh] overflow-y-auto",children:[e.jsx(kt,{children:e.jsx(Et,{className:"text-white",children:f?"编辑导师":"新增导师"})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"姓名 *"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:卡若",value:y.name,onChange:I=>g(E=>({...E,name:I.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"排序"}),e.jsx(le,{type:"number",className:"bg-[#0a1628] border-gray-700 text-white",value:y.sort,onChange:I=>g(E=>({...E,sort:parseInt(I.target.value,10)||0}))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"头像"}),e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(le,{className:"flex-1 bg-[#0a1628] border-gray-700 text-white",value:y.avatar,onChange:I=>g(E=>({...E,avatar:I.target.value})),placeholder:"点击上传或粘贴图片地址"}),e.jsx("input",{ref:N,type:"file",accept:"image/*",className:"hidden",onChange:b}),e.jsxs(J,{type:"button",variant:"outline",size:"sm",className:"border-gray-600 text-gray-400 shrink-0",disabled:P,onClick:()=>{var I;return(I=N.current)==null?void 0:I.click()},children:[e.jsx(uo,{className:"w-4 h-4 mr-2"}),P?"上传中...":"上传"]})]}),y.avatar&&e.jsx("div",{className:"mt-2",children:e.jsx("img",{src:y.avatar.startsWith("http")?y.avatar:Aa(y.avatar),alt:"头像预览",className:"w-20 h-20 rounded-full object-cover border border-gray-600"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"简介"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:结构判断型咨询 · Decision > Execution",value:y.intro,onChange:I=>g(E=>({...E,intro:I.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"技能标签(逗号分隔)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:项目结构判断、风险止损、人×项目匹配",value:y.tags,onChange:I=>g(E=>({...E,tags:I.target.value}))})]}),e.jsxs("div",{className:"border-t border-gray-700 pt-4",children:[e.jsx(te,{className:"text-gray-300 block mb-2",children:"价格配置(每个导师独立)"}),e.jsxs("div",{className:"grid grid-cols-3 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-500 text-xs",children:"单次咨询 ¥"}),e.jsx(le,{type:"number",step:"0.01",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"980",value:y.priceSingle,onChange:I=>g(E=>({...E,priceSingle:I.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-500 text-xs",children:"半年咨询 ¥"}),e.jsx(le,{type:"number",step:"0.01",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"19800",value:y.priceHalfYear,onChange:I=>g(E=>({...E,priceHalfYear:I.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-500 text-xs",children:"年度咨询 ¥"}),e.jsx(le,{type:"number",step:"0.01",className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"29800",value:y.priceYear,onChange:I=>g(E=>({...E,priceYear:I.target.value}))})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"引言"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:大多数人失败,不是因为不努力...",value:y.quote,onChange:I=>g(E=>({...E,quote:I.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"为什么找(文本)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"",value:y.whyFind,onChange:I=>g(E=>({...E,whyFind:I.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"提供什么(文本)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"",value:y.offering,onChange:I=>g(E=>({...E,offering:I.target.value}))})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"判断风格(逗号分隔)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如:冷静、克制、偏风险视角",value:y.judgmentStyle,onChange:I=>g(E=>({...E,judgmentStyle:I.target.value}))})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"checkbox",id:"enabled",checked:y.enabled,onChange:I=>g(E=>({...E,enabled:I.target.checked})),className:"rounded border-gray-600 bg-[#0a1628]"}),e.jsx(te,{htmlFor:"enabled",className:"text-gray-300 cursor-pointer",children:"上架(小程序可见)"})]})]}),e.jsxs(Dt,{children:[e.jsxs(J,{variant:"outline",onClick:()=>m(!1),className:"border-gray-600 text-gray-300",children:[e.jsx(ms,{className:"w-4 h-4 mr-2"}),"取消"]}),e.jsxs(J,{onClick:L,disabled:v,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"}),v?"保存中...":"保存"]})]})]})})]})}function DC(){const[r,a]=h.useState([]),[l,o]=h.useState(!0),[c,u]=h.useState("");async function m(){o(!0);try{const y=c?`/api/db/mentor-consultations?status=${c}`:"/api/db/mentor-consultations",g=await $e(y);g!=null&&g.success&&g.data&&a(g.data)}catch(y){console.error("Load consultations error:",y)}finally{o(!1)}}h.useEffect(()=>{m()},[c]);const f={created:"已创建",pending_pay:"待支付",paid:"已支付",completed:"已完成",cancelled:"已取消"},p={single:"单次",half_year:"半年",year:"年度"};return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex justify-between items-center mb-8",children:[e.jsxs("div",{children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(oo,{className:"w-5 h-5 text-[#38bdac]"}),"导师预约列表"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"stitch_soul 导师咨询预约记录"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("select",{value:c,onChange:y=>u(y.target.value),className:"bg-[#0f2137] border border-gray-700 rounded-lg px-3 py-2 text-gray-300 text-sm",children:[e.jsx("option",{value:"",children:"全部状态"}),Object.entries(f).map(([y,g])=>e.jsx("option",{value:y,children:g},y))]}),e.jsxs(J,{onClick:m,disabled:l,variant:"outline",className:"border-gray-600 text-gray-300",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${l?"animate-spin":""}`}),"刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:l?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"用户ID"}),e.jsx(be,{className:"text-gray-400",children:"导师ID"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"金额"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-gray-400",children:"创建时间"})]})}),e.jsxs(ps,{children:[r.map(y=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:y.id}),e.jsx(pe,{className:"text-gray-400",children:y.userId}),e.jsx(pe,{className:"text-gray-400",children:y.mentorId}),e.jsx(pe,{className:"text-gray-400",children:p[y.consultationType]||y.consultationType}),e.jsxs(pe,{className:"text-white",children:["¥",y.amount]}),e.jsx(pe,{className:"text-gray-400",children:f[y.status]||y.status}),e.jsx(pe,{className:"text-gray-500 text-sm",children:y.createdAt})]},y.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:7,className:"text-center py-12 text-gray-500",children:"暂无预约记录"})})]})]})})})]})}const Tl={poolSource:["vip"],requirePhone:!0,requireNickname:!0,requireAvatar:!1,requireBusiness:!1},Cx={matchTypes:[{id:"partner",label:"找伙伴",matchLabel:"找伙伴",icon:"⭐",matchFromDB:!0,showJoinAfterMatch:!1,price:1,enabled:!0},{id:"investor",label:"资源对接",matchLabel:"资源对接",icon:"👥",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0},{id:"mentor",label:"导师顾问",matchLabel:"导师顾问",icon:"❤️",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0},{id:"team",label:"团队招募",matchLabel:"加入项目",icon:"🎮",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}],freeMatchLimit:3,matchPrice:1,settings:{enableFreeMatches:!0,enablePaidMatches:!0,maxMatchesPerDay:10},poolSettings:Tl},LC=["⭐","👥","❤️","🎮","💼","🚀","💡","🎯","🔥","✨"];function OC(){const r=gn(),[a,l]=h.useState(Cx),[o,c]=h.useState(!0),[u,m]=h.useState(!1),[f,p]=h.useState(!1),[y,g]=h.useState(null),[v,C]=h.useState({id:"",label:"",matchLabel:"",icon:"⭐",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}),[P,R]=h.useState(null),[N,b]=h.useState(!1),w=async()=>{b(!0);try{const E=await $e("/api/db/match-pool-counts");E!=null&&E.success&&E.data&&R(E.data)}catch(E){console.error("加载池子人数失败:",E)}finally{b(!1)}},k=async()=>{c(!0);try{const E=await $e("/api/db/config/full?key=match_config"),G=(E==null?void 0:E.data)??(E==null?void 0:E.config);if(G){let ne=G.poolSettings??Tl;ne.poolSource&&!Array.isArray(ne.poolSource)&&(ne={...ne,poolSource:[ne.poolSource]}),l({...Cx,...G,poolSettings:ne})}}catch(E){console.error("加载匹配配置失败:",E)}finally{c(!1)}};h.useEffect(()=>{k(),w()},[]);const j=async()=>{m(!0);try{const E=await mt("/api/db/config",{key:"match_config",value:a,description:"匹配功能配置"});alert((E==null?void 0:E.success)!==!1?"配置保存成功!":"保存失败: "+((E==null?void 0:E.error)||"未知错误"))}catch(E){console.error(E),alert("保存失败")}finally{m(!1)}},T=E=>{g(E),C({...E}),p(!0)},L=()=>{g(null),C({id:"",label:"",matchLabel:"",icon:"⭐",matchFromDB:!1,showJoinAfterMatch:!0,price:1,enabled:!0}),p(!0)},$=()=>{if(!v.id||!v.label){alert("请填写类型ID和名称");return}const E=[...a.matchTypes];if(y){const G=E.findIndex(ne=>ne.id===y.id);G!==-1&&(E[G]={...v})}else{if(E.some(G=>G.id===v.id)){alert("类型ID已存在");return}E.push({...v})}l({...a,matchTypes:E}),p(!1)},_=E=>{confirm("确定要删除这个匹配类型吗?")&&l({...a,matchTypes:a.matchTypes.filter(G=>G.id!==E)})},I=E=>{l({...a,matchTypes:a.matchTypes.map(G=>G.id===E?{...G,enabled:!G.enabled}:G)})};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex justify-end gap-3",children:[e.jsxs(J,{variant:"outline",onClick:k,disabled:o,className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${o?"animate-spin":""}`})," 刷新"]}),e.jsxs(J,{onClick:j,disabled:u,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"})," ",u?"保存中...":"保存配置"]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Yx,{className:"w-5 h-5 text-blue-400"})," 匹配池选择"]}),e.jsx(jt,{className:"text-gray-400",children:"选择匹配的用户池和完善程度要求,只有满足条件的用户才可被匹配到"})]}),e.jsxs(we,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsx(te,{className:"text-gray-300",children:"匹配来源池"}),e.jsx("p",{className:"text-gray-500 text-xs",children:"可同时勾选多个池子(取并集匹配)"}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-3",children:[{value:"vip",label:"超级个体(VIP会员)",desc:"付费 ¥1980 的VIP会员",icon:"👑",countKey:"vip"},{value:"complete",label:"完善资料用户",desc:"符合下方完善度要求的用户",icon:"✅",countKey:"complete"},{value:"all",label:"全部用户",desc:"所有已注册用户",icon:"👥",countKey:"all"}].map(E=>{const G=a.poolSettings??Tl,ae=(Array.isArray(G.poolSource)?G.poolSource:[G.poolSource]).includes(E.value),q=P==null?void 0:P[E.countKey],se=()=>{const H=Array.isArray(G.poolSource)?[...G.poolSource]:[G.poolSource],ie=ae?H.filter(ve=>ve!==E.value):[...H,E.value];ie.length===0&&ie.push(E.value),l({...a,poolSettings:{...G,poolSource:ie}})};return e.jsxs("button",{type:"button",onClick:se,className:`p-4 rounded-lg border text-left transition-all ${ae?"border-[#38bdac] bg-[#38bdac]/10":"border-gray-700 bg-[#0a1628] hover:border-gray-600"}`,children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:`w-5 h-5 rounded border-2 flex items-center justify-center text-xs ${ae?"border-[#38bdac] bg-[#38bdac] text-white":"border-gray-600"}`,children:ae&&"✓"}),e.jsx("span",{className:"text-xl",children:E.icon}),e.jsx("span",{className:`text-sm font-medium ${ae?"text-[#38bdac]":"text-gray-300"}`,children:E.label})]}),e.jsxs("span",{className:"text-lg font-bold text-white",children:[N?"...":q??"-",e.jsx("span",{className:"text-xs text-gray-500 font-normal ml-1",children:"人"})]})]}),e.jsx("p",{className:"text-gray-500 text-xs mt-2",children:E.desc}),e.jsx("span",{role:"link",tabIndex:0,onClick:H=>{H.stopPropagation(),r(`/users?pool=${E.value}`)},onKeyDown:H=>{H.key==="Enter"&&(H.stopPropagation(),r(`/users?pool=${E.value}`))},className:"text-[#38bdac] text-xs mt-2 inline-block hover:underline cursor-pointer",children:"查看用户列表 →"})]},E.value)})})]}),e.jsxs("div",{className:"space-y-3 pt-4 border-t border-gray-700/50",children:[e.jsx(te,{className:"text-gray-300",children:"用户资料完善要求(被匹配用户必须满足以下条件)"}),e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[{key:"requirePhone",label:"有手机号",icon:"📱"},{key:"requireNickname",label:"有昵称",icon:"👤"},{key:"requireAvatar",label:"有头像",icon:"🖼️"},{key:"requireBusiness",label:"有业务需求",icon:"💼"}].map(E=>{const ne=(a.poolSettings??Tl)[E.key];return e.jsxs("div",{className:"flex items-center gap-3 bg-[#0a1628] rounded-lg p-3",children:[e.jsx(ot,{checked:ne,onCheckedChange:ae=>l({...a,poolSettings:{...a.poolSettings??Tl,[E.key]:ae}})}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{children:E.icon}),e.jsx(te,{className:"text-gray-300 text-sm",children:E.label})]})]},E.key)})})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ye,{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(an,{className:"w-5 h-5 text-yellow-400"})," 基础设置"]}),e.jsx(jt,{className:"text-gray-400",children:"配置免费匹配次数和付费规则"})]}),e.jsxs(we,{className:"space-y-6",children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"每日免费匹配次数"}),e.jsx(le,{type:"number",min:0,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.freeMatchLimit,onChange:E=>l({...a,freeMatchLimit:parseInt(E.target.value,10)||0})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"付费匹配价格(元)"}),e.jsx(le,{type:"number",min:.01,step:.01,className:"bg-[#0a1628] border-gray-700 text-white",value:a.matchPrice,onChange:E=>l({...a,matchPrice:parseFloat(E.target.value)||1})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"每日最大匹配次数"}),e.jsx(le,{type:"number",min:1,max:100,className:"bg-[#0a1628] border-gray-700 text-white",value:a.settings.maxMatchesPerDay,onChange:E=>l({...a,settings:{...a.settings,maxMatchesPerDay:parseInt(E.target.value,10)||10}})})]})]}),e.jsxs("div",{className:"flex gap-8 pt-4 border-t border-gray-700/50",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:a.settings.enableFreeMatches,onCheckedChange:E=>l({...a,settings:{...a.settings,enableFreeMatches:E}})}),e.jsx(te,{className:"text-gray-300",children:"启用免费匹配"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:a.settings.enablePaidMatches,onCheckedChange:E=>l({...a,settings:{...a.settings,enablePaidMatches:E}})}),e.jsx(te,{className:"text-gray-300",children:"启用付费匹配"})]})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:[e.jsxs(Ye,{className:"flex flex-row items-center justify-between",children:[e.jsxs("div",{children:[e.jsxs(Qe,{className:"text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"})," 匹配类型管理"]}),e.jsx(jt,{className:"text-gray-400",children:"配置不同的匹配类型及其价格"})]}),e.jsxs(J,{onClick:L,size:"sm",className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Rt,{className:"w-4 h-4 mr-1"})," 添加类型"]})]}),e.jsx(we,{children:e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"图标"}),e.jsx(be,{className:"text-gray-400",children:"类型ID"}),e.jsx(be,{className:"text-gray-400",children:"显示名称"}),e.jsx(be,{className:"text-gray-400",children:"匹配标签"}),e.jsx(be,{className:"text-gray-400",children:"价格"}),e.jsx(be,{className:"text-gray-400",children:"数据库匹配"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-right text-gray-400",children:"操作"})]})}),e.jsx(ps,{children:a.matchTypes.map(E=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsx("span",{className:"text-2xl",children:E.icon})}),e.jsx(pe,{className:"font-mono text-gray-300",children:E.id}),e.jsx(pe,{className:"text-white font-medium",children:E.label}),e.jsx(pe,{className:"text-gray-300",children:E.matchLabel}),e.jsx(pe,{children:e.jsxs(Le,{className:"bg-yellow-500/20 text-yellow-400 hover:bg-yellow-500/20 border-0",children:["¥",E.price]})}),e.jsx(pe,{children:E.matchFromDB?e.jsx(Le,{className:"bg-green-500/20 text-green-400 hover:bg-green-500/20 border-0",children:"是"}):e.jsx(Le,{variant:"outline",className:"text-gray-500 border-gray-600",children:"否"})}),e.jsx(pe,{children:e.jsx(ot,{checked:E.enabled,onCheckedChange:()=>I(E.id)})}),e.jsx(pe,{className:"text-right",children:e.jsxs("div",{className:"flex items-center justify-end gap-1",children:[e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>T(E),className:"text-gray-400 hover:text-[#38bdac] hover:bg-[#38bdac]/10",children:e.jsx(ht,{className:"w-4 h-4"})}),e.jsx(J,{variant:"ghost",size:"sm",onClick:()=>_(E.id),className:"text-red-400 hover:text-red-300 hover:bg-red-500/10",children:e.jsx(Ht,{className:"w-4 h-4"})})]})})]},E.id))})]})})]}),e.jsx(Ct,{open:f,onOpenChange:p,children:e.jsxs(Nt,{className:"bg-[#0f2137] border-gray-700 text-white max-w-lg",showCloseButton:!0,children:[e.jsx(kt,{children:e.jsxs(Et,{className:"text-white flex items-center gap-2",children:[y?e.jsx(ht,{className:"w-5 h-5 text-[#38bdac]"}):e.jsx(Rt,{className:"w-5 h-5 text-[#38bdac]"}),y?"编辑匹配类型":"添加匹配类型"]})}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"类型ID(英文)"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: partner",value:v.id,onChange:E=>C({...v,id:E.target.value}),disabled:!!y})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"图标"}),e.jsx("div",{className:"flex gap-1 flex-wrap",children:LC.map(E=>e.jsx("button",{type:"button",className:`w-8 h-8 text-lg rounded ${v.icon===E?"bg-[#38bdac]/30 ring-1 ring-[#38bdac]":"bg-[#0a1628]"}`,onClick:()=>C({...v,icon:E}),children:E},E))})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"显示名称"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 超级个体",value:v.label,onChange:E=>C({...v,label:E.target.value})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"匹配标签"}),e.jsx(le,{className:"bg-[#0a1628] border-gray-700 text-white",placeholder:"如: 超级个体",value:v.matchLabel,onChange:E=>C({...v,matchLabel:E.target.value})})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(te,{className:"text-gray-300",children:"单次匹配价格(元)"}),e.jsx(le,{type:"number",min:.01,step:.01,className:"bg-[#0a1628] border-gray-700 text-white",value:v.price,onChange:E=>C({...v,price:parseFloat(E.target.value)||1})})]}),e.jsxs("div",{className:"flex gap-6 pt-2",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:v.matchFromDB,onCheckedChange:E=>C({...v,matchFromDB:E})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"从数据库匹配"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:v.showJoinAfterMatch,onCheckedChange:E=>C({...v,showJoinAfterMatch:E})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"匹配后显示加入"})]}),e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(ot,{checked:v.enabled,onCheckedChange:E=>C({...v,enabled:E})}),e.jsx(te,{className:"text-gray-300 text-sm",children:"启用"})]})]})]}),e.jsxs(Dt,{children:[e.jsx(J,{variant:"outline",onClick:()=>p(!1),className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:"取消"}),e.jsxs(J,{onClick:$,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(Mt,{className:"w-4 h-4 mr-2"})," 保存"]})]})]})})]})}const kx={partner:"找伙伴",investor:"资源对接",mentor:"导师顾问",team:"团队招募"};function FC(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m,f]=h.useState(10),[p,y]=h.useState(""),[g,v]=h.useState(!0),[C,P]=h.useState(null),[R,N]=h.useState(null);async function b(){v(!0),P(null);try{const j=new URLSearchParams({page:String(c),pageSize:String(m)});p&&j.set("matchType",p);const T=await $e(`/api/db/match-records?${j}`);T!=null&&T.success?(a(T.records||[]),o(T.total??0)):P("加载匹配记录失败")}catch{P("加载失败,请检查网络后重试")}finally{v(!1)}}h.useEffect(()=>{b()},[c,p]);const w=Math.ceil(l/m)||1,k=({userId:j,nickname:T,avatar:L})=>e.jsxs("div",{className:"flex items-center gap-3 cursor-pointer group",onClick:()=>N(j),children:[e.jsxs("div",{className:"w-9 h-9 rounded-full bg-[#38bdac]/20 flex items-center justify-center text-sm font-medium text-[#38bdac] flex-shrink-0 overflow-hidden",children:[L?e.jsx("img",{src:L,alt:"",className:"w-full h-full object-cover",onError:$=>{$.currentTarget.style.display="none"}}):null,e.jsx("span",{className:L?"hidden":"",children:(T||j||"?").charAt(0)})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-white group-hover:text-[#38bdac] transition-colors",children:T||j}),e.jsxs("div",{className:"text-xs text-gray-500 font-mono",children:[j==null?void 0:j.slice(0,16),(j==null?void 0:j.length)>16?"...":""]})]})]});return e.jsxs("div",{children:[C&&e.jsxs("div",{className:"mb-4 px-4 py-3 rounded-lg bg-red-500/20 border border-red-500/50 text-red-400 text-sm flex items-center justify-between",children:[e.jsx("span",{children:C}),e.jsx("button",{type:"button",onClick:()=>P(null),className:"hover:text-red-300",children:"×"})]}),e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsxs("p",{className:"text-gray-400",children:["共 ",l," 条匹配记录 · 点击用户名查看详情"]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("select",{value:p,onChange:j=>{y(j.target.value),u(1)},className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:[e.jsx("option",{value:"",children:"全部类型"}),Object.entries(kx).map(([j,T])=>e.jsx("option",{value:j,children:T},j))]}),e.jsxs("button",{type:"button",onClick:b,disabled:g,className:"flex items-center gap-2 px-4 py-2 rounded-lg border border-gray-600 text-gray-300 hover:bg-gray-700/50 transition-colors disabled:opacity-50",children:[e.jsx(Be,{className:`w-4 h-4 ${g?"animate-spin":""}`})," 刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:g?e.jsxs("div",{className:"flex justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"发起人"}),e.jsx(be,{className:"text-gray-400",children:"匹配到"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"联系方式"}),e.jsx(be,{className:"text-gray-400",children:"匹配时间"})]})}),e.jsxs(ps,{children:[r.map(j=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{children:e.jsx(k,{userId:j.userId,nickname:j.userNickname,avatar:j.userAvatar})}),e.jsx(pe,{children:j.matchedUserId?e.jsx(k,{userId:j.matchedUserId,nickname:j.matchedNickname,avatar:j.matchedUserAvatar}):e.jsx("span",{className:"text-gray-500",children:"—"})}),e.jsx(pe,{children:e.jsx(Le,{className:"bg-[#38bdac]/20 text-[#38bdac] border-0",children:kx[j.matchType]||j.matchType})}),e.jsxs(pe,{className:"text-sm",children:[j.phone&&e.jsxs("div",{className:"text-green-400",children:["📱 ",j.phone]}),j.wechatId&&e.jsxs("div",{className:"text-blue-400",children:["💬 ",j.wechatId]}),!j.phone&&!j.wechatId&&e.jsx("span",{className:"text-gray-600",children:"-"})]}),e.jsx(pe,{className:"text-gray-400",children:j.createdAt?new Date(j.createdAt).toLocaleString():"-"})]},j.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:5,className:"text-center py-12 text-gray-500",children:"暂无匹配记录"})})]})]}),e.jsx(Qs,{page:c,totalPages:w,total:l,pageSize:m,onPageChange:u,onPageSizeChange:j=>{f(j),u(1)}})]})})}),e.jsx(y0,{open:!!R,onClose:()=>N(null),userId:R,onUserUpdated:b})]})}function zC(){const[r,a]=h.useState("records");return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:()=>a("records"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${r==="records"?"bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/50":"bg-[#0a1628] text-gray-400 border border-gray-700 hover:text-white"}`,children:"匹配记录"}),e.jsx("button",{type:"button",onClick:()=>a("pool"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${r==="pool"?"bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/50":"bg-[#0a1628] text-gray-400 border border-gray-700 hover:text-white"}`,children:"匹配池设置"})]}),r==="records"&&e.jsx(FC,{}),r==="pool"&&e.jsx(OC,{})]})}const Ex={investor:"资源对接",mentor:"导师顾问",team:"团队招募"};function $C(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m,f]=h.useState(10),[p,y]=h.useState(!0),[g,v]=h.useState("investor"),[C,P]=h.useState(null);async function R(){y(!0);try{const k=new URLSearchParams({page:String(c),pageSize:String(m),matchType:g}),j=await $e(`/api/db/match-records?${k}`);j!=null&&j.success&&(a(j.records||[]),o(j.total??0))}catch(k){console.error(k)}finally{y(!1)}}h.useEffect(()=>{R()},[c,g]);const N=async k=>{if(!k.phone&&!k.wechatId){alert("该记录无联系方式,无法推送到存客宝");return}P(k.id);try{const j=await mt("/api/ckb/join",{type:k.matchType||"investor",phone:k.phone||"",wechat:k.wechatId||"",userId:k.userId,name:k.userNickname||""});alert((j==null?void 0:j.message)||(j!=null&&j.success?"推送成功":"推送失败"))}catch(j){alert("推送失败: "+(j instanceof Error?j.message:"网络错误"))}finally{P(null)}},b=Math.ceil(l/m)||1,w=k=>!!(k.phone||k.wechatId);return e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400",children:"点击获客:有人填写手机号/微信号的直接显示,可一键推送到存客宝"}),e.jsxs("p",{className:"text-gray-500 text-xs mt-1",children:["共 ",l," 条记录 — 有联系方式的可触发存客宝添加好友"]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("select",{value:g,onChange:k=>{v(k.target.value),u(1)},className:"bg-[#0f2137] border border-gray-700 text-white rounded-lg px-3 py-2 text-sm",children:Object.entries(Ex).map(([k,j])=>e.jsx("option",{value:k,children:j},k))}),e.jsxs(J,{onClick:R,disabled:p,variant:"outline",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${p?"animate-spin":""}`})," 刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:p?e.jsxs("div",{className:"flex justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"发起人"}),e.jsx(be,{className:"text-gray-400",children:"匹配到"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"联系方式"}),e.jsx(be,{className:"text-gray-400",children:"时间"}),e.jsx(be,{className:"text-gray-400 text-right",children:"操作"})]})}),e.jsxs(ps,{children:[r.map(k=>{var j,T;return e.jsxs(et,{className:`border-gray-700/50 ${w(k)?"hover:bg-[#0a1628]":"opacity-60"}`,children:[e.jsx(pe,{className:"text-white",children:k.userNickname||((j=k.userId)==null?void 0:j.slice(0,12))}),e.jsx(pe,{className:"text-white",children:k.matchedNickname||((T=k.matchedUserId)==null?void 0:T.slice(0,12))}),e.jsx(pe,{children:e.jsx(Le,{className:"bg-[#38bdac]/20 text-[#38bdac] border-0",children:Ex[k.matchType]||k.matchType})}),e.jsxs(pe,{className:"text-sm",children:[k.phone&&e.jsxs("div",{className:"text-green-400",children:["📱 ",k.phone]}),k.wechatId&&e.jsxs("div",{className:"text-blue-400",children:["💬 ",k.wechatId]}),!k.phone&&!k.wechatId&&e.jsx("span",{className:"text-gray-600",children:"无联系方式"})]}),e.jsx(pe,{className:"text-gray-400 text-sm",children:k.createdAt?new Date(k.createdAt).toLocaleString():"-"}),e.jsx(pe,{className:"text-right",children:w(k)?e.jsxs(J,{size:"sm",onClick:()=>N(k),disabled:C===k.id,className:"bg-[#38bdac] hover:bg-[#2da396] text-white text-xs h-7 px-3",children:[e.jsx(iN,{className:"w-3 h-3 mr-1"}),C===k.id?"推送中...":"推送CKB"]}):e.jsx("span",{className:"text-gray-600 text-xs",children:"—"})})]},k.id)}),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:6,className:"text-center py-12 text-gray-500",children:"暂无记录"})})]})]}),e.jsx(Qs,{page:c,totalPages:b,total:l,pageSize:m,onPageChange:u,onPageSizeChange:k=>{f(k),u(1)}})]})})})]})}const Px={created:"已创建",pending_pay:"待支付",paid:"已支付",completed:"已完成",cancelled:"已取消"},BC={single:"单次",half_year:"半年",year:"年度"};function UC(){const[r,a]=h.useState([]),[l,o]=h.useState(!0),[c,u]=h.useState("");async function m(){o(!0);try{const f=c?`/api/db/mentor-consultations?status=${c}`:"/api/db/mentor-consultations",p=await $e(f);p!=null&&p.success&&p.data&&a(p.data)}catch(f){console.error(f)}finally{o(!1)}}return h.useEffect(()=>{m()},[c]),e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsx("p",{className:"text-gray-400",children:"导师咨询预约记录"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("select",{value:c,onChange:f=>u(f.target.value),className:"bg-[#0f2137] border border-gray-700 rounded-lg px-3 py-2 text-gray-300 text-sm",children:[e.jsx("option",{value:"",children:"全部状态"}),Object.entries(Px).map(([f,p])=>e.jsx("option",{value:f,children:p},f))]}),e.jsxs(J,{onClick:m,disabled:l,variant:"outline",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-4 h-4 mr-2 ${l?"animate-spin":""}`})," 刷新"]})]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50",children:e.jsx(we,{className:"p-0",children:l?e.jsx("div",{className:"py-12 text-center text-gray-400",children:"加载中..."}):e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"ID"}),e.jsx(be,{className:"text-gray-400",children:"用户ID"}),e.jsx(be,{className:"text-gray-400",children:"导师ID"}),e.jsx(be,{className:"text-gray-400",children:"类型"}),e.jsx(be,{className:"text-gray-400",children:"金额"}),e.jsx(be,{className:"text-gray-400",children:"状态"}),e.jsx(be,{className:"text-gray-400",children:"创建时间"})]})}),e.jsxs(ps,{children:[r.map(f=>e.jsxs(et,{className:"border-gray-700/50",children:[e.jsx(pe,{className:"text-gray-300",children:f.id}),e.jsx(pe,{className:"text-gray-400",children:f.userId}),e.jsx(pe,{className:"text-gray-400",children:f.mentorId}),e.jsx(pe,{className:"text-gray-400",children:BC[f.consultationType]||f.consultationType}),e.jsxs(pe,{className:"text-white",children:["¥",f.amount]}),e.jsx(pe,{className:"text-gray-400",children:Px[f.status]||f.status}),e.jsx(pe,{className:"text-gray-500 text-sm",children:f.createdAt?new Date(f.createdAt).toLocaleString():"-"})]},f.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:7,className:"text-center py-12 text-gray-500",children:"暂无预约记录"})})]})]})})})]})}function VC(){const[r,a]=h.useState("booking");return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex gap-2",children:[e.jsx("button",{type:"button",onClick:()=>a("booking"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${r==="booking"?"bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/50":"bg-[#0a1628] text-gray-400 border border-gray-700 hover:text-white"}`,children:"预约记录"}),e.jsx("button",{type:"button",onClick:()=>a("manage"),className:`px-4 py-2 rounded-lg text-sm font-medium transition-all ${r==="manage"?"bg-[#38bdac]/20 text-[#38bdac] border border-[#38bdac]/50":"bg-[#0a1628] text-gray-400 border border-gray-700 hover:text-white"}`,children:"导师管理"})]}),r==="booking"&&e.jsx(UC,{}),r==="manage"&&e.jsx("div",{className:"-mx-8",children:e.jsx(_g,{embedded:!0})})]})}function WC(){const[r,a]=h.useState([]),[l,o]=h.useState(0),[c,u]=h.useState(1),[m,f]=h.useState(10),[p,y]=h.useState(!0);async function g(){y(!0);try{const C=new URLSearchParams({page:String(c),pageSize:String(m),matchType:"team"}),P=await $e(`/api/db/match-records?${C}`);P!=null&&P.success&&(a(P.records||[]),o(P.total??0))}catch(C){console.error(C)}finally{y(!1)}}h.useEffect(()=>{g()},[c]);const v=Math.ceil(l/m)||1;return e.jsxs("div",{children:[e.jsxs("div",{className:"flex justify-between items-center mb-4",children:[e.jsxs("div",{children:[e.jsxs("p",{className:"text-gray-400",children:["团队招募匹配记录,共 ",l," 条"]}),e.jsx("p",{className:"text-gray-500 text-xs mt-1",children:"用户通过「团队招募」提交联系方式到存客宝"})]}),e.jsxs("button",{type:"button",onClick:g,disabled:p,className:"flex items-center gap-2 px-4 py-2 rounded-lg border border-gray-600 text-gray-300 hover:bg-gray-700/50 transition-colors disabled:opacity-50",children:[e.jsx(Be,{className:`w-4 h-4 ${p?"animate-spin":""}`})," 刷新"]})]}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl",children:e.jsx(we,{className:"p-0",children:p?e.jsxs("div",{className:"flex justify-center py-12",children:[e.jsx(Be,{className:"w-6 h-6 text-[#38bdac] animate-spin"}),e.jsx("span",{className:"ml-2 text-gray-400",children:"加载中..."})]}):e.jsxs(e.Fragment,{children:[e.jsxs(fs,{children:[e.jsx(xs,{children:e.jsxs(et,{className:"bg-[#0a1628] hover:bg-[#0a1628] border-gray-700",children:[e.jsx(be,{className:"text-gray-400",children:"发起人"}),e.jsx(be,{className:"text-gray-400",children:"匹配到"}),e.jsx(be,{className:"text-gray-400",children:"联系方式"}),e.jsx(be,{className:"text-gray-400",children:"时间"})]})}),e.jsxs(ps,{children:[r.map(C=>e.jsxs(et,{className:"hover:bg-[#0a1628] border-gray-700/50",children:[e.jsx(pe,{className:"text-white",children:C.userNickname||C.userId}),e.jsx(pe,{className:"text-white",children:C.matchedNickname||C.matchedUserId}),e.jsxs(pe,{className:"text-gray-400 text-sm",children:[C.phone&&e.jsxs("div",{children:["📱 ",C.phone]}),C.wechatId&&e.jsxs("div",{children:["💬 ",C.wechatId]}),!C.phone&&!C.wechatId&&"-"]}),e.jsx(pe,{className:"text-gray-400",children:C.createdAt?new Date(C.createdAt).toLocaleString():"-"})]},C.id)),r.length===0&&e.jsx(et,{children:e.jsx(pe,{colSpan:4,className:"text-center py-12 text-gray-500",children:"暂无团队招募记录"})})]})]}),e.jsx(Qs,{page:c,totalPages:v,total:l,pageSize:m,onPageChange:u,onPageSizeChange:C=>{f(C),u(1)}})]})})})]})}const Tx={partner:"找伙伴",investor:"资源对接",mentor:"导师顾问",team:"团队招募"},Rx={partner:"⭐",investor:"👥",mentor:"❤️",team:"🎮"};function HC({onSwitchTab:r}={}){const a=gn(),[l,o]=h.useState(null),[c,u]=h.useState(null),[m,f]=h.useState(!0),[p,y]=h.useState("13800000000"),[g,v]=h.useState(""),[C,P]=h.useState([{endpoint:"/api/ckb/join",label:"场景获客 — 找伙伴",description:"添加到存客宝「找伙伴」计划",method:"POST",status:"idle"},{endpoint:"/api/ckb/join",label:"场景获客 — 资源对接",description:"添加到存客宝「资源对接」计划",method:"POST",status:"idle"},{endpoint:"/api/ckb/join",label:"场景获客 — 导师顾问",description:"添加到存客宝「导师顾问」计划",method:"POST",status:"idle"},{endpoint:"/api/ckb/join",label:"场景获客 — 团队招募",description:"添加到存客宝「团队招募」计划",method:"POST",status:"idle"},{endpoint:"/api/ckb/match",label:"匹配上报",description:"上报匹配行为",method:"POST",status:"idle"},{endpoint:"/api/miniprogram/ckb/lead",label:"链接卡若",description:"首页留资到存客宝",method:"POST",status:"idle"},{endpoint:"/api/match/config",label:"匹配配置",description:"获取匹配类型和价格",method:"GET",status:"idle"}]),R=h.useCallback(async()=>{var T,L;f(!0);try{const[$,_]=await Promise.allSettled([$e("/api/db/match-records?stats=true"),$e("/api/db/ckb-plan-stats")]);if($.status==="fulfilled"&&((T=$.value)!=null&&T.success)&&$.value.data){let I=$.value.data;if(I.totalMatches>0&&(!I.uniqueUsers||I.uniqueUsers===0))try{const E=await $e("/api/db/match-records?page=1&pageSize=200");if(E!=null&&E.success&&E.records){const G=new Set(E.records.map(ne=>ne.userId).filter(Boolean));I={...I,uniqueUsers:G.size}}}catch{}o(I)}_.status==="fulfilled"&&((L=_.value)!=null&&L.success)&&_.value.data&&u(_.value.data)}catch($){console.error("加载统计失败:",$)}finally{f(!1)}},[]);h.useEffect(()=>{R()},[R]);const N=["partner","investor","mentor","team"],b=T=>{const L=p.trim(),$=g.trim();return T<=3?{type:N[T],phone:L||void 0,wechat:$||void 0,userId:"admin_test",name:"后台测试"}:T===4?{matchType:"partner",phone:L||void 0,wechat:$||void 0,userId:"admin_test",nickname:"后台测试",matchedUser:{id:"test",nickname:"测试",matchScore:88}}:T===5?{phone:L||void 0,wechatId:$||void 0,userId:"admin_test",name:"后台测试"}:{}},w=async T=>{const L=C[T];if(L.method==="POST"&&!p.trim()&&!g.trim()){alert("请填写测试手机号");return}const $=[...C];$[T]={...L,status:"testing",message:void 0,responseTime:void 0},P($);const _=performance.now();try{const I=L.method==="GET"?await $e(L.endpoint):await mt(L.endpoint,b(T)),E=Math.round(performance.now()-_),G=(I==null?void 0:I.message)||"",ne=(I==null?void 0:I.success)===!0||G.includes("已存在")||G.includes("已加入"),ae=[...C];ae[T]={...L,status:ne?"success":"error",message:G||(ne?"正常":"异常"),responseTime:E},P(ae)}catch(I){const E=Math.round(performance.now()-_),G=[...C];G[T]={...L,status:"error",message:I instanceof Error?I.message:"请求失败",responseTime:E},P(G)}},k=async()=>{if(!p.trim()&&!g.trim()){alert("请填写测试手机号");return}for(let T=0;Tm?"—":String(T??0);return e.jsxs("div",{className:"space-y-8",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"text-lg font-semibold text-white mb-4 flex items-center gap-2",children:[e.jsx(Yt,{className:"w-5 h-5 text-[#38bdac]"})," 找伙伴数据"]}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-5",children:[e.jsx(Ne,{className:"bg-gradient-to-br from-[#0f2137] to-[#162d4a] border-gray-700/40 cursor-pointer hover:border-[#38bdac]/60 transition-all",onClick:()=>r==null?void 0:r("partner"),children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"总匹配次数"}),e.jsx("p",{className:"text-4xl font-bold text-white",children:j(l==null?void 0:l.totalMatches)}),e.jsxs("p",{className:"text-[#38bdac] text-xs mt-3 flex items-center gap-1",children:[e.jsx(_a,{className:"w-3 h-3"})," 查看匹配记录"]})]})}),e.jsx(Ne,{className:"bg-gradient-to-br from-[#0f2137] to-[#162d4a] border-gray-700/40 cursor-pointer hover:border-yellow-500/60 transition-all",onClick:()=>r==null?void 0:r("partner"),children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"今日匹配"}),e.jsx("p",{className:"text-4xl font-bold text-white",children:j(l==null?void 0:l.todayMatches)}),e.jsxs("p",{className:"text-yellow-400/60 text-xs mt-3 flex items-center gap-1",children:[e.jsx(an,{className:"w-3 h-3"})," 今日实时"]})]})}),e.jsx(Ne,{className:"bg-gradient-to-br from-[#0f2137] to-[#162d4a] border-gray-700/40 cursor-pointer hover:border-blue-500/60 transition-all",onClick:()=>a("/users"),children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"匹配用户数"}),e.jsx("p",{className:"text-4xl font-bold text-white",children:j(l==null?void 0:l.uniqueUsers)}),e.jsxs("p",{className:"text-blue-400/60 text-xs mt-3 flex items-center gap-1",children:[e.jsx(_a,{className:"w-3 h-3"})," 查看用户管理"]})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/40",children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"人均匹配"}),e.jsx("p",{className:"text-3xl font-bold text-white",children:m?"—":l!=null&&l.uniqueUsers?(l.totalMatches/l.uniqueUsers).toFixed(1):"0"})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/40",children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"匹配收益"}),e.jsxs("p",{className:"text-3xl font-bold text-white",children:["¥",j(l==null?void 0:l.matchRevenue)]})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-gray-700/40",children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"付费匹配次数"}),e.jsx("p",{className:"text-3xl font-bold text-white",children:j(l==null?void 0:l.paidMatchCount)})]})})]})]}),(l==null?void 0:l.byType)&&l.byType.length>0&&e.jsxs("div",{children:[e.jsx("h3",{className:"text-lg font-semibold text-white mb-4",children:"各类型匹配分布"}),e.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:l.byType.map(T=>{const L=l.totalMatches>0?T.count/l.totalMatches*100:0;return e.jsxs("div",{className:"bg-[#0f2137] border border-gray-700/40 rounded-xl p-5",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx("span",{className:"text-2xl",children:Rx[T.matchType]||"📊"}),e.jsx("span",{className:"text-gray-300 font-medium",children:Tx[T.matchType]||T.matchType})]}),e.jsx("p",{className:"text-3xl font-bold text-white mb-2",children:T.count}),e.jsx("div",{className:"w-full h-2 bg-gray-700/50 rounded-full overflow-hidden",children:e.jsx("div",{className:"h-full bg-[#38bdac] rounded-full transition-all",style:{width:`${Math.min(L,100)}%`}})}),e.jsxs("p",{className:"text-gray-500 text-xs mt-1.5",children:[L.toFixed(1),"%"]})]},T.matchType)})})]}),e.jsxs("div",{children:[e.jsxs("h3",{className:"text-lg font-semibold text-white mb-4 flex items-center gap-2",children:[e.jsx(on,{className:"w-5 h-5 text-orange-400"})," 存客宝获客数据"]}),e.jsxs("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-5 mb-6",children:[e.jsx(Ne,{className:"bg-[#0f2137] border-orange-500/20",children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"CKB 已提交线索"}),e.jsx("p",{className:"text-3xl font-bold text-white",children:m?"—":(c==null?void 0:c.ckbTotal)??0})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-orange-500/20",children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"有联系方式"}),e.jsx("p",{className:"text-3xl font-bold text-white",children:m?"—":(c==null?void 0:c.withContact)??0})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-orange-500/20",children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"联系方式比例"}),e.jsx("p",{className:"text-3xl font-bold text-white",children:m?"—":c!=null&&c.ckbTotal?(c.withContact/c.ckbTotal*100).toFixed(0)+"%":"0%"})]})}),e.jsx(Ne,{className:"bg-[#0f2137] border-orange-500/20",children:e.jsxs(we,{className:"p-6",children:[e.jsx("p",{className:"text-gray-400 text-sm mb-2",children:"API 连接"}),e.jsx("p",{className:"text-sm font-mono text-gray-400 mt-1 truncate",children:(c==null?void 0:c.ckbApiUrl)||"ckbapi.quwanzhi.com"}),e.jsxs("p",{className:"text-xs text-gray-500 mt-1",children:["Key: ",(c==null?void 0:c.ckbApiKey)||"..."]})]})})]}),(c==null?void 0:c.byType)&&c.byType.length>0&&e.jsx("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3 mb-6",children:c.byType.map(T=>e.jsxs("div",{className:"bg-[#0a1628] border border-gray-700/30 rounded-lg p-4 flex items-center gap-3",children:[e.jsx("span",{className:"text-xl",children:Rx[T.matchType]||"📋"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 text-xs",children:Tx[T.matchType]||T.matchType}),e.jsx("p",{className:"text-xl font-bold text-white",children:T.total})]})]},T.matchType))})]}),e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center justify-between mb-4",children:[e.jsxs("h3",{className:"text-lg font-semibold text-white flex items-center gap-2",children:[e.jsx(Uj,{className:"w-5 h-5 text-green-400"})," 接口联通测试"]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(J,{onClick:R,disabled:m,variant:"outline",size:"sm",className:"border-gray-600 text-gray-300 hover:bg-gray-700/50 bg-transparent",children:[e.jsx(Be,{className:`w-3.5 h-3.5 mr-1.5 ${m?"animate-spin":""}`})," 刷新数据"]}),e.jsxs(J,{onClick:k,size:"sm",className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:[e.jsx(an,{className:"w-3.5 h-3.5 mr-1.5"})," 全部测试"]})]})]}),e.jsxs("div",{className:"flex gap-4 mb-4 p-4 bg-[#0a1628] rounded-xl border border-gray-700/40",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[e.jsx(Al,{className:"w-4 h-4 text-gray-500 shrink-0"}),e.jsxs("div",{className:"flex-1",children:[e.jsx(te,{className:"text-gray-500 text-xs",children:"测试手机号(真实添加到存客宝)"}),e.jsx(le,{className:"bg-[#0f2137] border-gray-700 text-white h-9 mt-1",value:p,onChange:T=>y(T.target.value),placeholder:"手机号"})]})]}),e.jsxs("div",{className:"flex items-center gap-2 flex-1",children:[e.jsx("span",{className:"text-gray-500 text-sm shrink-0",children:"💬"}),e.jsxs("div",{className:"flex-1",children:[e.jsx(te,{className:"text-gray-500 text-xs",children:"微信号(可选)"}),e.jsx(le,{className:"bg-[#0f2137] border-gray-700 text-white h-9 mt-1",value:g,onChange:T=>v(T.target.value),placeholder:"微信号"})]})]})]}),e.jsx("div",{className:"space-y-2",children:C.map((T,L)=>e.jsxs("div",{className:"flex items-center justify-between bg-[#0a1628] border border-gray-700/30 rounded-lg px-4 py-3",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0 flex-1",children:[T.status==="idle"&&e.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-gray-600 shrink-0"}),T.status==="testing"&&e.jsx(Be,{className:"w-4 h-4 text-yellow-400 animate-spin shrink-0"}),T.status==="success"&&e.jsx(Gd,{className:"w-4 h-4 text-green-400 shrink-0"}),T.status==="error"&&e.jsx(Kx,{className:"w-4 h-4 text-red-400 shrink-0"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-white text-sm",children:T.label}),e.jsx("p",{className:"text-gray-600 text-xs truncate",children:T.description})]})]}),e.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[T.message&&e.jsx("span",{className:`text-xs max-w-[180px] truncate ${T.status==="success"?"text-green-400":"text-red-400"}`,children:T.message}),T.responseTime!==void 0&&e.jsxs(Le,{className:"bg-gray-800 text-gray-400 border-0 text-[10px]",children:[T.responseTime,"ms"]}),e.jsx(J,{size:"sm",variant:"outline",onClick:()=>w(L),disabled:T.status==="testing",className:"border-gray-700 text-gray-400 hover:bg-gray-700/50 bg-transparent text-xs h-7 px-2.5",children:"测试"})]})]},`${T.endpoint}-${L}`))})]})]})}const KC=[{id:"stats",label:"数据统计",icon:Qj},{id:"partner",label:"找伙伴",icon:Yt},{id:"resource",label:"资源对接",icon:Pb},{id:"mentor",label:"导师预约",icon:Cb},{id:"team",label:"团队招募",icon:Xd}];function GC(){const[r,a]=h.useState("stats");return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"mb-6",children:[e.jsxs("h2",{className:"text-2xl font-bold text-white flex items-center gap-2",children:[e.jsx(Yt,{className:"w-6 h-6 text-[#38bdac]"}),"找伙伴"]}),e.jsx("p",{className:"text-gray-400 mt-1",children:"数据统计、匹配池与记录、资源对接、导师预约、团队招募"})]}),e.jsx("div",{className:"flex flex-wrap gap-1 mb-6 bg-[#0f2137] rounded-lg p-1 border border-gray-700/50",children:KC.map(l=>{const o=r===l.id;return e.jsxs("button",{type:"button",onClick:()=>a(l.id),className:`flex items-center gap-2 px-5 py-2.5 rounded-md text-sm font-medium transition-all ${o?"bg-[#38bdac] text-white shadow-lg":"text-gray-400 hover:text-white hover:bg-gray-700/50"}`,children:[e.jsx(l.icon,{className:"w-4 h-4"}),l.label]},l.id)})}),r==="stats"&&e.jsx(HC,{onSwitchTab:l=>a(l)}),r==="partner"&&e.jsx(zC,{}),r==="resource"&&e.jsx($C,{}),r==="mentor"&&e.jsx(VC,{}),r==="team"&&e.jsx(WC,{})]})}function YC(){return e.jsxs("div",{className:"p-8 w-full",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-8",children:[e.jsx(on,{className:"w-8 h-8 text-[#38bdac]"}),e.jsx("h1",{className:"text-2xl font-bold text-white",children:"API 接口文档"})]}),e.jsx("p",{className:"text-gray-400 mb-6",children:"API 风格:RESTful · 版本 v1.0 · 基础路径 /api · 简单、清晰、易用。"}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ye,{children:e.jsx(Qe,{className:"text-white",children:"1. 接口总览"})}),e.jsxs(we,{className:"space-y-4 text-sm",children:[e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 mb-2",children:"接口分类"}),e.jsxs("ul",{className:"space-y-1 text-gray-300 font-mono",children:[e.jsx("li",{children:"/api/book — 书籍内容(章节列表、内容获取、同步)"}),e.jsx("li",{children:"/api/payment — 支付系统(订单创建、回调、状态查询)"}),e.jsx("li",{children:"/api/referral — 分销系统(邀请码、收益、提现)"}),e.jsx("li",{children:"/api/user — 用户系统(登录、注册、信息更新)"}),e.jsx("li",{children:"/api/match — 匹配系统(寻找匹配、匹配历史)"}),e.jsx("li",{children:"/api/admin — 管理后台(内容/订单/用户/分销管理)"}),e.jsx("li",{children:"/api/config — 配置系统"})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"text-gray-400 mb-2",children:"认证方式"}),e.jsx("p",{className:"text-gray-300",children:"用户:Cookie session_id(可选)"}),e.jsx("p",{className:"text-gray-300",children:"管理端:Authorization: Bearer admin-token-secret"})]})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ye,{children:e.jsx(Qe,{className:"text-white",children:"2. 书籍内容"})}),e.jsxs(we,{className:"space-y-2 text-sm text-gray-300 font-mono",children:[e.jsx("p",{children:"GET /api/book/all-chapters — 获取所有章节"}),e.jsx("p",{children:"GET /api/book/chapter/:id — 获取单章内容"}),e.jsx("p",{children:"POST /api/book/sync — 同步章节(需管理员认证)"})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ye,{children:e.jsx(Qe,{className:"text-white",children:"3. 支付"})}),e.jsxs(we,{className:"space-y-2 text-sm text-gray-300 font-mono",children:[e.jsx("p",{children:"POST /api/payment/create-order — 创建订单"}),e.jsx("p",{children:"POST /api/payment/alipay/notify — 支付宝回调"}),e.jsx("p",{children:"POST /api/payment/wechat/notify — 微信回调"})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ye,{children:e.jsx(Qe,{className:"text-white",children:"4. 分销与用户"})}),e.jsxs(we,{className:"space-y-2 text-sm text-gray-300 font-mono",children:[e.jsx("p",{children:"/api/referral/* — 邀请码、收益查询、提现"}),e.jsx("p",{children:"/api/user/* — 登录、注册、信息更新"}),e.jsx("p",{children:"/api/match/* — 匹配、匹配历史"})]})]}),e.jsxs(Ne,{className:"bg-[#0f2137] border-gray-700/50 shadow-xl mb-6",children:[e.jsx(Ye,{children:e.jsx(Qe,{className:"text-white",children:"5. 管理后台"})}),e.jsxs(we,{className:"space-y-2 text-sm text-gray-300 font-mono",children:[e.jsx("p",{children:"GET/POST /api/admin/referral-settings — 推广/分销设置(含 VIP 配置)"}),e.jsx("p",{children:"GET /api/db/users、/api/db/book — 用户与章节数据"}),e.jsx("p",{children:"GET /api/orders — 订单列表"})]})]}),e.jsx("p",{className:"text-gray-500 text-xs",children:"完整说明见项目内 开发文档/5、接口/API接口完整文档.md"})]})}function QC(){const r=pn();return e.jsx("div",{className:"min-h-screen bg-[#0a1628] flex items-center justify-center p-8",children:e.jsxs("div",{className:"text-center max-w-md",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-20 h-20 rounded-full bg-red-500/20 text-red-400 mb-6",children:e.jsx(tb,{className:"w-10 h-10"})}),e.jsx("h1",{className:"text-4xl font-bold text-white mb-2",children:"404"}),e.jsx("p",{className:"text-gray-400 mb-1",children:"页面不存在"}),e.jsx("p",{className:"text-sm text-gray-500 font-mono mb-8 break-all",children:r.pathname}),e.jsx(J,{asChild:!0,className:"bg-[#38bdac] hover:bg-[#2da396] text-white",children:e.jsxs(Kd,{to:"/",children:[e.jsx(Rb,{className:"w-4 h-4 mr-2"}),"返回首页"]})})]})})}function qC(){return e.jsxs(Sj,{children:[e.jsx(yt,{path:"/login",element:e.jsx(Ew,{})}),e.jsxs(yt,{path:"/",element:e.jsx(RN,{}),children:[e.jsx(yt,{index:!0,element:e.jsx(Sd,{to:"/dashboard",replace:!0})}),e.jsx(yt,{path:"dashboard",element:e.jsx(Tw,{})}),e.jsx(yt,{path:"orders",element:e.jsx(f2,{})}),e.jsx(yt,{path:"users",element:e.jsx($2,{})}),e.jsx(yt,{path:"distribution",element:e.jsx(o4,{})}),e.jsx(yt,{path:"withdrawals",element:e.jsx(c4,{})}),e.jsx(yt,{path:"content",element:e.jsx(pC,{})}),e.jsx(yt,{path:"referral-settings",element:e.jsx(M0,{})}),e.jsx(yt,{path:"author-settings",element:e.jsx(Sd,{to:"/settings?tab=author",replace:!0})}),e.jsx(yt,{path:"admin-users",element:e.jsx(Sd,{to:"/settings?tab=admin",replace:!0})}),e.jsx(yt,{path:"vip-roles",element:e.jsx(AC,{})}),e.jsx(yt,{path:"mentors",element:e.jsx(_g,{})}),e.jsx(yt,{path:"mentor-consultations",element:e.jsx(DC,{})}),e.jsx(yt,{path:"settings",element:e.jsx(SC,{})}),e.jsx(yt,{path:"payment",element:e.jsx(CC,{})}),e.jsx(yt,{path:"site",element:e.jsx(TC,{})}),e.jsx(yt,{path:"qrcodes",element:e.jsx(RC,{})}),e.jsx(yt,{path:"find-partner",element:e.jsx(GC,{})}),e.jsx(yt,{path:"match",element:e.jsx(_C,{})}),e.jsx(yt,{path:"match-records",element:e.jsx(MC,{})}),e.jsx(yt,{path:"api-doc",element:e.jsx(YC,{})})]}),e.jsx(yt,{path:"*",element:e.jsx(QC,{})})]})}Pv.createRoot(document.getElementById("root")).render(e.jsx(h.StrictMode,{children:e.jsx(_j,{future:{v7_startTransition:!0,v7_relativeSplatPath:!0},children:e.jsx(qC,{})})})); diff --git a/soul-admin/dist/assets/index-pe-kjH6p.css b/soul-admin/dist/assets/index-pe-kjH6p.css deleted file mode 100644 index 50354711..00000000 --- a/soul-admin/dist/assets/index-pe-kjH6p.css +++ /dev/null @@ -1 +0,0 @@ -/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-300:oklch(83.7% .128 66.29);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-600:oklch(64.6% .222 41.116);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--blur-xl:24px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-2\.5{top:calc(var(--spacing)*-2.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-1\/4{top:25%}.top-4{top:calc(var(--spacing)*4)}.top-16{top:calc(var(--spacing)*16)}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1\/4{right:25%}.right-4{right:calc(var(--spacing)*4)}.bottom-1\/4{bottom:25%}.-left-2\.5{left:calc(var(--spacing)*-2.5)}.left-0{left:calc(var(--spacing)*0)}.left-1\/4{left:25%}.left-2{left:calc(var(--spacing)*2)}.left-3{left:calc(var(--spacing)*3)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.-mx-8{margin-inline:calc(var(--spacing)*-8)}.mx-20{margin-inline:calc(var(--spacing)*20)}.mx-auto{margin-inline:auto}.-mt-6{margin-top:calc(var(--spacing)*-6)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.h-0\.5{height:calc(var(--spacing)*.5)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-96{height:calc(var(--spacing)*96)}.h-\[75vh\]{height:75vh}.h-auto{height:auto}.h-full{height:100%}.max-h-96{max-height:calc(var(--spacing)*96)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[250px\]{max-height:250px}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-\[32px\]{min-height:32px}.min-h-\[40px\]{min-height:40px}.min-h-\[60vh\]{min-height:60vh}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:calc(var(--spacing)*.5)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[100px\]{max-width:100px}.max-w-\[120px\]{max-width:120px}.max-w-\[200px\]{max-width:200px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[120px\]{min-width:120px}.min-w-\[1024px\]{min-width:1024px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-1\/2{--tw-translate-x: 50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.scale-\[0\.98\]{scale:.98}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-gray-700\/50>:not(:last-child)){border-color:#36415380}@supports (color:color-mix(in lab,red,red)){:where(.divide-gray-700\/50>:not(:last-child)){border-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}:where(.divide-white\/5>:not(:last-child)){border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){:where(.divide-white\/5>:not(:last-child)){border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-\[\#07C160\]{border-color:#07c160}.border-\[\#07C160\]\/20{border-color:#07c16033}.border-\[\#07C160\]\/30{border-color:#07c1604d}.border-\[\#38bdac\]{border-color:#38bdac}.border-\[\#38bdac\]\/20{border-color:#38bdac33}.border-\[\#38bdac\]\/30{border-color:#38bdac4d}.border-\[\#38bdac\]\/40{border-color:#38bdac66}.border-\[\#38bdac\]\/50{border-color:#38bdac80}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.border-amber-500\/30{border-color:#f99c004d}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/30{border-color:color-mix(in oklab,var(--color-amber-500)30%,transparent)}}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/40{border-color:color-mix(in oklab,var(--color-amber-500)40%,transparent)}}.border-amber-500\/50{border-color:#f99c0080}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/50{border-color:color-mix(in oklab,var(--color-amber-500)50%,transparent)}}.border-blue-500\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/30{border-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.border-blue-500\/40{border-color:#3080ff66}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/40{border-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.border-blue-500\/50{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.border-blue-500\/50{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500)30%,transparent)}}.border-cyan-500\/40{border-color:#00b7d766}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/40{border-color:color-mix(in oklab,var(--color-cyan-500)40%,transparent)}}.border-gray-500{border-color:var(--color-gray-500)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-700\/30{border-color:#3641534d}@supports (color:color-mix(in lab,red,red)){.border-gray-700\/30{border-color:color-mix(in oklab,var(--color-gray-700)30%,transparent)}}.border-gray-700\/50{border-color:#36415380}@supports (color:color-mix(in lab,red,red)){.border-gray-700\/50{border-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}.border-green-500\/30{border-color:#00c7584d}@supports (color:color-mix(in lab,red,red)){.border-green-500\/30{border-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.border-green-500\/40{border-color:#00c75866}@supports (color:color-mix(in lab,red,red)){.border-green-500\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-orange-500\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/30{border-color:color-mix(in oklab,var(--color-orange-500)30%,transparent)}}.border-orange-500\/40{border-color:#fe6e0066}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/40{border-color:color-mix(in oklab,var(--color-orange-500)40%,transparent)}}.border-orange-500\/50{border-color:#fe6e0080}@supports (color:color-mix(in lab,red,red)){.border-orange-500\/50{border-color:color-mix(in oklab,var(--color-orange-500)50%,transparent)}}.border-purple-500\/20{border-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/20{border-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.border-purple-500\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/30{border-color:color-mix(in oklab,var(--color-purple-500)30%,transparent)}}.border-purple-500\/40{border-color:#ac4bff66}@supports (color:color-mix(in lab,red,red)){.border-purple-500\/40{border-color:color-mix(in oklab,var(--color-purple-500)40%,transparent)}}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-red-500\/50{border-color:#fb2c3680}@supports (color:color-mix(in lab,red,red)){.border-red-500\/50{border-color:color-mix(in oklab,var(--color-red-500)50%,transparent)}}.border-transparent{border-color:#0000}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-yellow-500\/30{border-color:#edb2004d}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/30{border-color:color-mix(in oklab,var(--color-yellow-500)30%,transparent)}}.border-yellow-500\/40{border-color:#edb20066}@supports (color:color-mix(in lab,red,red)){.border-yellow-500\/40{border-color:color-mix(in oklab,var(--color-yellow-500)40%,transparent)}}.bg-\[\#0a1628\]{background-color:#0a1628}.bg-\[\#0a1628\]\/50{background-color:#0a162880}.bg-\[\#0f2137\]{background-color:#0f2137}.bg-\[\#00CED1\]{background-color:#00ced1}.bg-\[\#1C1C1E\]{background-color:#1c1c1e}.bg-\[\#07C160\]{background-color:#07c160}.bg-\[\#07C160\]\/5{background-color:#07c1600d}.bg-\[\#07C160\]\/10{background-color:#07c1601a}.bg-\[\#38bdac\]{background-color:#38bdac}.bg-\[\#38bdac\]\/5{background-color:#38bdac0d}.bg-\[\#38bdac\]\/10{background-color:#38bdac1a}.bg-\[\#38bdac\]\/15{background-color:#38bdac26}.bg-\[\#38bdac\]\/20{background-color:#38bdac33}.bg-\[\#38bdac\]\/30{background-color:#38bdac4d}.bg-\[\#38bdac\]\/60{background-color:#38bdac99}.bg-\[\#38bdac\]\/80{background-color:#38bdaccc}.bg-\[\#162840\]{background-color:#162840}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/10{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-blue-500\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-gray-600{background-color:var(--color-gray-600)}.bg-gray-600\/50{background-color:#4a556580}@supports (color:color-mix(in lab,red,red)){.bg-gray-600\/50{background-color:color-mix(in oklab,var(--color-gray-600)50%,transparent)}}.bg-gray-700{background-color:var(--color-gray-700)}.bg-gray-700\/50{background-color:#36415380}@supports (color:color-mix(in lab,red,red)){.bg-gray-700\/50{background-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\/10{background-color:#fe6e001a}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/10{background-color:color-mix(in oklab,var(--color-orange-500)10%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#00CED1\]{--tw-gradient-from:#00ced1;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-\[\#38bdac\]\/10{--tw-gradient-from:oklab(72.378% -.11483 -.0053193/.1);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500\/20{--tw-gradient-from:#3080ff33}@supports (color:color-mix(in lab,red,red)){.from-blue-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.from-blue-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-500\/20{--tw-gradient-from:#00b7d733}@supports (color:color-mix(in lab,red,red)){.from-cyan-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.from-cyan-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-500\/20{--tw-gradient-from:#00c75833}@supports (color:color-mix(in lab,red,red)){.from-green-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.from-green-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500\/20{--tw-gradient-from:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.from-purple-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.from-purple-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-500\/20{--tw-gradient-from:#edb20033}@supports (color:color-mix(in lab,red,red)){.from-yellow-500\/20{--tw-gradient-from:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.from-yellow-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[\#38bdac\]\/30{--tw-gradient-via:oklab(72.378% -.11483 -.0053193/.3);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-\[\#0f2137\]{--tw-gradient-to:#0f2137;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#20B2AA\]{--tw-gradient-to:#20b2aa;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-500\/20{--tw-gradient-to:#f99c0033}@supports (color:color-mix(in lab,red,red)){.to-amber-500\/20{--tw-gradient-to:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.to-amber-500\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500\/5{--tw-gradient-to:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.to-cyan-500\/5{--tw-gradient-to:color-mix(in oklab,var(--color-cyan-500)5%,transparent)}}.to-cyan-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-green-500\/5{--tw-gradient-to:#00c7580d}@supports (color:color-mix(in lab,red,red)){.to-green-500\/5{--tw-gradient-to:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.to-green-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-500\/5{--tw-gradient-to:#ac4bff0d}@supports (color:color-mix(in lab,red,red)){.to-purple-500\/5{--tw-gradient-to:color-mix(in oklab,var(--color-purple-500)5%,transparent)}}.to-purple-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-yellow-500\/5{--tw-gradient-to:#edb2000d}@supports (color:color-mix(in lab,red,red)){.to-yellow-500\/5{--tw-gradient-to:color-mix(in oklab,var(--color-yellow-500)5%,transparent)}}.to-yellow-500\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-4{padding-right:calc(var(--spacing)*4)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-8{padding-left:calc(var(--spacing)*8)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.break-all{word-break:break-all}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#00CED1\]{color:#00ced1}.text-\[\#07C160\]{color:#07c160}.text-\[\#07C160\]\/60{color:#07c16099}.text-\[\#07C160\]\/70{color:#07c160b3}.text-\[\#07C160\]\/80{color:#07c160cc}.text-\[\#26A17B\]{color:#26a17b}.text-\[\#38bdac\]{color:#38bdac}.text-\[\#38bdac\]\/30{color:#38bdac4d}.text-\[\#38bdac\]\/40{color:#38bdac66}.text-\[\#169BD7\]{color:#169bd7}.text-\[\#1677FF\]{color:#1677ff}.text-\[\#FFD700\]{color:gold}.text-amber-200{color:var(--color-amber-200)}.text-amber-400{color:var(--color-amber-400)}.text-amber-400\/30{color:#fcbb004d}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/30{color:color-mix(in oklab,var(--color-amber-400)30%,transparent)}}.text-amber-400\/90{color:#fcbb00e6}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/90{color:color-mix(in oklab,var(--color-amber-400)90%,transparent)}}.text-black{color:var(--color-black)}.text-blue-300{color:var(--color-blue-300)}.text-blue-300\/60{color:#90c5ff99}@supports (color:color-mix(in lab,red,red)){.text-blue-300\/60{color:color-mix(in oklab,var(--color-blue-300)60%,transparent)}}.text-blue-400{color:var(--color-blue-400)}.text-blue-400\/60{color:#54a2ff99}@supports (color:color-mix(in lab,red,red)){.text-blue-400\/60{color:color-mix(in oklab,var(--color-blue-400)60%,transparent)}}.text-cyan-400{color:var(--color-cyan-400)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-orange-300{color:var(--color-orange-300)}.text-orange-300\/60{color:#ffb96d99}@supports (color:color-mix(in lab,red,red)){.text-orange-300\/60{color:color-mix(in oklab,var(--color-orange-300)60%,transparent)}}.text-orange-400{color:var(--color-orange-400)}.text-orange-400\/80{color:#ff8b1acc}@supports (color:color-mix(in lab,red,red)){.text-orange-400\/80{color:color-mix(in oklab,var(--color-orange-400)80%,transparent)}}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-400\/60{color:#fac80099}@supports (color:color-mix(in lab,red,red)){.text-yellow-400\/60{color:color-mix(in oklab,var(--color-yellow-400)60%,transparent)}}.text-yellow-500\/70{color:#edb200b3}@supports (color:color-mix(in lab,red,red)){.text-yellow-500\/70{color:color-mix(in oklab,var(--color-yellow-500)70%,transparent)}}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[\#38bdac\]\/20{--tw-shadow-color:#38bdac33}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#38bdac\]\/20{--tw-shadow-color:color-mix(in oklab,oklab(72.378% -.11483 -.0053193/.2) var(--tw-shadow-alpha),transparent)}}.shadow-\[\#38bdac\]\/30{--tw-shadow-color:#38bdac4d}@supports (color:color-mix(in lab,red,red)){.shadow-\[\#38bdac\]\/30{--tw-shadow-color:color-mix(in oklab,oklab(72.378% -.11483 -.0053193/.3) var(--tw-shadow-alpha),transparent)}}.ring-\[\#38bdac\]{--tw-ring-color:#38bdac}.ring-\[\#38bdac\]\/40{--tw-ring-color:oklab(72.378% -.11483 -.0053193/.4)}.ring-\[\#38bdac\]\/50{--tw-ring-color:oklab(72.378% -.11483 -.0053193/.5)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter\!{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)!important}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition\!{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:text-\[\#38bdac\]:is(:where(.group):hover *){color:#38bdac}.group-hover\:text-gray-400:is(:where(.group):hover *){color:var(--color-gray-400)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-\[\#38bdac\]\/30:hover{border-color:#38bdac4d}.hover\:border-\[\#38bdac\]\/50:hover{border-color:#38bdac80}.hover\:border-amber-500\/40:hover{border-color:#f99c0066}@supports (color:color-mix(in lab,red,red)){.hover\:border-amber-500\/40:hover{border-color:color-mix(in oklab,var(--color-amber-500)40%,transparent)}}.hover\:border-blue-500\/50:hover{border-color:#3080ff80}@supports (color:color-mix(in lab,red,red)){.hover\:border-blue-500\/50:hover{border-color:color-mix(in oklab,var(--color-blue-500)50%,transparent)}}.hover\:border-gray-500:hover{border-color:var(--color-gray-500)}.hover\:border-gray-600:hover{border-color:var(--color-gray-600)}.hover\:border-yellow-500\/50:hover{border-color:#edb20080}@supports (color:color-mix(in lab,red,red)){.hover\:border-yellow-500\/50:hover{border-color:color-mix(in oklab,var(--color-yellow-500)50%,transparent)}}.hover\:bg-\[\#0a1628\]:hover{background-color:#0a1628}.hover\:bg-\[\#1a3050\]:hover{background-color:#1a3050}.hover\:bg-\[\#2da396\]:hover{background-color:#2da396}.hover\:bg-\[\#06AD51\]:hover{background-color:#06ad51}.hover\:bg-\[\#07C160\]\/10:hover{background-color:#07c1601a}.hover\:bg-\[\#20B2AA\]:hover{background-color:#20b2aa}.hover\:bg-\[\#38bdac\]\/10:hover{background-color:#38bdac1a}.hover\:bg-\[\#38bdac\]\/20:hover{background-color:#38bdac33}.hover\:bg-\[\#162840\]\/30:hover{background-color:#1628404d}.hover\:bg-\[\#162840\]\/50:hover{background-color:#16284080}.hover\:bg-amber-400\/10:hover{background-color:#fcbb001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-400\/10:hover{background-color:color-mix(in oklab,var(--color-amber-400)10%,transparent)}}.hover\:bg-amber-500\/10:hover{background-color:#f99c001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/10:hover{background-color:color-mix(in oklab,var(--color-amber-500)10%,transparent)}}.hover\:bg-amber-500\/20:hover{background-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-amber-500\/20:hover{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.hover\:bg-amber-600:hover{background-color:var(--color-amber-600)}.hover\:bg-blue-400\/10:hover{background-color:#54a2ff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-400\/10:hover{background-color:color-mix(in oklab,var(--color-blue-400)10%,transparent)}}.hover\:bg-blue-500\/20:hover{background-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-500\/20:hover{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.hover\:bg-gray-500:hover{background-color:var(--color-gray-500)}.hover\:bg-gray-500\/20:hover{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-500\/20:hover{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.hover\:bg-gray-700\/50:hover{background-color:#36415380}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-700\/50:hover{background-color:color-mix(in oklab,var(--color-gray-700)50%,transparent)}}.hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.hover\:bg-green-500\/20:hover{background-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.hover\:bg-green-500\/20:hover{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-orange-500\/20:hover{background-color:#fe6e0033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-orange-500\/20:hover{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.hover\:bg-orange-600:hover{background-color:var(--color-orange-600)}.hover\:bg-purple-500\/10:hover{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-500\/10:hover{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.hover\:bg-purple-500\/20:hover{background-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-500\/20:hover{background-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.hover\:bg-purple-500\/30:hover{background-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-purple-500\/30:hover{background-color:color-mix(in oklab,var(--color-purple-500)30%,transparent)}}.hover\:bg-red-500\/10:hover{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/10:hover{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.hover\:bg-red-500\/20:hover{background-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/20:hover{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:bg-yellow-400\/10:hover{background-color:#fac8001a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-yellow-400\/10:hover{background-color:color-mix(in oklab,var(--color-yellow-400)10%,transparent)}}.hover\:bg-yellow-500\/20:hover{background-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.hover\:bg-yellow-500\/20:hover{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.hover\:text-\[\#38bdac\]:hover{color:#38bdac}.hover\:text-amber-300:hover{color:var(--color-amber-300)}.hover\:text-amber-400:hover{color:var(--color-amber-400)}.hover\:text-blue-400:hover{color:var(--color-blue-400)}.hover\:text-gray-300:hover{color:var(--color-gray-300)}.hover\:text-red-300:hover{color:var(--color-red-300)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-yellow-400:hover{color:var(--color-yellow-400)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-\[\#38bdac\]:focus{border-color:#38bdac}.focus\:bg-\[\#38bdac\]\/20:focus{background-color:#38bdac33}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#38bdac\]:focus{--tw-ring-color:#38bdac}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[\#38bdac\]:focus-visible{--tw-ring-color:#38bdac}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[\#0a1628\]:focus-visible{--tw-ring-offset-color:#0a1628}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=active\]\:bg-\[\#07C160\]\/20[data-state=active]{background-color:#07c16033}.data-\[state\=active\]\:bg-\[\#26A17B\]\/20[data-state=active]{background-color:#26a17b33}.data-\[state\=active\]\:bg-\[\#38bdac\]\/20[data-state=active]{background-color:#38bdac33}.data-\[state\=active\]\:bg-\[\#1677FF\]\/20[data-state=active]{background-color:#1677ff33}.data-\[state\=active\]\:bg-\[\#003087\]\/20[data-state=active]{background-color:#00308733}.data-\[state\=active\]\:font-medium[data-state=active]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[state\=active\]\:text-\[\#07C160\][data-state=active]{color:#07c160}.data-\[state\=active\]\:text-\[\#26A17B\][data-state=active]{color:#26a17b}.data-\[state\=active\]\:text-\[\#38bdac\][data-state=active]{color:#38bdac}.data-\[state\=active\]\:text-\[\#169BD7\][data-state=active]{color:#169bd7}.data-\[state\=active\]\:text-\[\#1677FF\][data-state=active]{color:#1677ff}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=checked\]\:bg-\[\#38bdac\][data-state=checked]{background-color:#38bdac}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-gray-600[data-state=unchecked]{background-color:var(--color-gray-600)}@media(min-width:40rem){.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:64rem){.lg\:block{display:block}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing)*0)}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}:root{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20% .02 240);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20% .02 240);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(65% .15 180);--primary-foreground:oklch(20% 0 0);--secondary:oklch(27% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27% 0 0);--muted-foreground:oklch(65% 0 0);--accent:oklch(27% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(55% .2 25);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(35% 0 0);--input:oklch(35% 0 0);--ring:oklch(65% .15 180);--radius:.625rem}body{font-family:var(--font-sans);color:var(--foreground);background:#0a1628}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}} diff --git a/soul-admin/dist/index.html b/soul-admin/dist/index.html index baab7226..90c074a0 100644 --- a/soul-admin/dist/index.html +++ b/soul-admin/dist/index.html @@ -4,8 +4,8 @@ 管理后台 - Soul创业派对 - - + +
diff --git a/开发文档/1、需求/修改/images/2026-03-08-16-14-58.png b/开发文档/1、需求/修改/images/2026-03-08-16-14-58.png new file mode 100644 index 0000000000000000000000000000000000000000..35f17fadd018aacbea963d0312f2ce27f4713b3d GIT binary patch literal 243243 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�F%RsB_k`= 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⁢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 F|37Q+3`+n2 literal 0 HcmV?d00001