wrong-notebook 2026.10.22-2 → 2026.10.22-3
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.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +8 -8
- package/.next/prerender-manifest.json +4 -4
- package/.next/server/app/_global-error/page/build-manifest.json +5 -5
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +8 -8
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/build-manifest.json +5 -5
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/page/build-manifest.json +5 -5
- package/.next/server/app/admin/page.js +2 -2
- package/.next/server/app/admin/page.js.nft.json +1 -1
- package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
- package/.next/server/app/admin/user/[id]/page/build-manifest.json +5 -5
- package/.next/server/app/admin/user/[id]/page.js +2 -2
- package/.next/server/app/admin/user/[id]/page.js.nft.json +1 -1
- package/.next/server/app/admin/user/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/api/admin/dashboard/route.js +2 -2
- package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/migrate-tags/route.js +2 -2
- package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/system-reset/route.js +2 -2
- package/.next/server/app/api/admin/system-reset/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/users/[id]/detail/route.js +2 -2
- package/.next/server/app/api/admin/users/[id]/detail/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/users/[id]/route.js +2 -2
- package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/users/route.js +2 -2
- package/.next/server/app/api/admin/users/route.js.nft.json +1 -1
- package/.next/server/app/api/ai/models/route.js +2 -2
- package/.next/server/app/api/ai/models/route.js.nft.json +1 -1
- package/.next/server/app/api/ai/test/route.js +2 -2
- package/.next/server/app/api/ai/test/route.js.nft.json +1 -1
- package/.next/server/app/api/analytics/route.js +2 -2
- package/.next/server/app/api/analytics/route.js.nft.json +1 -1
- package/.next/server/app/api/analyze/route.js +2 -2
- package/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/[...nextauth]/route.js +2 -2
- package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/delete/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/delete/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/figure/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/figure/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/fix-latex/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/fix-latex/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/geogebra/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/image/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/image/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/mastery/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/mastery/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/notes/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/notes/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/practice-records/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/practice-records/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/reanswer/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/reanswer/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/retag/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/retag/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/svg-animation/route.js +2 -2
- package/.next/server/app/api/error-items/[id]/svg-animation/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/batch-delete/route.js +2 -2
- package/.next/server/app/api/error-items/batch-delete/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/clear/route.js +2 -2
- package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/list/route.js +2 -2
- package/.next/server/app/api/error-items/list/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/route.js +2 -2
- package/.next/server/app/api/error-items/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/short/[shortId]/route.js +2 -2
- package/.next/server/app/api/error-items/short/[shortId]/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/similarity/route.js +2 -2
- package/.next/server/app/api/error-items/similarity/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js +2 -2
- package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/results/route.js +4 -4
- package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/retry/route.js +2 -2
- package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/route.js +2 -2
- package/.next/server/app/api/exams/route.js.nft.json +1 -1
- package/.next/server/app/api/export/route.js +2 -2
- package/.next/server/app/api/export/route.js.nft.json +1 -1
- package/.next/server/app/api/geogebra-analyze/route.js +2 -2
- package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +2 -2
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/import/route.js +2 -2
- package/.next/server/app/api/import/route.js.nft.json +1 -1
- package/.next/server/app/api/logs/frontend/route.js +2 -2
- package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/[id]/retag/route.js +2 -2
- package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/[id]/route.js +2 -2
- package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/route.js +2 -2
- package/.next/server/app/api/notebooks/route.js.nft.json +1 -1
- package/.next/server/app/api/openclaw/batch-upload/route.js +2 -2
- package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/generate/route.js +2 -2
- package/.next/server/app/api/practice/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/record/[id]/route.js +2 -2
- package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/record/route.js +2 -2
- package/.next/server/app/api/practice/record/route.js.nft.json +1 -1
- package/.next/server/app/api/reanswer/route.js +2 -2
- package/.next/server/app/api/reanswer/route.js.nft.json +1 -1
- package/.next/server/app/api/register/route.js.nft.json +1 -1
- package/.next/server/app/api/register/status/route.js +2 -2
- package/.next/server/app/api/register/status/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +2 -2
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/practice/clear/route.js +2 -2
- package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/practice/route.js +2 -2
- package/.next/server/app/api/stats/practice/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/route.js +2 -2
- package/.next/server/app/api/tags/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/stats/route.js +2 -2
- package/.next/server/app/api/tags/stats/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/suggestions/route.js +2 -2
- package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/route.js +2 -2
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/user/route.js +2 -2
- package/.next/server/app/api/user/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js +2 -2
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/error-items/[id]/page/build-manifest.json +5 -5
- package/.next/server/app/error-items/[id]/page.js +2 -2
- package/.next/server/app/error-items/[id]/page.js.nft.json +1 -1
- package/.next/server/app/error-items/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/exams/[id]/page/build-manifest.json +5 -5
- package/.next/server/app/exams/[id]/page.js +2 -2
- package/.next/server/app/exams/[id]/page.js.nft.json +1 -1
- package/.next/server/app/exams/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/exams/[id]/print/page/build-manifest.json +5 -5
- package/.next/server/app/exams/[id]/print/page.js +2 -2
- package/.next/server/app/exams/[id]/print/page.js.nft.json +1 -1
- package/.next/server/app/exams/[id]/print/page_client-reference-manifest.js +1 -1
- package/.next/server/app/exams/page/build-manifest.json +5 -5
- package/.next/server/app/exams/page.js +2 -2
- package/.next/server/app/exams/page.js.nft.json +1 -1
- package/.next/server/app/exams/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js +2 -2
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/latex-test/page/build-manifest.json +5 -5
- package/.next/server/app/latex-test/page.js +2 -2
- package/.next/server/app/latex-test/page.js.nft.json +1 -1
- package/.next/server/app/latex-test/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login/page/build-manifest.json +5 -5
- package/.next/server/app/login/page.js +2 -2
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest.body +1 -1
- package/.next/server/app/notebooks/[id]/add/page/build-manifest.json +5 -5
- package/.next/server/app/notebooks/[id]/add/page.js +2 -2
- package/.next/server/app/notebooks/[id]/add/page.js.nft.json +1 -1
- package/.next/server/app/notebooks/[id]/add/page_client-reference-manifest.js +1 -1
- package/.next/server/app/notebooks/[id]/page/build-manifest.json +5 -5
- package/.next/server/app/notebooks/[id]/page.js +2 -2
- package/.next/server/app/notebooks/[id]/page.js.nft.json +1 -1
- package/.next/server/app/notebooks/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/notebooks/page/build-manifest.json +5 -5
- package/.next/server/app/notebooks/page.js +2 -2
- package/.next/server/app/notebooks/page.js.nft.json +1 -1
- package/.next/server/app/notebooks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page/build-manifest.json +5 -5
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/practice/page/build-manifest.json +5 -5
- package/.next/server/app/practice/page.js +2 -2
- package/.next/server/app/practice/page.js.nft.json +1 -1
- package/.next/server/app/practice/page_client-reference-manifest.js +1 -1
- package/.next/server/app/print-preview/page/build-manifest.json +5 -5
- package/.next/server/app/print-preview/page.js +2 -2
- package/.next/server/app/print-preview/page.js.nft.json +1 -1
- package/.next/server/app/print-preview/page_client-reference-manifest.js +1 -1
- package/.next/server/app/register/page/build-manifest.json +5 -5
- package/.next/server/app/register/page.js.nft.json +1 -1
- package/.next/server/app/register/page_client-reference-manifest.js +1 -1
- package/.next/server/app/stats/page/build-manifest.json +5 -5
- package/.next/server/app/stats/page.js +2 -2
- package/.next/server/app/stats/page.js.nft.json +1 -1
- package/.next/server/app/stats/page_client-reference-manifest.js +1 -1
- package/.next/server/app/tags/page/build-manifest.json +5 -5
- package/.next/server/app/tags/page.js +2 -2
- package/.next/server/app/tags/page.js.nft.json +1 -1
- package/.next/server/app/tags/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/1jng_app_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3.js +1 -1
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1.js +1 -1
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3.js +1 -1
- package/.next/server/chunks/[externals]__04n7qbr._.js +1 -1
- package/.next/server/chunks/[externals]__0pot68n._.js +1 -1
- package/.next/server/chunks/[externals]__1735khz._.js +1 -1
- package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +6 -6
- package/.next/server/chunks/[root-of-the-server]__01bzczj._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__02j1w81._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__03nfvnm._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__04tyyvs._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__05s4wut._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__06_nln5._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__06h5afw._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0akadps._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0be5c5r._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0bqawi0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0bsw5c9._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0c59gc3._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0cmxmwt._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0d5dpu4._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0d9ijed._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0e22a4y._.js +10 -10
- package/.next/server/chunks/[root-of-the-server]__0fnyu4s._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0gp88gz._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0inxsnu._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0j5231l._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0jaawra._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0k-nf6a._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0k-p1pj._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0lrdm1u._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0lro5a7._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0m8p-6f._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mfjf2y._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0mqorxb._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0no6umu._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0nqbham._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0o9gtvd._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0obb4y-._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0p3u6_q._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0rk_yxy._.js +3 -3
- package/.next/server/chunks/[root-of-the-server]__0rmrkd_._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0tdibjz._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0u58zap._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0vhjihq._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0vz88er._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0wf9znr._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0yc8r2x._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0zv7jom._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__11_-ncy._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__11_1z7m._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__11n87go._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__11p4ahb._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +9 -9
- package/.next/server/chunks/[root-of-the-server]__131taws._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__13ebiit._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1413v0e._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__14dnbrn._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__14jqm9_._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__152lbaw._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__15tkoe6._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__16begv4._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__17duis5._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__17q3k-v._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__184u6de._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__18atlj8._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__18c7l6u._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__18zrkky._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__19vj8qy._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1_gkx5x._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1aaux7e._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1cceu4b._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1cn6rlb._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1csfdxc._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1ezwxao._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1g1wi9i._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1gmc_uw._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1h09r50._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1hpwwxw._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1j6mx-v._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1jdi-1f._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1jtd2ar._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__1ju8z29._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1kpo44g._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1kqv61m._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1lct0vi._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1loecue._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1m4-ab6._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1mkpya8._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1nmtv65._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1nwf3ua._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1oup682._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1p8hw44._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1pplzr1._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1rsn804._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1sdtn83._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1u-1vx4._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1v6nwhq._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +9 -9
- package/.next/server/chunks/[root-of-the-server]__20465pr._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__207mxv8._.js +1 -1
- package/.next/server/chunks/_0-eguqv._.js +1 -1
- package/.next/server/chunks/_008zx49._.js +1 -1
- package/.next/server/chunks/_011-ll5._.js +1 -1
- package/.next/server/chunks/_0389uce._.js +1 -1
- package/.next/server/chunks/_0431fxn._.js +1 -1
- package/.next/server/chunks/_0_o8yhv._.js +1 -1
- package/.next/server/chunks/_0c5hvv3._.js +4 -4
- package/.next/server/chunks/_0ekrwj-._.js +6 -6
- package/.next/server/chunks/_0frix22._.js +4 -4
- package/.next/server/chunks/_0gwg6ba._.js +1 -1
- package/.next/server/chunks/_0gxi3zr._.js +1 -1
- package/.next/server/chunks/_0lz3t4l._.js +12 -12
- package/.next/server/chunks/_0rdo0a4._.js +1 -1
- package/.next/server/chunks/_0uxp3uh._.js +1 -1
- package/.next/server/chunks/_0x3ltk0._.js +6 -6
- package/.next/server/chunks/_12w5k19._.js +1 -1
- package/.next/server/chunks/_13ffmxv._.js +1 -1
- package/.next/server/chunks/_14tz_k9._.js +1 -1
- package/.next/server/chunks/_167vv93._.js +1 -1
- package/.next/server/chunks/_16jdov0._.js +1 -1
- package/.next/server/chunks/_18amra5._.js +1 -1
- package/.next/server/chunks/_1_ns7o3._.js +1 -1
- package/.next/server/chunks/_1a1aqmi._.js +1 -1
- package/.next/server/chunks/_1a1udq0._.js +1 -1
- package/.next/server/chunks/_1b0269x._.js +1 -1
- package/.next/server/chunks/_1b7qjlv._.js +1 -1
- package/.next/server/chunks/_1be-y66._.js +1 -1
- package/.next/server/chunks/_1e1h1f1._.js +1 -1
- package/.next/server/chunks/_1ex6ovo._.js +1 -1
- package/.next/server/chunks/_1fgb9ve._.js +1 -1
- package/.next/server/chunks/_1flar98._.js +1 -1
- package/.next/server/chunks/_1m-yyz-._.js +1 -1
- package/.next/server/chunks/_1oj6gy_._.js +1 -1
- package/.next/server/chunks/_1pvqo-q._.js +1 -1
- package/.next/server/chunks/_1z_ujac._.js +1 -1
- package/.next/server/chunks/_211va-d._.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_detail_route_actions_0oe_wkt.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_figure_route_actions_0adlts0.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhx.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uv.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5yl.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_mastery_route_actions_1l5uan6.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4n.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4ux.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_batch-delete_route_actions_0hiq_1k.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0p.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_exams_route_actions_1c_zhtj.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_c.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkb.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04x.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxepty.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t8.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxg.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oen.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiom.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sj.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_1nb9ma2.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyv.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_123tq1_.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +1 -1
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz0.js +1 -1
- package/.next/server/chunks/node_modules_next_1zdbrne._.js +1 -1
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +3 -3
- package/.next/server/chunks/src_0tzpy5j._.js +1 -1
- package/.next/server/chunks/src_lib_ai_prompts_ts_0z36zms._.js +1 -1
- package/.next/server/chunks/src_lib_date-time_ts_14chb27._.js +1 -1
- package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-._.js +1 -1
- package/.next/server/chunks/ssr/[externals]_fs_0pplqgc._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__00gewu3._.js +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__05f8wbh._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0a0nty7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ax9dog._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0b8kewv._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0bvtza7._.js +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__0g_-bym._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0gwwr7e._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0hzktoi._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0icjezr._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0koj8h0._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0s87xha._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0snpjfe._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ybs_4c._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__14l7peq._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1507q8a._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__15ppb9j._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__191jn5n._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__1gth76-._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1ko_dw5._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1l84pks._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1m7qw-2._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1ma2oml._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1o8jotz._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1o__w27._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1p7f0va._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1sg9eoj._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1u74hyi._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__1xsovpr._.js +1 -1
- package/.next/server/chunks/ssr/_054yhx9._.js +1 -1
- package/.next/server/chunks/ssr/_062gk85._.js +3 -0
- package/.next/server/chunks/ssr/_07ls0n_._.js +1 -1
- package/.next/server/chunks/ssr/_0i9hwpv._.js +1 -1
- package/.next/server/chunks/ssr/_0idg05p._.js +3 -0
- package/.next/server/chunks/ssr/_0iqp5hs._.js +1 -1
- package/.next/server/chunks/ssr/_0m1-rq-._.js +1 -1
- package/.next/server/chunks/ssr/_0mgbe2b._.js +1 -1
- package/.next/server/chunks/ssr/_0nv22wt._.js +1 -1
- package/.next/server/chunks/ssr/_0rz2_qb._.js +5 -5
- package/.next/server/chunks/ssr/_0sbbx9z._.js +2 -2
- package/.next/server/chunks/ssr/_0sf1gd9._.js +1 -1
- package/.next/server/chunks/ssr/_0uemk57._.js +1 -1
- package/.next/server/chunks/ssr/_0zj7dlu._.js +1 -1
- package/.next/server/chunks/ssr/_17igtpd._.js +1 -1
- package/.next/server/chunks/ssr/_1gu1rou._.js +1 -1
- package/.next/server/chunks/ssr/_1jniqsj._.js +1 -1
- package/.next/server/chunks/ssr/_1kgnhmo._.js +2 -2
- package/.next/server/chunks/ssr/_1lt1lhz._.js +2 -2
- package/.next/server/chunks/ssr/_1yeu09q._.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickz.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gs.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9ak.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxq.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_page_actions_0av69f-.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_latex-test_page_actions_19v7ka0.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_page_actions_06x1kdz.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaaln.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_register_page_actions_1op-s-x.js +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_a.js +1 -1
- package/.next/server/chunks/ssr/node_modules_0o2aki7._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_1y5ym6h._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_1lnqo1a._.js +3 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_077yo5w._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +2 -2
- package/.next/server/chunks/ssr/node_modules_next_dist_1_c-t1n._.js +4 -4
- package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +2 -2
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +1 -1
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +1 -1
- package/.next/server/chunks/ssr/src_1biegcg._.js +1 -1
- package/.next/server/chunks/ssr/src_1gayunq._.js +1 -1
- package/.next/server/chunks/ssr/src_1o363ao._.js +1 -1
- package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0._.js +1 -1
- package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +1 -1
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +1 -1
- package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5._.js +1 -1
- package/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +1 -1
- package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53._.js +1 -1
- package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4._.js +1 -1
- package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +2 -2
- package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctn._.js +1 -1
- package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u._.js +1 -1
- package/.next/server/edge/chunks/_1s0wgnu._.js +1 -1
- package/.next/server/edge/chunks/node_modules_0g4gi6f._.js +3 -3
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1iafar9.js +1 -1
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1x1n1fx.js +1 -1
- package/.next/server/instrumentation.js +2 -2
- package/.next/server/middleware-build-manifest.js +8 -8
- package/.next/server/middleware-manifest.json +7 -7
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/02d-8f2qj7j3j.js +1 -0
- package/.next/static/chunks/02t7qqptint2p.js +1 -0
- package/.next/static/chunks/090a6irxe0c6j.js +1 -0
- package/.next/static/chunks/0bhxyq7e2eqjc.js +5 -0
- package/.next/static/chunks/0if-vqkhyn-zc.js +1 -0
- package/.next/static/chunks/0jf31atbtr1mv.js +1 -0
- package/.next/static/chunks/0vgthy7v615hq.js +1 -0
- package/.next/static/chunks/1e5n4cprhwujv.js +1 -0
- package/.next/static/chunks/1edfvwc5_eck-.js +31 -0
- package/.next/static/chunks/1f0u19gh5_49z.js +1 -0
- package/.next/static/chunks/1fdj59ys-pend.js +1 -0
- package/.next/static/chunks/1kerqdluzq2l0.js +1 -0
- package/.next/static/chunks/1r4lwlvm7m53v.js +1 -0
- package/.next/static/chunks/1rz1bokv9edzr.js +1 -0
- package/.next/static/chunks/1s-d67d-yroyw.js +1 -0
- package/.next/static/chunks/1tw5_upsy-qj_.js +22 -0
- package/.next/static/chunks/1w1xvldfmcs67.js +6 -0
- package/.next/static/chunks/1zdof8ylzqm8w.js +1 -0
- package/.next/static/chunks/2-k1hjh6ff6y4.js +1 -0
- package/.next/static/chunks/21qpve5q3mjly.js +1 -0
- package/.next/static/chunks/21v32ctwcoxqt.js +1 -0
- package/.next/static/chunks/27-t289uq6_ju.js +3 -0
- package/.next/static/chunks/293-te2b34thz.js +1 -0
- package/.next/static/chunks/2dgleoh5fbs83.js +1 -0
- package/.next/static/chunks/2di_nd6djcxwu.js +1 -0
- package/.next/static/chunks/2mk03owifu2m1.js +33 -0
- package/.next/static/chunks/2qza4p5d9fz_2.js +1 -0
- package/.next/static/chunks/2s4c8fcrdnew4.js +1 -0
- package/.next/static/chunks/2zdqnkem9n6a9.js +1 -0
- package/.next/static/chunks/3-wm04s--suy5.js +1 -0
- package/.next/static/chunks/33t46atd3n2zd.js +1 -0
- package/.next/static/chunks/37yx4gh09tzwc.js +1 -0
- package/.next/static/chunks/3_ymrkgcp90nl.js +191 -0
- package/.next/static/chunks/3gwb465dhjxo9.js +1 -0
- package/.next/static/chunks/3h1inei-ffe-t.js +1 -0
- package/.next/static/chunks/{130ch9mnvb6mp.css → 3n-yabfsiog4i.css} +1 -1
- package/.next/static/chunks/3umldi5zknsyi.js +1 -0
- package/.next/static/chunks/turbopack-1yjxh4vceobdr.js +1 -0
- package/.next/static/{xZpf28Jr6w9NoYOlVaWKI → lggRjZo2bfOA34ETpQH59}/_clientMiddlewareManifest.js +2 -2
- package/LICENSE +22 -0
- package/package.json +3 -2
- package/prisma/seed.db +0 -0
- package/public/icons/apple-touch-icon.png +0 -0
- package/public/icons/icon-192.png +0 -0
- package/public/icons/icon-512.png +0 -0
- package/public/icons/icon-maskable-512.png +0 -0
- package/public/offline.html +61 -0
- package/public/sw.js +84 -0
- package/.next/server/chunks/ssr/_12c20v5._.js +0 -3
- package/.next/server/chunks/ssr/_1filpif._.js +0 -3
- package/.next/static/chunks/00pn0o7lymln6.js +0 -1
- package/.next/static/chunks/02521degnqmf0.js +0 -1
- package/.next/static/chunks/0_w084ms_lq25.js +0 -22
- package/.next/static/chunks/0dzfsm6h13fyr.js +0 -1
- package/.next/static/chunks/0ehjiuuxbbhq9.js +0 -1
- package/.next/static/chunks/0iq53qkw5hvrs.js +0 -1
- package/.next/static/chunks/0m81l71kojx8j.js +0 -1
- package/.next/static/chunks/0nckb2-62ooyq.js +0 -1
- package/.next/static/chunks/0snej-v5yglxr.js +0 -1
- package/.next/static/chunks/1-7k9gbbjkcml.js +0 -1
- package/.next/static/chunks/17wdtw8hml2n6.js +0 -191
- package/.next/static/chunks/1cd32rtomdngh.js +0 -1
- package/.next/static/chunks/1io3-cth_2-cd.js +0 -1
- package/.next/static/chunks/1oiuiyv1cv06v.js +0 -31
- package/.next/static/chunks/1t4-pobw0y5cf.js +0 -1
- package/.next/static/chunks/1xg811762s1p1.js +0 -1
- package/.next/static/chunks/1z_5sj1wqi06v.js +0 -1
- package/.next/static/chunks/2a0kgntckcbvf.js +0 -1
- package/.next/static/chunks/2dlme2fdlkms6.js +0 -1
- package/.next/static/chunks/2f37cahijtel1.js +0 -1
- package/.next/static/chunks/2h-exsnhkfnb8.js +0 -1
- package/.next/static/chunks/2pmzqbg-qabof.js +0 -1
- package/.next/static/chunks/2rmhba08h4qqo.js +0 -33
- package/.next/static/chunks/2s07soqug65hc.js +0 -1
- package/.next/static/chunks/2vm3br71ud51j.js +0 -1
- package/.next/static/chunks/2w2uo9jjxt-re.js +0 -1
- package/.next/static/chunks/2yl8a-gxngbuq.js +0 -1
- package/.next/static/chunks/32bl-oqw9oso0.js +0 -1
- package/.next/static/chunks/35cov9g4cgt-v.js +0 -1
- package/.next/static/chunks/3b-g5_r9nto3s.js +0 -6
- package/.next/static/chunks/3g1rm2suowncy.js +0 -3
- package/.next/static/chunks/3helovsg02qr4.js +0 -1
- package/.next/static/chunks/3jta6jrk-jubq.js +0 -1
- package/.next/static/chunks/3yhf6xyypekz6.js +0 -1
- package/.next/static/chunks/3z9gc_02gl8n9.js +0 -1
- package/.next/static/chunks/427wg73nuzpiz.js +0 -5
- package/.next/static/chunks/turbopack-1-0r7_puvz3eq.js +0 -1
- /package/.next/static/{xZpf28Jr6w9NoYOlVaWKI → lggRjZo2bfOA34ETpQH59}/_buildManifest.js +0 -0
- /package/.next/static/{xZpf28Jr6w9NoYOlVaWKI → lggRjZo2bfOA34ETpQH59}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,4573,e=>{"use strict";var s=e.i(18050),t=e.i(71645),a=e.i(18566),r=e.i(19455),i=e.i(12505),n=e.i(86963),l=e.i(15288),o=e.i(87486),c=e.i(71689),m=e.i(69638),d=e.i(73884),u=e.i(16715),x=e.i(27612),h=e.i(75254);let g=(0,h.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 p=e.i(56909),f=e.i(37727),j=e.i(72664),v=e.i(31278),y=e.i(77705);let w=(0,h.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"}]]),N=(0,h.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 k=e.i(24687),b=e.i(22016),C=e.i(11110),S=e.i(35209),A=e.i(11445),I=e.i(41176),L=e.i(88218),T=e.i(93479),E=e.i(67489),F=e.i(41931),M=e.i(52122),z=e.i(62825),B=e.i(38465),$=e.i(3198);let R=(0,h.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"}]]),O=(0,h.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"}]]),D=(0,h.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"}]]),U=(0,h.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,h.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=e.i(67240);let G=/<(?:animate|animateTransform|animateMotion|set)\b[^>]*>/gi;function _(e,s){let t=e.match(RegExp(`\\s${s}\\s*=\\s*("([^"]*)"|'([^']*)')`,"i"));return t?(t[2]??t[3]??"").trim():null}function V(e){if(!e)return null;let s=e.trim(),t=s.match(/^(?:(\d+):)?(\d+):(\d+(?:\.\d+)?)$/);if(t)return 3600*Number(t[1]??0)+60*Number(t[2])+Number(t[3]);let a=s.match(/^(\d+(?:\.\d+)?)(h|min|s|ms)?$/);if(!a)return null;let r={h:3600,min:60,s:1,ms:.001}[a[2]??"s"]??1;return Number(a[1])*r}var H=e.i(75157);function X(e){let s=Math.max(0,Math.floor(e));return`${Math.floor(s/60)}:${String(s%60).padStart(2,"0")}`}function Q({svg:e}){let{t:a}=(0,C.useLanguage)(),i=(0,t.useRef)(null),n=(0,t.useRef)(null),l=(0,t.useRef)(null),[o,c]=(0,t.useState)(!1),[m,d]=(0,t.useState)(0),[u,x]=(0,t.useState)(!1),[h,g]=(0,t.useState)(!1),p=u||h,f=(0,t.useMemo)(()=>(function(e){let s=0;for(let t of e.match(G)||[]){let e=_(t,"begin"),a=null===e?0:V(e.split(";")[0]);if(null===a)continue;let r=_(t,"repeatCount");if("indefinite"!==r&&"indefinite"!==_(t,"repeatDur"))s=Math.max(s,a+(V(_(t,"dur"))??0)*(r&&Number.isFinite(Number(r))?Number(r):1))}return s})(e),[e]),j=(0,t.useMemo)(()=>(function(e){let s=e.match(/<svg\b[^>]*>/i)?.[0]??"",t=_(s,"viewBox")?.split(/[\s,]+/).map(Number);if(t?.length===4&&t[2]>0&&t[3]>0)return t[2]/t[3];let a=parseFloat(_(s,"width")??""),r=parseFloat(_(s,"height")??"");return a>0&&r>0?a/r:1.6})(e),[e]),v=(0,t.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>${e}</body></html>`,[e]),y=(0,t.useCallback)(()=>{let e=n.current?.contentDocument;return"function"==typeof e?.getAnimations?e.getAnimations():[]},[]),w=(0,t.useCallback)(()=>{l.current?.pauseAnimations(),y().forEach(e=>e.pause()),c(!1)},[y]),N=(0,t.useCallback)(e=>{l.current?.setCurrentTime(e),y().forEach(s=>{s.currentTime=1e3*e}),d(e)},[y]),k=(0,t.useCallback)(()=>{let e=l.current;e&&(f>0&&e.getCurrentTime()>=f&&N(0),e.unpauseAnimations(),y().forEach(e=>e.play()),c(!0))},[y,f,N]),b=async()=>{if(h)return void g(!1);if(document.fullscreenElement)return void await document.exitFullscreen().catch(()=>void 0);let e=i.current;if(e&&"function"==typeof e.requestFullscreen)try{await e.requestFullscreen();return}catch{}g(!0)};return(0,t.useEffect)(()=>{let e=()=>x(document.fullscreenElement===i.current);return document.addEventListener("fullscreenchange",e),()=>document.removeEventListener("fullscreenchange",e)},[]),(0,t.useEffect)(()=>{if(!h)return;let e=e=>{"Escape"===e.key&&g(!1)},s=document.body.style.overflow;return document.body.style.overflow="hidden",document.addEventListener("keydown",e),()=>{document.body.style.overflow=s,document.removeEventListener("keydown",e)}},[h]),(0,t.useEffect)(()=>{if(!o)return;let e=0,s=()=>{let t=l.current?.getCurrentTime()??0;if(f>0&&t>=f){l.current?.setCurrentTime(f),w(),d(f);return}d(t),e=requestAnimationFrame(s)};return e=requestAnimationFrame(s),()=>cancelAnimationFrame(e)},[o,f,w]),(0,s.jsxs)("div",{ref:i,className:(0,H.cn)("space-y-2",p&&"flex flex-col items-center justify-center bg-black p-4",h&&"fixed inset-0 z-50"),children:[(0,s.jsx)("iframe",{ref:n,srcDoc:v,sandbox:"allow-same-origin",title:a.svgAnimation.alt,onLoad:()=>{l.current=n.current?.contentDocument?.querySelector("svg")??null,d(0),c(!!l.current)},className:(0,H.cn)("mx-auto block rounded border bg-white",!p&&"w-full max-w-3xl"),style:p?{aspectRatio:j,width:`min(100%, calc((100dvh - 96px) * ${j}))`}:{aspectRatio:j}}),(0,s.jsxs)("div",{className:(0,H.cn)("mx-auto flex w-full items-center gap-2",p?"max-w-5xl text-white":"max-w-3xl"),children:[(0,s.jsx)(r.Button,{variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-foreground",onClick:o?w:k,"aria-label":o?a.svgAnimation.pause:a.svgAnimation.play,title:o?a.svgAnimation.pause:a.svgAnimation.play,children:o?(0,s.jsx)(U,{className:"h-4 w-4"}):(0,s.jsx)(P,{className:"h-4 w-4"})}),(0,s.jsx)(r.Button,{variant:"ghost",size:"sm",className:(0,H.cn)("h-8 w-8 shrink-0 p-0",p&&"text-white hover:bg-white/20 hover:text-white"),onClick:()=>{N(0),k()},"aria-label":a.svgAnimation.replay,title:a.svgAnimation.replay,children:(0,s.jsx)(q.RotateCcw,{className:"h-4 w-4"})}),f>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("input",{type:"range",min:0,max:f,step:.1,value:Math.min(m,f),onChange:e=>N(Number(e.target.value)),"aria-label":a.svgAnimation.progress,className:"h-2 min-w-0 flex-1 cursor-pointer accent-primary"}),(0,s.jsxs)("span",{className:(0,H.cn)("shrink-0 text-xs tabular-nums",p?"text-white/80":"text-muted-foreground"),children:[X(m)," / ",X(f)]})]}),(0,s.jsx)(r.Button,{variant:"ghost",size:"sm",className:(0,H.cn)("ml-auto h-8 w-8 shrink-0 p-0",p&&"text-white hover:bg-white/20 hover:text-white"),onClick:b,"aria-label":p?a.svgAnimation.exitFullscreen:a.svgAnimation.fullscreen,title:p?a.svgAnimation.exitFullscreen:a.svgAnimation.fullscreen,children:p?(0,s.jsx)(D,{className:"h-4 w-4"}):(0,s.jsx)(O,{className:"h-4 w-4"})})]})]})}var K=e.i(1276),Z=e.i(94114);function J({errorItemId:e,svgAnimation:a,hasOtherLanguage:i,onChange:n}){let{t:l,language:o}=(0,C.useLanguage)(),[c,m]=(0,t.useState)(!1),[d,h]=(0,t.useState)(!1),[g,p]=(0,t.useState)(null),f=async()=>{m(!0),p(null);try{let s=await F.apiClient.post(`/api/error-items/${e}/svg-animation`,{language:o},{timeout:6e5});n(o,s.svgAnimation)}catch(t){let e=t?.data?.message||"",s=l.errors[e];K.frontendLogger.error("[SvgAnimation]","Failed to generate SVG animation",{code:e}),p("NO_QUESTION_TEXT"===e?l.svgAnimation.noQuestionText:"NO_VALID_ANIMATION"===e?l.svgAnimation.invalid:"string"==typeof s?s:l.svgAnimation.failed)}finally{m(!1)}},j=async()=>{if(await (0,Z.confirmDialog)(l.svgAnimation.confirmDelete,{destructive:!0})){h(!0);try{await F.apiClient.delete(`/api/error-items/${e}/svg-animation?language=${o}`),n(o,null),p(null)}catch(e){K.frontendLogger.error("[SvgAnimation]","Failed to delete SVG animation",{error:e instanceof Error?e.message:String(e)}),Z.toast.error(l.svgAnimation.deleteFailed)}finally{h(!1)}}};if(!a)return(0,s.jsxs)("div",{className:"rounded-lg border border-dashed p-4",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(R,{className:"h-4 w-4"}),(0,s.jsx)("span",{children:l.svgAnimation.title})]}),(0,s.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:f,disabled:c,children:[c?(0,s.jsx)(v.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,s.jsx)(R,{className:"mr-2 h-4 w-4"}),c?l.svgAnimation.generating:l.svgAnimation.generate]})]}),g&&(0,s.jsx)("p",{className:"text-xs text-destructive mt-2",children:g}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:i?l.svgAnimation.otherLanguageAvailable:l.svgAnimation.hint})]});let y=c||d;return(0,s.jsxs)("div",{className:"rounded-lg border bg-card",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 px-3 py-2 border-b bg-muted/30",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:l.svgAnimation.title}),y&&(0,s.jsx)(v.Loader2,{className:"h-3 w-3 animate-spin text-muted-foreground"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-1",children:[(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1",onClick:f,disabled:y,children:[c?(0,s.jsx)(v.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,s.jsx)(u.RefreshCw,{className:"h-3.5 w-3.5"}),(0,s.jsx)("span",{children:c?l.svgAnimation.generating:l.svgAnimation.regenerate})]}),(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs gap-1 text-destructive hover:text-destructive",onClick:j,disabled:y,children:[(0,s.jsx)(x.Trash2,{className:"h-3.5 w-3.5"}),(0,s.jsx)("span",{children:l.svgAnimation.delete})]})]})]}),g&&(0,s.jsx)("p",{className:"px-3 pt-2 text-xs text-destructive",children:g}),(0,s.jsx)("div",{className:"p-2 sm:p-3",children:(0,s.jsx)(Q,{svg:a})})]})}var W=e.i(43531);let Y=(0,h.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 ee({shortId:e,className:a=""}){let{t:r}=(0,C.useLanguage)(),[i,n]=(0,t.useState)(!1);if(!e)return null;let l=async s=>{s.preventDefault(),s.stopPropagation();try{await navigator.clipboard.writeText(e),n(!0),setTimeout(()=>n(!1),1500)}catch{window.prompt(r.shortId.copy,e)}};return(0,s.jsxs)("button",{type:"button",onClick:l,title:i?r.shortId.copied:r.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 ${a}`,children:[(0,s.jsx)("span",{children:r.shortId.label}),(0,s.jsx)("span",{className:"font-semibold text-foreground",children:e}),i?(0,s.jsx)(W.Check,{className:"h-3 w-3 text-green-600"}):(0,s.jsx)(Y,{className:"h-3 w-3"})]})}var es=e.i(69937),et=e.i(49704);let ea=(0,h.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 er({errorItemId:e,onDone:a}){let{t:i}=(0,C.useLanguage)(),[n,l]=(0,t.useState)(!1),o=async()=>{l(!0);try{let s=await F.apiClient.post(`/api/error-items/${e}/figure`,{});a(s),s.figureSvg||Z.toast.warning(i.figure.noFigure)}catch(t){let e=t?.data?.message||"",s=i.errors[e];K.frontendLogger.error("[RegenerateFigure]","Failed to regenerate figure",{code:e}),Z.toast.error("NO_ORIGINAL_IMAGE"===e?i.figure.noImage:"string"==typeof s?s:i.figure.failed)}finally{l(!1)}};return(0,s.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:o,disabled:n,className:"flex items-center gap-2",children:[n?(0,s.jsx)(v.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(ea,{className:"h-4 w-4"}),n?i.figure.regenerating:i.figure.regenerate]})}let ei=(0,h.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 en=e.i(12130),el=e.i(28928);function eo({errorItemId:e,hasImage:a,onDone:i}){let{t:n}=(0,C.useLanguage)(),l=(0,t.useRef)(null),[o,c]=(0,t.useState)(!1),[m,d]=(0,t.useState)(null);(0,t.useEffect)(()=>()=>{m&&URL.revokeObjectURL(m)},[m]);let u=async()=>{(!a||await (0,Z.confirmDialog)(n.replaceImage.confirm))&&l.current?.click()},x=async s=>{d(null),c(!0);try{let t=new File([s],"question-image.jpg",{type:s.type||"image/jpeg"}),a=await (0,el.processImageFile)(t),r=await F.apiClient.put(`/api/error-items/${e}/image`,{imageDataUrl:a});i(r.originalImageUrl),Z.toast.success(n.replaceImage.done)}catch(s){let e=s?.data?.message||"";K.frontendLogger.error("[ReplaceImage]","Failed to replace original image",{code:e}),Z.toast.error("INVALID_IMAGE"===e?n.replaceImage.invalid:n.replaceImage.failed)}finally{c(!1)}};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("input",{ref:l,type:"file",accept:"image/png,image/jpeg,image/webp,image/gif",className:"hidden",onChange:e=>{(e=>{if(e){if(!e.type.startsWith("image/"))return Z.toast.error(n.replaceImage.invalid);d(URL.createObjectURL(e))}})(e.target.files?.[0]),e.target.value=""}}),m&&(0,s.jsx)(en.ImageCropper,{imageSrc:m,open:!0,onClose:()=>d(null),onCropComplete:x}),(0,s.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:u,disabled:o,className:"flex items-center gap-2",children:[o?(0,s.jsx)(v.Loader2,{className:"h-4 w-4 animate-spin"}):(0,s.jsx)(ei,{className:"h-4 w-4"}),o?n.replaceImage.uploading:a?n.replaceImage.replace:n.replaceImage.add]})]})}var ec=e.i(91686),em=e.i(83086);function ed({errorItemId:e,onDone:a,onSuggested:i}){let{t:n}=(0,C.useLanguage)(),[l,o]=(0,t.useState)(!1),c=async()=>{o(!0);try{if(i){let s=await F.apiClient.post(`/api/error-items/${e}/retag`,{preview:!0});i(s.tags)}else await F.apiClient.post(`/api/error-items/${e}/retag`,{}),a?.()}catch(t){let e=t?.data?.message||"",s=n.errors[e];K.frontendLogger.error("[RetagItem]","Failed to regenerate tags",{code:e}),Z.toast.error("NO_TAGS_SELECTED"===e?n.retag.noTags:"string"==typeof s?s:n.retag.itemFailed)}finally{o(!1)}};return(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:c,disabled:l,children:[l?(0,s.jsx)(v.Loader2,{className:"h-4 w-4 mr-1 animate-spin"}):(0,s.jsx)(em.Sparkles,{className:"h-4 w-4 mr-1"}),i?l?n.retag.suggestRunning:n.retag.suggestButton:l?n.retag.itemRunning:n.retag.itemButton]})}var eu=e.i(68983);function ex({errorItemId:e,onDone:a}){let{t:i,language:n}=(0,C.useLanguage)(),[l,o]=(0,t.useState)(!1),c=async()=>{if(await (0,Z.confirmDialog)(i.reanswerItem.confirm)){o(!0);try{let s=await F.apiClient.post(`/api/error-items/${e}/reanswer`,{language:n},{timeout:6e5});a(s)}catch(t){let e=t?.data?.message||"",s=i.errors[e];K.frontendLogger.error("[RegenerateAnswer]","Failed to regenerate answer",{code:e}),Z.toast.error("NO_QUESTION_TEXT"===e?i.reanswerItem.noQuestionText:"string"==typeof s?s:i.reanswerItem.failed)}finally{o(!1)}}};return(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:c,disabled:l,children:[l?(0,s.jsx)(v.Loader2,{className:"h-4 w-4 mr-1 animate-spin"}):(0,s.jsx)(eu.WandSparkles,{className:"h-4 w-4 mr-1"}),l?i.reanswerItem.running:i.reanswerItem.button]})}let eh=(0,h.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 eg=e.i(16400),ep=e.i(69939);let ef=new Set(["ne","neq","nabla","nu","not","notin","ni","nexists","ngeq","nleq","nmid","nparallel","nsubseteq"]);function ej(e){return e.length>80?`${e.slice(0,80)}…`:e}let ev=["questionText","answerText","analysis","wrongAnswerText","mistakeAnalysis"];function ey({errorItemId:e,fields:a,onDone:i}){let{t:n}=(0,C.useLanguage)(),[l,o]=(0,t.useState)(!1),c=(0,t.useMemo)(()=>Object.values(function(e){let s={};for(let t of ev){let a=function(e){if(!e?.trim())return[];let{masked:s,segments:t}=(0,ep.extractMathSegments)(e),a=[];for(let e of t)try{eg.default.renderToString(e.tex,{displayMode:e.displayMode,throwOnError:!0,strict:"ignore"})}catch(t){let s=t instanceof Error?t.message.replace(/^KaTeX parse error:\s*/,""):String(t);a.push({snippet:ej(e.source),message:s})}let r=s.replace(/@@MATH\d+@@/g," "),i=r.replace(/\\\$/g,"").match(/\$/g);i&&a.push({snippet:"$",message:`有 ${i.length} 个未配对的 $ 定界符`});let n=r.match(/\\[()[\]]/g);n&&a.push({snippet:n.join(" "),message:"有未配对的 \\( \\) 或 \\[ \\] 定界符"});let l=[...new Set(r.match(/\\[a-zA-Z]{2,}/g)||[])].filter(e=>!e.startsWith("\\n")||ef.has(e.slice(1)));return l.length>0&&a.push({snippet:ej(l.join(" ")),message:"LaTeX 命令没有放在 $…$ 中,会原样显示"}),a}(e[t]);a.length>0&&(s[t]=a)}return s}(a)).reduce((e,s)=>e+(s?.length??0),0),[a]),m=async()=>{o(!0);try{let s=await F.apiClient.post(`/api/error-items/${e}/fix-latex`,{},{timeout:3e5});i(s.updated);let t=s.fixedFields.map(e=>n.fixLatex.fields[e]).join("、");Z.toast.info(0===s.issuesBefore?n.fixLatex.noIssues:0===s.fixedFields.length?n.fixLatex.notFixed:0===s.issuesAfter?n.fixLatex.fixedAll.replace("{fields}",t):n.fixLatex.fixedPartly.replace("{fields}",t).replace("{count}",String(s.issuesAfter)))}catch(t){let e=t?.data?.message||"",s=n.errors[e];K.frontendLogger.error("[FixLatex]","Failed to fix LaTeX",{code:e}),Z.toast.error("string"==typeof s?s:n.fixLatex.failed)}finally{o(!1)}};return 0!==c||l?(0,s.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:m,disabled:l,className:"border-amber-500 text-amber-700 dark:text-amber-400",title:n.fixLatex.issuesFound.replace("{count}",String(c)),children:[l?(0,s.jsx)(v.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,s.jsx)(eh,{className:"mr-2 h-4 w-4"}),l?n.fixLatex.running:n.fixLatex.button,!l&&c>0&&(0,s.jsxs)("span",{className:"ml-1",children:["(",c,")"]})]}):null}var ew=e.i(43710);e.s(["default",0,function(){let e=(0,a.useParams)(),h=(0,a.useRouter)(),{t:R,language:O}=(0,C.useLanguage)(),[D,U]=(0,t.useState)(null);(0,S.usePageTitle)(R.detail.title,D?.subject?.name,D?.shortId);let[P,q]=(0,t.useState)(!0),[G,_]=(0,t.useState)(!1),[V,H]=(0,t.useState)(""),[X,Q]=(0,t.useState)(!1),[W,Y]=(0,t.useState)(!1),[ea,ei]=(0,t.useState)([]),[en,el]=(0,t.useState)(!1),[em,eu]=(0,t.useState)(""),[eh,eg]=(0,t.useState)("a"),[ep,ef]=(0,t.useState)(null),[ej,ev]=(0,t.useState)(void 0),[eN,ek]=(0,t.useState)(!1),[eb,eC]=(0,t.useState)(null),[eS,eA]=(0,t.useState)(!1),[eI,eL]=(0,t.useState)(!0),[eT,eE]=(0,t.useState)(!1),[eF,eM]=(0,t.useState)(!1),[ez,eB]=(0,t.useState)(!1),[e$,eR]=(0,t.useState)(!1),eO=(0,t.useRef)(null);(0,t.useEffect)(()=>{F.apiClient.get("/api/user").then(e=>{e&&e.educationStage&&ev(e.educationStage),eA(!!e?.enableGeogebra),eL(e?.enableSvgAnimation!==!1)}).catch(e=>console.error("Failed to fetch user info:",e)),e.id&&eU(e.id)},[e.id]);let eD=(0,t.useCallback)(e=>{U(s=>s&&s.masteryLevel!==e?{...s,masteryLevel:e}:s)},[]),eU=async e=>{try{let s=await F.apiClient.get(`/api/error-items/${e}`);U(s)}catch(e){console.error(e),Z.toast.error(R.common?.messages?.loadFailed||"Failed to load item"),h.push("/notebooks")}finally{q(!1)}},eP=async()=>{if(D){ek(!0),eC(null);try{let e=await F.apiClient.post(`/api/error-items/${D.id}/geogebra`,{});e.suitable&&e.commands.length>0?U({...D,geogebraCommands:JSON.stringify(e.commands)}):eC(e.description||"该题目不适合用 GeoGebra 演示")}catch(s){console.error("GeoGebra analysis failed:",s);let e=s?.data?.message||s?.message||"";e.includes("AI_AUTH_ERROR")?eC("AI 认证失败,请检查设置"):e.includes("AI_CONNECTION")?eC("AI 连接失败,请检查网络"):eC("分析失败,请稍后重试")}finally{ek(!1)}}},[eq,eG]=(0,t.useState)(!1),e_=async e=>{if(!D)return;let s=D.difficultyStars??null;U({...D,difficultyStars:e}),eG(!0);try{let s=await F.apiClient.put(`/api/error-items/${D.id}`,{difficultyStars:e});U(e=>e&&{...e,paperLevel:s.paperLevel})}catch(e){U(e=>e&&{...e,difficultyStars:s}),K.frontendLogger.error("[ErrorDetail]","Failed to save difficulty",{error:e instanceof Error?e.message:String(e)}),Z.toast.error(R.difficulty.saveFailed)}finally{eG(!1)}},eV=async e=>{D&&(await F.apiClient.put(`/api/error-items/${D.id}`,{geogebraCommands:e}),U({...D,geogebraCommands:e}))},eH=async()=>{D&&(await F.apiClient.delete(`/api/error-items/${D.id}/geogebra`),U(e=>e&&{...e,geogebraCommands:null}))},eX=(0,t.useCallback)(e=>{U(s=>s&&{...s,answerText:e.answerText??"",analysis:e.analysis??""})},[]),eQ=(0,t.useCallback)(e=>{U(s=>s&&{...s,...e})},[]),eK=(0,t.useCallback)((e,s)=>{U(t=>t&&{...t,["en"===e?"svgAnimationEn":"svgAnimation"]:s})},[]),eZ=async()=>{if(!D)return;let e=D.masteryLevel>0?0:1;try{await F.apiClient.patch(`/api/error-items/${D.id}/mastery`,{masteryLevel:e}),U({...D,masteryLevel:e}),Z.toast.success(e>0?R.common?.messages?.markMastered||"Marked as mastered":R.common?.messages?.unmarkMastered||"Unmarked")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.updateFailed||"Update failed")}},eJ=async()=>{if(!D)return;let e=R.common?.messages?.confirmDelete||"Are you sure you want to delete this error item?";if(await (0,Z.confirmDialog)(e,{destructive:!0}))try{await F.apiClient.delete(`/api/error-items/${D.id}/delete`),Z.toast.success(R.common?.messages?.deleteSuccess||"Deleted successfully"),D.subjectId?h.push(`/notebooks/${D.subjectId}`):h.push("/notebooks")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.deleteFailed||"Delete failed")}},eW=async()=>{try{await F.apiClient.put(`/api/error-items/${D?.id}`,{knowledgePoints:ea}),Y(!1),await eU(e.id),Z.toast.success(R.common?.messages?.tagUpdateSuccess||"Tags updated successfully!")}catch(e){console.error("[Frontend] Error updating:",e),Z.toast.error(R.common?.messages?.updateFailed||"Update failed")}},eY=async()=>{try{await F.apiClient.put(`/api/error-items/${D?.id}`,{subjectId:ep||null,gradeSemester:em,paperLevel:eh}),el(!1),eU(e.id),Z.toast.success(R.common?.messages?.metaUpdateSuccess||"Metadata updated successfully!")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.updateFailed||"Update failed")}},[e0,e1]=(0,t.useState)(!1),[e2,e4]=(0,t.useState)(""),[e3,e8]=(0,t.useState)(!1),[e5,e6]=(0,t.useState)(""),[e7,e9]=(0,t.useState)(!1),[se,ss]=(0,t.useState)(""),[st,sa]=(0,t.useState)(!1),[sr,si]=(0,t.useState)(!1),[sn,sl]=(0,t.useState)(""),[so,sc]=(0,t.useState)(""),[sm,sd]=(0,t.useState)("unknown"),su=async()=>{try{await F.apiClient.put(`/api/error-items/${D?.id}`,{questionText:e2}),e1(!1),D&&U({...D,questionText:e2}),Z.toast.success(R.common?.messages?.saveSuccess||"Saved successfully")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.saveFailed||"Save failed")}},sx=async()=>{try{await F.apiClient.put(`/api/error-items/${D?.id}`,{answerText:e5}),e8(!1),D&&U({...D,answerText:e5}),Z.toast.success(R.common?.messages?.saveSuccess||"Saved successfully")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.saveFailed||"Save failed")}},sh=async()=>{try{await F.apiClient.put(`/api/error-items/${D?.id}`,{analysis:se}),e9(!1),D&&U({...D,analysis:se}),Z.toast.success(R.common?.messages?.saveSuccess||"Saved successfully")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.saveFailed||"Save failed")}},sg=async()=>{if(D)try{let e=(0,z.normalizeMistakeStatusForSave)(sm,sn);await F.apiClient.put(`/api/error-items/${D.id}`,{wrongAnswerText:sn,mistakeStatus:e}),sa(!1),U(s=>s&&{...s,wrongAnswerText:sn,mistakeStatus:e}),Z.toast.success(R.common?.messages?.saveSuccess||"Saved successfully")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.saveFailed||"Save failed")}},sp=async()=>{if(D)try{await F.apiClient.put(`/api/error-items/${D.id}`,{mistakeAnalysis:so}),si(!1),U(e=>e&&{...e,mistakeAnalysis:so}),Z.toast.success(R.common?.messages?.saveSuccess||"Saved successfully")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.saveFailed||"Save failed")}},sf=async()=>{if(D)try{await F.apiClient.patch(`/api/error-items/${D.id}/notes`,{userNotes:V}),U({...D,userNotes:V}),_(!1),Z.toast.success(R.common?.messages?.noteSaveSuccess||"Notes saved successfully")}catch(e){console.error(e),Z.toast.error(R.common?.messages?.saveFailed||"Save failed")}};if((0,t.useEffect)(()=>{let e=()=>{eO.current&&(eO.current.getBoundingClientRect().bottom<-50?eR(!0):eR(!1))};return window.addEventListener("scroll",e,{passive:!0}),e(),()=>window.removeEventListener("scroll",e)},[]),P)return(0,s.jsx)(n.PageLoading,{label:R.common.loading});if(!D)return(0,s.jsx)(i.EmptyState,{icon:N,title:R.detail.notFound||"Item not found",className:"m-4 md:m-8"});let sj=[];if(D.tags&&D.tags.length>0)sj=D.tags.map(e=>e.name);else if(D.knowledgePoints)try{let e=JSON.parse(D.knowledgePoints);sj=Array.isArray(e)?e:[]}catch(e){sj=[]}return(0,s.jsxs)("main",{className:"min-h-screen",children:[(0,s.jsxs)("div",{className:"mx-auto max-w-6xl space-y-6 px-4 py-6 md:px-8 md:py-8",children:[(0,s.jsxs)("div",{className:"flex flex-col md:flex-row justify-between items-start md:items-center gap-4",children:[(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-x-4 gap-y-2",children:[(0,s.jsx)(b.default,{href:D.subjectId?`/notebooks/${D.subjectId}`:"/notebooks",children:(0,s.jsx)(r.Button,{variant:"ghost",size:"icon",className:"-ml-2",children:(0,s.jsx)(c.ArrowLeft,{className:"h-5 w-5"})})}),(0,s.jsx)("h1",{className:"text-2xl font-bold tracking-tight",children:R.detail.title}),(0,s.jsx)(ee,{shortId:D.shortId}),(0,s.jsx)(es.DifficultyStars,{size:"md",value:D.difficultyStars,onChange:e_,disabled:eq})]}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,s.jsx)(ey,{errorItemId:D.id,fields:D,onDone:eQ}),(0,s.jsx)(b.default,{href:`/practice?id=${D.id}`,children:(0,s.jsxs)(r.Button,{variant:"outline",size:"sm",children:[(0,s.jsx)(u.RefreshCw,{className:"mr-2 h-4 w-4"}),R.detail.practice]})}),(0,s.jsx)(r.Button,{size:"sm",variant:(D.masteryLevel,"default"),className:D.masteryLevel>0?"bg-success text-white hover:bg-success/90":"",onClick:eZ,children:D.masteryLevel>0?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(m.CheckCircle,{className:"mr-2 h-4 w-4"}),R.detail.mastered]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(d.XCircle,{className:"mr-2 h-4 w-4"}),R.detail.markMastered]})}),(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:eJ,className:"text-red-600 hover:text-red-700 hover:bg-red-50",children:[(0,s.jsx)(x.Trash2,{className:"mr-2 h-4 w-4"}),R.detail.delete||"Delete"]})]})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(l.CardTitle,{children:R.detail.question}),!e0&&(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{D&&(e4(D.questionText),e1(!0))},children:[(0,s.jsx)(g,{className:"h-4 w-4 mr-1"}),R.common?.edit||"Edit"]})]})}),(0,s.jsxs)(l.CardContent,{className:"space-y-4",children:[e0?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(I.MarkdownEditor,{value:e2,onChange:e4,placeholder:"Enter question text...",rows:8,className:"w-full font-mono text-sm"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(r.Button,{size:"sm",onClick:su,children:[(0,s.jsx)(p.Save,{className:"h-4 w-4 mr-1"}),R.common?.save||"Save"]}),(0,s.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>{e1(!1),e4("")},children:[(0,s.jsx)(f.X,{className:"h-4 w-4 mr-1"}),R.common?.cancel||"Cancel"]})]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(A.MarkdownRenderer,{content:D.questionText}),(0,s.jsx)(et.QuestionFigure,{svg:D.figureSvg})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("h4",{className:"text-sm font-semibold",children:R.editor?.tags||"Knowledge Tags"}),!W&&(0,s.jsxs)("div",{className:"flex",children:[(0,s.jsx)(ed,{errorItemId:D.id,onDone:()=>eU(D.id)}),(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{if(D){if(D.tags&&D.tags.length>0)ei(D.tags.map(e=>e.name));else if(D.knowledgePoints)try{let e=JSON.parse(D.knowledgePoints);ei(e)}catch(e){ei([])}else ei([]);Y(!0)}},children:[(0,s.jsx)(g,{className:"h-4 w-4 mr-1"}),R.common?.edit||"Edit"]})]})]}),W?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(L.TagInput,{value:ea,onChange:ei,placeholder:R.editor?.tagsPlaceholder||"Enter or select knowledge tags...",subject:(0,M.inferSubjectFromName)(D.subject?.name||null)||void 0,gradeStage:ej}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:R.editor?.tagsHint||"Select from standard or custom tags"}),(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,s.jsxs)(r.Button,{size:"sm",onClick:eW,children:[(0,s.jsx)(p.Save,{className:"h-4 w-4 mr-1"}),R.common?.save||"Save"]}),(0,s.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>{Y(!1),ei([])},children:[(0,s.jsx)(f.X,{className:"h-4 w-4 mr-1"}),R.common?.cancel||"Cancel"]}),(0,s.jsx)(ed,{errorItemId:D.id,onSuggested:ei})]})]}):(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:sj.map(e=>(0,s.jsx)(o.Badge,{variant:"secondary",children:e},e))})]}),(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("h4",{className:"text-sm font-semibold",children:R.detail?.questionInfo||"Question Info"}),!en&&(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{D&&(ef(D.subjectId||null),eu(D.gradeSemester||""),eg(D.paperLevel||(0,ew.getDefaultPaperLevel)(D.difficultyStars)||"a"),el(!0))},children:[(0,s.jsx)(g,{className:"h-4 w-4 mr-1"}),R.common?.edit||"Edit"]})]}),en?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm text-muted-foreground",children:R.notebooks?.title||"Notebook"}),(0,s.jsx)(B.NotebookSelector,{value:ep||void 0,onChange:ef})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm text-muted-foreground",children:R.filter.grade}),(0,s.jsx)(T.Input,{value:em,onChange:e=>eu(e.target.value),placeholder:R.notebook?.gradeSemesterPlaceholder||"e.g. Grade 7, Semester 1"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm text-muted-foreground",children:R.filter.paperLevel}),(0,s.jsxs)(E.Select,{value:eh,onValueChange:eg,children:[(0,s.jsx)(E.SelectTrigger,{children:(0,s.jsx)(E.SelectValue,{})}),(0,s.jsxs)(E.SelectContent,{children:[(0,s.jsx)(E.SelectItem,{value:"a",children:R.editor.paperLevels?.a||"Paper A"}),(0,s.jsx)(E.SelectItem,{value:"b",children:R.editor.paperLevels?.b||"Paper B"}),(0,s.jsx)(E.SelectItem,{value:"other",children:R.editor.paperLevels?.other||"Other"})]})]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(r.Button,{size:"sm",onClick:eY,children:[(0,s.jsx)(p.Save,{className:"h-4 w-4 mr-1"}),R.common?.save||"Save"]}),(0,s.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>{el(!1),ef(null),eu(""),eg("a")},children:[(0,s.jsx)(f.X,{className:"h-4 w-4 mr-1"}),R.common?.cancel||"Cancel"]})]})]}):(0,s.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,s.jsxs)("div",{className:"flex justify-between",children:[(0,s.jsxs)("span",{className:"text-muted-foreground",children:[R.notebooks?.title||"Notebook",":"]}),(0,s.jsx)("span",{className:"font-medium",children:D.subject?.name||R.common?.notSet||"Not set"})]}),(0,s.jsxs)("div",{className:"flex justify-between",children:[(0,s.jsxs)("span",{className:"text-muted-foreground",children:[R.filter.grade,":"]}),(0,s.jsx)("span",{className:"font-medium",children:D.gradeSemester||R.common?.notSet||"Not set"})]}),(0,s.jsxs)("div",{className:"flex justify-between",children:[(0,s.jsxs)("span",{className:"text-muted-foreground",children:[R.filter.paperLevel,":"]}),(0,s.jsx)("span",{className:"font-medium",children:D.paperLevel?R.editor.paperLevels?.[D.paperLevel]||D.paperLevel:R.common?.notSet||"Not set"})]})]})]}),(0,s.jsxs)("div",{className:"pt-3",children:[(0,s.jsxs)("div",{className:"flex flex-wrap gap-2",children:[D.originalImageUrl&&(0,s.jsx)(r.Button,{variant:"outline",size:"sm",onClick:()=>eE(!eT),className:"flex items-center gap-2",children:eT?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(y.EyeOff,{className:"h-4 w-4"}),R.replaceImage?.hide||"Hide original image"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(w,{className:"h-4 w-4"}),R.replaceImage?.view||"View original image"]})}),(0,s.jsx)(eo,{errorItemId:D.id,hasImage:!!D.originalImageUrl,onDone:e=>{U(s=>s&&{...s,originalImageUrl:e}),eE(!0)}}),D.originalImageUrl&&(0,s.jsx)(er,{errorItemId:D.id,onDone:e=>U(s=>s&&{...s,...e})})]}),D.originalImageUrl&&eT&&(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)("img",{src:D.originalImageUrl,alt:R.detail.originalProblem||"Original Problem",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>Q(!0)}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:R.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})]}),(0,s.jsx)(ec.MasteryPanel,{errorItemId:D.id,onMasteryLevelChange:eD}),(0,s.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,s.jsxs)(l.Card,{className:"border-primary/20",children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(l.CardTitle,{className:"text-primary",children:R.detail.correctAnswer}),!e3&&(0,s.jsxs)("div",{className:"flex flex-wrap justify-end",children:[(0,s.jsx)(ex,{errorItemId:D.id,onDone:eX}),(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{D&&(e6(D.answerText),e8(!0))},children:[(0,s.jsx)(g,{className:"h-4 w-4 mr-1"}),R.common?.edit||"Edit"]})]})]})}),(0,s.jsxs)(l.CardContent,{className:"space-y-4",children:[e3?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(I.MarkdownEditor,{value:e5,onChange:e6,placeholder:"Enter answer...",rows:5,className:"w-full font-mono text-sm"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(r.Button,{size:"sm",onClick:sx,children:[(0,s.jsx)(p.Save,{className:"h-4 w-4 mr-1"}),R.common?.save||"Save"]}),(0,s.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>{e8(!1),e6("")},children:[(0,s.jsx)(f.X,{className:"h-4 w-4 mr-1"}),R.common?.cancel||"Cancel"]})]})]}):(0,s.jsx)(A.MarkdownRenderer,{content:D.answerText,className:"font-semibold"}),D.referenceImageUrl&&(0,s.jsxs)("div",{className:"pt-3",children:[(0,s.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>eM(!eF),className:"flex items-center gap-2 text-muted-foreground",children:eF?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(y.EyeOff,{className:"h-4 w-4"}),"隐藏图片"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(w,{className:"h-4 w-4"}),"查看图片"]})}),eF&&(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)("img",{src:D.referenceImageUrl,alt:"参考图片",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>Q(!0)}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:R.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(l.CardTitle,{children:R.editor?.wrongAnswerText||"我的答案"}),!st&&(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{D&&(sl(D.wrongAnswerText||""),sd(D.mistakeStatus||"unknown"),sa(!0))},children:[(0,s.jsx)(g,{className:"h-4 w-4 mr-1"}),R.common?.edit||"Edit"]})]})}),(0,s.jsx)(l.CardContent,{className:"space-y-4",children:st?(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm text-muted-foreground",children:R.editor?.mistakeStatus||"作答状态"}),(0,s.jsxs)(E.Select,{value:sm,onValueChange:sd,children:[(0,s.jsx)(E.SelectTrigger,{children:(0,s.jsx)(E.SelectValue,{})}),(0,s.jsxs)(E.SelectContent,{children:[(0,s.jsx)(E.SelectItem,{value:"not_attempted",children:R.editor?.mistakeStatuses?.notAttempted||"不会做"}),(0,s.jsx)(E.SelectItem,{value:"wrong_attempt",children:R.editor?.mistakeStatuses?.wrongAttempt||"做错了"}),(0,s.jsx)(E.SelectItem,{value:"unknown",children:R.editor?.mistakeStatuses?.unknown||"未判断"})]})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm text-muted-foreground",children:R.editor?.wrongAnswerText||"错误解答原文"}),(0,s.jsx)(I.MarkdownEditor,{value:sn,onChange:e=>{sl(e),e.trim()&&sd("wrong_attempt")},rows:5,className:"w-full font-mono text-sm"})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(r.Button,{size:"sm",onClick:sg,children:[(0,s.jsx)(p.Save,{className:"h-4 w-4 mr-1"}),R.common?.save||"Save"]}),(0,s.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>{sa(!1),sl(""),sd("unknown")},children:[(0,s.jsx)(f.X,{className:"h-4 w-4 mr-1"}),R.common?.cancel||"Cancel"]})]})]}):(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)(o.Badge,{variant:"secondary",children:(0,z.getMistakeStatusLabel)(D.mistakeStatus,O)}),D.wrongAnswerText?(0,s.jsx)(A.MarkdownRenderer,{content:D.wrongAnswerText}):(0,s.jsx)("p",{className:"text-sm text-muted-foreground italic",children:R.detail?.noMistakeAnalysis||"暂无错误解答"}),D.wrongAnswerImageUrl&&(0,s.jsxs)("div",{className:"pt-3",children:[(0,s.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>eB(!ez),className:"flex items-center gap-2 text-muted-foreground",children:ez?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(y.EyeOff,{className:"h-4 w-4"}),"隐藏图片"]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(w,{className:"h-4 w-4"}),"查看图片"]})}),ez&&(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)("img",{src:D.wrongAnswerImageUrl,alt:"我的答案图片",className:"w-full rounded-lg border cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>Q(!0)}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1 text-center",children:R.detail?.clickToEnlarge||"Click to enlarge"})]})]})]})})]})]}),(0,s.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(l.CardTitle,{children:R.detail.analysis}),!e7&&(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{D&&(ss(D.analysis),e9(!0))},children:[(0,s.jsx)(g,{className:"h-4 w-4 mr-1"}),R.common?.edit||"Edit"]})]})}),(0,s.jsx)(l.CardContent,{children:e7?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(I.MarkdownEditor,{value:se,onChange:ss,placeholder:"Enter analysis...",rows:12,className:"w-full font-mono text-sm"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(r.Button,{size:"sm",onClick:sh,children:[(0,s.jsx)(p.Save,{className:"h-4 w-4 mr-1"}),R.common?.save||"Save"]}),(0,s.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>{e9(!1),ss("")},children:[(0,s.jsx)(f.X,{className:"h-4 w-4 mr-1"}),R.common?.cancel||"Cancel"]})]})]}):(0,s.jsx)(A.MarkdownRenderer,{content:D.analysis})})]}),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(l.CardTitle,{children:R.detail?.mistakeAnalysis||"错因分析"}),!sr&&(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{D&&(sc(D.mistakeAnalysis||""),si(!0))},children:[(0,s.jsx)(g,{className:"h-4 w-4 mr-1"}),R.common?.edit||"Edit"]})]})}),(0,s.jsx)(l.CardContent,{children:sr?(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("label",{className:"text-sm text-muted-foreground",children:R.editor?.mistakeAnalysis||"错因分析"}),(0,s.jsx)(I.MarkdownEditor,{value:so,onChange:sc,rows:8,className:"w-full font-mono text-sm"})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(r.Button,{size:"sm",onClick:sp,children:[(0,s.jsx)(p.Save,{className:"h-4 w-4 mr-1"}),R.common?.save||"Save"]}),(0,s.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>{si(!1),sc("")},children:[(0,s.jsx)(f.X,{className:"h-4 w-4 mr-1"}),R.common?.cancel||"Cancel"]})]})]}):D.mistakeAnalysis?(0,s.jsx)(A.MarkdownRenderer,{content:D.mistakeAnalysis}):(0,s.jsx)("p",{className:"text-sm text-muted-foreground italic",children:R.detail?.noMistakeAnalysis||"暂无错因分析"})})]})]}),(0,s.jsxs)("div",{className:"space-y-6",children:[eI&&(0,s.jsx)(J,{errorItemId:D.id,svgAnimation:"en"===O?D.svgAnimationEn:D.svgAnimation,hasOtherLanguage:!!("en"===O?D.svgAnimation:D.svgAnimationEn),onChange:eK},O),eS&&(D.geogebraCommands?(0,s.jsx)($.GeogebraDemo,{commands:D.geogebraCommands,height:700,showToolBar:!0,showAlgebraInput:!1,showMenuBar:!1,onRegenerate:eP,onSaveCommands:eV,onDelete:eH}):(0,s.jsxs)("div",{className:"rounded-lg border border-dashed p-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsx)(j.Box,{className:"h-4 w-4"}),(0,s.jsx)("span",{children:"GeoGebra 动态演示"})]}),(0,s.jsx)(r.Button,{variant:"outline",size:"sm",onClick:()=>eP(),disabled:eN,children:eN?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(v.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"AI 分析中..."]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(j.Box,{className:"mr-2 h-4 w-4"}),"生成演示"]})})]}),eb&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:eb}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:"AI 将判断本题是否可以用 GeoGebra 进行动态演示,如适合则自动生成交互式图形"})]})),(0,s.jsxs)(l.Card,{children:[(0,s.jsx)(l.CardHeader,{children:(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(l.CardTitle,{children:R.detail.yourNotes}),!G&&(0,s.jsxs)(r.Button,{variant:"ghost",size:"sm",onClick:()=>{H(D?.userNotes||""),_(!0)},children:[(0,s.jsx)(g,{className:"h-4 w-4 mr-1"}),R.detail.editNotes||"Edit"]})]})}),(0,s.jsx)(l.CardContent,{children:G?(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(k.Textarea,{value:V,onChange:e=>H(e.target.value),placeholder:R.detail.notesPlaceholder||"Enter your notes...",rows:5,className:"w-full"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(r.Button,{size:"sm",onClick:sf,children:[(0,s.jsx)(p.Save,{className:"h-4 w-4 mr-1"}),R.common.save||"Save"]}),(0,s.jsxs)(r.Button,{size:"sm",variant:"outline",onClick:()=>{_(!1),H("")},children:[(0,s.jsx)(f.X,{className:"h-4 w-4 mr-1"}),R.common.cancel||"Cancel"]})]})]}):(0,s.jsx)("div",{className:"whitespace-pre-wrap",children:D.userNotes?(0,s.jsx)("p",{className:"text-foreground",children:D.userNotes}):(0,s.jsx)("p",{className:"text-muted-foreground italic",children:R.detail.noNotes})})})]})]})]}),X&&D?.originalImageUrl&&(0,s.jsx)("div",{className:"fixed inset-0 z-50 bg-black/90 flex items-center justify-center p-4",onClick:()=>Q(!1),children:(0,s.jsxs)("div",{className:"relative max-w-7xl max-h-full",children:[(0,s.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:()=>Q(!1),children:R.detail?.close||"✕ Close"}),(0,s.jsx)("img",{src:D.originalImageUrl,alt:"Full size",className:"max-w-full max-h-[90vh] object-contain rounded-lg",onClick:e=>e.stopPropagation()}),(0,s.jsx)("p",{className:"text-center text-white/70 text-sm mt-4",children:R.detail?.clickOutside||"Click outside to close"})]})})]})}],4573)}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71689,t=>{"use strict";let e=(0,t.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);t.s(["ArrowLeft",0,e],71689)},20278,t=>{"use strict";let e=(0,t.i(75254).default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);t.s(["Target",0,e],20278)},25652,t=>{"use strict";let e=(0,t.i(75254).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);t.s(["TrendingUp",0,e],25652)},90546,t=>{"use strict";var e=t.i(18050),a=t.i(18566),s=t.i(19455),r=t.i(71689);t.s(["BackButton",0,function({fallbackUrl:t,className:c}){let i=(0,a.useRouter)();return(0,e.jsx)(s.Button,{variant:"ghost",size:"icon",onClick:()=>{i.push(t)},className:c,children:(0,e.jsx)(r.ArrowLeft,{className:"h-5 w-5"})})}])},15288,t=>{"use strict";var e=t.i(18050),a=t.i(75157);t.s(["Card",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...s})},"CardContent",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...s})},"CardDescription",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...s})},"CardHeader",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...s})},"CardTitle",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...s})}])},93842,t=>{"use strict";var e=t.i(18050),a=t.i(90546),s=t.i(75157);t.s(["PageHeader",0,function({title:t,description:r,backHref:c,actions:i,titleAddon:n,className:l}){return(0,e.jsxs)("div",{className:(0,s.cn)("flex items-start gap-3",l),children:[c&&(0,e.jsx)(a.BackButton,{fallbackUrl:c,className:"-ml-2 shrink-0"}),(0,e.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1",children:[(0,e.jsx)("h1",{className:"truncate text-2xl font-bold tracking-tight sm:text-3xl",children:t}),n]}),r&&(0,e.jsx)("p",{className:"text-sm text-muted-foreground sm:text-base",children:r})]}),i&&(0,e.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:i})]})}])},35209,t=>{"use strict";var e=t.i(71645),a=t.i(11110);t.s(["usePageTitle",0,function(...t){let{t:s}=(0,a.useLanguage)(),r=[s.pageTitle.base,...t.map(t=>"string"==typeof t?t.trim():"").filter(t=>t.length>0)].join("-");(0,e.useEffect)(()=>{document.title=r},[r])}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71689,e=>{"use strict";let s=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,s],71689)},63209,e=>{"use strict";let s=(0,e.i(75254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",0,s],63209)},3116,e=>{"use strict";let s=(0,e.i(75254).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",0,s],3116)},41966,52008,e=>{"use strict";var s=e.i(75254);let a=(0,s.default)("pen-tool",[["path",{d:"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",key:"nt11vn"}],["path",{d:"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",key:"15qc1e"}],["path",{d:"m2.3 2.3 7.286 7.286",key:"1wuzzi"}],["circle",{cx:"11",cy:"11",r:"2",key:"xmgehs"}]]);e.s(["PenTool",0,a],41966);let t=(0,s.default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",0,t],52008)},45514,e=>{"use strict";var s=e.i(18050),a=e.i(71645),t=e.i(17255),r=e.i(18566),d=e.i(11110),i=e.i(35209),l=e.i(15519),n=e.i(30691),c=e.i(41931),o=e.i(31278),m=e.i(71689),x=e.i(84614),u=e.i(10980),h=e.i(41966),j=e.i(52008),b=e.i(75254);let p=(0,b.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),g=(0,b.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var y=e.i(69638),f=e.i(3116),N=e.i(63209),v=e.i(86536),C=e.i(19455),w=e.i(15288),k=e.i(87486);e.s(["default",0,function(){let{timeZone:e}=(0,l.useTimeZone)(),{data:b,status:T}=(0,t.useSession)(),D=(0,r.useRouter)(),L=(0,r.useParams)(),{t:M}=(0,d.useLanguage)(),[A,B]=(0,a.useState)(null);(0,i.usePageTitle)(M.admin.dashboard.title,A?.user.name||A?.user.email);let[z,H]=(0,a.useState)(!0),P=L.id,q=(0,a.useCallback)(async()=>{H(!0);try{let e=await c.apiClient.get(`/api/admin/users/${P}/detail`);B(e)}catch(e){console.error("Failed to fetch user detail",e)}finally{H(!1)}},[P]);if((0,a.useEffect)(()=>{if("loading"!==T){if(!b?.user||"admin"!==b.user.role)return void D.push("/");q()}},[b,T,D,q]),"loading"===T||z)return(0,s.jsx)("div",{className:"flex items-center justify-center min-h-[60vh]",children:(0,s.jsx)(o.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(!A)return(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[60vh] gap-4",children:[(0,s.jsx)("p",{className:"text-muted-foreground",children:M.common?.error||"加载失败"}),(0,s.jsx)(C.Button,{onClick:q,children:"重试"})]});let E=[{key:"new",label:M.admin?.dashboard?.masteryNew||"未掌握",count:A.masteryDistribution.new,icon:N.AlertCircle,color:"text-red-500"},{key:"reviewing",label:M.admin?.dashboard?.masteryReviewing||"复习中",count:A.masteryDistribution.reviewing,icon:f.Clock,color:"text-yellow-500"},{key:"mastered",label:M.admin?.dashboard?.masteryMastered||"已掌握",count:A.masteryDistribution.mastered,icon:y.CheckCircle,color:"text-green-500"}],R=A.masteryDistribution.new+A.masteryDistribution.reviewing+A.masteryDistribution.mastered;return(0,s.jsxs)("div",{className:"max-w-5xl mx-auto p-4 sm:p-6 space-y-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)(C.Button,{variant:"ghost",size:"sm",onClick:()=>D.push("/admin"),children:[(0,s.jsx)(m.ArrowLeft,{className:"h-4 w-4 mr-1"}),M.common?.back||"返回"]}),(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"p-2 rounded-full bg-blue-50 dark:bg-blue-950/30",children:(0,s.jsx)(x.User,{className:"h-6 w-6 text-blue-500"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-xl font-bold",children:A.user.name||"N/A"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:A.user.email})]}),"admin"===A.user.role&&(0,s.jsx)(k.Badge,{variant:"default",children:M.admin?.admin||"管理员"}),(0,s.jsx)(k.Badge,{variant:A.user.isActive?"default":"destructive",children:A.user.isActive?M.admin?.active||"启用":M.admin?.disabled||"禁用"})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[(0,s.jsx)(w.Card,{className:"border-0 shadow-sm",children:(0,s.jsxs)(w.CardContent,{className:"p-4 text-center",children:[(0,s.jsx)(j.Layers,{className:"h-5 w-5 text-purple-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:A.notebookCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:M.admin?.dashboard?.notebooks||"错题本"})]})}),(0,s.jsx)(w.Card,{className:"border-0 shadow-sm",children:(0,s.jsxs)(w.CardContent,{className:"p-4 text-center",children:[(0,s.jsx)(u.BookOpen,{className:"h-5 w-5 text-red-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:A.errorCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:M.admin?.dashboard?.errors||"错题"})]})}),(0,s.jsx)(w.Card,{className:"border-0 shadow-sm",children:(0,s.jsxs)(w.CardContent,{className:"p-4 text-center",children:[(0,s.jsx)(h.PenTool,{className:"h-5 w-5 text-green-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:A.practiceCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:M.admin?.dashboard?.practice||"练习"})]})}),(0,s.jsx)(w.Card,{className:"border-0 shadow-sm",children:(0,s.jsxs)(w.CardContent,{className:"p-4 text-center",children:[(0,s.jsx)(p,{className:"h-5 w-5 text-blue-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:A.recent7DaysCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:M.admin?.dashboard?.recent7Days||"近7天录入"})]})})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,s.jsxs)(w.Card,{className:"border-0 shadow-sm",children:[(0,s.jsx)(w.CardHeader,{className:"pb-2",children:(0,s.jsxs)(w.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(j.Layers,{className:"h-4 w-4 text-purple-500"}),M.admin?.dashboard?.userNotebooks||"错题本列表"]})}),(0,s.jsx)(w.CardContent,{children:0===A.notebooks.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:M.admin?.dashboard?.noData||"暂无数据"}):(0,s.jsx)("div",{className:"space-y-2",children:A.notebooks.map(e=>(0,s.jsxs)("div",{className:"flex justify-between items-center p-2 rounded-lg bg-muted/30",children:[(0,s.jsx)("span",{className:"font-medium text-sm",children:e.name}),(0,s.jsxs)(k.Badge,{variant:"secondary",className:"text-xs",children:[e.errorCount," 题"]})]},e.id))})})]}),(0,s.jsxs)(w.Card,{className:"border-0 shadow-sm",children:[(0,s.jsx)(w.CardHeader,{className:"pb-2",children:(0,s.jsxs)(w.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(y.CheckCircle,{className:"h-4 w-4 text-green-500"}),M.admin?.dashboard?.masteryDistribution||"掌握度分布"]})}),(0,s.jsx)(w.CardContent,{children:0===R?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:M.admin?.dashboard?.noData||"暂无数据"}):(0,s.jsx)("div",{className:"space-y-3",children:E.map(e=>{let a=R>0?Math.round(e.count/R*100):0;return(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsxs)("div",{className:"flex justify-between text-sm items-center",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5 font-medium",children:[(0,s.jsx)(e.icon,{className:`h-4 w-4 ${e.color}`}),e.label]}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[e.count," (",a,"%)"]})]}),(0,s.jsx)("div",{className:"w-full bg-muted rounded-full h-2",children:(0,s.jsx)("div",{className:"h-2 rounded-full bg-current opacity-60 transition-all duration-500",style:{width:`${a}%`}})})]},e.key)})})})]})]}),A.subjectDistribution.length>0&&(0,s.jsxs)(w.Card,{className:"border-0 shadow-sm",children:[(0,s.jsx)(w.CardHeader,{className:"pb-2",children:(0,s.jsxs)(w.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(g,{className:"h-4 w-4 text-blue-500"}),M.admin?.dashboard?.subjectDistribution||"学科错题分布"]})}),(0,s.jsx)(w.CardContent,{children:(0,s.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:A.subjectDistribution.map(e=>(0,s.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-muted/30",children:[(0,s.jsx)("span",{className:"font-medium text-sm",children:e.name}),(0,s.jsx)(k.Badge,{variant:"secondary",children:e.count})]},e.name))})})]}),(0,s.jsxs)(w.Card,{className:"border-0 shadow-sm",children:[(0,s.jsx)(w.CardHeader,{className:"pb-2",children:(0,s.jsxs)(w.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(v.Eye,{className:"h-4 w-4 text-orange-500"}),M.admin?.dashboard?.recentErrors||"最近录入的错题"]})}),(0,s.jsx)(w.CardContent,{children:0===A.recentErrorItems.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:M.admin?.dashboard?.noData||"暂无数据"}):(0,s.jsx)("div",{className:"space-y-2",children:A.recentErrorItems.map(a=>(0,s.jsxs)("div",{className:"flex items-start justify-between p-3 rounded-lg bg-muted/30 gap-3",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-sm font-medium truncate",children:a.questionText||a.ocrText||"(无题目文本)"}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[a.subject&&(0,s.jsx)(k.Badge,{variant:"outline",className:"text-xs",children:a.subject.name}),2===a.masteryLevel&&(0,s.jsx)(k.Badge,{variant:"default",className:"text-xs",children:M.admin?.dashboard?.masteryMastered||"已掌握"}),1===a.masteryLevel&&(0,s.jsx)(k.Badge,{variant:"secondary",className:"text-xs",children:M.admin?.dashboard?.masteryReviewing||"复习中"}),0===a.masteryLevel&&(0,s.jsx)(k.Badge,{variant:"outline",className:"text-xs",children:M.admin?.dashboard?.masteryNew||"未掌握"})]})]}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:(0,n.formatDateTime)(a.createdAt,"yyyy-MM-dd",e)})]},a.id))})})]})]})}],45514)},15288,e=>{"use strict";var s=e.i(18050),a=e.i(75157);e.s(["Card",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})},"CardContent",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...t})},"CardDescription",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",e),...t})},"CardHeader",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...t})},"CardTitle",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...t})}])},35209,e=>{"use strict";var s=e.i(71645),a=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t}=(0,a.useLanguage)(),r=[t.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,s.useEffect)(()=>{document.title=r},[r])}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95119,e=>{"use strict";var t=e.i(18050),s=e.i(11445),r=e.i(15288),n=e.i(11110),c=e.i(35209);e.s(["default",0,function(){let{t:e}=(0,n.useLanguage)();return(0,c.usePageTitle)(e.pageTitle.latexTest),(0,t.jsxs)("div",{className:"container mx-auto p-8 max-w-4xl",children:[(0,t.jsx)("h1",{className:"text-3xl font-bold mb-6",children:"LaTeX 渲染测试"}),(0,t.jsx)("div",{className:"space-y-6",children:[{title:"单个$符号(行内公式)",content:"(1) $a = -12$, $b = 8$, $c = 16$ (2) $t = 12$ (3) $M = \\frac{72}{11}$"},{title:"双$符号(独立公式)",content:"答案:\n\n$$M = \\frac{72}{11}$$"},{title:"混合格式",content:"解:\n\n(1) $a = -12, b = 8, c = 16$\n\n(2) 当 $t = 12$ 时\n\n(3) $M = \\frac{72}{11}$"},{title:"复杂公式",content:"二次函数: $y = ax^2 + bx + c$\n\n求根公式: $$x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}$$"},{title:"您的实际答案格式",content:"(1) $a = -12$, $b = 8$, $c = 16$ (2) $@t = 12$ (3) $M = \\frac{72}{11}$"}].map((e,n)=>(0,t.jsxs)(r.Card,{children:[(0,t.jsx)(r.CardHeader,{children:(0,t.jsx)(r.CardTitle,{className:"text-lg",children:e.title})}),(0,t.jsxs)(r.CardContent,{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-semibold text-muted-foreground mb-2",children:"原始文本:"}),(0,t.jsx)("pre",{className:"bg-muted p-3 rounded text-xs overflow-x-auto",children:e.content})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h4",{className:"text-sm font-semibold text-muted-foreground mb-2",children:"渲染结果:"}),(0,t.jsx)("div",{className:"border rounded p-4 bg-background",children:(0,t.jsx)(s.MarkdownRenderer,{content:e.content})})]})]})]},n))}),(0,t.jsxs)(r.Card,{className:"mt-8 border-yellow-500/50 bg-yellow-50/50",children:[(0,t.jsx)(r.CardHeader,{children:(0,t.jsx)(r.CardTitle,{className:"text-yellow-700",children:"💡 LaTeX 公式格式说明"})}),(0,t.jsxs)(r.CardContent,{className:"text-sm space-y-2",children:[(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("strong",{children:"行内公式"}),": 使用单个 ",(0,t.jsx)("code",{children:"$"})," 包裹,如 ",(0,t.jsx)("code",{children:"$x^2$"})]}),(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("strong",{children:"独立公式"}),": 使用双 ",(0,t.jsx)("code",{children:"$$"})," 包裹,如 ",(0,t.jsxs)("code",{children:["$$\\\\frac","{a}","{b}","$$"]})]}),(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("strong",{children:"分数"}),": ",(0,t.jsxs)("code",{children:["\\\\frac","{分子}","{分母}"]})]}),(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("strong",{children:"根号"}),": ",(0,t.jsxs)("code",{children:["\\\\sqrt","{内容}"]})]}),(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("strong",{children:"上标"}),": ",(0,t.jsx)("code",{children:"x^2"})," 或 ",(0,t.jsxs)("code",{children:["x^","{2n}"]})]}),(0,t.jsxs)("p",{children:["• ",(0,t.jsx)("strong",{children:"下标"}),": ",(0,t.jsx)("code",{children:"x_1"})," 或 ",(0,t.jsxs)("code",{children:["x_","{n+1}"]})]})]})]})]})}])},15288,e=>{"use strict";var t=e.i(18050),s=e.i(75157);e.s(["Card",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...r})},"CardContent",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",e),...r})},"CardDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...r})},"CardHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,s.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...r})},"CardTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",e),...r})}])},35209,e=>{"use strict";var t=e.i(71645),s=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t:r}=(0,s.useLanguage)(),n=[r.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,t.useEffect)(()=>{document.title=n},[n])}])}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],71689)},63209,e=>{"use strict";let t=(0,e.i(75254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",0,t],63209)},3116,e=>{"use strict";let t=(0,e.i(75254).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",0,t],3116)},41966,52008,e=>{"use strict";var t=e.i(75254);let s=(0,t.default)("pen-tool",[["path",{d:"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",key:"nt11vn"}],["path",{d:"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",key:"15qc1e"}],["path",{d:"m2.3 2.3 7.286 7.286",key:"1wuzzi"}],["circle",{cx:"11",cy:"11",r:"2",key:"xmgehs"}]]);e.s(["PenTool",0,s],41966);let a=(0,t.default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",0,a],52008)},25652,e=>{"use strict";let t=(0,e.i(75254).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);e.s(["TrendingUp",0,t],25652)},72906,e=>{"use strict";var t=e.i(18050),s=e.i(71645),a=e.i(17255),r=e.i(18566),d=e.i(11110),i=e.i(35209),l=e.i(15519),n=e.i(30691),c=e.i(41931),o=e.i(31278);let m=(0,e.i(75254).default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);var x=e.i(10980),u=e.i(41966),h=e.i(52008),g=e.i(25652),j=e.i(69638),b=e.i(3116),p=e.i(63209),f=e.i(64659),N=e.i(55900),v=e.i(86536),y=e.i(17923),C=e.i(19455),w=e.i(93842),k=e.i(15288),T=e.i(87486);function D({data:e,t:s}){let a=[{title:s.admin?.dashboard?.totalUsers||"总用户数",value:e.overview.totalUsers,icon:m,color:"text-blue-500",bgColor:"bg-blue-50 dark:bg-blue-950/30"},{title:s.admin?.dashboard?.totalErrors||"总错题数",value:e.overview.totalErrorItems,icon:x.BookOpen,color:"text-red-500",bgColor:"bg-red-50 dark:bg-red-950/30"},{title:s.admin?.dashboard?.totalPractice||"总练习数",value:e.overview.totalPracticeRecords,icon:u.PenTool,color:"text-green-500",bgColor:"bg-green-50 dark:bg-green-950/30"},{title:s.admin?.dashboard?.totalNotebooks||"总错题本数",value:e.overview.totalSubjects,icon:h.Layers,color:"text-purple-500",bgColor:"bg-purple-50 dark:bg-purple-950/30"}];return(0,t.jsx)("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4",children:a.map(e=>(0,t.jsx)(k.Card,{className:"border-0 shadow-sm",children:(0,t.jsxs)(k.CardContent,{className:"p-4 flex items-center gap-4",children:[(0,t.jsx)("div",{className:`p-3 rounded-xl ${e.bgColor}`,children:(0,t.jsx)(e.icon,{className:`h-6 w-6 ${e.color}`})}),(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e.title}),(0,t.jsx)("p",{className:"text-2xl font-bold",children:e.value})]})]})},e.title))})}function M({data:e,t:s}){let a=Math.max(...e.dailyTrend.map(e=>e.count),1);return(0,t.jsxs)(k.Card,{className:"border-0 shadow-sm",children:[(0,t.jsx)(k.CardHeader,{className:"pb-2",children:(0,t.jsxs)(k.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,t.jsx)(g.TrendingUp,{className:"h-4 w-4 text-orange-500"}),s.admin?.dashboard?.recentTrend||"最近 7 天录入趋势"]})}),(0,t.jsx)(k.CardContent,{children:(0,t.jsx)("div",{className:"flex items-end gap-2 h-40",children:e.dailyTrend.map(e=>{let s=a>0?e.count/a*100:0,r=e.date.slice(5).replace("-","/");return(0,t.jsxs)("div",{className:"flex-1 flex flex-col items-center gap-1",children:[(0,t.jsx)("span",{className:"text-xs font-medium",children:e.count>0?e.count:""}),(0,t.jsx)("div",{className:"w-full relative",style:{height:"100px"},children:(0,t.jsx)("div",{className:"absolute bottom-0 w-full bg-gradient-to-t from-orange-500 to-orange-400 rounded-t-md transition-all duration-500 min-h-[4px]",style:{height:`${Math.max(s,4)}%`}})}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:r})]},e.date)})})})]})}function A({data:e,t:s}){let a=e.subjectDistribution.reduce((e,t)=>e+t.count,0),r=["bg-blue-500","bg-green-500","bg-orange-500","bg-purple-500","bg-red-500","bg-cyan-500","bg-yellow-500","bg-pink-500","bg-indigo-500"];return(0,t.jsxs)(k.Card,{className:"border-0 shadow-sm",children:[(0,t.jsx)(k.CardHeader,{className:"pb-2",children:(0,t.jsxs)(k.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,t.jsx)(y.BarChart3,{className:"h-4 w-4 text-blue-500"}),s.admin?.dashboard?.subjectDistribution||"学科错题分布"]})}),(0,t.jsx)(k.CardContent,{children:0===a?(0,t.jsx)("p",{className:"text-sm text-muted-foreground py-8 text-center",children:s.admin?.dashboard?.noData||"暂无数据"}):(0,t.jsx)("div",{className:"space-y-3",children:e.subjectDistribution.map((e,s)=>{let d=a>0?Math.round(e.count/a*100):0;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex justify-between text-sm",children:[(0,t.jsx)("span",{className:"font-medium",children:e.name}),(0,t.jsxs)("span",{className:"text-muted-foreground",children:[e.count," (",d,"%)"]})]}),(0,t.jsx)("div",{className:"w-full bg-muted rounded-full h-2.5",children:(0,t.jsx)("div",{className:`h-2.5 rounded-full ${r[s%r.length]} transition-all duration-500`,style:{width:`${d}%`}})})]},e.name)})})})]})}function B({data:e,t:s}){let a=e.masteryDistribution.new+e.masteryDistribution.reviewing+e.masteryDistribution.mastered,r=[{key:"new",label:s.admin?.dashboard?.masteryNew||"未掌握",count:e.masteryDistribution.new,icon:p.AlertCircle,color:"text-red-500",bg:"bg-red-500"},{key:"reviewing",label:s.admin?.dashboard?.masteryReviewing||"复习中",count:e.masteryDistribution.reviewing,icon:b.Clock,color:"text-yellow-500",bg:"bg-yellow-500"},{key:"mastered",label:s.admin?.dashboard?.masteryMastered||"已掌握",count:e.masteryDistribution.mastered,icon:j.CheckCircle,color:"text-green-500",bg:"bg-green-500"}];return(0,t.jsxs)(k.Card,{className:"border-0 shadow-sm",children:[(0,t.jsx)(k.CardHeader,{className:"pb-2",children:(0,t.jsxs)(k.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,t.jsx)(j.CheckCircle,{className:"h-4 w-4 text-green-500"}),s.admin?.dashboard?.masteryDistribution||"掌握度分布"]})}),(0,t.jsx)(k.CardContent,{children:0===a?(0,t.jsx)("p",{className:"text-sm text-muted-foreground py-8 text-center",children:s.admin?.dashboard?.noData||"暂无数据"}):(0,t.jsx)("div",{className:"space-y-3",children:r.map(e=>{let s=a>0?Math.round(e.count/a*100):0;return(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex justify-between text-sm items-center",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 font-medium",children:[(0,t.jsx)(e.icon,{className:`h-4 w-4 ${e.color}`}),e.label]}),(0,t.jsxs)("span",{className:"text-muted-foreground",children:[e.count," (",s,"%)"]})]}),(0,t.jsx)("div",{className:"w-full bg-muted rounded-full h-2.5",children:(0,t.jsx)("div",{className:`h-2.5 rounded-full ${e.bg} transition-all duration-500`,style:{width:`${s}%`}})})]},e.key)})})})]})}function L({users:e,onViewDetail:a}){let{timeZone:r}=(0,l.useTimeZone)(),{t:i}=(0,d.useLanguage)(),[c,o]=(0,s.useState)(null);return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)("div",{className:"hidden md:block border rounded-lg overflow-hidden",children:(0,t.jsxs)("table",{className:"w-full text-sm",children:[(0,t.jsx)("thead",{className:"bg-muted/50",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"text-left p-3 font-medium",children:i.admin?.dashboard?.userName||"用户名"}),(0,t.jsx)("th",{className:"text-left p-3 font-medium",children:i.admin?.dashboard?.email||"邮箱"}),(0,t.jsx)("th",{className:"text-center p-3 font-medium",children:i.admin?.dashboard?.notebooks||"错题本"}),(0,t.jsx)("th",{className:"text-center p-3 font-medium",children:i.admin?.dashboard?.errors||"错题"}),(0,t.jsx)("th",{className:"text-center p-3 font-medium",children:i.admin?.dashboard?.practice||"练习"}),(0,t.jsx)("th",{className:"text-center p-3 font-medium",children:i.admin?.dashboard?.status||"状态"}),(0,t.jsx)("th",{className:"text-center p-3 font-medium",children:i.admin?.dashboard?.registeredAt||"注册时间"}),(0,t.jsx)("th",{className:"text-center p-3 font-medium",children:i.admin?.dashboard?.actions||"操作"})]})}),(0,t.jsx)("tbody",{children:e.map(e=>(0,t.jsxs)("tr",{className:"border-t hover:bg-muted/30 transition-colors",children:[(0,t.jsx)("td",{className:"p-3",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:e.name||"N/A"}),"admin"===e.role&&(0,t.jsx)(T.Badge,{variant:"default",className:"text-xs",children:i.admin?.admin||"管理员"})]})}),(0,t.jsx)("td",{className:"p-3 text-muted-foreground",children:e.email}),(0,t.jsx)("td",{className:"p-3 text-center",children:e.notebookCount}),(0,t.jsx)("td",{className:"p-3 text-center font-medium",children:e.errorCount}),(0,t.jsx)("td",{className:"p-3 text-center",children:e.practiceCount}),(0,t.jsx)("td",{className:"p-3 text-center",children:(0,t.jsx)(T.Badge,{variant:e.isActive?"default":"destructive",className:"text-xs",children:e.isActive?i.admin?.active||"启用":i.admin?.disabled||"禁用"})}),(0,t.jsx)("td",{className:"p-3 text-center text-muted-foreground text-xs",children:(0,n.formatDateTime)(e.createdAt,"yyyy-MM-dd",r)}),(0,t.jsx)("td",{className:"p-3 text-center",children:(0,t.jsx)(C.Button,{variant:"ghost",size:"sm",onClick:()=>a(e.id),title:i.admin?.dashboard?.viewDetail||"查看详情",children:(0,t.jsx)(v.Eye,{className:"h-4 w-4"})})})]},e.id))})]})}),(0,t.jsx)("div",{className:"md:hidden space-y-3",children:e.map(e=>(0,t.jsx)(k.Card,{className:"border-0 shadow-sm",children:(0,t.jsxs)(k.CardContent,{className:"p-4",children:[(0,t.jsxs)("div",{className:"flex justify-between items-start cursor-pointer",onClick:()=>o(c===e.id?null:e.id),children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"font-medium",children:e.name||"N/A"}),"admin"===e.role&&(0,t.jsx)(T.Badge,{variant:"default",className:"text-xs",children:i.admin?.admin||"管理员"})]}),(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:e.email})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(T.Badge,{variant:e.isActive?"default":"destructive",className:"text-xs",children:e.isActive?i.admin?.active||"启用":i.admin?.disabled||"禁用"}),c===e.id?(0,t.jsx)(N.ChevronUp,{className:"h-4 w-4 text-muted-foreground"}):(0,t.jsx)(f.ChevronDown,{className:"h-4 w-4 text-muted-foreground"})]})]}),c===e.id&&(0,t.jsxs)("div",{className:"mt-3 pt-3 border-t grid grid-cols-3 gap-3 text-center",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-lg font-bold",children:e.notebookCount}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:i.admin?.dashboard?.notebooks||"错题本"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-lg font-bold text-red-500",children:e.errorCount}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:i.admin?.dashboard?.errors||"错题"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-lg font-bold text-green-500",children:e.practiceCount}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:i.admin?.dashboard?.practice||"练习"})]})]}),c===e.id&&(0,t.jsxs)("div",{className:"mt-3 pt-3 border-t flex justify-between items-center",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:(0,n.formatDateTime)(e.createdAt,"yyyy-MM-dd",r)}),(0,t.jsxs)(C.Button,{variant:"ghost",size:"sm",onClick:()=>a(e.id),children:[(0,t.jsx)(v.Eye,{className:"h-4 w-4 mr-1"}),i.admin?.dashboard?.viewDetail||"查看详情"]})]})]})},e.id))})]})}e.s(["default",0,function(){let{data:e,status:l}=(0,a.useSession)(),n=(0,r.useRouter)(),{t:x}=(0,d.useLanguage)(),[u,h]=(0,s.useState)(null);(0,i.usePageTitle)(x.admin.dashboard.title);let[g,j]=(0,s.useState)(!0),b=(0,s.useCallback)(async()=>{j(!0);try{let e=await c.apiClient.get("/api/admin/dashboard");h(e)}catch(e){console.error("Failed to fetch dashboard data",e)}finally{j(!1)}},[]);return((0,s.useEffect)(()=>{if("loading"!==l){if(!e?.user||"admin"!==e.user.role)return void n.push("/");b()}},[e,l,n,b]),"loading"===l||g)?(0,t.jsx)("div",{className:"flex items-center justify-center min-h-[60vh]",children:(0,t.jsx)(o.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):u?(0,t.jsxs)("div",{className:"max-w-6xl mx-auto space-y-6 px-4 py-6 md:px-8 md:py-8",children:[(0,t.jsx)(w.PageHeader,{title:x.admin?.dashboard?.title||"管理员仪表盘",description:x.admin?.dashboard?.subtitle||"查看全站用户和错题统计"}),(0,t.jsx)(D,{data:u,t:x}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,t.jsx)(M,{data:u,t:x}),(0,t.jsx)(B,{data:u,t:x})]}),(0,t.jsx)(A,{data:u,t:x}),(0,t.jsxs)(k.Card,{className:"border-0 shadow-sm",children:[(0,t.jsxs)(k.CardHeader,{className:"pb-2",children:[(0,t.jsxs)(k.CardTitle,{className:"text-lg flex items-center gap-2",children:[(0,t.jsx)(m,{className:"h-5 w-5 text-blue-500"}),x.admin?.dashboard?.userList||"用户列表"]}),(0,t.jsx)(k.CardDescription,{children:x.admin?.dashboard?.userListDesc||"所有注册用户的错题录入情况"})]}),(0,t.jsx)(k.CardContent,{children:(0,t.jsx)(L,{users:u.userStats,onViewDetail:e=>n.push(`/admin/user/${e}`)})})]})]}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[60vh] gap-4",children:[(0,t.jsx)("p",{className:"text-muted-foreground",children:x.common?.error||"加载失败"}),(0,t.jsx)(C.Button,{onClick:b,children:x.admin?.dashboard?.retry||"重试"})]})}],72906)},90546,e=>{"use strict";var t=e.i(18050),s=e.i(18566),a=e.i(19455),r=e.i(71689);e.s(["BackButton",0,function({fallbackUrl:e,className:d}){let i=(0,s.useRouter)();return(0,t.jsx)(a.Button,{variant:"ghost",size:"icon",onClick:()=>{i.push(e)},className:d,children:(0,t.jsx)(r.ArrowLeft,{className:"h-5 w-5"})})}])},15288,e=>{"use strict";var t=e.i(18050),s=e.i(75157);e.s(["Card",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,s.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...a})},"CardContent",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,s.cn)("px-6",e),...a})},"CardDescription",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...a})},"CardHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,s.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...a})},"CardTitle",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,s.cn)("leading-none font-semibold",e),...a})}])},93842,e=>{"use strict";var t=e.i(18050),s=e.i(90546),a=e.i(75157);e.s(["PageHeader",0,function({title:e,description:r,backHref:d,actions:i,titleAddon:l,className:n}){return(0,t.jsxs)("div",{className:(0,a.cn)("flex items-start gap-3",n),children:[d&&(0,t.jsx)(s.BackButton,{fallbackUrl:d,className:"-ml-2 shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("h1",{className:"truncate text-2xl font-bold tracking-tight sm:text-3xl",children:e}),l]}),r&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground sm:text-base",children:r})]}),i&&(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:i})]})}])},35209,e=>{"use strict";var t=e.i(71645),s=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t:a}=(0,s.useLanguage)(),r=[a.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,t.useEffect)(()=>{document.title=r},[r])}])}]);
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,16474,(e,a,t)=>{"use strict";t.__esModule=!0,t.default=function(e,a){if(e&&a){var t=Array.isArray(a)?a:a.split(",");if(0===t.length)return!0;var i=e.name||"",n=(e.type||"").toLowerCase(),o=n.replace(/\/.*$/,"");return t.some(function(e){var a=e.trim().toLowerCase();return"."===a.charAt(0)?i.toLowerCase().endsWith(a):a.endsWith("/*")?o===a.replace(/\/.*$/,""):n===a})}return!0}},74558,85873,e=>{"use strict";let a=(0,e.i(75254).default)("pen-line",[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]]);e.s(["default",0,a],85873),e.s(["PenLine",0,a],74558)},32189,(e,a,t)=>{"use strict";a.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},65156,(e,a,t)=>{"use strict";var i=e.r(32189);function n(){}function o(){}o.resetWarningCache=n,a.exports=function(){function e(e,a,t,n,o,p){if(p!==i){var l=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function a(){return e}e.isRequired=e;var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:a,element:e,elementType:e,instanceOf:a,node:e,objectOf:a,oneOf:a,oneOfType:a,shape:a,exact:a,checkPropTypes:o,resetWarningCache:n};return t.PropTypes=t,t}},45009,(e,a,t)=>{e.i(47167),a.exports=e.r(65156)()},17448,30634,64002,47819,e=>{"use strict";var a=e.i(18050),t=e.i(71645),i=e.i(15288),n=e.i(19455),o=e.i(24687),p=e.i(10204),l=e.i(31278),r=e.i(74558),s=e.i(83086),c=e.i(11110);e.s(["TextInputZone",0,function({onSubmit:e,isAnalyzing:d,defaultNotebookName:m}){let{t:u}=(0,c.useLanguage)(),[x,v]=(0,t.useState)(""),f=async()=>{x.trim()&&await e(x.trim())};return(0,a.jsx)(i.Card,{className:"rounded-2xl",children:(0,a.jsxs)(i.CardContent,{className:"p-6 space-y-4",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground mb-2",children:[(0,a.jsx)(r.PenLine,{className:"h-5 w-5"}),(0,a.jsx)("span",{className:"text-sm font-medium",children:u.app?.textInputHint||"手动输入题目文本"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(p.Label,{htmlFor:"question-text",children:u.editor?.question||"题目内容"}),(0,a.jsx)(o.Textarea,{id:"question-text",value:x,onChange:e=>v(e.target.value),onKeyDown:e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),x.trim()&&!d&&f())},placeholder:u.app?.textInputPlaceholder||"在此粘贴或输入题目文本...\n支持 Markdown 和 LaTeX 公式(如 $x^2 + y^2 = 1$)\n\nCtrl+Enter 快捷提交",className:"min-h-[200px] font-mono text-sm resize-y",disabled:d})]}),m&&(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:[u.notebooks?.title||"错题本",": ",m]}),(0,a.jsx)(n.Button,{onClick:f,disabled:!x.trim()||d,className:"w-full bg-gradient-to-r from-indigo-600 to-violet-500 font-medium text-white hover:from-indigo-700 hover:to-violet-600",size:"lg",children:d?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(l.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),u.editor?.reanswering||"AI 解题中..."]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(s.Sparkles,{className:"mr-2 h-4 w-4"}),u.app?.aiSolve||"AI 解题"]})}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground text-center",children:u.app?.textInputTip||"输入题目后,AI 将自动解答并生成解析"})]})})}],17448);var d=e.i(22016),m=e.i(69638),u=e.i(37727);e.s(["ImportResultBanner",0,function({imported:e,onDismiss:t}){let{t:i}=(0,c.useLanguage)(),o=(e.duplicate?i.importFlow.duplicate:i.importFlow.imported).replace("{notebook}",e.notebookName||"-").replace("{id}",e.shortId||"-");return(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center gap-3 rounded-lg border border-green-300 bg-green-50 p-3 text-sm text-green-800",role:"status",children:[(0,a.jsxs)("span",{className:"flex items-start gap-2 flex-1",children:[(0,a.jsx)(m.CheckCircle,{className:"h-4 w-4 mt-0.5 shrink-0"}),o]}),(0,a.jsxs)("div",{className:"flex gap-2 shrink-0",children:[(0,a.jsx)(d.default,{href:`/error-items/${e.id}`,children:(0,a.jsx)(n.Button,{size:"sm",variant:"outline",className:"bg-white",children:i.importFlow.viewItem})}),(0,a.jsx)(n.Button,{size:"icon",variant:"ghost",className:"h-8 w-8",onClick:t,"aria-label":i.detail.close,children:(0,a.jsx)(u.X,{className:"h-4 w-4"})})]})]})}],30634);var x=e.i(67240),v=e.i(73884),f=e.i(1276),g=e.i(41931),h=e.i(28928);async function b(){try{return!!(await g.apiClient.get("/api/user")).confirmBeforeImport}catch{return!1}}async function w(e,a){let t=await g.apiClient.post("/api/analyze",{imageBase64:e,language:a.language,subjectId:a.subjectId||void 0},{timeout:a.timeout});if(!t||"object"!=typeof t)throw Error("Invalid API response: data is null or not an object");return t}async function y(e,a){let t=await g.apiClient.post("/api/error-items",{questionText:e.questionText,answerText:e.answerText,analysis:e.analysis,wrongAnswerText:e.wrongAnswerText||null,mistakeAnalysis:e.mistakeAnalysis||null,mistakeStatus:e.mistakeStatus||"unknown",knowledgePoints:e.knowledgePoints||[],difficultyStars:e.difficultyStars??null,hasFigure:e.hasFigure??!1,figureSvg:e.figureSvg??null,subjectId:a.subjectId||void 0,subjectName:a.subjectId?void 0:e.subject,originalImageUrl:a.imageUrl||""});return{id:t.id,shortId:t.shortId??null,subjectId:t.subjectId??null,notebookName:t.subject?.name??null,duplicate:t.duplicate}}async function j(e,a){let t=await (0,h.processImageFile)(e instanceof File?e:new File([e],"question.jpg",{type:e.type||"image/jpeg"}));a.onStage?.("analyzing");let i=await w(t,a);return a.onStage?.("saving"),y(i,{subjectId:a.subjectId,imageUrl:t})}function k({item:e}){let{t}=(0,c.useLanguage)(),i=t.batchImport.status[e.status];return"success"===e.status?(0,a.jsxs)("span",{className:"flex items-start gap-1 text-green-700",children:[(0,a.jsx)(m.CheckCircle,{className:"h-4 w-4 shrink-0 mt-0.5"}),e.imported?.duplicate?t.importFlow.duplicate:i]}):"failed"===e.status?(0,a.jsxs)("span",{className:"flex items-center gap-1 text-destructive",children:[(0,a.jsx)(v.XCircle,{className:"h-4 w-4"}),i]}):(0,a.jsxs)("span",{className:"flex items-center gap-1 text-muted-foreground",children:["pending"!==e.status&&(0,a.jsx)(l.Loader2,{className:"h-4 w-4 animate-spin"}),i]})}function S({blob:e}){let i=(0,t.useRef)(null);return(0,t.useEffect)(()=>{let a=URL.createObjectURL(e);return i.current&&(i.current.src=a),()=>URL.revokeObjectURL(a)},[e]),(0,a.jsx)("img",{ref:i,alt:"",className:"h-20 w-20 shrink-0 rounded object-contain bg-muted"})}e.s(["fetchConfirmBeforeImport",0,b,"importQuestionImage",0,j,"saveParsedQuestion",0,y],64002),e.s(["BatchImportPanel",0,function({blobs:e,subjectId:o,timeout:p,onClose:l}){let{t:r,language:s}=(0,c.useLanguage)(),[m,u]=(0,t.useState)(()=>e.map(()=>({status:"pending"}))),v=(0,t.useRef)(!1),g=(0,t.useCallback)((e,a)=>{u(t=>t.map((t,i)=>i===e?{...t,...a}:t))},[]),h=(0,t.useCallback)(async a=>{g(a,{status:"analyzing",error:void 0});try{let t=await j(e[a],{language:s,subjectId:o,timeout:p,onStage:e=>g(a,{status:e})});g(a,{status:"success",imported:t})}catch(n){let e=n?.data,t=e?.message||(n instanceof Error?n.message:String(n)),i=r.errors[t];g(a,{status:"failed",error:"string"==typeof i?i:t}),f.frontendLogger.error("[BatchImport]","Question import failed",{index:a,error:t})}},[e,s,o,p,r.errors,g]),b=(0,t.useCallback)(async e=>{let a=[...e],t=async()=>{for(;a.length>0;)await h(a.shift())};await Promise.all(Array.from({length:Math.min(3,a.length)},t))},[h]);(0,t.useEffect)(()=>{v.current||(v.current=!0,b(e.map((e,a)=>a)))},[e,b]);let w=m.filter(e=>"success"===e.status).length,y=m.flatMap((e,a)=>"failed"===e.status?[a]:[]),N=m.some(e=>"pending"===e.status||"analyzing"===e.status||"saving"===e.status);return(0,a.jsxs)(i.Card,{children:[(0,a.jsxs)(i.CardHeader,{className:"flex flex-row items-center justify-between gap-2 space-y-0",children:[(0,a.jsx)(i.CardTitle,{className:"text-base",children:r.batchImport.title}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:r.batchImport.summary.replace("{done}",String(w)).replace("{total}",String(m.length)).replace("{failed}",String(y.length))})]}),(0,a.jsxs)(i.CardContent,{className:"space-y-4",children:[(0,a.jsx)("ul",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:m.map((t,i)=>(0,a.jsxs)("li",{className:"flex gap-3 rounded-lg border p-3",children:[(0,a.jsx)(S,{blob:e[i]}),(0,a.jsxs)("div",{className:"min-w-0 flex-1 space-y-1 text-sm",children:[(0,a.jsx)("div",{className:"font-medium",children:r.batchImport.question.replace("{index}",String(i+1))}),(0,a.jsx)(k,{item:t}),"success"===t.status&&t.imported&&(0,a.jsxs)(d.default,{href:`/error-items/${t.imported.id}`,className:"block truncate text-xs text-primary hover:underline",children:[t.imported.notebookName," · ",t.imported.shortId]}),"failed"===t.status&&(0,a.jsxs)(a.Fragment,{children:[t.error&&(0,a.jsx)("p",{className:"line-clamp-2 text-xs text-destructive",children:t.error}),(0,a.jsxs)(n.Button,{size:"sm",variant:"outline",className:"h-7",onClick:()=>h(i),children:[(0,a.jsx)(x.RotateCcw,{className:"mr-1 h-3 w-3"}),r.batchImport.retry]})]})]})]},i))}),(0,a.jsxs)("div",{className:"flex flex-col-reverse sm:flex-row sm:justify-end gap-2",children:[y.length>1&&!N&&(0,a.jsxs)(n.Button,{variant:"outline",onClick:()=>b(y),children:[(0,a.jsx)(x.RotateCcw,{className:"mr-2 h-4 w-4"}),r.batchImport.retryFailed]}),(0,a.jsx)(n.Button,{onClick:l,disabled:N,children:r.batchImport.finish})]})]})]})}],47819)},56738,4843,e=>{"use strict";var a=e.i(18050),t=e.i(71645),i=e.i(31278),n=e.i(48425),o="Progress",[p,l]=function(e,i=[]){let n=[],o=()=>{let a=n.map(e=>t.createContext(e));return function(i){let n=i?.[e]||a;return t.useMemo(()=>({[`__scope${e}`]:{...i,[e]:n}}),[i,n])}};return o.scopeName=e,[function(i,o){let p=t.createContext(o);p.displayName=i+"Context";let l=n.length;n=[...n,o];let r=i=>{let{scope:n,children:o,...r}=i,s=n?.[e]?.[l]||p,c=t.useMemo(()=>r,Object.values(r));return(0,a.jsx)(s.Provider,{value:c,children:o})};return r.displayName=i+"Provider",[r,function(a,n){let r=n?.[e]?.[l]||p,s=t.useContext(r);if(s)return s;if(void 0!==o)return o;throw Error(`\`${a}\` must be used within \`${i}\``)}]},function(...e){let a=e[0];if(1===e.length)return a;let i=()=>{let i=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let n=i.reduce((a,{useScope:t,scopeName:i})=>{let n=t(e)[`__scope${i}`];return{...a,...n}},{});return t.useMemo(()=>({[`__scope${a.scopeName}`]:n}),[n])}};return i.scopeName=a.scopeName,i}(o,...i)]}(o),[r,s]=p(o),c=t.forwardRef((e,t)=>{var i,o;let{__scopeProgress:p,value:l=null,max:s,getValueLabel:c=u,...d}=e;(s||0===s)&&!f(s)&&console.error((i=`${s}`,`Invalid prop \`max\` of value \`${i}\` supplied to \`Progress\`. Only numbers greater than 0 are valid max values. Defaulting to \`100\`.`));let m=f(s)?s:100;null===l||g(l,m)||console.error((o=`${l}`,`Invalid prop \`value\` of value \`${o}\` supplied to \`Progress\`. The \`value\` prop must be:
|
|
2
|
-
- a positive number
|
|
3
|
-
- less than the value passed to \`max\` (or 100 if no \`max\` prop is set)
|
|
4
|
-
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
5
|
-
|
|
6
|
-
Defaulting to \`null\`.`));let h=g(l,m)?l:null,b=v(h)?c(h,m):void 0;return(0,a.jsx)(r,{scope:p,value:h,max:m,children:(0,a.jsx)(n.Primitive.div,{"aria-valuemax":m,"aria-valuemin":0,"aria-valuenow":v(h)?h:void 0,"aria-valuetext":b,role:"progressbar","data-state":x(h,m),"data-value":h??void 0,"data-max":m,...d,ref:t})})});c.displayName=o;var d="ProgressIndicator",m=t.forwardRef((e,t)=>{let{__scopeProgress:i,...o}=e,p=s(d,i);return(0,a.jsx)(n.Primitive.div,{"data-state":x(p.value,p.max),"data-value":p.value??void 0,"data-max":p.max,...o,ref:t})});function u(e,a){return`${Math.round(e/a*100)}%`}function x(e,a){return null==e?"indeterminate":e===a?"complete":"loading"}function v(e){return"number"==typeof e}function f(e){return v(e)&&!isNaN(e)&&e>0}function g(e,a){return v(e)&&!isNaN(e)&&e<=a&&e>=0}m.displayName=d;var h=e.i(75157);let b=t.forwardRef(({className:e,value:t,...i},n)=>(0,a.jsx)(c,{ref:n,value:t,className:(0,h.cn)("relative h-4 w-full overflow-hidden rounded-full bg-secondary",e),...i,children:(0,a.jsx)(m,{className:"h-full w-full flex-1 bg-primary transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}})}));b.displayName=c.displayName;var w=e.i(11110);let y={compressing:10,uploading:20,analyzing:50,processing:85,saving:95};function j({status:e,message:n,className:o}){let p,{t:l}=(0,w.useLanguage)(),[r]=(0,t.useState)(()=>Date.now()),[s,c]=(0,t.useState)(0);(0,t.useEffect)(()=>{let e=setInterval(()=>{c(Math.max(0,Math.floor((Date.now()-r)/1e3)))},1e3);return()=>clearInterval(e)},[r]);let d=y[e],m=l.common.progress.estimated.replace("{percent}",String(d));return(0,a.jsx)("div",{className:(0,h.cn)("fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm",o),children:(0,a.jsx)("div",{className:"w-full max-w-md p-6 space-y-6 bg-card rounded-lg border shadow-lg mx-4",children:(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-4 text-center",children:[(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)(i.Loader2,{className:"h-12 w-12 animate-spin text-primary"}),(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center"})]}),(0,a.jsxs)("div",{className:"space-y-2 w-full",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold tracking-tight","aria-live":"polite",children:n||l.common.progress[e]}),(0,a.jsx)(b,{value:d,"aria-label":m,"aria-valuetext":m,className:"h-2 w-full"})]}),(0,a.jsxs)("div",{className:"flex w-full flex-wrap items-center justify-between gap-2 text-sm text-muted-foreground tabular-nums",children:[(0,a.jsx)("span",{children:m}),(0,a.jsx)("span",{role:"timer","aria-live":"off",children:l.common.progress.elapsed.replace("{time}",(p=[Math.floor(s/60)%60,s%60],s>=3600&&p.unshift(Math.floor(s/3600)),p.map(e=>String(e).padStart(2,"0")).join(":")))})]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:l.common.progress.estimateHint})]})})})}e.s(["ProgressFeedback",0,function({status:e,message:i,className:n}){let[o,p]=(0,t.useState)(!1);return((0,t.useEffect)(()=>{p(!0)},[]),o&&"idle"!==e)?(0,a.jsx)(j,{status:e,message:i,className:n}):null}],56738),e.s(["SegmentedControl",0,function({options:e,value:t,onChange:i,className:n}){return(0,a.jsx)("div",{className:(0,h.cn)("grid gap-1 rounded-xl bg-muted p-1",n),style:{gridTemplateColumns:`repeat(${e.length}, minmax(0, 1fr))`},role:"tablist",children:e.map(({value:e,label:n,icon:o})=>{let p=e===t;return(0,a.jsxs)("button",{type:"button",role:"tab","aria-selected":p,className:(0,h.cn)("flex items-center justify-center gap-1.5 rounded-lg px-2 py-2.5 text-sm font-medium transition-all",p?"bg-card text-primary shadow-sm":"text-muted-foreground hover:text-foreground"),onClick:()=>i(e),children:[o&&(0,a.jsx)(o,{className:"h-4 w-4 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:n})]},e)})})}],4843)},98469,78197,68553,e=>{"use strict";var a=e.i(18050),t=e.i(71645),i=e.i(45009),n=e.i(90571);let o=new Map([["1km","application/vnd.1000minds.decision-model+xml"],["3dml","text/vnd.in3d.3dml"],["3ds","image/x-3ds"],["3g2","video/3gpp2"],["3gp","video/3gp"],["3gpp","video/3gpp"],["3mf","model/3mf"],["7z","application/x-7z-compressed"],["7zip","application/x-7z-compressed"],["123","application/vnd.lotus-1-2-3"],["aab","application/x-authorware-bin"],["aac","audio/x-acc"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abw","application/x-abiword"],["ac","application/vnd.nokia.n-gage.ac+xml"],["ac3","audio/ac3"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acu","application/vnd.acucobol"],["acutc","application/vnd.acucorp"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afm","application/x-font-type1"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/pdf"],["aif","audio/x-aiff"],["aifc","audio/x-aiff"],["aiff","audio/x-aiff"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["amr","audio/amr"],["apk","application/vnd.android.package-archive"],["apng","image/apng"],["appcache","text/cache-manifest"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["arc","application/x-freearc"],["arj","application/x-arj"],["asc","application/pgp-signature"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asx","video/x-ms-asf"],["atc","application/vnd.acucorp"],["atom","application/atom+xml"],["atomcat","application/atomcat+xml"],["atomdeleted","application/atomdeleted+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au","audio/x-au"],["avi","video/x-msvideo"],["avif","image/avif"],["aw","application/applixware"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azv","image/vnd.airzip.accelerator.azv"],["azw","application/vnd.amazon.ebook"],["b16","image/vnd.pco.b16"],["bat","application/x-msdownload"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bdoc","application/x-bdoc"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin","application/octet-stream"],["blb","application/x-blorb"],["blorb","application/x-blorb"],["bmi","application/vnd.bmi"],["bmml","application/vnd.balsamiq.bmml+xml"],["bmp","image/bmp"],["book","application/vnd.framemaker"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bpk","application/octet-stream"],["bpmn","application/octet-stream"],["bsp","model/vnd.valve.source.compiled-map"],["btif","image/prs.btif"],["buffer","application/octet-stream"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c","text/x-c"],["c4d","application/vnd.clonk.c4group"],["c4f","application/vnd.clonk.c4group"],["c4g","application/vnd.clonk.c4group"],["c4p","application/vnd.clonk.c4group"],["c4u","application/vnd.clonk.c4group"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["cab","application/vnd.ms-cab-compressed"],["caf","audio/x-caf"],["cap","application/vnd.tcpdump.pcap"],["car","application/vnd.curl.car"],["cat","application/vnd.ms-pki.seccat"],["cb7","application/x-cbr"],["cba","application/x-cbr"],["cbr","application/x-cbr"],["cbt","application/x-cbr"],["cbz","application/x-cbr"],["cc","text/x-c"],["cco","application/x-cocoa"],["cct","application/x-director"],["ccxml","application/ccxml+xml"],["cdbcmsg","application/vnd.contact.cmsg"],["cda","application/x-cdf"],["cdf","application/x-netcdf"],["cdfx","application/cdfx+xml"],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdr","application/cdr"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer","application/pkix-cert"],["cfs","application/x-cfs-compressed"],["cgm","image/cgm"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cjs","application/node"],["cla","application/vnd.claymore"],["class","application/octet-stream"],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod","application/vnd.rim.cod"],["coffee","text/coffeescript"],["com","application/x-msdownload"],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt","application/mac-compactpro"],["crd","application/x-mscardfile"],["crl","application/pkix-crl"],["crt","application/x-x509-ca-cert"],["crx","application/x-chrome-extension"],["cryptonote","application/vnd.rig.cryptonote"],["csh","application/x-csh"],["csl","application/vnd.citationstyles.style+xml"],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["csr","application/octet-stream"],["css","text/css"],["cst","application/x-director"],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxt","application/x-director"],["cxx","text/x-c"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["dart","application/vnd.dart"],["dataless","application/vnd.fdsn.seed"],["davmount","application/davmount+xml"],["dbf","application/vnd.dbf"],["dbk","application/docbook+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["ddf","application/vnd.syncml.dmddf+xml"],["dds","image/vnd.ms-dds"],["deb","application/x-debian-package"],["def","text/plain"],["deploy","application/octet-stream"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dgc","application/x-dgc-compressed"],["dic","text/x-c"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["disposition-notification","message/disposition-notification"],["dist","application/octet-stream"],["distz","application/octet-stream"],["djv","image/vnd.djvu"],["djvu","image/vnd.djvu"],["dll","application/octet-stream"],["dmg","application/x-apple-diskimage"],["dmn","application/octet-stream"],["dmp","application/vnd.tcpdump.pcap"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.template.macroEnabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroEnabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp","application/vnd.osgi.dp"],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drle","image/dicom-rle"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dvb","video/vnd.dvb.file"],["dvi","application/x-dvi"],["dwd","application/atsc-dwd+xml"],["dwf","model/vnd.dwf"],["dwg","image/vnd.dwg"],["dxf","image/vnd.dxf"],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ear","application/java-archive"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["ecma","application/ecmascript"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["elc","application/octet-stream"],["emf","image/emf"],["eml","message/rfc822"],["emma","application/emma+xml"],["emotionml","application/emotionml+xml"],["emz","application/x-msmetafile"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es","application/ecmascript"],["es3","application/vnd.eszigno3+xml"],["esa","application/vnd.osgi.subsystem"],["esf","application/vnd.epson.esf"],["et3","application/vnd.eszigno3+xml"],["etx","text/x-setext"],["eva","application/x-eva"],["evy","application/x-envoy"],["exe","application/octet-stream"],["exi","application/exi"],["exp","application/express"],["exr","image/aces"],["ext","application/vnd.novadigm.ext"],["ez","application/andrew-inset"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f","text/x-fortran"],["f4v","video/mp4"],["f77","text/x-fortran"],["f90","text/x-fortran"],["fbs","image/vnd.fastbidsheet"],["fcdt","application/vnd.adobe.formscentral.fcdt"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fdt","application/fdt+xml"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fgd","application/x-director"],["fh","image/x-freehand"],["fh4","image/x-freehand"],["fh5","image/x-freehand"],["fh7","image/x-freehand"],["fhc","image/x-freehand"],["fig","application/x-xfig"],["fits","image/fits"],["flac","audio/x-flac"],["fli","video/x-fli"],["flo","application/vnd.micrografx.flo"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fnc","application/vnd.frogans.fnc"],["fo","application/vnd.software602.filler.form+xml"],["for","text/x-fortran"],["fpx","image/vnd.fpx"],["frame","application/vnd.framemaker"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fxpl","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gam","application/x-tads"],["gbr","application/rpki-ghostbusters"],["gca","application/x-gca-compressed"],["gdl","model/vnd.gdl"],["gdoc","application/vnd.google-apps.document"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["glb","model/gltf-binary"],["gltf","model/gltf+json"],["gml","application/gml+xml"],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gpg","application/gpg-keys"],["gph","application/vnd.flographit"],["gpx","application/gpx+xml"],["gqf","application/vnd.grafeq"],["gqs","application/vnd.grafeq"],["gram","application/srgs"],["gramps","application/x-gramps-xml"],["gre","application/vnd.geometry-explorer"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsf","application/x-font-ghostscript"],["gsheet","application/vnd.google-apps.spreadsheet"],["gslides","application/vnd.google-apps.presentation"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxf","application/gxf"],["gxt","application/vnd.geonext"],["gz","application/gzip"],["gzip","application/gzip"],["h","text/x-c"],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hbs","text/x-handlebars-template"],["hdd","application/x-virtualbox-hdd"],["hdf","application/x-hdf"],["heic","image/heic"],["heics","image/heic-sequence"],["heif","image/heif"],["heifs","image/heif-sequence"],["hej2","image/hej2k"],["held","application/atsc-held+xml"],["hh","text/x-c"],["hjson","application/hjson"],["hlp","application/winhlp"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx","application/mac-binhex40"],["hsj2","image/hsj2"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["icm","application/vnd.iccprofile"],["ico","image/x-icon"],["ics","text/calendar"],["ief","image/ief"],["ifb","text/calendar"],["ifm","application/vnd.shana.informed.formdata"],["iges","model/iges"],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs","model/iges"],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["img","application/octet-stream"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["in","text/plain"],["ini","text/plain"],["ink","application/inkml+xml"],["inkml","application/inkml+xml"],["install","application/x-install-instructions"],["iota","application/vnd.astraea-software.iota"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["iso","application/x-iso9660-image"],["itp","application/vnd.shana.informed.formtemplate"],["its","application/its+xml"],["ivp","application/vnd.immervision-ivp"],["ivu","application/vnd.immervision-ivu"],["jad","text/vnd.sun.j2me.app-descriptor"],["jade","text/jade"],["jam","application/vnd.jam"],["jar","application/java-archive"],["jardiff","application/x-java-archive-diff"],["java","text/x-java-source"],["jhc","image/jphc"],["jisp","application/vnd.jisp"],["jls","image/jls"],["jlt","application/vnd.hp-jlyt"],["jng","image/x-jng"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jp2","image/jp2"],["jpe","image/jpeg"],["jpeg","image/jpeg"],["jpf","image/jpx"],["jpg","image/jpeg"],["jpg2","image/jp2"],["jpgm","video/jpm"],["jpgv","video/jpeg"],["jph","image/jph"],["jpm","video/jpm"],["jpx","image/jpx"],["js","application/javascript"],["json","application/json"],["json5","application/json5"],["jsonld","application/ld+json"],["jsonl","application/jsonl"],["jsonml","application/jsonml+json"],["jsx","text/jsx"],["jxr","image/jxr"],["jxra","image/jxra"],["jxrs","image/jxrs"],["jxs","image/jxs"],["jxsc","image/jxsc"],["jxsi","image/jxsi"],["jxss","image/jxss"],["kar","audio/midi"],["karbon","application/vnd.kde.karbon"],["kdb","application/octet-stream"],["kdbx","application/x-keepass2"],["key","application/x-iwork-keynote-sffkey"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["knp","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["kpt","application/vnd.kde.kpresenter"],["kpxx","application/vnd.ds-keypoint"],["ksp","application/vnd.kde.kspread"],["ktr","application/vnd.kahootz"],["ktx","image/ktx"],["ktx2","image/ktx2"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["kwt","application/vnd.kde.kword"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["less","text/less"],["lgr","application/lgr+xml"],["lha","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["list3820","application/vnd.ibm.modcap"],["listafp","application/vnd.ibm.modcap"],["litcoffee","text/coffeescript"],["lnk","application/x-ms-shortcut"],["log","text/plain"],["lostxml","application/lost+xml"],["lrf","application/octet-stream"],["lrm","application/vnd.ms-lrm"],["ltf","application/vnd.frogans.ltf"],["lua","text/x-lua"],["luac","application/x-lua-bytecode"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh","application/octet-stream"],["m1v","video/mpeg"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3a","audio/mpeg"],["m3u","text/plain"],["m3u8","application/vnd.apple.mpegurl"],["m4a","audio/x-m4a"],["m4p","application/mp4"],["m4s","video/iso.segment"],["m4u","application/vnd.mpegurl"],["m4v","video/x-m4v"],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m21","application/mp21"],["ma","application/mathematica"],["mads","application/mads+xml"],["maei","application/mmt-aei+xml"],["mag","application/vnd.ecowin.chart"],["maker","application/vnd.framemaker"],["man","text/troff"],["manifest","text/cache-manifest"],["map","application/json"],["mar","application/octet-stream"],["markdown","text/markdown"],["mathml","application/mathml+xml"],["mb","application/mathematica"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc1","application/vnd.medcalcdata"],["mcd","application/vnd.mcd"],["mcurl","text/vnd.curl.mcurl"],["md","text/markdown"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["mdx","text/mdx"],["me","text/troff"],["mesh","model/mesh"],["meta4","application/metalink4+xml"],["metalink","application/metalink+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mft","application/rpki-manifest"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mid","audio/midi"],["midi","audio/midi"],["mie","application/x-mie"],["mif","application/vnd.mif"],["mime","message/rfc822"],["mj2","video/mj2"],["mjp2","video/mj2"],["mjs","application/javascript"],["mk3d","video/x-matroska"],["mka","audio/x-matroska"],["mkd","text/x-markdown"],["mks","video/x-matroska"],["mkv","video/x-matroska"],["mlp","application/vnd.dolby.mlp"],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mmf","application/vnd.smaf"],["mml","text/mathml"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mng","video/x-mng"],["mny","application/x-msmoney"],["mobi","application/x-mobipocket-ebook"],["mods","application/mods+xml"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2","audio/mpeg"],["mp2a","audio/mpeg"],["mp3","audio/mpeg"],["mp4","video/mp4"],["mp4a","audio/mp4"],["mp4s","application/mp4"],["mp4v","video/mp4"],["mp21","application/mp21"],["mpc","application/vnd.mophun.certificate"],["mpd","application/dash+xml"],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg","video/mpeg"],["mpg4","video/mp4"],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/vnd.ms-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","text/troff"],["mscml","application/mediaservercontrol+xml"],["mseed","application/vnd.fdsn.mseed"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msi","application/x-msdownload"],["msl","application/vnd.mobius.msl"],["msm","application/octet-stream"],["msp","application/octet-stream"],["msty","application/vnd.muvee.style"],["mtl","model/mtl"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musd","application/mmt-usd+xml"],["musicxml","application/vnd.recordare.musicxml+xml"],["mvb","application/x-msmediaview"],["mvt","application/vnd.mapbox-vector-tile"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxmf","audio/mobile-xmf"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nb","application/mathematica"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncx","application/x-dtbncx+xml"],["nfo","text/x-nfo"],["ngdat","application/vnd.nokia.n-gage.data"],["nitf","application/vnd.nitf"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nq","application/n-quads"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nt","application/n-triples"],["ntf","application/vnd.nitf"],["numbers","application/x-iwork-numbers-sffnumbers"],["nzb","application/x-nzb"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["obgx","application/vnd.openblox.game+xml"],["obj","model/obj"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogex","model/vnd.opengex"],["ogg","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omdoc","application/omdoc+xml"],["onepkg","application/onenote"],["onetmp","application/onenote"],["onetoc","application/onenote"],["onetoc2","application/onenote"],["opf","application/oebps-package+xml"],["opml","text/x-opml"],["oprc","application/vnd.palm"],["opus","audio/ogg"],["org","text/x-org"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["osm","application/vnd.openstreetmap.data+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","font/otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["ova","application/x-virtualbox-ova"],["ovf","application/x-virtualbox-ovf"],["owl","application/rdf+xml"],["oxps","application/oxps"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c","application/pkcs7-mime"],["p7m","application/pkcs7-mime"],["p7r","application/x-pkcs7-certreqresp"],["p7s","application/pkcs7-signature"],["p8","application/pkcs8"],["p10","application/x-pkcs10"],["p12","application/x-pkcs12"],["pac","application/x-ns-proxy-autoconfig"],["pages","application/x-iwork-pages-sffpages"],["pas","text/x-pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcap","application/vnd.tcpdump.pcap"],["pcf","application/x-font-pcf"],["pcl","application/vnd.hp-pcl"],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb","application/x-pilot"],["pde","text/x-processing"],["pdf","application/pdf"],["pem","application/x-x509-user-cert"],["pfa","application/x-font-type1"],["pfb","application/x-font-type1"],["pfm","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfx","application/x-pkcs12"],["pgm","image/x-portable-graymap"],["pgn","application/x-chess-pgn"],["pgp","application/pgp"],["php","application/x-httpd-php"],["php3","application/x-httpd-php"],["php4","application/x-httpd-php"],["phps","application/x-httpd-php-source"],["phtml","application/x-httpd-php"],["pic","image/x-pict"],["pkg","application/octet-stream"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pkpass","application/vnd.apple.pkpass"],["pl","application/x-perl"],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["pm","application/x-perl"],["pml","application/vnd.ctc-posml"],["png","image/png"],["pnm","image/x-portable-anymap"],["portpkg","application/vnd.macports.portpkg"],["pot","application/vnd.ms-powerpoint"],["potm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroEnabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps","application/vnd.ms-powerpoint"],["ppsm","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt","application/powerpoint"],["pptm","application/vnd.ms-powerpoint.presentation.macroEnabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["pqa","application/vnd.palm"],["prc","application/x-pilot"],["pre","application/vnd.lotus-freelance"],["prf","application/pics-rules"],["provx","application/provenance+xml"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd","application/x-photoshop"],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["pti","image/prs.pti"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pwn","application/vnd.3m.post-it-notes"],["pya","audio/vnd.ms-playready.media.pya"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qfx","application/vnd.intu.qfx"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qwd","application/vnd.quark.quarkxpress"],["qwt","application/vnd.quark.quarkxpress"],["qxb","application/vnd.quark.quarkxpress"],["qxd","application/vnd.quark.quarkxpress"],["qxl","application/vnd.quark.quarkxpress"],["qxt","application/vnd.quark.quarkxpress"],["ra","audio/x-realaudio"],["ram","audio/x-pn-realaudio"],["raml","application/raml+yaml"],["rapd","application/route-apd+xml"],["rar","application/x-rar"],["ras","image/x-cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["relo","application/p2p-overlay+xml"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["ris","application/x-research-info-systems"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm","audio/x-pn-realaudio"],["rmi","audio/midi"],["rmp","audio/x-pn-realaudio-plugin"],["rms","application/vnd.jcp.javame.midlet-rms"],["rmvb","application/vnd.rn-realmedia-vbr"],["rnc","application/relax-ng-compact-syntax"],["rng","application/xml"],["roa","application/rpki-roa"],["roff","text/troff"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsa","application/x-pkcs7"],["rsat","application/atsc-rsat+xml"],["rsd","application/rsd+xml"],["rsheet","application/urc-ressheet+xml"],["rss","application/rss+xml"],["rtf","text/rtf"],["rtx","text/richtext"],["run","application/x-makeself"],["rusd","application/route-usd+xml"],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["sass","text/x-sass"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm","application/vnd.lotus-screencam"],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["scss","text/x-scss"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkd","application/vnd.solent.sdkm+xml"],["sdkm","application/vnd.solent.sdkm+xml"],["sdp","application/sdp"],["sdw","application/vnd.stardivision.writer"],["sea","application/octet-stream"],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["senmlx","application/senml+xml"],["sensmlx","application/sensml+xml"],["ser","application/java-serialized-object"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sfv","text/x-sfv"],["sgi","image/sgi"],["sgl","application/vnd.stardivision.writer-global"],["sgm","text/sgml"],["sgml","text/sgml"],["sh","application/x-sh"],["shar","application/x-shar"],["shex","text/shex"],["shf","application/shf+xml"],["shtml","text/html"],["sid","image/x-mrsid-image"],["sieve","application/sieve"],["sig","application/pgp-signature"],["sil","audio/silk"],["silo","model/mesh"],["sis","application/vnd.symbian.install"],["sisx","application/vnd.symbian.install"],["sit","application/x-stuffit"],["sitx","application/x-stuffitx"],["siv","application/sieve"],["skd","application/vnd.koan"],["skm","application/vnd.koan"],["skp","application/vnd.koan"],["skt","application/vnd.koan"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slim","text/slim"],["slm","text/slim"],["sls","application/route-s-tsid+xml"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi","application/smil"],["smil","application/smil"],["smv","video/x-smv"],["smzip","application/vnd.stepmania.package"],["snd","audio/basic"],["snf","application/x-font-snf"],["so","application/octet-stream"],["spc","application/x-pkcs7-certificates"],["spdx","text/spdx"],["spf","application/vnd.yamaha.smaf-phrase"],["spl","application/x-futuresplash"],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spx","audio/ogg"],["sql","application/x-sql"],["src","application/x-wais-source"],["srt","application/x-subrip"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["ssdl","application/ssdl+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssml","application/ssml+xml"],["sst","application/octet-stream"],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl","model/stl"],["stpx","model/step+xml"],["stpxz","model/step-xml+zip"],["stpz","model/step+zip"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["styl","text/stylus"],["stylus","text/stylus"],["sub","text/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["susp","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svg","image/svg+xml"],["svgz","image/svg+xml"],["swa","application/x-director"],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["swidtag","application/swid+xml"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t","text/troff"],["t3","application/x-t3vm-image"],["t38","image/t38"],["taglet","application/vnd.mynfc"],["tao","application/vnd.tao.intent-module-archive"],["tap","image/vnd.tencent.tap"],["tar","application/x-tar"],["tcap","application/vnd.3gpp2.tcap"],["tcl","application/x-tcl"],["td","application/urc-targetdesc+xml"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["teicorpus","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text","text/plain"],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tfx","image/tiff-fx"],["tga","image/x-tga"],["tgz","application/x-tar"],["thmx","application/vnd.ms-officetheme"],["tif","image/tiff"],["tiff","image/tiff"],["tk","application/x-tcl"],["tmo","application/vnd.tmobile-livetv"],["toml","application/toml"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","text/troff"],["tra","application/vnd.trueapp"],["trig","application/trig"],["trm","application/x-msterminal"],["ts","video/mp2t"],["tsd","application/timestamped-data"],["tsv","text/tab-separated-values"],["ttc","font/collection"],["ttf","font/ttf"],["ttl","text/turtle"],["ttml","application/ttml+xml"],["twd","application/vnd.simtech-mindmapper"],["twds","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["u8dsn","message/global-delivery-status"],["u8hdr","message/global-headers"],["u8mdn","message/global-disposition-notification"],["u8msg","message/global"],["u32","application/x-authorware-bin"],["ubj","application/ubjson"],["udeb","application/x-debian-package"],["ufd","application/vnd.ufdl"],["ufdl","application/vnd.ufdl"],["ulx","application/x-glulx"],["umj","application/vnd.umajin"],["unityweb","application/vnd.unity"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["urls","text/uri-list"],["usdz","model/vnd.usdz+zip"],["ustar","application/x-ustar"],["utz","application/vnd.uiq.theme"],["uu","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvd","application/vnd.dece.data"],["uvf","application/vnd.dece.data"],["uvg","image/vnd.dece.graphic"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvt","application/vnd.dece.ttml+xml"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["uvva","audio/vnd.dece.audio"],["uvvd","application/vnd.dece.data"],["uvvf","application/vnd.dece.data"],["uvvg","image/vnd.dece.graphic"],["uvvh","video/vnd.dece.hd"],["uvvi","image/vnd.dece.graphic"],["uvvm","video/vnd.dece.mobile"],["uvvp","video/vnd.dece.pd"],["uvvs","video/vnd.dece.sd"],["uvvt","application/vnd.dece.ttml+xml"],["uvvu","video/vnd.uvvu.mp4"],["uvvv","video/vnd.dece.video"],["uvvx","application/vnd.dece.unspecified"],["uvvz","application/vnd.dece.zip"],["uvx","application/vnd.dece.unspecified"],["uvz","application/vnd.dece.zip"],["vbox","application/x-virtualbox-vbox"],["vbox-extpack","application/x-virtualbox-vbox-extpack"],["vcard","text/vcard"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vdi","application/x-virtualbox-vdi"],["vds","model/vnd.sap.vds"],["vhd","application/x-virtualbox-vhd"],["vis","application/vnd.visionary"],["viv","video/vnd.vivo"],["vlc","application/videolan"],["vmdk","application/x-virtualbox-vmdk"],["vob","video/x-ms-vob"],["vor","application/vnd.stardivision.writer"],["vox","application/x-authorware-bin"],["vrml","model/vrml"],["vsd","application/vnd.visio"],["vsf","application/vnd.vsf"],["vss","application/vnd.visio"],["vst","application/vnd.visio"],["vsw","application/vnd.visio"],["vtf","image/vnd.valve.source.texture"],["vtt","text/vtt"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w3d","application/x-director"],["wad","application/x-doom"],["wadl","application/vnd.sun.wadl+xml"],["war","application/java-archive"],["wasm","application/wasm"],["wav","audio/x-wav"],["wax","audio/x-ms-wax"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["wdp","image/vnd.ms-photo"],["weba","audio/webm"],["webapp","application/x-web-app-manifest+json"],["webm","video/webm"],["webmanifest","application/manifest+json"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf","image/wmf"],["wml","text/vnd.wap.wml"],["wmlc","application/wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-msmetafile"],["woff","font/woff"],["woff2","font/woff2"],["word","application/msword"],["wpd","application/vnd.wordperfect"],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wqd","application/vnd.wqd"],["wri","application/x-mswrite"],["wrl","model/vrml"],["wsc","message/vnd.wfa.wsc"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wtb","application/vnd.webturbo"],["wvx","video/x-ms-wvx"],["x3d","model/x3d+xml"],["x3db","model/x3d+fastinfoset"],["x3dbz","model/x3d+binary"],["x3dv","model/x3d-vrml"],["x3dvz","model/x3d+vrml"],["x3dz","model/x3d+xml"],["x32","application/x-authorware-bin"],["x_b","model/vnd.parasolid.transmit.binary"],["x_t","model/vnd.parasolid.transmit.text"],["xaml","application/xaml+xml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xav","application/xcap-att+xml"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm","image/x-xbitmap"],["xca","application/xcap-caps+xml"],["xcs","application/calendar+xml"],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xel","application/xcap-el+xml"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xht","application/xhtml+xml"],["xhtml","application/xhtml+xml"],["xhvml","application/xv+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla","application/vnd.ms-excel"],["xlam","application/vnd.ms-excel.addin.macroEnabled.12"],["xlc","application/vnd.ms-excel"],["xlf","application/xliff+xml"],["xlm","application/vnd.ms-excel"],["xls","application/vnd.ms-excel"],["xlsb","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroEnabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt","application/vnd.ms-excel"],["xltm","application/vnd.ms-excel.template.macroEnabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlw","application/vnd.ms-excel"],["xm","audio/xm"],["xml","application/xml"],["xns","application/xcap-ns+xml"],["xo","application/vnd.olpc-sugar"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpl","application/xproc+xml"],["xpm","image/x-xpixmap"],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xpx","application/vnd.intercon.formnet"],["xsd","application/xml"],["xsl","application/xml"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xul","application/vnd.mozilla.xul+xml"],["xvm","application/xv+xml"],["xvml","application/xv+xml"],["xwd","image/x-xwindowdump"],["xyz","chemical/x-xyz"],["xz","application/x-xz"],["yaml","text/yaml"],["yang","application/yang"],["yin","application/yin+xml"],["yml","text/yaml"],["ymp","text/x-suse-ymp"],["z","application/x-compress"],["z1","application/x-zmachine"],["z2","application/x-zmachine"],["z3","application/x-zmachine"],["z4","application/x-zmachine"],["z5","application/x-zmachine"],["z6","application/x-zmachine"],["z7","application/x-zmachine"],["z8","application/x-zmachine"],["zaz","application/vnd.zzazz.deck+xml"],["zip","application/zip"],["zir","application/vnd.zul"],["zirz","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zsh","text/x-scriptzsh"]]);function p(e,a,t){let i=function(e){let{name:a}=e;if(a&&-1!==a.lastIndexOf(".")&&!e.type){let t=a.split(".").pop().toLowerCase(),i=o.get(t);i&&Object.defineProperty(e,"type",{value:i,writable:!1,configurable:!1,enumerable:!0})}return e}(e),{webkitRelativePath:n}=e,p="string"==typeof a?a:"string"==typeof n&&n.length>0?n:`./${e.name}`;return"string"!=typeof i.path&&l(i,"path",p),void 0!==t&&Object.defineProperty(i,"handle",{value:t,writable:!1,configurable:!1,enumerable:!0}),l(i,"relativePath",p),i}function l(e,a,t){Object.defineProperty(e,a,{value:t,writable:!1,configurable:!1,enumerable:!0})}let r=[".DS_Store","Thumbs.db"];function s(e){return"object"==typeof e&&null!==e}function c(e){return e.filter(e=>-1===r.indexOf(e.name))}function d(e){if(null===e)return[];let a=[];for(let t=0;t<e.length;t++){let i=e[t];a.push(i)}return a}function m(e){if("function"!=typeof e.webkitGetAsEntry)return u(e);let a=e.webkitGetAsEntry();return a&&a.isDirectory?v(a):u(e,a)}function u(e,a){return(0,n.__awaiter)(this,void 0,void 0,function*(){var t;if(globalThis.isSecureContext&&"function"==typeof e.getAsFileSystemHandle){let a=yield e.getAsFileSystemHandle();if(null===a)throw Error(`${e} is not a File`);if(void 0!==a){let e=yield a.getFile();return e.handle=a,p(e)}}let i=e.getAsFile();if(!i)throw Error(`${e} is not a File`);return p(i,null!=(t=null==a?void 0:a.fullPath)?t:void 0)})}function x(e){return(0,n.__awaiter)(this,void 0,void 0,function*(){return e.isDirectory?v(e):function(e){return(0,n.__awaiter)(this,void 0,void 0,function*(){return new Promise((a,t)=>{e.file(t=>{a(p(t,e.fullPath))},e=>{t(e)})})})}(e)})}function v(e){let a=e.createReader();return new Promise((e,t)=>{let i=[];!function o(){a.readEntries(a=>(0,n.__awaiter)(this,void 0,void 0,function*(){if(a.length){let e=Promise.all(a.map(x));i.push(e),o()}else try{let a=yield Promise.all(i);e(a)}catch(e){t(e)}}),e=>{t(e)})}()})}var f=e.i(16474);function g(e){return function(e){if(Array.isArray(e))return k(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||j(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,i)}return t}function b(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?h(Object(t),!0).forEach(function(a){w(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):h(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}return e}function w(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function y(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){var t,i,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],p=!0,l=!1;try{for(n=n.call(e);!(p=(t=n.next()).done)&&(o.push(t.value),!a||o.length!==a);p=!0);}catch(e){l=!0,i=e}finally{try{p||null==n.return||n.return()}finally{if(l)throw i}}return o}}(e,a)||j(e,a)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,a){if(e){if("string"==typeof e)return k(e,a);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return k(e,a)}}function k(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,i=Array(a);t<a;t++)i[t]=e[t];return i}var S="function"==typeof f.default?f.default:f.default.default,N=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=e.split(","),t=a.length>1?"one of ".concat(a.join(", ")):a[0];return{code:"file-invalid-type",message:"File type must be ".concat(t)}},C=function(e){return{code:"file-too-large",message:"File is larger than ".concat(e," ").concat(1===e?"byte":"bytes")}},z=function(e){return{code:"file-too-small",message:"File is smaller than ".concat(e," ").concat(1===e?"byte":"bytes")}},A={code:"too-many-files",message:"Too many files"};function D(e,a){var t="application/x-moz-file"===e.type||S(e,a);return[t,t?null:N(a)]}function E(e,a,t){if(T(e.size)){if(T(a)&&T(t)){if(e.size>t)return[!1,C(t)];if(e.size<a)return[!1,z(a)]}else if(T(a)&&e.size<a)return[!1,z(a)];else if(T(t)&&e.size>t)return[!1,C(t)]}return[!0,null]}function T(e){return null!=e}function O(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function I(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return"Files"===e||"application/x-moz-file"===e}):!!e.target&&!!e.target.files}function F(e){e.preventDefault()}function P(){for(var e=arguments.length,a=Array(e),t=0;t<e;t++)a[t]=arguments[t];return function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return a.some(function(a){return!O(e)&&a&&a.apply(void 0,[e].concat(i)),O(e)})}}function q(e){return"audio/*"===e||"video/*"===e||"image/*"===e||"text/*"===e||"application/*"===e||/\w+\/[-+.\w]+/g.test(e)}function R(e){return/^.*\.[\w]+$/.test(e)}var L=["children"],_=["open"],M=["refKey","role","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"],B=["refKey","onChange","onClick"];function $(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){var t,i,n=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o=[],p=!0,l=!1;try{for(n=n.call(e);!(p=(t=n.next()).done)&&(o.push(t.value),!a||o.length!==a);p=!0);}catch(e){l=!0,i=e}finally{try{p||null==n.return||n.return()}finally{if(l)throw i}}return o}}(e,a)||H(e,a)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e,a){if(e){if("string"==typeof e)return G(e,a);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return G(e,a)}}function G(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,i=Array(a);t<a;t++)i[t]=e[t];return i}function U(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);a&&(i=i.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,i)}return t}function K(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?U(Object(t),!0).forEach(function(a){W(e,a,t[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):U(Object(t)).forEach(function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))})}return e}function W(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function X(e,a){if(null==e)return{};var t,i,n=function(e,a){if(null==e)return{};var t,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)t=o[i],a.indexOf(t)>=0||(n[t]=e[t]);return n}(e,a);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)t=o[i],!(a.indexOf(t)>=0)&&Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}var J=(0,t.forwardRef)(function(e,a){var i=e.children,n=Y(X(e,L)),o=n.open,p=X(n,_);return(0,t.useImperativeHandle)(a,function(){return{open:o}},[o]),t.default.createElement(t.Fragment,null,i(K(K({},p),{},{open:o})))});J.displayName="Dropzone";var Q={disabled:!1,getFilesFromEvent:function(e){return(0,n.__awaiter)(this,void 0,void 0,function*(){var a;if(s(e)&&s(e.dataTransfer))return function(e,a){return(0,n.__awaiter)(this,void 0,void 0,function*(){if(e.items){let t=d(e.items).filter(e=>"file"===e.kind);return"drop"!==a?t:c(function e(a){return a.reduce((a,t)=>[...a,...Array.isArray(t)?e(t):[t]],[])}((yield Promise.all(t.map(m)))))}return c(d(e.files).map(e=>p(e)))})}(e.dataTransfer,e.type);if(s(a=e)&&s(a.target))return d(e.target.files).map(e=>p(e));return Array.isArray(e)&&e.every(e=>"getFile"in e&&"function"==typeof e.getFile)?function(e){return(0,n.__awaiter)(this,void 0,void 0,function*(){return(yield Promise.all(e.map(e=>e.getFile()))).map(e=>p(e))})}(e):[]})},maxSize:1/0,minSize:0,multiple:!0,maxFiles:0,preventDropOnDocument:!0,noClick:!1,noKeyboard:!1,noDrag:!1,noDragEventsBubbling:!1,validator:null,useFsAccessApi:!1,autoFocus:!1};J.defaultProps=Q,J.propTypes={children:i.default.func,accept:i.default.objectOf(i.default.arrayOf(i.default.string)),multiple:i.default.bool,preventDropOnDocument:i.default.bool,noClick:i.default.bool,noKeyboard:i.default.bool,noDrag:i.default.bool,noDragEventsBubbling:i.default.bool,minSize:i.default.number,maxSize:i.default.number,maxFiles:i.default.number,disabled:i.default.bool,getFilesFromEvent:i.default.func,onFileDialogCancel:i.default.func,onFileDialogOpen:i.default.func,useFsAccessApi:i.default.bool,autoFocus:i.default.bool,onDragEnter:i.default.func,onDragLeave:i.default.func,onDragOver:i.default.func,onDrop:i.default.func,onDropAccepted:i.default.func,onDropRejected:i.default.func,onError:i.default.func,validator:i.default.func};var V={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,acceptedFiles:[],fileRejections:[]};function Y(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=K(K({},Q),e),i=a.accept,n=a.disabled,o=a.getFilesFromEvent,p=a.maxSize,l=a.minSize,r=a.multiple,s=a.maxFiles,c=a.onDragEnter,d=a.onDragLeave,m=a.onDragOver,u=a.onDrop,x=a.onDropAccepted,v=a.onDropRejected,f=a.onFileDialogCancel,h=a.onFileDialogOpen,j=a.useFsAccessApi,k=a.autoFocus,S=a.preventDropOnDocument,N=a.noClick,C=a.noKeyboard,z=a.noDrag,L=a.noDragEventsBubbling,_=a.onError,U=a.validator,J=(0,t.useMemo)(function(){return T(i)?Object.entries(i).reduce(function(e,a){var t=y(a,2),i=t[0],n=t[1];return[].concat(g(e),[i],g(n))},[]).filter(function(e){return q(e)||R(e)}).join(","):void 0},[i]),Y=(0,t.useMemo)(function(){return T(i)?[{description:"Files",accept:Object.entries(i).filter(function(e){var a=y(e,2),t=a[0],i=a[1],n=!0;return q(t)||(console.warn('Skipped "'.concat(t,'" because it is not a valid MIME type. Check https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types for a list of valid MIME types.')),n=!1),Array.isArray(i)&&i.every(R)||(console.warn('Skipped "'.concat(t,'" because an invalid file extension was provided.')),n=!1),n}).reduce(function(e,a){var t=y(a,2),i=t[0],n=t[1];return b(b({},e),{},w({},i,n))},{})}]:i},[i]),ea=(0,t.useMemo)(function(){return"function"==typeof h?h:ee},[h]),et=(0,t.useMemo)(function(){return"function"==typeof f?f:ee},[f]),ei=(0,t.useRef)(null),en=(0,t.useRef)(null),eo=$((0,t.useReducer)(Z,V),2),ep=eo[0],el=eo[1],er=ep.isFocused,es=ep.isFileDialogActive,ec=(0,t.useRef)("u">typeof window&&window.isSecureContext&&j&&"showOpenFilePicker"in window),ed=function(){!ec.current&&es&&setTimeout(function(){en.current&&(en.current.files.length||(el({type:"closeDialog"}),et()))},300)};(0,t.useEffect)(function(){return window.addEventListener("focus",ed,!1),function(){window.removeEventListener("focus",ed,!1)}},[en,es,et,ec]);var em=(0,t.useRef)([]),eu=function(e){ei.current&&ei.current.contains(e.target)||(e.preventDefault(),em.current=[])};(0,t.useEffect)(function(){return S&&(document.addEventListener("dragover",F,!1),document.addEventListener("drop",eu,!1)),function(){S&&(document.removeEventListener("dragover",F),document.removeEventListener("drop",eu))}},[ei,S]),(0,t.useEffect)(function(){return!n&&k&&ei.current&&ei.current.focus(),function(){}},[ei,k,n]);var ex=(0,t.useCallback)(function(e){_?_(e):console.error(e)},[_]),ev=(0,t.useCallback)(function(e){var a;e.preventDefault(),e.persist(),eA(e),em.current=[].concat(function(e){if(Array.isArray(e))return G(e)}(a=em.current)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||H(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[e.target]),I(e)&&Promise.resolve(o(e)).then(function(a){if(!O(e)||L){var t,i,n,o,d,m,u,x,v=a.length,f=v>0&&(i=(t={files:a,accept:J,minSize:l,maxSize:p,multiple:r,maxFiles:s,validator:U}).files,n=t.accept,o=t.minSize,d=t.maxSize,m=t.multiple,u=t.maxFiles,x=t.validator,(!!m||!(i.length>1))&&(!m||!(u>=1)||!(i.length>u))&&i.every(function(e){var a=y(D(e,n),1)[0],t=y(E(e,o,d),1)[0],i=x?x(e):null;return a&&t&&!i}));el({isDragAccept:f,isDragReject:v>0&&!f,isDragActive:!0,type:"setDraggedFiles"}),c&&c(e)}}).catch(function(e){return ex(e)})},[o,c,ex,L,J,l,p,r,s,U]),ef=(0,t.useCallback)(function(e){e.preventDefault(),e.persist(),eA(e);var a=I(e);if(a&&e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return a&&m&&m(e),!1},[m,L]),eg=(0,t.useCallback)(function(e){e.preventDefault(),e.persist(),eA(e);var a=em.current.filter(function(e){return ei.current&&ei.current.contains(e)}),t=a.indexOf(e.target);-1!==t&&a.splice(t,1),em.current=a,!(a.length>0)&&(el({type:"setDraggedFiles",isDragActive:!1,isDragAccept:!1,isDragReject:!1}),I(e)&&d&&d(e))},[ei,d,L]),eh=(0,t.useCallback)(function(e,a){var t=[],i=[];e.forEach(function(e){var a=$(D(e,J),2),n=a[0],o=a[1],r=$(E(e,l,p),2),s=r[0],c=r[1],d=U?U(e):null;if(n&&s&&!d)t.push(e);else{var m=[o,c];d&&(m=m.concat(d)),i.push({file:e,errors:m.filter(function(e){return e})})}}),(!r&&t.length>1||r&&s>=1&&t.length>s)&&(t.forEach(function(e){i.push({file:e,errors:[A]})}),t.splice(0)),el({acceptedFiles:t,fileRejections:i,isDragReject:i.length>0,type:"setFiles"}),u&&u(t,i,a),i.length>0&&v&&v(i,a),t.length>0&&x&&x(t,a)},[el,r,J,l,p,s,u,x,v,U]),eb=(0,t.useCallback)(function(e){e.preventDefault(),e.persist(),eA(e),em.current=[],I(e)&&Promise.resolve(o(e)).then(function(a){(!O(e)||L)&&eh(a,e)}).catch(function(e){return ex(e)}),el({type:"reset"})},[o,eh,ex,L]),ew=(0,t.useCallback)(function(){if(ec.current){el({type:"openDialog"}),ea(),window.showOpenFilePicker({multiple:r,types:Y}).then(function(e){return o(e)}).then(function(e){eh(e,null),el({type:"closeDialog"})}).catch(function(e){e instanceof DOMException&&("AbortError"===e.name||e.code===e.ABORT_ERR)?(et(e),el({type:"closeDialog"})):e instanceof DOMException&&("SecurityError"===e.name||e.code===e.SECURITY_ERR)?(ec.current=!1,en.current?(en.current.value=null,en.current.click()):ex(Error("Cannot open the file picker because the https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API is not supported and no <input> was provided."))):ex(e)});return}en.current&&(el({type:"openDialog"}),ea(),en.current.value=null,en.current.click())},[el,ea,et,j,eh,ex,Y,r]),ey=(0,t.useCallback)(function(e){ei.current&&ei.current.isEqualNode(e.target)&&(" "===e.key||"Enter"===e.key||32===e.keyCode||13===e.keyCode)&&(e.preventDefault(),ew())},[ei,ew]),ej=(0,t.useCallback)(function(){el({type:"focus"})},[]),ek=(0,t.useCallback)(function(){el({type:"blur"})},[]),eS=(0,t.useCallback)(function(){N||(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return -1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/")}()?setTimeout(ew,0):ew())},[N,ew]),eN=function(e){return n?null:e},eC=function(e){return C?null:eN(e)},ez=function(e){return z?null:eN(e)},eA=function(e){L&&e.stopPropagation()},eD=(0,t.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.refKey,t=e.role,i=e.onKeyDown,o=e.onFocus,p=e.onBlur,l=e.onClick,r=e.onDragEnter,s=e.onDragOver,c=e.onDragLeave,d=e.onDrop,m=X(e,M);return K(K(W({onKeyDown:eC(P(i,ey)),onFocus:eC(P(o,ej)),onBlur:eC(P(p,ek)),onClick:eN(P(l,eS)),onDragEnter:ez(P(r,ev)),onDragOver:ez(P(s,ef)),onDragLeave:ez(P(c,eg)),onDrop:ez(P(d,eb)),role:"string"==typeof t&&""!==t?t:"presentation"},void 0===a?"ref":a,ei),n||C?{}:{tabIndex:0}),m)}},[ei,ey,ej,ek,eS,ev,ef,eg,eb,C,z,n]),eE=(0,t.useCallback)(function(e){e.stopPropagation()},[]),eT=(0,t.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=e.refKey,t=e.onChange,i=e.onClick,n=X(e,B);return K(K({},W({accept:J,multiple:r,type:"file",style:{border:0,clip:"rect(0, 0, 0, 0)",clipPath:"inset(50%)",height:"1px",margin:"0 -1px -1px 0",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap"},onChange:eN(P(t,eb)),onClick:eN(P(i,eE)),tabIndex:-1},void 0===a?"ref":a,en)),n)}},[en,i,r,eb,n]);return K(K({},ep),{},{isFocused:er&&!n,getRootProps:eD,getInputProps:eT,rootRef:ei,inputRef:en,open:eN(ew)})}function Z(e,a){switch(a.type){case"focus":return K(K({},e),{},{isFocused:!0});case"blur":return K(K({},e),{},{isFocused:!1});case"openDialog":return K(K({},V),{},{isFileDialogActive:!0});case"closeDialog":return K(K({},e),{},{isFileDialogActive:!1});case"setDraggedFiles":return K(K({},e),{},{isDragActive:a.isDragActive,isDragAccept:a.isDragAccept,isDragReject:a.isDragReject});case"setFiles":return K(K({},e),{},{acceptedFiles:a.acceptedFiles,fileRejections:a.fileRejections,isDragReject:a.isDragReject});case"reset":return K({},V);default:return e}}function ee(){}var ea=e.i(15288),et=e.i(19455),ei=e.i(75254);let en=(0,ei.default)("cloud-upload",[["path",{d:"M12 13v8",key:"1l5pq0"}],["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"m8 17 4-4 4 4",key:"1quai1"}]]);var eo=e.i(31278);let ep=(0,ei.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),el=(0,ei.default)("clipboard-paste",[["path",{d:"M11 14h10",key:"1w8e9d"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v1.344",key:"1e62lh"}],["path",{d:"m17 18 4-4-4-4",key:"z2g111"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113",key:"bjbb7m"}],["rect",{x:"8",y:"2",width:"8",height:"4",rx:"1",key:"ublpy"}]]);var er=e.i(11110),es=e.i(1276),ec=e.i(94114);e.s(["UploadZone",0,function({onImageSelect:e,isAnalyzing:i}){let{t:n}=(0,er.useLanguage)(),[o,p]=(0,t.useState)(!1),[l,r]=(0,t.useState)(!1);(0,t.useEffect)(()=>{r(!0),"Notification"in window&&"default"===Notification.permission&&Notification.requestPermission()},[]);let{getRootProps:s,getInputProps:c,isDragActive:d}=Y({onDrop:(0,t.useCallback)(a=>{let t=a[0];t&&e(t)},[e]),accept:{"image/*":[".jpeg",".jpg",".png"]},maxFiles:1,disabled:i}),m=(0,t.useCallback)(a=>{let t=a.type||"image/png",i=t.split("/")[1]||"png";e(a instanceof File&&a.name?a:new File([a],`clipboard-${Date.now()}.${i}`,{type:t}))},[e]);(0,t.useEffect)(()=>{let e=e=>{if(i)return;let a=e.target;if(a&&(a.isContentEditable||["INPUT","TEXTAREA"].includes(a.tagName)))return;let t=Array.from(e.clipboardData?.items??[]).find(e=>"file"===e.kind&&e.type.startsWith("image/")),n=t?.getAsFile();n&&(e.preventDefault(),m(n))};return window.addEventListener("paste",e),()=>window.removeEventListener("paste",e)},[i,m]);let u=async()=>{if(!(l&&"u">typeof navigator&&navigator.clipboard&&"function"==typeof navigator.clipboard.read))return void ec.toast.warning(n.upload.pasteNotSupported);try{for(let e of(await navigator.clipboard.read())){let a=e.types.find(e=>e.startsWith("image/"));if(a){let t=await e.getType(a);m(t);return}}ec.toast.warning(n.upload.pasteNoImage)}catch(e){es.frontendLogger.warn("[UploadZone]","Clipboard read failed",{error:e instanceof Error?e.message:String(e)}),e instanceof Error&&"NotAllowedError"===e.name?ec.toast.warning(n.upload.pastePermissionDenied):ec.toast.error(n.upload.pasteFailed)}},x=()=>l&&"u">typeof navigator&&"mediaDevices"in navigator&&"getDisplayMedia"in navigator.mediaDevices,v=async()=>{if(!x())return void ec.toast.warning(n.upload.screenshotNotSupported);p(!0);try{let a;"CaptureController"in window&&(a=new window.CaptureController);let t={video:!0,audio:!1,preferCurrentTab:!1};a&&(t.controller=a);let i=await navigator.mediaDevices.getDisplayMedia(t),[n]=i.getVideoTracks(),o=n.getSettings().displaySurface;if(a&&("browser"===o||"window"===o))try{a.setFocusBehavior("no-focus-change"),console.log("✅ 已设置不切换焦点行为")}catch(e){console.warn("⚠️ 无法设置焦点行为:",e)}let p=document.createElement("video");if(p.srcObject=i,p.muted=!0,p.autoplay=!0,p.playsInline=!0,await new Promise((e,a)=>{p.onloadedmetadata=()=>{p.play().then(()=>{e()}).catch(a)},p.onerror=a}),await new Promise(e=>setTimeout(e,500)),0===p.videoWidth||0===p.videoHeight)throw Error("视频没有有效尺寸");let l=document.createElement("canvas");l.width=p.videoWidth,l.height=p.videoHeight;let r=l.getContext("2d");if(!r)throw Error("无法获取canvas上下文");r.drawImage(p,0,0),i.getTracks().forEach(e=>e.stop()),l.toBlob(a=>{if(a){let t=new File([a],`screenshot-${Date.now()}.png`,{type:"image/png"});e(t),console.log("✅ 截图完成,当前页面未跳转")}else ec.toast.error("截图转换失败")},"image/png",1)}catch(e){console.error("Screenshot failed:",e),e instanceof Error&&("NotAllowedError"===e.name?ec.toast.warning(n.upload.screenshotPermissionDenied):ec.toast.error(`${n.upload.screenshotFailed}: ${e.message}`))}finally{p(!1)}};return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(ea.Card,{...s(),className:`group cursor-pointer rounded-2xl border-2 border-dashed shadow-none transition-all hover:border-primary/60 hover:bg-accent/40 ${d?"border-primary bg-accent/60":"border-border bg-card"}`,children:(0,a.jsxs)(ea.CardContent,{className:"flex min-h-[260px] flex-col items-center justify-center space-y-4 py-10 text-center md:min-h-[300px]",children:[(0,a.jsx)("input",{...c()}),(0,a.jsx)("div",{className:"rounded-2xl bg-accent p-4 text-primary transition-transform group-hover:scale-105",children:i?(0,a.jsx)(eo.Loader2,{className:"h-10 w-10 animate-spin"}):(0,a.jsx)(en,{className:"h-10 w-10"})}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:i?n.app.analyzing:n.upload.analyze}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:i?n.app.analyzing:n.app.dragDrop}),(0,a.jsx)("p",{className:"mt-2 text-xs text-muted-foreground",children:n.upload.support})]})]})}),(0,a.jsxs)("div",{className:"flex flex-col sm:flex-row sm:flex-wrap items-stretch sm:items-start justify-center gap-4",children:[l&&(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,a.jsxs)(et.Button,{variant:"outline",onClick:u,disabled:i,className:"flex items-center gap-2 w-full sm:w-auto",children:[(0,a.jsx)(el,{className:"h-4 w-4"}),n.upload.paste]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground text-center",children:n.upload.pasteDesc})]}),x()&&(0,a.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,a.jsxs)(et.Button,{variant:"outline",onClick:v,disabled:i||o,className:"flex items-center gap-2 w-full sm:w-auto",children:[o?(0,a.jsx)(eo.Loader2,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(ep,{className:"h-4 w-4"}),o?n.common.pleaseWait:n.upload.screenshot]}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground text-center",children:n.upload.screenshotDesc})]})]})]})}],98469);var ed=e.i(30691),em=e.i(93479),eu=e.i(10204),ex=e.i(56909),ev=e.i(16715),ef=e.i(72664),eg=e.i(11445),eh=e.i(41176),eb=e.i(88218),ew=e.i(38465),ey=e.i(67489),ej=e.i(41931),ek=e.i(52122),eS=e.i(62825),eN=e.i(3198),eC=e.i(69937),ez=e.i(49704),eA=e.i(43710),eD=e.i(15519);e.s(["CorrectionEditor",0,function({initialData:e,onSave:i,onCancel:n,imagePreview:o,initialSubjectId:p,aiTimeout:l}){let{timeZone:r}=(0,eD.useTimeZone)(),[s,c]=(0,t.useState)({...e,wrongAnswerText:e.wrongAnswerText||"",mistakeAnalysis:e.mistakeAnalysis||"",mistakeStatus:e.mistakeStatus||"unknown",subjectId:p,gradeSemester:""}),d=s.paperLevel??(0,eA.getDefaultPaperLevel)(s.difficultyStars)??"a",{t:m,language:u}=(0,er.useLanguage)(),[x,v]=(0,t.useState)(!1),[f,g]=(0,t.useState)(!1),[h,b]=(0,t.useState)(!1),[w,y]=(0,t.useState)(null),[j,k]=(0,t.useState)(!1),[S,N]=(0,t.useState)(void 0),[C,z]=(0,t.useState)([]);(0,t.useEffect)(()=>{ej.apiClient.get("/api/notebooks").then(z).catch(e=>console.error("Failed to fetch notebooks:",e)),ej.apiClient.get("/api/user").then(e=>{if(k(!!e?.enableGeogebra),e&&e.educationStage&&e.enrollmentYear){let a=function(e,a,t=new Date,i="en",n=ed.DEFAULT_TIME_ZONE){let o=(0,ed.getCalendarDate)(t,n),p=o.getFullYear(),l=o.getMonth()+1,r=p-a,s="2nd";l>=9?(r+=1,s="1st"):s=l<2?"1st":"2nd";let c="zh"===i,d=c?"1st"===s?"上期":"下期":"1st"===s?"1st Semester":"2nd Semester",m=(c?{primary:["一年级","二年级","三年级","四年级","五年级","六年级"],junior_high:["初一","初二","初三"],senior_high:["高一","高二","高三"],university:["大一","大二","大三","大四"]}:{primary:["Grade 1","Grade 2","Grade 3","Grade 4","Grade 5","Grade 6"],junior_high:["Junior High Grade 1","Junior High Grade 2","Junior High Grade 3"],senior_high:["Senior High Grade 1","Senior High Grade 2","Senior High Grade 3"],university:["Freshman","Sophomore","Junior","Senior"]})[e]||[],u=`${r}`;if(u=r>0&&r<=m.length?m[r-1]:r>m.length?c?"已毕业":"Graduated":c?"学前":"Pre-school",!c)return`${u}, ${d}`;{let e="1st"===s?"上":"下";return`${u}${e}`}}(e.educationStage,e.enrollmentYear,new Date,u,r);c(e=>({...e,gradeSemester:a})),N(e.educationStage)}}).catch(e=>console.error("Failed to fetch user info for grade calculation:",e))},[u,r]);let A=async()=>{if(!s.questionText.trim())return void ec.toast.warning(m.editor.enterQuestionFirst||"Please enter question text first");v(!0);try{let e=function({questionText:e,language:a,subject:t,imagePreview:i,gradeSemester:n,subjectId:o}){let p={questionText:e,language:a,subject:t};return i&&(p.imageBase64=i),n&&(p.gradeSemester=n),o&&(p.subjectId=o),p}({questionText:s.questionText,language:u,subject:s.subject,imagePreview:o,gradeSemester:s.gradeSemester,subjectId:s.subjectId});e.imageBase64?console.log("[Reanswer] Sending image + text (Image available for mistake analysis)"):console.log("[Reanswer] Sending text only (No image available)"),es.frontendLogger.info("[Reanswer]","Sending request",{timeout:l});let a=await ej.apiClient.post("/api/reanswer",e,{timeout:l||18e4});c(e=>({...e,answerText:a.answerText,analysis:a.analysis,knowledgePoints:a.knowledgePoints,wrongAnswerText:a.wrongAnswerText||"",mistakeAnalysis:a.mistakeAnalysis||"",mistakeStatus:(0,eS.normalizeMistakeStatusForSave)(a.mistakeStatus,a.wrongAnswerText),difficultyStars:a.difficultyStars??e.difficultyStars})),ec.toast.success(m.editor.reanswerSuccess||"✅ Answer and analysis updated!")}catch(i){console.error("Reanswer failed:",i);let e=i.data?.message||"",a=m.errors?.reanswer||{},t=a.default||"Reanswer failed";e.includes("AI_AUTH_ERROR")?t=a.authError||m.errors?.AI_AUTH_ERROR||t:e.includes("AI_CONNECTION_FAILED")?t=a.connectionFailed||m.errors?.AI_CONNECTION_FAILED||t:e.includes("AI_RESPONSE_ERROR")&&(t=a.responseError||m.errors?.AI_RESPONSE_ERROR||t),ec.toast.error(t)}finally{v(!1)}},D=async()=>{if(!s.questionText.trim())return void ec.toast.warning(m.editor.enterQuestionFirst||"请先输入题目文本");if(!s.answerText.trim())return void ec.toast.warning("请先生成或输入答案");b(!0),y(null);try{let e=await fetch("/api/geogebra-analyze",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({questionText:s.questionText,answerText:s.answerText,analysis:s.analysis})});if(!e.ok)throw Error("Analysis failed");let a=await e.json();a.suitable&&a.commands?.length>0?c(e=>({...e,geogebraCommands:JSON.stringify(a.commands)})):y(a.description||"该题目不适合用 GeoGebra 演示")}catch(e){console.error("GeoGebra analysis failed:",e),y("分析失败,请稍后重试")}finally{b(!1)}};return(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-2xl font-bold",children:m.editor.title}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(et.Button,{variant:"outline",onClick:n,children:m.editor.cancel}),(0,a.jsxs)(et.Button,{onClick:async()=>{if(!s.subjectId)return void ec.toast.warning(m.editor.messages?.selectNotebook||"Please select a notebook");if(!f){g(!0);try{await i({...s,paperLevel:d,mistakeStatus:(0,eS.normalizeMistakeStatusForSave)(s.mistakeStatus,s.wrongAnswerText)})}finally{g(!1)}}},disabled:f,children:[f?(0,a.jsx)(eo.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,a.jsx)(ex.Save,{className:"mr-2 h-4 w-4"}),f?m.common?.pleaseWait||"Please wait...":m.editor.save]})]})]}),(0,a.jsxs)("div",{className:"grid gap-6 lg:grid-cols-2",children:[(0,a.jsxs)("div",{className:"space-y-6",children:[o&&(0,a.jsx)(ea.Card,{children:(0,a.jsx)(ea.CardContent,{className:"p-4",children:(0,a.jsx)("img",{src:o,alt:"Original",className:"w-full rounded-md"})})}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.selectNotebook||"Select Notebook"}),(0,a.jsx)(ew.NotebookSelector,{value:s.subjectId,onChange:e=>c({...s,subjectId:e})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-4",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.gradeSemester||"Grade/Semester"}),(0,a.jsx)(em.Input,{value:s.gradeSemester||"",onChange:e=>c({...s,gradeSemester:e.target.value}),placeholder:"e.g. Junior High Grade 1, 1st Semester"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.paperLevel||"Paper Level"}),(0,a.jsxs)(ey.Select,{value:d,onValueChange:e=>c({...s,paperLevel:e}),children:[(0,a.jsx)(ey.SelectTrigger,{children:(0,a.jsx)(ey.SelectValue,{})}),(0,a.jsxs)(ey.SelectContent,{children:[(0,a.jsx)(ey.SelectItem,{value:"a",children:m.editor.paperLevels?.a||"Paper A"}),(0,a.jsx)(ey.SelectItem,{value:"b",children:m.editor.paperLevels?.b||"Paper B"}),(0,a.jsx)(ey.SelectItem,{value:"other",children:m.editor.paperLevels?.other||"Other"})]})]})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.difficulty.label}),(0,a.jsx)("div",{children:(0,a.jsx)(eC.DifficultyStars,{size:"md",value:s.difficultyStars,onChange:e=>c({...s,difficultyStars:e})})})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.question}),(0,a.jsx)(eh.MarkdownEditor,{value:s.questionText,onChange:e=>c({...s,questionText:e}),className:"min-h-[150px] font-mono text-sm",placeholder:m.editor.placeholder||"Supports Markdown and LaTeX..."}),(0,a.jsx)(et.Button,{variant:"default",size:"sm",onClick:A,disabled:x||!s.questionText.trim(),className:"w-full bg-gradient-to-r from-indigo-600 to-violet-500 hover:from-indigo-700 hover:to-violet-600 text-white font-medium",children:x?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eo.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),m.editor.reanswering||"AI solving..."]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ev.RefreshCw,{className:"mr-2 h-4 w-4"}),m.editor.reanswer||"🔄 Reanswer (based on corrected question)"]})}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:m.editor.reanswerHint||"💡 If the question was misrecognized, correct it and click to regenerate answer"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.tags}),(0,a.jsx)(eb.TagInput,{value:s.knowledgePoints,onChange:e=>c({...s,knowledgePoints:e}),placeholder:m.editor.tagsPlaceholder||"Enter knowledge tags...",enterHint:m.editor.createTagHint,subject:(0,ek.inferSubjectFromName)(C.find(e=>e.id===s.subjectId)?.name||null)||(0,ek.inferSubjectFromName)(s.subject||null)||void 0,gradeStage:S}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:m.editor.tagsHint||"💡 Tag suggestions will appear as you type"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.answer}),(0,a.jsx)(eh.MarkdownEditor,{value:s.answerText,onChange:e=>c({...s,answerText:e}),className:"min-h-[100px] font-mono text-sm",placeholder:m.editor.placeholder||"Supports Markdown and LaTeX..."})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.analysis}),(0,a.jsx)(eh.MarkdownEditor,{value:s.analysis,onChange:e=>c({...s,analysis:e}),className:"min-h-[200px] font-mono text-sm",placeholder:m.editor.placeholder||"Supports Markdown and LaTeX..."})]}),(0,a.jsxs)(ea.Card,{children:[(0,a.jsx)(ea.CardHeader,{children:(0,a.jsx)(ea.CardTitle,{children:m.editor.mistakeAnalysisTitle||"错因分析"})}),(0,a.jsxs)(ea.CardContent,{className:"space-y-4",children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.mistakeStatus||"作答状态"}),(0,a.jsxs)(ey.Select,{value:s.mistakeStatus||"unknown",onValueChange:e=>c({...s,mistakeStatus:e}),children:[(0,a.jsx)(ey.SelectTrigger,{children:(0,a.jsx)(ey.SelectValue,{})}),(0,a.jsxs)(ey.SelectContent,{children:[(0,a.jsx)(ey.SelectItem,{value:"not_attempted",children:m.editor.mistakeStatuses?.notAttempted||"不会做"}),(0,a.jsx)(ey.SelectItem,{value:"wrong_attempt",children:m.editor.mistakeStatuses?.wrongAttempt||"做错了"}),(0,a.jsx)(ey.SelectItem,{value:"unknown",children:m.editor.mistakeStatuses?.unknown||"未判断"})]})]})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.wrongAnswerText||"错误解答原文"}),(0,a.jsx)(eh.MarkdownEditor,{value:s.wrongAnswerText||"",onChange:e=>c({...s,wrongAnswerText:e,mistakeStatus:e.trim()?"wrong_attempt":s.mistakeStatus}),className:"min-h-[100px] font-mono text-sm",placeholder:m.editor.wrongAnswerPlaceholder||"如果图片里没有错误解答,可留空"})]}),(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(eu.Label,{children:m.editor.mistakeAnalysis||"错因分析"}),(0,a.jsx)(eh.MarkdownEditor,{value:s.mistakeAnalysis||"",onChange:e=>c({...s,mistakeAnalysis:e}),className:"min-h-[140px] font-mono text-sm",placeholder:m.editor.mistakeAnalysisPlaceholder||"分析错误可能发生在哪一步、为什么错、导致什么后果"})]})]})]})]}),(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsxs)(ea.Card,{children:[(0,a.jsx)(ea.CardHeader,{children:(0,a.jsx)(ea.CardTitle,{children:m.editor.preview?.question||"Question Preview"})}),(0,a.jsxs)(ea.CardContent,{children:[(0,a.jsx)(eg.MarkdownRenderer,{content:s.questionText}),(0,a.jsx)(ez.QuestionFigure,{svg:s.figureSvg})]})]}),j?s.geogebraCommands?(0,a.jsx)(eN.GeogebraDemo,{commands:s.geogebraCommands,height:350,onRegenerate:D,onDelete:async()=>c(e=>({...e,geogebraCommands:void 0}))}):s.questionText.trim()&&s.answerText.trim()?(0,a.jsxs)("div",{className:"rounded-lg border border-dashed p-4",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,a.jsx)(ef.Box,{className:"h-4 w-4"}),(0,a.jsx)("span",{children:"GeoGebra 动态演示"})]}),(0,a.jsx)(et.Button,{variant:"outline",size:"sm",onClick:D,disabled:h,children:h?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eo.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"AI 分析中..."]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ef.Box,{className:"mr-2 h-4 w-4"}),"生成演示"]})})]}),w&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:w}),(0,a.jsx)("p",{className:"text-xs text-muted-foreground mt-2",children:"AI 将判断本题是否可以用 GeoGebra 进行动态演示"})]}):null:null,(0,a.jsxs)(ea.Card,{children:[(0,a.jsx)(ea.CardHeader,{children:(0,a.jsx)(ea.CardTitle,{children:m.editor.preview?.answer||"Answer Preview"})}),(0,a.jsx)(ea.CardContent,{children:(0,a.jsx)(eg.MarkdownRenderer,{content:s.answerText})})]}),(0,a.jsxs)(ea.Card,{children:[(0,a.jsx)(ea.CardHeader,{children:(0,a.jsx)(ea.CardTitle,{children:m.editor.preview?.analysis||"Analysis Preview"})}),(0,a.jsx)(ea.CardContent,{children:(0,a.jsx)(eg.MarkdownRenderer,{content:s.analysis})})]}),(0,a.jsxs)(ea.Card,{children:[(0,a.jsx)(ea.CardHeader,{children:(0,a.jsx)(ea.CardTitle,{children:m.editor.preview?.mistakeAnalysis||"错因分析预览"})}),(0,a.jsxs)(ea.CardContent,{className:"space-y-3 text-sm",children:[(0,a.jsxs)("div",{className:"text-muted-foreground",children:[m.editor.mistakeStatus||"作答状态",":","wrong_attempt"===s.mistakeStatus?m.editor.mistakeStatuses?.wrongAttempt||"做错了":"not_attempted"===s.mistakeStatus?m.editor.mistakeStatuses?.notAttempted||"不会做":m.editor.mistakeStatuses?.unknown||"未判断"]}),s.wrongAnswerText&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-medium mb-1",children:m.editor.wrongAnswerText||"错误解答原文"}),(0,a.jsx)(eg.MarkdownRenderer,{content:s.wrongAnswerText})]}),s.mistakeAnalysis&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"font-medium mb-1",children:m.editor.mistakeAnalysis||"错因分析"}),(0,a.jsx)(eg.MarkdownRenderer,{content:s.mistakeAnalysis})]})]})]})]})]})]})}],78197);let eE=(0,ei.default)("camera",[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);e.s(["Camera",0,eE],68553)}]);
|