wrong-notebook 2026.10.25-2 → 2026.10.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +3 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/routes-manifest.json +18 -0
  6. package/.next/server/app/_global-error/page.js +1 -1
  7. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/admin/page.js.nft.json +1 -1
  16. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/admin/user/[id]/page.js.nft.json +1 -1
  18. package/.next/server/app/admin/user/[id]/page_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/admin/dashboard/route.js +12 -11
  20. package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -1
  21. package/.next/server/app/api/admin/migrate-tags/route.js +1 -1
  22. package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -1
  23. package/.next/server/app/api/admin/system-reset/route.js +1 -1
  24. package/.next/server/app/api/admin/system-reset/route.js.nft.json +1 -1
  25. package/.next/server/app/api/admin/users/[id]/detail/route.js +12 -11
  26. package/.next/server/app/api/admin/users/[id]/detail/route.js.nft.json +1 -1
  27. package/.next/server/app/api/admin/users/[id]/route.js +1 -1
  28. package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/admin/users/route.js +1 -1
  30. package/.next/server/app/api/admin/users/route.js.nft.json +1 -1
  31. package/.next/server/app/api/ai/models/route.js +1 -1
  32. package/.next/server/app/api/ai/models/route.js.nft.json +1 -1
  33. package/.next/server/app/api/ai/test/route.js +9 -8
  34. package/.next/server/app/api/ai/test/route.js.nft.json +1 -1
  35. package/.next/server/app/api/analytics/route.js +1 -1
  36. package/.next/server/app/api/analytics/route.js.nft.json +1 -1
  37. package/.next/server/app/api/analyze/route.js +12 -11
  38. package/.next/server/app/api/analyze/route.js.nft.json +1 -1
  39. package/.next/server/app/api/auth/[...nextauth]/route.js +1 -1
  40. package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
  41. package/.next/server/app/api/error-items/[id]/delete/route.js +1 -1
  42. package/.next/server/app/api/error-items/[id]/delete/route.js.nft.json +1 -1
  43. package/.next/server/app/api/error-items/[id]/figure/route.js +13 -12
  44. package/.next/server/app/api/error-items/[id]/figure/route.js.nft.json +1 -1
  45. package/.next/server/app/api/error-items/[id]/fix-latex/route.js +14 -13
  46. package/.next/server/app/api/error-items/[id]/fix-latex/route.js.nft.json +1 -1
  47. package/.next/server/app/api/error-items/[id]/geogebra/route.js +11 -10
  48. package/.next/server/app/api/error-items/[id]/geogebra/route.js.nft.json +1 -1
  49. package/.next/server/app/api/error-items/[id]/image/route.js +1 -1
  50. package/.next/server/app/api/error-items/[id]/image/route.js.nft.json +1 -1
  51. package/.next/server/app/api/error-items/[id]/notes/route.js +1 -1
  52. package/.next/server/app/api/error-items/[id]/notes/route.js.nft.json +1 -1
  53. package/.next/server/app/api/error-items/[id]/practice-records/route.js +1 -1
  54. package/.next/server/app/api/error-items/[id]/practice-records/route.js.nft.json +1 -1
  55. package/.next/server/app/api/error-items/[id]/reanswer/route.js +13 -12
  56. package/.next/server/app/api/error-items/[id]/reanswer/route.js.nft.json +1 -1
  57. package/.next/server/app/api/error-items/[id]/retag/route.js +12 -11
  58. package/.next/server/app/api/error-items/[id]/retag/route.js.nft.json +1 -1
  59. package/.next/server/app/api/error-items/[id]/route.js +1 -1
  60. package/.next/server/app/api/error-items/[id]/route.js.nft.json +1 -1
  61. package/.next/server/app/api/error-items/[id]/svg-animation/route.js +13 -12
  62. package/.next/server/app/api/error-items/[id]/svg-animation/route.js.nft.json +1 -1
  63. package/.next/server/app/api/error-items/batch-delete/route.js +1 -1
  64. package/.next/server/app/api/error-items/batch-delete/route.js.nft.json +1 -1
  65. package/.next/server/app/api/error-items/clear/route.js +1 -1
  66. package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -1
  67. package/.next/server/app/api/error-items/list/route.js +1 -1
  68. package/.next/server/app/api/error-items/list/route.js.nft.json +1 -1
  69. package/.next/server/app/api/error-items/route.js +13 -12
  70. package/.next/server/app/api/error-items/route.js.nft.json +1 -1
  71. package/.next/server/app/api/error-items/short/[shortId]/route.js +1 -1
  72. package/.next/server/app/api/error-items/short/[shortId]/route.js.nft.json +1 -1
  73. package/.next/server/app/api/error-items/similarity/route.js +1 -1
  74. package/.next/server/app/api/error-items/similarity/route.js.nft.json +1 -1
  75. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js +12 -11
  76. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.nft.json +1 -1
  77. package/.next/server/app/api/exams/[id]/results/route.js +12 -11
  78. package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -1
  79. package/.next/server/app/api/exams/[id]/retry/route.js +11 -10
  80. package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -1
  81. package/.next/server/app/api/exams/[id]/route.js +11 -10
  82. package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -1
  83. package/.next/server/app/api/exams/route.js +11 -10
  84. package/.next/server/app/api/exams/route.js.nft.json +1 -1
  85. package/.next/server/app/api/export/route.js +1 -1
  86. package/.next/server/app/api/export/route.js.nft.json +1 -1
  87. package/.next/server/app/api/geogebra-analyze/route.js +12 -11
  88. package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -1
  89. package/.next/server/app/api/health/route.js +1 -1
  90. package/.next/server/app/api/health/route.js.nft.json +1 -1
  91. package/.next/server/app/api/import/route.js +11 -10
  92. package/.next/server/app/api/import/route.js.nft.json +1 -1
  93. package/.next/server/app/api/logs/frontend/route.js +1 -1
  94. package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -1
  95. package/.next/server/app/api/minimax-code/checkin/route/app-paths-manifest.json +3 -0
  96. package/.next/server/app/api/minimax-code/checkin/route/build-manifest.json +12 -0
  97. package/.next/server/app/api/minimax-code/checkin/route/server-reference-manifest.json +4 -0
  98. package/.next/server/app/api/minimax-code/checkin/route.js +14 -0
  99. package/.next/server/app/api/minimax-code/checkin/route.js.map +5 -0
  100. package/.next/server/app/api/minimax-code/checkin/route.js.nft.json +1 -0
  101. package/.next/server/app/api/minimax-code/checkin/route_client-reference-manifest.js +3 -0
  102. package/.next/server/app/api/minimax-code/login/route/app-paths-manifest.json +3 -0
  103. package/.next/server/app/api/minimax-code/login/route/build-manifest.json +12 -0
  104. package/.next/server/app/api/minimax-code/login/route/server-reference-manifest.json +4 -0
  105. package/.next/server/app/api/minimax-code/login/route.js +12 -0
  106. package/.next/server/app/api/minimax-code/login/route.js.map +5 -0
  107. package/.next/server/app/api/minimax-code/login/route.js.nft.json +1 -0
  108. package/.next/server/app/api/minimax-code/login/route_client-reference-manifest.js +3 -0
  109. package/.next/server/app/api/minimax-code/route/app-paths-manifest.json +3 -0
  110. package/.next/server/app/api/minimax-code/route/build-manifest.json +12 -0
  111. package/.next/server/app/api/minimax-code/route/server-reference-manifest.json +4 -0
  112. package/.next/server/app/api/minimax-code/route.js +14 -0
  113. package/.next/server/app/api/minimax-code/route.js.map +5 -0
  114. package/.next/server/app/api/minimax-code/route.js.nft.json +1 -0
  115. package/.next/server/app/api/minimax-code/route_client-reference-manifest.js +3 -0
  116. package/.next/server/app/api/notebooks/[id]/retag/route.js +11 -10
  117. package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -1
  118. package/.next/server/app/api/notebooks/[id]/route.js +1 -1
  119. package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -1
  120. package/.next/server/app/api/notebooks/route.js +1 -1
  121. package/.next/server/app/api/notebooks/route.js.nft.json +1 -1
  122. package/.next/server/app/api/openclaw/batch-upload/route.js +12 -11
  123. package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -1
  124. package/.next/server/app/api/practice/generate/route.js +11 -10
  125. package/.next/server/app/api/practice/generate/route.js.nft.json +1 -1
  126. package/.next/server/app/api/practice/grade/route.js +11 -10
  127. package/.next/server/app/api/practice/grade/route.js.nft.json +1 -1
  128. package/.next/server/app/api/practice/record/[id]/route.js +13 -12
  129. package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -1
  130. package/.next/server/app/api/practice/record/route.js +10 -9
  131. package/.next/server/app/api/practice/record/route.js.nft.json +1 -1
  132. package/.next/server/app/api/reanswer/route.js +11 -10
  133. package/.next/server/app/api/reanswer/route.js.nft.json +1 -1
  134. package/.next/server/app/api/register/route.js +1 -1
  135. package/.next/server/app/api/register/route.js.nft.json +1 -1
  136. package/.next/server/app/api/register/status/route.js +1 -1
  137. package/.next/server/app/api/register/status/route.js.nft.json +1 -1
  138. package/.next/server/app/api/review/due/route.js +1 -1
  139. package/.next/server/app/api/review/due/route.js.nft.json +1 -1
  140. package/.next/server/app/api/settings/route.js +6 -5
  141. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  142. package/.next/server/app/api/stats/practice/clear/route.js +1 -1
  143. package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -1
  144. package/.next/server/app/api/stats/practice/route.js +1 -1
  145. package/.next/server/app/api/stats/practice/route.js.nft.json +1 -1
  146. package/.next/server/app/api/tags/route.js +1 -1
  147. package/.next/server/app/api/tags/route.js.nft.json +1 -1
  148. package/.next/server/app/api/tags/stats/route.js +1 -1
  149. package/.next/server/app/api/tags/stats/route.js.nft.json +1 -1
  150. package/.next/server/app/api/tags/suggestions/route.js +1 -1
  151. package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -1
  152. package/.next/server/app/api/tasks/route.js +1 -1
  153. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  154. package/.next/server/app/api/user/route.js +1 -1
  155. package/.next/server/app/api/user/route.js.nft.json +1 -1
  156. package/.next/server/app/api/version/route.js +1 -1
  157. package/.next/server/app/api/version/route.js.nft.json +1 -1
  158. package/.next/server/app/error-items/[id]/page.js.nft.json +1 -1
  159. package/.next/server/app/error-items/[id]/page_client-reference-manifest.js +1 -1
  160. package/.next/server/app/exams/[id]/page.js.nft.json +1 -1
  161. package/.next/server/app/exams/[id]/page_client-reference-manifest.js +1 -1
  162. package/.next/server/app/exams/[id]/print/page.js.nft.json +1 -1
  163. package/.next/server/app/exams/[id]/print/page_client-reference-manifest.js +1 -1
  164. package/.next/server/app/exams/page.js.nft.json +1 -1
  165. package/.next/server/app/exams/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/favicon.ico/route.js +1 -1
  167. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  168. package/.next/server/app/login/page.js.nft.json +1 -1
  169. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  170. package/.next/server/app/manifest.webmanifest/route.js +1 -1
  171. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  172. package/.next/server/app/notebooks/[id]/add/page.js.nft.json +1 -1
  173. package/.next/server/app/notebooks/[id]/add/page_client-reference-manifest.js +1 -1
  174. package/.next/server/app/notebooks/[id]/page.js.nft.json +1 -1
  175. package/.next/server/app/notebooks/[id]/page_client-reference-manifest.js +1 -1
  176. package/.next/server/app/notebooks/page.js.nft.json +1 -1
  177. package/.next/server/app/notebooks/page_client-reference-manifest.js +1 -1
  178. package/.next/server/app/page.js.nft.json +1 -1
  179. package/.next/server/app/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/practice/page.js.nft.json +1 -1
  181. package/.next/server/app/practice/page_client-reference-manifest.js +1 -1
  182. package/.next/server/app/print-preview/page.js.nft.json +1 -1
  183. package/.next/server/app/print-preview/page_client-reference-manifest.js +1 -1
  184. package/.next/server/app/register/page.js.nft.json +1 -1
  185. package/.next/server/app/register/page_client-reference-manifest.js +1 -1
  186. package/.next/server/app/review/page.js.nft.json +1 -1
  187. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  188. package/.next/server/app/stats/page.js.nft.json +1 -1
  189. package/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  190. package/.next/server/app/tags/page.js.nft.json +1 -1
  191. package/.next/server/app/tags/page_client-reference-manifest.js +1 -1
  192. package/.next/server/app-paths-manifest.json +3 -0
  193. package/.next/server/chunks/{[externals]__1yyxisf-dquqj._.js → [externals]__1242krpdwt3fy._.js} +1 -1
  194. package/.next/server/chunks/{[externals]__0pot68n2q47fn._.js → [externals]__1pplcusjo3ok7._.js} +1 -1
  195. package/.next/server/chunks/[externals]__1zw_oy_-csyo1._.js +3 -0
  196. package/.next/server/chunks/{[root-of-the-server]__03_k40ubn0a9g._.js → [root-of-the-server]__0-12_rul4y06m._.js} +1 -1
  197. package/.next/server/chunks/{[root-of-the-server]__1dll9dp1pfrtj._.js → [root-of-the-server]__0-jhvuvprdrmu._.js} +2 -2
  198. package/.next/server/chunks/{[root-of-the-server]__00vnodiir_2d4._.js → [root-of-the-server]__0-lanxvfyc5w7._.js} +1 -1
  199. package/.next/server/chunks/{[root-of-the-server]__0rg4hkgdxbjou._.js → [root-of-the-server]__00rgirsp29kma._.js} +1 -1
  200. package/.next/server/chunks/{[root-of-the-server]__15eu8gun_s7xv._.js → [root-of-the-server]__023qntqk9nbma._.js} +2 -2
  201. package/.next/server/chunks/{[root-of-the-server]__18si67df5ho67._.js → [root-of-the-server]__035mztvplnh0_._.js} +2 -2
  202. package/.next/server/chunks/{[root-of-the-server]__0ry-pq8_6mc_0._.js → [root-of-the-server]__03nsgjsm70ted._.js} +2 -2
  203. package/.next/server/chunks/{[root-of-the-server]__1klj9kp10-bta._.js → [root-of-the-server]__03rln5n_21ad0._.js} +2 -2
  204. package/.next/server/chunks/{[root-of-the-server]__0-d9f8_x-uokl._.js → [root-of-the-server]__05-dvjb11wbvo._.js} +1 -1
  205. package/.next/server/chunks/{[root-of-the-server]__061dm-7_xqjef._.js → [root-of-the-server]__0ayraoa4xz-qt._.js} +2 -2
  206. package/.next/server/chunks/{[root-of-the-server]__04894g43fsy-j._.js → [root-of-the-server]__0b3ss-8ztcftu._.js} +1 -1
  207. package/.next/server/chunks/[root-of-the-server]__0dmllzem7rfag._.js +3 -0
  208. package/.next/server/chunks/[root-of-the-server]__0gx76tnihfcyv._.js +3 -0
  209. package/.next/server/chunks/{[root-of-the-server]__0an5a3hedd42o._.js → [root-of-the-server]__0h7igxq4ub38i._.js} +2 -2
  210. package/.next/server/chunks/{[root-of-the-server]__1i75c6j1-yn3y._.js → [root-of-the-server]__0icc6dvauvb15._.js} +2 -2
  211. package/.next/server/chunks/{[root-of-the-server]__1-g3tlhljmfsp._.js → [root-of-the-server]__0jb_3-yu-o6ms._.js} +2 -2
  212. package/.next/server/chunks/{[root-of-the-server]__1-hc0q3ck7id_._.js → [root-of-the-server]__0jjisfje72sqz._.js} +2 -2
  213. package/.next/server/chunks/[root-of-the-server]__0kskkg4ve55lv._.js +3 -0
  214. package/.next/server/chunks/[root-of-the-server]__0mbd9_76yhyaf._.js +3 -0
  215. package/.next/server/chunks/{[root-of-the-server]__1n8ih5ow23_12._.js → [root-of-the-server]__0my6t3vz24mmo._.js} +2 -2
  216. package/.next/server/chunks/{[root-of-the-server]__1k0zrfx1r08xk._.js → [root-of-the-server]__0nj600_104dqn._.js} +2 -2
  217. package/.next/server/chunks/[root-of-the-server]__0q4s9a9wy51vm._.js +3 -0
  218. package/.next/server/chunks/{[root-of-the-server]__18j9-n7s671bt._.js → [root-of-the-server]__0q_db5a74evdw._.js} +1 -1
  219. package/.next/server/chunks/{[root-of-the-server]__0_qgrtzrjahhc._.js → [root-of-the-server]__0qb8n1h-am-es._.js} +2 -2
  220. package/.next/server/chunks/{[root-of-the-server]__0yd-eoiuoru2o._.js → [root-of-the-server]__0rbh_oqaajxmo._.js} +2 -2
  221. package/.next/server/chunks/{[root-of-the-server]__1k_8n_p3i4my_._.js → [root-of-the-server]__0ssa-hz8b3v1i._.js} +1 -1
  222. package/.next/server/chunks/{[root-of-the-server]__123tftn1fdgwu._.js → [root-of-the-server]__0u2_q8y9hl1u-._.js} +2 -2
  223. package/.next/server/chunks/[root-of-the-server]__0uz7-ix0696nv._.js +3 -0
  224. package/.next/server/chunks/[root-of-the-server]__0v3k8_i3f2v13._.js +3 -0
  225. package/.next/server/chunks/[root-of-the-server]__0vu6_38lbzxar._.js +3 -0
  226. package/.next/server/chunks/[root-of-the-server]__0wcet8-wl-oad._.js +3 -0
  227. package/.next/server/chunks/{[root-of-the-server]__0hjv7gm7tjgzr._.js → [root-of-the-server]__0wmczeyrx2y7f._.js} +1 -1
  228. package/.next/server/chunks/{[root-of-the-server]__1q9wd_k6hcd5m._.js → [root-of-the-server]__0zb48en2m8yk0._.js} +3 -3
  229. package/.next/server/chunks/[root-of-the-server]__0zjg773epx4r_._.js +1 -1
  230. package/.next/server/chunks/{[root-of-the-server]__0p4dqz2jo4o3r._.js → [root-of-the-server]__0zr9l7lnr1i0l._.js} +2 -2
  231. package/.next/server/chunks/{[root-of-the-server]__0k0-mj3lzqicn._.js → [root-of-the-server]__1-302_px1h0qz._.js} +2 -2
  232. package/.next/server/chunks/[root-of-the-server]__1-9hu4j35d9ao._.js +3 -0
  233. package/.next/server/chunks/{[root-of-the-server]__00atddp_h2wsm._.js → [root-of-the-server]__12tt2pf5nuueu._.js} +2 -2
  234. package/.next/server/chunks/[root-of-the-server]__13z5coff9j0sa._.js +3 -0
  235. package/.next/server/chunks/[root-of-the-server]__14n5uude1fj4h._.js +3 -0
  236. package/.next/server/chunks/{[root-of-the-server]__1e_3xwt459gzy._.js → [root-of-the-server]__16c0c0-pt6gz4._.js} +1 -1
  237. package/.next/server/chunks/[root-of-the-server]__17pktht8hd051._.js +3 -0
  238. package/.next/server/chunks/[root-of-the-server]__18lmdddgrhac8._.js +3 -0
  239. package/.next/server/chunks/{[root-of-the-server]__1unmu-s-yg7fk._.js → [root-of-the-server]__199tod2f3vhny._.js} +2 -2
  240. package/.next/server/chunks/[root-of-the-server]__1a1fr6o2wf7qx._.js +3 -0
  241. package/.next/server/chunks/{[root-of-the-server]__0l7y2xk1m7h84._.js → [root-of-the-server]__1ar95f9mysi15._.js} +1 -1
  242. package/.next/server/chunks/[root-of-the-server]__1bep0vcwbtlfu._.js +3 -0
  243. package/.next/server/chunks/[root-of-the-server]__1esyxu40fpnyx._.js +3 -0
  244. package/.next/server/chunks/[root-of-the-server]__1fc23i58z_ao2._.js +1 -1
  245. package/.next/server/chunks/{[root-of-the-server]__15vjk2wddz8hx._.js → [root-of-the-server]__1g2qwf_mnzqly._.js} +2 -2
  246. package/.next/server/chunks/{[root-of-the-server]__20khcxfcwy16p._.js → [root-of-the-server]__1gg8lq2q9gzg2._.js} +3 -3
  247. package/.next/server/chunks/{[root-of-the-server]__1wfua4wupbgjj._.js → [root-of-the-server]__1imiyrtb6t6zp._.js} +2 -2
  248. package/.next/server/chunks/[root-of-the-server]__1iux__qytdtm5._.js +3 -0
  249. package/.next/server/chunks/[root-of-the-server]__1jhz19cuxjpmb._.js +3 -0
  250. package/.next/server/chunks/[root-of-the-server]__1jthkkelxfeb0._.js +3 -0
  251. package/.next/server/chunks/[root-of-the-server]__1k7cmt02s_syx._.js +3 -0
  252. package/.next/server/chunks/[root-of-the-server]__1kvcjw9quzr0w._.js +3 -0
  253. package/.next/server/chunks/[root-of-the-server]__1nsrbw9jntgo8._.js +3 -0
  254. package/.next/server/chunks/[root-of-the-server]__1p08ff3pxle05._.js +3 -0
  255. package/.next/server/chunks/{[root-of-the-server]__1vgkjjilvagrv._.js → [root-of-the-server]__1pulvd2ac2agx._.js} +1 -1
  256. package/.next/server/chunks/[root-of-the-server]__1rfqipe89aq-u._.js +3 -0
  257. package/.next/server/chunks/[root-of-the-server]__1uscfmw0q-en5._.js +3 -0
  258. package/.next/server/chunks/{[root-of-the-server]__15g3fbcq719hq._.js → [root-of-the-server]__1ya630gfyks-f._.js} +2 -2
  259. package/.next/server/chunks/[root-of-the-server]__1yslrvk_y61kt._.js +3 -0
  260. package/.next/server/chunks/[root-of-the-server]__1zyka21s1ahtj._.js +1 -1
  261. package/.next/server/chunks/{[root-of-the-server]__1jvkc3eu49g96._.js → [root-of-the-server]__20i0-g_8_okaf._.js} +2 -2
  262. package/.next/server/chunks/[root-of-the-server]__20sulb1y6n1b8._.js +3 -0
  263. package/.next/server/chunks/_076-jjzrfdsdk._.js +3 -0
  264. package/.next/server/chunks/_0geyrqrvyak26._.js +1 -1
  265. package/.next/server/chunks/_0kkvpy2s_y3-n._.js +1 -1
  266. package/.next/server/chunks/_0lob14xk0ko5z._.js +3 -0
  267. package/.next/server/chunks/_0ne4rbj35w-io._.js +1 -1
  268. package/.next/server/chunks/_0qsjdkq-39qbo._.js +1 -1
  269. package/.next/server/chunks/_13ffmxv8qrwi0._.js +1 -1
  270. package/.next/server/chunks/_1hp9mnz19v199._.js +3 -0
  271. package/.next/server/chunks/_1lrt8e26anbnm._.js +1 -1
  272. package/.next/server/chunks/_1pvqo-qnv-nqm._.js +1 -1
  273. package/.next/server/chunks/_next-internal_server_app_api_minimax-code_checkin_route_actions_0wqvstxphnn7t.js +3 -0
  274. package/.next/server/chunks/_next-internal_server_app_api_minimax-code_login_route_actions_0z7k0201hg8nt.js +3 -0
  275. package/.next/server/chunks/_next-internal_server_app_api_minimax-code_route_actions_0isqzusy30klb.js +3 -0
  276. package/.next/server/chunks/src_03_og0nynnyx2._.js +3 -0
  277. package/.next/server/chunks/src_lib_05svhzm9a162-._.js +1 -1
  278. package/.next/server/chunks/src_lib_logger_ts_1a0ve505bb0y2._.js +3 -0
  279. package/.next/server/chunks/src_lib_minimax-code_auth_ts_0-i5sxuori1um._.js +3 -0
  280. package/.next/server/chunks/src_lib_minimax-code_checkin_ts_1j1mpuxc1vgoz._.js +3 -0
  281. package/.next/server/chunks/ssr/{[root-of-the-server]__070lhtl_a6l81._.js → [root-of-the-server]__1vkia8gjeangv._.js} +1 -1
  282. package/.next/server/chunks/ssr/_00np6xqvkg6u-._.js +1 -1
  283. package/.next/server/chunks/ssr/src_1gayunqs8u2e2._.js +1 -1
  284. package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv3nb6xs._.js +10 -10
  285. package/.next/server/instrumentation.js +1 -1
  286. package/.next/server/middleware-build-manifest.js +3 -3
  287. package/.next/server/middleware-manifest.json +5 -5
  288. package/.next/server/pages/500.html +1 -1
  289. package/.next/server/preview-props.json +3 -3
  290. package/.next/server/server-reference-manifest.js +1 -1
  291. package/.next/server/server-reference-manifest.json +1 -1
  292. package/.next/static/chunks/1nimjc5xqpgag.js +191 -0
  293. package/.next/static/chunks/1v_ioerabkr4s.js +1 -0
  294. package/.next/static/chunks/43gsd2ww2f2iy.css +3 -0
  295. package/package.json +1 -1
  296. package/prisma/seed.db +0 -0
  297. package/.next/server/chunks/[root-of-the-server]__076sanerpxzzq._.js +0 -3
  298. package/.next/server/chunks/[root-of-the-server]__08ftj1z8v5lqc._.js +0 -3
  299. package/.next/server/chunks/[root-of-the-server]__09-twlny39tdc._.js +0 -3
  300. package/.next/server/chunks/[root-of-the-server]__09mpwfp41rtdc._.js +0 -3
  301. package/.next/server/chunks/[root-of-the-server]__0dql4kl3n1jq6._.js +0 -3
  302. package/.next/server/chunks/[root-of-the-server]__0fyho53bjgbss._.js +0 -3
  303. package/.next/server/chunks/[root-of-the-server]__0hgoyp7m26_hk._.js +0 -3
  304. package/.next/server/chunks/[root-of-the-server]__0j-pkzf61aot8._.js +0 -3
  305. package/.next/server/chunks/[root-of-the-server]__0swyn0_rzg_pb._.js +0 -3
  306. package/.next/server/chunks/[root-of-the-server]__0tua5u4r1xt_r._.js +0 -3
  307. package/.next/server/chunks/[root-of-the-server]__0vtzo5ex73ywq._.js +0 -3
  308. package/.next/server/chunks/[root-of-the-server]__1-2dj_mbdiqvl._.js +0 -3
  309. package/.next/server/chunks/[root-of-the-server]__1-ti76u3720cd._.js +0 -3
  310. package/.next/server/chunks/[root-of-the-server]__10-um36nto0ht._.js +0 -3
  311. package/.next/server/chunks/[root-of-the-server]__10jwy1-wzrjon._.js +0 -3
  312. package/.next/server/chunks/[root-of-the-server]__12czp5_up_ywb._.js +0 -3
  313. package/.next/server/chunks/[root-of-the-server]__1bqziovn_k5u5._.js +0 -3
  314. package/.next/server/chunks/[root-of-the-server]__1cbj5r83fs2up._.js +0 -3
  315. package/.next/server/chunks/[root-of-the-server]__1d25c4t27ht5c._.js +0 -3
  316. package/.next/server/chunks/[root-of-the-server]__1dxa-5wqgxi3y._.js +0 -3
  317. package/.next/server/chunks/[root-of-the-server]__1i0nyuimhqkda._.js +0 -3
  318. package/.next/server/chunks/[root-of-the-server]__1wpzmu_3tg_74._.js +0 -3
  319. package/.next/server/chunks/[root-of-the-server]__1ztojnklvdebx._.js +0 -3
  320. package/.next/server/chunks/[root-of-the-server]__1zzfvs1z1_tig._.js +0 -3
  321. package/.next/server/chunks/src_0tzpy5j8n_1bx._.js +0 -3
  322. package/.next/static/chunks/00kfvk-buhhsb.js +0 -191
  323. package/.next/static/chunks/0_9gv911-tqmk.css +0 -3
  324. package/.next/static/chunks/2wk_a0jmwmybn.js +0 -1
  325. /package/.next/static/{ZH3ew12HOzoE3JRl8c_8L → 5uNP139l0DCSagwPDMOvD}/_buildManifest.js +0 -0
  326. /package/.next/static/{ZH3ew12HOzoE3JRl8c_8L → 5uNP139l0DCSagwPDMOvD}/_clientMiddlewareManifest.js +0 -0
  327. /package/.next/static/{ZH3ew12HOzoE3JRl8c_8L → 5uNP139l0DCSagwPDMOvD}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/093w4w_19h9qh.js"/><script src="/_next/static/chunks/242x7dx0zu3hf.js" async=""></script><script src="/_next/static/chunks/0ykhi6pk49so-.js" async=""></script><script src="/_next/static/chunks/3mb_v650fie_i.js" async=""></script><script src="/_next/static/chunks/turbopack-2c3mg3r-05n1w.js" async=""></script><script src="/_next/static/chunks/0a-rekt06v0sv.js" async=""></script><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/093w4w_19h9qh.js","static/chunks/242x7dx0zu3hf.js","static/chunks/0ykhi6pk49so-.js","static/chunks/3mb_v650fie_i.js"],"runtimeModuleIds":[494553]});</script><script src="/_next/static/chunks/093w4w_19h9qh.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/0a-rekt06v0sv.js\"\n3:I[339756,[\"$2\"],\"default\"]\n4:I[837457,[\"$2\"],\"default\"]\n7:I[897367,[\"$2\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[897367,[\"$2\"],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[897367,[\"$2\"],\"$d\"]\n10:I[168027,[\"$2\"],\"default\",1]\n5:X\n6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$5\"},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ZH3ew12HOzoE3JRl8c_8L\"}\n5:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n11:I[27201,[\"$2\"],\"IconMark\"]\n9:null\nf:[[\"$\",\"link\",\"0\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L11\",\"2\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/093w4w_19h9qh.js"/><script src="/_next/static/chunks/242x7dx0zu3hf.js" async=""></script><script src="/_next/static/chunks/0ykhi6pk49so-.js" async=""></script><script src="/_next/static/chunks/3mb_v650fie_i.js" async=""></script><script src="/_next/static/chunks/turbopack-2c3mg3r-05n1w.js" async=""></script><script src="/_next/static/chunks/0a-rekt06v0sv.js" async=""></script><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script id="_R_">(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push({"otherChunks":["static/chunks/093w4w_19h9qh.js","static/chunks/242x7dx0zu3hf.js","static/chunks/0ykhi6pk49so-.js","static/chunks/3mb_v650fie_i.js"],"runtimeModuleIds":[494553]});</script><script src="/_next/static/chunks/093w4w_19h9qh.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"/_next/static/chunks/0a-rekt06v0sv.js\"\n3:I[339756,[\"$2\"],\"default\"]\n4:I[837457,[\"$2\"],\"default\"]\n7:I[897367,[\"$2\"],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\na:\"ViewportBoundary\"\nb:I[897367,[\"$2\"],\"$a\"]\nd:\"MetadataBoundary\"\ne:I[897367,[\"$2\"],\"$d\"]\n10:I[168027,[\"$2\"],\"default\",1]\n5:X\n6:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],\"p\":false,\"v\":null}}]]\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$5\"},\"c\":\"$Q6\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"$Le\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lf\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"5uNP139l0DCSagwPDMOvD\"}\n5:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n11:I[27201,[\"$2\"],\"IconMark\"]\n9:null\nf:[[\"$\",\"link\",\"0\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L11\",\"2\",{}]]\n"])</script></body></html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "previewModeId": "eeace75d2dbe6a548b19ef2c1e2edc29",
3
- "previewModeSigningKey": "f1accebdf9ac5f9b5a1d82bbc95e90ffa61c4f9adc1f939daf96b253b891f3cc",
4
- "previewModeEncryptionKey": "5c9ec93e80a37e2eed42ff35e41f5ece3002b5de9c9e46003e6a5b50071e8c08"
2
+ "previewModeId": "79fb983317562e6e57746100cf56c431",
3
+ "previewModeSigningKey": "539dded85522da59b0939a3c8035d63b7e77b8eedb50892712f0c11d6037a728",
4
+ "previewModeEncryptionKey": "5fa9db3fde8c8693795703bc54317ebdb1568db705f8fe9386608d2c5ad0280a"
5
5
  }
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"LZsm0CLj2k0e9DZIlL/xkU1++EvMUpvPLUB63bN8MiQ=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"+OsLY7pumyY5Z5lz22+Sq0Ve+RcWu6z5RzLNCuyHUzc=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "LZsm0CLj2k0e9DZIlL/xkU1++EvMUpvPLUB63bN8MiQ="
4
+ "encryptionKey": "+OsLY7pumyY5Z5lz22+Sq0Ve+RcWu6z5RzLNCuyHUzc="
5
5
  }
@@ -0,0 +1,191 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,1661,e=>{"use strict";var s=e.i(843476),t=e.i(111110),a=e.i(217255),i=e.i(215519),r=e.i(325164),n=e.i(522016),l=e.i(618566),c=e.i(217923),o=e.i(810980),d=e.i(551804),m=e.i(178583),u=e.i(475254);let x=(0,u.f)("log-out",[["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"}]]),h=(0,u.f)("circle-plus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),p=(0,u.f)("shield",[["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"}]]),f=(0,u.f)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]]);var g=e.i(271645);let j=(0,u.f)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),v=(0,u.f)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),y=(0,u.f)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var b=e.i(763639),N=e.i(531278);let w=(0,u.f)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]),k=(0,u.f)("settings",[["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"}]]);var S=e.i(284614),C=e.i(519455),M=e.i(776639),A=e.i(677572),T=e.i(306831),E=e.i(487486),I=e.i(981140),P=e.i(820783),z=e.i(30030),U=e.i(369340),R=e.i(635804),_=e.i(248425),D=Object.defineProperty,F=(e,s)=>D(e,"name",{value:s,configurable:!0}),L="Switch",[K,$]=(0,z.f)(L),[O,q]=K(L);function V(e){let{__scopeSwitch:t,checked:a,children:i,defaultChecked:r,disabled:n,form:l,name:c,onCheckedChange:o,required:d,value:m="on",internal_do_not_use_render:u}=e,[x,h]=(0,U.f)({prop:a,defaultProp:r??!1,onChange:o,caller:L}),[p,f]=g.useState(null),[j,v]=g.useState(null),[y,b]=g.useState(null),N=!p||!!l||!!p.closest("form"),w={checked:x,setChecked:h,disabled:n,control:p,setControl:f,name:c,form:l,value:m,userClick:y,onUserClick:b,required:d,defaultChecked:r,isFormControl:N,bubbleInput:j,setBubbleInput:v};return(0,s.jsx)(O,{scope:t,...w,children:Z(u)?u(w):i})}F(V,"SwitchProvider");var H=g.forwardRef(F(function({__scopeSwitch:e,onClick:t,...a},i){let{control:r,form:n,value:l,disabled:c,checked:o,required:d,setControl:m,setChecked:u,onUserClick:x,isFormControl:h,bubbleInput:p}=q("SwitchTrigger",e),f=(0,P.f)(i,m),j=g.useRef(o);return g.useEffect(()=>{let e=n?r?.ownerDocument.getElementById(n):r?.form;if(e instanceof HTMLFormElement){let s=F(()=>u(j.current),"reset");return e.addEventListener("reset",s),()=>e.removeEventListener("reset",s)}},[r,n,u]),(0,s.jsx)(_.V.button,{type:"button",role:"switch","aria-checked":o,"aria-required":d,"data-state":W(o),"data-disabled":c?"":void 0,disabled:c,value:l,...a,ref:f,onClick:(0,I.f)(t,e=>{let s=e.isPropagationStopped();x({requestedChecked:!o,hasConsumerStoppedPropagation:s}),u(e=>!e),p&&h&&!s&&e.stopPropagation()})})},"SwitchTrigger")),B=g.forwardRef(F(function(e,t){let{__scopeSwitch:a,name:i,checked:r,defaultChecked:n,required:l,disabled:c,value:o,onCheckedChange:d,form:m,...u}=e;return(0,s.jsx)(V,{__scopeSwitch:a,checked:r,defaultChecked:n,disabled:c,required:l,onCheckedChange:d,name:i,form:m,value:o,internal_do_not_use_render:({isFormControl:e})=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(H,{...u,ref:t,__scopeSwitch:a}),e&&(0,s.jsx)(G,{__scopeSwitch:a})]})})},"Switch")),Y=g.forwardRef(F(function(e,t){let{__scopeSwitch:a,...i}=e,r=q("SwitchThumb",a);return(0,s.jsx)(_.V.span,{"data-state":W(r.checked),"data-disabled":r.disabled?"":void 0,...i,ref:t})},"SwitchThumb")),G=g.forwardRef(F(function({__scopeSwitch:e,onClick:t,...a},i){let{control:r,userClick:n,checked:l,defaultChecked:c,required:o,disabled:d,name:m,value:u,form:x,bubbleInput:h,setBubbleInput:p}=q("SwitchBubbleInput",e),f=(0,P.f)(i,p),j=(0,R.f)(r),v=g.useRef(!1),y=g.useRef(l),b=g.useRef(n),N=g.useRef(null);g.useEffect(()=>{if(!h)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(!e)return;let s=y.current!==l;y.current=l;let t=null!==n&&n!==b.current;if(b.current=n,t)N.current=s?null:n,s&&e.call(h,l),h.dispatchEvent(new Event("click",{bubbles:!n.hasConsumerStoppedPropagation}));else if(s){let s=N.current;N.current=null;let t=s?.requestedChecked===l;v.current=!0,e.call(h,l),h.dispatchEvent(new Event("click",{bubbles:!(t&&s.hasConsumerStoppedPropagation)})),v.current=!1}},[h,l,n]);let w=g.useRef(l);return(0,s.jsx)(_.V.input,{type:"checkbox","aria-hidden":!0,defaultChecked:c??w.current,required:o,disabled:d,name:m,value:u,form:x,...a,tabIndex:-1,ref:f,onClick:(0,I.f)(t,e=>{v.current&&e.stopPropagation()}),style:{...a.style,...j,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"SwitchBubbleInput"));function Z(e){return"function"==typeof e}function W(e){return e?"checked":"unchecked"}F(Z,"isFunction"),F(W,"getState");var X=e.i(975157);let J=g.forwardRef(({className:e,...t},a)=>(0,s.jsx)(B,{className:(0,X.f)("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-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:a,children:(0,s.jsx)(Y,{className:(0,X.f)("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));J.displayName=B.displayName;var Q=e.i(793479),ee=e.i(110204);let es=g.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{className:"relative w-full overflow-auto",children:(0,s.jsx)("table",{ref:a,className:(0,X.f)("w-full caption-bottom text-sm",e),...t})}));es.displayName="Table";let et=g.forwardRef(({className:e,...t},a)=>(0,s.jsx)("thead",{ref:a,className:(0,X.f)("[&_tr]:border-b",e),...t}));et.displayName="TableHeader";let ea=g.forwardRef(({className:e,...t},a)=>(0,s.jsx)("tbody",{ref:a,className:(0,X.f)("[&_tr:last-child]:border-0",e),...t}));ea.displayName="TableBody",(g.forwardRef(({className:e,...t},a)=>(0,s.jsx)("tfoot",{ref:a,className:(0,X.f)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}))).displayName="TableFooter";let ei=g.forwardRef(({className:e,...t},a)=>(0,s.jsx)("tr",{ref:a,className:(0,X.f)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));ei.displayName="TableRow";let er=g.forwardRef(({className:e,...t},a)=>(0,s.jsx)("th",{ref:a,className:(0,X.f)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));er.displayName="TableHead";let en=g.forwardRef(({className:e,...t},a)=>(0,s.jsx)("td",{ref:a,className:(0,X.f)("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));en.displayName="TableCell",(g.forwardRef(({className:e,...t},a)=>(0,s.jsx)("caption",{ref:a,className:(0,X.f)("mt-4 text-sm text-muted-foreground",e),...t}))).displayName="TableCaption";var el=e.i(727612);let ec=(0,u.f)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var eo=e.i(269638),ed=e.i(41931),em=e.i(294114),eu=e.i(201276),ex=e.i(303163);function eh(){let{timeZone:e}=(0,i.M)(),{data:r}=(0,a.useSession)(),{t:n}=(0,t.b)(),[l,c]=(0,g.useState)([]),[o,d]=(0,g.useState)(!0),[m,u]=(0,g.useState)(!1),[x,h]=(0,g.useState)(!1),[p,f]=(0,g.useState)("0"),[j,v]=(0,g.useState)(!1),y=(0,g.useCallback)(async()=>{d(!0);try{let e=await ed.f.get("/api/admin/users");c(e)}catch(e){eu.f.error("[UserManagement]","Failed to fetch users",{error:e})}finally{d(!1)}},[]),b=(0,g.useCallback)(async()=>{try{let e=await ed.f.get("/api/settings");u(!0===e.allowRegistration),f(String(e.aiDailyLimit??0))}catch(e){eu.f.error("[UserManagement]","Failed to fetch config",{error:e})}},[]);(0,g.useEffect)(()=>{y(),b()},[y,b]);let w=async e=>{h(!0);try{await ed.f.post("/api/settings",{allowRegistration:e}),u(e)}catch(e){eu.f.error("[UserManagement]","Failed to update registration setting",{error:e}),em.c.error(n.common.error)}finally{h(!1)}},k=Number(p),S=""!==p.trim()&&Number.isInteger(k)&&k>=0,M=async()=>{if(S){v(!0);try{await ed.f.post("/api/settings",{aiDailyLimit:k}),em.c.success(n.admin.aiDailyLimitSaved)}catch(e){eu.f.error("[UserManagement]","Failed to update AI daily limit",{error:e}),em.c.error(n.common.error)}finally{v(!1)}}},A=async e=>{let s=e.isActive?n.admin.confirmDisable:n.admin.confirmEnable;if(await (0,em.u)(s))try{await ed.f.patch(`/api/admin/users/${e.id}`,{isActive:!e.isActive}),y()}catch(e){eu.f.error("[UserManagement]","Failed to update user status",{error:e}),em.c.error(n.common.error)}},I=async e=>{if(await (0,em.u)(n.admin.confirmDelete,{destructive:!0}))try{await ed.f.delete(`/api/admin/users/${e.id}`),y()}catch(s){eu.f.error("[UserManagement]","Failed to delete user",{error:s});let e=(0,ex.d)(s)||n.common.error;em.c.error(e)}};return o?(0,s.jsx)("div",{className:"flex justify-center py-8",children:(0,s.jsx)(N.f,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between p-4 border rounded-lg bg-muted/30",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(ee.f,{className:"text-base",children:n.admin?.allowRegistration||"Allow New Registrations"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:n.admin?.allowRegistrationDesc||"When disabled, new users cannot register"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[x&&(0,s.jsx)(N.f,{className:"h-4 w-4 animate-spin"}),(0,s.jsx)(J,{checked:m,onCheckedChange:w,disabled:x})]})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-3 p-4 border rounded-lg bg-muted/30 sm:flex-row sm:items-center sm:justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(ee.f,{htmlFor:"ai-daily-limit",className:"text-base",children:n.admin.aiDailyLimit}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:n.admin.aiDailyLimitDesc})]}),(0,s.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,s.jsx)(Q.f,{id:"ai-daily-limit",type:"number",min:0,step:1,inputMode:"numeric",value:p,onChange:e=>f(e.target.value),"aria-invalid":!S,className:"w-24"}),(0,s.jsxs)(C.f,{size:"sm",onClick:M,disabled:j||!S,children:[j&&(0,s.jsx)(N.f,{className:"mr-2 h-4 w-4 animate-spin"}),n.common.save]})]})]}),(0,s.jsx)("div",{className:"sm:hidden space-y-3",children:l.map(t=>(0,s.jsxs)("div",{className:"border rounded-lg p-4 bg-card space-y-3",children:[(0,s.jsxs)("div",{className:"flex justify-between items-start",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium",children:t.name||"N/A"}),(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:t.email})]}),(0,s.jsx)(E.f,{variant:"admin"===t.role?"default":"secondary",children:"admin"===t.role?n.admin.admin:n.admin.user})]}),(0,s.jsxs)("div",{className:"flex justify-between text-sm",children:[(0,s.jsxs)("div",{className:"text-muted-foreground",children:[n.admin.errors,": ",t._count.errorItems," | ",n.admin.practiceCount,": ",t._count.practiceRecords," | ",n.admin.aiUsageToday,": ",t.aiUsageToday]}),(0,s.jsx)(E.f,{variant:t.isActive?"default":"destructive",className:"text-xs",children:t.isActive?n.admin.active:n.admin.disabled})]}),(0,s.jsxs)("div",{className:"flex justify-between items-center pt-2 border-t",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,T.r)(t.createdAt,"yyyy-MM-dd",e)}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(C.f,{variant:"ghost",size:"sm",onClick:()=>A(t),disabled:t.id===r?.user?.id,children:t.isActive?(0,s.jsx)(ec,{className:"h-4 w-4 text-orange-500"}):(0,s.jsx)(eo.f,{className:"h-4 w-4 text-green-500"})}),(0,s.jsx)(C.f,{variant:"ghost",size:"sm",onClick:()=>I(t),disabled:t.id===r?.user?.id,children:(0,s.jsx)(el.f,{className:"h-4 w-4 text-destructive"})})]})]})]},t.id))}),(0,s.jsx)("div",{className:"hidden sm:block border rounded-lg overflow-hidden",children:(0,s.jsxs)(es,{children:[(0,s.jsx)(et,{children:(0,s.jsxs)(ei,{children:[(0,s.jsx)(er,{children:n.admin.nameEmail}),(0,s.jsx)(er,{children:n.admin.role}),(0,s.jsx)(er,{children:n.admin.stats}),(0,s.jsx)(er,{children:n.admin.createdAt}),(0,s.jsx)(er,{children:n.admin.status}),(0,s.jsx)(er,{className:"text-right",children:n.admin.actions})]})}),(0,s.jsx)(ea,{children:l.map(t=>(0,s.jsxs)(ei,{children:[(0,s.jsxs)(en,{children:[(0,s.jsx)("div",{className:"font-medium",children:t.name||"N/A"}),(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:t.email})]}),(0,s.jsx)(en,{children:(0,s.jsx)(E.f,{variant:"admin"===t.role?"default":"secondary",children:"admin"===t.role?n.admin.admin:n.admin.user})}),(0,s.jsxs)(en,{children:[(0,s.jsxs)("div",{className:"text-sm",children:[n.admin.errors,": ",t._count.errorItems]}),(0,s.jsxs)("div",{className:"text-sm",children:[n.admin.practiceCount,": ",t._count.practiceRecords]}),(0,s.jsxs)("div",{className:"text-sm",children:[n.admin.aiUsageToday,": ",t.aiUsageToday]})]}),(0,s.jsx)(en,{children:(0,T.r)(t.createdAt,"yyyy-MM-dd",e)}),(0,s.jsx)(en,{children:(0,s.jsx)(E.f,{variant:t.isActive?"default":"destructive",children:t.isActive?n.admin.active:n.admin.disabled})}),(0,s.jsxs)(en,{className:"text-right space-x-2",children:[(0,s.jsx)(C.f,{variant:"ghost",size:"sm",onClick:()=>A(t),disabled:t.id===r?.user?.id,title:t.isActive?n.admin.disable:n.admin.enable,children:t.isActive?(0,s.jsx)(ec,{className:"h-4 w-4 text-orange-500"}):(0,s.jsx)(eo.f,{className:"h-4 w-4 text-green-500"})}),(0,s.jsx)(C.f,{variant:"ghost",size:"sm",onClick:()=>I(t),disabled:t.id===r?.user?.id,title:n.admin.delete,children:(0,s.jsx)(el.f,{className:"h-4 w-4 text-destructive"})})]})]},t.id))})]})})]})}let ep=(0,u.f)("external-link",[["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"}]]),ef=(0,u.f)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]),eg=(0,u.f)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),ej=(0,u.f)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);function ev(){return window.WrongNotebookAndroid??null}let ey=()=>()=>void 0;function eb(){let{t:e}=(0,t.b)(),a=(0,g.useSyncExternalStore)(ey,ev,()=>null);return a?a.isStandalone?.()?(0,s.jsx)("p",{className:"text-center text-sm text-muted-foreground",children:e.settings?.about?.androidStandalone||"Running on this device. Data is stored only on this device."}):(0,s.jsxs)("div",{className:"flex flex-col items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsxs)("span",{className:"break-all",children:[e.settings?.about?.androidServer||"Server",": ",a.getServerUrl()]}),(0,s.jsxs)(C.f,{variant:"outline",className:"gap-2",onClick:()=>a.changeServer(),children:[(0,s.jsx)(ej,{className:"h-4 w-4"}),e.settings?.about?.changeServer||"Change server"]})]}):null}let eN="https://github.com/margrop/wrong-notebook";function ew(){let{t:e}=(0,t.b)(),[a,i]=(0,g.useState)("");(0,g.useEffect)(()=>{fetch("/api/version").then(e=>e.json()).then(e=>i(e.version)).catch(()=>{})},[]);let r=[{href:eN,icon:ef,label:e.settings?.about?.github||"GitHub Repository"},{href:`${eN}/releases`,icon:eg,label:e.settings?.about?.releaseNotes||"Release Notes"},{href:`${eN}/issues`,icon:w,label:e.settings?.about?.feedback||"Feedback"}];return(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-6 py-8 text-center bg-muted/30 rounded-lg border",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("h3",{className:"text-2xl font-bold",children:e.app?.title||"Smart Error Notebook"}),(0,s.jsx)("p",{className:"text-muted-foreground",children:e.settings?.about?.desc||"AI-powered learning assistant"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2 text-sm text-muted-foreground border px-4 py-2 rounded-full bg-background",children:[(0,s.jsx)(y,{className:"h-4 w-4"}),(0,s.jsxs)("span",{children:[e.settings?.about?.version||"Version",": v",a||"unknown"]})]}),(0,s.jsx)(eb,{}),(0,s.jsx)("div",{className:"flex flex-col sm:flex-row flex-wrap justify-center gap-4 w-full sm:w-auto px-4 sm:px-0",children:r.map(({href:e,icon:t,label:a})=>(0,s.jsx)(C.f,{variant:"outline",asChild:!0,className:"gap-2 w-full sm:w-auto",children:(0,s.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:[(0,s.jsx)(t,{className:"h-4 w-4"}),a,(0,s.jsx)(ep,{className:"h-3 w-3 ml-1 opacity-50"})]})},e))}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-8",children:e.settings?.about?.copyright||"© 2026 margrop · Based on wttwins/wrong-notebook · MIT License"})]})}var ek=e.i(286536),eS=e.i(77705);function eC({className:e,...a}){let{t:i}=(0,t.b)(),[r,n]=(0,g.useState)(!1);return(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(Q.f,{type:r?"text":"password",className:(0,X.f)("pr-10",e),...a}),(0,s.jsx)(C.f,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>n(!r),"aria-label":r?i.common.hidePassword:i.common.showPassword,tabIndex:-1,children:r?(0,s.jsx)(eS.f,{className:"h-4 w-4 text-muted-foreground"}):(0,s.jsx)(ek.f,{className:"h-4 w-4 text-muted-foreground"})})]})}var eM=e.i(967489);let eA={name:"",email:"",educationStage:"",enrollmentYear:"",password:""};function eT(){let{t:e}=(0,t.b)(),[a,i]=(0,g.useState)(eA),[r,n]=(0,g.useState)(""),[l,c]=(0,g.useState)(!0),[o,d]=(0,g.useState)(!1),m=(0,g.useCallback)(async()=>{try{let e=await ed.f.get("/api/user");i({name:e.name||"",email:e.email||"",educationStage:e.educationStage||"",enrollmentYear:e.enrollmentYear||"",password:""})}catch(e){eu.f.error("[AccountSettings]","Failed to fetch profile",{error:e})}finally{c(!1)}},[]);(0,g.useEffect)(()=>{m()},[m]);let u=async()=>{if(a.password&&a.password!==r)return void em.c.error(e.settings?.messages?.passwordMismatch||"Passwords do not match");d(!0);try{let s={name:a.name,email:a.email,educationStage:a.educationStage};a.enrollmentYear&&(s.enrollmentYear=parseInt(a.enrollmentYear.toString())),a.password&&(s.password=a.password),await ed.f.patch("/api/user",s),em.c.success(e.settings?.messages?.profileUpdated||"Profile updated"),i(e=>({...e,password:""})),n(""),window.location.reload()}catch(s){eu.f.error("[AccountSettings]","Failed to update profile",{error:(0,ex.d)(s)??(0,ex.Z)(s)}),em.c.error((0,ex.d)(s)||e.settings?.messages?.updateFailed||"Update failed")}finally{d(!1)}};return l?(0,s.jsx)("div",{className:"flex justify-center py-8",children:(0,s.jsx)(N.f,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,s.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:e.auth?.name||"Name"}),(0,s.jsx)(Q.f,{value:a.name||"",onChange:e=>i({...a,name:e.target.value})})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:e.auth?.email||"Email"}),(0,s.jsx)(Q.f,{value:a.email||"",onChange:e=>i({...a,email:e.target.value}),type:"email"})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:e.auth?.educationStage||"Education Stage"}),(0,s.jsxs)(eM.d,{value:a.educationStage||"",onValueChange:e=>i({...a,educationStage:e}),children:[(0,s.jsx)(eM.P,{children:(0,s.jsx)(eM.U,{placeholder:e.auth?.selectStage||"Select Stage"})}),(0,s.jsxs)(eM.r,{children:[(0,s.jsx)(eM.T,{value:"primary",children:e.auth?.primary||"Primary School"}),(0,s.jsx)(eM.T,{value:"junior_high",children:e.auth?.juniorHigh||"Junior High"}),(0,s.jsx)(eM.T,{value:"senior_high",children:e.auth?.seniorHigh||"Senior High"}),(0,s.jsx)(eM.T,{value:"university",children:e.auth?.university||"University"})]})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:e.auth?.enrollmentYear||"Enrollment Year"}),(0,s.jsx)(Q.f,{type:"number",value:a.enrollmentYear||"",onChange:e=>i({...a,enrollmentYear:e.target.value}),placeholder:"YYYY"})]})]}),(0,s.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:e.settings?.account?.changePassword||"Change Password (Leave empty to keep)"}),(0,s.jsx)(eC,{value:a.password,onChange:e=>i({...a,password:e.target.value}),placeholder:"******",minLength:6})]}),a.password&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:e.auth?.confirmPassword||"Confirm Password"}),(0,s.jsx)(eC,{value:r,onChange:e=>n(e.target.value),placeholder:"******",minLength:6})]})]}),(0,s.jsxs)(C.f,{onClick:u,disabled:o,className:"w-full",children:[o&&(0,s.jsx)(N.f,{className:"mr-2 h-4 w-4 animate-spin"}),e.settings?.account?.update||"Update Profile"]})]})}let eE=(0,u.f)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var eI=e.i(373884);let eP=(0,u.f)("zap",[["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"}]]),ez={minimax:{name:"MiniMax",baseUrl:"https://api.minimax.cn/v1",model:"MiniMax-M3.1-Flash",envPrefix:"MINIMAX",consoleUrl:"https://platform.minimax.cn"},glm:{name:"智谱 GLM",baseUrl:"https://open.bigmodel.cn/api/paas/v4",model:"glm-5.3-flash",envPrefix:"GLM",consoleUrl:"https://open.bigmodel.cn"},deepseek:{name:"DeepSeek",baseUrl:"https://api.deepseek.com",model:"deepseek-flash",envPrefix:"DEEPSEEK",consoleUrl:"https://platform.deepseek.com"},kimi:{name:"Kimi",baseUrl:"https://api.moonshot.cn/v1",model:"kimi-k3",envPrefix:"KIMI",consoleUrl:"https://platform.kimi.com"}},eU=Object.keys(ez);function eR(e){return"string"==typeof e&&Object.prototype.hasOwnProperty.call(ez,e)}function e_({config:e,saving:a,saveButton:i}){let{t:r,language:n}=(0,t.b)(),[l,c]=(0,g.useState)(!1),[o,d]=(0,g.useState)(null),m=e=>r.settings?.ai?.errors?.[e]||e.replace("UNKNOWN:",""),u=async()=>{let s=function(e,s){let t=e.aiProvider;if("openai"===t){let a=e.openai?.instances?.find(s=>s.id===e.openai?.activeInstanceId);return a?.apiKey?{ok:!0,body:{provider:t,apiKey:a.apiKey,baseUrl:a.baseUrl,model:a.model,language:s}}:{ok:!1,error:"API_KEY_REQUIRED"}}if("azure"===t){let a=e.azure;return a?.apiKey&&a.endpoint&&a.deploymentName?{ok:!0,body:{provider:t,apiKey:a.apiKey,endpoint:a.endpoint,deploymentName:a.deploymentName,apiVersion:a.apiVersion,model:a.model,language:s}}:{ok:!1,error:"AZURE_CONFIG_INCOMPLETE"}}if("minimax-code"===t)return{ok:!0,body:{provider:t,model:e.minimaxCode?.model,language:s}};if("gemini"===t||"anthropic"===t||eR(t)){let a=e[t];return a?.apiKey?{ok:!0,body:{provider:t,apiKey:a.apiKey,baseUrl:a.baseUrl,model:a.model,language:s}}:{ok:!1,error:"API_KEY_REQUIRED"}}return{ok:!1,error:"UNSUPPORTED_PROVIDER"}}(e,n);if(!s.ok){if("UNSUPPORTED_PROVIDER"===s.error)return;d({success:!1,textSupport:!1,visionSupport:!1,textError:"AZURE_CONFIG_INCOMPLETE"===s.error?r.settings?.ai?.validationAzureEndpointRequired||"Azure config is incomplete":r.settings?.ai?.validationApiKeyRequired||"API Key is required"});return}c(!0),d(null);try{d(await ed.f.post("/api/ai/test",s.body))}catch(e){eu.f.error("[AiConnectionTest]","AI connection test failed",{error:e}),d({success:!1,textSupport:!1,visionSupport:!1,textError:(0,ex.Z)(e)})}finally{c(!1)}};return(0,s.jsxs)("div",{className:"space-y-3 pt-3 border-t",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(C.f,{type:"button",variant:"outline",onClick:u,disabled:l||a,className:"flex-1",children:[l?(0,s.jsx)(N.f,{className:"mr-2 h-4 w-4 animate-spin"}):(0,s.jsx)(eP,{className:"mr-2 h-4 w-4"}),l?r.settings?.ai?.testing||"Testing...":r.settings?.ai?.testConnection||"Test Connection"]}),i]}),o&&(0,s.jsxs)("div",{className:`p-3 rounded-md text-sm ${o.success?"bg-green-50 border border-green-200":"bg-red-50 border border-red-200"}`,children:[(0,s.jsx)("div",{className:"flex items-center gap-2 font-medium mb-2",children:o.success?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eE,{className:"h-4 w-4 text-green-600"}),(0,s.jsx)("span",{className:"text-green-700",children:r.settings?.ai?.testSuccess||"Connection Successful"}),o.modelInfo&&(0,s.jsxs)("span",{className:"text-green-600 text-xs",children:["(",o.modelInfo,")"]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eI.f,{className:"h-4 w-4 text-red-600"}),(0,s.jsx)("span",{className:"text-red-700",children:r.settings?.ai?.testFailed||"Connection Failed"})]})}),o.success&&(0,s.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("span",{className:"text-muted-foreground",children:[r.settings?.ai?.textSupport||"Text Generation",":"]}),(0,s.jsxs)("span",{className:"text-green-600",children:["✓ ",r.settings?.ai?.supported||"Supported"]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("span",{className:"text-muted-foreground",children:[r.settings?.ai?.visionSupport||"Vision/Multimodal",":"]}),o.visionSupport?(0,s.jsxs)("span",{className:"text-green-600",children:["✓ ",r.settings?.ai?.supported||"Supported"]}):(0,s.jsxs)("span",{className:"text-amber-600",children:["✗ ",o.visionError?m(o.visionError):r.settings?.ai?.notSupported||"Not Supported"]})]}),(0,s.jsx)("p",{className:"text-muted-foreground/60 text-[10px] pl-1",children:r.settings?.ai?.testNetworkNote})]}),!o.success&&o.textError&&(0,s.jsx)("p",{className:"text-red-600 text-xs mt-1",children:m(o.textError)})]})]})}var eD=e.i(16715);function eF({provider:e,apiKey:a,baseUrl:i,currentModel:r,onModelChange:n}){let{t:l}=(0,t.b)(),[c,o]=(0,g.useState)([]),[d,m]=(0,g.useState)(!1),[u,x]=(0,g.useState)(null),[h,p]=(0,g.useState)(r||""),[f,j]=(0,g.useState)(!1),[v,y]=(0,g.useState)(r);r!==v&&(y(r),p(r||""));let b=async()=>{if(!a)return void x(l.modelSelector?.enterApiKeyFirst||"Please enter API Key first");m(!0),x(null);try{let s=await ed.f.post("/api/ai/models",{provider:e,apiKey:a,...i&&{baseUrl:i}});if("error"in s&&"string"==typeof s.error){x(s.error),j(!0),o([]);return}o(s.models),0===s.models.length&&(x(l.modelSelector?.noVisionModel||"No vision model found, please enter manually"),j(!0))}catch(s){eu.f.error("[ModelSelector]","Failed to fetch models",{error:s});let e=s instanceof Error&&s.message||l.modelSelector?.fetchFailed||"Failed to fetch models";x(e+(l.modelSelector?.enterManually||", please enter manually")),j(!0)}finally{m(!1)}};return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(ee.f,{className:"flex-1",children:l.modelSelector?.modelName||"Model Name"}),(0,s.jsx)(C.f,{type:"button",variant:"outline",size:"sm",onClick:b,disabled:d||!a,children:d?(0,s.jsx)(N.f,{className:"h-3 w-3 animate-spin"}):(0,s.jsx)(eD.f,{className:"h-3 w-3"})})]}),u&&(0,s.jsx)("p",{className:"text-xs text-yellow-600",children:u}),f||0===c.length?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Q.f,{value:h,onChange:e=>{var s;p(s=e.target.value),n(s)},placeholder:eR(e)?ez[e].model:"openai"===e?"gpt-6.1-sol":"gemini-1.5-flash"}),c.length>0&&(0,s.jsx)(C.f,{type:"button",variant:"link",size:"sm",className:"h-auto p-0 text-xs",onClick:()=>j(!1),children:l.modelSelector?.selectFromList||"Select from List"})]}):(0,s.jsx)("div",{className:"space-y-2",children:(0,s.jsxs)(eM.d,{value:r,onValueChange:e=>{"_custom"===e?j(!0):(j(!1),p(e),n(e))},children:[(0,s.jsx)(eM.P,{children:(0,s.jsx)(eM.U,{placeholder:l.modelSelector?.selectModel||"Select Model"})}),(0,s.jsxs)(eM.r,{children:[c.map(e=>(0,s.jsxs)(eM.T,{value:e.id,children:[e.name,e.owned_by&&` (${e.owned_by})`]},e.id)),(0,s.jsx)(eM.T,{value:"_custom",children:l.modelSelector?.customInput||"Custom Input..."})]})]})})]})}function eL({value:e,onChange:a}){let{t:i}=(0,t.b)(),r=(s,t)=>a({...e,[s]:t});return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:"API Key"}),(0,s.jsx)(eC,{value:e?.apiKey||"",onChange:e=>r("apiKey",e.target.value),placeholder:"sk-ant-..."})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:"Base URL (Optional)"}),(0,s.jsx)(Q.f,{value:e?.baseUrl||"",onChange:e=>r("baseUrl",e.target.value),placeholder:"https://api.anthropic.com"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:i.settings?.ai?.anthropicBaseUrlHint})]}),(0,s.jsx)(eF,{provider:"anthropic",apiKey:e?.apiKey,baseUrl:e?.baseUrl,currentModel:e?.model,onModelChange:e=>r("model",e)})]})}function eK({value:e,onChange:a}){let{t:i}=(0,t.b)(),r=(s,t)=>a({...e,[s]:t}),n=e=>e?.trim()?"":"border-destructive";return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(ee.f,{children:[i.settings?.ai?.azureEndpoint||"Azure Endpoint"," ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(Q.f,{value:e?.endpoint||"",onChange:e=>r("endpoint",e.target.value),placeholder:i.settings?.ai?.azureEndpointPlaceholder||"https://your-resource.openai.azure.com",className:n(e?.endpoint)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(ee.f,{children:[i.settings?.ai?.azureDeployment||"Deployment Name"," ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(Q.f,{value:e?.deploymentName||"",onChange:e=>r("deploymentName",e.target.value),placeholder:i.settings?.ai?.azureDeploymentPlaceholder||"gpt-4o-deployment",className:n(e?.deploymentName)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(ee.f,{children:["API Key ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(eC,{value:e?.apiKey||"",onChange:e=>r("apiKey",e.target.value),placeholder:"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",className:n(e?.apiKey)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:i.settings?.ai?.azureApiVersion||"API Version"}),(0,s.jsx)(Q.f,{value:e?.apiVersion||"",onChange:e=>r("apiVersion",e.target.value),placeholder:i.settings?.ai?.azureApiVersionPlaceholder||"2024-02-15-preview"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:i.settings?.ai?.azureModel||"Model Display Name"}),(0,s.jsx)(Q.f,{value:e?.model||"",onChange:e=>r("model",e.target.value),placeholder:"gpt-4o"})]})]})}function e$({value:e,onChange:t}){let a=(s,a)=>t({...e,[s]:a});return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:"API Key"}),(0,s.jsx)(eC,{value:e?.apiKey||"",onChange:e=>a("apiKey",e.target.value),placeholder:"AIza..."})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:"Base URL (Optional)"}),(0,s.jsx)(Q.f,{value:e?.baseUrl||"",onChange:e=>a("baseUrl",e.target.value),placeholder:"https://generativelanguage.googleapis.com"})]}),(0,s.jsx)(eF,{provider:"gemini",apiKey:e?.apiKey,baseUrl:e?.baseUrl,currentModel:e?.model,onModelChange:e=>a("model",e)})]})}let eO=(0,u.f)("log-in",[["path",{d:"m10 17 5-5-5-5",key:"1bsop3"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4",key:"u53s6r"}]]);function eq({checkin:e,autoCheckin:a,onAutoCheckinChange:r,busy:n,onCheckin:l}){let c,{t:o}=(0,t.b)(),{timeZone:m}=(0,i.M)(),u=o.settings?.ai?.minimaxCode,{today:x,last:h}=e,p=h&&"failed"!==h.status?h:null,f=!!(x?.checkedToday||p),g=String(p?.points??(x?x.points+x.bonusPoints:0)),j=String(p?.streakDays??x?.streakDays??0);return c=p?.trigger==="auto"&&"checked-in"===p.status?(u?.checkinAuto||"Checked in automatically today at {time} (+{points} credits, day {days} in a row)").replace("{time}",(0,T.r)(p.at,"HH:mm",m)).replace("{points}",g).replace("{days}",j):f?(u?.checkinDone||"Checked in today (+{points} credits, day {days} in a row)").replace("{points}",g).replace("{days}",j):h?.status==="failed"?(u?.checkinFailed||"Check-in failed: {error}").replace("{error}",h.error||""):e.autoCheckin?u?.checkinWillAuto||"Not checked in yet today. The app will check in automatically within the hour.":u?.checkinNotYet||"Not checked in yet today",(0,s.jsxs)("div",{className:"space-y-3 border-t pt-3",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 text-sm",children:[(0,s.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:u?.checkinToday||"Today's check-in"}),(0,s.jsxs)(E.f,{variant:f?"default":h?.status==="failed"?"destructive":"secondary",children:[(0,s.jsx)(d.f,{className:"mr-1 h-3 w-3"}),f?u?.checkinSuccess||"Checked in":u?.checkinNotYet||"Not yet"]})]}),!f&&(0,s.jsxs)(C.f,{size:"sm",variant:"outline",onClick:l,disabled:n,children:[n&&(0,s.jsx)(N.f,{className:"mr-2 h-4 w-4 animate-spin"}),u?.checkinNow||"Check in now"]})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground break-words",children:c}),(0,s.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)(ee.f,{htmlFor:"minimax-code-auto-checkin",children:u?.autoCheckin||"Daily auto check-in"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:u?.autoCheckinHint})]}),(0,s.jsx)(J,{id:"minimax-code-auto-checkin",checked:a,onCheckedChange:r})]})]})}let eV=["MiniMax-M3.1-Flash","MiniMax-M3","MiniMax-M2.7-highspeed","MiniMax-M2.7"];function eH({value:e,onChange:a}){let{t:i}=(0,t.b)(),r=i.settings?.ai?.minimaxCode,{status:n,loading:l,pending:c,busy:o,refresh:d,login:m,logout:u,checkin:h}=function(){let{t:e}=(0,t.b)(),s=e.settings?.ai?.minimaxCode,[a,i]=(0,g.useState)(null),[r,n]=(0,g.useState)(!0),[l,c]=(0,g.useState)(null),[o,d]=(0,g.useState)(!1),m=(0,g.useRef)(null),u=(0,g.useCallback)(async()=>{n(!0);try{let e=await ed.f.get("/api/minimax-code");i(e),e.pendingLogin&&c(e.pendingLogin)}catch(e){eu.f.error("[MiniMaxCode]","Failed to load status",{error:e})}finally{n(!1)}},[]);(0,g.useEffect)(()=>{u()},[u]),(0,g.useEffect)(()=>{if(!l)return;let e=!1,t=async()=>{try{let a=await ed.f.get("/api/minimax-code/login");if(e)return;if("pending"===a.status){m.current=setTimeout(t,l.intervalMs);return}c(null),"ok"===a.status?em.c.success(s?.loginSuccess||"Signed in"):"expired"===a.status?em.c.error(s?.loginExpired||"Authorization timed out"):"denied"===a.status&&em.c.error(s?.loginDenied||"Authorization declined"),u()}catch(t){if(e)return;c(null),em.c.error(`${s?.loginFailed||"Sign-in failed"}: ${(0,ex.Z)(t)}`)}};return m.current=setTimeout(t,l.intervalMs),()=>{e=!0,m.current&&clearTimeout(m.current)}},[l,u,s]);let x=async()=>{d(!0);try{await ed.f.delete("/api/minimax-code"),c(null),await u()}catch(e){em.c.error((0,ex.Z)(e))}finally{d(!1)}},h=async()=>{d(!0);try{let e=await ed.f.post("/api/minimax-code/checkin",{});"failed"===e.status?em.c.error((s?.checkinFailed||"Check-in failed: {error}").replace("{error}",e.error||"")):em.c.success(s?.checkinSuccess||"Checked in"),await u()}catch(e){em.c.error((0,ex.Z)(e))}finally{d(!1)}};return{status:a,loading:r,pending:l,busy:o,refresh:u,login:async()=>{d(!0);try{let e=await ed.f.post("/api/minimax-code/login",{});c(e),window.open(e.url,"_blank","noopener,noreferrer")}catch(e){em.c.error(`${s?.loginFailed||"Sign-in failed"}: ${(0,ex.Z)(e)}`)}finally{d(!1)}},logout:x,checkin:h}}(),p=n?.login??"none",f=n?.account,j=n?.credits,v={none:r?.statusNone||"Not signed in",active:r?.statusActive||"Signed in",expired:r?.statusExpired||"Login expired"}[p];return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:r?.intro}),(0,s.jsxs)("section",{className:"space-y-3 rounded-md border bg-background p-3","aria-label":r?.title||"MiniMax Code account",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,s.jsx)("h4",{className:"text-sm font-medium",children:r?.title||"MiniMax Code account"}),(0,s.jsx)(C.f,{variant:"ghost",size:"sm",onClick:()=>void d(),disabled:l,"aria-label":r?.refresh||"Refresh",children:(0,s.jsx)(eD.f,{className:`h-4 w-4 ${l?"animate-spin":""}`})})]}),(0,s.jsxs)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-4 gap-y-2 text-sm",children:[(0,s.jsx)("dt",{className:"text-muted-foreground",children:r?.loginStatus||"Login status"}),(0,s.jsxs)("dd",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[(0,s.jsx)(E.f,{variant:"active"===p?"default":"expired"===p?"destructive":"secondary",children:v}),f&&(0,s.jsx)("span",{className:"truncate text-muted-foreground",children:f.name||f.email||f.userId})]}),"active"===p&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("dt",{className:"text-muted-foreground",children:r?.credits||"Remaining credits"}),(0,s.jsx)("dd",{children:j?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"font-medium tabular-nums",children:j.total}),(0,s.jsx)("span",{className:"ml-2 text-xs text-muted-foreground",children:(r?.creditsDetail||"Free {free} · Purchased {purchased}").replace("{free}",String(j.free)).replace("{purchased}",String(j.purchased))})]}):(0,s.jsx)("span",{className:"text-muted-foreground",children:r?.creditsUnavailable||"Unavailable"})})]})]}),"active"===p&&n&&(0,s.jsx)(eq,{checkin:n.checkin,autoCheckin:e?.autoCheckin!==!1,onAutoCheckinChange:s=>a({...e,autoCheckin:s}),busy:o,onCheckin:()=>void h()}),c?(0,s.jsxs)("div",{className:"space-y-1 rounded-md bg-muted/50 p-3 text-sm",children:[(0,s.jsxs)("p",{className:"flex items-center gap-2",children:[(0,s.jsx)(N.f,{className:"h-4 w-4 animate-spin"}),r?.waiting]}),c.userCode&&(0,s.jsxs)("p",{children:[r?.userCode||"Verification code",": ",(0,s.jsx)("span",{className:"font-mono font-medium",children:c.userCode})]}),(0,s.jsxs)("a",{href:c.url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 underline",children:[r?.openLink||"Open the authorization page"," ",(0,s.jsx)(ep,{className:"h-3 w-3"})]})]}):(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,s.jsxs)(C.f,{size:"sm",onClick:()=>void m(),disabled:o,children:[o?(0,s.jsx)(N.f,{className:"mr-2 h-4 w-4 animate-spin"}):(0,s.jsx)(eO,{className:"mr-2 h-4 w-4"}),"none"===p?r?.login||"Sign in with browser":r?.relogin||"Sign in again"]}),"none"!==p&&(0,s.jsxs)(C.f,{size:"sm",variant:"outline",onClick:()=>void u(),disabled:o,children:[(0,s.jsx)(x,{className:"mr-2 h-4 w-4"}),r?.logout||"Sign out"]})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{htmlFor:"minimax-code-model",children:r?.model||"Model"}),(0,s.jsx)(Q.f,{id:"minimax-code-model",list:"minimax-code-models",value:e?.model||"",onChange:s=>a({...e,model:s.target.value}),placeholder:"MiniMax-M3.1-Flash"}),(0,s.jsx)("datalist",{id:"minimax-code-models",children:eV.map(e=>(0,s.jsx)("option",{value:e},e))}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:r?.modelHint})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:r?.risk})]})}var eB=e.i(107233);function eY({value:e,onChange:a}){let{t:i}=(0,t.b)(),r=e?.instances||[],n=e?.activeInstanceId,l=r.find(e=>e.id===n),c=(s,t)=>{a({...e,instances:r.map(e=>e.id===n?{...e,[s]:t}:e)})},o=async()=>{if(!n||!await (0,em.u)(i.settings?.ai?.confirmDelete||"Delete this instance?",{destructive:!0}))return;let e=r.filter(e=>e.id!==n);a({instances:e,activeInstanceId:e[0]?.id})};return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(ee.f,{children:i.settings?.ai?.instances||"Instance"}),(0,s.jsxs)(C.f,{type:"button",variant:"outline",size:"sm",onClick:()=>{if(r.length>=10)return;let e={id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let s=16*Math.random()|0;return("x"===e?s:3&s|8).toString(16)}),name:`Instance ${r.length+1}`,apiKey:"",baseUrl:"https://api.openai.com/v1",model:"gpt-6.1-sol"};a({instances:[...r,e],activeInstanceId:e.id})},disabled:r.length>=10,className:"h-7 px-2 text-xs",children:[(0,s.jsx)(eB.f,{className:"h-3 w-3 mr-1"}),i.settings?.ai?.addInstance||"Add"]})]}),r.length>0?(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(eM.d,{value:n||"",onValueChange:s=>a({...e,activeInstanceId:s}),children:[(0,s.jsx)(eM.P,{className:"flex-1",children:(0,s.jsx)(eM.U,{placeholder:i.settings?.ai?.selectInstance||"Select Instance"})}),(0,s.jsx)(eM.r,{children:r.map(e=>(0,s.jsx)(eM.T,{value:e.id,children:e.name},e.id))})]}),r.length>1&&(0,s.jsx)(C.f,{type:"button",variant:"outline",size:"icon",onClick:o,className:"h-10 w-10 text-destructive hover:text-destructive",children:(0,s.jsx)(el.f,{className:"h-4 w-4"})})]}):(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:i.settings?.ai?.noInstances||"No instances configured. Click 'Add' to create one."}),r.length>=10&&(0,s.jsx)("p",{className:"text-xs text-amber-600",children:i.settings?.ai?.maxInstancesReached||"Maximum instances reached (10)"})]}),l&&(0,s.jsxs)("div",{className:"space-y-3 p-3 border rounded-md bg-background",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(ee.f,{children:[i.settings?.ai?.instanceName||"Instance Name"," ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(Q.f,{value:l.name||"",onChange:e=>c("name",e.target.value),placeholder:"e.g. 智谱 GLM-4V",className:l.name?.trim()?"":"border-destructive"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(ee.f,{children:["API Key ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(eC,{value:l.apiKey||"",onChange:e=>c("apiKey",e.target.value),placeholder:"sk-...",className:l.apiKey?.trim()?"":"border-destructive"})]}),(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsxs)(ee.f,{children:["Base URL ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(Q.f,{value:l.baseUrl||"",onChange:e=>c("baseUrl",e.target.value),placeholder:"https://api.openai.com/v1",className:l.baseUrl?.trim()?"":"border-destructive"})]}),(0,s.jsx)(eF,{provider:"openai",apiKey:l.apiKey,baseUrl:l.baseUrl,currentModel:l.model,onModelChange:e=>c("model",e)})]})]})}function eG({provider:e,value:a,onChange:i}){let{t:r}=(0,t.b)(),n=ez[e],l=(e,s)=>i({...a,[e]:s});return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:"API Key"}),(0,s.jsx)(eC,{value:a?.apiKey||"",onChange:e=>l("apiKey",e.target.value),placeholder:"sk-..."}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:[r.settings?.ai?.vendorApiKeyHint||"Get an API key from the console:"," ",(0,s.jsx)("a",{href:n.consoleUrl,target:"_blank",rel:"noopener noreferrer",className:"underline break-all",children:n.consoleUrl})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:"Base URL (Optional)"}),(0,s.jsx)(Q.f,{value:a?.baseUrl||"",onChange:e=>l("baseUrl",e.target.value),placeholder:n.baseUrl}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:r.settings?.ai?.vendorBaseUrlHint})]}),(0,s.jsx)(eF,{provider:e,apiKey:a?.apiKey,baseUrl:a?.baseUrl,currentModel:a?.model||n.model,onModelChange:e=>l("model",e)})]})}function eZ({config:e,setConfig:a,loading:i,saving:r,onSave:n}){let{t:l}=(0,t.b)();return i?(0,s.jsx)("div",{className:"flex justify-center py-4",children:(0,s.jsx)(N.f,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):(0,s.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:l.settings?.tabs?.ai||"AI Provider"}),(0,s.jsxs)(eM.d,{value:e.aiProvider,onValueChange:e=>a(s=>({...s,aiProvider:e})),children:[(0,s.jsx)(eM.P,{children:(0,s.jsx)(eM.U,{})}),(0,s.jsxs)(eM.r,{children:[(0,s.jsx)(eM.T,{value:"minimax",children:ez.minimax.name}),(0,s.jsx)(eM.T,{value:"minimax-code",children:"MiniMax Code OAuth"}),eU.filter(e=>"minimax"!==e).map(e=>(0,s.jsx)(eM.T,{value:e,children:ez[e].name},e)),(0,s.jsx)(eM.T,{value:"anthropic",children:"Anthropic / Compatible"}),(0,s.jsx)(eM.T,{value:"azure",children:"Azure OpenAI"}),(0,s.jsx)(eM.T,{value:"openai",children:"OpenAI / Compatible"}),(0,s.jsx)(eM.T,{value:"gemini",children:"Google Gemini"})]})]})]}),"openai"===e.aiProvider&&(0,s.jsx)(eY,{value:e.openai,onChange:e=>a(s=>({...s,openai:e}))}),"gemini"===e.aiProvider&&(0,s.jsx)(e$,{value:e.gemini,onChange:e=>a(s=>({...s,gemini:e}))}),"minimax-code"===e.aiProvider&&(0,s.jsx)(eH,{value:e.minimaxCode,onChange:e=>a(s=>({...s,minimaxCode:e}))}),"anthropic"===e.aiProvider&&(0,s.jsx)(eL,{value:e.anthropic,onChange:e=>a(s=>({...s,anthropic:e}))}),eR(e.aiProvider)&&(0,s.jsx)(eG,{provider:e.aiProvider,value:e[e.aiProvider],onChange:e=>a(s=>({...s,[s.aiProvider]:e}))},e.aiProvider),"azure"===e.aiProvider&&(0,s.jsx)(eK,{value:e.azure,onChange:e=>a(s=>({...s,azure:e}))}),(0,s.jsx)(e_,{config:e,saving:r,saveButton:(0,s.jsxs)(C.f,{onClick:n,disabled:r,className:"flex-1",children:[r&&(0,s.jsx)(N.f,{className:"mr-2 h-4 w-4 animate-spin"}),l.settings?.ai?.save||"Save AI Settings"]})})]})}let eW={info:{card:"border-blue-200 bg-blue-50",title:"text-blue-900 font-bold",desc:"text-blue-800 font-medium",button:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300"},danger:{card:"border-red-200 bg-red-50",title:"text-red-700 font-medium",desc:"text-red-600",button:""},critical:{card:"border-red-600/50 bg-red-100/50",title:"text-red-900 font-bold",desc:"text-red-800 font-medium",button:"bg-red-700 hover:bg-red-800"}};function eX({title:e,description:t,tone:a,busy:i,icon:r,onClick:n}){let l=eW[a];return(0,s.jsxs)("div",{className:`p-4 border rounded-lg ${l.card}`,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:`text-sm flex items-center gap-2 ${l.title}`,children:e}),(0,s.jsx)(C.f,{variant:"info"===a?"outline":"destructive",size:"sm",onClick:n,disabled:i,className:l.button,children:i?(0,s.jsx)(N.f,{className:"h-4 w-4 animate-spin"}):r})]}),(0,s.jsx)("p",{className:`text-xs mt-2 ${l.desc}`,children:t})]})}function eJ({isAdmin:e}){let{t:a}=(0,t.b)(),[i,r]=(0,g.useState)(null),n=async(e,s,t,a)=>{r(e);try{em.c.success(await s()),a&&window.location.reload()}catch(s){eu.f.error("[DangerZoneSettings]",`${e} failed`,{error:s}),em.c.error(t)}finally{r(null)}},l=a.settings?.clearSuccess||"Success",c=a.settings?.clearError||"Failed",o=async()=>{await (0,em.u)(a.settings?.migrateTagsConfirm||"This will reset system tags. Confirm?",{destructive:!0})&&await n("migrateTags",async()=>{let e=await ed.f.post("/api/admin/migrate-tags",{});return`${l}: ${e.count||0} tags migrated.`},a.settings?.clearError||"Failed to migrate tags",!1)},d=async()=>{await (0,em.u)(a.settings?.clearDataConfirm||"Are you sure?",{destructive:!0})&&await n("clearPractice",async()=>(await ed.f.delete("/api/stats/practice/clear"),l),c,!0)},m=async()=>{await (0,em.u)(a.settings?.clearErrorDataConfirm||"Are you sure?",{destructive:!0})&&await n("clearErrors",async()=>(await ed.f.delete("/api/error-items/clear"),l),c,!0)},u=async()=>{if(!await (0,em.u)(a.settings?.systemResetConfirm||"WARNING: Deleting ALL data. Undoing is impossible. Are you sure?",{destructive:!0}))return;let e=prompt(a.settings?.systemResetPrompt||"Type 'RESET' to confirm system initialization:","");if("RESET"!==e){null!==e&&em.c.error(a.common?.error||"Confirmation failed");return}await n("systemReset",async()=>(await ed.f.post("/api/admin/system-reset",{}),a.settings?.clearSuccess||"Success - System Reset Complete"),a.settings?.clearError||"Failed to reset system",!0)};return(0,s.jsxs)(s.Fragment,{children:[e&&(0,s.jsx)(eX,{tone:"info",title:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eD.f,{className:"h-4 w-4"}),a.settings?.migrateTags||"Migrate Tags"]}),description:a.settings?.migrateTagsDesc||"Re-populates standard tags from file",busy:"migrateTags"===i,icon:(0,s.jsx)(eD.f,{className:"h-4 w-4"}),onClick:o}),(0,s.jsx)(eX,{tone:"danger",title:a.settings?.clearData||"Clear Practice Data",description:a.settings?.clearDataDesc||"This will permanently delete all practice history. Irreversible.",busy:"clearPractice"===i,icon:(0,s.jsx)(el.f,{className:"h-4 w-4"}),onClick:d}),(0,s.jsx)(eX,{tone:"danger",title:a.settings?.clearErrorData||"Clear Error Data",description:a.settings?.clearErrorDataDesc||"This will permanently delete all error items. Irreversible.",busy:"clearErrors"===i,icon:(0,s.jsx)(el.f,{className:"h-4 w-4"}),onClick:m}),e&&(0,s.jsx)(eX,{tone:"critical",title:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(j,{className:"h-4 w-4"}),a.settings?.systemReset||"System Initialization"]}),description:a.settings?.systemResetDesc||"Resets the system to factory state. Deletes ALL data.",busy:"systemReset"===i,icon:(0,s.jsx)(el.f,{className:"h-4 w-4"}),onClick:u})]})}var eQ=e.i(440160);let e0=(0,u.f)("upload",[["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"}]]);async function e1(e,s){let t=await fetch(e);if(!t.ok)throw Error((await t.json().catch(()=>({}))).message||"Export failed");let a=await t.blob(),i=window.URL.createObjectURL(a),r=document.createElement("a");r.href=i;let n=t.headers.get("Content-Disposition")?.match(/filename="(.+)"/);r.download=n?n[1]:s,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(i)}function e2({isAdmin:e}){let{t:a}=(0,t.b)(),[i,r]=(0,g.useState)(!1),[n,l]=(0,g.useState)(!1),[c,o]=(0,g.useState)(null),d=async e=>{if(!e||await (0,em.u)(a.settings?.exportAllConfirm||"Export all users' data? This may take a while.")){r(!0);try{await e1(e?"/api/export?all=true":"/api/export",e?"wrong-notebook-export-all.json":"wrong-notebook-export.json"),em.c.success(a.settings?.exportSuccess||"Export successful")}catch(s){eu.f.error("[DataBackupSettings]",e?"Export all failed":"Export failed",{error:s}),em.c.error(a.settings?.exportFailed||"Export failed")}finally{r(!1)}}},m=async e=>{if(!c)return;let s=e?a.settings?.importAllConfirm||"Import all users' data? This will restore data for all users from the export file.":a.settings?.importConfirm||"Are you sure you want to import?";if(await (0,em.u)(s)){l(!0);try{let s=JSON.parse(await c.text()),{stats:t}=await ed.f.post(e?"/api/import?all=true":"/api/import",s);em.c.success((a.settings?.importResultDesc||"Imported {subjects} notebooks, {tags} tags, {items} error items, {schedules} review schedules, {records} practice records, {papers} exam papers.").replace("{subjects}",String(t.subjectsCreated)).replace("{tags}",String(t.tagsCreated)).replace("{items}",String(t.errorItemsCreated)).replace("{schedules}",String(t.reviewSchedulesCreated)).replace("{records}",String(t.practiceRecordsCreated)).replace("{papers}",String(t.examPapersCreated??0)).replace("{duplicates}",String(t.duplicateErrorItems??0))),o(null),window.location.reload()}catch(s){eu.f.error("[DataBackupSettings]",e?"Import all failed":"Import failed",{error:s}),em.c.error(a.settings?.importFailed||"Import failed")}finally{l(!1)}}},u=(e,t)=>e?(0,s.jsx)(N.f,{className:"mr-2 h-4 w-4 animate-spin"}):t;return(0,s.jsxs)("div",{className:"p-4 border border-blue-200 rounded-lg bg-blue-50",children:[(0,s.jsx)("h4",{className:"text-sm font-bold text-blue-900 mb-3",children:a.settings?.dataManagement||"Data Management"}),(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)("span",{className:"text-sm text-blue-800 font-medium",children:a.settings?.exportData||"Export Data"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)(C.f,{variant:"outline",size:"sm",onClick:()=>d(!1),disabled:i,className:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300",children:[u(i,(0,s.jsx)(eQ.f,{className:"mr-2 h-4 w-4"})),a.settings?.exportData||"Export"]}),e&&(0,s.jsxs)(C.f,{variant:"outline",size:"sm",onClick:()=>d(!0),disabled:i,className:"bg-orange-100 hover:bg-orange-200 text-orange-900 border-orange-300",children:[u(i,(0,s.jsx)(eQ.f,{className:"mr-2 h-4 w-4"})),a.settings?.exportAllData||"Export All"]})]})]}),(0,s.jsx)("p",{className:"text-xs text-blue-700",children:a.settings?.exportDataDesc||"Export all data as JSON file."})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)("span",{className:"text-sm text-blue-800 font-medium",children:a.settings?.importData||"Import Data"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("input",{type:"file",accept:".json",onChange:e=>o(e.target.files?.[0]??c),className:"hidden",id:"import-file-input",disabled:n}),(0,s.jsxs)(C.f,{variant:"outline",size:"sm",onClick:()=>document.getElementById("import-file-input")?.click(),disabled:n,className:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300",children:[u(n,(0,s.jsx)(e0,{className:"mr-2 h-4 w-4"})),c?.name||a.settings?.selectFile||"Select File"]}),c&&(0,s.jsxs)(C.f,{variant:"outline",size:"sm",onClick:()=>m(!1),disabled:n,className:"bg-green-100 hover:bg-green-200 text-green-900 border-green-300",children:[u(n,(0,s.jsx)(eE,{className:"mr-2 h-4 w-4"})),a.settings?.importData||"Import"]}),c&&e&&(0,s.jsxs)(C.f,{variant:"outline",size:"sm",onClick:()=>m(!0),disabled:n,className:"bg-orange-100 hover:bg-orange-200 text-orange-900 border-orange-300",children:[u(n,(0,s.jsx)(eE,{className:"mr-2 h-4 w-4"})),a.settings?.importAllData||"Import All"]})]})]}),(0,s.jsx)("p",{className:"text-xs text-blue-700",children:a.settings?.importDataDesc||"Import data from JSON file. Existing data will be skipped."})]})]})}var e4=e.i(307364);function e3({field:e,label:a,description:i}){let{t:r}=(0,t.b)(),[n,l]=(0,g.useState)(!1),[c,o]=(0,g.useState)(!1),[d,m]=(0,g.useState)(!1),[u,x]=(0,g.useState)(null),h=`preference-${e}`;(0,g.useEffect)(()=>{ed.f.get("/api/user").then(s=>l(!!s[e])).catch(()=>void 0).finally(()=>o(!0))},[e]);let p=async s=>{l(s),m(!0);try{await ed.f.patch("/api/user",{[e]:s}),x(r.importFlow.preferenceSaved)}catch(t){l(!s),x(r.importFlow.preferenceSaveFailed),eu.f.error("[Settings]","Failed to save user preference",{field:e,error:t instanceof Error?t.message:String(t)})}finally{m(!1)}};return(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsx)(ee.f,{htmlFor:h,children:a}),(0,s.jsx)(J,{id:h,checked:n,onCheckedChange:p,disabled:!c||d})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:i}),u&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:u})]})}function e5(){let{t:e}=(0,t.b)();return(0,s.jsx)(e3,{field:"enableGeogebra",label:e.importFlow.enableGeogebra,description:e.importFlow.enableGeogebraDesc})}function e6(){let{t:e}=(0,t.b)();return(0,s.jsx)(e3,{field:"confirmBeforeImport",label:e.importFlow.confirmBeforeImport,description:e.importFlow.confirmBeforeImportDesc})}function e7(){let{t:e}=(0,t.b)();return(0,s.jsx)(e3,{field:"enableSvgAnimation",label:e.importFlow.enableSvgAnimation,description:e.importFlow.enableSvgAnimationDesc})}function e8({value:e,onChange:a,disabled:i}){let{t:r}=(0,t.b)();return(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsx)(ee.f,{htmlFor:"app-time-zone",children:r.settings.general.timeZoneLabel}),(0,s.jsx)(Q.f,{id:"app-time-zone",value:e,onChange:e=>a(e.target.value),disabled:i,list:"app-time-zones",placeholder:"Asia/Shanghai"}),(0,s.jsx)("datalist",{id:"app-time-zones",children:["Asia/Shanghai","Asia/Hong_Kong","Asia/Tokyo","Asia/Singapore","Europe/London","America/New_York","America/Los_Angeles","UTC"].map(e=>(0,s.jsx)("option",{value:e},e))}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:r.settings.general.timeZoneDesc})]})}function e9({config:e,setConfig:a,isAdmin:r,disabled:n}){let{t:l,language:c,setLanguage:o}=(0,t.b)(),{timeZone:d}=(0,i.M)(),m=e=>a(s=>({...s,timeouts:{...s.timeouts,analyze:1e3*e}}));return(0,s.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(ee.f,{children:l.settings?.language||"Language"}),(0,s.jsxs)(eM.d,{value:c,onValueChange:e=>o(e),children:[(0,s.jsx)(eM.P,{children:(0,s.jsx)(eM.U,{})}),(0,s.jsxs)(eM.r,{children:[(0,s.jsx)(eM.T,{value:"zh",children:"中文 (Chinese)"}),(0,s.jsx)(eM.T,{value:"en",children:"English"})]})]})]}),(0,s.jsx)(e8,{value:e.timeZone??d,onChange:e=>a(s=>({...s,timeZone:e})),disabled:!r||n}),r&&(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsx)(ee.f,{children:l.settings?.general?.timeoutLabel||"AI Analysis Timeout (Seconds)"}),(0,s.jsx)(Q.f,{type:"number",value:e.timeouts?.analyze?e.timeouts.analyze/1e3:"",onChange:e=>{let s=""===e.target.value?0:parseInt(e.target.value);m(isNaN(s)?0:s)},onBlur:()=>{let s=(e.timeouts?.analyze||0)/1e3,t=Math.min(600,Math.max(120,s));t!==s&&m(t)},min:120,max:600}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:l.settings?.general?.timeoutDesc||"Increase this value if you experience frequent timeouts during AI analysis."})]}),(0,s.jsx)(e6,{}),(0,s.jsx)(e7,{}),(0,s.jsx)(e5,{}),(0,s.jsx)(e4.f,{})]})}var se=e.i(624687),ss=e.i(247167);let st={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function sa(e,s={}){let t,a=st[e],i=(t=ss.default.env.LOG_LEVEL?.toLowerCase())&&void 0!==st[t]?st[t]:st.info;return(t,r)=>{let n,l;if(a<i)return;let c=new Date;"string"==typeof t?(n={},l=t):(n=t,l=r||"");{let t=JSON.stringify({level:e,time:c.toISOString(),...s,...n,msg:l});switch(e){case"error":case"fatal":console.error(t);break;case"warn":console.warn(t);break;default:console.log(t)}}}}(function e(s={}){return s.module,{trace:sa("trace",s),debug:sa("debug",s),info:sa("info",s),warn:sa("warn",s),error:sa("error",s),fatal:sa("fatal",s),child:t=>e({...s,...t}),box:(e,t,a="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...s,title:e,..."string"==typeof t?{content:t}:t||{},msg:e}))},divider:(e="-")=>{}}})({env:"production"}).child({module:"ai:prompts"});let si=`请参考《高思学校竞赛数学导引》(每讲分兴趣篇、拓展篇、超越篇,题目左侧标 1~5 颗星)的星级标准,结合题目所在年级评定难度:
2
+ - 1 星:课本基础题,直接套用概念、公式或简单计算即可(相当于兴趣篇前几题)。
3
+ - 2 星:校内拔高题,需要两三步推理或简单综合(相当于兴趣篇后几题)。
4
+ - 3 星:常规奥数题,小升初、杯赛常见难度,需要掌握该专题的典型方法(相当于拓展篇)。
5
+ - 4 星:较难奥数题,需要构造、分类讨论、转化或多种方法综合(相当于拓展篇末题、超越篇前几题)。
6
+ - 5 星:竞赛压轴题,集训队水平,思路巧妙、步骤长(相当于超越篇难题)。
7
+ 非数学学科按同样的 1~5 级划分:1 星为基础识记,3 星为综合应用,5 星为竞赛或压轴难度。`,sr=`- 输出一个完整的 <svg> 元素,包含 xmlns="http://www.w3.org/2000/svg" 和 viewBox(建议宽 400~600),不要用 Markdown 代码块包裹。
8
+ - 白色背景、黑色线条(stroke="#000",线宽 1.5~2),需要区分的区域可用浅灰填充;不要使用彩色装饰。
9
+ - 按原图比例和相对位置绘制,保留所有标注:顶点字母、数字、长度、角度、单位、箭头和虚线等,文字用 <text>(font-size 14~18)。
10
+ - 只使用基本图形元素:line、polyline、polygon、rect、circle、ellipse、path、text、g、defs、marker。
11
+ - 严禁使用 <image>、<script>、<foreignObject>、外部链接、外部字体或事件属性。`,sn=String.raw`- 行内公式用 $...$,独立公式用 $$...$$;不要用 \(...\) 或 \[...\],每个 $ 必须成对出现。
12
+ - 所有 LaTeX 命令(如 \frac、\sqrt、\times、\angle)都必须写在 $...$ 内,公式外不能出现反斜杠命令。
13
+ - 只使用 KaTeX 支持的命令和环境:方程组用 \begin{cases}...\end{cases},多行推导用 \begin{aligned}...\end{aligned}(放在 $$...$$ 中),不要用 align、eqnarray、\newcommand、\usepackage、\label、\tag 等。
14
+ - 大括号 {} 必须成对,\left 与 \right 必须成对,\begin{...} 与 \end{...} 必须对应。
15
+ - 公式中的中文写在 \text{...} 里,或放到公式外;百分号写成 \%,美元符号写成 \$。
16
+ - 反斜杠只写一个(\frac),不要写成 \\frac;换行符 \\ 只能用在 cases、aligned 等环境里。`,sl=`【角色与核心任务 (ROLE AND CORE TASK)】
17
+ 你是一位世界顶尖的、经验丰富的、专业的跨学科考试分析专家(Interdisciplinary Exam Analysis Expert)。你的核心任务是极致准确地分析用户提供的考试题目图片,全面理解所有文本、图表和隐含约束,并提供一个完整、高度结构化且专业的解决方案。
18
+
19
+ {{language_instruction}}
20
+
21
+ 【核心输出要求 (OUTPUT REQUIREMENTS)】
22
+ 你的响应输出**必须严格遵循以下自定义标签格式**。**严禁**使用 JSON 或 Markdown 代码块。**严禁**对 LaTeX 公式中的反斜杠进行二次转义(如 "\\frac" 是错误的,必须是 "\frac")。
23
+
24
+ 请严格按照以下结构输出内容:
25
+
26
+ <subject>
27
+ 在此处填写学科,必须是以下之一:"数学", "物理", "化学", "生物", "英语", "语文", "历史", "地理", "政治", "其他"。
28
+ </subject>
29
+
30
+ <knowledge_points>
31
+ 在此处填写知识点,使用逗号分隔,例如:知识点1, 知识点2, 知识点3
32
+ </knowledge_points>
33
+
34
+ <requires_image>
35
+ 判断这道题是否需要依赖图片才能正确解答。如果题目包含几何图形、函数图像、实验装置图、电路图等必须看图才能理解的内容,填写 true;如果只需要文字描述即可理解(如英语题、纯文字数学题),填写 false。
36
+ </requires_image>
37
+
38
+ <has_figure>
39
+ 判断题目本身是否带有配图(几何图形、函数图像、示意图、统计图、实验装置图、电路图等;不含学生的作答痕迹和纯文字表格)。有配图填 true,否则填 false。
40
+ </has_figure>
41
+
42
+ <figure_svg>
43
+ 如果 has_figure 为 true,用 SVG 重新绘制题目配图:
44
+ ${sr}
45
+ 如果 has_figure 为 false,请留空。
46
+ </figure_svg>
47
+
48
+ <wrong_answer_text>
49
+ 如果图片中包含学生已经写出的错误解答、错误步骤、草稿或错误答案,请尽量按原样摘录;如果没有看到学生错误解答,请留空。
50
+ </wrong_answer_text>
51
+
52
+ <mistake_status>
53
+ 填写以下值之一:wrong_attempt(图片中有错误解答或错误步骤)、not_attempted(没有错误解答,像是完全不会做或未作答)、unknown(无法判断)。
54
+ </mistake_status>
55
+
56
+ <difficulty_stars>
57
+ 只填写 1 到 5 之间的一个整数,表示题目难度星级。
58
+ ${si}
59
+ </difficulty_stars>
60
+
61
+ <mistake_analysis>
62
+ 如果图片中包含错误解答,请分析错误可能发生在哪一步、为什么错、导致了什么后果;如果没有错误解答,请留空。
63
+ </mistake_analysis>
64
+
65
+ <question_text>
66
+ 在此处填写题目的完整文本。使用 Markdown 格式。所有数学公式使用 LaTeX 符号(行内 $...$,块级 $$...$$)。
67
+
68
+ 【题干转录规则】
69
+ 1. **逐字照录**:按图片原文转录题干(含题号、分值和标点),不要改写、概括、增删字词或调整语序;看不清的字用 [?] 标注。
70
+ 2. **填空统一**:所有填空处统一写作 ____(4 个下划线),不论原图横线长短。
71
+ 3. **图形描述**:如果题目依赖图形,在题干原文之后空一行,单独写**一段**以「图示:」开头的图形描述;只能使用「图示:」这一种写法(不要写「图示信息」「图示说明」等),描述中不要重复题干已有的文字。题目不依赖图形时不要写图示段落。
72
+
73
+ 【表格处理规则】
74
+ 如果图片中包含表格,必须完整转录表格内容,遵循以下原则:
75
+
76
+ 1. **标准表格**:使用 Markdown 表格语法
77
+ | 列标题1 | 列标题2 | 列标题3 |
78
+ |---------|---------|---------|
79
+ | 数据1 | 数据2 | 数据3 |
80
+
81
+ 2. **复杂表格**(合并单元格/多级表头/不规则布局):
82
+ - 优先尝试用 Markdown 表格近似表示
83
+ - 如果 Markdown 无法准确表达,在表格前用文字说明结构,然后用简化的 Markdown 表格 + 注释
84
+ - 示例:
85
+ > 注:第1行为主标题,横跨3列;第2-3行为数据行
86
+
87
+ | 项目 | 数值A | 数值B |
88
+ |------|-------|-------|
89
+ | 测试1 | 10 | 20 |
90
+ | 测试2 | 15 | 25 |
91
+
92
+ 3. **表格完整性要求**:
93
+ - 必须转录所有单元格内容(包括空单元格用 - 或空格表示)
94
+ - 保留表格标题、单位、注释
95
+ - 保留数据的对齐关系和分组信息
96
+ - 表格中的数学公式使用 LaTeX 语法
97
+
98
+ 4. **表格上下文**:
99
+ - 如果表格有标题或编号(如"表1"),保留在表格前
100
+ - 如果表格后有注释或说明,保留在表格后
101
+ - 保持表格在题目中的位置关系
102
+
103
+ 5. **特殊情况处理**:
104
+ - 图表混合:如果表格旁边有图形,用文字说明位置关系
105
+ - 手写表格:尽力识别手写内容,不确定的用 [?] 标注
106
+ - 模糊表格:如果表格不清晰,在表格前注明"(表格内容可能不完整)"
107
+ </question_text>
108
+
109
+ <answer_text>
110
+ 在此处填写正确答案。使用 Markdown 和 LaTeX 符号。如果答案包含表格,遵循上述【表格处理规则】。
111
+ </answer_text>
112
+
113
+ <analysis>
114
+ 在此处填写详细的步骤解析。
115
+ * 必须使用简体中文。
116
+ * **直接使用标准的 LaTeX 符号**(如 $\frac{1}{2}$),**不要**进行 JSON 转义(不要写成 \\frac)。
117
+ * 如果解析过程需要表格(如列表对比、分步计算表),遵循上述【表格处理规则】。
118
+ </analysis>
119
+
120
+ 【知识点标签列表(KNOWLEDGE POINT LIST)】
121
+ {{knowledge_points_list}}
122
+
123
+ 【标签使用规则 (TAG RULES)】
124
+ - 标签必须与题目实际考查的知识点精准匹配。
125
+ - 每题最多 5 个标签。
126
+
127
+ 【!!! 关键格式与内容约束 (CRITICAL RULES) !!!】
128
+ 1. **格式严格**:必须严格包含上述 12 个 XML 标签,除此之外不要输出任何其他“开场白”或“结束语”。
129
+ 2. **纯文本**:内容作为纯文本处理,**不要转义反斜杠**。
130
+ 3. **内容完整**:如果包含子问题,请在 question_text 中完整列出。
131
+ 4. **禁止图片**:严禁包含任何图片链接或 markdown 图片语法。
132
+ 5. **LaTeX 规范**:
133
+ ${sn}
134
+
135
+ {{grade_instruction}}
136
+ {{provider_hints}}`,sc=`你是一位资深的K12教育题目生成专家,具备跨学科的题目创作能力。你的核心任务是**根据以下原题和知识点,举一反三生成高质量教学题目**,帮助学生巩固知识并拓展解题思路。
137
+ ### 角色定义
138
+ 1. **学科全能专家**
139
+ - 精通K12阶段所有学科(数学/语文/英语/物理/化学/生物/历史/地理/政治)
140
+ - 熟悉各年级课程标准与知识点分布
141
+ - 能准确识别题目考察的核心能力点(计算/推理/分析/应用/创新)
142
+ 2. **题目变异大师**
143
+ - 掌握12种变式技法:条件替换/情境迁移/问题转化/数据重构/图形变形/角色反转/跨学科融合/难度阶梯/开放拓展/陷阱设计/逆向思维/生活应用
144
+ - 确保变式题目保持原题核心考点,改变题目表现形式
145
+ 3. **学情分析师**
146
+ - 预判学生易错点(认知盲区/概念混淆/计算失误/审题偏差)
147
+ - 在变式题目中针对性强化易错点训练
148
+ ### 执行流程
149
+ 1. **接收任务**
150
+ 原题: "{{original_question}}"
151
+ {{language_instruction}}
152
+ DIFFICULTY LEVEL: {{difficulty_level}}
153
+ {{difficulty_instruction}}
154
+ Knowledge Points: {{knowledge_points}}
155
+ 2. **解构分析**
156
+ - 提取核心考点与能力要求
157
+ - 分析题目陷阱与解题路径
158
+ 3. **质量管控**
159
+ - 确保每道题:
160
+ ✓ 覆盖相同核心知识点
161
+ ✓ 保持解题逻辑一致性
162
+ ✓ 答案唯一且可验证
163
+ ✓ 无知识性错误
164
+ ### 输出规范
165
+ 你的响应输出**必须严格遵循以下自定义标签格式**。**严禁**使用 JSON 或 Markdown 代码块。**严禁**返回 \`\`\`json ... \`\`\`。
166
+
167
+ 请严格按照以下结构输出内容(不要包含任何其他文字):
168
+
169
+ <question_text>
170
+ 在此处填写新生成的填空题或解答题。不要包含题号、分值或选择题选项。
171
+ </question_text>
172
+
173
+ <answer_text>
174
+ 在此处填写新题目的正确答案。
175
+ </answer_text>
176
+
177
+ <analysis>
178
+ 在此处填写新题目的详细解析。
179
+ * 必须使用简体中文。
180
+ * **直接使用标准的 LaTeX 符号**(如 $\frac{1}{2}$),**不要**进行 JSON 转义。
181
+ </analysis>
182
+
183
+ {{figure_instruction}}
184
+
185
+ ###关键格式与内容约束 (CRITICAL RULES) !!!
186
+ 1. **纯文本**:内容作为纯文本处理,**不要转义反斜杠**。
187
+ 2. **LaTeX 规范**:
188
+ ${sn}
189
+
190
+ {{grade_instruction}}
191
+ {{provider_hints}}`;var so=e.i(367240);function sd({name:e,description:t}){return(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start gap-1 sm:gap-2 text-xs py-1",children:[(0,s.jsx)("code",{className:"bg-muted px-1.5 py-0.5 rounded font-mono text-primary shrink-0 w-fit",children:`{{${e}}}`}),(0,s.jsx)("span",{className:"text-muted-foreground",children:t})]})}function sm(){let{t:e}=(0,t.b)();return(0,s.jsxs)("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3 flex items-start gap-3 text-amber-900 text-sm mb-4",children:[(0,s.jsx)(j,{className:"h-5 w-5 shrink-0 text-amber-600"}),(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("p",{className:"font-medium",children:e.settings?.prompts?.caution||"Modify with Caution"}),(0,s.jsx)("p",{className:"text-amber-800/90 text-xs",children:e.settings?.prompts?.warning||"Variables in {{brackets}} are used to inject dynamic content. Please preserve these variables, otherwise the AI providing may fail to get question context or return invalid formats."})]})]})}function su({config:e,onUpdate:a}){let{t:i}=(0,t.b)(),r=e.prompts?.analyze||sl,n=e.prompts?.similar||sc,l=async e=>{await (0,em.u)(i.settings?.prompts?.resetConfirm||"Are you sure you want to reset to default?",{destructive:!0})&&a(e,"analyze"===e?sl:sc)},c=(e,s)=>{a(e,s)};return(0,s.jsx)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:(0,s.jsxs)(A.i,{defaultValue:"analyze",className:"w-full",children:[(0,s.jsxs)(A.U,{className:"grid w-full grid-cols-2",children:[(0,s.jsx)(A.k,{value:"analyze",children:i.settings?.prompts?.analysisTab||"Analysis Prompt"}),(0,s.jsx)(A.k,{value:"similar",children:i.settings?.prompts?.similarTab||"Similar Question Prompt"})]}),(0,s.jsx)(A.S,{value:"analyze",className:"space-y-4 py-4",children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(ee.f,{className:"text-base font-semibold",children:i.settings?.prompts?.customAnalysis||"Custom Analysis Template"}),(0,s.jsxs)(C.f,{variant:"outline",size:"sm",onClick:()=>l("analyze"),children:[(0,s.jsx)(so.f,{className:"w-4 h-4 mr-2"}),i.settings?.prompts?.reset||"Reset Default"]})]}),(0,s.jsx)(sm,{}),(0,s.jsxs)("div",{className:"space-y-2 border rounded-md p-3 bg-background",children:[(0,s.jsxs)("h4",{className:"text-xs font-medium flex items-center gap-1.5 mb-2",children:[(0,s.jsx)(y,{className:"h-3.5 w-3.5"}),i.settings?.prompts?.variables||"Available Variables"]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(sd,{name:"language_instruction",description:i.settings?.prompts?.vars?.languageInstruction||"Injects instructions based on target language (e.g., keep English questions in English but analysis in Chinese)."}),(0,s.jsx)(sd,{name:"knowledge_points_list",description:i.settings?.prompts?.vars?.knowledgePointsList||"Injects the standard list of knowledge point tags for the specific subject."}),(0,s.jsx)(sd,{name:"provider_hints",description:i.settings?.prompts?.vars?.providerHints||"System-injected hints (e.g., enforcing JSON format)."})]})]}),(0,s.jsx)(se.f,{value:r,onChange:e=>c("analyze",e.target.value),className:"font-mono text-xs min-h-[400px]",placeholder:sl})]})}),(0,s.jsx)(A.S,{value:"similar",className:"space-y-4 py-4",children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(ee.f,{className:"text-base font-semibold",children:i.settings?.prompts?.customSimilar||"Custom Similar Question Template"}),(0,s.jsxs)(C.f,{variant:"outline",size:"sm",onClick:()=>l("similar"),children:[(0,s.jsx)(so.f,{className:"w-4 h-4 mr-2"}),i.settings?.prompts?.reset||"Reset Default"]})]}),(0,s.jsx)(sm,{}),(0,s.jsxs)("div",{className:"space-y-2 border rounded-md p-3 bg-background",children:[(0,s.jsxs)("h4",{className:"text-xs font-medium flex items-center gap-1.5 mb-2",children:[(0,s.jsx)(y,{className:"h-3.5 w-3.5"}),i.settings?.prompts?.variables||"Available Variables"]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(sd,{name:"difficulty_level",description:i.settings?.prompts?.vars?.difficultyLevel||"Target difficulty level."}),(0,s.jsx)(sd,{name:"difficulty_instruction",description:i.settings?.prompts?.vars?.difficultyInstruction||"Specific writing instructions for the target difficulty."}),(0,s.jsx)(sd,{name:"original_question",description:i.settings?.prompts?.vars?.originalQuestion||"The full text of the original question."}),(0,s.jsx)(sd,{name:"knowledge_points",description:i.settings?.prompts?.vars?.knowledgePoints||"List of knowledge points to test."}),(0,s.jsx)(sd,{name:"language_instruction",description:i.settings?.prompts?.vars?.languageInstructionShort||"Language formatting instructions."})]})]}),(0,s.jsx)(se.f,{value:n,onChange:e=>c("similar",e.target.value),className:"font-mono text-xs min-h-[400px]",placeholder:sc})]})})]})})}function sx({value:e,icon:t,label:a}){return(0,s.jsxs)(A.k,{value:e,className:"px-2 sm:px-3",children:[t,(0,s.jsx)("span",{className:"hidden sm:inline",children:a})]})}function sh(){let{setTimeZone:e}=(0,i.M)(),{data:r}=(0,a.useSession)(),n=r?.user?.role==="admin",{t:o}=(0,t.b)(),d=(0,l.useRouter)(),[m,u]=(0,g.useState)(!1),x=(0,g.useRef)(null),[h,f]=(0,g.useState)(!1),[E,I]=(0,g.useState)(!1),[P,z]=(0,g.useState)({aiProvider:"minimax"}),U=(0,g.useCallback)(async()=>{I(!0);try{z(await ed.f.get("/api/settings"))}catch(e){eu.f.error("[SettingsDialog]","Failed to fetch settings",{error:e})}finally{I(!1)}},[]);(0,g.useEffect)(()=>{m&&U()},[m,U]);let R=async()=>{let s=function(e,s){if(!(0,T.L)(e.timeZone??T.J))return s.settings.general.invalidTimeZone;if("openai"===e.aiProvider)for(let t of e.openai?.instances||[]){if(!t.name?.trim())return s.settings?.ai?.validationNameRequired||"Instance name is required";if(!t.apiKey?.trim())return s.settings?.ai?.validationApiKeyRequired||"API Key is required";if(!t.baseUrl?.trim())return s.settings?.ai?.validationBaseUrlRequired||"Base URL is required";if(!t.model?.trim())return s.settings?.ai?.validationModelRequired||"Model name is required"}if("azure"===e.aiProvider){if(!e.azure?.endpoint?.trim())return s.settings?.ai?.validationAzureEndpointRequired||"Azure Endpoint is required";if(!e.azure?.deploymentName?.trim())return s.settings?.ai?.validationAzureDeploymentRequired||"Deployment Name is required";if(!e.azure?.apiKey?.trim())return s.settings?.ai?.validationApiKeyRequired||"API Key is required"}return null}(P,o);if(s)return void em.c.error(s);f(!0);try{let s=await ed.f.post("/api/settings",P);z(s),e(s.timeZone||T.J),em.c.success(o.settings?.messages?.saved||"Settings saved"),x.current?.scrollTo({top:0,behavior:"smooth"})}catch(e){eu.f.error("[SettingsDialog]","Failed to save settings",{error:e}),em.c.error(o.settings?.messages?.saveFailed||"Failed to save")}finally{f(!1)}},_=e=>(0,s.jsxs)(C.f,{onClick:R,disabled:h,className:"w-full",children:[h&&(0,s.jsx)(N.f,{className:"mr-2 h-4 w-4 animate-spin"}),e]});return(0,s.jsxs)(M.N,{open:m,onOpenChange:u,children:[(0,s.jsx)(M.a,{asChild:!0,children:(0,s.jsxs)(C.f,{variant:"ghost",size:"icon",className:"rounded-full",children:[(0,s.jsx)(k,{className:"h-5 w-5"}),(0,s.jsx)("span",{className:"sr-only",children:o.settings?.title||"Settings"})]})}),(0,s.jsxs)(M.d,{ref:x,className:"w-[calc(100vw-2rem)] sm:max-w-[900px] max-h-[85vh] overflow-y-auto",children:[(0,s.jsxs)(M.s,{children:[(0,s.jsx)(M.F,{children:o.settings?.title||"Settings"}),(0,s.jsx)(M.C,{children:o.settings?.desc||"Manage your preferences and data."})]}),(0,s.jsxs)(A.i,{defaultValue:"general",className:"w-full",children:[(0,s.jsxs)(A.U,{className:`grid w-full grid-cols-4 ${n?"sm:grid-cols-7":"sm:grid-cols-4"} gap-1 h-auto`,children:[(0,s.jsx)(sx,{value:"general",icon:(0,s.jsx)(b.f,{className:"h-4 w-4 sm:mr-2"}),label:o.settings?.tabs?.general||"General"}),(0,s.jsx)(sx,{value:"account",icon:(0,s.jsx)(S.f,{className:"h-4 w-4 sm:mr-2"}),label:o.settings?.tabs?.account||"Account"}),n&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(sx,{value:"ai",icon:(0,s.jsx)(v,{className:"h-4 w-4 sm:mr-2"}),label:o.settings?.tabs?.ai||"AI Provider"}),(0,s.jsx)(sx,{value:"prompts",icon:(0,s.jsx)(w,{className:"h-4 w-4 sm:mr-2"}),label:o.settings?.tabs?.prompts||"Prompts"}),(0,s.jsx)(sx,{value:"admin",icon:(0,s.jsx)(p,{className:"h-4 w-4 sm:mr-2"}),label:o.settings?.tabs?.admin||"User Management"})]}),(0,s.jsx)(sx,{value:"danger",icon:(0,s.jsx)(j,{className:"h-4 w-4 sm:mr-2"}),label:o.settings?.tabs?.danger||"Danger"}),(0,s.jsx)(sx,{value:"about",icon:(0,s.jsx)(y,{className:"h-4 w-4 sm:mr-2"}),label:o.settings?.tabs?.about||"About"})]}),(0,s.jsxs)(A.S,{value:"general",className:"space-y-4 py-4",children:[(0,s.jsx)(e9,{config:P,setConfig:z,isAdmin:n,disabled:E||h}),n&&_(o.settings?.save||"Save Settings")]}),(0,s.jsx)(A.S,{value:"account",className:"space-y-4 py-4",children:(0,s.jsx)(eT,{})}),(0,s.jsx)(A.S,{value:"ai",className:"space-y-4 py-4",children:(0,s.jsx)(eZ,{config:P,setConfig:z,loading:E,saving:h,onSave:R})}),(0,s.jsxs)(A.S,{value:"prompts",className:"space-y-4 py-4",children:[(0,s.jsx)(su,{config:P,onUpdate:(e,s)=>z(t=>({...t,prompts:{...t.prompts,[e]:s}}))}),_(o.settings?.prompts?.save||"Save Prompt Settings")]}),n&&(0,s.jsxs)(A.S,{value:"admin",className:"space-y-4 py-4",children:[(0,s.jsxs)(C.f,{variant:"outline",className:"w-full justify-start gap-2",onClick:()=>{u(!1),d.push("/admin")},children:[(0,s.jsx)(c.f,{className:"h-4 w-4"}),o.admin?.dashboard?.title||"Admin Dashboard"]}),(0,s.jsx)("div",{className:"border-t pt-4",children:(0,s.jsx)(eh,{})})]}),(0,s.jsx)(A.S,{value:"danger",className:"space-y-4 py-4",children:(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(e2,{isAdmin:n}),(0,s.jsx)(eJ,{isAdmin:n})]})}),(0,s.jsx)(A.S,{value:"about",className:"space-y-4 py-4",children:(0,s.jsx)(ew,{})})]})]})]})}let sp=[/^\/login/,/^\/register/,/^\/print-preview/,/^\/exams\/[^/]+\/print/],sf=[{key:"home",href:"/",icon:h,match:e=>"/"===e},{key:"notebooks",href:"/notebooks",icon:o.f,match:e=>e.startsWith("/notebooks")||e.startsWith("/error-items")||e.startsWith("/practice")},{key:"review",href:"/review",icon:d.f,match:e=>e.startsWith("/review")},{key:"tags",href:"/tags",icon:f,match:e=>e.startsWith("/tags")},{key:"stats",href:"/stats",icon:c.f,match:e=>e.startsWith("/stats")},{key:"exams",href:"/exams",icon:m.f,match:e=>e.startsWith("/exams")}];function sg({children:e}){let i=(0,l.usePathname)()||"/",{t:c}=(0,t.b)(),{data:o,status:d}=(0,a.useSession)();if(sp.some(e=>e.test(i))||"unauthenticated"===d)return(0,s.jsx)(s.Fragment,{children:e});let m=o?.user?.role==="admin",u=o?.user?.name||o?.user?.email||"";return(0,s.jsxs)("div",{className:"min-h-screen",children:[(0,s.jsx)("header",{className:"sticky top-0 z-40 border-b bg-card/80 backdrop-blur-md supports-[backdrop-filter]:bg-card/70 print:hidden",children:(0,s.jsxs)("div",{className:"mx-auto flex h-14 max-w-6xl items-center gap-3 px-4 md:h-16 md:px-8",children:[(0,s.jsxs)(n.default,{href:"/",className:"flex shrink-0 items-center gap-2",children:[(0,s.jsx)(r.default,{src:"/icons/icon.png",alt:"",width:32,height:32,className:"rounded-lg",priority:!0,unoptimized:!0}),(0,s.jsx)("span",{className:"text-base font-semibold tracking-tight",children:c.pageTitle.base})]}),(0,s.jsx)("nav",{className:"ml-4 hidden items-center gap-1 md:flex",children:sf.map(e=>{let t=e.match(i),a=e.icon;return(0,s.jsxs)(n.default,{href:e.href,className:(0,X.f)("flex items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors",t?"bg-accent text-accent-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),"aria-current":t?"page":void 0,children:[(0,s.jsx)(a,{className:"h-4 w-4"}),c.nav[e.key]]},e.key)})}),(0,s.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[u&&(0,s.jsxs)("span",{className:"mr-2 hidden max-w-40 items-center gap-2 truncate text-sm text-muted-foreground lg:flex",children:[(0,s.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-xs font-semibold text-primary",children:u.slice(0,1).toUpperCase()}),(0,s.jsx)("span",{className:"truncate",children:u})]}),m&&(0,s.jsx)(n.default,{href:"/admin",title:c.nav.admin,children:(0,s.jsxs)(C.f,{variant:"ghost",size:"icon",className:"rounded-full",children:[(0,s.jsx)(p,{className:"h-5 w-5"}),(0,s.jsx)("span",{className:"sr-only",children:c.nav.admin})]})}),(0,s.jsx)(sh,{}),(0,s.jsx)(C.f,{variant:"ghost",size:"icon",className:"rounded-full text-muted-foreground hover:text-destructive",onClick:()=>(0,a.signOut)({callbackUrl:"/login"}),title:c.app.logout,children:(0,s.jsx)(x,{className:"h-5 w-5"})})]})]})}),(0,s.jsx)("div",{className:"pb-20 md:pb-0",children:e}),(0,s.jsx)("nav",{className:"pb-safe fixed inset-x-0 bottom-0 z-40 border-t bg-card/90 backdrop-blur-md md:hidden print:hidden",children:(0,s.jsx)("div",{className:"grid h-16 grid-cols-6",children:sf.map(e=>{let t=e.match(i),a=e.icon;return(0,s.jsxs)(n.default,{href:e.href,className:(0,X.f)("flex flex-col items-center justify-center gap-1 text-[11px] font-medium transition-colors",t?"text-primary":"text-muted-foreground"),"aria-current":t?"page":void 0,children:[(0,s.jsx)("span",{className:(0,X.f)("flex h-7 w-12 items-center justify-center rounded-full transition-colors",t&&"bg-accent"),children:(0,s.jsx)(a,{className:"h-5 w-5"})}),c.nav[e.key]]},e.key)})})})]})}let sj=(0,u.f)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),sv=[/^\/login/,/^\/register/,/^\/print-preview/,/^\/exams\/[^/]+\/print/];function sy(){let{t:e}=(0,t.b)(),{timeZone:r}=(0,i.M)(),{status:c}=(0,a.useSession)(),o=(0,l.usePathname)(),[d,m]=(0,g.useState)(!1),[u,x]=(0,g.useState)([]),[h,p]=(0,g.useState)(()=>Date.now()),f="authenticated"!==c||sv.some(e=>e.test(o||"")),j=(0,g.useCallback)(async()=>{if("u"<typeof document||"hidden"!==document.visibilityState)try{let e=await ed.f.get("/api/tasks");x(e.tasks),p(Date.now())}catch{}},[]);if((0,g.useEffect)(()=>{if(f)return;let e=setTimeout(j,0),s=setInterval(j,d?2e3:15e3);return()=>{clearTimeout(e),clearInterval(s)}},[f,d,j]),f)return null;let v=u.filter(e=>"running"===e.status).length,y=u.some(e=>"running"!==e.status),b=async()=>{try{let e=await ed.f.delete("/api/tasks");x(e.tasks)}catch{}};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(C.f,{variant:"outline",size:"icon",className:"fixed bottom-20 right-4 z-40 h-11 w-11 rounded-full shadow-lg md:bottom-6 md:right-6 print:hidden",onClick:()=>m(!0),"aria-label":e.backgroundTasks.title,title:e.backgroundTasks.title,children:[v>0?(0,s.jsx)(N.f,{className:"h-5 w-5 animate-spin"}):(0,s.jsx)(sj,{className:"h-5 w-5"}),v>0&&(0,s.jsx)("span",{className:"absolute -right-1 -top-1 flex h-5 min-w-5 items-center justify-center rounded-full bg-primary px-1 text-xs text-primary-foreground",children:v})]}),(0,s.jsx)(M.N,{open:d,onOpenChange:m,children:(0,s.jsxs)(M.d,{className:"max-h-[85vh] overflow-y-auto sm:max-w-lg",children:[(0,s.jsxs)(M.s,{children:[(0,s.jsx)(M.F,{children:e.backgroundTasks.title}),(0,s.jsx)(M.C,{children:e.backgroundTasks.description})]}),0===u.length?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:e.backgroundTasks.empty}):(0,s.jsx)("ul",{className:"space-y-2",children:u.map(t=>{var a,i;let l;return(0,s.jsx)("li",{className:"rounded-md border p-3 text-sm",children:(0,s.jsxs)("div",{className:"flex items-start gap-2",children:["running"===t.status&&(0,s.jsx)(N.f,{className:"mt-0.5 h-4 w-4 shrink-0 animate-spin text-primary"}),"succeeded"===t.status&&(0,s.jsx)(eE,{className:"mt-0.5 h-4 w-4 shrink-0 text-green-600"}),"failed"===t.status&&(0,s.jsx)(eI.f,{className:"mt-0.5 h-4 w-4 shrink-0 text-destructive"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,s.jsxs)("div",{className:"font-medium",children:[e.backgroundTasks.kinds[t.kind],(0,s.jsxs)("span",{className:"font-normal text-muted-foreground",children:[" · ",e.backgroundTasks.status[t.status]]})]}),t.subject&&(0,s.jsx)("div",{className:"break-words text-muted-foreground",children:t.subject}),t.progress&&t.progress.total>0&&(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("div",{className:"h-1.5 overflow-hidden rounded bg-muted",children:(0,s.jsx)("div",{className:"h-full bg-primary transition-all",style:{width:`${Math.round(t.progress.done/t.progress.total*100)}%`}})}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:[e.backgroundTasks.progress.replace("{done}",String(t.progress.done)).replace("{total}",String(t.progress.total)),t.progress.failed>0&&` \xb7 ${e.backgroundTasks.failedCount.replace("{count}",String(t.progress.failed))}`]})]}),t.error&&(0,s.jsx)("div",{className:"text-xs text-destructive",children:(s=>{if(!s)return null;let t=e.backgroundTasks.errors[s]??e.errors[s];return"string"==typeof t?t:s})(t.error)}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{children:e.backgroundTasks.startedAt.replace("{time}",(0,T.r)(t.startedAt,"HH:mm:ss",r))}),(0,s.jsx)("span",{children:e.backgroundTasks.elapsed.replace("{time}",(a=t.startedAt,i=t.finishedAt,l=Math.max(0,Math.round(((i?Date.parse(i):h)-Date.parse(a))/1e3)),`${Math.floor(l/60)}:${String(l%60).padStart(2,"0")}`))}),t.link&&(0,s.jsx)(n.default,{href:t.link,className:"text-primary hover:underline",onClick:()=>m(!1),children:e.backgroundTasks.view})]})]})]})},t.id)})}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2 pt-1",children:[(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:e.backgroundTasks.retentionHint}),y&&(0,s.jsx)(C.f,{variant:"ghost",size:"sm",onClick:b,children:e.backgroundTasks.clearFinished})]})]})})]})}var sb=e.i(37727);let sN={success:{icon:eE,className:"text-success"},error:{icon:eI.f,className:"text-destructive"},warning:{icon:j,className:"text-warning"},info:{icon:y,className:"text-primary"}};function sw(){let{t:e}=(0,t.b)(),[a,i]=(0,g.useState)([]),[r,n]=(0,g.useState)(null);return(0,g.useEffect)(()=>(0,em.M)(e=>{i(e.toasts),n(e.confirm)}),[]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"pointer-events-none fixed inset-x-0 top-3 z-[100] flex flex-col items-center gap-2 px-4 print:hidden",role:"status","aria-live":"polite",children:a.map(t=>{let{icon:a,className:i}=sN[t.type];return(0,s.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-sm items-start gap-3 rounded-xl border bg-card/95 px-4 py-3 text-sm shadow-lg backdrop-blur animate-in fade-in slide-in-from-top-2 duration-200",children:[(0,s.jsx)(a,{className:(0,X.f)("mt-0.5 h-4 w-4 shrink-0",i)}),(0,s.jsx)("p",{className:"min-w-0 flex-1 whitespace-pre-line break-words leading-relaxed",children:t.message}),(0,s.jsx)("button",{type:"button",className:"shrink-0 rounded p-0.5 text-muted-foreground transition-colors hover:text-foreground",onClick:()=>(0,em.p)(t.id),"aria-label":e.common.close,children:(0,s.jsx)(sb.X,{className:"h-3.5 w-3.5"})})]},t.id)})}),(0,s.jsx)(M.N,{open:!!r,onOpenChange:e=>{e||r?.resolve(!1)},children:(0,s.jsxs)(M.d,{className:"sm:max-w-md",children:[(0,s.jsxs)(M.s,{children:[(0,s.jsxs)(M.F,{className:"flex items-center gap-2",children:[r?.destructive&&(0,s.jsx)(j,{className:"h-5 w-5 text-destructive"}),r?.title||e.common.confirmTitle]}),(0,s.jsx)(M.C,{className:"whitespace-pre-line pt-1 text-left leading-relaxed",children:r?.message})]}),(0,s.jsxs)(M.c,{className:"gap-2",children:[(0,s.jsx)(C.f,{variant:"outline",onClick:()=>r?.resolve(!1),children:r?.cancelText||e.common.cancel}),(0,s.jsx)(C.f,{variant:r?.destructive?"destructive":"default",onClick:()=>r?.resolve(!0),autoFocus:!0,children:r?.confirmText||e.common.confirm})]})]})})]})}function sk(){return(0,g.useEffect)(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js",{scope:"/"}).catch(e=>{eu.f.warn("[PWA]","Service worker registration failed",{error:String(e)})})},[]),null}e.s(["Providers",0,function({children:e,timeZone:r}){return(0,s.jsx)(a.SessionProvider,{children:(0,s.jsx)(t.w,{children:(0,s.jsxs)(i.n,{initialTimeZone:r,children:[(0,s.jsx)(sg,{children:e}),(0,s.jsx)(sy,{}),(0,s.jsx)(sw,{}),(0,s.jsx)(sk,{})]})})})}],1661)}]);