wrong-notebook 2026.10.21 → 2026.10.22

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 (263) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/server/app/_global-error.html +1 -1
  5. package/.next/server/app/_global-error.rsc +1 -1
  6. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  9. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  10. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/admin/page.js.nft.json +1 -1
  12. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/admin/user/[id]/page.js.nft.json +1 -1
  14. package/.next/server/app/admin/user/[id]/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/admin/dashboard/route.js +1 -1
  16. package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -1
  17. package/.next/server/app/api/ai/models/route.js +2 -2
  18. package/.next/server/app/api/ai/models/route.js.nft.json +1 -1
  19. package/.next/server/app/api/ai/test/route.js +3 -3
  20. package/.next/server/app/api/ai/test/route.js.nft.json +1 -1
  21. package/.next/server/app/api/analytics/route.js +1 -1
  22. package/.next/server/app/api/analytics/route.js.nft.json +1 -1
  23. package/.next/server/app/api/analyze/route.js +2 -2
  24. package/.next/server/app/api/analyze/route.js.nft.json +1 -1
  25. package/.next/server/app/api/error-items/[id]/figure/route.js +2 -2
  26. package/.next/server/app/api/error-items/[id]/figure/route.js.nft.json +1 -1
  27. package/.next/server/app/api/error-items/[id]/fix-latex/route.js +2 -2
  28. package/.next/server/app/api/error-items/[id]/fix-latex/route.js.nft.json +1 -1
  29. package/.next/server/app/api/error-items/[id]/geogebra/route.js +4 -3
  30. package/.next/server/app/api/error-items/[id]/geogebra/route.js.nft.json +1 -1
  31. package/.next/server/app/api/error-items/[id]/reanswer/route.js +5 -4
  32. package/.next/server/app/api/error-items/[id]/reanswer/route.js.nft.json +1 -1
  33. package/.next/server/app/api/error-items/[id]/retag/route.js +6 -6
  34. package/.next/server/app/api/error-items/[id]/retag/route.js.nft.json +1 -1
  35. package/.next/server/app/api/error-items/[id]/svg-animation/route.js +2 -2
  36. package/.next/server/app/api/error-items/[id]/svg-animation/route.js.nft.json +1 -1
  37. package/.next/server/app/api/error-items/list/route.js +1 -1
  38. package/.next/server/app/api/error-items/list/route.js.nft.json +1 -1
  39. package/.next/server/app/api/error-items/route.js +6 -6
  40. package/.next/server/app/api/error-items/route.js.nft.json +1 -1
  41. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js +5 -5
  42. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.nft.json +1 -1
  43. package/.next/server/app/api/exams/[id]/results/route.js +6 -6
  44. package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -1
  45. package/.next/server/app/api/exams/[id]/retry/route.js +5 -5
  46. package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -1
  47. package/.next/server/app/api/exams/[id]/route.js +3 -3
  48. package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -1
  49. package/.next/server/app/api/exams/route.js +4 -4
  50. package/.next/server/app/api/exams/route.js.nft.json +1 -1
  51. package/.next/server/app/api/export/route.js +1 -1
  52. package/.next/server/app/api/export/route.js.nft.json +1 -1
  53. package/.next/server/app/api/geogebra-analyze/route.js +4 -4
  54. package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -1
  55. package/.next/server/app/api/import/route.js +6 -6
  56. package/.next/server/app/api/import/route.js.nft.json +1 -1
  57. package/.next/server/app/api/notebooks/[id]/retag/route.js +3 -3
  58. package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -1
  59. package/.next/server/app/api/openclaw/batch-upload/route.js +5 -5
  60. package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -1
  61. package/.next/server/app/api/practice/generate/route.js +4 -4
  62. package/.next/server/app/api/practice/generate/route.js.nft.json +1 -1
  63. package/.next/server/app/api/practice/record/[id]/route.js +4 -4
  64. package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -1
  65. package/.next/server/app/api/practice/record/route.js +4 -3
  66. package/.next/server/app/api/practice/record/route.js.nft.json +1 -1
  67. package/.next/server/app/api/reanswer/route.js +4 -4
  68. package/.next/server/app/api/reanswer/route.js.nft.json +1 -1
  69. package/.next/server/app/api/register/route.js +1 -1
  70. package/.next/server/app/api/register/route.js.nft.json +1 -1
  71. package/.next/server/app/api/register/status/route.js +1 -1
  72. package/.next/server/app/api/register/status/route.js.nft.json +1 -1
  73. package/.next/server/app/api/settings/route.js +5 -4
  74. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  75. package/.next/server/app/api/stats/practice/route.js +1 -1
  76. package/.next/server/app/api/stats/practice/route.js.nft.json +1 -1
  77. package/.next/server/app/error-items/[id]/page.js.nft.json +1 -1
  78. package/.next/server/app/error-items/[id]/page_client-reference-manifest.js +1 -1
  79. package/.next/server/app/exams/[id]/page.js.nft.json +1 -1
  80. package/.next/server/app/exams/[id]/page_client-reference-manifest.js +1 -1
  81. package/.next/server/app/exams/[id]/print/page.js.nft.json +1 -1
  82. package/.next/server/app/exams/[id]/print/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/exams/page.js.nft.json +1 -1
  84. package/.next/server/app/exams/page_client-reference-manifest.js +1 -1
  85. package/.next/server/app/latex-test/page.js.nft.json +1 -1
  86. package/.next/server/app/latex-test/page_client-reference-manifest.js +1 -1
  87. package/.next/server/app/login/page.js.nft.json +1 -1
  88. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  89. package/.next/server/app/notebooks/[id]/add/page.js.nft.json +1 -1
  90. package/.next/server/app/notebooks/[id]/add/page_client-reference-manifest.js +1 -1
  91. package/.next/server/app/notebooks/[id]/page.js.nft.json +1 -1
  92. package/.next/server/app/notebooks/[id]/page_client-reference-manifest.js +1 -1
  93. package/.next/server/app/notebooks/page.js.nft.json +1 -1
  94. package/.next/server/app/notebooks/page_client-reference-manifest.js +1 -1
  95. package/.next/server/app/page.js.nft.json +1 -1
  96. package/.next/server/app/page_client-reference-manifest.js +1 -1
  97. package/.next/server/app/practice/page.js.nft.json +1 -1
  98. package/.next/server/app/practice/page_client-reference-manifest.js +1 -1
  99. package/.next/server/app/print-preview/page.js.nft.json +1 -1
  100. package/.next/server/app/print-preview/page_client-reference-manifest.js +1 -1
  101. package/.next/server/app/register/page.js.nft.json +1 -1
  102. package/.next/server/app/register/page_client-reference-manifest.js +1 -1
  103. package/.next/server/app/stats/page.js.nft.json +1 -1
  104. package/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  105. package/.next/server/app/tags/page.js.nft.json +1 -1
  106. package/.next/server/app/tags/page_client-reference-manifest.js +1 -1
  107. package/.next/server/chunks/{[root-of-the-server]__0-8hf14._.js → [root-of-the-server]__02j1w81._.js} +1 -1
  108. package/.next/server/chunks/{[root-of-the-server]__08gak8r._.js → [root-of-the-server]__03nfvnm._.js} +1 -1
  109. package/.next/server/chunks/{[root-of-the-server]__0gpohuv._.js → [root-of-the-server]__06_nln5._.js} +2 -2
  110. package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +1 -1
  111. package/.next/server/chunks/{[root-of-the-server]__08zi-xg._.js → [root-of-the-server]__0be5c5r._.js} +1 -1
  112. package/.next/server/chunks/{[root-of-the-server]__0994h9l._.js → [root-of-the-server]__0bqawi0._.js} +1 -1
  113. package/.next/server/chunks/[root-of-the-server]__0bsw5c9._.js +3 -0
  114. package/.next/server/chunks/[root-of-the-server]__0cmxmwt._.js +3 -0
  115. package/.next/server/chunks/{[root-of-the-server]__1utxo11._.js → [root-of-the-server]__0d5dpu4._.js} +2 -2
  116. package/.next/server/chunks/{[root-of-the-server]__05no8nw._.js → [root-of-the-server]__0d9ijed._.js} +2 -2
  117. package/.next/server/chunks/[root-of-the-server]__0fnyu4s._.js +3 -0
  118. package/.next/server/chunks/[root-of-the-server]__0j5231l._.js +3 -0
  119. package/.next/server/chunks/{[root-of-the-server]__0m_f8ct._.js → [root-of-the-server]__0k-nf6a._.js} +2 -2
  120. package/.next/server/chunks/[root-of-the-server]__0k-p1pj._.js +3 -0
  121. package/.next/server/chunks/[root-of-the-server]__0lrdm1u._.js +3 -0
  122. package/.next/server/chunks/[root-of-the-server]__0lro5a7._.js +3 -0
  123. package/.next/server/chunks/[root-of-the-server]__0mfjf2y._.js +3 -0
  124. package/.next/server/chunks/{[root-of-the-server]__0yds0ae._.js → [root-of-the-server]__0mqorxb._.js} +2 -2
  125. package/.next/server/chunks/[root-of-the-server]__0no6umu._.js +3 -0
  126. package/.next/server/chunks/[root-of-the-server]__0o9gtvd._.js +3 -0
  127. package/.next/server/chunks/{[root-of-the-server]__0ynfeq-._.js → [root-of-the-server]__0obb4y-._.js} +2 -2
  128. package/.next/server/chunks/[root-of-the-server]__0p3u6_q._.js +3 -0
  129. package/.next/server/chunks/[root-of-the-server]__0rmrkd_._.js +3 -0
  130. package/.next/server/chunks/[root-of-the-server]__0tdibjz._.js +3 -0
  131. package/.next/server/chunks/[root-of-the-server]__0vhjihq._.js +3 -0
  132. package/.next/server/chunks/[root-of-the-server]__0vz88er._.js +3 -0
  133. package/.next/server/chunks/[root-of-the-server]__0wf9znr._.js +3 -0
  134. package/.next/server/chunks/[root-of-the-server]__0zv7jom._.js +3 -0
  135. package/.next/server/chunks/[root-of-the-server]__11_-ncy._.js +3 -0
  136. package/.next/server/chunks/[root-of-the-server]__11_1z7m._.js +3 -0
  137. package/.next/server/chunks/[root-of-the-server]__11n87go._.js +3 -0
  138. package/.next/server/chunks/[root-of-the-server]__11p4ahb._.js +3 -0
  139. package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +1 -1
  140. package/.next/server/chunks/[root-of-the-server]__131taws._.js +3 -0
  141. package/.next/server/chunks/[root-of-the-server]__14dnbrn._.js +3 -0
  142. package/.next/server/chunks/[root-of-the-server]__14jqm9_._.js +3 -0
  143. package/.next/server/chunks/[root-of-the-server]__152lbaw._.js +3 -0
  144. package/.next/server/chunks/{[root-of-the-server]__04mu6-m._.js → [root-of-the-server]__16begv4._.js} +2 -2
  145. package/.next/server/chunks/[root-of-the-server]__17duis5._.js +3 -0
  146. package/.next/server/chunks/[root-of-the-server]__17q3k-v._.js +3 -0
  147. package/.next/server/chunks/[root-of-the-server]__184u6de._.js +3 -0
  148. package/.next/server/chunks/[root-of-the-server]__18atlj8._.js +3 -0
  149. package/.next/server/chunks/[root-of-the-server]__18c7l6u._.js +3 -0
  150. package/.next/server/chunks/[root-of-the-server]__18zrkky._.js +3 -0
  151. package/.next/server/chunks/[root-of-the-server]__1aaux7e._.js +3 -0
  152. package/.next/server/chunks/[root-of-the-server]__1cceu4b._.js +3 -0
  153. package/.next/server/chunks/[root-of-the-server]__1h09r50._.js +3 -0
  154. package/.next/server/chunks/[root-of-the-server]__1j6mx-v._.js +3 -0
  155. package/.next/server/chunks/[root-of-the-server]__1jdi-1f._.js +3 -0
  156. package/.next/server/chunks/[root-of-the-server]__1ju8z29._.js +3 -0
  157. package/.next/server/chunks/[root-of-the-server]__1kpo44g._.js +3 -0
  158. package/.next/server/chunks/[root-of-the-server]__1lct0vi._.js +3 -0
  159. package/.next/server/chunks/[root-of-the-server]__1loecue._.js +3 -0
  160. package/.next/server/chunks/[root-of-the-server]__1mkpya8._.js +3 -0
  161. package/.next/server/chunks/{[root-of-the-server]__1a4i9sz._.js → [root-of-the-server]__1nwf3ua._.js} +2 -2
  162. package/.next/server/chunks/[root-of-the-server]__1p8hw44._.js +3 -0
  163. package/.next/server/chunks/[root-of-the-server]__1rsn804._.js +3 -0
  164. package/.next/server/chunks/[root-of-the-server]__1u-1vx4._.js +3 -0
  165. package/.next/server/chunks/[root-of-the-server]__1v6nwhq._.js +3 -0
  166. package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +1 -1
  167. package/.next/server/chunks/[root-of-the-server]__20465pr._.js +3 -0
  168. package/.next/server/chunks/[root-of-the-server]__207mxv8._.js +3 -0
  169. package/.next/server/chunks/_0-eguqv._.js +3 -0
  170. package/.next/server/chunks/_0389uce._.js +3 -0
  171. package/.next/server/chunks/_0_o8yhv._.js +3 -0
  172. package/.next/server/chunks/_0gwg6ba._.js +3 -0
  173. package/.next/server/chunks/_0rdo0a4._.js +3 -0
  174. package/.next/server/chunks/_13ffmxv._.js +1 -1
  175. package/.next/server/chunks/_167vv93._.js +3 -0
  176. package/.next/server/chunks/_16jdov0._.js +1 -1
  177. package/.next/server/chunks/{_1ve0z0w._.js → _1e1h1f1._.js} +1 -1
  178. package/.next/server/chunks/_1flar98._.js +3 -0
  179. package/.next/server/chunks/_1pvqo-q._.js +3 -0
  180. package/.next/server/chunks/src_lib_ai_prompts_ts_0z36zms._.js +15 -8
  181. package/.next/server/chunks/ssr/src_1gayunq._.js +1 -1
  182. package/.next/server/chunks/ssr/src_1o363ao._.js +1 -1
  183. package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +1 -1
  184. package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +1 -1
  185. package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +10 -10
  186. package/.next/server/middleware-build-manifest.js +3 -3
  187. package/.next/server/middleware-manifest.json +5 -5
  188. package/.next/server/pages/500.html +1 -1
  189. package/.next/server/server-reference-manifest.js +1 -1
  190. package/.next/server/server-reference-manifest.json +1 -1
  191. package/.next/static/chunks/130ch9mnvb6mp.css +3 -0
  192. package/.next/static/chunks/17wdtw8hml2n6.js +191 -0
  193. package/.next/static/chunks/2a0kgntckcbvf.js +1 -0
  194. package/.next/static/chunks/{05q4yafxnvtzs.js → 2wnnnmbh85mq_.js} +1 -1
  195. package/.next/static/chunks/3hz1l3qoxv84t.js +1 -0
  196. package/launcher.js +16 -0
  197. package/package.json +1 -1
  198. package/prisma/seed.db +0 -0
  199. package/.next/server/chunks/[root-of-the-server]__00m7v48._.js +0 -3
  200. package/.next/server/chunks/[root-of-the-server]__01m28mx._.js +0 -3
  201. package/.next/server/chunks/[root-of-the-server]__07nvz1d._.js +0 -3
  202. package/.next/server/chunks/[root-of-the-server]__0b3nww4._.js +0 -3
  203. package/.next/server/chunks/[root-of-the-server]__0bs5unr._.js +0 -3
  204. package/.next/server/chunks/[root-of-the-server]__0dfbwm3._.js +0 -3
  205. package/.next/server/chunks/[root-of-the-server]__0els3c1._.js +0 -3
  206. package/.next/server/chunks/[root-of-the-server]__0grkic-._.js +0 -3
  207. package/.next/server/chunks/[root-of-the-server]__0hj9oe2._.js +0 -3
  208. package/.next/server/chunks/[root-of-the-server]__0j-gv3-._.js +0 -3
  209. package/.next/server/chunks/[root-of-the-server]__0je3zje._.js +0 -3
  210. package/.next/server/chunks/[root-of-the-server]__0na-z2m._.js +0 -3
  211. package/.next/server/chunks/[root-of-the-server]__0ns_tws._.js +0 -3
  212. package/.next/server/chunks/[root-of-the-server]__0p3hkz7._.js +0 -3
  213. package/.next/server/chunks/[root-of-the-server]__0pli74s._.js +0 -3
  214. package/.next/server/chunks/[root-of-the-server]__0qaih8c._.js +0 -3
  215. package/.next/server/chunks/[root-of-the-server]__0ra48rd._.js +0 -3
  216. package/.next/server/chunks/[root-of-the-server]__0sh6-yu._.js +0 -3
  217. package/.next/server/chunks/[root-of-the-server]__0ssagl1._.js +0 -3
  218. package/.next/server/chunks/[root-of-the-server]__0ws6c0v._.js +0 -3
  219. package/.next/server/chunks/[root-of-the-server]__0ydrrdj._.js +0 -3
  220. package/.next/server/chunks/[root-of-the-server]__0z-sjqh._.js +0 -3
  221. package/.next/server/chunks/[root-of-the-server]__0zp1e41._.js +0 -3
  222. package/.next/server/chunks/[root-of-the-server]__108ydjw._.js +0 -3
  223. package/.next/server/chunks/[root-of-the-server]__10yghm_._.js +0 -3
  224. package/.next/server/chunks/[root-of-the-server]__11-sf2-._.js +0 -3
  225. package/.next/server/chunks/[root-of-the-server]__11wobg2._.js +0 -3
  226. package/.next/server/chunks/[root-of-the-server]__13_c7nc._.js +0 -3
  227. package/.next/server/chunks/[root-of-the-server]__14pcopd._.js +0 -3
  228. package/.next/server/chunks/[root-of-the-server]__150ei9u._.js +0 -3
  229. package/.next/server/chunks/[root-of-the-server]__15g7yjy._.js +0 -3
  230. package/.next/server/chunks/[root-of-the-server]__19nm3y_._.js +0 -3
  231. package/.next/server/chunks/[root-of-the-server]__1e3crdc._.js +0 -3
  232. package/.next/server/chunks/[root-of-the-server]__1g-xe1f._.js +0 -3
  233. package/.next/server/chunks/[root-of-the-server]__1g3usdn._.js +0 -3
  234. package/.next/server/chunks/[root-of-the-server]__1hmv25w._.js +0 -3
  235. package/.next/server/chunks/[root-of-the-server]__1hq73__._.js +0 -3
  236. package/.next/server/chunks/[root-of-the-server]__1ouzjax._.js +0 -3
  237. package/.next/server/chunks/[root-of-the-server]__1pcgq22._.js +0 -3
  238. package/.next/server/chunks/[root-of-the-server]__1q5nt5y._.js +0 -3
  239. package/.next/server/chunks/[root-of-the-server]__1qt6_3b._.js +0 -3
  240. package/.next/server/chunks/[root-of-the-server]__1v1dgs2._.js +0 -3
  241. package/.next/server/chunks/[root-of-the-server]__1v9b8go._.js +0 -3
  242. package/.next/server/chunks/[root-of-the-server]__1vzxn91._.js +0 -3
  243. package/.next/server/chunks/[root-of-the-server]__1wgn76g._.js +0 -3
  244. package/.next/server/chunks/[root-of-the-server]__1wkh9sj._.js +0 -3
  245. package/.next/server/chunks/[root-of-the-server]__1xcmja4._.js +0 -3
  246. package/.next/server/chunks/[root-of-the-server]__1y6fx9-._.js +0 -3
  247. package/.next/server/chunks/[root-of-the-server]__1zos_p4._.js +0 -3
  248. package/.next/server/chunks/[root-of-the-server]__1zp0oig._.js +0 -3
  249. package/.next/server/chunks/[root-of-the-server]__203q6el._.js +0 -3
  250. package/.next/server/chunks/[root-of-the-server]__20bun16._.js +0 -3
  251. package/.next/server/chunks/_0ae3z2e._.js +0 -3
  252. package/.next/server/chunks/_0o1p57f._.js +0 -3
  253. package/.next/server/chunks/_0t6g4yt._.js +0 -3
  254. package/.next/server/chunks/_19fidvw._.js +0 -3
  255. package/.next/server/chunks/_1oqpwh8._.js +0 -3
  256. package/.next/server/chunks/_1q5w9fc._.js +0 -3
  257. package/.next/static/chunks/1ad3ir88_e_v6.css +0 -3
  258. package/.next/static/chunks/29erttsjondpe.js +0 -1
  259. package/.next/static/chunks/31rxdwy0u_t29.js +0 -1
  260. package/.next/static/chunks/37g3bsrs22xg7.js +0 -191
  261. /package/.next/static/{OpwRvHtdhPgxve2rKkWkK → w6W6dMBYlP4wbCdeRcVhA}/_buildManifest.js +0 -0
  262. /package/.next/static/{OpwRvHtdhPgxve2rKkWkK → w6W6dMBYlP4wbCdeRcVhA}/_clientMiddlewareManifest.js +0 -0
  263. /package/.next/static/{OpwRvHtdhPgxve2rKkWkK → w6W6dMBYlP4wbCdeRcVhA}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[73773,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(99570),f=a.i(79834),g=a.i(6376),h=a.i(91119),i=a.i(86304),j=a.i(210),k=a.i(16201),l=a.i(62722),m=a.i(69520),n=a.i(81560),o=a.i(70106);let p=(0,o.default)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);var q=a.i(14548),r=a.i(33508),s=a.i(72807),t=a.i(96221),u=a.i(41379);let v=(0,o.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),w=(0,o.default)("file-question-mark",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}]]);var x=a.i(29246),y=a.i(38246),z=a.i(50194),A=a.i(74484),B=a.i(93907),C=a.i(60081),D=a.i(99814),E=a.i(66718),F=a.i(80701),G=a.i(91938),H=a.i(57292),I=a.i(92883),J=a.i(50659),K=a.i(10395);let L=(0,o.default)("clapperboard",[["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z",key:"1tn4o7"}],["path",{d:"m6.2 5.3 3.1 3.9",key:"iuk76l"}],["path",{d:"m12.4 3.4 3.1 4",key:"6hsd6n"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z",key:"ltgou9"}]]),M=(0,o.default)("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),N=(0,o.default)("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),O=(0,o.default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),P=(0,o.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var Q=a.i(87654);let R=/<(?:animate|animateTransform|animateMotion|set)\b[^>]*>/gi;function S(a,b){let c=a.match(RegExp(`\\s${b}\\s*=\\s*("([^"]*)"|'([^']*)')`,"i"));return c?(c[2]??c[3]??"").trim():null}function T(a){if(!a)return null;let b=a.trim(),c=b.match(/^(?:(\d+):)?(\d+):(\d+(?:\.\d+)?)$/);if(c)return 3600*Number(c[1]??0)+60*Number(c[2])+Number(c[3]);let d=b.match(/^(\d+(?:\.\d+)?)(h|min|s|ms)?$/);if(!d)return null;let e={h:3600,min:60,s:1,ms:.001}[d[2]??"s"]??1;return Number(d[1])*e}var U=a.i(68114);function V(a){let b=Math.max(0,Math.floor(a));return`${Math.floor(b/60)}:${String(b%60).padStart(2,"0")}`}function W({svg:a}){let{t:d}=(0,z.useLanguage)(),f=(0,c.useRef)(null),g=(0,c.useRef)(null),h=(0,c.useRef)(null),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(0),[m,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(!1),q=m||o,r=(0,c.useMemo)(()=>(function(a){let b=0;for(let c of a.match(R)||[]){let a=S(c,"begin"),d=null===a?0:T(a.split(";")[0]);if(null===d)continue;let e=S(c,"repeatCount");if("indefinite"!==e&&"indefinite"!==S(c,"repeatDur"))b=Math.max(b,d+(T(S(c,"dur"))??0)*(e&&Number.isFinite(Number(e))?Number(e):1))}return b})(a),[a]),s=(0,c.useMemo)(()=>(function(a){let b=a.match(/<svg\b[^>]*>/i)?.[0]??"",c=S(b,"viewBox")?.split(/[\s,]+/).map(Number);if(c?.length===4&&c[2]>0&&c[3]>0)return c[2]/c[3];let d=parseFloat(S(b,"width")??""),e=parseFloat(S(b,"height")??"");return d>0&&e>0?d/e:1.6})(a),[a]),t=(0,c.useMemo)(()=>`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:"><style>html,body{margin:0;height:100%;background:#fff;overflow:hidden}svg{display:block;width:100%;height:100%}</style></head><body>${a}</body></html>`,[a]),u=(0,c.useCallback)(()=>{let a=g.current?.contentDocument;return"function"==typeof a?.getAnimations?a.getAnimations():[]},[]),v=(0,c.useCallback)(()=>{h.current?.pauseAnimations(),u().forEach(a=>a.pause()),j(!1)},[u]),w=(0,c.useCallback)(a=>{h.current?.setCurrentTime(a),u().forEach(b=>{b.currentTime=1e3*a}),l(a)},[u]),x=(0,c.useCallback)(()=>{let a=h.current;a&&(r>0&&a.getCurrentTime()>=r&&w(0),a.unpauseAnimations(),u().forEach(a=>a.play()),j(!0))},[u,r,w]),y=async()=>{if(o)return void p(!1);if(document.fullscreenElement)return void await document.exitFullscreen().catch(()=>void 0);let a=f.current;if(a&&"function"==typeof a.requestFullscreen)try{await a.requestFullscreen();return}catch{}p(!0)};return(0,c.useEffect)(()=>{let a=()=>n(document.fullscreenElement===f.current);return document.addEventListener("fullscreenchange",a),()=>document.removeEventListener("fullscreenchange",a)},[]),(0,c.useEffect)(()=>{if(!o)return;let a=a=>{"Escape"===a.key&&p(!1)},b=document.body.style.overflow;return document.body.style.overflow="hidden",document.addEventListener("keydown",a),()=>{document.body.style.overflow=b,document.removeEventListener("keydown",a)}},[o]),(0,c.useEffect)(()=>{if(!i)return;let a=0,b=()=>{let c=h.current?.getCurrentTime()??0;if(r>0&&c>=r){h.current?.setCurrentTime(r),v(),l(r);return}l(c),a=requestAnimationFrame(b)};return a=requestAnimationFrame(b),()=>cancelAnimationFrame(a)},[i,r,v]),(0,b.jsxs)("div",{ref:f,className:(0,U.cn)("space-y-2",q&&"flex flex-col items-center justify-center bg-black p-4",o&&"fixed inset-0 z-50"),children:[(0,b.jsx)("iframe",{ref:g,srcDoc:t,sandbox:"allow-same-origin",title:d.svgAnimation.alt,onLoad:()=>{h.current=g.current?.contentDocument?.querySelector("svg")??null,l(0),j(!!h.current)},className:(0,U.cn)("mx-auto block rounded border bg-white",!q&&"w-full max-w-3xl"),style:q?{aspectRatio:s,width:`min(100%, calc((100dvh - 96px) * ${s}))`}:{aspectRatio:s}}),(0,b.jsxs)("div",{className:(0,U.cn)("mx-auto flex w-full items-center gap-2",q?"max-w-5xl text-white":"max-w-3xl"),children:[(0,b.jsx)(e.Button,{variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-foreground",onClick:i?v:x,"aria-label":i?d.svgAnimation.pause:d.svgAnimation.play,title:i?d.svgAnimation.pause:d.svgAnimation.play,children:i?(0,b.jsx)(O,{className:"h-4 w-4"}):(0,b.jsx)(P,{className:"h-4 w-4"})}),(0,b.jsx)(e.Button,{variant:"ghost",size:"sm",className:(0,U.cn)("h-8 w-8 shrink-0 p-0",q&&"text-white hover:bg-white/20 hover:text-white"),onClick:()=>{w(0),x()},"aria-label":d.svgAnimation.replay,title:d.svgAnimation.replay,children:(0,b.jsx)(Q.RotateCcw,{className:"h-4 w-4"})}),r>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{type:"range",min:0,max:r,step:.1,value:Math.min(k,r),onChange:a=>w(Number(a.target.value)),"aria-label":d.svgAnimation.progress,className:"h-2 min-w-0 flex-1 cursor-pointer accent-primary"}),(0,b.jsxs)("span",{className:(0,U.cn)("shrink-0 text-xs tabular-nums",q?"text-white/80":"text-muted-foreground"),children:[V(k)," / ",V(r)]})]}),(0,b.jsx)(e.Button,{variant:"ghost",size:"sm",className:(0,U.cn)("ml-auto h-8 w-8 shrink-0 p-0",q&&"text-white hover:bg-white/20 hover:text-white"),onClick:y,"aria-label":q?d.svgAnimation.exitFullscreen:d.svgAnimation.fullscreen,title:q?d.svgAnimation.exitFullscreen:d.svgAnimation.fullscreen,children:q?(0,b.jsx)(N,{className:"h-4 w-4"}):(0,b.jsx)(M,{className:"h-4 w-4"})})]})]})}var X=a.i(30534),Y=a.i(10302);function Z({errorItemId:a,svgAnimation:d,onChange:f}){let{t:g}=(0,z.useLanguage)(),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),[l,o]=(0,c.useState)(null),p=async()=>{i(!0),o(null);try{let b=await G.apiClient.post(`/api/error-items/${a}/svg-animation`,{},{timeout:6e5});f(b.svgAnimation)}catch(c){let a=c?.data?.message||"",b=g.errors[a];X.frontendLogger.error("[SvgAnimation]","Failed to generate SVG animation",{code:a}),o("NO_QUESTION_TEXT"===a?g.svgAnimation.noQuestionText:"NO_VALID_ANIMATION"===a?g.svgAnimation.invalid:"string"==typeof b?b:g.svgAnimation.failed)}finally{i(!1)}},q=async()=>{if(await (0,Y.confirmDialog)(g.svgAnimation.confirmDelete,{destructive:!0})){k(!0);try{await G.apiClient.delete(`/api/error-items/${a}/svg-animation`),f(null),o(null)}catch(a){X.frontendLogger.error("[SvgAnimation]","Failed to delete SVG animation",{error:a instanceof Error?a.message:String(a)}),Y.toast.error(g.svgAnimation.deleteFailed)}finally{k(!1)}}};if(!d)return(0,b.jsxs)("div",{className:"rounded-lg border border-dashed p-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(L,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:g.svgAnimation.title})]}),(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:p,disabled:h,children:[h?(0,b.jsx)(t.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(L,{className:"mr-2 h-4 w-4"}),h?g.svgAnimation.generating:g.svgAnimation.generate]})]}),l&&(0,b.jsx)("p",{className:"text-xs text-destructive mt-2",children:l}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:g.svgAnimation.hint})]});let r=h||j;return(0,b.jsxs)("div",{className:"rounded-lg border bg-card",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2 border-b bg-muted/30",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:g.svgAnimation.title}),r&&(0,b.jsx)(t.Loader2,{className:"h-3 w-3 animate-spin text-muted-foreground"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1",onClick:p,disabled:r,children:[h?(0,b.jsx)(t.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(m.RefreshCw,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:h?g.svgAnimation.generating:g.svgAnimation.regenerate})]}),(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1 text-destructive hover:text-destructive",onClick:q,disabled:r,children:[(0,b.jsx)(n.Trash2,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:g.svgAnimation.delete})]})]})]}),l&&(0,b.jsx)("p",{className:"px-3 pt-2 text-xs text-destructive",children:l}),(0,b.jsx)("div",{className:"p-2 sm:p-3",children:(0,b.jsx)(W,{svg:d})})]})}var $=a.i(33441);let _=(0,o.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);function aa({shortId:a,className:d=""}){let{t:e}=(0,z.useLanguage)(),[f,g]=(0,c.useState)(!1);if(!a)return null;let h=async b=>{b.preventDefault(),b.stopPropagation();try{await navigator.clipboard.writeText(a),g(!0),setTimeout(()=>g(!1),1500)}catch{window.prompt(e.shortId.copy,a)}};return(0,b.jsxs)("button",{type:"button",onClick:h,title:f?e.shortId.copied:e.shortId.copy,className:`inline-flex items-center gap-1 rounded-md border bg-muted/50 px-2 py-0.5 font-mono text-xs text-muted-foreground hover:text-foreground transition-colors ${d}`,children:[(0,b.jsx)("span",{children:e.shortId.label}),(0,b.jsx)("span",{className:"font-semibold text-foreground",children:a}),f?(0,b.jsx)($.Check,{className:"h-3 w-3 text-green-600"}):(0,b.jsx)(_,{className:"h-3 w-3"})]})}var ab=a.i(31368),ac=a.i(18943);let ad=(0,o.default)("shapes",[["path",{d:"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",key:"1bo67w"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}],["circle",{cx:"17.5",cy:"17.5",r:"3.5",key:"w3z12y"}]]);function ae({errorItemId:a,onDone:d}){let{t:f}=(0,z.useLanguage)(),[g,h]=(0,c.useState)(!1),i=async()=>{h(!0);try{let b=await G.apiClient.post(`/api/error-items/${a}/figure`,{});d(b),b.figureSvg||Y.toast.warning(f.figure.noFigure)}catch(c){let a=c?.data?.message||"",b=f.errors[a];X.frontendLogger.error("[RegenerateFigure]","Failed to regenerate figure",{code:a}),Y.toast.error("NO_ORIGINAL_IMAGE"===a?f.figure.noImage:"string"==typeof b?b:f.figure.failed)}finally{h(!1)}};return(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:i,disabled:g,className:"flex items-center gap-2",children:[g?(0,b.jsx)(t.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(ad,{className:"h-4 w-4"}),g?f.figure.regenerating:f.figure.regenerate]})}let af=(0,o.default)("image-plus",[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]);var ag=a.i(97521),ah=a.i(43542);function ai({errorItemId:a,hasImage:d,onDone:f}){let{t:g}=(0,z.useLanguage)(),h=(0,c.useRef)(null),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(null);(0,c.useEffect)(()=>()=>{k&&URL.revokeObjectURL(k)},[k]);let m=async()=>{(!d||await (0,Y.confirmDialog)(g.replaceImage.confirm))&&h.current?.click()},n=async b=>{l(null),j(!0);try{let c=new File([b],"question-image.jpg",{type:b.type||"image/jpeg"}),d=await (0,ah.processImageFile)(c),e=await G.apiClient.put(`/api/error-items/${a}/image`,{imageDataUrl:d});f(e.originalImageUrl),Y.toast.success(g.replaceImage.done)}catch(b){let a=b?.data?.message||"";X.frontendLogger.error("[ReplaceImage]","Failed to replace original image",{code:a}),Y.toast.error("INVALID_IMAGE"===a?g.replaceImage.invalid:g.replaceImage.failed)}finally{j(!1)}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{ref:h,type:"file",accept:"image/png,image/jpeg,image/webp,image/gif",className:"hidden",onChange:a=>{(a=>{if(a){if(!a.type.startsWith("image/"))return Y.toast.error(g.replaceImage.invalid);l(URL.createObjectURL(a))}})(a.target.files?.[0]),a.target.value=""}}),k&&(0,b.jsx)(ag.ImageCropper,{imageSrc:k,open:!0,onClose:()=>l(null),onCropComplete:n}),(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:m,disabled:i,className:"flex items-center gap-2",children:[i?(0,b.jsx)(t.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(af,{className:"h-4 w-4"}),i?g.replaceImage.uploading:d?g.replaceImage.replace:g.replaceImage.add]})]})}var aj=a.i(46862),ak=a.i(8406);function al({errorItemId:a,onDone:d,onSuggested:f}){let{t:g}=(0,z.useLanguage)(),[h,i]=(0,c.useState)(!1),j=async()=>{i(!0);try{if(f){let b=await G.apiClient.post(`/api/error-items/${a}/retag`,{preview:!0});f(b.tags)}else await G.apiClient.post(`/api/error-items/${a}/retag`,{}),d?.()}catch(c){let a=c?.data?.message||"",b=g.errors[a];X.frontendLogger.error("[RetagItem]","Failed to regenerate tags",{code:a}),Y.toast.error("NO_TAGS_SELECTED"===a?g.retag.noTags:"string"==typeof b?b:g.retag.itemFailed)}finally{i(!1)}};return(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:j,disabled:h,children:[h?(0,b.jsx)(t.Loader2,{className:"h-4 w-4 mr-1 animate-spin"}):(0,b.jsx)(ak.Sparkles,{className:"h-4 w-4 mr-1"}),f?h?g.retag.suggestRunning:g.retag.suggestButton:h?g.retag.itemRunning:g.retag.itemButton]})}var am=a.i(14491);function an({errorItemId:a,onDone:d}){let{t:f,language:g}=(0,z.useLanguage)(),[h,i]=(0,c.useState)(!1),j=async()=>{if(await (0,Y.confirmDialog)(f.reanswerItem.confirm)){i(!0);try{let b=await G.apiClient.post(`/api/error-items/${a}/reanswer`,{language:g},{timeout:6e5});d(b)}catch(c){let a=c?.data?.message||"",b=f.errors[a];X.frontendLogger.error("[RegenerateAnswer]","Failed to regenerate answer",{code:a}),Y.toast.error("NO_QUESTION_TEXT"===a?f.reanswerItem.noQuestionText:"string"==typeof b?b:f.reanswerItem.failed)}finally{i(!1)}}};return(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:j,disabled:h,children:[h?(0,b.jsx)(t.Loader2,{className:"h-4 w-4 mr-1 animate-spin"}):(0,b.jsx)(am.WandSparkles,{className:"h-4 w-4 mr-1"}),h?f.reanswerItem.running:f.reanswerItem.button]})}let ao=(0,o.default)("square-function",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3",key:"m1af9g"}],["path",{d:"M9 11.2h5.7",key:"3zgcl2"}]]);var ap=a.i(48986),aq=a.i(78362);let ar=new Set(["ne","neq","nabla","nu","not","notin","ni","nexists","ngeq","nleq","nmid","nparallel","nsubseteq"]);function as(a){return a.length>80?`${a.slice(0,80)}…`:a}let at=["questionText","answerText","analysis","wrongAnswerText","mistakeAnalysis"];function au({errorItemId:a,fields:d,onDone:f}){let{t:g}=(0,z.useLanguage)(),[h,i]=(0,c.useState)(!1),j=(0,c.useMemo)(()=>Object.values(function(a){let b={};for(let c of at){let d=function(a){if(!a?.trim())return[];let{masked:b,segments:c}=(0,aq.extractMathSegments)(a),d=[];for(let a of c)try{ap.default.renderToString(a.tex,{displayMode:a.displayMode,throwOnError:!0,strict:"ignore"})}catch(c){let b=c instanceof Error?c.message.replace(/^KaTeX parse error:\s*/,""):String(c);d.push({snippet:as(a.source),message:b})}let e=b.replace(/@@MATH\d+@@/g," "),f=e.replace(/\\\$/g,"").match(/\$/g);f&&d.push({snippet:"$",message:`有 ${f.length} 个未配对的 $ 定界符`});let g=e.match(/\\[()[\]]/g);g&&d.push({snippet:g.join(" "),message:"有未配对的 \\( \\) 或 \\[ \\] 定界符"});let h=[...new Set(e.match(/\\[a-zA-Z]{2,}/g)||[])].filter(a=>!a.startsWith("\\n")||ar.has(a.slice(1)));return h.length>0&&d.push({snippet:as(h.join(" ")),message:"LaTeX 命令没有放在 $…$ 中,会原样显示"}),d}(a[c]);d.length>0&&(b[c]=d)}return b}(d)).reduce((a,b)=>a+(b?.length??0),0),[d]),k=async()=>{i(!0);try{let b=await G.apiClient.post(`/api/error-items/${a}/fix-latex`,{},{timeout:3e5});f(b.updated);let c=b.fixedFields.map(a=>g.fixLatex.fields[a]).join("、");Y.toast.info(0===b.issuesBefore?g.fixLatex.noIssues:0===b.fixedFields.length?g.fixLatex.notFixed:0===b.issuesAfter?g.fixLatex.fixedAll.replace("{fields}",c):g.fixLatex.fixedPartly.replace("{fields}",c).replace("{count}",String(b.issuesAfter)))}catch(c){let a=c?.data?.message||"",b=g.errors[a];X.frontendLogger.error("[FixLatex]","Failed to fix LaTeX",{code:a}),Y.toast.error("string"==typeof b?b:g.fixLatex.failed)}finally{i(!1)}};return 0!==j||h?(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:k,disabled:h,className:"border-amber-500 text-amber-700 dark:text-amber-400",title:g.fixLatex.issuesFound.replace("{count}",String(j)),children:[h?(0,b.jsx)(t.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(ao,{className:"mr-2 h-4 w-4"}),h?g.fixLatex.running:g.fixLatex.button,!h&&j>0&&(0,b.jsxs)("span",{className:"ml-1",children:["(",j,")"]})]}):null}var av=a.i(51795);a.s(["default",0,function(){let a=(0,d.useParams)(),o=(0,d.useRouter)(),{t:L,language:M}=(0,z.useLanguage)(),[N,O]=(0,c.useState)(null);(0,A.usePageTitle)(L.detail.title,N?.subject?.name,N?.shortId);let[P,Q]=(0,c.useState)(!0),[R,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)(""),[V,W]=(0,c.useState)(!1),[$,_]=(0,c.useState)(!1),[ad,af]=(0,c.useState)([]),[ag,ah]=(0,c.useState)(!1),[ak,am]=(0,c.useState)(""),[ao,ap]=(0,c.useState)("a"),[aq,ar]=(0,c.useState)(null),[as,at]=(0,c.useState)(void 0),[aw,ax]=(0,c.useState)(!1),[ay,az]=(0,c.useState)(null),[aA,aB]=(0,c.useState)(!1),[aC,aD]=(0,c.useState)(!0),[aE,aF]=(0,c.useState)(!1),[aG,aH]=(0,c.useState)(!1),[aI,aJ]=(0,c.useState)(!1),[aK,aL]=(0,c.useState)(!1),aM=(0,c.useRef)(null);(0,c.useEffect)(()=>{G.apiClient.get("/api/user").then(a=>{a&&a.educationStage&&at(a.educationStage),aB(!!a?.enableGeogebra),aD(a?.enableSvgAnimation!==!1)}).catch(a=>console.error("Failed to fetch user info:",a)),a.id&&aO(a.id)},[a.id]);let aN=(0,c.useCallback)(a=>{O(b=>b&&b.masteryLevel!==a?{...b,masteryLevel:a}:b)},[]),aO=async a=>{try{let b=await G.apiClient.get(`/api/error-items/${a}`);O(b)}catch(a){console.error(a),Y.toast.error(L.common?.messages?.loadFailed||"Failed to load item"),o.push("/notebooks")}finally{Q(!1)}},aP=async()=>{if(N){ax(!0),az(null);try{let a=await G.apiClient.post(`/api/error-items/${N.id}/geogebra`,{});a.suitable&&a.commands.length>0?O({...N,geogebraCommands:JSON.stringify(a.commands)}):az(a.description||"该题目不适合用 GeoGebra 演示")}catch(b){console.error("GeoGebra analysis failed:",b);let a=b?.data?.message||b?.message||"";a.includes("AI_AUTH_ERROR")?az("AI 认证失败,请检查设置"):a.includes("AI_CONNECTION")?az("AI 连接失败,请检查网络"):az("分析失败,请稍后重试")}finally{ax(!1)}}},[aQ,aR]=(0,c.useState)(!1),aS=async a=>{if(!N)return;let b=N.difficultyStars??null;O({...N,difficultyStars:a}),aR(!0);try{let b=await G.apiClient.put(`/api/error-items/${N.id}`,{difficultyStars:a});O(a=>a&&{...a,paperLevel:b.paperLevel})}catch(a){O(a=>a&&{...a,difficultyStars:b}),X.frontendLogger.error("[ErrorDetail]","Failed to save difficulty",{error:a instanceof Error?a.message:String(a)}),Y.toast.error(L.difficulty.saveFailed)}finally{aR(!1)}},aT=async a=>{N&&(await G.apiClient.put(`/api/error-items/${N.id}`,{geogebraCommands:a}),O({...N,geogebraCommands:a}))},aU=async()=>{N&&(await G.apiClient.delete(`/api/error-items/${N.id}/geogebra`),O(a=>a&&{...a,geogebraCommands:null}))},aV=(0,c.useCallback)(a=>{O(b=>b&&{...b,answerText:a.answerText??"",analysis:a.analysis??""})},[]),aW=(0,c.useCallback)(a=>{O(b=>b&&{...b,...a})},[]),aX=(0,c.useCallback)(a=>{O(b=>b&&{...b,svgAnimation:a})},[]),aY=async()=>{if(!N)return;let a=N.masteryLevel>0?0:1;try{await G.apiClient.patch(`/api/error-items/${N.id}/mastery`,{masteryLevel:a}),O({...N,masteryLevel:a}),Y.toast.success(a>0?L.common?.messages?.markMastered||"Marked as mastered":L.common?.messages?.unmarkMastered||"Unmarked")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.updateFailed||"Update failed")}},aZ=async()=>{if(!N)return;let a=L.common?.messages?.confirmDelete||"Are you sure you want to delete this error item?";if(await (0,Y.confirmDialog)(a,{destructive:!0}))try{await G.apiClient.delete(`/api/error-items/${N.id}/delete`),Y.toast.success(L.common?.messages?.deleteSuccess||"Deleted successfully"),N.subjectId?o.push(`/notebooks/${N.subjectId}`):o.push("/notebooks")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.deleteFailed||"Delete failed")}},a$=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{knowledgePoints:ad}),_(!1),await aO(a.id),Y.toast.success(L.common?.messages?.tagUpdateSuccess||"Tags updated successfully!")}catch(a){console.error("[Frontend] Error updating:",a),Y.toast.error(L.common?.messages?.updateFailed||"Update failed")}},a_=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{subjectId:aq||null,gradeSemester:ak,paperLevel:ao}),ah(!1),aO(a.id),Y.toast.success(L.common?.messages?.metaUpdateSuccess||"Metadata updated successfully!")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.updateFailed||"Update failed")}},[a0,a1]=(0,c.useState)(!1),[a2,a3]=(0,c.useState)(""),[a4,a5]=(0,c.useState)(!1),[a6,a7]=(0,c.useState)(""),[a8,a9]=(0,c.useState)(!1),[ba,bb]=(0,c.useState)(""),[bc,bd]=(0,c.useState)(!1),[be,bf]=(0,c.useState)(!1),[bg,bh]=(0,c.useState)(""),[bi,bj]=(0,c.useState)(""),[bk,bl]=(0,c.useState)("unknown"),bm=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{questionText:a2}),a1(!1),N&&O({...N,questionText:a2}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},bn=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{answerText:a6}),a5(!1),N&&O({...N,answerText:a6}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},bo=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{analysis:ba}),a9(!1),N&&O({...N,analysis:ba}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},bp=async()=>{if(N)try{let a=(0,I.normalizeMistakeStatusForSave)(bk,bg);await G.apiClient.put(`/api/error-items/${N.id}`,{wrongAnswerText:bg,mistakeStatus:a}),bd(!1),O(b=>b&&{...b,wrongAnswerText:bg,mistakeStatus:a}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},bq=async()=>{if(N)try{await G.apiClient.put(`/api/error-items/${N.id}`,{mistakeAnalysis:bi}),bf(!1),O(a=>a&&{...a,mistakeAnalysis:bi}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},br=async()=>{if(N)try{await G.apiClient.patch(`/api/error-items/${N.id}/notes`,{userNotes:T}),O({...N,userNotes:T}),S(!1),Y.toast.success(L.common?.messages?.noteSaveSuccess||"Notes saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}};if((0,c.useEffect)(()=>{let a=()=>{aM.current&&(aM.current.getBoundingClientRect().bottom<-50?aL(!0):aL(!1))};return window.addEventListener("scroll",a,{passive:!0}),a(),()=>window.removeEventListener("scroll",a)},[]),P)return(0,b.jsx)(g.PageLoading,{label:L.common.loading});if(!N)return(0,b.jsx)(f.EmptyState,{icon:w,title:L.detail.notFound||"Item not found",className:"m-4 md:m-8"});let bs=[];if(N.tags&&N.tags.length>0)bs=N.tags.map(a=>a.name);else if(N.knowledgePoints)try{let a=JSON.parse(N.knowledgePoints);bs=Array.isArray(a)?a:[]}catch(a){bs=[]}return(0,b.jsxs)("main",{className:"min-h-screen",children:[(0,b.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 px-4 py-6 md:px-8 md:py-8",children:[(0,b.jsxs)("div",{className:"flex flex-col md:flex-row justify-between items-start md:items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2",children:[(0,b.jsx)(y.default,{href:N.subjectId?`/notebooks/${N.subjectId}`:"/notebooks",children:(0,b.jsx)(e.Button,{variant:"ghost",size:"icon",className:"-ml-2",children:(0,b.jsx)(j.ArrowLeft,{className:"h-5 w-5"})})}),(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:L.detail.title}),(0,b.jsx)(aa,{shortId:N.shortId}),(0,b.jsx)(ab.DifficultyStars,{size:"md",value:N.difficultyStars,onChange:aS,disabled:aQ})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(au,{errorItemId:N.id,fields:N,onDone:aW}),(0,b.jsx)(y.default,{href:`/practice?id=${N.id}`,children:(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",children:[(0,b.jsx)(m.RefreshCw,{className:"mr-2 h-4 w-4"}),L.detail.practice]})}),(0,b.jsx)(e.Button,{size:"sm",variant:(N.masteryLevel,"default"),className:N.masteryLevel>0?"bg-success text-white hover:bg-success/90":"",onClick:aY,children:N.masteryLevel>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.CheckCircle,{className:"mr-2 h-4 w-4"}),L.detail.mastered]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.XCircle,{className:"mr-2 h-4 w-4"}),L.detail.markMastered]})}),(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:aZ,className:"text-red-600 hover:text-red-700 hover:bg-red-50",children:[(0,b.jsx)(n.Trash2,{className:"mr-2 h-4 w-4"}),L.detail.delete||"Delete"]})]})]}),(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.detail.question}),!a0&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(a3(N.questionText),a1(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})}),(0,b.jsxs)(h.CardContent,{className:"space-y-4",children:[a0?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(C.MarkdownEditor,{value:a2,onChange:a3,placeholder:"Enter question text...",rows:8,className:"w-full font-mono text-sm"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bm,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{a1(!1),a3("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(B.MarkdownRenderer,{content:N.questionText}),(0,b.jsx)(ac.QuestionFigure,{svg:N.figureSvg})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)("h4",{className:"text-sm font-semibold",children:L.editor?.tags||"Knowledge Tags"}),!$&&(0,b.jsxs)("div",{className:"flex",children:[(0,b.jsx)(al,{errorItemId:N.id,onDone:()=>aO(N.id)}),(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{if(N){if(N.tags&&N.tags.length>0)af(N.tags.map(a=>a.name));else if(N.knowledgePoints)try{let a=JSON.parse(N.knowledgePoints);af(a)}catch(a){af([])}else af([]);_(!0)}},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})]}),$?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(D.TagInput,{value:ad,onChange:af,placeholder:L.editor?.tagsPlaceholder||"Enter or select knowledge tags...",subject:(0,H.inferSubjectFromName)(N.subject?.name||null)||void 0,gradeStage:as}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:L.editor?.tagsHint||"Select from standard or custom tags"}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:a$,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{_(!1),af([])},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]}),(0,b.jsx)(al,{errorItemId:N.id,onSuggested:af})]})]}):(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:bs.map(a=>(0,b.jsx)(i.Badge,{variant:"secondary",children:a},a))})]}),(0,b.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)("h4",{className:"text-sm font-semibold",children:L.detail?.questionInfo||"Question Info"}),!ag&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(ar(N.subjectId||null),am(N.gradeSemester||""),ap(N.paperLevel||(0,av.getDefaultPaperLevel)(N.difficultyStars)||"a"),ah(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]}),ag?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.notebooks?.title||"Notebook"}),(0,b.jsx)(J.NotebookSelector,{value:aq||void 0,onChange:ar})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.filter.grade}),(0,b.jsx)(E.Input,{value:ak,onChange:a=>am(a.target.value),placeholder:L.notebook?.gradeSemesterPlaceholder||"e.g. Grade 7, Semester 1"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.filter.paperLevel}),(0,b.jsxs)(F.Select,{value:ao,onValueChange:ap,children:[(0,b.jsx)(F.SelectTrigger,{children:(0,b.jsx)(F.SelectValue,{})}),(0,b.jsxs)(F.SelectContent,{children:[(0,b.jsx)(F.SelectItem,{value:"a",children:L.editor.paperLevels?.a||"Paper A"}),(0,b.jsx)(F.SelectItem,{value:"b",children:L.editor.paperLevels?.b||"Paper B"}),(0,b.jsx)(F.SelectItem,{value:"other",children:L.editor.paperLevels?.other||"Other"})]})]})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:a_,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{ah(!1),ar(null),am(""),ap("a")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[L.notebooks?.title||"Notebook",":"]}),(0,b.jsx)("span",{className:"font-medium",children:N.subject?.name||L.common?.notSet||"Not set"})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[L.filter.grade,":"]}),(0,b.jsx)("span",{className:"font-medium",children:N.gradeSemester||L.common?.notSet||"Not set"})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[L.filter.paperLevel,":"]}),(0,b.jsx)("span",{className:"font-medium",children:N.paperLevel?L.editor.paperLevels?.[N.paperLevel]||N.paperLevel:L.common?.notSet||"Not set"})]})]})]}),(0,b.jsxs)("div",{className:"pt-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[N.originalImageUrl&&(0,b.jsx)(e.Button,{variant:"outline",size:"sm",onClick:()=>aF(!aE),className:"flex items-center gap-2",children:aE?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.EyeOff,{className:"h-4 w-4"}),"隐藏原题图片"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v,{className:"h-4 w-4"}),"查看原题图片"]})}),(0,b.jsx)(ai,{errorItemId:N.id,hasImage:!!N.originalImageUrl,onDone:a=>{O(b=>b&&{...b,originalImageUrl:a}),aF(!0)}}),N.originalImageUrl&&(0,b.jsx)(ae,{errorItemId:N.id,onDone:a=>O(b=>b&&{...b,...a})})]}),N.originalImageUrl&&aE&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("img",{src:N.originalImageUrl,alt:L.detail.originalProblem||"Original Problem",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>W(!0)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:L.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})]}),(0,b.jsx)(aj.MasteryPanel,{errorItemId:N.id,onMasteryLevelChange:aN}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsxs)(h.Card,{className:"border-primary/20",children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{className:"text-primary",children:L.detail.correctAnswer}),!a4&&(0,b.jsxs)("div",{className:"flex flex-wrap justify-end",children:[(0,b.jsx)(an,{errorItemId:N.id,onDone:aV}),(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(a7(N.answerText),a5(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})]})}),(0,b.jsxs)(h.CardContent,{className:"space-y-4",children:[a4?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(C.MarkdownEditor,{value:a6,onChange:a7,placeholder:"Enter answer...",rows:5,className:"w-full font-mono text-sm"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bn,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{a5(!1),a7("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsx)(B.MarkdownRenderer,{content:N.answerText,className:"font-semibold"}),N.referenceImageUrl&&(0,b.jsxs)("div",{className:"pt-3",children:[(0,b.jsx)(e.Button,{variant:"ghost",size:"sm",onClick:()=>aH(!aG),className:"flex items-center gap-2 text-muted-foreground",children:aG?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.EyeOff,{className:"h-4 w-4"}),"隐藏图片"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v,{className:"h-4 w-4"}),"查看图片"]})}),aG&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("img",{src:N.referenceImageUrl,alt:"参考图片",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>W(!0)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:L.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})]}),(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.editor?.wrongAnswerText||"我的答案"}),!bc&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(bh(N.wrongAnswerText||""),bl(N.mistakeStatus||"unknown"),bd(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})}),(0,b.jsx)(h.CardContent,{className:"space-y-4",children:bc?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.editor?.mistakeStatus||"作答状态"}),(0,b.jsxs)(F.Select,{value:bk,onValueChange:bl,children:[(0,b.jsx)(F.SelectTrigger,{children:(0,b.jsx)(F.SelectValue,{})}),(0,b.jsxs)(F.SelectContent,{children:[(0,b.jsx)(F.SelectItem,{value:"not_attempted",children:L.editor?.mistakeStatuses?.notAttempted||"不会做"}),(0,b.jsx)(F.SelectItem,{value:"wrong_attempt",children:L.editor?.mistakeStatuses?.wrongAttempt||"做错了"}),(0,b.jsx)(F.SelectItem,{value:"unknown",children:L.editor?.mistakeStatuses?.unknown||"未判断"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.editor?.wrongAnswerText||"错误解答原文"}),(0,b.jsx)(C.MarkdownEditor,{value:bg,onChange:a=>{bh(a),a.trim()&&bl("wrong_attempt")},rows:5,className:"w-full font-mono text-sm"})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bp,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{bd(!1),bh(""),bl("unknown")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(i.Badge,{variant:"secondary",children:(0,I.getMistakeStatusLabel)(N.mistakeStatus,M)}),N.wrongAnswerText?(0,b.jsx)(B.MarkdownRenderer,{content:N.wrongAnswerText}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground italic",children:L.detail?.noMistakeAnalysis||"暂无错误解答"}),N.wrongAnswerImageUrl&&(0,b.jsxs)("div",{className:"pt-3",children:[(0,b.jsx)(e.Button,{variant:"ghost",size:"sm",onClick:()=>aJ(!aI),className:"flex items-center gap-2 text-muted-foreground",children:aI?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.EyeOff,{className:"h-4 w-4"}),"隐藏图片"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v,{className:"h-4 w-4"}),"查看图片"]})}),aI&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("img",{src:N.wrongAnswerImageUrl,alt:"我的答案图片",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>W(!0)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:L.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})})]})]}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.detail.analysis}),!a8&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(bb(N.analysis),a9(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})}),(0,b.jsx)(h.CardContent,{children:a8?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(C.MarkdownEditor,{value:ba,onChange:bb,placeholder:"Enter analysis...",rows:12,className:"w-full font-mono text-sm"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bo,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{a9(!1),bb("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsx)(B.MarkdownRenderer,{content:N.analysis})})]}),(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.detail?.mistakeAnalysis||"错因分析"}),!be&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(bj(N.mistakeAnalysis||""),bf(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})}),(0,b.jsx)(h.CardContent,{children:be?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.editor?.mistakeAnalysis||"错因分析"}),(0,b.jsx)(C.MarkdownEditor,{value:bi,onChange:bj,rows:8,className:"w-full font-mono text-sm"})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bq,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{bf(!1),bj("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):N.mistakeAnalysis?(0,b.jsx)(B.MarkdownRenderer,{content:N.mistakeAnalysis}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground italic",children:L.detail?.noMistakeAnalysis||"暂无错因分析"})})]})]}),(0,b.jsxs)("div",{className:"space-y-6",children:[aC&&(0,b.jsx)(Z,{errorItemId:N.id,svgAnimation:N.svgAnimation,onChange:aX}),aA&&(N.geogebraCommands?(0,b.jsx)(K.GeogebraDemo,{commands:N.geogebraCommands,height:700,showToolBar:!0,showAlgebraInput:!1,showMenuBar:!1,onRegenerate:aP,onSaveCommands:aT,onDelete:aU}):(0,b.jsxs)("div",{className:"rounded-lg border border-dashed p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(s.Box,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:"GeoGebra 动态演示"})]}),(0,b.jsx)(e.Button,{variant:"outline",size:"sm",onClick:()=>aP(),disabled:aw,children:aw?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"AI 分析中..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s.Box,{className:"mr-2 h-4 w-4"}),"生成演示"]})})]}),ay&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:ay}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:"AI 将判断本题是否可以用 GeoGebra 进行动态演示,如适合则自动生成交互式图形"})]})),(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.detail.yourNotes}),!R&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{U(N?.userNotes||""),S(!0)},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.detail.editNotes||"Edit"]})]})}),(0,b.jsx)(h.CardContent,{children:R?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(x.Textarea,{value:T,onChange:a=>U(a.target.value),placeholder:L.detail.notesPlaceholder||"Enter your notes...",rows:5,className:"w-full"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:br,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{S(!1),U("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common.cancel||"Cancel"]})]})]}):(0,b.jsx)("div",{className:"whitespace-pre-wrap",children:N.userNotes?(0,b.jsx)("p",{className:"text-foreground",children:N.userNotes}):(0,b.jsx)("p",{className:"text-muted-foreground italic",children:L.detail.noNotes})})})]})]})]}),V&&N?.originalImageUrl&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 bg-black/90 flex items-center justify-center p-4",onClick:()=>W(!1),children:(0,b.jsxs)("div",{className:"relative max-w-7xl max-h-full",children:[(0,b.jsx)("button",{className:"absolute -top-12 right-0 text-white hover:text-gray-300 text-lg font-semibold bg-black/50 px-4 py-2 rounded",onClick:()=>W(!1),children:L.detail?.close||"✕ Close"}),(0,b.jsx)("img",{src:N.originalImageUrl,alt:"Full size",className:"max-w-full max-h-[90vh] object-contain rounded-lg",onClick:a=>a.stopPropagation()}),(0,b.jsx)("p",{className:"text-center text-white/70 text-sm mt-4",children:L.detail?.clickOutside||"Click outside to close"})]})})]})}],73773)}];
1
+ module.exports=[73773,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(99570),f=a.i(79834),g=a.i(6376),h=a.i(91119),i=a.i(86304),j=a.i(210),k=a.i(16201),l=a.i(62722),m=a.i(69520),n=a.i(81560),o=a.i(70106);let p=(0,o.default)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);var q=a.i(14548),r=a.i(33508),s=a.i(72807),t=a.i(96221),u=a.i(41379);let v=(0,o.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]),w=(0,o.default)("file-question-mark",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M12 17h.01",key:"p32p05"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}]]);var x=a.i(29246),y=a.i(38246),z=a.i(50194),A=a.i(74484),B=a.i(93907),C=a.i(60081),D=a.i(99814),E=a.i(66718),F=a.i(80701),G=a.i(91938),H=a.i(57292),I=a.i(92883),J=a.i(50659),K=a.i(10395);let L=(0,o.default)("clapperboard",[["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3Z",key:"1tn4o7"}],["path",{d:"m6.2 5.3 3.1 3.9",key:"iuk76l"}],["path",{d:"m12.4 3.4 3.1 4",key:"6hsd6n"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z",key:"ltgou9"}]]),M=(0,o.default)("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]),N=(0,o.default)("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),O=(0,o.default)("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]),P=(0,o.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var Q=a.i(87654);let R=/<(?:animate|animateTransform|animateMotion|set)\b[^>]*>/gi;function S(a,b){let c=a.match(RegExp(`\\s${b}\\s*=\\s*("([^"]*)"|'([^']*)')`,"i"));return c?(c[2]??c[3]??"").trim():null}function T(a){if(!a)return null;let b=a.trim(),c=b.match(/^(?:(\d+):)?(\d+):(\d+(?:\.\d+)?)$/);if(c)return 3600*Number(c[1]??0)+60*Number(c[2])+Number(c[3]);let d=b.match(/^(\d+(?:\.\d+)?)(h|min|s|ms)?$/);if(!d)return null;let e={h:3600,min:60,s:1,ms:.001}[d[2]??"s"]??1;return Number(d[1])*e}var U=a.i(68114);function V(a){let b=Math.max(0,Math.floor(a));return`${Math.floor(b/60)}:${String(b%60).padStart(2,"0")}`}function W({svg:a}){let{t:d}=(0,z.useLanguage)(),f=(0,c.useRef)(null),g=(0,c.useRef)(null),h=(0,c.useRef)(null),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(0),[m,n]=(0,c.useState)(!1),[o,p]=(0,c.useState)(!1),q=m||o,r=(0,c.useMemo)(()=>(function(a){let b=0;for(let c of a.match(R)||[]){let a=S(c,"begin"),d=null===a?0:T(a.split(";")[0]);if(null===d)continue;let e=S(c,"repeatCount");if("indefinite"!==e&&"indefinite"!==S(c,"repeatDur"))b=Math.max(b,d+(T(S(c,"dur"))??0)*(e&&Number.isFinite(Number(e))?Number(e):1))}return b})(a),[a]),s=(0,c.useMemo)(()=>(function(a){let b=a.match(/<svg\b[^>]*>/i)?.[0]??"",c=S(b,"viewBox")?.split(/[\s,]+/).map(Number);if(c?.length===4&&c[2]>0&&c[3]>0)return c[2]/c[3];let d=parseFloat(S(b,"width")??""),e=parseFloat(S(b,"height")??"");return d>0&&e>0?d/e:1.6})(a),[a]),t=(0,c.useMemo)(()=>`<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:"><style>html,body{margin:0;height:100%;background:#fff;overflow:hidden}svg{display:block;width:100%;height:100%}</style></head><body>${a}</body></html>`,[a]),u=(0,c.useCallback)(()=>{let a=g.current?.contentDocument;return"function"==typeof a?.getAnimations?a.getAnimations():[]},[]),v=(0,c.useCallback)(()=>{h.current?.pauseAnimations(),u().forEach(a=>a.pause()),j(!1)},[u]),w=(0,c.useCallback)(a=>{h.current?.setCurrentTime(a),u().forEach(b=>{b.currentTime=1e3*a}),l(a)},[u]),x=(0,c.useCallback)(()=>{let a=h.current;a&&(r>0&&a.getCurrentTime()>=r&&w(0),a.unpauseAnimations(),u().forEach(a=>a.play()),j(!0))},[u,r,w]),y=async()=>{if(o)return void p(!1);if(document.fullscreenElement)return void await document.exitFullscreen().catch(()=>void 0);let a=f.current;if(a&&"function"==typeof a.requestFullscreen)try{await a.requestFullscreen();return}catch{}p(!0)};return(0,c.useEffect)(()=>{let a=()=>n(document.fullscreenElement===f.current);return document.addEventListener("fullscreenchange",a),()=>document.removeEventListener("fullscreenchange",a)},[]),(0,c.useEffect)(()=>{if(!o)return;let a=a=>{"Escape"===a.key&&p(!1)},b=document.body.style.overflow;return document.body.style.overflow="hidden",document.addEventListener("keydown",a),()=>{document.body.style.overflow=b,document.removeEventListener("keydown",a)}},[o]),(0,c.useEffect)(()=>{if(!i)return;let a=0,b=()=>{let c=h.current?.getCurrentTime()??0;if(r>0&&c>=r){h.current?.setCurrentTime(r),v(),l(r);return}l(c),a=requestAnimationFrame(b)};return a=requestAnimationFrame(b),()=>cancelAnimationFrame(a)},[i,r,v]),(0,b.jsxs)("div",{ref:f,className:(0,U.cn)("space-y-2",q&&"flex flex-col items-center justify-center bg-black p-4",o&&"fixed inset-0 z-50"),children:[(0,b.jsx)("iframe",{ref:g,srcDoc:t,sandbox:"allow-same-origin",title:d.svgAnimation.alt,onLoad:()=>{h.current=g.current?.contentDocument?.querySelector("svg")??null,l(0),j(!!h.current)},className:(0,U.cn)("mx-auto block rounded border bg-white",!q&&"w-full max-w-3xl"),style:q?{aspectRatio:s,width:`min(100%, calc((100dvh - 96px) * ${s}))`}:{aspectRatio:s}}),(0,b.jsxs)("div",{className:(0,U.cn)("mx-auto flex w-full items-center gap-2",q?"max-w-5xl text-white":"max-w-3xl"),children:[(0,b.jsx)(e.Button,{variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-foreground",onClick:i?v:x,"aria-label":i?d.svgAnimation.pause:d.svgAnimation.play,title:i?d.svgAnimation.pause:d.svgAnimation.play,children:i?(0,b.jsx)(O,{className:"h-4 w-4"}):(0,b.jsx)(P,{className:"h-4 w-4"})}),(0,b.jsx)(e.Button,{variant:"ghost",size:"sm",className:(0,U.cn)("h-8 w-8 shrink-0 p-0",q&&"text-white hover:bg-white/20 hover:text-white"),onClick:()=>{w(0),x()},"aria-label":d.svgAnimation.replay,title:d.svgAnimation.replay,children:(0,b.jsx)(Q.RotateCcw,{className:"h-4 w-4"})}),r>0&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{type:"range",min:0,max:r,step:.1,value:Math.min(k,r),onChange:a=>w(Number(a.target.value)),"aria-label":d.svgAnimation.progress,className:"h-2 min-w-0 flex-1 cursor-pointer accent-primary"}),(0,b.jsxs)("span",{className:(0,U.cn)("shrink-0 text-xs tabular-nums",q?"text-white/80":"text-muted-foreground"),children:[V(k)," / ",V(r)]})]}),(0,b.jsx)(e.Button,{variant:"ghost",size:"sm",className:(0,U.cn)("ml-auto h-8 w-8 shrink-0 p-0",q&&"text-white hover:bg-white/20 hover:text-white"),onClick:y,"aria-label":q?d.svgAnimation.exitFullscreen:d.svgAnimation.fullscreen,title:q?d.svgAnimation.exitFullscreen:d.svgAnimation.fullscreen,children:q?(0,b.jsx)(N,{className:"h-4 w-4"}):(0,b.jsx)(M,{className:"h-4 w-4"})})]})]})}var X=a.i(30534),Y=a.i(10302);function Z({errorItemId:a,svgAnimation:d,onChange:f}){let{t:g}=(0,z.useLanguage)(),[h,i]=(0,c.useState)(!1),[j,k]=(0,c.useState)(!1),[l,o]=(0,c.useState)(null),p=async()=>{i(!0),o(null);try{let b=await G.apiClient.post(`/api/error-items/${a}/svg-animation`,{},{timeout:6e5});f(b.svgAnimation)}catch(c){let a=c?.data?.message||"",b=g.errors[a];X.frontendLogger.error("[SvgAnimation]","Failed to generate SVG animation",{code:a}),o("NO_QUESTION_TEXT"===a?g.svgAnimation.noQuestionText:"NO_VALID_ANIMATION"===a?g.svgAnimation.invalid:"string"==typeof b?b:g.svgAnimation.failed)}finally{i(!1)}},q=async()=>{if(await (0,Y.confirmDialog)(g.svgAnimation.confirmDelete,{destructive:!0})){k(!0);try{await G.apiClient.delete(`/api/error-items/${a}/svg-animation`),f(null),o(null)}catch(a){X.frontendLogger.error("[SvgAnimation]","Failed to delete SVG animation",{error:a instanceof Error?a.message:String(a)}),Y.toast.error(g.svgAnimation.deleteFailed)}finally{k(!1)}}};if(!d)return(0,b.jsxs)("div",{className:"rounded-lg border border-dashed p-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(L,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:g.svgAnimation.title})]}),(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:p,disabled:h,children:[h?(0,b.jsx)(t.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(L,{className:"mr-2 h-4 w-4"}),h?g.svgAnimation.generating:g.svgAnimation.generate]})]}),l&&(0,b.jsx)("p",{className:"text-xs text-destructive mt-2",children:l}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:g.svgAnimation.hint})]});let r=h||j;return(0,b.jsxs)("div",{className:"rounded-lg border bg-card",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2 border-b bg-muted/30",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:g.svgAnimation.title}),r&&(0,b.jsx)(t.Loader2,{className:"h-3 w-3 animate-spin text-muted-foreground"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1",onClick:p,disabled:r,children:[h?(0,b.jsx)(t.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,b.jsx)(m.RefreshCw,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:h?g.svgAnimation.generating:g.svgAnimation.regenerate})]}),(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1 text-destructive hover:text-destructive",onClick:q,disabled:r,children:[(0,b.jsx)(n.Trash2,{className:"h-3.5 w-3.5"}),(0,b.jsx)("span",{children:g.svgAnimation.delete})]})]})]}),l&&(0,b.jsx)("p",{className:"px-3 pt-2 text-xs text-destructive",children:l}),(0,b.jsx)("div",{className:"p-2 sm:p-3",children:(0,b.jsx)(W,{svg:d})})]})}var $=a.i(33441);let _=(0,o.default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);function aa({shortId:a,className:d=""}){let{t:e}=(0,z.useLanguage)(),[f,g]=(0,c.useState)(!1);if(!a)return null;let h=async b=>{b.preventDefault(),b.stopPropagation();try{await navigator.clipboard.writeText(a),g(!0),setTimeout(()=>g(!1),1500)}catch{window.prompt(e.shortId.copy,a)}};return(0,b.jsxs)("button",{type:"button",onClick:h,title:f?e.shortId.copied:e.shortId.copy,className:`inline-flex items-center gap-1 rounded-md border bg-muted/50 px-2 py-0.5 font-mono text-xs text-muted-foreground hover:text-foreground transition-colors ${d}`,children:[(0,b.jsx)("span",{children:e.shortId.label}),(0,b.jsx)("span",{className:"font-semibold text-foreground",children:a}),f?(0,b.jsx)($.Check,{className:"h-3 w-3 text-green-600"}):(0,b.jsx)(_,{className:"h-3 w-3"})]})}var ab=a.i(31368),ac=a.i(18943);let ad=(0,o.default)("shapes",[["path",{d:"M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z",key:"1bo67w"}],["rect",{x:"3",y:"14",width:"7",height:"7",rx:"1",key:"1bkyp8"}],["circle",{cx:"17.5",cy:"17.5",r:"3.5",key:"w3z12y"}]]);function ae({errorItemId:a,onDone:d}){let{t:f}=(0,z.useLanguage)(),[g,h]=(0,c.useState)(!1),i=async()=>{h(!0);try{let b=await G.apiClient.post(`/api/error-items/${a}/figure`,{});d(b),b.figureSvg||Y.toast.warning(f.figure.noFigure)}catch(c){let a=c?.data?.message||"",b=f.errors[a];X.frontendLogger.error("[RegenerateFigure]","Failed to regenerate figure",{code:a}),Y.toast.error("NO_ORIGINAL_IMAGE"===a?f.figure.noImage:"string"==typeof b?b:f.figure.failed)}finally{h(!1)}};return(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:i,disabled:g,className:"flex items-center gap-2",children:[g?(0,b.jsx)(t.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(ad,{className:"h-4 w-4"}),g?f.figure.regenerating:f.figure.regenerate]})}let af=(0,o.default)("image-plus",[["path",{d:"M16 5h6",key:"1vod17"}],["path",{d:"M19 2v6",key:"4bpg5p"}],["path",{d:"M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5",key:"1ue2ih"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}]]);var ag=a.i(97521),ah=a.i(43542);function ai({errorItemId:a,hasImage:d,onDone:f}){let{t:g}=(0,z.useLanguage)(),h=(0,c.useRef)(null),[i,j]=(0,c.useState)(!1),[k,l]=(0,c.useState)(null);(0,c.useEffect)(()=>()=>{k&&URL.revokeObjectURL(k)},[k]);let m=async()=>{(!d||await (0,Y.confirmDialog)(g.replaceImage.confirm))&&h.current?.click()},n=async b=>{l(null),j(!0);try{let c=new File([b],"question-image.jpg",{type:b.type||"image/jpeg"}),d=await (0,ah.processImageFile)(c),e=await G.apiClient.put(`/api/error-items/${a}/image`,{imageDataUrl:d});f(e.originalImageUrl),Y.toast.success(g.replaceImage.done)}catch(b){let a=b?.data?.message||"";X.frontendLogger.error("[ReplaceImage]","Failed to replace original image",{code:a}),Y.toast.error("INVALID_IMAGE"===a?g.replaceImage.invalid:g.replaceImage.failed)}finally{j(!1)}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("input",{ref:h,type:"file",accept:"image/png,image/jpeg,image/webp,image/gif",className:"hidden",onChange:a=>{(a=>{if(a){if(!a.type.startsWith("image/"))return Y.toast.error(g.replaceImage.invalid);l(URL.createObjectURL(a))}})(a.target.files?.[0]),a.target.value=""}}),k&&(0,b.jsx)(ag.ImageCropper,{imageSrc:k,open:!0,onClose:()=>l(null),onCropComplete:n}),(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:m,disabled:i,className:"flex items-center gap-2",children:[i?(0,b.jsx)(t.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(af,{className:"h-4 w-4"}),i?g.replaceImage.uploading:d?g.replaceImage.replace:g.replaceImage.add]})]})}var aj=a.i(46862),ak=a.i(8406);function al({errorItemId:a,onDone:d,onSuggested:f}){let{t:g}=(0,z.useLanguage)(),[h,i]=(0,c.useState)(!1),j=async()=>{i(!0);try{if(f){let b=await G.apiClient.post(`/api/error-items/${a}/retag`,{preview:!0});f(b.tags)}else await G.apiClient.post(`/api/error-items/${a}/retag`,{}),d?.()}catch(c){let a=c?.data?.message||"",b=g.errors[a];X.frontendLogger.error("[RetagItem]","Failed to regenerate tags",{code:a}),Y.toast.error("NO_TAGS_SELECTED"===a?g.retag.noTags:"string"==typeof b?b:g.retag.itemFailed)}finally{i(!1)}};return(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:j,disabled:h,children:[h?(0,b.jsx)(t.Loader2,{className:"h-4 w-4 mr-1 animate-spin"}):(0,b.jsx)(ak.Sparkles,{className:"h-4 w-4 mr-1"}),f?h?g.retag.suggestRunning:g.retag.suggestButton:h?g.retag.itemRunning:g.retag.itemButton]})}var am=a.i(14491);function an({errorItemId:a,onDone:d}){let{t:f,language:g}=(0,z.useLanguage)(),[h,i]=(0,c.useState)(!1),j=async()=>{if(await (0,Y.confirmDialog)(f.reanswerItem.confirm)){i(!0);try{let b=await G.apiClient.post(`/api/error-items/${a}/reanswer`,{language:g},{timeout:6e5});d(b)}catch(c){let a=c?.data?.message||"",b=f.errors[a];X.frontendLogger.error("[RegenerateAnswer]","Failed to regenerate answer",{code:a}),Y.toast.error("NO_QUESTION_TEXT"===a?f.reanswerItem.noQuestionText:"string"==typeof b?b:f.reanswerItem.failed)}finally{i(!1)}}};return(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:j,disabled:h,children:[h?(0,b.jsx)(t.Loader2,{className:"h-4 w-4 mr-1 animate-spin"}):(0,b.jsx)(am.WandSparkles,{className:"h-4 w-4 mr-1"}),h?f.reanswerItem.running:f.reanswerItem.button]})}let ao=(0,o.default)("square-function",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["path",{d:"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3",key:"m1af9g"}],["path",{d:"M9 11.2h5.7",key:"3zgcl2"}]]);var ap=a.i(48986),aq=a.i(78362);let ar=new Set(["ne","neq","nabla","nu","not","notin","ni","nexists","ngeq","nleq","nmid","nparallel","nsubseteq"]);function as(a){return a.length>80?`${a.slice(0,80)}…`:a}let at=["questionText","answerText","analysis","wrongAnswerText","mistakeAnalysis"];function au({errorItemId:a,fields:d,onDone:f}){let{t:g}=(0,z.useLanguage)(),[h,i]=(0,c.useState)(!1),j=(0,c.useMemo)(()=>Object.values(function(a){let b={};for(let c of at){let d=function(a){if(!a?.trim())return[];let{masked:b,segments:c}=(0,aq.extractMathSegments)(a),d=[];for(let a of c)try{ap.default.renderToString(a.tex,{displayMode:a.displayMode,throwOnError:!0,strict:"ignore"})}catch(c){let b=c instanceof Error?c.message.replace(/^KaTeX parse error:\s*/,""):String(c);d.push({snippet:as(a.source),message:b})}let e=b.replace(/@@MATH\d+@@/g," "),f=e.replace(/\\\$/g,"").match(/\$/g);f&&d.push({snippet:"$",message:`有 ${f.length} 个未配对的 $ 定界符`});let g=e.match(/\\[()[\]]/g);g&&d.push({snippet:g.join(" "),message:"有未配对的 \\( \\) 或 \\[ \\] 定界符"});let h=[...new Set(e.match(/\\[a-zA-Z]{2,}/g)||[])].filter(a=>!a.startsWith("\\n")||ar.has(a.slice(1)));return h.length>0&&d.push({snippet:as(h.join(" ")),message:"LaTeX 命令没有放在 $…$ 中,会原样显示"}),d}(a[c]);d.length>0&&(b[c]=d)}return b}(d)).reduce((a,b)=>a+(b?.length??0),0),[d]),k=async()=>{i(!0);try{let b=await G.apiClient.post(`/api/error-items/${a}/fix-latex`,{},{timeout:3e5});f(b.updated);let c=b.fixedFields.map(a=>g.fixLatex.fields[a]).join("、");Y.toast.info(0===b.issuesBefore?g.fixLatex.noIssues:0===b.fixedFields.length?g.fixLatex.notFixed:0===b.issuesAfter?g.fixLatex.fixedAll.replace("{fields}",c):g.fixLatex.fixedPartly.replace("{fields}",c).replace("{count}",String(b.issuesAfter)))}catch(c){let a=c?.data?.message||"",b=g.errors[a];X.frontendLogger.error("[FixLatex]","Failed to fix LaTeX",{code:a}),Y.toast.error("string"==typeof b?b:g.fixLatex.failed)}finally{i(!1)}};return 0!==j||h?(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:k,disabled:h,className:"border-amber-500 text-amber-700 dark:text-amber-400",title:g.fixLatex.issuesFound.replace("{count}",String(j)),children:[h?(0,b.jsx)(t.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(ao,{className:"mr-2 h-4 w-4"}),h?g.fixLatex.running:g.fixLatex.button,!h&&j>0&&(0,b.jsxs)("span",{className:"ml-1",children:["(",j,")"]})]}):null}var av=a.i(51795);a.s(["default",0,function(){let a=(0,d.useParams)(),o=(0,d.useRouter)(),{t:L,language:M}=(0,z.useLanguage)(),[N,O]=(0,c.useState)(null);(0,A.usePageTitle)(L.detail.title,N?.subject?.name,N?.shortId);let[P,Q]=(0,c.useState)(!0),[R,S]=(0,c.useState)(!1),[T,U]=(0,c.useState)(""),[V,W]=(0,c.useState)(!1),[$,_]=(0,c.useState)(!1),[ad,af]=(0,c.useState)([]),[ag,ah]=(0,c.useState)(!1),[ak,am]=(0,c.useState)(""),[ao,ap]=(0,c.useState)("a"),[aq,ar]=(0,c.useState)(null),[as,at]=(0,c.useState)(void 0),[aw,ax]=(0,c.useState)(!1),[ay,az]=(0,c.useState)(null),[aA,aB]=(0,c.useState)(!1),[aC,aD]=(0,c.useState)(!0),[aE,aF]=(0,c.useState)(!1),[aG,aH]=(0,c.useState)(!1),[aI,aJ]=(0,c.useState)(!1),[aK,aL]=(0,c.useState)(!1),aM=(0,c.useRef)(null);(0,c.useEffect)(()=>{G.apiClient.get("/api/user").then(a=>{a&&a.educationStage&&at(a.educationStage),aB(!!a?.enableGeogebra),aD(a?.enableSvgAnimation!==!1)}).catch(a=>console.error("Failed to fetch user info:",a)),a.id&&aO(a.id)},[a.id]);let aN=(0,c.useCallback)(a=>{O(b=>b&&b.masteryLevel!==a?{...b,masteryLevel:a}:b)},[]),aO=async a=>{try{let b=await G.apiClient.get(`/api/error-items/${a}`);O(b)}catch(a){console.error(a),Y.toast.error(L.common?.messages?.loadFailed||"Failed to load item"),o.push("/notebooks")}finally{Q(!1)}},aP=async()=>{if(N){ax(!0),az(null);try{let a=await G.apiClient.post(`/api/error-items/${N.id}/geogebra`,{});a.suitable&&a.commands.length>0?O({...N,geogebraCommands:JSON.stringify(a.commands)}):az(a.description||"该题目不适合用 GeoGebra 演示")}catch(b){console.error("GeoGebra analysis failed:",b);let a=b?.data?.message||b?.message||"";a.includes("AI_AUTH_ERROR")?az("AI 认证失败,请检查设置"):a.includes("AI_CONNECTION")?az("AI 连接失败,请检查网络"):az("分析失败,请稍后重试")}finally{ax(!1)}}},[aQ,aR]=(0,c.useState)(!1),aS=async a=>{if(!N)return;let b=N.difficultyStars??null;O({...N,difficultyStars:a}),aR(!0);try{let b=await G.apiClient.put(`/api/error-items/${N.id}`,{difficultyStars:a});O(a=>a&&{...a,paperLevel:b.paperLevel})}catch(a){O(a=>a&&{...a,difficultyStars:b}),X.frontendLogger.error("[ErrorDetail]","Failed to save difficulty",{error:a instanceof Error?a.message:String(a)}),Y.toast.error(L.difficulty.saveFailed)}finally{aR(!1)}},aT=async a=>{N&&(await G.apiClient.put(`/api/error-items/${N.id}`,{geogebraCommands:a}),O({...N,geogebraCommands:a}))},aU=async()=>{N&&(await G.apiClient.delete(`/api/error-items/${N.id}/geogebra`),O(a=>a&&{...a,geogebraCommands:null}))},aV=(0,c.useCallback)(a=>{O(b=>b&&{...b,answerText:a.answerText??"",analysis:a.analysis??""})},[]),aW=(0,c.useCallback)(a=>{O(b=>b&&{...b,...a})},[]),aX=(0,c.useCallback)(a=>{O(b=>b&&{...b,svgAnimation:a})},[]),aY=async()=>{if(!N)return;let a=N.masteryLevel>0?0:1;try{await G.apiClient.patch(`/api/error-items/${N.id}/mastery`,{masteryLevel:a}),O({...N,masteryLevel:a}),Y.toast.success(a>0?L.common?.messages?.markMastered||"Marked as mastered":L.common?.messages?.unmarkMastered||"Unmarked")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.updateFailed||"Update failed")}},aZ=async()=>{if(!N)return;let a=L.common?.messages?.confirmDelete||"Are you sure you want to delete this error item?";if(await (0,Y.confirmDialog)(a,{destructive:!0}))try{await G.apiClient.delete(`/api/error-items/${N.id}/delete`),Y.toast.success(L.common?.messages?.deleteSuccess||"Deleted successfully"),N.subjectId?o.push(`/notebooks/${N.subjectId}`):o.push("/notebooks")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.deleteFailed||"Delete failed")}},a$=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{knowledgePoints:ad}),_(!1),await aO(a.id),Y.toast.success(L.common?.messages?.tagUpdateSuccess||"Tags updated successfully!")}catch(a){console.error("[Frontend] Error updating:",a),Y.toast.error(L.common?.messages?.updateFailed||"Update failed")}},a_=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{subjectId:aq||null,gradeSemester:ak,paperLevel:ao}),ah(!1),aO(a.id),Y.toast.success(L.common?.messages?.metaUpdateSuccess||"Metadata updated successfully!")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.updateFailed||"Update failed")}},[a0,a1]=(0,c.useState)(!1),[a2,a3]=(0,c.useState)(""),[a4,a5]=(0,c.useState)(!1),[a6,a7]=(0,c.useState)(""),[a8,a9]=(0,c.useState)(!1),[ba,bb]=(0,c.useState)(""),[bc,bd]=(0,c.useState)(!1),[be,bf]=(0,c.useState)(!1),[bg,bh]=(0,c.useState)(""),[bi,bj]=(0,c.useState)(""),[bk,bl]=(0,c.useState)("unknown"),bm=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{questionText:a2}),a1(!1),N&&O({...N,questionText:a2}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},bn=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{answerText:a6}),a5(!1),N&&O({...N,answerText:a6}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},bo=async()=>{try{await G.apiClient.put(`/api/error-items/${N?.id}`,{analysis:ba}),a9(!1),N&&O({...N,analysis:ba}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},bp=async()=>{if(N)try{let a=(0,I.normalizeMistakeStatusForSave)(bk,bg);await G.apiClient.put(`/api/error-items/${N.id}`,{wrongAnswerText:bg,mistakeStatus:a}),bd(!1),O(b=>b&&{...b,wrongAnswerText:bg,mistakeStatus:a}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},bq=async()=>{if(N)try{await G.apiClient.put(`/api/error-items/${N.id}`,{mistakeAnalysis:bi}),bf(!1),O(a=>a&&{...a,mistakeAnalysis:bi}),Y.toast.success(L.common?.messages?.saveSuccess||"Saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}},br=async()=>{if(N)try{await G.apiClient.patch(`/api/error-items/${N.id}/notes`,{userNotes:T}),O({...N,userNotes:T}),S(!1),Y.toast.success(L.common?.messages?.noteSaveSuccess||"Notes saved successfully")}catch(a){console.error(a),Y.toast.error(L.common?.messages?.saveFailed||"Save failed")}};if((0,c.useEffect)(()=>{let a=()=>{aM.current&&(aM.current.getBoundingClientRect().bottom<-50?aL(!0):aL(!1))};return window.addEventListener("scroll",a,{passive:!0}),a(),()=>window.removeEventListener("scroll",a)},[]),P)return(0,b.jsx)(g.PageLoading,{label:L.common.loading});if(!N)return(0,b.jsx)(f.EmptyState,{icon:w,title:L.detail.notFound||"Item not found",className:"m-4 md:m-8"});let bs=[];if(N.tags&&N.tags.length>0)bs=N.tags.map(a=>a.name);else if(N.knowledgePoints)try{let a=JSON.parse(N.knowledgePoints);bs=Array.isArray(a)?a:[]}catch(a){bs=[]}return(0,b.jsxs)("main",{className:"min-h-screen",children:[(0,b.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 px-4 py-6 md:px-8 md:py-8",children:[(0,b.jsxs)("div",{className:"flex flex-col md:flex-row justify-between items-start md:items-center gap-4",children:[(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2",children:[(0,b.jsx)(y.default,{href:N.subjectId?`/notebooks/${N.subjectId}`:"/notebooks",children:(0,b.jsx)(e.Button,{variant:"ghost",size:"icon",className:"-ml-2",children:(0,b.jsx)(j.ArrowLeft,{className:"h-5 w-5"})})}),(0,b.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:L.detail.title}),(0,b.jsx)(aa,{shortId:N.shortId}),(0,b.jsx)(ab.DifficultyStars,{size:"md",value:N.difficultyStars,onChange:aS,disabled:aQ})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(au,{errorItemId:N.id,fields:N,onDone:aW}),(0,b.jsx)(y.default,{href:`/practice?id=${N.id}`,children:(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",children:[(0,b.jsx)(m.RefreshCw,{className:"mr-2 h-4 w-4"}),L.detail.practice]})}),(0,b.jsx)(e.Button,{size:"sm",variant:(N.masteryLevel,"default"),className:N.masteryLevel>0?"bg-success text-white hover:bg-success/90":"",onClick:aY,children:N.masteryLevel>0?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(k.CheckCircle,{className:"mr-2 h-4 w-4"}),L.detail.mastered]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(l.XCircle,{className:"mr-2 h-4 w-4"}),L.detail.markMastered]})}),(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:aZ,className:"text-red-600 hover:text-red-700 hover:bg-red-50",children:[(0,b.jsx)(n.Trash2,{className:"mr-2 h-4 w-4"}),L.detail.delete||"Delete"]})]})]}),(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.detail.question}),!a0&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(a3(N.questionText),a1(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})}),(0,b.jsxs)(h.CardContent,{className:"space-y-4",children:[a0?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(C.MarkdownEditor,{value:a2,onChange:a3,placeholder:"Enter question text...",rows:8,className:"w-full font-mono text-sm"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bm,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{a1(!1),a3("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(B.MarkdownRenderer,{content:N.questionText}),(0,b.jsx)(ac.QuestionFigure,{svg:N.figureSvg})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)("h4",{className:"text-sm font-semibold",children:L.editor?.tags||"Knowledge Tags"}),!$&&(0,b.jsxs)("div",{className:"flex",children:[(0,b.jsx)(al,{errorItemId:N.id,onDone:()=>aO(N.id)}),(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{if(N){if(N.tags&&N.tags.length>0)af(N.tags.map(a=>a.name));else if(N.knowledgePoints)try{let a=JSON.parse(N.knowledgePoints);af(a)}catch(a){af([])}else af([]);_(!0)}},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})]}),$?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(D.TagInput,{value:ad,onChange:af,placeholder:L.editor?.tagsPlaceholder||"Enter or select knowledge tags...",subject:(0,H.inferSubjectFromName)(N.subject?.name||null)||void 0,gradeStage:as}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:L.editor?.tagsHint||"Select from standard or custom tags"}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:a$,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{_(!1),af([])},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]}),(0,b.jsx)(al,{errorItemId:N.id,onSuggested:af})]})]}):(0,b.jsx)("div",{className:"flex flex-wrap gap-2",children:bs.map(a=>(0,b.jsx)(i.Badge,{variant:"secondary",children:a},a))})]}),(0,b.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)("h4",{className:"text-sm font-semibold",children:L.detail?.questionInfo||"Question Info"}),!ag&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(ar(N.subjectId||null),am(N.gradeSemester||""),ap(N.paperLevel||(0,av.getDefaultPaperLevel)(N.difficultyStars)||"a"),ah(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]}),ag?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.notebooks?.title||"Notebook"}),(0,b.jsx)(J.NotebookSelector,{value:aq||void 0,onChange:ar})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.filter.grade}),(0,b.jsx)(E.Input,{value:ak,onChange:a=>am(a.target.value),placeholder:L.notebook?.gradeSemesterPlaceholder||"e.g. Grade 7, Semester 1"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.filter.paperLevel}),(0,b.jsxs)(F.Select,{value:ao,onValueChange:ap,children:[(0,b.jsx)(F.SelectTrigger,{children:(0,b.jsx)(F.SelectValue,{})}),(0,b.jsxs)(F.SelectContent,{children:[(0,b.jsx)(F.SelectItem,{value:"a",children:L.editor.paperLevels?.a||"Paper A"}),(0,b.jsx)(F.SelectItem,{value:"b",children:L.editor.paperLevels?.b||"Paper B"}),(0,b.jsx)(F.SelectItem,{value:"other",children:L.editor.paperLevels?.other||"Other"})]})]})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:a_,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{ah(!1),ar(null),am(""),ap("a")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[L.notebooks?.title||"Notebook",":"]}),(0,b.jsx)("span",{className:"font-medium",children:N.subject?.name||L.common?.notSet||"Not set"})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[L.filter.grade,":"]}),(0,b.jsx)("span",{className:"font-medium",children:N.gradeSemester||L.common?.notSet||"Not set"})]}),(0,b.jsxs)("div",{className:"flex justify-between",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[L.filter.paperLevel,":"]}),(0,b.jsx)("span",{className:"font-medium",children:N.paperLevel?L.editor.paperLevels?.[N.paperLevel]||N.paperLevel:L.common?.notSet||"Not set"})]})]})]}),(0,b.jsxs)("div",{className:"pt-3",children:[(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[N.originalImageUrl&&(0,b.jsx)(e.Button,{variant:"outline",size:"sm",onClick:()=>aF(!aE),className:"flex items-center gap-2",children:aE?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.EyeOff,{className:"h-4 w-4"}),L.replaceImage?.hide||"Hide original image"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v,{className:"h-4 w-4"}),L.replaceImage?.view||"View original image"]})}),(0,b.jsx)(ai,{errorItemId:N.id,hasImage:!!N.originalImageUrl,onDone:a=>{O(b=>b&&{...b,originalImageUrl:a}),aF(!0)}}),N.originalImageUrl&&(0,b.jsx)(ae,{errorItemId:N.id,onDone:a=>O(b=>b&&{...b,...a})})]}),N.originalImageUrl&&aE&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("img",{src:N.originalImageUrl,alt:L.detail.originalProblem||"Original Problem",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>W(!0)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:L.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})]}),(0,b.jsx)(aj.MasteryPanel,{errorItemId:N.id,onMasteryLevelChange:aN}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsxs)(h.Card,{className:"border-primary/20",children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{className:"text-primary",children:L.detail.correctAnswer}),!a4&&(0,b.jsxs)("div",{className:"flex flex-wrap justify-end",children:[(0,b.jsx)(an,{errorItemId:N.id,onDone:aV}),(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(a7(N.answerText),a5(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})]})}),(0,b.jsxs)(h.CardContent,{className:"space-y-4",children:[a4?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(C.MarkdownEditor,{value:a6,onChange:a7,placeholder:"Enter answer...",rows:5,className:"w-full font-mono text-sm"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bn,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{a5(!1),a7("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsx)(B.MarkdownRenderer,{content:N.answerText,className:"font-semibold"}),N.referenceImageUrl&&(0,b.jsxs)("div",{className:"pt-3",children:[(0,b.jsx)(e.Button,{variant:"ghost",size:"sm",onClick:()=>aH(!aG),className:"flex items-center gap-2 text-muted-foreground",children:aG?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.EyeOff,{className:"h-4 w-4"}),"隐藏图片"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v,{className:"h-4 w-4"}),"查看图片"]})}),aG&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("img",{src:N.referenceImageUrl,alt:"参考图片",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>W(!0)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:L.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})]}),(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.editor?.wrongAnswerText||"我的答案"}),!bc&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(bh(N.wrongAnswerText||""),bl(N.mistakeStatus||"unknown"),bd(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})}),(0,b.jsx)(h.CardContent,{className:"space-y-4",children:bc?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.editor?.mistakeStatus||"作答状态"}),(0,b.jsxs)(F.Select,{value:bk,onValueChange:bl,children:[(0,b.jsx)(F.SelectTrigger,{children:(0,b.jsx)(F.SelectValue,{})}),(0,b.jsxs)(F.SelectContent,{children:[(0,b.jsx)(F.SelectItem,{value:"not_attempted",children:L.editor?.mistakeStatuses?.notAttempted||"不会做"}),(0,b.jsx)(F.SelectItem,{value:"wrong_attempt",children:L.editor?.mistakeStatuses?.wrongAttempt||"做错了"}),(0,b.jsx)(F.SelectItem,{value:"unknown",children:L.editor?.mistakeStatuses?.unknown||"未判断"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.editor?.wrongAnswerText||"错误解答原文"}),(0,b.jsx)(C.MarkdownEditor,{value:bg,onChange:a=>{bh(a),a.trim()&&bl("wrong_attempt")},rows:5,className:"w-full font-mono text-sm"})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bp,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{bd(!1),bh(""),bl("unknown")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)(i.Badge,{variant:"secondary",children:(0,I.getMistakeStatusLabel)(N.mistakeStatus,M)}),N.wrongAnswerText?(0,b.jsx)(B.MarkdownRenderer,{content:N.wrongAnswerText}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground italic",children:L.detail?.noMistakeAnalysis||"暂无错误解答"}),N.wrongAnswerImageUrl&&(0,b.jsxs)("div",{className:"pt-3",children:[(0,b.jsx)(e.Button,{variant:"ghost",size:"sm",onClick:()=>aJ(!aI),className:"flex items-center gap-2 text-muted-foreground",children:aI?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(u.EyeOff,{className:"h-4 w-4"}),"隐藏图片"]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(v,{className:"h-4 w-4"}),"查看图片"]})}),aI&&(0,b.jsxs)("div",{className:"mt-4",children:[(0,b.jsx)("img",{src:N.wrongAnswerImageUrl,alt:"我的答案图片",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>W(!0)}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:L.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})})]})]}),(0,b.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.detail.analysis}),!a8&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(bb(N.analysis),a9(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})}),(0,b.jsx)(h.CardContent,{children:a8?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(C.MarkdownEditor,{value:ba,onChange:bb,placeholder:"Enter analysis...",rows:12,className:"w-full font-mono text-sm"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bo,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{a9(!1),bb("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):(0,b.jsx)(B.MarkdownRenderer,{content:N.analysis})})]}),(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.detail?.mistakeAnalysis||"错因分析"}),!be&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{N&&(bj(N.mistakeAnalysis||""),bf(!0))},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.common?.edit||"Edit"]})]})}),(0,b.jsx)(h.CardContent,{children:be?(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("label",{className:"text-sm text-muted-foreground",children:L.editor?.mistakeAnalysis||"错因分析"}),(0,b.jsx)(C.MarkdownEditor,{value:bi,onChange:bj,rows:8,className:"w-full font-mono text-sm"})]}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:bq,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common?.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{bf(!1),bj("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common?.cancel||"Cancel"]})]})]}):N.mistakeAnalysis?(0,b.jsx)(B.MarkdownRenderer,{content:N.mistakeAnalysis}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground italic",children:L.detail?.noMistakeAnalysis||"暂无错因分析"})})]})]}),(0,b.jsxs)("div",{className:"space-y-6",children:[aC&&(0,b.jsx)(Z,{errorItemId:N.id,svgAnimation:N.svgAnimation,onChange:aX}),aA&&(N.geogebraCommands?(0,b.jsx)(K.GeogebraDemo,{commands:N.geogebraCommands,height:700,showToolBar:!0,showAlgebraInput:!1,showMenuBar:!1,onRegenerate:aP,onSaveCommands:aT,onDelete:aU}):(0,b.jsxs)("div",{className:"rounded-lg border border-dashed p-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,b.jsx)(s.Box,{className:"h-4 w-4"}),(0,b.jsx)("span",{children:"GeoGebra 动态演示"})]}),(0,b.jsx)(e.Button,{variant:"outline",size:"sm",onClick:()=>aP(),disabled:aw,children:aw?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(t.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"AI 分析中..."]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(s.Box,{className:"mr-2 h-4 w-4"}),"生成演示"]})})]}),ay&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:ay}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:"AI 将判断本题是否可以用 GeoGebra 进行动态演示,如适合则自动生成交互式图形"})]})),(0,b.jsxs)(h.Card,{children:[(0,b.jsx)(h.CardHeader,{children:(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(h.CardTitle,{children:L.detail.yourNotes}),!R&&(0,b.jsxs)(e.Button,{variant:"ghost",size:"sm",onClick:()=>{U(N?.userNotes||""),S(!0)},children:[(0,b.jsx)(p,{className:"h-4 w-4 mr-1"}),L.detail.editNotes||"Edit"]})]})}),(0,b.jsx)(h.CardContent,{children:R?(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsx)(x.Textarea,{value:T,onChange:a=>U(a.target.value),placeholder:L.detail.notesPlaceholder||"Enter your notes...",rows:5,className:"w-full"}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(e.Button,{size:"sm",onClick:br,children:[(0,b.jsx)(q.Save,{className:"h-4 w-4 mr-1"}),L.common.save||"Save"]}),(0,b.jsxs)(e.Button,{size:"sm",variant:"outline",onClick:()=>{S(!1),U("")},children:[(0,b.jsx)(r.X,{className:"h-4 w-4 mr-1"}),L.common.cancel||"Cancel"]})]})]}):(0,b.jsx)("div",{className:"whitespace-pre-wrap",children:N.userNotes?(0,b.jsx)("p",{className:"text-foreground",children:N.userNotes}):(0,b.jsx)("p",{className:"text-muted-foreground italic",children:L.detail.noNotes})})})]})]})]}),V&&N?.originalImageUrl&&(0,b.jsx)("div",{className:"fixed inset-0 z-50 bg-black/90 flex items-center justify-center p-4",onClick:()=>W(!1),children:(0,b.jsxs)("div",{className:"relative max-w-7xl max-h-full",children:[(0,b.jsx)("button",{className:"absolute -top-12 right-0 text-white hover:text-gray-300 text-lg font-semibold bg-black/50 px-4 py-2 rounded",onClick:()=>W(!1),children:L.detail?.close||"✕ Close"}),(0,b.jsx)("img",{src:N.originalImageUrl,alt:"Full size",className:"max-w-full max-h-[90vh] object-contain rounded-lg",onClick:a=>a.stopPropagation()}),(0,b.jsx)("p",{className:"text-center text-white/70 text-sm mt-4",children:L.detail?.clickOutside||"Click outside to close"})]})})]})}],73773)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_error-items_%5Bid%5D_page_tsx_04xwwdm._.js.map
@@ -1,3 +1,3 @@
1
- module.exports=[1453,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(99570),f=a.i(51538),g=a.i(6376),h=a.i(15618),i=a.i(99464),j=a.i(38246),k=a.i(91119),l=a.i(86304),m=a.i(66718),n=a.i(15055),o=a.i(79834),p=a.i(70106);let q=(0,p.default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),r=(0,p.default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var s=a.i(16201),t=a.i(41710),u=a.i(5784),v=a.i(71931),w=a.i(55023);let x=(0,p.default)("git-compare-arrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]]),y=(0,p.default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var z=a.i(29759),A=a.i(86705),B=a.i(50194),C=a.i(7554),D=a.i(70121),E=a.i(50104),F=a.i(25152),G=a.i(35112),H=Symbol("radix.slottable");function I(a){return c.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===H}var J=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,d)=>{var e,f;let g,h,i,j=(f=e=`Primitive.${d}`,(g=c.forwardRef((a,b)=>{let{children:d,...e}=a;if(c.isValidElement(d)){var f;let a,g,h=(f=d,(g=(a=Object.getOwnPropertyDescriptor(f.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.ref:(g=(a=Object.getOwnPropertyDescriptor(f,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.props.ref:f.props.ref||f.ref),i=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(e,d.props);return d.type!==c.Fragment&&(i.ref=b?(0,D.composeRefs)(b,h):h),c.cloneElement(d,i)}return c.Children.count(d)>1?c.Children.only(null):null})).displayName=`${f}.SlotClone`,h=g,(i=c.forwardRef((a,d)=>{let{children:e,...f}=a,g=c.Children.toArray(e),i=g.find(I);if(i){let a=i.props.children,e=g.map(b=>b!==i?b:c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null);return(0,b.jsx)(h,{...f,ref:d,children:c.isValidElement(a)?c.cloneElement(a,void 0,e):null})}return(0,b.jsx)(h,{...f,ref:d,children:e})})).displayName=`${e}.Slot`,i),k=c.forwardRef((a,c)=>{let{asChild:e,...f}=a;return(0,b.jsx)(e?j:d,{...f,ref:c})});return k.displayName=`Primitive.${d}`,{...a,[d]:k}},{}),K=a.i(37738),L=a.i(7827),M=a.i(96743),N=a.i(86228),O=a.i(22297),P=a.i(92843),Q=a.i(4691),R=a.i(92616),S=a.i(77192);function T(a){var d;let e,f=(d=a,(e=c.forwardRef((a,b)=>{let{children:d,...e}=a;if(c.isValidElement(d)){var f;let a,g,h=(f=d,(g=(a=Object.getOwnPropertyDescriptor(f.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.ref:(g=(a=Object.getOwnPropertyDescriptor(f,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.props.ref:f.props.ref||f.ref),i=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(e,d.props);return d.type!==c.Fragment&&(i.ref=b?(0,D.composeRefs)(b,h):h),c.cloneElement(d,i)}return c.Children.count(d)>1?c.Children.only(null):null})).displayName=`${d}.SlotClone`,e),g=c.forwardRef((a,d)=>{let{children:e,...g}=a,h=c.Children.toArray(e),i=h.find(V);if(i){let a=i.props.children,e=h.map(b=>b!==i?b:c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null);return(0,b.jsx)(f,{...g,ref:d,children:c.isValidElement(a)?c.cloneElement(a,void 0,e):null})}return(0,b.jsx)(f,{...g,ref:d,children:e})});return g.displayName=`${a}.Slot`,g}var U=Symbol("radix.slottable");function V(a){return c.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===U}var W=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,d)=>{let e=T(`Primitive.${d}`),f=c.forwardRef((a,c)=>{let{asChild:f,...g}=a;return(0,b.jsx)(f?e:d,{...g,ref:c})});return f.displayName=`Primitive.${d}`,{...a,[d]:f}},{}),X=a.i(24050),Y=a.i(46872),Z=a.i(41852),$=a.i(52081),_=["Enter"," "],aa=["ArrowUp","PageDown","End"],ab=["ArrowDown","PageUp","Home",...aa],ac={ltr:[..._,"ArrowRight"],rtl:[..._,"ArrowLeft"]},ad={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ae="Menu",[af,ag,ah]=(0,K.createCollection)(ae),[ai,aj]=(0,E.createContextScope)(ae,[ah,Q.createPopperScope,X.createRovingFocusGroupScope]),ak=(0,Q.createPopperScope)(),al=(0,X.createRovingFocusGroupScope)(),[am,an]=ai(ae),[ao,ap]=ai(ae),aq=a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,j=ak(d),[k,l]=c.useState(null),m=c.useRef(!1),n=(0,Y.useCallbackRef)(h),o=(0,L.useDirection)(g);return c.useEffect(()=>{let a=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,b.jsx)(Q.Root,{...j,children:(0,b.jsx)(am,{scope:d,open:e,onOpenChange:n,content:k,onContentChange:l,children:(0,b.jsx)(ao,{scope:d,onClose:c.useCallback(()=>n(!1),[n]),isUsingKeyboardRef:m,dir:o,modal:i,children:f})})})};aq.displayName=ae;var ar=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=ak(d);return(0,b.jsx)(Q.Anchor,{...f,...e,ref:c})});ar.displayName="MenuAnchor";var as="MenuPortal",[at,au]=ai(as,{forceMount:void 0}),av=a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=an(as,c);return(0,b.jsx)(at,{scope:c,forceMount:d,children:(0,b.jsx)(S.Presence,{present:d||g.open,children:(0,b.jsx)(R.Portal,{asChild:!0,container:f,children:e})})})};av.displayName=as;var aw="MenuContent",[ax,ay]=ai(aw),az=c.forwardRef((a,c)=>{let d=au(aw,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=an(aw,a.__scopeMenu),h=ap(aw,a.__scopeMenu);return(0,b.jsx)(af.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(S.Presence,{present:e||g.open,children:(0,b.jsx)(af.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(aA,{...f,ref:c}):(0,b.jsx)(aB,{...f,ref:c})})})})}),aA=c.forwardRef((a,d)=>{let e=an(aw,a.__scopeMenu),f=c.useRef(null),g=(0,D.useComposedRefs)(d,f);return c.useEffect(()=>{let a=f.current;if(a)return(0,Z.hideOthers)(a)},[]),(0,b.jsx)(aD,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:e.open,disableOutsideScroll:!0,onFocusOutside:(0,C.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>e.onOpenChange(!1)})}),aB=c.forwardRef((a,c)=>{let d=an(aw,a.__scopeMenu);return(0,b.jsx)(aD,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})}),aC=T("MenuContent.ScrollLock"),aD=c.forwardRef((a,d)=>{let{__scopeMenu:e,loop:f=!1,trapFocus:g,onOpenAutoFocus:h,onCloseAutoFocus:i,disableOutsidePointerEvents:j,onEntryFocus:k,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,disableOutsideScroll:q,...r}=a,s=an(aw,e),t=ap(aw,e),u=ak(e),v=al(e),w=ag(e),[x,y]=c.useState(null),z=c.useRef(null),A=(0,D.useComposedRefs)(d,z,s.onContentChange),B=c.useRef(0),E=c.useRef(""),F=c.useRef(0),G=c.useRef(null),H=c.useRef("right"),I=c.useRef(0),J=q?$.RemoveScroll:c.Fragment;c.useEffect(()=>()=>window.clearTimeout(B.current),[]),(0,N.useFocusGuards)();let K=c.useCallback(a=>{var b,c;return H.current===G.current?.side&&(b=a,!!(c=G.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,b.jsx)(ax,{scope:e,searchRef:E,onItemEnter:c.useCallback(a=>{K(a)&&a.preventDefault()},[K]),onItemLeave:c.useCallback(a=>{K(a)||(z.current?.focus(),y(null))},[K]),onTriggerLeave:c.useCallback(a=>{K(a)&&a.preventDefault()},[K]),pointerGraceTimerRef:F,onPointerGraceIntentChange:c.useCallback(a=>{G.current=a},[]),children:(0,b.jsx)(J,{...q?{as:aC,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(O.FocusScope,{asChild:!0,trapped:g,onMountAutoFocus:(0,C.composeEventHandlers)(h,a=>{a.preventDefault(),z.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,b.jsx)(M.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:j,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,children:(0,b.jsx)(X.Root,{asChild:!0,...v,dir:t.dir,orientation:"vertical",loop:f,currentTabStopId:x,onCurrentTabStopIdChange:y,onEntryFocus:(0,C.composeEventHandlers)(k,a=>{t.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(Q.Content,{role:"menu","aria-orientation":"vertical","data-state":a1(s.open),"data-radix-menu-content":"",dir:t.dir,...u,...r,ref:A,style:{outline:"none",...r.style},onKeyDown:(0,C.composeEventHandlers)(r.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=E.current+e,f=w().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){E.current=b,window.clearTimeout(B.current),""!==b&&(B.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=z.current;if(a.target!==f||!ab.includes(a.key))return;a.preventDefault();let g=w().filter(a=>!a.disabled).map(a=>a.ref.current);aa.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,C.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(B.current),E.current="")}),onPointerMove:(0,C.composeEventHandlers)(a.onPointerMove,a4(a=>{let b=a.target,c=I.current!==a.clientX;a.currentTarget.contains(b)&&c&&(H.current=a.clientX>I.current?"right":"left",I.current=a.clientX)}))})})})})})})});az.displayName=aw;var aE=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(W.div,{role:"group",...e,ref:c})});aE.displayName="MenuGroup";var aF=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(W.div,{...e,ref:c})});aF.displayName="MenuLabel";var aG="MenuItem",aH="menu.itemSelect",aI=c.forwardRef((a,d)=>{let{disabled:e=!1,onSelect:f,...g}=a,h=c.useRef(null),i=ap(aG,a.__scopeMenu),j=ay(aG,a.__scopeMenu),k=(0,D.useComposedRefs)(d,h),l=c.useRef(!1);return(0,b.jsx)(aJ,{...g,ref:k,disabled:e,onClick:(0,C.composeEventHandlers)(a.onClick,()=>{let a=h.current;if(!e&&a){let b=new CustomEvent(aH,{bubbles:!0,cancelable:!0});a.addEventListener(aH,a=>f?.(a),{once:!0}),a&&G.flushSync(()=>a.dispatchEvent(b)),b.defaultPrevented?l.current=!1:i.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),l.current=!0},onPointerUp:(0,C.composeEventHandlers)(a.onPointerUp,a=>{l.current||a.currentTarget?.click()}),onKeyDown:(0,C.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==j.searchRef.current;e||b&&" "===a.key||_.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});aI.displayName=aG;var aJ=c.forwardRef((a,d)=>{let{__scopeMenu:e,disabled:f=!1,textValue:g,...h}=a,i=ay(aG,e),j=al(e),k=c.useRef(null),l=(0,D.useComposedRefs)(d,k),[m,n]=c.useState(!1),[o,p]=c.useState("");return c.useEffect(()=>{let a=k.current;a&&p((a.textContent??"").trim())},[h.children]),(0,b.jsx)(af.ItemSlot,{scope:e,disabled:f,textValue:g??o,children:(0,b.jsx)(X.Item,{asChild:!0,...j,focusable:!f,children:(0,b.jsx)(W.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":f||void 0,"data-disabled":f?"":void 0,...h,ref:l,onPointerMove:(0,C.composeEventHandlers)(a.onPointerMove,a4(a=>{f?i.onItemLeave(a):(i.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,C.composeEventHandlers)(a.onPointerLeave,a4(a=>i.onItemLeave(a))),onFocus:(0,C.composeEventHandlers)(a.onFocus,()=>n(!0)),onBlur:(0,C.composeEventHandlers)(a.onBlur,()=>n(!1))})})})}),aK=c.forwardRef((a,c)=>{let{checked:d=!1,onCheckedChange:e,...f}=a;return(0,b.jsx)(aS,{scope:a.__scopeMenu,checked:d,children:(0,b.jsx)(aI,{role:"menuitemcheckbox","aria-checked":a2(d)?"mixed":d,...f,ref:c,"data-state":a3(d),onSelect:(0,C.composeEventHandlers)(f.onSelect,()=>e?.(!!a2(d)||!d),{checkForDefaultPrevented:!1})})})});aK.displayName="MenuCheckboxItem";var aL="MenuRadioGroup",[aM,aN]=ai(aL,{value:void 0,onValueChange:()=>{}}),aO=c.forwardRef((a,c)=>{let{value:d,onValueChange:e,...f}=a,g=(0,Y.useCallbackRef)(e);return(0,b.jsx)(aM,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(aE,{...f,ref:c})})});aO.displayName=aL;var aP="MenuRadioItem",aQ=c.forwardRef((a,c)=>{let{value:d,...e}=a,f=aN(aP,a.__scopeMenu),g=d===f.value;return(0,b.jsx)(aS,{scope:a.__scopeMenu,checked:g,children:(0,b.jsx)(aI,{role:"menuitemradio","aria-checked":g,...e,ref:c,"data-state":a3(g),onSelect:(0,C.composeEventHandlers)(e.onSelect,()=>f.onValueChange?.(d),{checkForDefaultPrevented:!1})})})});aQ.displayName=aP;var aR="MenuItemIndicator",[aS,aT]=ai(aR,{checked:!1}),aU=c.forwardRef((a,c)=>{let{__scopeMenu:d,forceMount:e,...f}=a,g=aT(aR,d);return(0,b.jsx)(S.Presence,{present:e||a2(g.checked)||!0===g.checked,children:(0,b.jsx)(W.span,{...f,ref:c,"data-state":a3(g.checked)})})});aU.displayName=aR;var aV=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(W.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})});aV.displayName="MenuSeparator";var aW=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=ak(d);return(0,b.jsx)(Q.Arrow,{...f,...e,ref:c})});aW.displayName="MenuArrow";var[aX,aY]=ai("MenuSub"),aZ="MenuSubTrigger",a$=c.forwardRef((a,d)=>{let e=an(aZ,a.__scopeMenu),f=ap(aZ,a.__scopeMenu),g=aY(aZ,a.__scopeMenu),h=ay(aZ,a.__scopeMenu),i=c.useRef(null),{pointerGraceTimerRef:j,onPointerGraceIntentChange:k}=h,l={__scopeMenu:a.__scopeMenu},m=c.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return c.useEffect(()=>m,[m]),c.useEffect(()=>{let a=j.current;return()=>{window.clearTimeout(a),k(null)}},[j,k]),(0,b.jsx)(ar,{asChild:!0,...l,children:(0,b.jsx)(aJ,{id:g.triggerId,"aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":g.contentId,"data-state":a1(e.open),...a,ref:(0,D.composeRefs)(d,g.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),e.open||e.onOpenChange(!0))},onPointerMove:(0,C.composeEventHandlers)(a.onPointerMove,a4(b=>{h.onItemEnter(b),!b.defaultPrevented&&(a.disabled||e.open||i.current||(h.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{e.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,C.composeEventHandlers)(a.onPointerLeave,a4(a=>{m();let b=e.content?.getBoundingClientRect();if(b){let c=e.content?.dataset.side,d="right"===c,f=b[d?"left":"right"],g=b[d?"right":"left"];h.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:c}),window.clearTimeout(j.current),j.current=window.setTimeout(()=>h.onPointerGraceIntentChange(null),300)}else{if(h.onTriggerLeave(a),a.defaultPrevented)return;h.onPointerGraceIntentChange(null)}})),onKeyDown:(0,C.composeEventHandlers)(a.onKeyDown,b=>{let c=""!==h.searchRef.current;a.disabled||c&&" "===b.key||ac[f.dir].includes(b.key)&&(e.onOpenChange(!0),e.content?.focus(),b.preventDefault())})})})});a$.displayName=aZ;var a_="MenuSubContent",a0=c.forwardRef((a,d)=>{let e=au(aw,a.__scopeMenu),{forceMount:f=e.forceMount,...g}=a,h=an(aw,a.__scopeMenu),i=ap(aw,a.__scopeMenu),j=aY(a_,a.__scopeMenu),k=c.useRef(null),l=(0,D.useComposedRefs)(d,k);return(0,b.jsx)(af.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(S.Presence,{present:f||h.open,children:(0,b.jsx)(af.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)(aD,{id:j.contentId,"aria-labelledby":j.triggerId,...g,ref:l,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{i.isUsingKeyboardRef.current&&k.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,C.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==j.trigger&&h.onOpenChange(!1)}),onEscapeKeyDown:(0,C.composeEventHandlers)(a.onEscapeKeyDown,a=>{i.onClose(),a.preventDefault()}),onKeyDown:(0,C.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=ad[i.dir].includes(a.key);b&&c&&(h.onOpenChange(!1),j.trigger?.focus(),a.preventDefault())})})})})})});function a1(a){return a?"open":"closed"}function a2(a){return"indeterminate"===a}function a3(a){return a2(a)?"indeterminate":a?"checked":"unchecked"}function a4(a){return b=>"mouse"===b.pointerType?a(b):void 0}a0.displayName=a_;var a5="DropdownMenu",[a6,a7]=(0,E.createContextScope)(a5,[aj]),a8=aj(),[a9,ba]=a6(a5),bb=a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:g,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=a8(d),l=c.useRef(null),[m,n]=(0,F.useControllableState)({prop:g,defaultProp:h??!1,onChange:i,caller:a5});return(0,b.jsx)(a9,{scope:d,triggerId:(0,P.useId)(),triggerRef:l,contentId:(0,P.useId)(),open:m,onOpenChange:n,onOpenToggle:c.useCallback(()=>n(a=>!a),[n]),modal:j,children:(0,b.jsx)(aq,{...k,open:m,onOpenChange:n,dir:f,modal:j,children:e})})};bb.displayName=a5;var bc="DropdownMenuTrigger",bd=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,disabled:e=!1,...f}=a,g=ba(bc,d),h=a8(d);return(0,b.jsx)(ar,{asChild:!0,...h,children:(0,b.jsx)(J.button,{type:"button",id:g.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?"open":"closed","data-disabled":e?"":void 0,disabled:e,...f,ref:(0,D.composeRefs)(c,g.triggerRef),onPointerDown:(0,C.composeEventHandlers)(a.onPointerDown,a=>{!e&&0===a.button&&!1===a.ctrlKey&&(g.onOpenToggle(),g.open||a.preventDefault())}),onKeyDown:(0,C.composeEventHandlers)(a.onKeyDown,a=>{!e&&(["Enter"," "].includes(a.key)&&g.onOpenToggle(),"ArrowDown"===a.key&&g.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});bd.displayName=bc;var be=a=>{let{__scopeDropdownMenu:c,...d}=a,e=a8(c);return(0,b.jsx)(av,{...e,...d})};be.displayName="DropdownMenuPortal";var bf="DropdownMenuContent",bg=c.forwardRef((a,d)=>{let{__scopeDropdownMenu:e,...f}=a,g=ba(bf,e),h=a8(e),i=c.useRef(!1);return(0,b.jsx)(az,{id:g.contentId,"aria-labelledby":g.triggerId,...h,...f,ref:d,onCloseAutoFocus:(0,C.composeEventHandlers)(a.onCloseAutoFocus,a=>{i.current||g.triggerRef.current?.focus(),i.current=!1,a.preventDefault()}),onInteractOutside:(0,C.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!g.modal||d)&&(i.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bg.displayName=bf,c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aE,{...f,...e,ref:c})}).displayName="DropdownMenuGroup";var bh=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aF,{...f,...e,ref:c})});bh.displayName="DropdownMenuLabel";var bi=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aI,{...f,...e,ref:c})});bi.displayName="DropdownMenuItem";var bj=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aK,{...f,...e,ref:c})});bj.displayName="DropdownMenuCheckboxItem",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aO,{...f,...e,ref:c})}).displayName="DropdownMenuRadioGroup";var bk=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aQ,{...f,...e,ref:c})});bk.displayName="DropdownMenuRadioItem";var bl=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aU,{...f,...e,ref:c})});bl.displayName="DropdownMenuItemIndicator";var bm=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aV,{...f,...e,ref:c})});bm.displayName="DropdownMenuSeparator",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aW,{...f,...e,ref:c})}).displayName="DropdownMenuArrow";var bn=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(a$,{...f,...e,ref:c})});bn.displayName="DropdownMenuSubTrigger";var bo=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(a0,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bo.displayName="DropdownMenuSubContent";var bp=a.i(33441),bq=a.i(50522);let br=(0,p.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var bs=a.i(68114);c.forwardRef(({className:a,inset:c,children:d,...e},f)=>(0,b.jsxs)(bn,{ref:f,className:(0,bs.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",c&&"pl-8",a),...e,children:[d,(0,b.jsx)(bq.ChevronRight,{className:"ml-auto h-4 w-4"})]})).displayName=bn.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bo,{ref:d,className:(0,bs.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})).displayName=bo.displayName;let bt=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(be,{children:(0,b.jsx)(bg,{ref:e,sideOffset:c,className:(0,bs.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...d})}));bt.displayName=bg.displayName;let bu=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bi,{ref:e,className:(0,bs.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",c&&"pl-8",a),...d}));bu.displayName=bi.displayName,c.forwardRef(({className:a,children:c,checked:d,...e},f)=>(0,b.jsxs)(bj,{ref:f,className:(0,bs.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:d,...e,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bl,{children:(0,b.jsx)(bp.Check,{className:"h-4 w-4"})})}),c]})).displayName=bj.displayName,c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(bk,{ref:e,className:(0,bs.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bl,{children:(0,b.jsx)(br,{className:"h-2 w-2 fill-current"})})}),c]})).displayName=bk.displayName;let bv=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bh,{ref:e,className:(0,bs.cn)("px-2 py-1.5 text-sm font-semibold",c&&"pl-8",a),...d}));bv.displayName=bh.displayName;let bw=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bm,{ref:d,className:(0,bs.cn)("-mx-1 my-1 h-px bg-muted",a),...c}));bw.displayName=bm.displayName;var bx=a.i(81560),by=a.i(33508),bz=a.i(96221),bA=a.i(14574),bB=a.i(42027),bC=a.i(93907),bD=a.i(91938),bE=a.i(30534);function bF({ids:a}){let{t:d}=(0,B.useLanguage)(),[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(0),[q,r]=a,s=()=>{l(!0),i(null),n(null),p(a=>a+1)};return(0,c.useEffect)(()=>{if(!f||!q||!r)return;let a=!0;return bD.apiClient.post("/api/error-items/similarity",{ids:[q,r]}).then(b=>{a&&i(b)}).catch(b=>{a&&(n("Question text is required for similarity comparison"===b?.data?.message?d.questionSimilarity.missingText:d.questionSimilarity.failed),bE.frontendLogger.error("[Similarity]","相似度比较失败",{error:b instanceof Error?b.message:String(b)}))}).finally(()=>{a&&l(!1)}),()=>{a=!1}},[f,q,r,o,d.questionSimilarity.failed,d.questionSimilarity.missingText]),(0,b.jsxs)(bA.Dialog,{open:f,onOpenChange:a=>{g(a),a&&s()},children:[(0,b.jsx)(bA.DialogTrigger,{asChild:!0,children:(0,b.jsxs)(e.Button,{variant:"outline",disabled:2!==a.length,title:d.questionSimilarity.selectTwo,children:[(0,b.jsx)(x,{className:"mr-2 h-4 w-4"}),d.questionSimilarity.title]})}),(0,b.jsxs)(bA.DialogContent,{className:"w-[calc(100vw-2rem)] sm:max-w-3xl max-h-[85vh] overflow-y-auto",children:[(0,b.jsxs)(bA.DialogHeader,{children:[(0,b.jsx)(bA.DialogTitle,{children:d.questionSimilarity.title}),(0,b.jsx)(bA.DialogDescription,{children:d.questionSimilarity.description})]}),k&&(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",role:"status",children:[(0,b.jsx)(bz.Loader2,{className:"h-4 w-4 animate-spin"}),d.common.loading]}),m&&(0,b.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:m}),m&&(0,b.jsx)(e.Button,{variant:"outline",onClick:s,children:d.questionSimilarity.retry}),h&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-2 rounded-lg bg-muted p-4",role:"status",children:[(0,b.jsx)("p",{className:"text-sm",children:d.questionSimilarity.score}),(0,b.jsxs)("p",{className:"text-3xl font-bold tabular-nums",children:[Number((100*h.similarity).toFixed(4)),"%"]}),(0,b.jsx)("p",{className:"text-sm",children:d.questionSimilarity.threshold.replace("{threshold}",String(h.threshold))}),(0,b.jsx)("p",{className:"text-sm font-medium",children:h.duplicate?d.questionSimilarity.duplicate:d.questionSimilarity.different})]}),(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:h.items.map((a,c)=>(0,b.jsxs)("div",{className:"min-w-0 space-y-2 rounded-lg border p-3",children:[(0,b.jsxs)(j.default,{href:`/error-items/${a.id}`,className:"text-sm font-medium text-primary hover:underline",children:[d.questionSimilarity.question.replace("{index}",String(c+1))," · ",a.shortId||"-"]}),a.notebookName&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a.notebookName}),(0,b.jsx)("div",{className:"max-h-56 overflow-auto text-sm",children:(0,b.jsx)(bC.MarkdownRenderer,{content:a.questionText})})]},a.id))})]}),(0,b.jsx)(bB.DuplicateThresholdSetting,{onSaved:s})]})]})}function bG({selectedIds:a,deleting:c,onCancel:d,onDelete:f}){let{t:g}=(0,B.useLanguage)();return(0,b.jsx)("div",{className:"pb-safe fixed bottom-0 left-0 right-0 z-50 border-t bg-card/95 p-4 shadow-lg backdrop-blur",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-6xl flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,b.jsxs)("div",{className:"space-y-1 text-sm text-muted-foreground",children:[(0,b.jsx)("p",{children:g.notebook.selectedCount.replace("{count}",String(a.length))}),(0,b.jsx)("p",{className:"text-xs",children:g.questionSimilarity.selectTwo})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(bF,{ids:a}),(0,b.jsxs)(e.Button,{variant:"outline",onClick:d,children:[(0,b.jsx)(by.X,{className:"mr-2 h-4 w-4"}),g.notebook.cancelSelect]}),(0,b.jsxs)(e.Button,{variant:"destructive",onClick:f,disabled:0===a.length||c,children:[(0,b.jsx)(bx.Trash2,{className:"mr-2 h-4 w-4"}),g.notebook.deleteSelected]})]})]})})}var bH=a.i(31368),bI=a.i(80701),bJ=a.i(57292);let bK={1:["一年级"],2:["二年级"],3:["三年级"],4:["四年级"],5:["五年级"],6:["六年级"],7:["七年级上","七年级下","七年级"],8:["八年级上","八年级下","八年级"],9:["九年级上","九年级下","九年级"],10:["高一上","高一下","高一"],11:["高二上","高二下","高二"],12:["高三上","高三下","高三"]};function bL({gradeSemester:a,tag:d,subjectName:e,onFilterChange:f,className:g}){let{timeZone:h}=(0,z.useTimeZone)(),[i,j]=(0,c.useState)(a||""),[k,l]=(0,c.useState)(""),[m,n]=(0,c.useState)(d||""),[o,p]=(0,c.useState)([]),[q,r]=(0,c.useState)(!0),[s,t]=(0,c.useState)({}),[u,v]=(0,c.useState)([]);(0,c.useEffect)(()=>{void 0!==a&&j(a)},[a]),(0,c.useEffect)(()=>{void 0!==d&&n(d||"")},[d]);let w=(0,c.useCallback)((a,b)=>{let c=(0,A.getCalendarDate)(new Date,h),d=c.getFullYear(),e=(c.getMonth()+1>=9?d:d-1)-b+1;return"primary"===a?e:"junior_high"===a?e+6:"senior_high"===a?e+9:0},[h]),x=(0,c.useCallback)((a,b)=>{let c=[];return a?"primary"===a?c=[1,2,3,4,5,6]:"junior_high"===a?(c=[7,8,9],b&&w(a,b)>=10&&c.push(10,11,12)):c="senior_high"===a?[10,11,12]:[1,2,3,4,5,6,7,8,9,10,11,12]:c=[1,2,3,4,5,6,7,8,9,10,11,12],c.flatMap(a=>bK[a]||[])},[w]);(0,c.useEffect)(()=>{(async()=>{r(!0);try{let a=await bD.apiClient.get("/api/user");t(a);let b=x(a.educationStage,a.enrollmentYear);v(b);let c=e?(0,bJ.inferSubjectFromName)(e):"math";try{let a=await bD.apiClient.get(`/api/tags?subject=${c}`);p(a.tags)}catch(a){console.warn(`Failed to fetch tags for subject ${c}`,a),p([])}}catch(a){console.error("Failed to load filter data:",a)}finally{r(!1)}})()},[e,x]);let y=o.find(a=>a.name===i),B=y?.children||[],C=B.find(a=>a.name===k),D=a=>0===a.children.length?[a.name]:a.children.flatMap(a=>D(a)),E=C?[...new Set(D(C))]:[],F=u.filter(a=>o.some(b=>b.name===a));return(0,b.jsxs)("div",{className:`flex gap-2 ${g}`,children:[(0,b.jsxs)(bI.Select,{value:i,onValueChange:a=>{j(a),l(""),n(""),f({gradeSemester:"all"===a?void 0:a,chapter:void 0,tag:void 0})},disabled:q,children:[(0,b.jsx)(bI.SelectTrigger,{className:"w-[140px]",children:(0,b.jsx)(bI.SelectValue,{placeholder:"年级/学期"})}),(0,b.jsxs)(bI.SelectContent,{children:[(0,b.jsx)(bI.SelectItem,{value:"all",children:"全部年级"}),F.map(a=>(0,b.jsx)(bI.SelectItem,{value:a,children:a},a))]})]}),(0,b.jsxs)(bI.Select,{value:k,onValueChange:a=>{l(a),n(""),f({gradeSemester:"all"===i?void 0:i,chapter:"all"===a?void 0:a,tag:void 0})},disabled:!i||"all"===i,children:[(0,b.jsx)(bI.SelectTrigger,{className:"w-[180px]",children:(0,b.jsx)(bI.SelectValue,{placeholder:"章节"})}),(0,b.jsxs)(bI.SelectContent,{children:[(0,b.jsx)(bI.SelectItem,{value:"all",children:"全部章节"}),B.map(a=>(0,b.jsx)(bI.SelectItem,{value:a.name,children:a.name.replace(/^第\d+章\s*/,"")},a.id))]})]}),(0,b.jsxs)(bI.Select,{value:m,onValueChange:a=>{n(a),f({gradeSemester:"all"===i?void 0:i,chapter:"all"===k?void 0:k,tag:"all"===a?void 0:a})},disabled:!k||"all"===k,children:[(0,b.jsx)(bI.SelectTrigger,{className:"w-[140px]",children:(0,b.jsx)(bI.SelectValue,{placeholder:"知识点"})}),(0,b.jsxs)(bI.SelectContent,{children:[(0,b.jsx)(bI.SelectItem,{value:"all",children:"全部知识点"}),E.map(a=>(0,b.jsx)(bI.SelectItem,{value:a,children:a},a))]})]})]})}var bM=a.i(49355);let bN={}.hasOwnProperty,bO={}.hasOwnProperty;var bP=a.i(72073),bQ=a.i(98970),bR=a.i(36279);let bS=[function(a,b,c,d){if("code"===b.type&&(0,bQ.formatCodeAsIndented)(b,d)&&("list"===a.type||a.type===b.type&&(0,bQ.formatCodeAsIndented)(a,d)))return!1;if("spread"in c&&"boolean"==typeof c.spread){if("paragraph"===a.type&&(a.type===b.type||"definition"===b.type||"heading"===b.type&&(0,bR.formatHeadingAsSetext)(b,d)))return;return+!!c.spread}}],bT=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"],bU=[{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:"\n",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:bT},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:"(?:[\r\n]|$)"},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:bT},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:"(?:[ \r\n*])"},{character:"*",inConstruct:"phrasing",notInConstruct:bT},{atBreak:!0,character:"+",after:"(?:[ \r\n])"},{atBreak:!0,character:"-",after:"(?:[ \r\n-])"},{atBreak:!0,before:"\\d+",character:".",after:"(?:[ \r\n]|$)"},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing",notInConstruct:bT},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:"phrasing",notInConstruct:bT},{character:"[",inConstruct:["label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{character:"_",inConstruct:"phrasing",notInConstruct:bT},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent"]},{character:"`",inConstruct:"phrasing",notInConstruct:bT},{atBreak:!0,character:"~"}];var bV=a.i(55735);function bW(a){return a.label||!a.identifier?a.label||"":(0,bV.decodeString)(a.identifier)}function bX(a){if(!a._compiled){let b=(a.atBreak?"[\\r\\n][\\t ]*":"")+(a.before?"(?:"+a.before+")":"");a._compiled=RegExp((b?"("+b+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(a.character)?"\\":"")+a.character+(a.after?"(?:"+a.after+")":""),"g")}return a._compiled}var bY=a.i(88183);let bZ=/\r?\n|\r/g;function b$(a,b){let c,d=[],e=0,f=0;for(;c=bZ.exec(a);)g(a.slice(e,c.index)),d.push(c[0]),e=c.index+c[0].length,f++;return g(a.slice(e)),d.join("");function g(a){d.push(b(a,f,!a))}}var b_=a.i(89750);function b0(a,b){return a-b}function b1(a,b){let c,d=/\\(?=[!-/:-@[-`{-~])/g,e=[],f=[],g=a+b,h=-1,i=0;for(;c=d.exec(g);)e.push(c.index);for(;++h<e.length;)i!==e[h]&&f.push(a.slice(i,e[h])),f.push("\\"),i=e[h];return f.push(a.slice(i)),f.join("")}function b2(a){let b=a||{},c=b.now||{},d=b.lineShift||0,e=c.line||1,f=c.column||1;return{move:function(a){let b=a||"",c=b.split(/\r?\n|\r/g),g=c[c.length-1];return e+=c.length-1,f=1===c.length?f+g.length:1+g.length+d,b},current:function(){return{now:{line:e,column:f},lineShift:d}},shift:function(a){d+=a}}}function b3(a){throw Error("Cannot handle value `"+a+"`, expected node")}function b4(a){throw Error("Cannot handle unknown node `"+a.type+"`")}function b5(a,b){if("definition"===a.type&&a.type===b.type)return 0}function b6(a,b){return function(a,b,c){let d,e=b.indexStack,f=a.children||[],g=[],h=-1,i=c.before;e.push(-1);let j=b.createTracker(c);for(;++h<f.length;){let k,l=f[h];if(e[e.length-1]=h,h+1<f.length){let c=b.handle.handlers[f[h+1].type];c&&c.peek&&(c=c.peek),k=c?c(f[h+1],a,b,{before:"",after:"",...j.current()}).charAt(0):""}else k=c.after;g.length>0&&("\r"===i||"\n"===i)&&"html"===l.type&&(g[g.length-1]=g[g.length-1].replace(/(\r?\n|\r)$/," "),i=" ",(j=b.createTracker(c)).move(g.join("")));let m=b.handle(l,a,b,{...j.current(),after:k,before:i});d&&d===m.slice(0,1)&&(m=(0,bY.encodeCharacterReference)(d.charCodeAt(0))+m.slice(1));let n=b.attentionEncodeSurroundingInfo;b.attentionEncodeSurroundingInfo=void 0,d=void 0,n&&(g.length>0&&n.before&&i===g[g.length-1].slice(-1)&&(g[g.length-1]=g[g.length-1].slice(0,-1)+(0,bY.encodeCharacterReference)(i.charCodeAt(0))),n.after&&(d=k)),j.move(m),g.push(m),i=m.slice(-1)}return e.pop(),g.join("")}(a,this,b)}function b7(a,b){return function(a,b,c){let d=b.indexStack,e=a.children||[],f=b.createTracker(c),g=[],h=-1;for(d.push(-1);++h<e.length;){let c=e[h];d[d.length-1]=h,g.push(f.move(b.handle(c,a,b,{before:"\n",after:"\n",...f.current()}))),"list"!==c.type&&(b.bulletLastUsed=void 0),h<e.length-1&&g.push(f.move(function(a,b,c,d){let e=d.join.length;for(;e--;){let f=d.join[e](a,b,c,d);if(!0===f||1===f)break;if("number"==typeof f)return"\n".repeat(1+f);if(!1===f)return"\n\n<!---->\n\n"}return"\n\n"}(c,e[h+1],a,b)))}return d.pop(),g.join("")}(a,this,b)}function b8(a,b){return function(a,b,c){let d=(c.before||"")+(b||"")+(c.after||""),e=[],f=[],g={},h=-1;for(;++h<a.unsafe.length;){let b,c=a.unsafe[h];if(!(0,b_.patternInScope)(a.stack,c))continue;let f=a.compilePattern(c);for(;b=f.exec(d);){let a="before"in c||!!c.atBreak,d="after"in c,f=b.index+(a?b[1].length:0);e.includes(f)?(g[f].before&&!a&&(g[f].before=!1),g[f].after&&!d&&(g[f].after=!1)):(e.push(f),g[f]={before:a,after:d})}}e.sort(b0);let i=c.before?c.before.length:0,j=d.length-(c.after?c.after.length:0);for(h=-1;++h<e.length;){let a=e[h];!(a<i)&&!(a>=j)&&(!(a+1<j)||e[h+1]!==a+1||!g[a].after||g[a+1].before||g[a+1].after)&&(e[h-1]!==a-1||!g[a].before||g[a-1].before||g[a-1].after)&&(i!==a&&f.push(b1(d.slice(i,a),"\\")),i=a,!/[!-/:-@[-`{-~]/.test(d.charAt(a))||c.encode&&c.encode.includes(d.charAt(a))?(f.push((0,bY.encodeCharacterReference)(d.charCodeAt(a))),i++):f.push("\\"))}return f.push(b1(d.slice(i,j),c.after)),f.join("")}(this,a,b)}let b9=(0,a.i(32252).unified)().use(bM.default).use(function(a){let b=this;b.compiler=function(c){var d;let e,f;return d={...b.data("settings"),...a,extensions:b.data("toMarkdownExtensions")||[]},!function a(b,c){var d,e,f,g;let h,i=-1;if(c.extensions)for(;++i<c.extensions.length;)a(b,c.extensions[i]);for(h in c)if(bO.call(c,h))switch(h){case"extensions":break;case"unsafe":case"join":d=b[h],(e=c[h])&&d.push(...e);break;case"handlers":f=b[h],(g=c[h])&&Object.assign(f,g);break;default:b.options[h]=c[h]}return b}(e={associationId:bW,containerPhrasing:b6,containerFlow:b7,createTracker:b2,compilePattern:bX,enter:function(a){return e.stack.push(a),function(){e.stack.pop()}},handlers:{...bP.handle},handle:void 0,indentLines:b$,indexStack:[],join:[...bS],options:{},safe:b8,stack:[],unsafe:[...bU]},d||{}),e.options.tightDefinitions&&e.join.push(b5),e.handle=function(a,b){let c=b||{};function d(b,...c){let e=d.invalid,f=d.handlers;if(b&&bN.call(b,a)){let c=String(b[a]);e=bN.call(f,c)?f[c]:d.unknown}if(e)return e.call(this,b,...c)}return d.handlers=c.handlers||{},d.invalid=c.invalid,d.unknown=c.unknown,d}("type",{invalid:b3,unknown:b4,handlers:e.handlers}),(f=e.handle(c,void 0,e,{before:"\n",after:"\n",now:{line:1,column:1},lineShift:0}))&&10!==f.charCodeAt(f.length-1)&&13!==f.charCodeAt(f.length-1)&&(f+="\n"),f}}).freeze(),ca={blockquote:cg,break:function(){return{type:"text",value:"\n"}},code:ch,definition:ch,delete:cg,emphasis:cg,footnoteReference:ch,footnoteDefinition:ch,heading:function(a){return{type:"paragraph",children:a.children}},html:ch,image:ce,imageReference:ce,inlineCode:cf,list:cg,listItem:cg,link:cg,linkReference:cg,strong:cg,table:ch,tableCell:ch,text:cf,thematicBreak:ch,toml:ch,yaml:ch},cb={},cc=[];function cd(a){let b={...ca},c=a||cb,d=c.keep||cc,e=c.remove||cc,f=-1;for(;++f<e.length;){let a=e[f];"string"==typeof a?b[a]=ch:b[a[0]]=a[1]}let g={};if(0===d.length)g=b;else{let a;for(a in b)d.includes(a)||(g[a]=b[a]);for(f=-1;++f<d.length;)if(!Object.hasOwn(b,a=d[f]))throw Error("Unknown node type `"+a+"` in `keep`, use a replace tuple with a handle instead: `remove: [['"+a+"', handle]]`")}return function(a){return h(a)};function h(a){let b=a.type,c=a;if(Object.hasOwn(g,b)){let a=g[b];a&&(c=a(c)||void 0)}return(c=Array.isArray(c)?i(c):c)&&"children"in c&&(c.children=i(c.children)),c}function i(a){let b=-1,c=[];for(;++b<a.length;){let d=h(a[b]);Array.isArray(d)?c.push(...i(d)):d&&c.push(d)}var d=c;let e,f=-1,g=[];for(;++f<d.length;){let a=d[f];e&&a.type===e.type&&"value"in a&&"value"in e?e.value+=a.value:(g.push(a),e=a)}return g}}function ce(a){let b="title"in a?a.title:"",c=a.alt||b||"";return c?{type:"text",value:c}:void 0}function cf(a){return{type:"text",value:a.value}}function cg(a){return a.children}function ch(){}let ci=(0,p.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),cj=(0,p.default)("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]),ck=(0,p.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var cl=a.i(97902);function cm({page:a,totalPages:c,onPageChange:d,total:f,pageSize:g}){let{t:h}=(0,B.useLanguage)();if(c<=1)return null;let i=a>1,j=a<c,k=(()=>{let b=[];if(c<=cl.MAX_VISIBLE_PAGES)for(let a=1;a<=c;a++)b.push(a);else{b.push(1),a>3&&b.push("ellipsis");let d=Math.max(2,a-1),e=Math.min(c-1,a+1);for(let a=d;a<=e;a++)b.push(a);a<c-2&&b.push("ellipsis"),b.push(c)}return b})();return(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 py-4",children:[void 0!==f&&void 0!==g&&(0,b.jsx)("div",{className:"text-sm text-muted-foreground order-2 sm:order-1",children:(h.pagination?.showing||"Showing {start}-{end} of {total}").replace("{start}",((a-1)*g+1).toString()).replace("{end}",Math.min(a*g,f).toString()).replace("{total}",f.toString())}),(0,b.jsxs)("div",{className:"flex items-center gap-1 order-1 sm:order-2",children:[(0,b.jsx)(e.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(1),disabled:!i,title:h.pagination?.first||"First page",children:(0,b.jsx)(cj,{className:"h-4 w-4"})}),(0,b.jsx)(e.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(a-1),disabled:!i,title:h.pagination?.prev||"Previous page",children:(0,b.jsx)(ci,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"hidden sm:flex items-center gap-1",children:k.map((c,f)=>"ellipsis"===c?(0,b.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},`ellipsis-${f}`):(0,b.jsx)(e.Button,{variant:c===a?"default":"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(c),children:c},c))}),(0,b.jsxs)("span",{className:"sm:hidden text-sm px-2",children:[a," / ",c]}),(0,b.jsx)(e.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(a+1),disabled:!j,title:h.pagination?.next||"Next page",children:(0,b.jsx)(bq.ChevronRight,{className:"h-4 w-4"})}),(0,b.jsx)(e.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(c),disabled:!j,title:h.pagination?.last||"Last page",children:(0,b.jsx)(ck,{className:"h-4 w-4"})})]})]})}var cn=a.i(92883),co=a.i(83715),cp=a.i(79188),cq=a.i(10302);function cr({subjectId:a,subjectName:f}={}){let{timeZone:g}=(0,z.useTimeZone)(),[h,i]=(0,c.useState)([]),[p,C]=(0,c.useState)(!0),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)("all"),[H,I]=(0,c.useState)("all"),[J,K]=(0,c.useState)(""),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)("all"),[P,Q]=(0,c.useState)(null),[R,S]=(0,c.useState)(new Set),[T,U]=(0,c.useState)(1),[V]=(0,c.useState)(cl.DEFAULT_PAGE_SIZE),[W,X]=(0,c.useState)(0),[Y,Z]=(0,c.useState)(0),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(new Set),[ac,ad]=(0,c.useState)(!1),{t:ae,language:af}=(0,B.useLanguage)(),ag=(0,d.useRouter)(),ah=()=>{_(!$),ab(new Set)},ai=async()=>{if(0===aa.size)return;let a=(ae.notebook?.confirmBatchDelete||"Delete {count} items?").replace("{count}",aa.size.toString());if(await (0,cq.confirmDialog)(a,{destructive:!0})){ad(!0);try{await bD.apiClient.post("/api/error-items/batch-delete",{ids:Array.from(aa)}),cq.toast.success(ae.notebook?.batchDeleteSuccess||"Deleted successfully"),_(!1),ab(new Set),ak()}catch(a){console.error(a),cq.toast.error(ae.common?.messages?.deleteFailed||"Delete failed")}finally{ad(!1)}}},aj=(0,c.useRef)({search:D,masteryFilter:F,timeFilter:H,selectedTag:P,subjectId:a,gradeFilter:J,chapterFilter:L,paperLevelFilter:N});(0,c.useEffect)(()=>{let b=aj.current,c=b.search!==D||b.masteryFilter!==F||b.timeFilter!==H||b.selectedTag!==P||b.subjectId!==a||b.gradeFilter!==J||b.chapterFilter!==L||b.paperLevelFilter!==N;(aj.current={search:D,masteryFilter:F,timeFilter:H,selectedTag:P,subjectId:a,gradeFilter:J,chapterFilter:L,paperLevelFilter:N},c&&1!==T)?U(1):ak()},[T,D,F,H,P,a,J,L,N]);let ak=async()=>{C(!0);try{let b=new URLSearchParams;a&&b.append("subjectId",a),D&&b.append("query",D),"all"!==F&&b.append("mastery","mastered"===F?"1":"0"),"all"!==H&&b.append("timeRange",H),P&&b.append("tag",P),J&&b.append("gradeSemester",J),L&&b.append("chapter",L),"all"!==N&&b.append("paperLevel",N),b.append("page",T.toString()),b.append("pageSize",V.toString());let c=await bD.apiClient.get(`/api/error-items/list?${b.toString()}`);i(c.items),X(c.total),Z(c.totalPages)}catch(a){console.error(a)}finally{C(!1)}};return(0,b.jsxs)("div",{className:`space-y-6 ${$?"pb-40 sm:pb-24":""}`,children:[(0,b.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row",children:[(0,b.jsxs)("div",{className:"relative w-full lg:flex-1",children:[(0,b.jsx)(q,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(m.Input,{placeholder:ae.notebook.search,title:ae.shortId.searchHint,className:"h-10 rounded-xl bg-card pl-9",value:D,onChange:a=>E(a.target.value),onKeyDown:async a=>{let b=D.trim();if("Enter"!==a.key||!(0,co.isShortId)(b))return;let c=await (0,cp.locateByShortId)(b);c&&ag.push(`/error-items/${c}`)}})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(bb,{children:[(0,b.jsx)(bd,{asChild:!0,children:(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",className:"h-10",children:[(0,b.jsx)(r,{className:"mr-2 h-4 w-4"}),ae.notebook.filter,(0,b.jsx)(u.ChevronDown,{className:"ml-2 h-4 w-4"})]})}),(0,b.jsxs)(bt,{align:"end",className:"w-48",children:[(0,b.jsx)(bv,{children:ae.filter.masteryStatus||"Mastery Status"}),(0,b.jsxs)(bu,{onClick:()=>G("all"),children:["all"===F&&"✓ ",ae.filter.all||"All"]}),(0,b.jsxs)(bu,{onClick:()=>G("unmastered"),children:["unmastered"===F&&"✓ ",ae.filter.review||"To Review"]}),(0,b.jsxs)(bu,{onClick:()=>G("mastered"),children:["mastered"===F&&"✓ ",ae.filter.mastered||"Mastered"]}),(0,b.jsx)(bw,{}),(0,b.jsx)(bv,{children:ae.filter.timeRange||"Time Range"}),(0,b.jsxs)(bu,{onClick:()=>I("all"),children:["all"===H&&"✓ ",ae.filter.allTime||"All Time"]}),(0,b.jsxs)(bu,{onClick:()=>I("week"),children:["week"===H&&"✓ ",ae.filter.lastWeek||"Last Week"]}),(0,b.jsxs)(bu,{onClick:()=>I("month"),children:["month"===H&&"✓ ",ae.filter.lastMonth||"Last Month"]})]})]}),(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",className:"h-10",onClick:()=>{let b=new URLSearchParams;a&&b.append("subjectId",a),D&&b.append("query",D),"all"!==F&&b.append("mastery","mastered"===F?"1":"0"),"all"!==H&&b.append("timeRange",H),P&&b.append("tag",P),J&&b.append("gradeSemester",J),L&&b.append("chapter",L),"all"!==N&&b.append("paperLevel",N),ag.push(`/print-preview?${b.toString()}`)},children:[(0,b.jsx)(v.Printer,{className:"mr-2 h-4 w-4"}),ae.notebook?.exportPrint||"导出打印"]}),!$&&(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",className:"h-10",onClick:ah,children:[(0,b.jsx)(x,{className:"mr-2 h-4 w-4"}),ae.questionSimilarity.title]}),(0,b.jsxs)(e.Button,{variant:$?"secondary":"outline",size:"sm",className:"h-10",onClick:ah,children:[(0,b.jsx)(w.ListChecks,{className:"mr-2 h-4 w-4"}),$?ae.notebook?.cancelSelect||"取消":ae.notebook?.selectMode||"多选"]})]})]}),(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 items-stretch sm:items-center",children:[(0,b.jsx)("div",{className:"w-full sm:w-auto",children:(0,b.jsx)(bL,{gradeSemester:J,tag:P,onFilterChange:({gradeSemester:a,chapter:b,tag:c})=>{void 0!==a&&K(a),void 0!==b&&M(b),Q(void 0===c?null:c),a?b||M(""):(K(""),M(""),Q(null)),U(1)},subjectName:f})}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(e.Button,{variant:"all"===N?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>O("all"),children:ae.filter.all||"All"}),(0,b.jsx)(e.Button,{variant:"a"===N?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>O("a"),children:ae.editor.paperLevels?.a||"Paper A"}),(0,b.jsx)(e.Button,{variant:"b"===N?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>O("b"),children:ae.editor.paperLevels?.b||"Paper B"}),(0,b.jsx)(e.Button,{variant:"other"===N?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>O("other"),children:ae.editor.paperLevels?.other||"Other"})]})]}),P&&(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-muted rounded-lg",children:[(0,b.jsxs)("span",{className:"text-sm text-muted-foreground",children:[ae.filter.filteringByTag||"Filtering by tag",":"]}),(0,b.jsxs)(l.Badge,{variant:"secondary",className:"cursor-pointer",onClick:()=>Q(null),children:[P,(0,b.jsx)("span",{className:"ml-1 text-xs",children:"×"})]})]}),!p&&0===h.length&&(0,b.jsx)(o.EmptyState,{icon:y,title:ae.notebook.emptyList,description:ae.notebook.emptyListHint}),p&&0===h.length&&(0,b.jsx)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6},(a,c)=>(0,b.jsx)("div",{className:"h-44 animate-pulse rounded-2xl bg-muted"},c))}),(0,b.jsx)("div",{className:`grid gap-4 md:grid-cols-2 lg:grid-cols-3 transition-opacity ${p?"opacity-60":""}`,children:h.map(a=>{let c,d=[];if(a.tags&&a.tags.length>0)d=a.tags.map(a=>a.name);else try{d=JSON.parse(a.knowledgePoints||"[]")}catch{d=[]}return(0,b.jsxs)("div",{className:"relative animate-in fade-in duration-300",children:[$&&(0,b.jsx)("div",{className:"absolute top-2 left-2 z-10",onClick:b=>{var c;return c=a.id,void(b.preventDefault(),b.stopPropagation(),ab(a=>{let b=new Set(a);return b.has(c)?b.delete(c):b.add(c),b}))},children:(0,b.jsx)(n.Checkbox,{checked:aa.has(a.id),"aria-label":ae.questionSimilarity.selectQuestion.replace("{id}",a.shortId||a.id),className:"h-5 w-5 border-2 bg-background shadow-sm"})}),(0,b.jsx)(j.default,{href:$?"#":`/error-items/${a.id}`,onClick:a=>$&&a.preventDefault(),children:(0,b.jsxs)(k.Card,{className:`h-full cursor-pointer gap-2 rounded-2xl border-l-4 pt-4 transition-all hover:-translate-y-0.5 hover:shadow-md ${a.masteryLevel>0?"border-l-success/70":"border-l-warning/70"} ${$&&aa.has(a.id)?"ring-2 ring-primary":"hover:border-primary/40"}`,children:[(0,b.jsx)(k.CardHeader,{className:"pb-0",children:(0,b.jsxs)("div",{className:`flex justify-between items-start ${$?"pl-7":""}`,children:[(0,b.jsx)(l.Badge,{variant:"secondary",className:a.masteryLevel>0?"bg-success/15 text-success":"bg-warning/15 text-amber-700 dark:text-warning",children:a.masteryLevel>0?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(s.CheckCircle,{className:"h-3 w-3"})," ",ae.notebook.mastered]}):(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(t.Clock,{className:"h-3 w-3"})," ",ae.notebook.review]})}),(0,b.jsxs)("span",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:["number"==typeof a.masteryProbability&&(0,b.jsxs)("span",{title:ae.mastery.probability,children:[Math.round(100*a.masteryProbability),"%"]}),a.shortId&&(0,b.jsx)("span",{className:"font-mono",children:a.shortId}),(0,A.formatDateTime)(a.createdAt,"MM/dd",g)]})]})}),(0,b.jsxs)(k.CardContent,{children:[(0,b.jsx)("div",{className:"text-sm line-clamp-3",children:(c=function(a){if(!a)return"";try{let b=a.replace(/\\_/g,"_"),c=b9().use(cd).processSync(b);return b=(b=String(c)).replace(/\\left/g,"").replace(/\\right/g,"").replace(/\\begin\{.*?\}/g,"").replace(/\\end\{.*?\}/g,"").replace(/\\text\{.*?\}/g,"").replace(/\\mbox\{.*?\}/g,"").replace(/\\frac\s*\{([^{}]+)\}\s*\{([^{}]+)\}/g,"$1/$2").replace(/\\sqrt\s*\{([^{}]+)\}/g,"√$1").replace(/\^\{([^{}]+)\}/g,"^$1").replace(/_\{([^{}]+)\}/g,"_$1").replace(/\\times/g,"×").replace(/\\div/g,"÷").replace(/\\cdot/g,"·").replace(/\\le/g,"≤").replace(/\\ge/g,"≥").replace(/\\neq/g,"≠").replace(/\\approx/g,"≈").replace(/\\pm/g,"±").replace(/\\infty/g,"∞").replace(/\\circ/g,"°").replace(/\\triangle/g,"△").replace(/\\angle/g,"∠").replace(/\\because/g,"∵").replace(/\\therefore/g,"∴").replace(/\$/g,"").replace(/\\/g,"").trim()}catch(b){return console.error("Failed to strip markdown:",b),a}}((a.questionText||"").split("\n\n")[0])).length>80?c.substring(0,80)+"...":c}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-3",children:[(0,b.jsx)(l.Badge,{variant:"secondary",className:"text-xs",children:(0,cn.getMistakeStatusLabel)(a.mistakeStatus,af)}),(0,b.jsx)(bH.DifficultyStars,{value:a.difficultyStars,showUnrated:!1})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 mt-3",children:[(R.has(a.id)?d:d.slice(0,3)).map(a=>(0,b.jsx)(l.Badge,{variant:P===a?"default":"outline",className:"text-xs cursor-pointer hover:bg-primary/10 transition-colors",onClick:b=>{b.preventDefault(),Q(P===a?null:a)},children:a},a)),d.length>3&&(0,b.jsx)(l.Badge,{variant:"secondary",className:"text-xs cursor-pointer hover:bg-secondary/80 transition-colors",title:R.has(a.id)?ae.notebooks?.collapseTagsTooltip||"Click to collapse":(ae.notebooks?.expandTagsTooltip||"Click to expand {count} tags").replace("{count}",(d.length-3).toString()),onClick:b=>{var c;return c=a.id,void(b.preventDefault(),b.stopPropagation(),S(a=>{let b=new Set(a);return b.has(c)?b.delete(c):b.add(c),b}))},children:R.has(a.id)?(0,b.jsx)(b.Fragment,{children:ae.notebooks?.collapseTags||"Collapse"}):(0,b.jsx)(b.Fragment,{children:(ae.notebooks?.expandTags||"+{count} more").replace("{count}",(d.length-3).toString())})})]})]})]})})]},a.id)})}),(0,b.jsx)(cm,{page:T,totalPages:Y,total:W,pageSize:V,onPageChange:U}),$&&(0,b.jsx)(bG,{selectedIds:[...aa],deleting:ac,onCancel:ah,onDelete:ai})]})}var cs=a.i(73556),ct=a.i(8406);function cu({notebookId:a,onFinished:d}){let{t:f}=(0,B.useLanguage)(),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(null),k=(0,c.useRef)(!1),l=(0,c.useCallback)(()=>{bD.apiClient.get(`/api/notebooks/${a}/retag`).then(a=>{k.current&&a&&!a.running&&d?.(),k.current=!!a?.running,h(a)}).catch(()=>void 0)},[a,d]);(0,c.useEffect)(l,[l]),(0,c.useEffect)(()=>{if(!g?.running)return;let a=setTimeout(l,2e3);return()=>clearTimeout(a)},[g,l]);let m=async()=>{if(await (0,cq.confirmDialog)(f.retag.notebookConfirm)){j(null);try{let b=await bD.apiClient.post(`/api/notebooks/${a}/retag`,{});if(0===b.total)return void j(f.retag.empty);k.current=b.running,h(b)}catch{j(f.retag.itemFailed)}}},n=i??(g?.running?f.retag.progress.replace("{done}",String(g.done)).replace("{total}",String(g.total)):g?.finishedAt&&g.total>0?f.retag.finished.replace("{success}",String(g.total-g.failed)).replace("{failed}",String(g.failed)):null);return(0,b.jsxs)("div",{className:"flex flex-col items-start sm:items-end gap-1",children:[(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:m,disabled:g?.running,"aria-label":f.retag.notebookButton,children:[g?.running?(0,b.jsx)(bz.Loader2,{className:"h-4 w-4 animate-spin sm:mr-2"}):(0,b.jsx)(ct.Sparkles,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:f.retag.notebookButton})]}),n&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:n})]})}var cv=a.i(68368),cw=a.i(74484);a.s(["default",0,function(){let a=(0,d.useParams)(),k=(0,d.useRouter)(),{t:l}=(0,B.useLanguage)(),[m,n]=(0,c.useState)(null);(0,cw.usePageTitle)(l.notebooks.title,m?.name);let[o,p]=(0,c.useState)(!0),[q,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)(0);(0,c.useEffect)(()=>{a.id&&u(a.id)},[a.id]);let u=async a=>{try{let b=await bD.apiClient.get(`/api/notebooks/${a}`);n(b)}catch(a){console.error("Failed to fetch notebook:",a),cq.toast.error(l.notebooks?.notFound||"Notebook not found"),k.push("/notebooks")}finally{p(!1)}},v=async a=>{m&&n(await bD.apiClient.put(`/api/notebooks/${m.id}`,{name:a}))};return o?(0,b.jsx)(g.PageLoading,{label:l.common.loading}):m?(0,b.jsx)("main",{className:"mx-auto min-h-screen max-w-6xl px-4 py-6 md:px-8 md:py-8",children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(f.PageHeader,{backHref:"/notebooks",title:m.name,titleAddon:(0,b.jsx)(e.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground",onClick:()=>r(!0),title:l.notebooks?.rename||"Rename",children:(0,b.jsx)(i.Pencil,{className:"h-4 w-4"})}),description:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(cv.NotebookScopeLabel,{notebook:m})," · ",(l.notebooks?.totalErrors||"Total {count} errors").replace("{count}",(m._count?.errorItems||0).toString())]}),actions:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(cu,{notebookId:m.id,onFinished:()=>t(a=>a+1)}),(0,b.jsx)(j.default,{href:`/notebooks/${m.id}/add`,children:(0,b.jsxs)(e.Button,{"aria-label":l.notebooks?.addError||"Add Error",children:[(0,b.jsx)(h.Plus,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:l.notebooks?.addError||"Add Error"})]})})]})}),(0,b.jsx)(cr,{subjectId:m.id,subjectName:m.name},s),(0,b.jsx)(cs.RenameNotebookDialog,{open:q,onOpenChange:r,currentName:m.name,onRename:v})]})}):null}],1453)}];
1
+ module.exports=[1453,a=>{"use strict";var b=a.i(87924),c=a.i(72131),d=a.i(50944),e=a.i(99570),f=a.i(51538),g=a.i(6376),h=a.i(15618),i=a.i(99464),j=a.i(38246),k=a.i(91119),l=a.i(86304),m=a.i(66718),n=a.i(15055),o=a.i(79834),p=a.i(70106);let q=(0,p.default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),r=(0,p.default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var s=a.i(16201),t=a.i(41710),u=a.i(5784),v=a.i(71931),w=a.i(55023);let x=(0,p.default)("git-compare-arrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]]),y=(0,p.default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var z=a.i(29759),A=a.i(86705),B=a.i(50194),C=a.i(7554),D=a.i(70121),E=a.i(50104),F=a.i(25152),G=a.i(35112),H=Symbol("radix.slottable");function I(a){return c.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===H}var J=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,d)=>{var e,f;let g,h,i,j=(f=e=`Primitive.${d}`,(g=c.forwardRef((a,b)=>{let{children:d,...e}=a;if(c.isValidElement(d)){var f;let a,g,h=(f=d,(g=(a=Object.getOwnPropertyDescriptor(f.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.ref:(g=(a=Object.getOwnPropertyDescriptor(f,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.props.ref:f.props.ref||f.ref),i=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(e,d.props);return d.type!==c.Fragment&&(i.ref=b?(0,D.composeRefs)(b,h):h),c.cloneElement(d,i)}return c.Children.count(d)>1?c.Children.only(null):null})).displayName=`${f}.SlotClone`,h=g,(i=c.forwardRef((a,d)=>{let{children:e,...f}=a,g=c.Children.toArray(e),i=g.find(I);if(i){let a=i.props.children,e=g.map(b=>b!==i?b:c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null);return(0,b.jsx)(h,{...f,ref:d,children:c.isValidElement(a)?c.cloneElement(a,void 0,e):null})}return(0,b.jsx)(h,{...f,ref:d,children:e})})).displayName=`${e}.Slot`,i),k=c.forwardRef((a,c)=>{let{asChild:e,...f}=a;return(0,b.jsx)(e?j:d,{...f,ref:c})});return k.displayName=`Primitive.${d}`,{...a,[d]:k}},{}),K=a.i(37738),L=a.i(7827),M=a.i(96743),N=a.i(86228),O=a.i(22297),P=a.i(92843),Q=a.i(4691),R=a.i(92616),S=a.i(77192);function T(a){var d;let e,f=(d=a,(e=c.forwardRef((a,b)=>{let{children:d,...e}=a;if(c.isValidElement(d)){var f;let a,g,h=(f=d,(g=(a=Object.getOwnPropertyDescriptor(f.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.ref:(g=(a=Object.getOwnPropertyDescriptor(f,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?f.props.ref:f.props.ref||f.ref),i=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(e,d.props);return d.type!==c.Fragment&&(i.ref=b?(0,D.composeRefs)(b,h):h),c.cloneElement(d,i)}return c.Children.count(d)>1?c.Children.only(null):null})).displayName=`${d}.SlotClone`,e),g=c.forwardRef((a,d)=>{let{children:e,...g}=a,h=c.Children.toArray(e),i=h.find(V);if(i){let a=i.props.children,e=h.map(b=>b!==i?b:c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null);return(0,b.jsx)(f,{...g,ref:d,children:c.isValidElement(a)?c.cloneElement(a,void 0,e):null})}return(0,b.jsx)(f,{...g,ref:d,children:e})});return g.displayName=`${a}.Slot`,g}var U=Symbol("radix.slottable");function V(a){return c.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===U}var W=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,d)=>{let e=T(`Primitive.${d}`),f=c.forwardRef((a,c)=>{let{asChild:f,...g}=a;return(0,b.jsx)(f?e:d,{...g,ref:c})});return f.displayName=`Primitive.${d}`,{...a,[d]:f}},{}),X=a.i(24050),Y=a.i(46872),Z=a.i(41852),$=a.i(52081),_=["Enter"," "],aa=["ArrowUp","PageDown","End"],ab=["ArrowDown","PageUp","Home",...aa],ac={ltr:[..._,"ArrowRight"],rtl:[..._,"ArrowLeft"]},ad={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ae="Menu",[af,ag,ah]=(0,K.createCollection)(ae),[ai,aj]=(0,E.createContextScope)(ae,[ah,Q.createPopperScope,X.createRovingFocusGroupScope]),ak=(0,Q.createPopperScope)(),al=(0,X.createRovingFocusGroupScope)(),[am,an]=ai(ae),[ao,ap]=ai(ae),aq=a=>{let{__scopeMenu:d,open:e=!1,children:f,dir:g,onOpenChange:h,modal:i=!0}=a,j=ak(d),[k,l]=c.useState(null),m=c.useRef(!1),n=(0,Y.useCallbackRef)(h),o=(0,L.useDirection)(g);return c.useEffect(()=>{let a=()=>{m.current=!0,document.addEventListener("pointerdown",b,{capture:!0,once:!0}),document.addEventListener("pointermove",b,{capture:!0,once:!0})},b=()=>m.current=!1;return document.addEventListener("keydown",a,{capture:!0}),()=>{document.removeEventListener("keydown",a,{capture:!0}),document.removeEventListener("pointerdown",b,{capture:!0}),document.removeEventListener("pointermove",b,{capture:!0})}},[]),(0,b.jsx)(Q.Root,{...j,children:(0,b.jsx)(am,{scope:d,open:e,onOpenChange:n,content:k,onContentChange:l,children:(0,b.jsx)(ao,{scope:d,onClose:c.useCallback(()=>n(!1),[n]),isUsingKeyboardRef:m,dir:o,modal:i,children:f})})})};aq.displayName=ae;var ar=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=ak(d);return(0,b.jsx)(Q.Anchor,{...f,...e,ref:c})});ar.displayName="MenuAnchor";var as="MenuPortal",[at,au]=ai(as,{forceMount:void 0}),av=a=>{let{__scopeMenu:c,forceMount:d,children:e,container:f}=a,g=an(as,c);return(0,b.jsx)(at,{scope:c,forceMount:d,children:(0,b.jsx)(S.Presence,{present:d||g.open,children:(0,b.jsx)(R.Portal,{asChild:!0,container:f,children:e})})})};av.displayName=as;var aw="MenuContent",[ax,ay]=ai(aw),az=c.forwardRef((a,c)=>{let d=au(aw,a.__scopeMenu),{forceMount:e=d.forceMount,...f}=a,g=an(aw,a.__scopeMenu),h=ap(aw,a.__scopeMenu);return(0,b.jsx)(af.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(S.Presence,{present:e||g.open,children:(0,b.jsx)(af.Slot,{scope:a.__scopeMenu,children:h.modal?(0,b.jsx)(aA,{...f,ref:c}):(0,b.jsx)(aB,{...f,ref:c})})})})}),aA=c.forwardRef((a,d)=>{let e=an(aw,a.__scopeMenu),f=c.useRef(null),g=(0,D.useComposedRefs)(d,f);return c.useEffect(()=>{let a=f.current;if(a)return(0,Z.hideOthers)(a)},[]),(0,b.jsx)(aD,{...a,ref:g,trapFocus:e.open,disableOutsidePointerEvents:e.open,disableOutsideScroll:!0,onFocusOutside:(0,C.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>e.onOpenChange(!1)})}),aB=c.forwardRef((a,c)=>{let d=an(aw,a.__scopeMenu);return(0,b.jsx)(aD,{...a,ref:c,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>d.onOpenChange(!1)})}),aC=T("MenuContent.ScrollLock"),aD=c.forwardRef((a,d)=>{let{__scopeMenu:e,loop:f=!1,trapFocus:g,onOpenAutoFocus:h,onCloseAutoFocus:i,disableOutsidePointerEvents:j,onEntryFocus:k,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,disableOutsideScroll:q,...r}=a,s=an(aw,e),t=ap(aw,e),u=ak(e),v=al(e),w=ag(e),[x,y]=c.useState(null),z=c.useRef(null),A=(0,D.useComposedRefs)(d,z,s.onContentChange),B=c.useRef(0),E=c.useRef(""),F=c.useRef(0),G=c.useRef(null),H=c.useRef("right"),I=c.useRef(0),J=q?$.RemoveScroll:c.Fragment;c.useEffect(()=>()=>window.clearTimeout(B.current),[]),(0,N.useFocusGuards)();let K=c.useCallback(a=>{var b,c;return H.current===G.current?.side&&(b=a,!!(c=G.current?.area)&&function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}({x:b.clientX,y:b.clientY},c))},[]);return(0,b.jsx)(ax,{scope:e,searchRef:E,onItemEnter:c.useCallback(a=>{K(a)&&a.preventDefault()},[K]),onItemLeave:c.useCallback(a=>{K(a)||(z.current?.focus(),y(null))},[K]),onTriggerLeave:c.useCallback(a=>{K(a)&&a.preventDefault()},[K]),pointerGraceTimerRef:F,onPointerGraceIntentChange:c.useCallback(a=>{G.current=a},[]),children:(0,b.jsx)(J,{...q?{as:aC,allowPinchZoom:!0}:void 0,children:(0,b.jsx)(O.FocusScope,{asChild:!0,trapped:g,onMountAutoFocus:(0,C.composeEventHandlers)(h,a=>{a.preventDefault(),z.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:i,children:(0,b.jsx)(M.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:j,onEscapeKeyDown:l,onPointerDownOutside:m,onFocusOutside:n,onInteractOutside:o,onDismiss:p,children:(0,b.jsx)(X.Root,{asChild:!0,...v,dir:t.dir,orientation:"vertical",loop:f,currentTabStopId:x,onCurrentTabStopIdChange:y,onEntryFocus:(0,C.composeEventHandlers)(k,a=>{t.isUsingKeyboardRef.current||a.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,b.jsx)(Q.Content,{role:"menu","aria-orientation":"vertical","data-state":a1(s.open),"data-radix-menu-content":"",dir:t.dir,...u,...r,ref:A,style:{outline:"none",...r.style},onKeyDown:(0,C.composeEventHandlers)(r.onKeyDown,a=>{let b=a.target.closest("[data-radix-menu-content]")===a.currentTarget,c=a.ctrlKey||a.altKey||a.metaKey,d=1===a.key.length;if(b){var e;let b,f,g,h,i,j;"Tab"===a.key&&a.preventDefault(),!c&&d&&(e=a.key,b=E.current+e,f=w().filter(a=>!a.disabled),g=document.activeElement,h=f.find(a=>a.ref.current===g)?.textValue,i=function(a,b,c){var d;let e=b.length>1&&Array.from(b).every(a=>a===b[0])?b[0]:b,f=c?a.indexOf(c):-1,g=(d=Math.max(f,0),a.map((b,c)=>a[(d+c)%a.length]));1===e.length&&(g=g.filter(a=>a!==c));let h=g.find(a=>a.toLowerCase().startsWith(e.toLowerCase()));return h!==c?h:void 0}(f.map(a=>a.textValue),b,h),j=f.find(a=>a.textValue===i)?.ref.current,function a(b){E.current=b,window.clearTimeout(B.current),""!==b&&(B.current=window.setTimeout(()=>a(""),1e3))}(b),j&&setTimeout(()=>j.focus()))}let f=z.current;if(a.target!==f||!ab.includes(a.key))return;a.preventDefault();let g=w().filter(a=>!a.disabled).map(a=>a.ref.current);aa.includes(a.key)&&g.reverse(),function(a){let b=document.activeElement;for(let c of a)if(c===b||(c.focus(),document.activeElement!==b))return}(g)}),onBlur:(0,C.composeEventHandlers)(a.onBlur,a=>{a.currentTarget.contains(a.target)||(window.clearTimeout(B.current),E.current="")}),onPointerMove:(0,C.composeEventHandlers)(a.onPointerMove,a4(a=>{let b=a.target,c=I.current!==a.clientX;a.currentTarget.contains(b)&&c&&(H.current=a.clientX>I.current?"right":"left",I.current=a.clientX)}))})})})})})})});az.displayName=aw;var aE=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(W.div,{role:"group",...e,ref:c})});aE.displayName="MenuGroup";var aF=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(W.div,{...e,ref:c})});aF.displayName="MenuLabel";var aG="MenuItem",aH="menu.itemSelect",aI=c.forwardRef((a,d)=>{let{disabled:e=!1,onSelect:f,...g}=a,h=c.useRef(null),i=ap(aG,a.__scopeMenu),j=ay(aG,a.__scopeMenu),k=(0,D.useComposedRefs)(d,h),l=c.useRef(!1);return(0,b.jsx)(aJ,{...g,ref:k,disabled:e,onClick:(0,C.composeEventHandlers)(a.onClick,()=>{let a=h.current;if(!e&&a){let b=new CustomEvent(aH,{bubbles:!0,cancelable:!0});a.addEventListener(aH,a=>f?.(a),{once:!0}),a&&G.flushSync(()=>a.dispatchEvent(b)),b.defaultPrevented?l.current=!1:i.onClose()}}),onPointerDown:b=>{a.onPointerDown?.(b),l.current=!0},onPointerUp:(0,C.composeEventHandlers)(a.onPointerUp,a=>{l.current||a.currentTarget?.click()}),onKeyDown:(0,C.composeEventHandlers)(a.onKeyDown,a=>{let b=""!==j.searchRef.current;e||b&&" "===a.key||_.includes(a.key)&&(a.currentTarget.click(),a.preventDefault())})})});aI.displayName=aG;var aJ=c.forwardRef((a,d)=>{let{__scopeMenu:e,disabled:f=!1,textValue:g,...h}=a,i=ay(aG,e),j=al(e),k=c.useRef(null),l=(0,D.useComposedRefs)(d,k),[m,n]=c.useState(!1),[o,p]=c.useState("");return c.useEffect(()=>{let a=k.current;a&&p((a.textContent??"").trim())},[h.children]),(0,b.jsx)(af.ItemSlot,{scope:e,disabled:f,textValue:g??o,children:(0,b.jsx)(X.Item,{asChild:!0,...j,focusable:!f,children:(0,b.jsx)(W.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":f||void 0,"data-disabled":f?"":void 0,...h,ref:l,onPointerMove:(0,C.composeEventHandlers)(a.onPointerMove,a4(a=>{f?i.onItemLeave(a):(i.onItemEnter(a),a.defaultPrevented||a.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,C.composeEventHandlers)(a.onPointerLeave,a4(a=>i.onItemLeave(a))),onFocus:(0,C.composeEventHandlers)(a.onFocus,()=>n(!0)),onBlur:(0,C.composeEventHandlers)(a.onBlur,()=>n(!1))})})})}),aK=c.forwardRef((a,c)=>{let{checked:d=!1,onCheckedChange:e,...f}=a;return(0,b.jsx)(aS,{scope:a.__scopeMenu,checked:d,children:(0,b.jsx)(aI,{role:"menuitemcheckbox","aria-checked":a2(d)?"mixed":d,...f,ref:c,"data-state":a3(d),onSelect:(0,C.composeEventHandlers)(f.onSelect,()=>e?.(!!a2(d)||!d),{checkForDefaultPrevented:!1})})})});aK.displayName="MenuCheckboxItem";var aL="MenuRadioGroup",[aM,aN]=ai(aL,{value:void 0,onValueChange:()=>{}}),aO=c.forwardRef((a,c)=>{let{value:d,onValueChange:e,...f}=a,g=(0,Y.useCallbackRef)(e);return(0,b.jsx)(aM,{scope:a.__scopeMenu,value:d,onValueChange:g,children:(0,b.jsx)(aE,{...f,ref:c})})});aO.displayName=aL;var aP="MenuRadioItem",aQ=c.forwardRef((a,c)=>{let{value:d,...e}=a,f=aN(aP,a.__scopeMenu),g=d===f.value;return(0,b.jsx)(aS,{scope:a.__scopeMenu,checked:g,children:(0,b.jsx)(aI,{role:"menuitemradio","aria-checked":g,...e,ref:c,"data-state":a3(g),onSelect:(0,C.composeEventHandlers)(e.onSelect,()=>f.onValueChange?.(d),{checkForDefaultPrevented:!1})})})});aQ.displayName=aP;var aR="MenuItemIndicator",[aS,aT]=ai(aR,{checked:!1}),aU=c.forwardRef((a,c)=>{let{__scopeMenu:d,forceMount:e,...f}=a,g=aT(aR,d);return(0,b.jsx)(S.Presence,{present:e||a2(g.checked)||!0===g.checked,children:(0,b.jsx)(W.span,{...f,ref:c,"data-state":a3(g.checked)})})});aU.displayName=aR;var aV=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a;return(0,b.jsx)(W.div,{role:"separator","aria-orientation":"horizontal",...e,ref:c})});aV.displayName="MenuSeparator";var aW=c.forwardRef((a,c)=>{let{__scopeMenu:d,...e}=a,f=ak(d);return(0,b.jsx)(Q.Arrow,{...f,...e,ref:c})});aW.displayName="MenuArrow";var[aX,aY]=ai("MenuSub"),aZ="MenuSubTrigger",a$=c.forwardRef((a,d)=>{let e=an(aZ,a.__scopeMenu),f=ap(aZ,a.__scopeMenu),g=aY(aZ,a.__scopeMenu),h=ay(aZ,a.__scopeMenu),i=c.useRef(null),{pointerGraceTimerRef:j,onPointerGraceIntentChange:k}=h,l={__scopeMenu:a.__scopeMenu},m=c.useCallback(()=>{i.current&&window.clearTimeout(i.current),i.current=null},[]);return c.useEffect(()=>m,[m]),c.useEffect(()=>{let a=j.current;return()=>{window.clearTimeout(a),k(null)}},[j,k]),(0,b.jsx)(ar,{asChild:!0,...l,children:(0,b.jsx)(aJ,{id:g.triggerId,"aria-haspopup":"menu","aria-expanded":e.open,"aria-controls":g.contentId,"data-state":a1(e.open),...a,ref:(0,D.composeRefs)(d,g.onTriggerChange),onClick:b=>{a.onClick?.(b),a.disabled||b.defaultPrevented||(b.currentTarget.focus(),e.open||e.onOpenChange(!0))},onPointerMove:(0,C.composeEventHandlers)(a.onPointerMove,a4(b=>{h.onItemEnter(b),!b.defaultPrevented&&(a.disabled||e.open||i.current||(h.onPointerGraceIntentChange(null),i.current=window.setTimeout(()=>{e.onOpenChange(!0),m()},100)))})),onPointerLeave:(0,C.composeEventHandlers)(a.onPointerLeave,a4(a=>{m();let b=e.content?.getBoundingClientRect();if(b){let c=e.content?.dataset.side,d="right"===c,f=b[d?"left":"right"],g=b[d?"right":"left"];h.onPointerGraceIntentChange({area:[{x:a.clientX+(d?-5:5),y:a.clientY},{x:f,y:b.top},{x:g,y:b.top},{x:g,y:b.bottom},{x:f,y:b.bottom}],side:c}),window.clearTimeout(j.current),j.current=window.setTimeout(()=>h.onPointerGraceIntentChange(null),300)}else{if(h.onTriggerLeave(a),a.defaultPrevented)return;h.onPointerGraceIntentChange(null)}})),onKeyDown:(0,C.composeEventHandlers)(a.onKeyDown,b=>{let c=""!==h.searchRef.current;a.disabled||c&&" "===b.key||ac[f.dir].includes(b.key)&&(e.onOpenChange(!0),e.content?.focus(),b.preventDefault())})})})});a$.displayName=aZ;var a_="MenuSubContent",a0=c.forwardRef((a,d)=>{let e=au(aw,a.__scopeMenu),{forceMount:f=e.forceMount,...g}=a,h=an(aw,a.__scopeMenu),i=ap(aw,a.__scopeMenu),j=aY(a_,a.__scopeMenu),k=c.useRef(null),l=(0,D.useComposedRefs)(d,k);return(0,b.jsx)(af.Provider,{scope:a.__scopeMenu,children:(0,b.jsx)(S.Presence,{present:f||h.open,children:(0,b.jsx)(af.Slot,{scope:a.__scopeMenu,children:(0,b.jsx)(aD,{id:j.contentId,"aria-labelledby":j.triggerId,...g,ref:l,align:"start",side:"rtl"===i.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:a=>{i.isUsingKeyboardRef.current&&k.current?.focus(),a.preventDefault()},onCloseAutoFocus:a=>a.preventDefault(),onFocusOutside:(0,C.composeEventHandlers)(a.onFocusOutside,a=>{a.target!==j.trigger&&h.onOpenChange(!1)}),onEscapeKeyDown:(0,C.composeEventHandlers)(a.onEscapeKeyDown,a=>{i.onClose(),a.preventDefault()}),onKeyDown:(0,C.composeEventHandlers)(a.onKeyDown,a=>{let b=a.currentTarget.contains(a.target),c=ad[i.dir].includes(a.key);b&&c&&(h.onOpenChange(!1),j.trigger?.focus(),a.preventDefault())})})})})})});function a1(a){return a?"open":"closed"}function a2(a){return"indeterminate"===a}function a3(a){return a2(a)?"indeterminate":a?"checked":"unchecked"}function a4(a){return b=>"mouse"===b.pointerType?a(b):void 0}a0.displayName=a_;var a5="DropdownMenu",[a6,a7]=(0,E.createContextScope)(a5,[aj]),a8=aj(),[a9,ba]=a6(a5),bb=a=>{let{__scopeDropdownMenu:d,children:e,dir:f,open:g,defaultOpen:h,onOpenChange:i,modal:j=!0}=a,k=a8(d),l=c.useRef(null),[m,n]=(0,F.useControllableState)({prop:g,defaultProp:h??!1,onChange:i,caller:a5});return(0,b.jsx)(a9,{scope:d,triggerId:(0,P.useId)(),triggerRef:l,contentId:(0,P.useId)(),open:m,onOpenChange:n,onOpenToggle:c.useCallback(()=>n(a=>!a),[n]),modal:j,children:(0,b.jsx)(aq,{...k,open:m,onOpenChange:n,dir:f,modal:j,children:e})})};bb.displayName=a5;var bc="DropdownMenuTrigger",bd=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,disabled:e=!1,...f}=a,g=ba(bc,d),h=a8(d);return(0,b.jsx)(ar,{asChild:!0,...h,children:(0,b.jsx)(J.button,{type:"button",id:g.triggerId,"aria-haspopup":"menu","aria-expanded":g.open,"aria-controls":g.open?g.contentId:void 0,"data-state":g.open?"open":"closed","data-disabled":e?"":void 0,disabled:e,...f,ref:(0,D.composeRefs)(c,g.triggerRef),onPointerDown:(0,C.composeEventHandlers)(a.onPointerDown,a=>{!e&&0===a.button&&!1===a.ctrlKey&&(g.onOpenToggle(),g.open||a.preventDefault())}),onKeyDown:(0,C.composeEventHandlers)(a.onKeyDown,a=>{!e&&(["Enter"," "].includes(a.key)&&g.onOpenToggle(),"ArrowDown"===a.key&&g.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(a.key)&&a.preventDefault())})})})});bd.displayName=bc;var be=a=>{let{__scopeDropdownMenu:c,...d}=a,e=a8(c);return(0,b.jsx)(av,{...e,...d})};be.displayName="DropdownMenuPortal";var bf="DropdownMenuContent",bg=c.forwardRef((a,d)=>{let{__scopeDropdownMenu:e,...f}=a,g=ba(bf,e),h=a8(e),i=c.useRef(!1);return(0,b.jsx)(az,{id:g.contentId,"aria-labelledby":g.triggerId,...h,...f,ref:d,onCloseAutoFocus:(0,C.composeEventHandlers)(a.onCloseAutoFocus,a=>{i.current||g.triggerRef.current?.focus(),i.current=!1,a.preventDefault()}),onInteractOutside:(0,C.composeEventHandlers)(a.onInteractOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey,d=2===b.button||c;(!g.modal||d)&&(i.current=!0)}),style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bg.displayName=bf,c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aE,{...f,...e,ref:c})}).displayName="DropdownMenuGroup";var bh=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aF,{...f,...e,ref:c})});bh.displayName="DropdownMenuLabel";var bi=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aI,{...f,...e,ref:c})});bi.displayName="DropdownMenuItem";var bj=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aK,{...f,...e,ref:c})});bj.displayName="DropdownMenuCheckboxItem",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aO,{...f,...e,ref:c})}).displayName="DropdownMenuRadioGroup";var bk=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aQ,{...f,...e,ref:c})});bk.displayName="DropdownMenuRadioItem";var bl=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aU,{...f,...e,ref:c})});bl.displayName="DropdownMenuItemIndicator";var bm=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aV,{...f,...e,ref:c})});bm.displayName="DropdownMenuSeparator",c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(aW,{...f,...e,ref:c})}).displayName="DropdownMenuArrow";var bn=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(a$,{...f,...e,ref:c})});bn.displayName="DropdownMenuSubTrigger";var bo=c.forwardRef((a,c)=>{let{__scopeDropdownMenu:d,...e}=a,f=a8(d);return(0,b.jsx)(a0,{...f,...e,ref:c,style:{...a.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});bo.displayName="DropdownMenuSubContent";var bp=a.i(33441),bq=a.i(50522);let br=(0,p.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var bs=a.i(68114);c.forwardRef(({className:a,inset:c,children:d,...e},f)=>(0,b.jsxs)(bn,{ref:f,className:(0,bs.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",c&&"pl-8",a),...e,children:[d,(0,b.jsx)(bq.ChevronRight,{className:"ml-auto h-4 w-4"})]})).displayName=bn.displayName,c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bo,{ref:d,className:(0,bs.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...c})).displayName=bo.displayName;let bt=c.forwardRef(({className:a,sideOffset:c=4,...d},e)=>(0,b.jsx)(be,{children:(0,b.jsx)(bg,{ref:e,sideOffset:c,className:(0,bs.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...d})}));bt.displayName=bg.displayName;let bu=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bi,{ref:e,className:(0,bs.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",c&&"pl-8",a),...d}));bu.displayName=bi.displayName,c.forwardRef(({className:a,children:c,checked:d,...e},f)=>(0,b.jsxs)(bj,{ref:f,className:(0,bs.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),checked:d,...e,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bl,{children:(0,b.jsx)(bp.Check,{className:"h-4 w-4"})})}),c]})).displayName=bj.displayName,c.forwardRef(({className:a,children:c,...d},e)=>(0,b.jsxs)(bk,{ref:e,className:(0,bs.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",a),...d,children:[(0,b.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,b.jsx)(bl,{children:(0,b.jsx)(br,{className:"h-2 w-2 fill-current"})})}),c]})).displayName=bk.displayName;let bv=c.forwardRef(({className:a,inset:c,...d},e)=>(0,b.jsx)(bh,{ref:e,className:(0,bs.cn)("px-2 py-1.5 text-sm font-semibold",c&&"pl-8",a),...d}));bv.displayName=bh.displayName;let bw=c.forwardRef(({className:a,...c},d)=>(0,b.jsx)(bm,{ref:d,className:(0,bs.cn)("-mx-1 my-1 h-px bg-muted",a),...c}));bw.displayName=bm.displayName;var bx=a.i(81560),by=a.i(33508),bz=a.i(96221),bA=a.i(14574),bB=a.i(42027),bC=a.i(93907),bD=a.i(91938),bE=a.i(30534);function bF({ids:a}){let{t:d}=(0,B.useLanguage)(),[f,g]=(0,c.useState)(!1),[h,i]=(0,c.useState)(null),[k,l]=(0,c.useState)(!1),[m,n]=(0,c.useState)(null),[o,p]=(0,c.useState)(0),[q,r]=a,s=()=>{l(!0),i(null),n(null),p(a=>a+1)};return(0,c.useEffect)(()=>{if(!f||!q||!r)return;let a=!0;return bD.apiClient.post("/api/error-items/similarity",{ids:[q,r]}).then(b=>{a&&i(b)}).catch(b=>{a&&(n("Question text is required for similarity comparison"===b?.data?.message?d.questionSimilarity.missingText:d.questionSimilarity.failed),bE.frontendLogger.error("[Similarity]","相似度比较失败",{error:b instanceof Error?b.message:String(b)}))}).finally(()=>{a&&l(!1)}),()=>{a=!1}},[f,q,r,o,d.questionSimilarity.failed,d.questionSimilarity.missingText]),(0,b.jsxs)(bA.Dialog,{open:f,onOpenChange:a=>{g(a),a&&s()},children:[(0,b.jsx)(bA.DialogTrigger,{asChild:!0,children:(0,b.jsxs)(e.Button,{variant:"outline",disabled:2!==a.length,title:d.questionSimilarity.selectTwo,children:[(0,b.jsx)(x,{className:"mr-2 h-4 w-4"}),d.questionSimilarity.title]})}),(0,b.jsxs)(bA.DialogContent,{className:"w-[calc(100vw-2rem)] sm:max-w-3xl max-h-[85vh] overflow-y-auto",children:[(0,b.jsxs)(bA.DialogHeader,{children:[(0,b.jsx)(bA.DialogTitle,{children:d.questionSimilarity.title}),(0,b.jsx)(bA.DialogDescription,{children:d.questionSimilarity.description})]}),k&&(0,b.jsxs)("div",{className:"flex items-center gap-2 text-sm",role:"status",children:[(0,b.jsx)(bz.Loader2,{className:"h-4 w-4 animate-spin"}),d.common.loading]}),m&&(0,b.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:m}),m&&(0,b.jsx)(e.Button,{variant:"outline",onClick:s,children:d.questionSimilarity.retry}),h&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)("div",{className:"space-y-2 rounded-lg bg-muted p-4",role:"status",children:[(0,b.jsx)("p",{className:"text-sm",children:d.questionSimilarity.score}),(0,b.jsxs)("p",{className:"text-3xl font-bold tabular-nums",children:[Number((100*h.similarity).toFixed(4)),"%"]}),(0,b.jsx)("p",{className:"text-sm",children:d.questionSimilarity.threshold.replace("{threshold}",String(h.threshold))}),(0,b.jsx)("p",{className:"text-sm font-medium",children:h.duplicate?d.questionSimilarity.duplicate:d.questionSimilarity.different})]}),(0,b.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:h.items.map((a,c)=>(0,b.jsxs)("div",{className:"min-w-0 space-y-2 rounded-lg border p-3",children:[(0,b.jsxs)(j.default,{href:`/error-items/${a.id}`,className:"text-sm font-medium text-primary hover:underline",children:[d.questionSimilarity.question.replace("{index}",String(c+1))," · ",a.shortId||"-"]}),a.notebookName&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a.notebookName}),(0,b.jsx)("div",{className:"max-h-56 overflow-auto text-sm",children:(0,b.jsx)(bC.MarkdownRenderer,{content:a.questionText})})]},a.id))})]}),(0,b.jsx)(bB.DuplicateThresholdSetting,{onSaved:s})]})]})}function bG({selectedIds:a,deleting:c,onCancel:d,onDelete:f}){let{t:g}=(0,B.useLanguage)();return(0,b.jsx)("div",{className:"pb-safe fixed bottom-0 left-0 right-0 z-50 border-t bg-card/95 p-4 shadow-lg backdrop-blur",children:(0,b.jsxs)("div",{className:"mx-auto flex max-w-6xl flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,b.jsxs)("div",{className:"space-y-1 text-sm text-muted-foreground",children:[(0,b.jsx)("p",{children:g.notebook.selectedCount.replace("{count}",String(a.length))}),(0,b.jsx)("p",{className:"text-xs",children:g.questionSimilarity.selectTwo})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(bF,{ids:a}),(0,b.jsxs)(e.Button,{variant:"outline",onClick:d,children:[(0,b.jsx)(by.X,{className:"mr-2 h-4 w-4"}),g.notebook.cancelSelect]}),(0,b.jsxs)(e.Button,{variant:"destructive",onClick:f,disabled:0===a.length||c,children:[(0,b.jsx)(bx.Trash2,{className:"mr-2 h-4 w-4"}),g.notebook.deleteSelected]})]})]})})}var bH=a.i(31368),bI=a.i(80701),bJ=a.i(57292);let bK={1:["一年级"],2:["二年级"],3:["三年级"],4:["四年级"],5:["五年级"],6:["六年级"],7:["七年级上","七年级下","七年级"],8:["八年级上","八年级下","八年级"],9:["九年级上","九年级下","九年级"],10:["高一上","高一下","高一"],11:["高二上","高二下","高二"],12:["高三上","高三下","高三"]};function bL({gradeSemester:a,tag:d,subjectName:e,onFilterChange:f,className:g}){let{t:h}=(0,B.useLanguage)(),{timeZone:i}=(0,z.useTimeZone)(),[j,k]=(0,c.useState)(a||""),[l,m]=(0,c.useState)(""),[n,o]=(0,c.useState)(d||""),[p,q]=(0,c.useState)([]),[r,s]=(0,c.useState)(!0),[t,u]=(0,c.useState)({}),[v,w]=(0,c.useState)([]);(0,c.useEffect)(()=>{void 0!==a&&k(a)},[a]),(0,c.useEffect)(()=>{void 0!==d&&o(d||"")},[d]);let x=(0,c.useCallback)((a,b)=>{let c=(0,A.getCalendarDate)(new Date,i),d=c.getFullYear(),e=(c.getMonth()+1>=9?d:d-1)-b+1;return"primary"===a?e:"junior_high"===a?e+6:"senior_high"===a?e+9:0},[i]),y=(0,c.useCallback)((a,b)=>{let c=[];return a?"primary"===a?c=[1,2,3,4,5,6]:"junior_high"===a?(c=[7,8,9],b&&x(a,b)>=10&&c.push(10,11,12)):c="senior_high"===a?[10,11,12]:[1,2,3,4,5,6,7,8,9,10,11,12]:c=[1,2,3,4,5,6,7,8,9,10,11,12],c.flatMap(a=>bK[a]||[])},[x]);(0,c.useEffect)(()=>{(async()=>{s(!0);try{let a=await bD.apiClient.get("/api/user");u(a);let b=y(a.educationStage,a.enrollmentYear);w(b);let c=e?(0,bJ.inferSubjectFromName)(e):"math";try{let a=await bD.apiClient.get(`/api/tags?subject=${c}`);q(a.tags)}catch(a){console.warn(`Failed to fetch tags for subject ${c}`,a),q([])}}catch(a){console.error("Failed to load filter data:",a)}finally{s(!1)}})()},[e,y]);let C=p.find(a=>a.name===j),D=C?.children||[],E=D.find(a=>a.name===l),F=a=>0===a.children.length?[a.name]:a.children.flatMap(a=>F(a)),G=E?[...new Set(F(E))]:[],H=v.filter(a=>p.some(b=>b.name===a));return(0,b.jsxs)("div",{className:`flex gap-2 ${g}`,children:[(0,b.jsxs)(bI.Select,{value:j,onValueChange:a=>{k(a),m(""),o(""),f({gradeSemester:"all"===a?void 0:a,chapter:void 0,tag:void 0})},disabled:r,children:[(0,b.jsx)(bI.SelectTrigger,{className:"w-[140px]",children:(0,b.jsx)(bI.SelectValue,{placeholder:h.filter?.gradeShort||"Grade"})}),(0,b.jsxs)(bI.SelectContent,{children:[(0,b.jsx)(bI.SelectItem,{value:"all",children:h.filter?.allGrades||"All grades"}),H.map(a=>(0,b.jsx)(bI.SelectItem,{value:a,children:a},a))]})]}),(0,b.jsxs)(bI.Select,{value:l,onValueChange:a=>{m(a),o(""),f({gradeSemester:"all"===j?void 0:j,chapter:"all"===a?void 0:a,tag:void 0})},disabled:!j||"all"===j,children:[(0,b.jsx)(bI.SelectTrigger,{className:"w-[180px]",children:(0,b.jsx)(bI.SelectValue,{placeholder:h.filter?.chapter||"Chapter"})}),(0,b.jsxs)(bI.SelectContent,{children:[(0,b.jsx)(bI.SelectItem,{value:"all",children:h.filter?.allChapters||"All chapters"}),D.map(a=>(0,b.jsx)(bI.SelectItem,{value:a.name,children:a.name.replace(/^第\d+章\s*/,"")},a.id))]})]}),(0,b.jsxs)(bI.Select,{value:n,onValueChange:a=>{o(a),f({gradeSemester:"all"===j?void 0:j,chapter:"all"===l?void 0:l,tag:"all"===a?void 0:a})},disabled:!l||"all"===l,children:[(0,b.jsx)(bI.SelectTrigger,{className:"w-[140px]",children:(0,b.jsx)(bI.SelectValue,{placeholder:h.filter?.knowledgePoint||"Tag"})}),(0,b.jsxs)(bI.SelectContent,{children:[(0,b.jsx)(bI.SelectItem,{value:"all",children:h.filter?.allKnowledgePoints||"All tags"}),G.map(a=>(0,b.jsx)(bI.SelectItem,{value:a,children:a},a))]})]})]})}var bM=a.i(49355);let bN={}.hasOwnProperty,bO={}.hasOwnProperty;var bP=a.i(72073),bQ=a.i(98970),bR=a.i(36279);let bS=[function(a,b,c,d){if("code"===b.type&&(0,bQ.formatCodeAsIndented)(b,d)&&("list"===a.type||a.type===b.type&&(0,bQ.formatCodeAsIndented)(a,d)))return!1;if("spread"in c&&"boolean"==typeof c.spread){if("paragraph"===a.type&&(a.type===b.type||"definition"===b.type||"heading"===b.type&&(0,bR.formatHeadingAsSetext)(b,d)))return;return+!!c.spread}}],bT=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"],bU=[{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:"\n",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:bT},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:"(?:[\r\n]|$)"},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:bT},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:"(?:[ \r\n*])"},{character:"*",inConstruct:"phrasing",notInConstruct:bT},{atBreak:!0,character:"+",after:"(?:[ \r\n])"},{atBreak:!0,character:"-",after:"(?:[ \r\n-])"},{atBreak:!0,before:"\\d+",character:".",after:"(?:[ \r\n]|$)"},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing",notInConstruct:bT},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:"phrasing",notInConstruct:bT},{character:"[",inConstruct:["label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{character:"_",inConstruct:"phrasing",notInConstruct:bT},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent"]},{character:"`",inConstruct:"phrasing",notInConstruct:bT},{atBreak:!0,character:"~"}];var bV=a.i(55735);function bW(a){return a.label||!a.identifier?a.label||"":(0,bV.decodeString)(a.identifier)}function bX(a){if(!a._compiled){let b=(a.atBreak?"[\\r\\n][\\t ]*":"")+(a.before?"(?:"+a.before+")":"");a._compiled=RegExp((b?"("+b+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(a.character)?"\\":"")+a.character+(a.after?"(?:"+a.after+")":""),"g")}return a._compiled}var bY=a.i(88183);let bZ=/\r?\n|\r/g;function b$(a,b){let c,d=[],e=0,f=0;for(;c=bZ.exec(a);)g(a.slice(e,c.index)),d.push(c[0]),e=c.index+c[0].length,f++;return g(a.slice(e)),d.join("");function g(a){d.push(b(a,f,!a))}}var b_=a.i(89750);function b0(a,b){return a-b}function b1(a,b){let c,d=/\\(?=[!-/:-@[-`{-~])/g,e=[],f=[],g=a+b,h=-1,i=0;for(;c=d.exec(g);)e.push(c.index);for(;++h<e.length;)i!==e[h]&&f.push(a.slice(i,e[h])),f.push("\\"),i=e[h];return f.push(a.slice(i)),f.join("")}function b2(a){let b=a||{},c=b.now||{},d=b.lineShift||0,e=c.line||1,f=c.column||1;return{move:function(a){let b=a||"",c=b.split(/\r?\n|\r/g),g=c[c.length-1];return e+=c.length-1,f=1===c.length?f+g.length:1+g.length+d,b},current:function(){return{now:{line:e,column:f},lineShift:d}},shift:function(a){d+=a}}}function b3(a){throw Error("Cannot handle value `"+a+"`, expected node")}function b4(a){throw Error("Cannot handle unknown node `"+a.type+"`")}function b5(a,b){if("definition"===a.type&&a.type===b.type)return 0}function b6(a,b){return function(a,b,c){let d,e=b.indexStack,f=a.children||[],g=[],h=-1,i=c.before;e.push(-1);let j=b.createTracker(c);for(;++h<f.length;){let k,l=f[h];if(e[e.length-1]=h,h+1<f.length){let c=b.handle.handlers[f[h+1].type];c&&c.peek&&(c=c.peek),k=c?c(f[h+1],a,b,{before:"",after:"",...j.current()}).charAt(0):""}else k=c.after;g.length>0&&("\r"===i||"\n"===i)&&"html"===l.type&&(g[g.length-1]=g[g.length-1].replace(/(\r?\n|\r)$/," "),i=" ",(j=b.createTracker(c)).move(g.join("")));let m=b.handle(l,a,b,{...j.current(),after:k,before:i});d&&d===m.slice(0,1)&&(m=(0,bY.encodeCharacterReference)(d.charCodeAt(0))+m.slice(1));let n=b.attentionEncodeSurroundingInfo;b.attentionEncodeSurroundingInfo=void 0,d=void 0,n&&(g.length>0&&n.before&&i===g[g.length-1].slice(-1)&&(g[g.length-1]=g[g.length-1].slice(0,-1)+(0,bY.encodeCharacterReference)(i.charCodeAt(0))),n.after&&(d=k)),j.move(m),g.push(m),i=m.slice(-1)}return e.pop(),g.join("")}(a,this,b)}function b7(a,b){return function(a,b,c){let d=b.indexStack,e=a.children||[],f=b.createTracker(c),g=[],h=-1;for(d.push(-1);++h<e.length;){let c=e[h];d[d.length-1]=h,g.push(f.move(b.handle(c,a,b,{before:"\n",after:"\n",...f.current()}))),"list"!==c.type&&(b.bulletLastUsed=void 0),h<e.length-1&&g.push(f.move(function(a,b,c,d){let e=d.join.length;for(;e--;){let f=d.join[e](a,b,c,d);if(!0===f||1===f)break;if("number"==typeof f)return"\n".repeat(1+f);if(!1===f)return"\n\n<!---->\n\n"}return"\n\n"}(c,e[h+1],a,b)))}return d.pop(),g.join("")}(a,this,b)}function b8(a,b){return function(a,b,c){let d=(c.before||"")+(b||"")+(c.after||""),e=[],f=[],g={},h=-1;for(;++h<a.unsafe.length;){let b,c=a.unsafe[h];if(!(0,b_.patternInScope)(a.stack,c))continue;let f=a.compilePattern(c);for(;b=f.exec(d);){let a="before"in c||!!c.atBreak,d="after"in c,f=b.index+(a?b[1].length:0);e.includes(f)?(g[f].before&&!a&&(g[f].before=!1),g[f].after&&!d&&(g[f].after=!1)):(e.push(f),g[f]={before:a,after:d})}}e.sort(b0);let i=c.before?c.before.length:0,j=d.length-(c.after?c.after.length:0);for(h=-1;++h<e.length;){let a=e[h];!(a<i)&&!(a>=j)&&(!(a+1<j)||e[h+1]!==a+1||!g[a].after||g[a+1].before||g[a+1].after)&&(e[h-1]!==a-1||!g[a].before||g[a-1].before||g[a-1].after)&&(i!==a&&f.push(b1(d.slice(i,a),"\\")),i=a,!/[!-/:-@[-`{-~]/.test(d.charAt(a))||c.encode&&c.encode.includes(d.charAt(a))?(f.push((0,bY.encodeCharacterReference)(d.charCodeAt(a))),i++):f.push("\\"))}return f.push(b1(d.slice(i,j),c.after)),f.join("")}(this,a,b)}let b9=(0,a.i(32252).unified)().use(bM.default).use(function(a){let b=this;b.compiler=function(c){var d;let e,f;return d={...b.data("settings"),...a,extensions:b.data("toMarkdownExtensions")||[]},!function a(b,c){var d,e,f,g;let h,i=-1;if(c.extensions)for(;++i<c.extensions.length;)a(b,c.extensions[i]);for(h in c)if(bO.call(c,h))switch(h){case"extensions":break;case"unsafe":case"join":d=b[h],(e=c[h])&&d.push(...e);break;case"handlers":f=b[h],(g=c[h])&&Object.assign(f,g);break;default:b.options[h]=c[h]}return b}(e={associationId:bW,containerPhrasing:b6,containerFlow:b7,createTracker:b2,compilePattern:bX,enter:function(a){return e.stack.push(a),function(){e.stack.pop()}},handlers:{...bP.handle},handle:void 0,indentLines:b$,indexStack:[],join:[...bS],options:{},safe:b8,stack:[],unsafe:[...bU]},d||{}),e.options.tightDefinitions&&e.join.push(b5),e.handle=function(a,b){let c=b||{};function d(b,...c){let e=d.invalid,f=d.handlers;if(b&&bN.call(b,a)){let c=String(b[a]);e=bN.call(f,c)?f[c]:d.unknown}if(e)return e.call(this,b,...c)}return d.handlers=c.handlers||{},d.invalid=c.invalid,d.unknown=c.unknown,d}("type",{invalid:b3,unknown:b4,handlers:e.handlers}),(f=e.handle(c,void 0,e,{before:"\n",after:"\n",now:{line:1,column:1},lineShift:0}))&&10!==f.charCodeAt(f.length-1)&&13!==f.charCodeAt(f.length-1)&&(f+="\n"),f}}).freeze(),ca={blockquote:cg,break:function(){return{type:"text",value:"\n"}},code:ch,definition:ch,delete:cg,emphasis:cg,footnoteReference:ch,footnoteDefinition:ch,heading:function(a){return{type:"paragraph",children:a.children}},html:ch,image:ce,imageReference:ce,inlineCode:cf,list:cg,listItem:cg,link:cg,linkReference:cg,strong:cg,table:ch,tableCell:ch,text:cf,thematicBreak:ch,toml:ch,yaml:ch},cb={},cc=[];function cd(a){let b={...ca},c=a||cb,d=c.keep||cc,e=c.remove||cc,f=-1;for(;++f<e.length;){let a=e[f];"string"==typeof a?b[a]=ch:b[a[0]]=a[1]}let g={};if(0===d.length)g=b;else{let a;for(a in b)d.includes(a)||(g[a]=b[a]);for(f=-1;++f<d.length;)if(!Object.hasOwn(b,a=d[f]))throw Error("Unknown node type `"+a+"` in `keep`, use a replace tuple with a handle instead: `remove: [['"+a+"', handle]]`")}return function(a){return h(a)};function h(a){let b=a.type,c=a;if(Object.hasOwn(g,b)){let a=g[b];a&&(c=a(c)||void 0)}return(c=Array.isArray(c)?i(c):c)&&"children"in c&&(c.children=i(c.children)),c}function i(a){let b=-1,c=[];for(;++b<a.length;){let d=h(a[b]);Array.isArray(d)?c.push(...i(d)):d&&c.push(d)}var d=c;let e,f=-1,g=[];for(;++f<d.length;){let a=d[f];e&&a.type===e.type&&"value"in a&&"value"in e?e.value+=a.value:(g.push(a),e=a)}return g}}function ce(a){let b="title"in a?a.title:"",c=a.alt||b||"";return c?{type:"text",value:c}:void 0}function cf(a){return{type:"text",value:a.value}}function cg(a){return a.children}function ch(){}let ci=(0,p.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),cj=(0,p.default)("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]),ck=(0,p.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var cl=a.i(97902);function cm({page:a,totalPages:c,onPageChange:d,total:f,pageSize:g}){let{t:h}=(0,B.useLanguage)();if(c<=1)return null;let i=a>1,j=a<c,k=(()=>{let b=[];if(c<=cl.MAX_VISIBLE_PAGES)for(let a=1;a<=c;a++)b.push(a);else{b.push(1),a>3&&b.push("ellipsis");let d=Math.max(2,a-1),e=Math.min(c-1,a+1);for(let a=d;a<=e;a++)b.push(a);a<c-2&&b.push("ellipsis"),b.push(c)}return b})();return(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 py-4",children:[void 0!==f&&void 0!==g&&(0,b.jsx)("div",{className:"text-sm text-muted-foreground order-2 sm:order-1",children:(h.pagination?.showing||"Showing {start}-{end} of {total}").replace("{start}",((a-1)*g+1).toString()).replace("{end}",Math.min(a*g,f).toString()).replace("{total}",f.toString())}),(0,b.jsxs)("div",{className:"flex items-center gap-1 order-1 sm:order-2",children:[(0,b.jsx)(e.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(1),disabled:!i,title:h.pagination?.first||"First page",children:(0,b.jsx)(cj,{className:"h-4 w-4"})}),(0,b.jsx)(e.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(a-1),disabled:!i,title:h.pagination?.prev||"Previous page",children:(0,b.jsx)(ci,{className:"h-4 w-4"})}),(0,b.jsx)("div",{className:"hidden sm:flex items-center gap-1",children:k.map((c,f)=>"ellipsis"===c?(0,b.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},`ellipsis-${f}`):(0,b.jsx)(e.Button,{variant:c===a?"default":"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(c),children:c},c))}),(0,b.jsxs)("span",{className:"sm:hidden text-sm px-2",children:[a," / ",c]}),(0,b.jsx)(e.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(a+1),disabled:!j,title:h.pagination?.next||"Next page",children:(0,b.jsx)(bq.ChevronRight,{className:"h-4 w-4"})}),(0,b.jsx)(e.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>d(c),disabled:!j,title:h.pagination?.last||"Last page",children:(0,b.jsx)(ck,{className:"h-4 w-4"})})]})]})}var cn=a.i(92883),co=a.i(83715),cp=a.i(79188),cq=a.i(10302);function cr({subjectId:a,subjectName:f}={}){let{timeZone:g}=(0,z.useTimeZone)(),[h,i]=(0,c.useState)([]),[p,C]=(0,c.useState)(!0),[D,E]=(0,c.useState)(""),[F,G]=(0,c.useState)("all"),[H,I]=(0,c.useState)("all"),[J,K]=(0,c.useState)(""),[L,M]=(0,c.useState)(""),[N,O]=(0,c.useState)("all"),[P,Q]=(0,c.useState)(null),[R,S]=(0,c.useState)(new Set),[T,U]=(0,c.useState)(1),[V]=(0,c.useState)(cl.DEFAULT_PAGE_SIZE),[W,X]=(0,c.useState)(0),[Y,Z]=(0,c.useState)(0),[$,_]=(0,c.useState)(!1),[aa,ab]=(0,c.useState)(new Set),[ac,ad]=(0,c.useState)(!1),{t:ae,language:af}=(0,B.useLanguage)(),ag=(0,d.useRouter)(),ah=()=>{_(!$),ab(new Set)},ai=async()=>{if(0===aa.size)return;let a=(ae.notebook?.confirmBatchDelete||"Delete {count} items?").replace("{count}",aa.size.toString());if(await (0,cq.confirmDialog)(a,{destructive:!0})){ad(!0);try{await bD.apiClient.post("/api/error-items/batch-delete",{ids:Array.from(aa)}),cq.toast.success(ae.notebook?.batchDeleteSuccess||"Deleted successfully"),_(!1),ab(new Set),ak()}catch(a){console.error(a),cq.toast.error(ae.common?.messages?.deleteFailed||"Delete failed")}finally{ad(!1)}}},aj=(0,c.useRef)({search:D,masteryFilter:F,timeFilter:H,selectedTag:P,subjectId:a,gradeFilter:J,chapterFilter:L,paperLevelFilter:N});(0,c.useEffect)(()=>{let b=aj.current,c=b.search!==D||b.masteryFilter!==F||b.timeFilter!==H||b.selectedTag!==P||b.subjectId!==a||b.gradeFilter!==J||b.chapterFilter!==L||b.paperLevelFilter!==N;(aj.current={search:D,masteryFilter:F,timeFilter:H,selectedTag:P,subjectId:a,gradeFilter:J,chapterFilter:L,paperLevelFilter:N},c&&1!==T)?U(1):ak()},[T,D,F,H,P,a,J,L,N]);let ak=async()=>{C(!0);try{let b=new URLSearchParams;a&&b.append("subjectId",a),D&&b.append("query",D),"all"!==F&&b.append("mastery","mastered"===F?"1":"0"),"all"!==H&&b.append("timeRange",H),P&&b.append("tag",P),J&&b.append("gradeSemester",J),L&&b.append("chapter",L),"all"!==N&&b.append("paperLevel",N),b.append("page",T.toString()),b.append("pageSize",V.toString());let c=await bD.apiClient.get(`/api/error-items/list?${b.toString()}`);i(c.items),X(c.total),Z(c.totalPages)}catch(a){console.error(a)}finally{C(!1)}};return(0,b.jsxs)("div",{className:`space-y-6 ${$?"pb-40 sm:pb-24":""}`,children:[(0,b.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row",children:[(0,b.jsxs)("div",{className:"relative w-full lg:flex-1",children:[(0,b.jsx)(q,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,b.jsx)(m.Input,{placeholder:ae.notebook.search,title:ae.shortId.searchHint,className:"h-10 rounded-xl bg-card pl-9",value:D,onChange:a=>E(a.target.value),onKeyDown:async a=>{let b=D.trim();if("Enter"!==a.key||!(0,co.isShortId)(b))return;let c=await (0,cp.locateByShortId)(b);c&&ag.push(`/error-items/${c}`)}})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsxs)(bb,{children:[(0,b.jsx)(bd,{asChild:!0,children:(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",className:"h-10",children:[(0,b.jsx)(r,{className:"mr-2 h-4 w-4"}),ae.notebook.filter,(0,b.jsx)(u.ChevronDown,{className:"ml-2 h-4 w-4"})]})}),(0,b.jsxs)(bt,{align:"end",className:"w-48",children:[(0,b.jsx)(bv,{children:ae.filter.masteryStatus||"Mastery Status"}),(0,b.jsxs)(bu,{onClick:()=>G("all"),children:["all"===F&&"✓ ",ae.filter.all||"All"]}),(0,b.jsxs)(bu,{onClick:()=>G("unmastered"),children:["unmastered"===F&&"✓ ",ae.filter.review||"To Review"]}),(0,b.jsxs)(bu,{onClick:()=>G("mastered"),children:["mastered"===F&&"✓ ",ae.filter.mastered||"Mastered"]}),(0,b.jsx)(bw,{}),(0,b.jsx)(bv,{children:ae.filter.timeRange||"Time Range"}),(0,b.jsxs)(bu,{onClick:()=>I("all"),children:["all"===H&&"✓ ",ae.filter.allTime||"All Time"]}),(0,b.jsxs)(bu,{onClick:()=>I("week"),children:["week"===H&&"✓ ",ae.filter.lastWeek||"Last Week"]}),(0,b.jsxs)(bu,{onClick:()=>I("month"),children:["month"===H&&"✓ ",ae.filter.lastMonth||"Last Month"]})]})]}),(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",className:"h-10",onClick:()=>{let b=new URLSearchParams;a&&b.append("subjectId",a),D&&b.append("query",D),"all"!==F&&b.append("mastery","mastered"===F?"1":"0"),"all"!==H&&b.append("timeRange",H),P&&b.append("tag",P),J&&b.append("gradeSemester",J),L&&b.append("chapter",L),"all"!==N&&b.append("paperLevel",N),ag.push(`/print-preview?${b.toString()}`)},children:[(0,b.jsx)(v.Printer,{className:"mr-2 h-4 w-4"}),ae.notebook?.exportPrint||"导出打印"]}),!$&&(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",className:"h-10",onClick:ah,children:[(0,b.jsx)(x,{className:"mr-2 h-4 w-4"}),ae.questionSimilarity.title]}),(0,b.jsxs)(e.Button,{variant:$?"secondary":"outline",size:"sm",className:"h-10",onClick:ah,children:[(0,b.jsx)(w.ListChecks,{className:"mr-2 h-4 w-4"}),$?ae.notebook?.cancelSelect||"取消":ae.notebook?.selectMode||"多选"]})]})]}),(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 items-stretch sm:items-center",children:[(0,b.jsx)("div",{className:"w-full sm:w-auto",children:(0,b.jsx)(bL,{gradeSemester:J,tag:P,onFilterChange:({gradeSemester:a,chapter:b,tag:c})=>{void 0!==a&&K(a),void 0!==b&&M(b),Q(void 0===c?null:c),a?b||M(""):(K(""),M(""),Q(null)),U(1)},subjectName:f})}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,b.jsx)(e.Button,{variant:"all"===N?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>O("all"),children:ae.filter.all||"All"}),(0,b.jsx)(e.Button,{variant:"a"===N?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>O("a"),children:ae.editor.paperLevels?.a||"Paper A"}),(0,b.jsx)(e.Button,{variant:"b"===N?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>O("b"),children:ae.editor.paperLevels?.b||"Paper B"}),(0,b.jsx)(e.Button,{variant:"other"===N?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>O("other"),children:ae.editor.paperLevels?.other||"Other"})]})]}),P&&(0,b.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-muted rounded-lg",children:[(0,b.jsxs)("span",{className:"text-sm text-muted-foreground",children:[ae.filter.filteringByTag||"Filtering by tag",":"]}),(0,b.jsxs)(l.Badge,{variant:"secondary",className:"cursor-pointer",onClick:()=>Q(null),children:[P,(0,b.jsx)("span",{className:"ml-1 text-xs",children:"×"})]})]}),!p&&0===h.length&&(0,b.jsx)(o.EmptyState,{icon:y,title:ae.notebook.emptyList,description:ae.notebook.emptyListHint}),p&&0===h.length&&(0,b.jsx)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6},(a,c)=>(0,b.jsx)("div",{className:"h-44 animate-pulse rounded-2xl bg-muted"},c))}),(0,b.jsx)("div",{className:`grid gap-4 md:grid-cols-2 lg:grid-cols-3 transition-opacity ${p?"opacity-60":""}`,children:h.map(a=>{let c,d=[];if(a.tags&&a.tags.length>0)d=a.tags.map(a=>a.name);else try{d=JSON.parse(a.knowledgePoints||"[]")}catch{d=[]}return(0,b.jsxs)("div",{className:"relative animate-in fade-in duration-300",children:[$&&(0,b.jsx)("div",{className:"absolute top-2 left-2 z-10",onClick:b=>{var c;return c=a.id,void(b.preventDefault(),b.stopPropagation(),ab(a=>{let b=new Set(a);return b.has(c)?b.delete(c):b.add(c),b}))},children:(0,b.jsx)(n.Checkbox,{checked:aa.has(a.id),"aria-label":ae.questionSimilarity.selectQuestion.replace("{id}",a.shortId||a.id),className:"h-5 w-5 border-2 bg-background shadow-sm"})}),(0,b.jsx)(j.default,{href:$?"#":`/error-items/${a.id}`,onClick:a=>$&&a.preventDefault(),children:(0,b.jsxs)(k.Card,{className:`h-full cursor-pointer gap-2 rounded-2xl border-l-4 pt-4 transition-all hover:-translate-y-0.5 hover:shadow-md ${a.masteryLevel>0?"border-l-success/70":"border-l-warning/70"} ${$&&aa.has(a.id)?"ring-2 ring-primary":"hover:border-primary/40"}`,children:[(0,b.jsx)(k.CardHeader,{className:"pb-0",children:(0,b.jsxs)("div",{className:`flex justify-between items-start ${$?"pl-7":""}`,children:[(0,b.jsx)(l.Badge,{variant:"secondary",className:a.masteryLevel>0?"bg-success/15 text-success":"bg-warning/15 text-amber-700 dark:text-warning",children:a.masteryLevel>0?(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(s.CheckCircle,{className:"h-3 w-3"})," ",ae.notebook.mastered]}):(0,b.jsxs)("span",{className:"flex items-center gap-1",children:[(0,b.jsx)(t.Clock,{className:"h-3 w-3"})," ",ae.notebook.review]})}),(0,b.jsxs)("span",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:["number"==typeof a.masteryProbability&&(0,b.jsxs)("span",{title:ae.mastery.probability,children:[Math.round(100*a.masteryProbability),"%"]}),a.shortId&&(0,b.jsx)("span",{className:"font-mono",children:a.shortId}),(0,A.formatDateTime)(a.createdAt,"MM/dd",g)]})]})}),(0,b.jsxs)(k.CardContent,{children:[(0,b.jsx)("div",{className:"text-sm line-clamp-3",children:(c=function(a){if(!a)return"";try{let b=a.replace(/\\_/g,"_"),c=b9().use(cd).processSync(b);return b=(b=String(c)).replace(/\\left/g,"").replace(/\\right/g,"").replace(/\\begin\{.*?\}/g,"").replace(/\\end\{.*?\}/g,"").replace(/\\text\{.*?\}/g,"").replace(/\\mbox\{.*?\}/g,"").replace(/\\frac\s*\{([^{}]+)\}\s*\{([^{}]+)\}/g,"$1/$2").replace(/\\sqrt\s*\{([^{}]+)\}/g,"√$1").replace(/\^\{([^{}]+)\}/g,"^$1").replace(/_\{([^{}]+)\}/g,"_$1").replace(/\\times/g,"×").replace(/\\div/g,"÷").replace(/\\cdot/g,"·").replace(/\\le/g,"≤").replace(/\\ge/g,"≥").replace(/\\neq/g,"≠").replace(/\\approx/g,"≈").replace(/\\pm/g,"±").replace(/\\infty/g,"∞").replace(/\\circ/g,"°").replace(/\\triangle/g,"△").replace(/\\angle/g,"∠").replace(/\\because/g,"∵").replace(/\\therefore/g,"∴").replace(/\$/g,"").replace(/\\/g,"").trim()}catch(b){return console.error("Failed to strip markdown:",b),a}}((a.questionText||"").split("\n\n")[0])).length>80?c.substring(0,80)+"...":c}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-3",children:[(0,b.jsx)(l.Badge,{variant:"secondary",className:"text-xs",children:(0,cn.getMistakeStatusLabel)(a.mistakeStatus,af)}),(0,b.jsx)(bH.DifficultyStars,{value:a.difficultyStars,showUnrated:!1})]}),(0,b.jsxs)("div",{className:"flex flex-wrap gap-2 mt-3",children:[(R.has(a.id)?d:d.slice(0,3)).map(a=>(0,b.jsx)(l.Badge,{variant:P===a?"default":"outline",className:"text-xs cursor-pointer hover:bg-primary/10 transition-colors",onClick:b=>{b.preventDefault(),Q(P===a?null:a)},children:a},a)),d.length>3&&(0,b.jsx)(l.Badge,{variant:"secondary",className:"text-xs cursor-pointer hover:bg-secondary/80 transition-colors",title:R.has(a.id)?ae.notebooks?.collapseTagsTooltip||"Click to collapse":(ae.notebooks?.expandTagsTooltip||"Click to expand {count} tags").replace("{count}",(d.length-3).toString()),onClick:b=>{var c;return c=a.id,void(b.preventDefault(),b.stopPropagation(),S(a=>{let b=new Set(a);return b.has(c)?b.delete(c):b.add(c),b}))},children:R.has(a.id)?(0,b.jsx)(b.Fragment,{children:ae.notebooks?.collapseTags||"Collapse"}):(0,b.jsx)(b.Fragment,{children:(ae.notebooks?.expandTags||"+{count} more").replace("{count}",(d.length-3).toString())})})]})]})]})})]},a.id)})}),(0,b.jsx)(cm,{page:T,totalPages:Y,total:W,pageSize:V,onPageChange:U}),$&&(0,b.jsx)(bG,{selectedIds:[...aa],deleting:ac,onCancel:ah,onDelete:ai})]})}var cs=a.i(73556),ct=a.i(8406);function cu({notebookId:a,onFinished:d}){let{t:f}=(0,B.useLanguage)(),[g,h]=(0,c.useState)(null),[i,j]=(0,c.useState)(null),k=(0,c.useRef)(!1),l=(0,c.useCallback)(()=>{bD.apiClient.get(`/api/notebooks/${a}/retag`).then(a=>{k.current&&a&&!a.running&&d?.(),k.current=!!a?.running,h(a)}).catch(()=>void 0)},[a,d]);(0,c.useEffect)(l,[l]),(0,c.useEffect)(()=>{if(!g?.running)return;let a=setTimeout(l,2e3);return()=>clearTimeout(a)},[g,l]);let m=async()=>{if(await (0,cq.confirmDialog)(f.retag.notebookConfirm)){j(null);try{let b=await bD.apiClient.post(`/api/notebooks/${a}/retag`,{});if(0===b.total)return void j(f.retag.empty);k.current=b.running,h(b)}catch{j(f.retag.itemFailed)}}},n=i??(g?.running?f.retag.progress.replace("{done}",String(g.done)).replace("{total}",String(g.total)):g?.finishedAt&&g.total>0?f.retag.finished.replace("{success}",String(g.total-g.failed)).replace("{failed}",String(g.failed)):null);return(0,b.jsxs)("div",{className:"flex flex-col items-start sm:items-end gap-1",children:[(0,b.jsxs)(e.Button,{variant:"outline",size:"sm",onClick:m,disabled:g?.running,"aria-label":f.retag.notebookButton,children:[g?.running?(0,b.jsx)(bz.Loader2,{className:"h-4 w-4 animate-spin sm:mr-2"}):(0,b.jsx)(ct.Sparkles,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:f.retag.notebookButton})]}),n&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:n})]})}var cv=a.i(68368),cw=a.i(74484);a.s(["default",0,function(){let a=(0,d.useParams)(),k=(0,d.useRouter)(),{t:l}=(0,B.useLanguage)(),[m,n]=(0,c.useState)(null);(0,cw.usePageTitle)(l.notebooks.title,m?.name);let[o,p]=(0,c.useState)(!0),[q,r]=(0,c.useState)(!1),[s,t]=(0,c.useState)(0);(0,c.useEffect)(()=>{a.id&&u(a.id)},[a.id]);let u=async a=>{try{let b=await bD.apiClient.get(`/api/notebooks/${a}`);n(b)}catch(a){console.error("Failed to fetch notebook:",a),cq.toast.error(l.notebooks?.notFound||"Notebook not found"),k.push("/notebooks")}finally{p(!1)}},v=async a=>{m&&n(await bD.apiClient.put(`/api/notebooks/${m.id}`,{name:a}))};return o?(0,b.jsx)(g.PageLoading,{label:l.common.loading}):m?(0,b.jsx)("main",{className:"mx-auto min-h-screen max-w-6xl px-4 py-6 md:px-8 md:py-8",children:(0,b.jsxs)("div",{className:"space-y-6",children:[(0,b.jsx)(f.PageHeader,{backHref:"/notebooks",title:m.name,titleAddon:(0,b.jsx)(e.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground",onClick:()=>r(!0),title:l.notebooks?.rename||"Rename",children:(0,b.jsx)(i.Pencil,{className:"h-4 w-4"})}),description:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(cv.NotebookScopeLabel,{notebook:m})," · ",(l.notebooks?.totalErrors||"Total {count} errors").replace("{count}",(m._count?.errorItems||0).toString())]}),actions:(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(cu,{notebookId:m.id,onFinished:()=>t(a=>a+1)}),(0,b.jsx)(j.default,{href:`/notebooks/${m.id}/add`,children:(0,b.jsxs)(e.Button,{"aria-label":l.notebooks?.addError||"Add Error",children:[(0,b.jsx)(h.Plus,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:l.notebooks?.addError||"Add Error"})]})})]})}),(0,b.jsx)(cr,{subjectId:m.id,subjectName:m.name},s),(0,b.jsx)(cs.RenameNotebookDialog,{open:q,onOpenChange:r,currentName:m.name,onRename:v})]})}):null}],1453)}];
2
2
 
3
3
  //# sourceMappingURL=src_app_notebooks_%5Bid%5D_page_tsx_08njm-5._.js.map