wrong-notebook 2026.10.22 → 2026.10.25-1
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/app-path-routes-manifest.json +0 -2
- package/.next/build-manifest.json +208 -9
- package/.next/prerender-manifest.json +4 -4
- package/.next/required-server-files.json +16 -1
- package/.next/routes-manifest.json +0 -14
- package/.next/server/app/_global-error/page/build-manifest.json +8 -6
- package/.next/server/app/_global-error/page.js +9 -8
- 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 +18 -14
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -16
- package/.next/server/app/_global-error.segments/_full.segment.rsc +18 -14
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -1
- package/.next/server/app/_not-found/page/build-manifest.json +8 -6
- package/.next/server/app/_not-found/page.js +12 -12
- 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 +8 -6
- package/.next/server/app/admin/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/admin/user/[id]/page.js +13 -13
- 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 +20 -9
- package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/migrate-tags/route.js +10 -8
- package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/system-reset/route.js +9 -7
- 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 +20 -8
- 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 +10 -7
- package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/admin/users/route.js +10 -7
- package/.next/server/app/api/admin/users/route.js.nft.json +1 -1
- package/.next/server/app/api/ai/models/route.js +17 -13
- package/.next/server/app/api/ai/models/route.js.nft.json +1 -1
- package/.next/server/app/api/ai/test/route.js +18 -14
- package/.next/server/app/api/ai/test/route.js.nft.json +1 -1
- package/.next/server/app/api/analytics/route.js +12 -8
- package/.next/server/app/api/analytics/route.js.nft.json +1 -1
- package/.next/server/app/api/analyze/route.js +19 -15
- package/.next/server/app/api/analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/auth/[...nextauth]/route.js +8 -6
- package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/delete/route.js +9 -7
- 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 +19 -14
- 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 +19 -15
- 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 +17 -13
- 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 +11 -8
- package/.next/server/app/api/error-items/[id]/image/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/[id]/notes/route.js +9 -7
- 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 +10 -7
- 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 +19 -15
- 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 +20 -15
- 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 +8 -6
- 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 +19 -15
- 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 +9 -7
- 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 +9 -7
- package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/list/route.js +12 -9
- package/.next/server/app/api/error-items/list/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/route.js +23 -16
- package/.next/server/app/api/error-items/route.js.nft.json +1 -1
- package/.next/server/app/api/error-items/short/[shortId]/route.js +10 -7
- 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 +11 -8
- 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 +20 -15
- 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 +21 -15
- package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/retry/route.js +20 -15
- package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/[id]/route.js +18 -13
- package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/exams/route.js +20 -15
- package/.next/server/app/api/exams/route.js.nft.json +1 -1
- package/.next/server/app/api/export/route.js +12 -9
- package/.next/server/app/api/export/route.js.nft.json +1 -1
- package/.next/server/app/api/geogebra-analyze/route.js +19 -14
- package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +7 -6
- package/.next/server/app/api/health/route.js.nft.json +1 -1
- package/.next/server/app/api/import/route.js +23 -16
- package/.next/server/app/api/import/route.js.nft.json +1 -1
- package/.next/server/app/api/logs/frontend/route.js +9 -7
- package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/[id]/retag/route.js +20 -15
- package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/[id]/route.js +9 -8
- package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/notebooks/route.js +11 -9
- package/.next/server/app/api/notebooks/route.js.nft.json +1 -1
- package/.next/server/app/api/openclaw/batch-upload/route.js +22 -14
- package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/generate/route.js +19 -14
- package/.next/server/app/api/practice/generate/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/record/[id]/route.js +20 -14
- package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/practice/record/route.js +20 -15
- package/.next/server/app/api/practice/record/route.js.nft.json +1 -1
- package/.next/server/app/api/reanswer/route.js +19 -14
- package/.next/server/app/api/reanswer/route.js.nft.json +1 -1
- package/.next/server/app/api/register/route.js +9 -6
- package/.next/server/app/api/register/route.js.nft.json +1 -1
- package/.next/server/app/api/register/status/route.js +10 -7
- package/.next/server/app/api/register/status/route.js.nft.json +1 -1
- package/.next/server/app/api/settings/route.js +12 -9
- package/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/practice/clear/route.js +9 -7
- package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -1
- package/.next/server/app/api/stats/practice/route.js +12 -8
- package/.next/server/app/api/stats/practice/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/route.js +9 -8
- package/.next/server/app/api/tags/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/stats/route.js +10 -7
- package/.next/server/app/api/tags/stats/route.js.nft.json +1 -1
- package/.next/server/app/api/tags/suggestions/route.js +9 -7
- package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -1
- package/.next/server/app/api/tasks/route.js +10 -7
- package/.next/server/app/api/tasks/route.js.nft.json +1 -1
- package/.next/server/app/api/user/route.js +11 -9
- package/.next/server/app/api/user/route.js.nft.json +1 -1
- package/.next/server/app/api/version/route.js +7 -6
- package/.next/server/app/api/version/route.js.nft.json +1 -1
- package/.next/server/app/error-items/[id]/page/build-manifest.json +8 -6
- package/.next/server/app/error-items/[id]/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/exams/[id]/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/exams/[id]/print/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/exams/page.js +13 -13
- 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 +7 -7
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/login/page/build-manifest.json +8 -6
- package/.next/server/app/login/page.js +13 -13
- 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 +7 -7
- 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 +8 -6
- package/.next/server/app/notebooks/[id]/add/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/notebooks/[id]/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/notebooks/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/practice/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/print-preview/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/register/page.js +11 -11
- 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 +8 -6
- package/.next/server/app/stats/page.js +13 -13
- 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 +8 -6
- package/.next/server/app/tags/page.js +13 -13
- 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/app-paths-manifest.json +0 -2
- package/.next/server/chunks/0ivl_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3ywjhli.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_admin_users_[id]_detail_route_actions_0oe_wktcsiz6j.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_delete_route_actions_1w26boq5bpk6f.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_figure_route_actions_0adlts0sguhrk.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhxtl9kc9.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uvettiij.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1oxdmh0.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2l65i8t.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3idsy15.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_batch-delete_route_actions_0hiq_1kd60tc2.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_error-items_short_[shortId]_route_actions_02976v-fif6-5.js +3 -0
- package/.next/server/chunks/[externals]__04n7qbralh87n._.js +3 -0
- package/.next/server/chunks/[externals]__0jzwjtlwxxyw6._.js +3 -0
- package/.next/server/chunks/[externals]__0pot68n2q47fn._.js +3 -0
- package/.next/server/chunks/[externals]__1oyo6y4k5ao25._.js +3 -0
- package/.next/server/chunks/[externals]__1yyxisf-dquqj._.js +3 -0
- package/.next/server/chunks/[externals]_assert_1pwe1ri__g5hw._.js +3 -0
- package/.next/server/chunks/[externals]_fs_0pplqgcyv2l7l._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-g6zoywy7s9r._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-i5scl3dk6sv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-odhmcsbillm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__003ii50e63ws5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__02izfhede1ge6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__04k4sy605shy8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__082k83j3p6okz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__08p0s4r9g87cn._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_a858mm6ofp3._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz2btvts._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0a-kmd7e0p8db._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0an9s6-nn3kpq._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0b6q7yr-sfcet._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0g-kb21pws7qu._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0hbqxdkp_1j_7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0hjv7gm7tjgzr._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0kva0deskq80y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0l7y2xk1m7h84._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0l9qwcb4i27ui._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ld-3rbaj1m8-._.js +56 -0
- package/.next/server/chunks/[root-of-the-server]__0majzhfobp3nf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0mc5h4iz6ua87._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0nrxl8lqbzwov._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0nzkvmeik_rk5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0pqggfowif112._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0qvrt0t4xthie._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rbqws43qszln._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rg4hkgdxbjou._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0rk_yxyba4meu._.js +9 -0
- package/.next/server/chunks/[root-of-the-server]__0ssrmihfi_u6m._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0w2rkt8xlhqw8._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ycg3q_q562tz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0ystefe8_e0es._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0zjg773epx4r_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__122xu-0xjk0q5._.js +32 -0
- package/.next/server/chunks/[root-of-the-server]__139pkgh2w4wv7._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__13fue_8ln57sk._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__14-kwm6jhtwo2._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15nya_6vffdj1._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15s-n6e06wf6g._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__15tkoe60wvpdf._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__17rozs-xk_dqd._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__17xqc8-y_hmhm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__18j9-n7s671bt._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_gkx5xy1-3em._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1_kq0iosz0cgh._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1a8nqxs0k1ue0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1biigyx-bi52y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1bmd4mech7kzj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1bswuhivogp5u._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1e_3xwt459gzy._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1epfgldsr-ls5._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1fc23i58z_ao2._.js +122 -0
- package/.next/server/chunks/[root-of-the-server]__1hejjxeb6bmtm._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1iydd43toz2hx._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1j6jbtj3gauq_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jfwn22nquvq-._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1jtd2ara5taim._.js +6 -0
- package/.next/server/chunks/[root-of-the-server]__1k73w0dqrm6gg._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1k_8n_p3i4my_._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1msj6a3i2of1g._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1nmtv65uajre3._.js +10 -0
- package/.next/server/chunks/[root-of-the-server]__1q6zz6-dwz42t._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1qv23loqhxkcf._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1rcitv6tfajfz._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1tczl61nfeymj._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ve3j8ooyhjgv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vgkjjilvagrv._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vj-su-vkz4ng._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1vw740yzcybw7._.js +32 -0
- package/.next/server/chunks/[root-of-the-server]__1y_u-tq43pxmc._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1yva3qsip39_n._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1zyka21s1ahtj._.js +3 -0
- package/.next/server/chunks/[turbopack]_runtime.js +146 -16
- package/.next/server/chunks/_0-ne-bwuvd_6w._.js +3 -0
- package/.next/server/chunks/_011-ll5i30j2e._.js +3 -0
- package/.next/server/chunks/_029zt0rilrwvt._.js +3 -0
- package/.next/server/chunks/_03ovgh1-4xf3f._.js +3 -0
- package/.next/server/chunks/_0431fxnqiloso._.js +3 -0
- package/.next/server/chunks/_07amw8ha9rney._.js +3 -0
- package/.next/server/chunks/_0_3_65z6ak-5i._.js +3 -0
- package/.next/server/chunks/_0_e736ff6uhew._.js +3 -0
- package/.next/server/chunks/_0anbzuivml30d._.js +3 -0
- package/.next/server/chunks/_0at03z7sgwdv3._.js +3 -0
- package/.next/server/chunks/_0axy8rynlghzq._.js +3 -0
- package/.next/server/chunks/_0d66myj_8567o._.js +3 -0
- package/.next/server/chunks/_0ekrwj-qx_6uh._.js +36 -0
- package/.next/server/chunks/_0geyrqrvyak26._.js +11 -0
- package/.next/server/chunks/_0gxi3zrkhyvx_._.js +3 -0
- package/.next/server/chunks/_0h1rbua_hqkox._.js +3 -0
- package/.next/server/chunks/_0kkvpy2s_y3-n._.js +11 -0
- package/.next/server/chunks/_0kreo-8xn80hb._.js +3 -0
- package/.next/server/chunks/_0l2j3br2g32zp._.js +3 -0
- package/.next/server/chunks/_0lz3t4lsygbtv._.js +19 -0
- package/.next/server/chunks/_0ne4rbj35w-io._.js +11 -0
- package/.next/server/chunks/_0qaoat396e0_3._.js +3 -0
- package/.next/server/chunks/_0qsjdkq-39qbo._.js +11 -0
- package/.next/server/chunks/_0tl0cy5j96d7h._.js +3 -0
- package/.next/server/chunks/_0uxp3uhmyw1h3._.js +3 -0
- package/.next/server/chunks/_0wegi_sv1s4wx._.js +3 -0
- package/.next/server/chunks/_0x3ltk09eli_f._.js +36 -0
- package/.next/server/chunks/_0z0zrluul2idw._.js +3 -0
- package/.next/server/chunks/_0zs7jfzzshbfq._.js +3 -0
- package/.next/server/chunks/_11w6ynlxuzl55._.js +3 -0
- package/.next/server/chunks/_12i51zlq-xxrl._.js +3 -0
- package/.next/server/chunks/_12w5k19rc45j_._.js +3 -0
- package/.next/server/chunks/_13ffmxv8qrwi0._.js +3 -0
- package/.next/server/chunks/_14tz_k9desx4n._.js +3 -0
- package/.next/server/chunks/_14w9nrdlajz24._.js +3 -0
- package/.next/server/chunks/_15fpgekhvv214._.js +3 -0
- package/.next/server/chunks/_16jdov0rxh99d._.js +3 -0
- package/.next/server/chunks/_17zw8m241gfs3._.js +3 -0
- package/.next/server/chunks/_18amra5328v90._.js +3 -0
- package/.next/server/chunks/_18hm5aaxkr500._.js +3 -0
- package/.next/server/chunks/_1_273cgnpyl9j._.js +3 -0
- package/.next/server/chunks/_1_ns7o3cqznv6._.js +3 -0
- package/.next/server/chunks/_1a1aqmie1d3u_._.js +3 -0
- package/.next/server/chunks/_1a1udq0c4_6ad._.js +3 -0
- package/.next/server/chunks/_1b0269xt-c8f7._.js +3 -0
- package/.next/server/chunks/_1b7qjlv0nxovi._.js +3 -0
- package/.next/server/chunks/_1be-y660a8z-q._.js +3 -0
- package/.next/server/chunks/_1cydcmia78z15._.js +3 -0
- package/.next/server/chunks/_1e8w9uuebtrcb._.js +3 -0
- package/.next/server/chunks/_1ex6ovo_j2jzv._.js +3 -0
- package/.next/server/chunks/_1fgb9ve_nfat4._.js +3 -0
- package/.next/server/chunks/_1hj7iit2u6xez._.js +3 -0
- package/.next/server/chunks/_1lrt8e26anbnm._.js +11 -0
- package/.next/server/chunks/_1m-yyz-pl9-03._.js +3 -0
- package/.next/server/chunks/_1pvqo-qnv-nqm._.js +3 -0
- package/.next/server/chunks/_1q65ai1_dwgjp._.js +3 -0
- package/.next/server/chunks/_1s5-ldt8xhtpp._.js +3 -0
- package/.next/server/chunks/_1sp0xk1c5jx5r._.js +3 -0
- package/.next/server/chunks/_1taeg5t2ai7_x._.js +3 -0
- package/.next/server/chunks/_1tjis3pqfxk7_._.js +3 -0
- package/.next/server/chunks/_1vtmdpk7p4al9._.js +3 -0
- package/.next/server/chunks/_1wulydy4wg9ow._.js +3 -0
- package/.next/server/chunks/_1xpj9uk-9zhl8._.js +3 -0
- package/.next/server/chunks/_1y5_49ip8l9oe._.js +3 -0
- package/.next/server/chunks/_1z_ujac_e_65s._.js +3 -0
- package/.next/server/chunks/_211va-dk9519v._.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-r2eove.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhx.js → _next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhxi2qsxd.js} +1 -1
- package/.next/server/chunks/{_next-internal_server_app_api_admin_system-reset_route_actions_15aselt.js → _next-internal_server_app_api_admin_system-reset_route_actions_15aseltajrio-.js} +1 -1
- package/.next/server/chunks/{_next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4.js → _next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4kr8kus.js} +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1e15wl4.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-_fbzuj.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8zn22_3.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17qxwn3t.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h7r4czj.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdks3z54l.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5ylrz4c3i.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7z.js → _next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7zwbv-yr.js} +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4nf1m1rv.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4uxgcnwcc.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-b4usht.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue0aseaq.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0pe68kn6.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9-yrnuz.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4.js → _next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4cjl6y6.js} +1 -1
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f5xqz2a.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq8qisud.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_exams_route_actions_1c_zhtj.js → _next-internal_server_app_api_exams_route_actions_1c_zhtjquazbz.js} +2 -2
- package/.next/server/chunks/{_next-internal_server_app_api_export_route_actions_0lpcnjc.js → _next-internal_server_app_api_export_route_actions_0lpcnjc9jg57-.js} +2 -2
- package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_cc6l98n.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_health_route_actions_1ryftkb.js → _next-internal_server_app_api_health_route_actions_1ryftkbeskq31.js} +2 -2
- package/.next/server/chunks/{_next-internal_server_app_api_import_route_actions_20ko04x.js → _next-internal_server_app_api_import_route_actions_20ko04xh42fpe.js} +2 -2
- package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxeptyjby8s8.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t80igzxy.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxgeuqf90.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r04tykl.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oenvuk9lp.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_f0vpz7.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiomdy_l4b.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__efurdf.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_hfqgvy.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c4r8obw.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sjq7yjzh.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9acuq1z18.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0hyvj4g.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-2uzhl0.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_tags_route_actions_1nb9ma2.js → _next-internal_server_app_api_tags_route_actions_1nb9ma2pi6m41.js} +2 -2
- package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc45lqi1.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyvywz3qh.js +3 -0
- package/.next/server/chunks/{_next-internal_server_app_api_tasks_route_actions_123tq1_.js → _next-internal_server_app_api_tasks_route_actions_123tq1_b3dlgw.js} +2 -2
- package/.next/server/chunks/{_next-internal_server_app_api_user_route_actions_1k-4clg.js → _next-internal_server_app_api_user_route_actions_1k-4clgaupijh.js} +1 -1
- package/.next/server/chunks/{_next-internal_server_app_api_version_route_actions_0kbx30h.js → _next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js} +1 -1
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjlssn1kss.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz02cjxld.js +3 -0
- package/.next/server/chunks/node_modules_@anthropic-ai_sdk_1nnmjtbtp2rc6._.js +3 -0
- package/.next/server/chunks/node_modules_next_1zdbrneapig6o._.js +10 -0
- package/.next/server/chunks/node_modules_node-fetch_src_utils_multipart-parser_0a9aeam58e52_.js +3 -0
- package/.next/server/chunks/node_modules_zod_v4_classic_external_19886v847zvfd.js +3 -0
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1h9u5hd8e7zk0.js +57 -0
- package/.next/server/chunks/src_0tzpy5j8n_1bx._.js +3 -0
- package/.next/server/chunks/src_lib_01n35ubnvj7qr._.js +3 -0
- package/.next/server/chunks/src_lib_05svhzm9a162-._.js +3 -0
- package/.next/server/chunks/src_lib_0if7dmbrjhhw_._.js +3 -0
- package/.next/server/chunks/src_lib_0zxy_zn_mlaya._.js +3 -0
- package/.next/server/chunks/src_lib_1-tw3_3nqx6ug._.js +3 -0
- package/.next/server/chunks/src_lib_15kwif87cuv22._.js +3 -0
- package/.next/server/chunks/src_lib_1geq39r7va9gy._.js +3 -0
- package/.next/server/chunks/src_lib_1k0xki4wmn54_._.js +3 -0
- package/.next/server/chunks/src_lib_1wgxqrl1loni_._.js +3 -0
- package/.next/server/chunks/src_lib_1wh1pqmstnzzt._.js +3 -0
- package/.next/server/chunks/src_lib_1wm8ay-jqxakc._.js +3 -0
- package/.next/server/chunks/{src_lib_ai_prompts_ts_0z36zms._.js → src_lib_ai_prompts_ts_0z36zms4djibp._.js} +52 -51
- package/.next/server/chunks/src_lib_auth-utils_ts_20i7biv4dj8pm._.js +3 -0
- package/.next/server/chunks/src_lib_current-user_ts_20jgxch2zjmt3._.js +3 -0
- package/.next/server/chunks/src_lib_date-time_ts_14chb270f3epb._.js +3 -0
- package/.next/server/chunks/src_lib_exam_ts_0d3a4q4r41hcf._.js +3 -0
- package/.next/server/chunks/src_lib_logger_ts_067l8txrna0gg._.js +3 -0
- package/.next/server/chunks/src_lib_mastery_ts_0ybi94uxn8ut6._.js +3 -0
- package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-vwl9ue._.js +3 -0
- package/.next/server/chunks/src_lib_retag_ts_0eu8ld_86kt3a._.js +3 -0
- package/.next/server/chunks/src_lib_tag-recognition_ts_1wkzrdiapau86._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__03jq7w4crcz_u._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__070lhtl_a6l81._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0egzlmtf23a_j._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0fl_sbe1q-l5j._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0i73t4kmj3-mp._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0s0807tegp2v8._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0snw-y9tp0_06._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0ujgpq398o2w1._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0uulvxrtw9ld4._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0x_ihemma9171._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0zqp_pztbsqqc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__102i99h9qhhnc._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18ej8rcn5j4hs._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__18sucwsgl0hdl._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1a50a5t_t8z_e._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1b9f3v7g4ocyf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1gulcy2-2jrfj._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1hcwd0rtvz96c._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1i2zrji0j2c3l._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1qpe9xti5ipq0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1qpi6ed0efnfg._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1qwt10yvul4gg._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1upv9f0hlagx7._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1uw-g6-ij61rl._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1vwegr-t8j6qe._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1xfc5gf4weasu._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1xufj5ntr9bm3._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1yy2y09x1rvba._.js +3 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +146 -16
- package/.next/server/chunks/ssr/_00np6xqvkg6u-._.js +32 -0
- package/.next/server/chunks/ssr/_04qlm-w8tebyc._.js +3 -0
- package/.next/server/chunks/ssr/_065hikzgj3xg_._.js +3 -0
- package/.next/server/chunks/ssr/_08fq-uch-l1g6._.js +8 -0
- package/.next/server/chunks/ssr/_0bsjhzelppbjh._.js +3 -0
- package/.next/server/chunks/ssr/_0h6qsip9mphaq._.js +3 -0
- package/.next/server/chunks/ssr/_0lloy6tp9ov8e._.js +3 -0
- package/.next/server/chunks/ssr/_0pxsg9p6gub85._.js +3 -0
- package/.next/server/chunks/ssr/_0t2jed64ec8vu._.js +3 -0
- package/.next/server/chunks/ssr/_0xey1vceqp1wd._.js +3 -0
- package/.next/server/chunks/ssr/_1-bq77e5afl30._.js +3 -0
- package/.next/server/chunks/ssr/_1-sbpqghw1pn7._.js +3 -0
- package/.next/server/chunks/ssr/_110r17vqu8gol._.js +3 -0
- package/.next/server/chunks/ssr/_14d3enlxi54zl._.js +3 -0
- package/.next/server/chunks/ssr/_17edi6l2a0p76._.js +8 -0
- package/.next/server/chunks/ssr/_17igtpd3u0nhq._.js +3 -0
- package/.next/server/chunks/ssr/_19zbvpk25l83u._.js +3 -0
- package/.next/server/chunks/ssr/_1b9b1aq5b_1sj._.js +3 -0
- package/.next/server/chunks/ssr/_1cl6e0rtwi75o._.js +3 -0
- package/.next/server/chunks/ssr/_1em_7aul52rb4._.js +3 -0
- package/.next/server/chunks/ssr/_1f1l6ubybak3a._.js +3 -0
- package/.next/server/chunks/ssr/_1g12ubvpxwe-j._.js +3 -0
- package/.next/server/chunks/ssr/_1g8mzz6qxv2mr._.js +3 -0
- package/.next/server/chunks/ssr/_1wfh-5dxhj11n._.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app__not-found_page_actions_0pt47yr.js → _next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_admin_page_actions_1mcickz.js → _next-internal_server_app_admin_page_actions_1mcickzfofbmo.js} +2 -2
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gsw9br4u.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9akl69m75.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app_exams_[id]_page_actions_1kushg5.js → _next-internal_server_app_exams_[id]_page_actions_1kushg5crt5ed.js} +1 -1
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxqldskme.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app_exams_page_actions_0av69f-.js → _next-internal_server_app_exams_page_actions_0av69f-jb4_80.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_login_page_actions_04fnjo0.js → _next-internal_server_app_login_page_actions_04fnjo0ny9dmg.js} +2 -2
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2lc_po5.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7tmcbrj.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app_notebooks_page_actions_06x1kdz.js → _next-internal_server_app_notebooks_page_actions_06x1kdz034ff8.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_page_actions_0hhsz1j.js → _next-internal_server_app_page_actions_0hhsz1jew5ls7.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_practice_page_actions_0cy-h5n.js → _next-internal_server_app_practice_page_actions_0cy-h5n6gnmoq.js} +2 -2
- package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaalnnytwbd.js +3 -0
- package/.next/server/chunks/ssr/{_next-internal_server_app_register_page_actions_1op-s-x.js → _next-internal_server_app_register_page_actions_1op-s-xpplkgy.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_stats_page_actions_1olf1_a.js → _next-internal_server_app_stats_page_actions_1olf1_ad6s7ee.js} +2 -2
- package/.next/server/chunks/ssr/{_next-internal_server_app_tags_page_actions_20v_n--.js → _next-internal_server_app_tags_page_actions_20v_n--6ltjkg.js} +1 -1
- package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_1y5ym6hiirb6m._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@radix-ui_0im69oqv_i2ki._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@radix-ui_0zibxpne20gfo._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_@radix-ui_react-roving-focus_dist_index_mjs_0jdjq3jxbmizo._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_15-zi1i74qu9j._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1_p6srzucwl-s._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1g_su6v6_1gmz._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_printer_0pprvafgadlwd.js +3 -0
- package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_wand-sparkles_1e4rylzm0nkbv.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_0ufsi7bhcumza._.js +23 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1g0hsq_f-fygr._.js +14 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1gey_lsf9b_wo._.js +5 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_1khq67j4vo9y4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i643j53._.js +33 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-620erc29b8l.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_02t4jbzz34_x5.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06zp_1r4dyujd.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_07zpyh6_aix9e.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08b8vpe4ydv2l.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0927yli_zsjiv.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ab39qicq17ku.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dq5iwc4xesq1.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mfa8uq-ofoud.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14rvnul2svrv8.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15yshykizhy_t.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17vx074zs1h7f.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18uzvmzy5tpu_.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_196bmtjcgr159.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1aq9r3iw9g7qi.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1e1odqisoi2pv.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1l6unubiwsg9f.js +3 -0
- package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ya73f4o4_7mr.js +3 -0
- package/.next/server/chunks/ssr/src_13u20tdu4gmgj._.js +3 -0
- package/.next/server/chunks/ssr/src_1gayunqs8u2e2._.js +3 -0
- package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0w90cx_._.js +3 -0
- package/.next/server/chunks/ssr/src_app_admin_user_[id]_page_tsx_0zidp-8hr5upa._.js +3 -0
- package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdmyh7_9q._.js +3 -0
- package/.next/server/chunks/ssr/src_app_exams_[id]_page_tsx_0xcjflkgkwzgd._.js +3 -0
- package/.next/server/chunks/ssr/src_app_exams_[id]_print_page_tsx_1i-xvhk8ul1l1._.js +35 -0
- package/.next/server/chunks/ssr/src_app_exams_page_tsx_17_d4_gy2i1ds._.js +3 -0
- package/.next/server/chunks/ssr/src_app_login_page_tsx_0yrgg2z_juzv9._.js +3 -0
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_add_page_tsx_179tow1ql6vc_._.js +3 -0
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5-txm8_._.js +3 -0
- package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5gnz_40._.js +3 -0
- package/.next/server/chunks/ssr/src_app_page_tsx_1chiuahujsxm1._.js +3 -0
- package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53v3kpzb._.js +3 -0
- package/.next/server/chunks/ssr/src_app_print-preview_page_tsx_001yt-fzrj7tf._.js +3 -0
- package/.next/server/chunks/ssr/src_app_register_page_tsx_0l87b3754fa2j._.js +3 -0
- package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4hv_zlp._.js +3 -0
- package/.next/server/chunks/ssr/src_components_difficulty-stars_tsx_1af9qqfurq7_t._.js +3 -0
- package/.next/server/chunks/ssr/src_components_mastery-panel_tsx_1--j5c7mhomdp._.js +3 -0
- package/.next/server/chunks/ssr/src_components_practice-result-picker_tsx_06jytymet6adu._.js +3 -0
- package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv3nb6xs._.js +193 -0
- package/.next/server/chunks/ssr/src_components_settings_duplicate-threshold-setting_tsx_06bbmwo1pkaim._.js +3 -0
- package/.next/server/chunks/ssr/src_components_tag-input_tsx_0b9sxffna5c9i._.js +3 -0
- package/.next/server/chunks/ssr/src_components_ui_checkbox_tsx_0xdylzmai9n53._.js +3 -0
- package/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +7 -0
- package/.next/server/chunks/ssr/src_components_ui_tabs_tsx_0skssvsquc-9c._.js +3 -0
- package/.next/server/chunks/ssr/src_lib_constants_pagination_ts_02h78dpuabai5._.js +3 -0
- package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctny6_q66._.js +3 -0
- package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u3yic3e._.js +3 -0
- package/.next/server/edge/chunks/_1s0wgnupch4sb._.js +3 -0
- package/.next/server/edge/chunks/node_modules_0um8zwzayafzq._.js +13 -0
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_0dxg4rr5z738i.js +3 -0
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_0dzf5yhexv02u.js +3 -0
- package/.next/server/instrumentation.js +3 -3
- package/.next/server/middleware-build-manifest.js +208 -9
- package/.next/server/middleware-manifest.json +13 -13
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +0 -4
- package/.next/server/pages/500.html +1 -1
- package/.next/server/preview-props.json +5 -0
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/{w6W6dMBYlP4wbCdeRcVhA → 0rqQXLDvfc_jhsn1XF-zT}/_clientMiddlewareManifest.js +2 -2
- package/.next/static/chunks/02arashg5z9hy.js +1 -0
- package/.next/static/chunks/030eh13-7xvy7.js +1 -0
- package/.next/static/chunks/06q8lm6y95ac4.css +1 -0
- package/.next/static/chunks/07zxudgwttnwv.js +6 -0
- package/.next/static/chunks/089-9u4pe2h49.js +1 -0
- package/.next/static/chunks/093w4w_19h9qh.js +31 -0
- package/.next/static/chunks/0a-rekt06v0sv.js +1 -0
- package/.next/static/chunks/0dlztx_6_yfcq.js +1 -0
- package/.next/static/chunks/0e7mao0hn_nw4.js +1 -0
- package/.next/static/chunks/0fiebviba_0be.js +33 -0
- package/.next/static/chunks/0ipduzu-11mee.js +1 -0
- package/.next/static/chunks/0myk7euf03qwr.js +1 -0
- package/.next/static/chunks/0s6zcnahk3us4.js +5 -0
- package/.next/static/chunks/0ub8l5nongf_r.js +1 -0
- package/.next/static/chunks/0ykhi6pk49so-.js +1 -0
- package/.next/static/chunks/14a1tth-1ddn-.js +1 -0
- package/.next/static/chunks/15e5p9740moee.js +1 -0
- package/.next/static/chunks/19js5h26_4w0w.js +1 -0
- package/.next/static/chunks/1_h2h09t_394a.js +1 -0
- package/.next/static/chunks/1fhxsoq06x1_e.js +1 -0
- package/.next/static/chunks/1fl98iro7y1bv.js +1 -0
- package/.next/static/chunks/1kq7w30gvsyaq.js +1 -0
- package/.next/static/chunks/1wqqkfg03tuu1.js +1 -0
- package/.next/static/chunks/23v229-qd9o6o.js +1 -0
- package/.next/static/chunks/242x7dx0zu3hf.js +1 -0
- package/.next/static/chunks/26gl990fowmkx.js +1 -0
- package/.next/static/chunks/2c2gi_zxaaa-j.js +3 -0
- package/.next/static/chunks/2l-1t8-pfq4ph.js +1 -0
- package/.next/static/chunks/2tu_d3t2boag2.js +1 -0
- package/.next/static/chunks/2v3rvsf6-bnfs.js +1 -0
- package/.next/static/chunks/2xlmm9z_sr1_m.js +1 -0
- package/.next/static/chunks/2y8ek6g772mi5.js +191 -0
- package/.next/static/chunks/2ysjbje-zsbdp.js +1 -0
- package/.next/static/chunks/384cc0iojva04.css +3 -0
- package/.next/static/chunks/3mb_v650fie_i.js +22 -0
- package/.next/static/chunks/3r4z_6i5z0hd5.js +1 -0
- package/.next/static/chunks/3sqcsxnhsnxzo.js +1 -0
- package/.next/static/chunks/turbopack-2c3mg3r-05n1w.js +1 -0
- package/LICENSE +22 -0
- package/launcher.js +22 -6
- package/package.json +4 -3
- package/prisma/migrations/20261022000141_add_svg_animation_en/migration.sql +2 -0
- package/prisma/migrations/20261024000000_add_last_practice/migration.sql +2 -0
- package/prisma/schema.prisma +3 -1
- 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/server.js +1 -1
- package/.next/server/app/api/error-items/[id]/mastery/route/app-paths-manifest.json +0 -3
- package/.next/server/app/api/error-items/[id]/mastery/route/build-manifest.json +0 -12
- package/.next/server/app/api/error-items/[id]/mastery/route/server-reference-manifest.json +0 -4
- package/.next/server/app/api/error-items/[id]/mastery/route.js +0 -8
- package/.next/server/app/api/error-items/[id]/mastery/route.js.map +0 -5
- package/.next/server/app/api/error-items/[id]/mastery/route.js.nft.json +0 -1
- package/.next/server/app/api/error-items/[id]/mastery/route_client-reference-manifest.js +0 -3
- package/.next/server/app/latex-test/page/app-paths-manifest.json +0 -3
- package/.next/server/app/latex-test/page/build-manifest.json +0 -20
- package/.next/server/app/latex-test/page/next-font-manifest.json +0 -11
- package/.next/server/app/latex-test/page/react-loadable-manifest.json +0 -1
- package/.next/server/app/latex-test/page/server-reference-manifest.json +0 -4
- package/.next/server/app/latex-test/page.js +0 -14
- package/.next/server/app/latex-test/page.js.map +0 -5
- package/.next/server/app/latex-test/page.js.nft.json +0 -1
- package/.next/server/app/latex-test/page_client-reference-manifest.js +0 -3
- package/.next/server/chunks/1jng_app_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3.js +0 -3
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1.js +0 -3
- package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3.js +0 -3
- package/.next/server/chunks/[externals]__04n7qbr._.js +0 -3
- package/.next/server/chunks/[externals]__0pot68n._.js +0 -3
- package/.next/server/chunks/[externals]__1735khz._.js +0 -3
- package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +0 -153
- package/.next/server/chunks/[root-of-the-server]__01bzczj._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__02j1w81._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__03nfvnm._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__04tyyvs._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__05s4wut._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__06_nln5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__06h5afw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0akadps._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0be5c5r._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0bqawi0._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0bsw5c9._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0c59gc3._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0cmxmwt._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0d5dpu4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0d9ijed._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0e22a4y._.js +0 -122
- package/.next/server/chunks/[root-of-the-server]__0fnyu4s._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0gp88gz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0inxsnu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0j5231l._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0jaawra._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0k-nf6a._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0k-p1pj._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0lrdm1u._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0lro5a7._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0m8p-6f._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0mfjf2y._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0mqorxb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0no6umu._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0nqbham._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0o9gtvd._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0obb4y-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0p3u6_q._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0rk_yxy._.js +0 -9
- package/.next/server/chunks/[root-of-the-server]__0rmrkd_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0tdibjz._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0u58zap._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0vhjihq._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0vz88er._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0wf9znr._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0yc8r2x._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0zv7jom._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11_-ncy._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11_1z7m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11n87go._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__11p4ahb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +0 -32
- package/.next/server/chunks/[root-of-the-server]__131taws._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__13ebiit._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1413v0e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__14dnbrn._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__14jqm9_._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__152lbaw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__15tkoe6._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__16begv4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__17duis5._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__17q3k-v._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__184u6de._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18atlj8._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18c7l6u._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__18zrkky._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__19vj8qy._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1_gkx5x._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1aaux7e._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1cceu4b._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1cn6rlb._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1csfdxc._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1ezwxao._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1g1wi9i._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1gmc_uw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1h09r50._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1hpwwxw._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1j6mx-v._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1jdi-1f._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1jtd2ar._.js +0 -6
- package/.next/server/chunks/[root-of-the-server]__1ju8z29._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1kpo44g._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1kqv61m._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1lct0vi._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1loecue._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1m4-ab6._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1mkpya8._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1nmtv65._.js +0 -10
- package/.next/server/chunks/[root-of-the-server]__1nwf3ua._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1oup682._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1p8hw44._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1pplzr1._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1rsn804._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1sdtn83._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1u-1vx4._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1v6nwhq._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +0 -32
- package/.next/server/chunks/[root-of-the-server]__20465pr._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__207mxv8._.js +0 -3
- package/.next/server/chunks/_0-eguqv._.js +0 -3
- package/.next/server/chunks/_008zx49._.js +0 -3
- package/.next/server/chunks/_011-ll5._.js +0 -3
- package/.next/server/chunks/_0389uce._.js +0 -3
- package/.next/server/chunks/_0431fxn._.js +0 -3
- package/.next/server/chunks/_0_o8yhv._.js +0 -3
- package/.next/server/chunks/_0c5hvv3._.js +0 -11
- package/.next/server/chunks/_0ekrwj-._.js +0 -36
- package/.next/server/chunks/_0frix22._.js +0 -11
- package/.next/server/chunks/_0gwg6ba._.js +0 -3
- package/.next/server/chunks/_0gxi3zr._.js +0 -3
- package/.next/server/chunks/_0lz3t4l._.js +0 -19
- package/.next/server/chunks/_0rdo0a4._.js +0 -3
- package/.next/server/chunks/_0uxp3uh._.js +0 -3
- package/.next/server/chunks/_0x3ltk0._.js +0 -36
- package/.next/server/chunks/_12w5k19._.js +0 -3
- package/.next/server/chunks/_13ffmxv._.js +0 -3
- package/.next/server/chunks/_14tz_k9._.js +0 -3
- package/.next/server/chunks/_167vv93._.js +0 -3
- package/.next/server/chunks/_16jdov0._.js +0 -3
- package/.next/server/chunks/_18amra5._.js +0 -3
- package/.next/server/chunks/_1_ns7o3._.js +0 -3
- package/.next/server/chunks/_1a1aqmi._.js +0 -3
- package/.next/server/chunks/_1a1udq0._.js +0 -3
- package/.next/server/chunks/_1b0269x._.js +0 -3
- package/.next/server/chunks/_1b7qjlv._.js +0 -3
- package/.next/server/chunks/_1be-y66._.js +0 -3
- package/.next/server/chunks/_1e1h1f1._.js +0 -3
- package/.next/server/chunks/_1ex6ovo._.js +0 -3
- package/.next/server/chunks/_1fgb9ve._.js +0 -3
- package/.next/server/chunks/_1flar98._.js +0 -3
- package/.next/server/chunks/_1m-yyz-._.js +0 -3
- package/.next/server/chunks/_1oj6gy_._.js +0 -3
- package/.next/server/chunks/_1pvqo-q._.js +0 -3
- package/.next/server/chunks/_1z_ujac._.js +0 -3
- package/.next/server/chunks/_211va-d._.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_detail_route_actions_0oe_wkt.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_delete_route_actions_1w26boq.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_figure_route_actions_0adlts0.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhx.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uv.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5yl.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_mastery_route_actions_1l5uan6.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4n.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4ux.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_batch-delete_route_actions_0hiq_1k.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0p.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_short_[shortId]_route_actions_02976v-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_c.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxepty.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t8.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxg.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oen.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiom.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sj.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyv.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +0 -3
- package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz0.js +0 -3
- package/.next/server/chunks/node_modules_next_1zdbrne._.js +0 -10
- package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +0 -22
- package/.next/server/chunks/src_0tzpy5j._.js +0 -3
- package/.next/server/chunks/src_lib_date-time_ts_14chb27._.js +0 -3
- package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-._.js +0 -3
- package/.next/server/chunks/ssr/[externals]_fs_0pplqgc._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__00gewu3._.js +0 -35
- package/.next/server/chunks/ssr/[root-of-the-server]__05f8wbh._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0a0nty7._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ax9dog._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0b8kewv._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0bvtza7._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__0g_-bym._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0gwwr7e._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0hzktoi._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0icjezr._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0koj8h0._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0s87xha._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0snpjfe._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0ybs_4c._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__14l7peq._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1507q8a._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__15ppb9j._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__191jn5n._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +0 -33
- package/.next/server/chunks/ssr/[root-of-the-server]__1gth76-._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1ko_dw5._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1l84pks._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1m7qw-2._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1ma2oml._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1o8jotz._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1o__w27._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1p7f0va._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1sg9eoj._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1u74hyi._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__1xsovpr._.js +0 -3
- package/.next/server/chunks/ssr/_054yhx9._.js +0 -3
- package/.next/server/chunks/ssr/_07ls0n_._.js +0 -3
- package/.next/server/chunks/ssr/_0i9hwpv._.js +0 -3
- package/.next/server/chunks/ssr/_0iqp5hs._.js +0 -3
- package/.next/server/chunks/ssr/_0m1-rq-._.js +0 -3
- package/.next/server/chunks/ssr/_0mgbe2b._.js +0 -3
- package/.next/server/chunks/ssr/_0nv22wt._.js +0 -3
- package/.next/server/chunks/ssr/_0rz2_qb._.js +0 -151
- package/.next/server/chunks/ssr/_0sbbx9z._.js +0 -7
- package/.next/server/chunks/ssr/_0sf1gd9._.js +0 -3
- package/.next/server/chunks/ssr/_0uemk57._.js +0 -3
- package/.next/server/chunks/ssr/_0zj7dlu._.js +0 -3
- package/.next/server/chunks/ssr/_12c20v5._.js +0 -3
- package/.next/server/chunks/ssr/_17igtpd._.js +0 -3
- package/.next/server/chunks/ssr/_1filpif._.js +0 -3
- package/.next/server/chunks/ssr/_1gu1rou._.js +0 -3
- package/.next/server/chunks/ssr/_1jniqsj._.js +0 -3
- package/.next/server/chunks/ssr/_1kgnhmo._.js +0 -8
- package/.next/server/chunks/ssr/_1lt1lhz._.js +0 -8
- package/.next/server/chunks/ssr/_1yeu09q._.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gs.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9ak.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxq.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_latex-test_page_actions_19v7ka0.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7.js +0 -3
- package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaaln.js +0 -3
- package/.next/server/chunks/ssr/node_modules_0o2aki7._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_1y5ym6h._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_1lnqo1a._.js +0 -5
- package/.next/server/chunks/ssr/node_modules_next_dist_077yo5w._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +0 -6
- package/.next/server/chunks/ssr/node_modules_next_dist_1_c-t1n._.js +0 -14
- package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +0 -33
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +0 -3
- package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +0 -3
- package/.next/server/chunks/ssr/src_1biegcg._.js +0 -3
- package/.next/server/chunks/ssr/src_1gayunq._.js +0 -3
- package/.next/server/chunks/ssr/src_1o363ao._.js +0 -3
- package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0._.js +0 -3
- package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +0 -3
- package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +0 -3
- package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5._.js +0 -3
- package/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +0 -3
- package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53._.js +0 -3
- package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4._.js +0 -3
- package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +0 -193
- package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctn._.js +0 -3
- package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u._.js +0 -3
- package/.next/server/edge/chunks/_1s0wgnu._.js +0 -3
- package/.next/server/edge/chunks/node_modules_0g4gi6f._.js +0 -13
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1iafar9.js +0 -3
- package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1x1n1fx.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/130ch9mnvb6mp.css +0 -3
- 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/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/2w2uo9jjxt-re.js +0 -1
- package/.next/static/chunks/2wnnnmbh85mq_.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/3c4-ozf1dxam2.css +0 -1
- package/.next/static/chunks/3g1rm2suowncy.js +0 -3
- package/.next/static/chunks/3helovsg02qr4.js +0 -1
- package/.next/static/chunks/3hz1l3qoxv84t.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/{w6W6dMBYlP4wbCdeRcVhA → 0rqQXLDvfc_jhsn1XF-zT}/_buildManifest.js +0 -0
- /package/.next/static/{w6W6dMBYlP4wbCdeRcVhA → 0rqQXLDvfc_jhsn1XF-zT}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,306831,e=>{"use strict";var t;let n={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function r(e){return (t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}let a={date:r({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:r({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:r({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},i={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function o(e){return(t,n)=>{let r;if("formatting"===(n?.context?String(n.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,a=n?.width?String(n.width):t;r=e.formattingValues[a]||e.formattingValues[t]}else{let t=e.defaultWidth,a=n?.width?String(n.width):e.defaultWidth;r=e.values[a]||e.values[t]}return r[e.argumentCallback?e.argumentCallback(t):t]}}function u(e){return(t,n={})=>{let r,a=n.width,i=a&&e.matchPatterns[a]||e.matchPatterns[e.defaultMatchWidth],o=t.match(i);if(!o)return null;let u=o[0],s=a&&e.parsePatterns[a]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(s)?function(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}(s,e=>e.test(u)):function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}(s,e=>e.test(u));return r=e.valueCallback?e.valueCallback(l):l,{value:r=n.valueCallback?n.valueCallback(r):r,rest:t.slice(u.length)}}}let s={code:"en-US",formatDistance:(e,t,r)=>{let a,i=n[e];if(a="string"==typeof i?i:1===t?i.one:i.other.replace("{{count}}",t.toString()),r?.addSuffix)if(r.comparison&&r.comparison>0)return"in "+a;else return a+" ago";return a},formatLong:a,formatRelative:(e,t,n,r)=>i[e],localize:{ordinalNumber:(e,t)=>{let n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},era:o({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:o({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:o({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:o({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:o({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(t={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,n={})=>{let r=e.match(t.matchPattern);if(!r)return null;let a=r[0],i=e.match(t.parsePattern);if(!i)return null;let o=t.valueCallback?t.valueCallback(i[0]):i[0];return{value:o=n.valueCallback?n.valueCallback(o):o,rest:e.slice(a.length)}}),era:u({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:u({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:u({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:u({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:u({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},l={},c=Symbol.for("constructDateFrom");function d(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&c in e?e[c](t):e instanceof Date?new e.constructor(t):new Date(t)}function h(e,t){return d(t||e,e)}function f(e){let t=h(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),e-n}function m(e,t){let n=h(e,t?.in);return n.setHours(0,0,0,0),n}function g(e,t){let n=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??l.weekStartsOn??l.locale?.options?.weekStartsOn??0,r=h(e,t?.in),a=r.getDay();return r.setDate(r.getDate()-(7*(a<n)+a-n)),r.setHours(0,0,0,0),r}function w(e,t){return g(e,{...t,weekStartsOn:1})}function b(e,t){let n=h(e,t?.in),r=n.getFullYear(),a=d(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);let i=w(a),o=d(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let u=w(o);return n.getTime()>=i.getTime()?r+1:n.getTime()>=u.getTime()?r:r-1}function y(e,t){let n=h(e,t?.in),r=n.getFullYear(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??l.firstWeekContainsDate??l.locale?.options?.firstWeekContainsDate??1,i=d(t?.in||e,0);i.setFullYear(r+1,0,a),i.setHours(0,0,0,0);let o=g(i,t),u=d(t?.in||e,0);u.setFullYear(r,0,a),u.setHours(0,0,0,0);let s=g(u,t);return+n>=+o?r+1:+n>=+s?r:r-1}function p(e,t){let n=Math.abs(e).toString().padStart(t,"0");return(e<0?"-":"")+n}let M={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return p("yy"===t?r%100:r,t.length)},M(e,t){let n=e.getMonth();return"M"===t?String(n+1):p(n+1,2)},d:(e,t)=>p(e.getDate(),t.length),a(e,t){let n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return"am"===n?"a.m.":"p.m."}},h:(e,t)=>p(e.getHours()%12||12,t.length),H:(e,t)=>p(e.getHours(),t.length),m:(e,t)=>p(e.getMinutes(),t.length),s:(e,t)=>p(e.getSeconds(),t.length),S(e,t){let n=t.length;return p(Math.trunc(e.getMilliseconds()*Math.pow(10,n-3)),t.length)}},D={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if("yo"===t){let t=e.getFullYear();return n.ordinalNumber(t>0?t:1-t,{unit:"year"})}return M.y(e,t)},Y:function(e,t,n,r){let a=y(e,r),i=a>0?a:1-a;return"YY"===t?p(i%100,2):"Yo"===t?n.ordinalNumber(i,{unit:"year"}):p(i,t.length)},R:function(e,t){return p(b(e),t.length)},u:function(e,t){return p(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return p(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return p(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){let r=e.getMonth();switch(t){case"M":case"MM":return M.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){let r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return p(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){let a,i,o,u,s=Math.round((g(a=h(e,r?.in),r)-(i=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??l.firstWeekContainsDate??l.locale?.options?.firstWeekContainsDate??1,o=y(a,r),(u=d(r?.in||a,0)).setFullYear(o,0,i),u.setHours(0,0,0,0),g(u,r)))/6048e5)+1;return"wo"===t?n.ordinalNumber(s,{unit:"week"}):p(s,t.length)},I:function(e,t,n){let r,a,i,o=Math.round((w(r=h(e,void 0))-(a=b(r,void 0),(i=d(r,0)).setFullYear(a,0,4),i.setHours(0,0,0,0),w(i)))/6048e5)+1;return"Io"===t?n.ordinalNumber(o,{unit:"week"}):p(o,t.length)},d:function(e,t,n){return"do"===t?n.ordinalNumber(e.getDate(),{unit:"date"}):M.d(e,t)},D:function(e,t,n){let r,a,i=function(e,t){let[n,r]=function(e,...t){let n=d.bind(null,e||t.find(e=>"object"==typeof e));return t.map(n)}(void 0,e,t),a=m(n),i=m(r);return Math.round((a-f(a)-(i-f(i)))/864e5)}(a=h(e,void 0),((r=h(a,void 0)).setFullYear(r.getFullYear(),0,1),r.setHours(0,0,0,0),r))+1;return"Do"===t?n.ordinalNumber(i,{unit:"dayOfYear"}):p(i,t.length)},E:function(e,t,n){let r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){let a=e.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(i);case"ee":return p(i,2);case"eo":return n.ordinalNumber(i,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){let a=e.getDay(),i=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(i);case"cc":return p(i,t.length);case"co":return n.ordinalNumber(i,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){let r=e.getDay(),a=0===r?7:r;switch(t){case"i":return String(a);case"ii":return p(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){let r=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(e,t,n){let r,a=e.getHours();switch(r=12===a?"noon":0===a?"midnight":a/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(e,t,n){let r,a=e.getHours();switch(r=a>=17?"evening":a>=12?"afternoon":a>=4?"morning":"night",t){case"B":case"BB":case"BBB":return n.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(r,{width:"narrow",context:"formatting"});default:return n.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(e,t,n){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),n.ordinalNumber(t,{unit:"hour"})}return M.h(e,t)},H:function(e,t,n){return"Ho"===t?n.ordinalNumber(e.getHours(),{unit:"hour"}):M.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return"Ko"===t?n.ordinalNumber(r,{unit:"hour"}):p(r,t.length)},k:function(e,t,n){let r=e.getHours();return(0===r&&(r=24),"ko"===t)?n.ordinalNumber(r,{unit:"hour"}):p(r,t.length)},m:function(e,t,n){return"mo"===t?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):M.m(e,t)},s:function(e,t,n){return"so"===t?n.ordinalNumber(e.getSeconds(),{unit:"second"}):M.s(e,t)},S:function(e,t){return M.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(0===r)return"Z";switch(t){case"X":return x(r);case"XXXX":case"XX":return T(r);default:return T(r,":")}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"x":return x(r);case"xxxx":case"xx":return T(r);default:return T(r,":")}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+v(r,":");default:return"GMT"+T(r,":")}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+v(r,":");default:return"GMT"+T(r,":")}},t:function(e,t,n){return p(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return p(+e,t.length)}};function v(e,t=""){let n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),i=r%60;return 0===i?n+String(a):n+String(a)+t+p(i,2)}function x(e,t){return e%60==0?(e>0?"-":"+")+p(Math.abs(e)/60,2):T(e,t)}function T(e,t=""){let n=Math.abs(e);return(e>0?"-":"+")+p(Math.trunc(n/60),2)+t+p(n%60,2)}let S=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},k=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},P={p:k,P:(e,t)=>{let n,r=e.match(/(P+)(p+)?/)||[],a=r[1],i=r[2];if(!i)return S(e,t);switch(a){case"P":n=t.dateTime({width:"short"});break;case"PP":n=t.dateTime({width:"medium"});break;case"PPP":n=t.dateTime({width:"long"});break;default:n=t.dateTime({width:"full"})}return n.replace("{{date}}",S(a,t)).replace("{{time}}",k(i,t))}},C=/^D+$/,W=/^Y+$/,Y=["D","DD","YY","YYYY"],F=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,O=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,N=/^'([^]*?)'?$/,I=/''/g,H=/[a-zA-Z]/;function z(e,t,n){var r,a,i,o,u;let s,c,d=Object.assign({},l),h=(r=e,a=n.timeZone,i=n.locale??d.locale,new Intl.DateTimeFormat(i?[i.code,"en-US"]:void 0,{timeZone:a,timeZoneName:r}));return"formatToParts"in h?function(e,t){let n=e.formatToParts(t);for(let e=n.length-1;e>=0;--e)if("timeZoneName"===n[e].type)return n[e].value}(h,t):(o=h,u=t,s=o.format(u).replace(/\u200E/g,""),(c=/ [\w-+ ]+$/.exec(s))?c[0].substr(1):"")}let q={year:0,month:1,day:2,hour:3,minute:4,second:5},U={},j=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),E="06/25/2014, 00:00:00"===j||"06/25/2014 00:00:00"===j;function $(e,t,n,r,a,i,o){let u=new Date(0);return u.setUTCFullYear(e,t,n),u.setUTCHours(r,a,i,o),u}let Z=/^(Z)$/,X=/^([+-]\d{2})$/,A=/^([+-])(\d{2}):?(\d{2})$/;function L(e,t,n){let r,a;if(!e)return 0;let i=Z.exec(e);if(i)return 0;if(i=X.exec(e))return Q(r=parseInt(i[1],10))?-(36e5*r):0/0;if(i=A.exec(e)){r=parseInt(i[2],10);let e=parseInt(i[3],10);return Q(r,e)?(a=36e5*Math.abs(r)+6e4*e,"+"===i[1]?-a:a):0/0}if(function(e){if(B[e])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:e}),B[e]=!0,!0}catch(e){return!1}}(e)){var o;t=new Date(t||Date.now());let r=G(n?t:$((o=t).getFullYear(),o.getMonth(),o.getDate(),o.getHours(),o.getMinutes(),o.getSeconds(),o.getMilliseconds()),e);return-(n?r:function(e,t,n){let r=e.getTime()-t,a=G(new Date(r),n);if(t===a)return t;let i=G(new Date(r-=a-t),n);return a===i?a:Math.max(a,i)}(t,r,e))}return 0/0}function G(e,t){var n,r,a;let i,o,u,s=(U[n=t]||(U[n]=E?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:n,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),"formatToParts"in(u=U[n])?function(e,t){try{let n=e.formatToParts(t),r=[];for(let e=0;e<n.length;e++){let t=q[n[e].type];void 0!==t&&(r[t]=parseInt(n[e].value,10))}return r}catch(e){if(e instanceof RangeError)return[0/0];throw e}}(u,e):(r=u,a=e,i=r.format(a),[parseInt((o=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(i))[3],10),parseInt(o[1],10),parseInt(o[2],10),parseInt(o[4],10),parseInt(o[5],10),parseInt(o[6],10)])),l=$(s[0],s[1]-1,s[2],s[3]%24,s[4],s[5],0).getTime(),c=e.getTime(),d=c%1e3;return l-(c-=d>=0?d:1e3+d)}function Q(e,t){return -23<=e&&e<=23&&(null==t||0<=t&&t<=59)}let B={},J={X:function(e,t,n){let r=R(n.timeZone,e);if(0===r)return"Z";switch(t){case"X":return _(r);case"XXXX":case"XX":return V(r);default:return V(r,":")}},x:function(e,t,n){let r=R(n.timeZone,e);switch(t){case"x":return _(r);case"xxxx":case"xx":return V(r);default:return V(r,":")}},O:function(e,t,n){let r=R(n.timeZone,e);switch(t){case"O":case"OO":case"OOO":return"GMT"+function(e,t=""){let n=e>0?"-":"+",r=Math.abs(e),a=Math.floor(r/60),i=r%60;return 0===i?n+String(a):n+String(a)+t+K(i,2)}(r,":");default:return"GMT"+V(r,":")}},z:function(e,t,n){switch(t){case"z":case"zz":case"zzz":return z("short",e,n);default:return z("long",e,n)}}};function R(e,t){let n=e?L(e,t,!0)/6e4:t?.getTimezoneOffset()??0;if(Number.isNaN(n))throw RangeError("Invalid time zone specified: "+e);return n}function K(e,t){let n=Math.abs(e).toString();for(;n.length<t;)n="0"+n;return(e<0?"-":"")+n}function V(e,t=""){let n=Math.abs(e);return(e>0?"-":"+")+K(Math.floor(n/60),2)+t+K(Math.floor(n%60),2)}function _(e,t){return e%60==0?(e>0?"-":"+")+K(Math.abs(e)/60,2):V(e,t)}function ee(e){let t=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return t.setUTCFullYear(e.getFullYear()),e-t}let et=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,en=/^([0-9W+-]+)(T| )(.*)/,er=/^([0-9W+-]+)(.*)/,ea=/^(\d{2})$/,ei=[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],eo=/^(\d{4})/,eu=[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],es=/^-(\d{2})$/,el=/^-?(\d{3})$/,ec=/^-?(\d{2})-?(\d{2})$/,ed=/^-?W(\d{2})$/,eh=/^-?W(\d{2})-?(\d{1})$/,ef=/^(\d{2}([.,]\d*)?)$/,em=/^(\d{2}):?(\d{2}([.,]\d*)?)$/,eg=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/;function ew(e,t={}){if(arguments.length<1)throw TypeError("1 argument required, but only "+arguments.length+" present");if(null===e)return new Date(0/0);let n=null==t.additionalDigits?2:Number(t.additionalDigits);if(2!==n&&1!==n&&0!==n)throw RangeError("additionalDigits must be 0, 1 or 2");if(e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e))return new Date(e.getTime());if("number"==typeof e||"[object Number]"===Object.prototype.toString.call(e))return new Date(e);if("[object String]"!==Object.prototype.toString.call(e))return new Date(0/0);let r=function(e){let t,n={},r=en.exec(e);if(r?(n.date=r[1],t=r[3]):(r=er.exec(e))?(n.date=r[1],t=r[2]):(n.date=null,t=e),t){let e=et.exec(t);e?(n.time=t.replace(e[1],""),n.timeZone=e[1].trim()):n.time=t}return n}(e),{year:a,restDateString:i}=function(e,t){if(e){let n=ei[t],r=eu[t],a=eo.exec(e)||r.exec(e);if(a){let t=a[1];return{year:parseInt(t,10),restDateString:e.slice(t.length)}}if(a=ea.exec(e)||n.exec(e)){let t=a[1];return{year:100*parseInt(t,10),restDateString:e.slice(t.length)}}}return{year:null}}(r.date,n),o=function(e,t){let n,r,a;if(null===t)return null;if(!e||!e.length)return(n=new Date(0)).setUTCFullYear(t),n;let i=es.exec(e);if(i)return(n=new Date(0),eD(t,r=parseInt(i[1],10)-1))?(n.setUTCFullYear(t,r),n):new Date(0/0);if(i=el.exec(e)){n=new Date(0);let e=parseInt(i[1],10);return!function(e,t){if(t<1)return!1;let n=eM(e);return(!n||!(t>366))&&(!!n||!(t>365))}(t,e)?new Date(0/0):(n.setUTCFullYear(t,0,e),n)}if(i=ec.exec(e)){n=new Date(0),r=parseInt(i[1],10)-1;let e=parseInt(i[2],10);return eD(t,r,e)?(n.setUTCFullYear(t,r,e),n):new Date(0/0)}if(i=ed.exec(e))return ev(a=parseInt(i[1],10)-1)?eb(t,a):new Date(0/0);if(i=eh.exec(e)){a=parseInt(i[1],10)-1;let e=parseInt(i[2],10)-1;return ev(a,e)?eb(t,a,e):new Date(0/0)}return null}(i,a);if(null===o||isNaN(o.getTime())||!o)return new Date(0/0);{let e,n=o.getTime(),a=0;if(r.time&&(null===(a=function(e){let t,n,r=ef.exec(e);if(r)return ex(t=parseFloat(r[1].replace(",",".")))?t%24*36e5:0/0;if(r=em.exec(e))return ex(t=parseInt(r[1],10),n=parseFloat(r[2].replace(",",".")))?t%24*36e5+6e4*n:0/0;if(r=eg.exec(e)){t=parseInt(r[1],10),n=parseInt(r[2],10);let e=parseFloat(r[3].replace(",","."));return ex(t,n,e)?t%24*36e5+6e4*n+1e3*e:0/0}return null}(r.time))||isNaN(a)))return new Date(0/0);if(r.timeZone||t.timeZone){if(isNaN(e=L(r.timeZone||t.timeZone,new Date(n+a))))return new Date(0/0)}else e=ee(new Date(n+a)),e=ee(new Date(n+a+e));return new Date(n+a+e)}}function eb(e,t,n){t=t||0,n=n||0;let r=new Date(0);r.setUTCFullYear(e,0,4);let a=7*t+n+1-(r.getUTCDay()||7);return r.setUTCDate(r.getUTCDate()+a),r}let ey=[31,28,31,30,31,30,31,31,30,31,30,31],ep=[31,29,31,30,31,30,31,31,30,31,30,31];function eM(e){return e%400==0||e%4==0&&e%100!=0}function eD(e,t,n){if(t<0||t>11)return!1;if(null!=n){if(n<1)return!1;let r=eM(e);if(r&&n>ep[t]||!r&&n>ey[t])return!1}return!0}function ev(e,t){return!(e<0)&&!(e>52)&&(null==t||!(t<0)&&!(t>6))}function ex(e,t,n){return!(e<0)&&!(e>=25)&&(null==t||!(t<0)&&!(t>=60))&&(null==n||!(n<0)&&!(n>=60))}let eT=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function eS(e,t,n){let r=L(t,e=ew(e,n),!0),a=new Date(e.getTime()-r),i=new Date(0);return i.setFullYear(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate()),i.setHours(a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds()),i}let ek="Asia/Shanghai";function eP(e,t="yyyy-MM-dd HH:mm",n=ek){var r;return r={...r,timeZone:n,originalDate:e},function(e,t,n={}){let r=(t=String(t)).match(eT);if(r){let a=ew(n.originalDate||e,n);t=r.reduce(function(e,t){if("'"===t[0])return e;let r=e.indexOf(t),i="'"===e[r-1],o=e.replace(t,"'"+J[t[0]](a,t,n)+"'");return i?o.substring(0,r-1)+o.substring(r+1):o},t)}return function(e,t,n){let r=n?.locale??l.locale??s,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??l.firstWeekContainsDate??l.locale?.options?.firstWeekContainsDate??1,i=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??l.weekStartsOn??l.locale?.options?.weekStartsOn??0,o=h(e,n?.in);if(!(o instanceof Date||"object"==typeof o&&"[object Date]"===Object.prototype.toString.call(o))&&"number"!=typeof o||isNaN(+h(o)))throw RangeError("Invalid time value");let u=t.match(O).map(e=>{let t=e[0];return"p"===t||"P"===t?(0,P[t])(e,r.formatLong):e}).join("").match(F).map(e=>{if("''"===e)return{isToken:!1,value:"'"};let t=e[0];if("'"===t){var n;let t;return{isToken:!1,value:(t=(n=e).match(N))?t[1].replace(I,"'"):n}}if(D[t])return{isToken:!0,value:e};if(t.match(H))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});r.localize.preprocessor&&(u=r.localize.preprocessor(o,u));let c={firstWeekContainsDate:a,weekStartsOn:i,locale:r};return u.map(a=>{if(!a.isToken)return a.value;let i=a.value;return(!n?.useAdditionalWeekYearTokens&&W.test(i)||!n?.useAdditionalDayOfYearTokens&&C.test(i))&&function(e,t,n){var r,a,i;let o,u=(r=e,a=t,i=n,o="Y"===r[0]?"years":"days of the month",`Use \`${r.toLowerCase()}\` instead of \`${r}\` (in \`${a}\`) for formatting ${o} to the input \`${i}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(u),Y.includes(e))throw RangeError(u)}(i,t,String(e)),(0,D[i[0]])(o,i,r.localize,c)}).join("")}(e,t,n)}(eS(e,n,{timeZone:r.timeZone}),t,r)}e.s(["J",0,ek,"$",0,function(e,t=ek,n=new Date){return e===eP(n,"yyyy-MM-dd",t)?n.toISOString():function(e,t=ek){return(function(e,t){if("string"==typeof e&&!e.match(et))return ew(e,{timeZone:t});let n=$((e=ew(e,void 0)).getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()).getTime(),r=L(t,new Date(n));return new Date(n+r)})(`${e}T12:00:00`,t).toISOString()}(e,t)},"r",0,eP,"c",0,function(e,t=ek){return eS(e,t)},"L",0,function(e){if("string"!=typeof e||!e.trim())return!1;try{return new Intl.DateTimeFormat("en",{timeZone:e.trim()}).format(),!0}catch{return!1}}],306831)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,871689,e=>{let t=(0,e.i(475254).f)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["f",0,t],871689)},503116,e=>{let t=(0,e.i(475254).f)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["f",0,t],503116)},356909,e=>{let t=(0,e.i(475254).f)("save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]]);e.s(["f",0,t],356909)},908821,e=>{let t=(0,e.i(475254).f)("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);e.s(["f",0,t])},991686,868983,e=>{var t=e.i(843476),s=e.i(271645),a=e.i(522016),r=e.i(215519),i=e.i(306831),l=e.i(664659),n=e.i(655900),d=e.i(531278),c=e.i(107233),m=e.i(283086),o=e.i(727612),x=e.i(487486),u=e.i(519455),f=e.i(515288),h=e.i(511445),p=e.i(356909),y=e.i(793479),g=e.i(393733),b=e.i(111110),j=e.i(41931);function v({errorItemId:e,onSaved:a,onCancel:l}){let{t:n}=(0,b.b)(),{timeZone:c}=(0,r.M)(),m=(0,i.r)(new Date,"yyyy-MM-dd",c),[o,x]=(0,s.useState)(null),[f,h]=(0,s.useState)(m),[N,w]=(0,s.useState)(!1),[k,M]=(0,s.useState)(null),A=async()=>{if(o&&f){w(!0),M(null);try{await j.f.post("/api/practice/record",{errorItemId:e,result:o,source:"manual",takenAt:(0,i.$)(f,c)}),a()}catch{M(n.mastery.resultSaveFailed)}finally{w(!1)}}};return(0,t.jsxs)("div",{className:"space-y-3 rounded-md border bg-muted/30 p-3",children:[(0,t.jsx)(g.f,{value:o,onChange:x,disabled:N}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-center gap-2",children:[(0,t.jsx)("label",{htmlFor:`practice-date-${e}`,className:"text-sm font-medium",children:n.mastery.recordDate}),(0,t.jsx)(y.f,{id:`practice-date-${e}`,type:"date",value:f,max:m,onChange:e=>h(e.target.value),className:"sm:w-48"}),(0,t.jsxs)("div",{className:"flex gap-2 sm:ml-auto",children:[(0,t.jsx)(u.f,{variant:"outline",size:"sm",onClick:l,disabled:N,className:"flex-1 sm:flex-none",children:n.exam.cancel}),(0,t.jsxs)(u.f,{size:"sm",onClick:A,disabled:N||!o||!f,className:"flex-1 sm:flex-none",children:[N?(0,t.jsx)(d.f,{className:"mr-2 h-4 w-4 animate-spin"}):(0,t.jsx)(p.f,{className:"mr-2 h-4 w-4"}),n.mastery.saveResult]})]})]}),k&&(0,t.jsx)("p",{className:"text-sm text-destructive",children:k})]})}var N=e.i(149704),w=e.i(294114);let k={correct:"bg-green-100 text-green-700 border-green-200",wrong:"bg-red-100 text-red-700 border-red-200",not_attempted:"bg-amber-100 text-amber-700 border-amber-200"};e.s(["K",0,function({errorItemId:e,onMasteryStatusChange:p}){let{timeZone:y}=(0,r.M)(),{t:g}=(0,b.b)(),[M,A]=(0,s.useState)(null),[T,S]=(0,s.useState)(null),[$,C]=(0,s.useState)(0),[R,H]=(0,s.useState)(!1),E=(0,s.useCallback)(()=>{j.f.get(`/api/error-items/${e}/practice-records`).then(e=>{A(e),p?.(e.masteryStatus)}).catch(()=>void 0)},[e,p]);(0,s.useEffect)(E,[E]);let q=()=>{C(0),E()},z=async e=>{if(await (0,w.u)(g.mastery.deleteRecordConfirm,{destructive:!0}))try{await j.f.delete(`/api/practice/record/${e}`),q()}catch{w.c.error(g.mastery.deleteRecordFailed)}},I=M?.records[0],O=!!I&&(!M?.masteryEvaluatedAt||new Date(I.createdAt)>new Date(M.masteryEvaluatedAt));if((0,s.useEffect)(()=>{if(!O||$>=20)return;let e=setTimeout(()=>{C(e=>e+1),E()},4e3);return()=>clearTimeout(e)},[O,$,E]),!M)return null;let P=M.masteryProbability,U=null===P?null:Math.round(100*P),D=null===U?"":null!==P&&P>=.5?"bg-green-500":U>=30?"bg-amber-500":"bg-red-500",_=g.practice.difficulty;return(0,t.jsxs)(f.N,{children:[(0,t.jsx)(f.Y,{children:(0,t.jsxs)(f.v,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(m.f,{className:"h-4 w-4 text-primary"}),g.mastery.probability]})}),(0,t.jsxs)(f.O,{className:"space-y-4",children:[null===U?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:O?g.mastery.pending:g.mastery.notEvaluated}):(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-2",children:[(0,t.jsxs)("span",{className:"text-3xl font-bold",children:[U,"%"]}),(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[O&&(0,t.jsx)(d.f,{className:"h-3 w-3 animate-spin"}),(0,t.jsx)(x.f,{variant:"outline",children:"ai"===M.masterySource?g.mastery.aiEvaluated:g.mastery.estimated})]})]}),(0,t.jsx)("div",{className:"h-2 w-full rounded-full bg-muted overflow-hidden",children:(0,t.jsx)("div",{className:`h-full ${D} transition-all`,style:{width:`${U}%`}})}),M.masteryReason&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:M.masteryReason}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:g.mastery.thresholdHint})]}),(0,t.jsxs)("div",{className:"space-y-2 border-t pt-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("h4",{className:"text-sm font-semibold",children:g.mastery.history}),!R&&(0,t.jsxs)(u.f,{variant:"outline",size:"sm",onClick:()=>H(!0),children:[(0,t.jsx)(c.f,{className:"mr-1 h-4 w-4"}),g.mastery.addRecord]})]}),R&&(0,t.jsx)(v,{errorItemId:e,onCancel:()=>H(!1),onSaved:()=>{H(!1),q()}}),0===M.records.length?(0,t.jsx)("p",{className:"text-sm text-muted-foreground italic",children:g.mastery.noHistory}):(0,t.jsx)("ul",{className:"divide-y rounded-md border",children:M.records.map(e=>(0,t.jsxs)("li",{className:"p-3 text-sm space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsxs)("button",{type:"button",className:"flex min-w-0 flex-1 flex-wrap items-center gap-2 text-left",onClick:()=>S(T===e.id?null:e.id),children:[(0,t.jsx)("span",{className:"text-muted-foreground tabular-nums",children:(0,i.r)(e.createdAt,"yyyy-MM-dd HH:mm",y)}),(0,t.jsx)(x.f,{variant:"outline",className:k[e.result]||"",children:g.mastery.results[e.result]||e.result}),e.difficulty&&(0,t.jsx)(x.f,{variant:"secondary",children:_[e.difficulty]||e.difficulty}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:e.exam?`${g.mastery.sources.exam} \xb7 ${e.exam.title}`:g.mastery.sources[e.source]||g.mastery.sources.practice}),e.questionText&&(0,t.jsx)("span",{className:"ml-auto text-muted-foreground",children:T===e.id?(0,t.jsx)(n.f,{className:"h-4 w-4"}):(0,t.jsx)(l.f,{className:"h-4 w-4"})})]}),(0,t.jsx)("button",{type:"button","aria-label":g.mastery.deleteRecord,title:g.mastery.deleteRecord,className:"shrink-0 rounded p-1 text-muted-foreground hover:bg-red-50 hover:text-red-600",onClick:()=>z(e.id),children:(0,t.jsx)(o.f,{className:"h-4 w-4"})})]}),T===e.id&&e.questionText&&(0,t.jsxs)("div",{className:"space-y-2 rounded-md bg-muted/40 p-3",children:[(0,t.jsx)(h.f,{content:e.questionText}),(0,t.jsx)(N.f,{svg:e.figureSvg}),e.wrongAnswerText&&(0,t.jsxs)("div",{className:"border-t pt-2",children:[(0,t.jsx)("p",{className:"mb-1 font-medium",children:g.editor.wrongAnswerText}),(0,t.jsx)(h.f,{content:e.wrongAnswerText})]}),e.mistakeAnalysis&&(0,t.jsxs)("div",{className:"border-t pt-2",children:[(0,t.jsx)("p",{className:"mb-1 font-medium",children:g.editor.mistakeAnalysis}),(0,t.jsx)(h.f,{content:e.mistakeAnalysis})]}),e.originalImageUrl&&(0,t.jsx)("img",{src:e.originalImageUrl,alt:g.editor.wrongAnswerText,className:"max-h-96 max-w-full rounded object-contain"}),e.answerText&&(0,t.jsx)("div",{className:"border-t pt-2",children:(0,t.jsx)(h.f,{content:e.answerText,className:"font-semibold"})}),e.exam&&(0,t.jsx)(a.default,{href:`/exams/${e.exam.paperId}`,className:"text-xs text-primary hover:underline",children:e.exam.title})]})]},e.id))})]})]})]})},"x",0,k],991686);var M=e.i(908821);e.s(["f",()=>M.f],868983)},846968,e=>{var t=e.i(843476),s=e.i(269638),a=e.i(503116),r=e.i(16715),i=e.i(487486),l=e.i(111110);let n={new:{className:"bg-warning/15 text-amber-700 dark:text-warning",icon:a.f},reviewing:{className:"bg-primary/10 text-primary",icon:r.f},mastered:{className:"bg-success/15 text-success",icon:s.f}};e.s(["o",0,{new:"border-l-warning/70",reviewing:"border-l-primary/60",mastered:"border-l-success/70"},"x",0,function({status:e,className:s=""}){let{t:a}=(0,l.b)(),{className:r,icon:d}=n[e],c="mastered"===e?a.notebook.mastered:"reviewing"===e?a.notebook.reviewing:a.notebook.review;return(0,t.jsx)(i.f,{variant:"secondary",className:`${r} ${s}`,children:(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(d,{className:"h-3 w-3"})," ",c]})})}])},393733,e=>{var t=e.i(843476),s=e.i(269638);let a=(0,e.i(475254).f)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var r=e.i(373884),i=e.i(111110);let l=[{value:"correct",icon:s.f,active:"border-green-600 bg-green-50 text-green-700"},{value:"wrong",icon:r.f,active:"border-red-600 bg-red-50 text-red-700"},{value:"not_attempted",icon:a,active:"border-amber-600 bg-amber-50 text-amber-700"}];e.s(["f",0,function({value:e,onChange:s,disabled:a,size:r="md"}){let{t:n}=(0,i.b)(),d="sm"===r?"px-2 py-1 text-xs":"px-3 py-2 text-sm";return(0,t.jsx)("div",{className:"grid grid-cols-3 gap-2",role:"radiogroup",children:l.map(({value:i,icon:l,active:c})=>(0,t.jsxs)("button",{type:"button",role:"radio","aria-checked":e===i,disabled:a,onClick:()=>s(i),className:`flex items-center justify-center gap-1 rounded-md border font-medium transition-colors disabled:opacity-60 ${d} ${e===i?c:"border-input hover:bg-muted"}`,children:[(0,t.jsx)(l,{className:"sm"===r?"h-3 w-3":"h-4 w-4"}),n.mastery.results[i]]},i))})}],393733)},149704,e=>{var t=e.i(843476),s=e.i(111110),a=e.i(975157);e.s(["f",0,function({svg:e,className:r}){let{t:i}=(0,s.b)();return e?(0,t.jsx)("figure",{className:(0,a.f)("question-figure my-3",r),children:(0,t.jsx)("img",{src:`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`,alt:i.figure.alt,className:"mx-auto block h-auto max-w-full rounded border bg-white p-2",style:{maxHeight:360}})}):null}],149704)},515288,e=>{var t=e.i(843476),s=e.i(975157);e.s(["N",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,s.f)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...a})},"O",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,s.f)("px-6",e),...a})},"u",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,s.f)("text-muted-foreground text-sm",e),...a})},"Y",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,s.f)("@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})},"v",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,s.f)("leading-none font-semibold",e),...a})}])},912505,e=>{var t=e.i(843476),s=e.i(975157);e.s(["f",0,function({icon:e,title:a,description:r,action:i,className:l}){return(0,t.jsxs)("div",{className:(0,s.f)("flex flex-col items-center justify-center rounded-2xl border border-dashed bg-card/50 px-6 py-14 text-center",l),children:[(0,t.jsx)("div",{className:"mb-4 flex h-14 w-14 items-center justify-center rounded-2xl bg-accent text-accent-foreground",children:(0,t.jsx)(e,{className:"h-7 w-7"})}),(0,t.jsx)("p",{className:"font-medium",children:a}),r&&(0,t.jsx)("p",{className:"mt-1 max-w-sm text-sm text-muted-foreground",children:r}),i&&(0,t.jsx)("div",{className:"mt-5",children:i})]})}])},86963,e=>{var t=e.i(843476),s=e.i(531278);e.s(["f",0,function({label:e}){return(0,t.jsxs)("div",{className:"flex min-h-[50vh] flex-col items-center justify-center gap-3 text-muted-foreground",children:[(0,t.jsx)(s.f,{className:"h-7 w-7 animate-spin text-primary"}),e&&(0,t.jsx)("p",{className:"text-sm",children:e})]})}])},990745,e=>{e.s(["f",0,function(e){if(e.tags&&e.tags.length>0)return e.tags.map(e=>e.name);if(!e.knowledgePoints)return[];try{let t=JSON.parse(e.knowledgePoints);return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}catch{return[]}}])},35209,e=>{var t=e.i(271645),s=e.i(111110);e.s(["f",0,function(...e){let{t:a}=(0,s.b)(),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])}])}])})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63804,e=>{let t=(0,e.i(475254).f)("list-checks",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}]]);e.s(["f",0,t],63804)},620278,e=>{let t=(0,e.i(475254).f)("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"}]]);e.s(["f",0,t],620278)},952683,e=>{var t=e.i(843476),s=e.i(271645),a=e.i(618566),i=e.i(968553),l=e.i(674558),n=e.i(283086),r=e.i(747819),o=e.i(178119),d=e.i(515288),c=e.i(519455),m=e.i(624687),u=e.i(110204),x=e.i(356909),h=e.i(531278),p=e.i(286536),g=e.i(185873),g=g,f=e.i(367240),j=e.i(111110),v=e.i(511445),y=e.i(574041),b=e.i(438465),w=e.i(967489),k=e.i(952122),N=e.i(294114);function S({onSubmit:e,defaultNotebookId:a,defaultNotebookName:i,isSaving:n}){let{t:r}=(0,j.b)(),[o,C]=(0,s.useState)(null),[A,T]=(0,s.useState)(""),[P,E]=(0,s.useState)(""),[I,H]=(0,s.useState)(""),[q,z]=(0,s.useState)(""),[B,M]=(0,s.useState)(""),[D,F]=(0,s.useState)("unknown"),[K,U]=(0,s.useState)([]),[$,L]=(0,s.useState)(a||""),[O,R]=(0,s.useState)(""),[W,_]=(0,s.useState)("a"),Q=async()=>{if(A.trim()){if(!$)return void N.c.warning(r.editor.messages?.selectNotebook||"Please select a notebook");await e({questionText:A.trim(),answerText:P.trim(),analysis:I.trim(),wrongAnswerText:q.trim(),mistakeAnalysis:B.trim(),mistakeStatus:D,knowledgePoints:K,subjectId:$,gradeSemester:O||void 0,paperLevel:W})}},V=e=>{(e.ctrlKey||e.metaKey)&&"Enter"===e.key&&(e.preventDefault(),A.trim()&&$&&!n&&Q())},G=[{key:"question",label:r.editor?.question||"Question Text",value:A,setter:T,placeholder:r.directEntry.questionPlaceholder,minHeight:"min-h-[180px]",required:!0},{key:"answer",label:r.editor?.answer||"Answer",value:P,setter:E,placeholder:r.directEntry.answerPlaceholder,minHeight:"min-h-[120px]"},{key:"analysis",label:r.editor?.analysis||"Analysis / Explanation",value:I,setter:H,placeholder:r.directEntry.analysisPlaceholder,minHeight:"min-h-[150px]"},{key:"wrongAnswer",label:r.editor?.wrongAnswerText||"Wrong Answer / Work",value:q,setter:z,placeholder:r.directEntry.wrongAnswerPlaceholder,minHeight:"min-h-[100px]"},{key:"mistakeAnalysis",label:r.editor?.mistakeAnalysis||"Mistake Cause Analysis",value:B,setter:M,placeholder:r.directEntry.mistakeAnalysisPlaceholder,minHeight:"min-h-[100px]"}];return(0,t.jsx)(d.N,{className:"rounded-2xl",children:(0,t.jsxs)(d.O,{className:"p-6 space-y-5",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,t.jsx)(l.f,{className:"h-5 w-5"}),(0,t.jsx)("span",{className:"text-sm font-medium",children:r.directEntry.title})]}),(0,t.jsxs)(c.f,{variant:"ghost",size:"sm",onClick:()=>{T(""),E(""),H(""),z(""),M(""),F("unknown"),U([]),R(""),_("a")},disabled:n,className:"text-muted-foreground hover:text-destructive",children:[(0,t.jsx)(f.f,{className:"h-4 w-4 mr-1"}),r.directEntry.reset]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)(u.f,{children:[r.editor?.selectNotebook||"Select Notebook"," *"]}),(0,t.jsx)(b.f,{value:$,onChange:L})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.f,{children:r.editor?.gradeSemester||"Grade/Semester"}),(0,t.jsx)("input",{type:"text",value:O,onChange:e=>R(e.target.value),placeholder:r.directEntry.gradeSemesterPlaceholder,className:"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.f,{children:r.editor?.paperLevel||"Paper Level"}),(0,t.jsxs)(w.d,{value:W,onValueChange:_,children:[(0,t.jsx)(w.P,{children:(0,t.jsx)(w.U,{})}),(0,t.jsxs)(w.r,{children:[(0,t.jsx)(w.T,{value:"a",children:r.editor?.paperLevels?.a||"Paper A"}),(0,t.jsx)(w.T,{value:"b",children:r.editor?.paperLevels?.b||"Paper B"}),(0,t.jsx)(w.T,{value:"other",children:r.editor?.paperLevels?.other||"Other"})]})]})]})]}),G.map(e=>(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)(u.f,{className:e.required?"text-primary font-semibold":"",children:[e.label," ",e.required&&"*"]}),(0,t.jsx)(c.f,{variant:"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>C(o===e.key?null:e.key),disabled:!e.value,children:o===e.key?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.f,{className:"h-3 w-3 mr-1"}),r.directEntry.edit]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(p.f,{className:"h-3 w-3 mr-1"}),r.directEntry.preview]})})]}),o===e.key?(0,t.jsx)("div",{className:`rounded-md border bg-muted/30 p-4 ${e.minHeight} overflow-auto cursor-pointer`,onClick:()=>C(null),children:(0,t.jsx)(v.f,{content:e.value})}):(0,t.jsx)(m.f,{value:e.value,onChange:t=>e.setter(t.target.value),onKeyDown:V,placeholder:e.placeholder,className:`${e.minHeight} font-mono text-sm resize-y`,disabled:n})]},e.key)),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.f,{children:r.editor?.mistakeStatus||"Attempt Status"}),(0,t.jsxs)(w.d,{value:D,onValueChange:e=>F(e),children:[(0,t.jsx)(w.P,{className:"w-[200px]",children:(0,t.jsx)(w.U,{})}),(0,t.jsxs)(w.r,{children:[(0,t.jsx)(w.T,{value:"not_attempted",children:r.editor?.mistakeStatuses?.notAttempted||"Not attempted"}),(0,t.jsx)(w.T,{value:"wrong_attempt",children:r.editor?.mistakeStatuses?.wrongAttempt||"Wrong attempt"}),(0,t.jsx)(w.T,{value:"unknown",children:r.editor?.mistakeStatuses?.unknown||"Unknown"})]})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.f,{children:r.editor?.tags||"Knowledge Points (Press Enter to add)"}),(0,t.jsx)(y.f,{value:K,onChange:U,placeholder:r.editor?.tagsPlaceholder||"Enter knowledge tags, select from suggestions...",enterHint:r.editor?.createTagHint,subject:(0,k.f)(i||null)||void 0}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:r.editor?.tagsHint||"💡 Tag suggestions will appear as you type"})]}),(0,t.jsxs)("div",{className:"flex flex-col items-center gap-2 pt-2",children:[(0,t.jsx)(c.f,{onClick:Q,disabled:!A.trim()||!$||n,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",size:"lg",children:n?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(h.f,{className:"mr-2 h-4 w-4 animate-spin"}),r.directEntry.saving]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.f,{className:"mr-2 h-4 w-4"}),r.directEntry.save]})}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground text-center",children:r.directEntry.hint})]})]})})}var C=e.i(522016),A=e.i(217255),T=e.i(810980),P=e.i(63804),E=e.i(620278);let I=()=>()=>{};function H({notebookCount:e,itemCount:a,targetNotebook:i}){let{t:l,language:n}=(0,j.b)(),{data:r}=(0,A.useSession)(),o=(0,s.useSyncExternalStore)(I,()=>new Date().getHours(),()=>null),d=null===o?l.common.welcome.replace(/[,,\s]+$/,""):o<12?l.home.greetingMorning:o<18?l.home.greetingAfternoon:l.home.greetingEvening,c=r?.user?.name||r?.user?.email||"";return(0,t.jsxs)("section",{className:"relative overflow-hidden rounded-2xl bg-gradient-to-br from-indigo-600 via-indigo-500 to-violet-500 p-5 text-white shadow-lg shadow-indigo-500/20 md:p-7",children:[(0,t.jsx)("div",{className:"pointer-events-none absolute -right-10 -top-12 h-44 w-44 rounded-full bg-white/10 blur-2xl"}),(0,t.jsx)("div",{className:"pointer-events-none absolute -bottom-16 right-24 h-40 w-40 rounded-full bg-fuchsia-300/20 blur-2xl"}),(0,t.jsxs)("div",{className:"relative flex flex-col gap-5 md:flex-row md:items-end md:justify-between",children:[(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("h1",{className:"text-xl font-bold tracking-tight md:text-2xl",children:[d,c&&`${"zh"===n?",":", "}${c}`]}),(0,t.jsx)("p",{className:"max-w-md text-sm text-white/80",children:l.home.heroSubtitle}),i&&(0,t.jsxs)("p",{className:"inline-flex items-center gap-1.5 rounded-full bg-white/15 px-3 py-1 text-xs font-medium",children:[(0,t.jsx)(E.f,{className:"h-3.5 w-3.5"}),l.home.targetNotebook.replace("{name}",i)]})]}),(0,t.jsxs)(C.default,{href:"/notebooks",className:"grid grid-cols-2 gap-3 md:w-72",children:[(0,t.jsxs)("div",{className:"rounded-xl bg-white/15 px-4 py-3 backdrop-blur-sm transition-colors hover:bg-white/20",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-white/75",children:[(0,t.jsx)(T.f,{className:"h-3.5 w-3.5"}),l.home.notebookCount]}),(0,t.jsx)("div",{className:"mt-1 text-2xl font-bold tabular-nums",children:e})]}),(0,t.jsxs)("div",{className:"rounded-xl bg-white/15 px-4 py-3 backdrop-blur-sm transition-colors hover:bg-white/20",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 text-xs text-white/75",children:[(0,t.jsx)(P.f,{className:"h-3.5 w-3.5"}),l.home.itemCount]}),(0,t.jsx)("div",{className:"mt-1 text-2xl font-bold tabular-nums",children:a})]})]})]})]})}var q=e.i(12130),z=e.i(430634),B=e.i(717448),M=e.i(798469),D=e.i(86963),F=e.i(956738),K=e.i(185592),U=e.i(41931),$=e.i(201276),L=e.i(35209),O=e.i(267275);function R(){let{t:e}=(0,j.b)();(0,L.f)(e.pageTitle.home);let d=(0,a.useSearchParams)().get("notebook"),[c,m]=(0,s.useState)([]),[u,x]=(0,s.useState)(null),[h,p]=(0,s.useState)("image"),g=d||u,f=g?c.find(e=>e.id===g):void 0,v=(0,O.f)({logPrefix:"[Home]",analyzeSubjectId:g,importSubjectId:d,textNotebook:f&&{id:f.id,name:f.name},onParsed:e=>{let t=e.subject&&c.find(t=>t.name.includes(e.subject)||e.subject.includes(t.name));t&&x(t.id)}});(0,s.useEffect)(()=>{U.f.get("/api/notebooks").then(e=>m(e)).catch(e=>$.f.error("[Home]","Failed to fetch notebooks",{error:e}))},[]);let y=async e=>{v.setAnalysisStep("saving"),await v.saveQuestion({...e,wrongAnswerText:e.wrongAnswerText||null,mistakeAnalysis:e.mistakeAnalysis||null,mistakeStatus:e.mistakeStatus||"unknown",originalImageUrl:""}),v.setAnalysisStep("idle")},b=c.reduce((e,t)=>e+(t._count?.errorItems||0),0),w=[{value:"image",icon:i.f,label:e.app?.uploadImage||"Take Photo"},{value:"text",icon:n.f,label:e.app?.manualInput||"Manual Input"},{value:"direct",icon:l.f,label:e.app?.directInput||"Manual Entry"}];return(0,t.jsxs)("main",{className:"min-h-screen",children:[(0,t.jsx)(F.f,{status:v.analysisStep}),(0,t.jsxs)("div",{className:`mx-auto space-y-6 px-4 py-6 md:px-8 md:py-8 ${"review"===v.step?"max-w-6xl":"max-w-4xl"}`,children:["upload"===v.step&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(H,{notebookCount:c.length,itemCount:b,targetNotebook:d?f?.name:void 0}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(K.f,{options:w,value:h,onChange:p}),v.lastImported&&(0,t.jsx)(z.f,{imported:v.lastImported,onDismiss:v.dismissImported}),v.batchBlobs?(0,t.jsx)(r.f,{blobs:v.batchBlobs,subjectId:d,timeout:v.aiTimeout,onClose:v.closeBatch}):"image"===h?(0,t.jsx)(M.f,{onImageSelect:v.selectImage,isAnalyzing:v.isBusy}):"text"===h?(0,t.jsx)(B.f,{onSubmit:v.submitText,isAnalyzing:v.isBusy,defaultNotebookName:f?.name}):(0,t.jsx)(S,{onSubmit:y,defaultNotebookId:g||void 0,defaultNotebookName:f?.name,isSaving:"saving"===v.analysisStep})]})]}),v.croppingImage&&(0,t.jsx)(q.f,{imageSrc:v.croppingImage,open:v.isCropperOpen,onClose:v.closeCropper,onCropComplete:v.cropComplete,onMultiCropComplete:v.startBatch}),"review"===v.step&&v.parsedData&&(0,t.jsx)(o.f,{initialData:v.parsedData,onSave:v.saveReviewed,onCancel:v.cancelReview,imagePreview:v.currentImage,initialSubjectId:g||void 0,aiTimeout:v.aiTimeout})]})]})}e.s(["default",0,function(){return(0,t.jsx)(s.Suspense,{fallback:(0,t.jsx)(D.f,{}),children:(0,t.jsx)(R,{})})}],952683)},86963,e=>{var t=e.i(843476),s=e.i(531278);e.s(["f",0,function({label:e}){return(0,t.jsxs)("div",{className:"flex min-h-[50vh] flex-col items-center justify-center gap-3 text-muted-foreground",children:[(0,t.jsx)(s.f,{className:"h-7 w-7 animate-spin text-primary"}),e&&(0,t.jsx)("p",{className:"text-sm",children:e})]})}])}])})();
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,1661,e=>{"use strict";var s=e.i(843476),t=e.i(111110),a=e.i(217255),r=e.i(215519),i=e.i(325164),n=e.i(522016),l=e.i(618566),o=e.i(217923),c=e.i(810980),d=e.i(178583),m=e.i(475254);let u=(0,m.f)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]),x=(0,m.f)("circle-plus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),p=(0,m.f)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),h=(0,m.f)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]]);var f=e.i(271645);let g=(0,m.f)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),j=(0,m.f)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),v=(0,m.f)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var y=e.i(763639),b=e.i(531278);let N=(0,m.f)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]),w=(0,m.f)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var k=e.i(284614),S=e.i(519455),C=e.i(776639),A=e.i(677572),M=e.i(306831),I=e.i(487486),E=e.i(981140),T=e.i(820783),P=e.i(30030),R=e.i(369340),_=e.i(999682),z=e.i(635804);e.i(174080);var U=Symbol("radix.slottable");function D(e){return f.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===U}var K=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var a,r;let i,n,l,o=(r=a=`Primitive.${t}`,(i=f.forwardRef((e,s)=>{let{children:t,...a}=e;if(f.isValidElement(t)){var r;let e,i,n=(r=t,(i=(e=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?r.ref:(i=(e=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?r.props.ref:r.props.ref||r.ref),l=function(e,s){let t={...s};for(let a in s){let r=e[a],i=s[a];/^on[A-Z]/.test(a)?r&&i?t[a]=(...e)=>{let s=i(...e);return r(...e),s}:r&&(t[a]=r):"style"===a?t[a]={...r,...i}:"className"===a&&(t[a]=[r,i].filter(Boolean).join(" "))}return{...e,...t}}(a,t.props);return t.type!==f.Fragment&&(l.ref=s?(0,T.Q)(s,n):n),f.cloneElement(t,l)}return f.Children.count(t)>1?f.Children.only(null):null})).displayName=`${r}.SlotClone`,n=i,(l=f.forwardRef((e,t)=>{let{children:a,...r}=e,i=f.Children.toArray(a),l=i.find(D);if(l){let e=l.props.children,a=i.map(s=>s!==l?s:f.Children.count(e)>1?f.Children.only(null):f.isValidElement(e)?e.props.children:null);return(0,s.jsx)(n,{...r,ref:t,children:f.isValidElement(e)?f.cloneElement(e,void 0,a):null})}return(0,s.jsx)(n,{...r,ref:t,children:a})})).displayName=`${a}.Slot`,l),c=f.forwardRef((e,a)=>{let{asChild:r,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,s.jsx)(r?o:t,{...i,ref:a})});return c.displayName=`Primitive.${t}`,{...e,[t]:c}},{}),F="Switch",[L,$]=(0,P.c)(F),[O,q]=L(F),V=f.forwardRef((e,t)=>{let{__scopeSwitch:a,name:r,checked:i,defaultChecked:n,required:l,disabled:o,value:c="on",onCheckedChange:d,form:m,...u}=e,[x,p]=f.useState(null),h=(0,T.j)(t,e=>p(e)),g=f.useRef(!1),j=!x||m||!!x.closest("form"),[v,y]=(0,R.f)({prop:i,defaultProp:n??!1,onChange:d,caller:F});return(0,s.jsxs)(O,{scope:a,checked:v,disabled:o,children:[(0,s.jsx)(K.button,{type:"button",role:"switch","aria-checked":v,"aria-required":l,"data-state":W(v),"data-disabled":o?"":void 0,disabled:o,value:c,...u,ref:h,onClick:(0,E.f)(e.onClick,e=>{y(e=>!e),j&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})}),j&&(0,s.jsx)(G,{control:x,bubbles:!g.current,name:r,value:c,checked:v,required:l,disabled:o,form:m,style:{transform:"translateX(-100%)"}})]})});V.displayName=F;var B="SwitchThumb",H=f.forwardRef((e,t)=>{let{__scopeSwitch:a,...r}=e,i=q(B,a);return(0,s.jsx)(K.span,{"data-state":W(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:t})});H.displayName=B;var G=f.forwardRef(({__scopeSwitch:e,control:t,checked:a,bubbles:r=!0,...i},n)=>{let l=f.useRef(null),o=(0,T.j)(l,n),c=(0,_.f)(a),d=(0,z.f)(t);return f.useEffect(()=>{let e=l.current;if(!e)return;let s=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(c!==a&&s){let t=new Event("click",{bubbles:r});s.call(e,a),e.dispatchEvent(t)}},[c,a,r]),(0,s.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:a,...i,tabIndex:-1,ref:o,style:{...i.style,...d,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function W(e){return e?"checked":"unchecked"}G.displayName="SwitchBubbleInput";var Y=e.i(975157);let X=f.forwardRef(({className:e,...t},a)=>(0,s.jsx)(V,{className:(0,Y.f)("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:a,children:(0,s.jsx)(H,{className:(0,Y.f)("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));X.displayName=V.displayName;var Z=e.i(110204);let J=f.forwardRef(({className:e,...t},a)=>(0,s.jsx)("div",{className:"relative w-full overflow-auto",children:(0,s.jsx)("table",{ref:a,className:(0,Y.f)("w-full caption-bottom text-sm",e),...t})}));J.displayName="Table";let Q=f.forwardRef(({className:e,...t},a)=>(0,s.jsx)("thead",{ref:a,className:(0,Y.f)("[&_tr]:border-b",e),...t}));Q.displayName="TableHeader";let ee=f.forwardRef(({className:e,...t},a)=>(0,s.jsx)("tbody",{ref:a,className:(0,Y.f)("[&_tr:last-child]:border-0",e),...t}));ee.displayName="TableBody",(f.forwardRef(({className:e,...t},a)=>(0,s.jsx)("tfoot",{ref:a,className:(0,Y.f)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}))).displayName="TableFooter";let es=f.forwardRef(({className:e,...t},a)=>(0,s.jsx)("tr",{ref:a,className:(0,Y.f)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));es.displayName="TableRow";let et=f.forwardRef(({className:e,...t},a)=>(0,s.jsx)("th",{ref:a,className:(0,Y.f)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));et.displayName="TableHead";let ea=f.forwardRef(({className:e,...t},a)=>(0,s.jsx)("td",{ref:a,className:(0,Y.f)("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));ea.displayName="TableCell",(f.forwardRef(({className:e,...t},a)=>(0,s.jsx)("caption",{ref:a,className:(0,Y.f)("mt-4 text-sm text-muted-foreground",e),...t}))).displayName="TableCaption";var er=e.i(727612);let ei=(0,m.f)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var en=e.i(269638),el=e.i(41931),eo=e.i(294114),ec=e.i(201276),ed=e.i(303163);function em(){let{timeZone:e}=(0,r.M)(),{data:i}=(0,a.useSession)(),{t:n}=(0,t.b)(),[l,o]=(0,f.useState)([]),[c,d]=(0,f.useState)(!0),[m,u]=(0,f.useState)(!0),[x,p]=(0,f.useState)(!1),h=(0,f.useCallback)(async()=>{d(!0);try{let e=await el.f.get("/api/admin/users");o(e)}catch(e){ec.f.error("[UserManagement]","Failed to fetch users",{error:e})}finally{d(!1)}},[]),g=(0,f.useCallback)(async()=>{try{let e=await el.f.get("/api/settings");u(!1!==e.allowRegistration)}catch(e){ec.f.error("[UserManagement]","Failed to fetch config",{error:e})}},[]);(0,f.useEffect)(()=>{h(),g()},[h,g]);let j=async e=>{p(!0);try{await el.f.post("/api/settings",{allowRegistration:e}),u(e)}catch(e){ec.f.error("[UserManagement]","Failed to update registration setting",{error:e}),eo.c.error(n.common.error)}finally{p(!1)}},v=async e=>{let s=e.isActive?n.admin.confirmDisable:n.admin.confirmEnable;if(await (0,eo.u)(s))try{await el.f.patch(`/api/admin/users/${e.id}`,{isActive:!e.isActive}),h()}catch(e){ec.f.error("[UserManagement]","Failed to update user status",{error:e}),eo.c.error(n.common.error)}},y=async e=>{if(await (0,eo.u)(n.admin.confirmDelete,{destructive:!0}))try{await el.f.delete(`/api/admin/users/${e.id}`),h()}catch(s){ec.f.error("[UserManagement]","Failed to delete user",{error:s});let e=(0,ed.d)(s)||n.common.error;eo.c.error(e)}};return c?(0,s.jsx)("div",{className:"flex justify-center py-8",children:(0,s.jsx)(b.f,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between p-4 border rounded-lg bg-muted/30",children:[(0,s.jsxs)("div",{className:"space-y-0.5",children:[(0,s.jsx)(Z.f,{className:"text-base",children:n.admin?.allowRegistration||"Allow New Registrations"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:n.admin?.allowRegistrationDesc||"When disabled, new users cannot register"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[x&&(0,s.jsx)(b.f,{className:"h-4 w-4 animate-spin"}),(0,s.jsx)(X,{checked:m,onCheckedChange:j,disabled:x})]})]}),(0,s.jsx)("div",{className:"sm:hidden space-y-3",children:l.map(t=>(0,s.jsxs)("div",{className:"border rounded-lg p-4 bg-card space-y-3",children:[(0,s.jsxs)("div",{className:"flex justify-between items-start",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{className:"font-medium",children:t.name||"N/A"}),(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:t.email})]}),(0,s.jsx)(I.f,{variant:"admin"===t.role?"default":"secondary",children:"admin"===t.role?n.admin.admin:n.admin.user})]}),(0,s.jsxs)("div",{className:"flex justify-between text-sm",children:[(0,s.jsxs)("div",{className:"text-muted-foreground",children:[n.admin.errors,": ",t._count.errorItems," | ",n.admin.practiceCount,": ",t._count.practiceRecords]}),(0,s.jsx)(I.f,{variant:t.isActive?"default":"destructive",className:"text-xs",children:t.isActive?n.admin.active:n.admin.disabled})]}),(0,s.jsxs)("div",{className:"flex justify-between items-center pt-2 border-t",children:[(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,M.r)(t.createdAt,"yyyy-MM-dd",e)}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(S.f,{variant:"ghost",size:"sm",onClick:()=>v(t),disabled:t.id===i?.user?.id,children:t.isActive?(0,s.jsx)(ei,{className:"h-4 w-4 text-orange-500"}):(0,s.jsx)(en.f,{className:"h-4 w-4 text-green-500"})}),(0,s.jsx)(S.f,{variant:"ghost",size:"sm",onClick:()=>y(t),disabled:t.id===i?.user?.id,children:(0,s.jsx)(er.f,{className:"h-4 w-4 text-destructive"})})]})]})]},t.id))}),(0,s.jsx)("div",{className:"hidden sm:block border rounded-lg overflow-hidden",children:(0,s.jsxs)(J,{children:[(0,s.jsx)(Q,{children:(0,s.jsxs)(es,{children:[(0,s.jsx)(et,{children:n.admin.nameEmail}),(0,s.jsx)(et,{children:n.admin.role}),(0,s.jsx)(et,{children:n.admin.stats}),(0,s.jsx)(et,{children:n.admin.createdAt}),(0,s.jsx)(et,{children:n.admin.status}),(0,s.jsx)(et,{className:"text-right",children:n.admin.actions})]})}),(0,s.jsx)(ee,{children:l.map(t=>(0,s.jsxs)(es,{children:[(0,s.jsxs)(ea,{children:[(0,s.jsx)("div",{className:"font-medium",children:t.name||"N/A"}),(0,s.jsx)("div",{className:"text-sm text-muted-foreground",children:t.email})]}),(0,s.jsx)(ea,{children:(0,s.jsx)(I.f,{variant:"admin"===t.role?"default":"secondary",children:"admin"===t.role?n.admin.admin:n.admin.user})}),(0,s.jsxs)(ea,{children:[(0,s.jsxs)("div",{className:"text-sm",children:[n.admin.errors,": ",t._count.errorItems]}),(0,s.jsxs)("div",{className:"text-sm",children:[n.admin.practiceCount,": ",t._count.practiceRecords]})]}),(0,s.jsx)(ea,{children:(0,M.r)(t.createdAt,"yyyy-MM-dd",e)}),(0,s.jsx)(ea,{children:(0,s.jsx)(I.f,{variant:t.isActive?"default":"destructive",children:t.isActive?n.admin.active:n.admin.disabled})}),(0,s.jsxs)(ea,{className:"text-right space-x-2",children:[(0,s.jsx)(S.f,{variant:"ghost",size:"sm",onClick:()=>v(t),disabled:t.id===i?.user?.id,title:t.isActive?n.admin.disable:n.admin.enable,children:t.isActive?(0,s.jsx)(ei,{className:"h-4 w-4 text-orange-500"}):(0,s.jsx)(en.f,{className:"h-4 w-4 text-green-500"})}),(0,s.jsx)(S.f,{variant:"ghost",size:"sm",onClick:()=>y(t),disabled:t.id===i?.user?.id,title:n.admin.delete,children:(0,s.jsx)(er.f,{className:"h-4 w-4 text-destructive"})})]})]},t.id))})]})})]})}let eu=(0,m.f)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),ex=(0,m.f)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]),ep=(0,m.f)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]),eh=(0,m.f)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);function ef(){return window.WrongNotebookAndroid??null}let eg=()=>()=>void 0;function ej(){let{t:e}=(0,t.b)(),a=(0,f.useSyncExternalStore)(eg,ef,()=>null);return a?a.isStandalone?.()?(0,s.jsx)("p",{className:"text-center text-sm text-muted-foreground",children:e.settings?.about?.androidStandalone||"Running on this device. Data is stored only on this device."}):(0,s.jsxs)("div",{className:"flex flex-col items-center gap-2 text-sm text-muted-foreground",children:[(0,s.jsxs)("span",{className:"break-all",children:[e.settings?.about?.androidServer||"Server",": ",a.getServerUrl()]}),(0,s.jsxs)(S.f,{variant:"outline",className:"gap-2",onClick:()=>a.changeServer(),children:[(0,s.jsx)(eh,{className:"h-4 w-4"}),e.settings?.about?.changeServer||"Change server"]})]}):null}let ev="https://github.com/margrop/wrong-notebook";function ey(){let{t:e}=(0,t.b)(),[a,r]=(0,f.useState)("");(0,f.useEffect)(()=>{fetch("/api/version").then(e=>e.json()).then(e=>r(e.version)).catch(()=>{})},[]);let i=[{href:ev,icon:ex,label:e.settings?.about?.github||"GitHub Repository"},{href:`${ev}/releases`,icon:ep,label:e.settings?.about?.releaseNotes||"Release Notes"},{href:`${ev}/issues`,icon:N,label:e.settings?.about?.feedback||"Feedback"}];return(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-6 py-8 text-center bg-muted/30 rounded-lg border",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("h3",{className:"text-2xl font-bold",children:e.app?.title||"Smart Error Notebook"}),(0,s.jsx)("p",{className:"text-muted-foreground",children:e.settings?.about?.desc||"AI-powered learning assistant"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2 text-sm text-muted-foreground border px-4 py-2 rounded-full bg-background",children:[(0,s.jsx)(v,{className:"h-4 w-4"}),(0,s.jsxs)("span",{children:[e.settings?.about?.version||"Version",": v",a||"unknown"]})]}),(0,s.jsx)(ej,{}),(0,s.jsx)("div",{className:"flex flex-col sm:flex-row flex-wrap justify-center gap-4 w-full sm:w-auto px-4 sm:px-0",children:i.map(({href:e,icon:t,label:a})=>(0,s.jsx)(S.f,{variant:"outline",asChild:!0,className:"gap-2 w-full sm:w-auto",children:(0,s.jsxs)("a",{href:e,target:"_blank",rel:"noopener noreferrer",children:[(0,s.jsx)(t,{className:"h-4 w-4"}),a,(0,s.jsx)(eu,{className:"h-3 w-3 ml-1 opacity-50"})]})},e))}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-8",children:e.settings?.about?.copyright||"© 2026 margrop · Based on wttwins/wrong-notebook · MIT License"})]})}var eb=e.i(793479),eN=e.i(286536),ew=e.i(77705);function ek({className:e,...a}){let{t:r}=(0,t.b)(),[i,n]=(0,f.useState)(!1);return(0,s.jsxs)("div",{className:"relative",children:[(0,s.jsx)(eb.f,{type:i?"text":"password",className:(0,Y.f)("pr-10",e),...a}),(0,s.jsx)(S.f,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>n(!i),"aria-label":i?r.common.hidePassword:r.common.showPassword,tabIndex:-1,children:i?(0,s.jsx)(ew.f,{className:"h-4 w-4 text-muted-foreground"}):(0,s.jsx)(eN.f,{className:"h-4 w-4 text-muted-foreground"})})]})}var eS=e.i(967489);let eC={name:"",email:"",educationStage:"",enrollmentYear:"",password:""};function eA(){let{t:e}=(0,t.b)(),[a,r]=(0,f.useState)(eC),[i,n]=(0,f.useState)(""),[l,o]=(0,f.useState)(!0),[c,d]=(0,f.useState)(!1),m=(0,f.useCallback)(async()=>{try{let e=await el.f.get("/api/user");r({name:e.name||"",email:e.email||"",educationStage:e.educationStage||"",enrollmentYear:e.enrollmentYear||"",password:""})}catch(e){ec.f.error("[AccountSettings]","Failed to fetch profile",{error:e})}finally{o(!1)}},[]);(0,f.useEffect)(()=>{m()},[m]);let u=async()=>{if(a.password&&a.password!==i)return void eo.c.error(e.settings?.messages?.passwordMismatch||"Passwords do not match");d(!0);try{let s={name:a.name,email:a.email,educationStage:a.educationStage};a.enrollmentYear&&(s.enrollmentYear=parseInt(a.enrollmentYear.toString())),a.password&&(s.password=a.password),await el.f.patch("/api/user",s),eo.c.success(e.settings?.messages?.profileUpdated||"Profile updated"),r(e=>({...e,password:""})),n(""),window.location.reload()}catch(s){ec.f.error("[AccountSettings]","Failed to update profile",{error:(0,ed.d)(s)??(0,ed.Z)(s)}),eo.c.error((0,ed.d)(s)||e.settings?.messages?.updateFailed||"Update failed")}finally{d(!1)}};return l?(0,s.jsx)("div",{className:"flex justify-center py-8",children:(0,s.jsx)(b.f,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,s.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:e.auth?.name||"Name"}),(0,s.jsx)(eb.f,{value:a.name||"",onChange:e=>r({...a,name:e.target.value})})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:e.auth?.email||"Email"}),(0,s.jsx)(eb.f,{value:a.email||"",onChange:e=>r({...a,email:e.target.value}),type:"email"})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:e.auth?.educationStage||"Education Stage"}),(0,s.jsxs)(eS.d,{value:a.educationStage||"",onValueChange:e=>r({...a,educationStage:e}),children:[(0,s.jsx)(eS.P,{children:(0,s.jsx)(eS.U,{placeholder:e.auth?.selectStage||"Select Stage"})}),(0,s.jsxs)(eS.r,{children:[(0,s.jsx)(eS.T,{value:"primary",children:e.auth?.primary||"Primary School"}),(0,s.jsx)(eS.T,{value:"junior_high",children:e.auth?.juniorHigh||"Junior High"}),(0,s.jsx)(eS.T,{value:"senior_high",children:e.auth?.seniorHigh||"Senior High"}),(0,s.jsx)(eS.T,{value:"university",children:e.auth?.university||"University"})]})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:e.auth?.enrollmentYear||"Enrollment Year"}),(0,s.jsx)(eb.f,{type:"number",value:a.enrollmentYear||"",onChange:e=>r({...a,enrollmentYear:e.target.value}),placeholder:"YYYY"})]})]}),(0,s.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:e.settings?.account?.changePassword||"Change Password (Leave empty to keep)"}),(0,s.jsx)(ek,{value:a.password,onChange:e=>r({...a,password:e.target.value}),placeholder:"******",minLength:6})]}),a.password&&(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:e.auth?.confirmPassword||"Confirm Password"}),(0,s.jsx)(ek,{value:i,onChange:e=>n(e.target.value),placeholder:"******",minLength:6})]})]}),(0,s.jsxs)(S.f,{onClick:u,disabled:c,className:"w-full",children:[c&&(0,s.jsx)(b.f,{className:"mr-2 h-4 w-4 animate-spin"}),e.settings?.account?.update||"Update Profile"]})]})}let eM=(0,m.f)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var eI=e.i(373884);let eE=(0,m.f)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),eT={minimax:{name:"MiniMax",baseUrl:"https://api.minimax.cn/v1",model:"MiniMax-M3.1-Flash",envPrefix:"MINIMAX",consoleUrl:"https://platform.minimax.cn"},glm:{name:"智谱 GLM",baseUrl:"https://open.bigmodel.cn/api/paas/v4",model:"glm-5.3-flash",envPrefix:"GLM",consoleUrl:"https://open.bigmodel.cn"},deepseek:{name:"DeepSeek",baseUrl:"https://api.deepseek.com",model:"deepseek-flash",envPrefix:"DEEPSEEK",consoleUrl:"https://platform.deepseek.com"},kimi:{name:"Kimi",baseUrl:"https://api.moonshot.cn/v1",model:"kimi-k3",envPrefix:"KIMI",consoleUrl:"https://platform.kimi.com"}},eP=Object.keys(eT);function eR(e){return"string"==typeof e&&Object.prototype.hasOwnProperty.call(eT,e)}function e_({config:e,saving:a,saveButton:r}){let{t:i,language:n}=(0,t.b)(),[l,o]=(0,f.useState)(!1),[c,d]=(0,f.useState)(null),m=e=>i.settings?.ai?.errors?.[e]||e.replace("UNKNOWN:",""),u=async()=>{let s=function(e,s){let t=e.aiProvider;if("openai"===t){let a=e.openai?.instances?.find(s=>s.id===e.openai?.activeInstanceId);return a?.apiKey?{ok:!0,body:{provider:t,apiKey:a.apiKey,baseUrl:a.baseUrl,model:a.model,language:s}}:{ok:!1,error:"API_KEY_REQUIRED"}}if("azure"===t){let a=e.azure;return a?.apiKey&&a.endpoint&&a.deploymentName?{ok:!0,body:{provider:t,apiKey:a.apiKey,endpoint:a.endpoint,deploymentName:a.deploymentName,apiVersion:a.apiVersion,model:a.model,language:s}}:{ok:!1,error:"AZURE_CONFIG_INCOMPLETE"}}if("gemini"===t||"anthropic"===t||eR(t)){let a=e[t];return a?.apiKey?{ok:!0,body:{provider:t,apiKey:a.apiKey,baseUrl:a.baseUrl,model:a.model,language:s}}:{ok:!1,error:"API_KEY_REQUIRED"}}return{ok:!1,error:"UNSUPPORTED_PROVIDER"}}(e,n);if(!s.ok){if("UNSUPPORTED_PROVIDER"===s.error)return;d({success:!1,textSupport:!1,visionSupport:!1,textError:"AZURE_CONFIG_INCOMPLETE"===s.error?i.settings?.ai?.validationAzureEndpointRequired||"Azure config is incomplete":i.settings?.ai?.validationApiKeyRequired||"API Key is required"});return}o(!0),d(null);try{d(await el.f.post("/api/ai/test",s.body))}catch(e){ec.f.error("[AiConnectionTest]","AI connection test failed",{error:e}),d({success:!1,textSupport:!1,visionSupport:!1,textError:(0,ed.Z)(e)})}finally{o(!1)}};return(0,s.jsxs)("div",{className:"space-y-3 pt-3 border-t",children:[(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(S.f,{type:"button",variant:"outline",onClick:u,disabled:l||a,className:"flex-1",children:[l?(0,s.jsx)(b.f,{className:"mr-2 h-4 w-4 animate-spin"}):(0,s.jsx)(eE,{className:"mr-2 h-4 w-4"}),l?i.settings?.ai?.testing||"Testing...":i.settings?.ai?.testConnection||"Test Connection"]}),r]}),c&&(0,s.jsxs)("div",{className:`p-3 rounded-md text-sm ${c.success?"bg-green-50 border border-green-200":"bg-red-50 border border-red-200"}`,children:[(0,s.jsx)("div",{className:"flex items-center gap-2 font-medium mb-2",children:c.success?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eM,{className:"h-4 w-4 text-green-600"}),(0,s.jsx)("span",{className:"text-green-700",children:i.settings?.ai?.testSuccess||"Connection Successful"}),c.modelInfo&&(0,s.jsxs)("span",{className:"text-green-600 text-xs",children:["(",c.modelInfo,")"]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(eI.f,{className:"h-4 w-4 text-red-600"}),(0,s.jsx)("span",{className:"text-red-700",children:i.settings?.ai?.testFailed||"Connection Failed"})]})}),c.success&&(0,s.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("span",{className:"text-muted-foreground",children:[i.settings?.ai?.textSupport||"Text Generation",":"]}),(0,s.jsxs)("span",{className:"text-green-600",children:["✓ ",i.settings?.ai?.supported||"Supported"]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("span",{className:"text-muted-foreground",children:[i.settings?.ai?.visionSupport||"Vision/Multimodal",":"]}),c.visionSupport?(0,s.jsxs)("span",{className:"text-green-600",children:["✓ ",i.settings?.ai?.supported||"Supported"]}):(0,s.jsxs)("span",{className:"text-amber-600",children:["✗ ",c.visionError?m(c.visionError):i.settings?.ai?.notSupported||"Not Supported"]})]}),(0,s.jsx)("p",{className:"text-muted-foreground/60 text-[10px] pl-1",children:i.settings?.ai?.testNetworkNote})]}),!c.success&&c.textError&&(0,s.jsx)("p",{className:"text-red-600 text-xs mt-1",children:m(c.textError)})]})]})}var ez=e.i(16715);function eU({provider:e,apiKey:a,baseUrl:r,currentModel:i,onModelChange:n}){let{t:l}=(0,t.b)(),[o,c]=(0,f.useState)([]),[d,m]=(0,f.useState)(!1),[u,x]=(0,f.useState)(null),[p,h]=(0,f.useState)(i||""),[g,j]=(0,f.useState)(!1),[v,y]=(0,f.useState)(i);i!==v&&(y(i),h(i||""));let N=async()=>{if(!a)return void x(l.modelSelector?.enterApiKeyFirst||"Please enter API Key first");m(!0),x(null);try{let s=await el.f.post("/api/ai/models",{provider:e,apiKey:a,...r&&{baseUrl:r}});if("error"in s&&"string"==typeof s.error){x(s.error),j(!0),c([]);return}c(s.models),0===s.models.length&&(x(l.modelSelector?.noVisionModel||"No vision model found, please enter manually"),j(!0))}catch(s){ec.f.error("[ModelSelector]","Failed to fetch models",{error:s});let e=s instanceof Error&&s.message||l.modelSelector?.fetchFailed||"Failed to fetch models";x(e+(l.modelSelector?.enterManually||", please enter manually")),j(!0)}finally{m(!1)}};return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(Z.f,{className:"flex-1",children:l.modelSelector?.modelName||"Model Name"}),(0,s.jsx)(S.f,{type:"button",variant:"outline",size:"sm",onClick:N,disabled:d||!a,children:d?(0,s.jsx)(b.f,{className:"h-3 w-3 animate-spin"}):(0,s.jsx)(ez.f,{className:"h-3 w-3"})})]}),u&&(0,s.jsx)("p",{className:"text-xs text-yellow-600",children:u}),g||0===o.length?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(eb.f,{value:p,onChange:e=>{var s;h(s=e.target.value),n(s)},placeholder:eR(e)?eT[e].model:"openai"===e?"gpt-6.1-sol":"gemini-1.5-flash"}),o.length>0&&(0,s.jsx)(S.f,{type:"button",variant:"link",size:"sm",className:"h-auto p-0 text-xs",onClick:()=>j(!1),children:l.modelSelector?.selectFromList||"Select from List"})]}):(0,s.jsx)("div",{className:"space-y-2",children:(0,s.jsxs)(eS.d,{value:i,onValueChange:e=>{"_custom"===e?j(!0):(j(!1),h(e),n(e))},children:[(0,s.jsx)(eS.P,{children:(0,s.jsx)(eS.U,{placeholder:l.modelSelector?.selectModel||"Select Model"})}),(0,s.jsxs)(eS.r,{children:[o.map(e=>(0,s.jsxs)(eS.T,{value:e.id,children:[e.name,e.owned_by&&` (${e.owned_by})`]},e.id)),(0,s.jsx)(eS.T,{value:"_custom",children:l.modelSelector?.customInput||"Custom Input..."})]})]})})]})}function eD({value:e,onChange:a}){let{t:r}=(0,t.b)(),i=(s,t)=>a({...e,[s]:t});return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:"API Key"}),(0,s.jsx)(ek,{value:e?.apiKey||"",onChange:e=>i("apiKey",e.target.value),placeholder:"sk-ant-..."})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:"Base URL (Optional)"}),(0,s.jsx)(eb.f,{value:e?.baseUrl||"",onChange:e=>i("baseUrl",e.target.value),placeholder:"https://api.anthropic.com"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:r.settings?.ai?.anthropicBaseUrlHint})]}),(0,s.jsx)(eU,{provider:"anthropic",apiKey:e?.apiKey,baseUrl:e?.baseUrl,currentModel:e?.model,onModelChange:e=>i("model",e)})]})}function eK({value:e,onChange:a}){let{t:r}=(0,t.b)(),i=(s,t)=>a({...e,[s]:t}),n=e=>e?.trim()?"":"border-destructive";return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(Z.f,{children:[r.settings?.ai?.azureEndpoint||"Azure Endpoint"," ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(eb.f,{value:e?.endpoint||"",onChange:e=>i("endpoint",e.target.value),placeholder:r.settings?.ai?.azureEndpointPlaceholder||"https://your-resource.openai.azure.com",className:n(e?.endpoint)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(Z.f,{children:[r.settings?.ai?.azureDeployment||"Deployment Name"," ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(eb.f,{value:e?.deploymentName||"",onChange:e=>i("deploymentName",e.target.value),placeholder:r.settings?.ai?.azureDeploymentPlaceholder||"gpt-4o-deployment",className:n(e?.deploymentName)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(Z.f,{children:["API Key ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(ek,{value:e?.apiKey||"",onChange:e=>i("apiKey",e.target.value),placeholder:"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",className:n(e?.apiKey)})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:r.settings?.ai?.azureApiVersion||"API Version"}),(0,s.jsx)(eb.f,{value:e?.apiVersion||"",onChange:e=>i("apiVersion",e.target.value),placeholder:r.settings?.ai?.azureApiVersionPlaceholder||"2024-02-15-preview"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:r.settings?.ai?.azureModel||"Model Display Name"}),(0,s.jsx)(eb.f,{value:e?.model||"",onChange:e=>i("model",e.target.value),placeholder:"gpt-4o"})]})]})}function eF({value:e,onChange:t}){let a=(s,a)=>t({...e,[s]:a});return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:"API Key"}),(0,s.jsx)(ek,{value:e?.apiKey||"",onChange:e=>a("apiKey",e.target.value),placeholder:"AIza..."})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:"Base URL (Optional)"}),(0,s.jsx)(eb.f,{value:e?.baseUrl||"",onChange:e=>a("baseUrl",e.target.value),placeholder:"https://generativelanguage.googleapis.com"})]}),(0,s.jsx)(eU,{provider:"gemini",apiKey:e?.apiKey,baseUrl:e?.baseUrl,currentModel:e?.model,onModelChange:e=>a("model",e)})]})}var eL=e.i(107233);function e$({value:e,onChange:a}){let{t:r}=(0,t.b)(),i=e?.instances||[],n=e?.activeInstanceId,l=i.find(e=>e.id===n),o=(s,t)=>{a({...e,instances:i.map(e=>e.id===n?{...e,[s]:t}:e)})},c=async()=>{if(!n||!await (0,eo.u)(r.settings?.ai?.confirmDelete||"Delete this instance?",{destructive:!0}))return;let e=i.filter(e=>e.id!==n);a({instances:e,activeInstanceId:e[0]?.id})};return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)(Z.f,{children:r.settings?.ai?.instances||"Instance"}),(0,s.jsxs)(S.f,{type:"button",variant:"outline",size:"sm",onClick:()=>{if(i.length>=10)return;let e={id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let s=16*Math.random()|0;return("x"===e?s:3&s|8).toString(16)}),name:`Instance ${i.length+1}`,apiKey:"",baseUrl:"https://api.openai.com/v1",model:"gpt-6.1-sol"};a({instances:[...i,e],activeInstanceId:e.id})},disabled:i.length>=10,className:"h-7 px-2 text-xs",children:[(0,s.jsx)(eL.f,{className:"h-3 w-3 mr-1"}),r.settings?.ai?.addInstance||"Add"]})]}),i.length>0?(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(eS.d,{value:n||"",onValueChange:s=>a({...e,activeInstanceId:s}),children:[(0,s.jsx)(eS.P,{className:"flex-1",children:(0,s.jsx)(eS.U,{placeholder:r.settings?.ai?.selectInstance||"Select Instance"})}),(0,s.jsx)(eS.r,{children:i.map(e=>(0,s.jsx)(eS.T,{value:e.id,children:e.name},e.id))})]}),i.length>1&&(0,s.jsx)(S.f,{type:"button",variant:"outline",size:"icon",onClick:c,className:"h-10 w-10 text-destructive hover:text-destructive",children:(0,s.jsx)(er.f,{className:"h-4 w-4"})})]}):(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:r.settings?.ai?.noInstances||"No instances configured. Click 'Add' to create one."}),i.length>=10&&(0,s.jsx)("p",{className:"text-xs text-amber-600",children:r.settings?.ai?.maxInstancesReached||"Maximum instances reached (10)"})]}),l&&(0,s.jsxs)("div",{className:"space-y-3 p-3 border rounded-md bg-background",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(Z.f,{children:[r.settings?.ai?.instanceName||"Instance Name"," ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(eb.f,{value:l.name||"",onChange:e=>o("name",e.target.value),placeholder:"e.g. 智谱 GLM-4V",className:l.name?.trim()?"":"border-destructive"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(Z.f,{children:["API Key ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(ek,{value:l.apiKey||"",onChange:e=>o("apiKey",e.target.value),placeholder:"sk-...",className:l.apiKey?.trim()?"":"border-destructive"})]}),(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsxs)(Z.f,{children:["Base URL ",(0,s.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,s.jsx)(eb.f,{value:l.baseUrl||"",onChange:e=>o("baseUrl",e.target.value),placeholder:"https://api.openai.com/v1",className:l.baseUrl?.trim()?"":"border-destructive"})]}),(0,s.jsx)(eU,{provider:"openai",apiKey:l.apiKey,baseUrl:l.baseUrl,currentModel:l.model,onModelChange:e=>o("model",e)})]})]})}function eO({provider:e,value:a,onChange:r}){let{t:i}=(0,t.b)(),n=eT[e],l=(e,s)=>r({...a,[e]:s});return(0,s.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:"API Key"}),(0,s.jsx)(ek,{value:a?.apiKey||"",onChange:e=>l("apiKey",e.target.value),placeholder:"sk-..."}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground",children:[i.settings?.ai?.vendorApiKeyHint||"Get an API key from the console:"," ",(0,s.jsx)("a",{href:n.consoleUrl,target:"_blank",rel:"noopener noreferrer",className:"underline break-all",children:n.consoleUrl})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:"Base URL (Optional)"}),(0,s.jsx)(eb.f,{value:a?.baseUrl||"",onChange:e=>l("baseUrl",e.target.value),placeholder:n.baseUrl}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:i.settings?.ai?.vendorBaseUrlHint})]}),(0,s.jsx)(eU,{provider:e,apiKey:a?.apiKey,baseUrl:a?.baseUrl,currentModel:a?.model||n.model,onModelChange:e=>l("model",e)})]})}function eq({config:e,setConfig:a,loading:r,saving:i,onSave:n}){let{t:l}=(0,t.b)();return r?(0,s.jsx)("div",{className:"flex justify-center py-4",children:(0,s.jsx)(b.f,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):(0,s.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:l.settings?.tabs?.ai||"AI Provider"}),(0,s.jsxs)(eS.d,{value:e.aiProvider,onValueChange:e=>a(s=>({...s,aiProvider:e})),children:[(0,s.jsx)(eS.P,{children:(0,s.jsx)(eS.U,{})}),(0,s.jsxs)(eS.r,{children:[eP.map(e=>(0,s.jsx)(eS.T,{value:e,children:eT[e].name},e)),(0,s.jsx)(eS.T,{value:"anthropic",children:"Anthropic / Compatible"}),(0,s.jsx)(eS.T,{value:"azure",children:"Azure OpenAI"}),(0,s.jsx)(eS.T,{value:"openai",children:"OpenAI / Compatible"}),(0,s.jsx)(eS.T,{value:"gemini",children:"Google Gemini"})]})]})]}),"openai"===e.aiProvider&&(0,s.jsx)(e$,{value:e.openai,onChange:e=>a(s=>({...s,openai:e}))}),"gemini"===e.aiProvider&&(0,s.jsx)(eF,{value:e.gemini,onChange:e=>a(s=>({...s,gemini:e}))}),"anthropic"===e.aiProvider&&(0,s.jsx)(eD,{value:e.anthropic,onChange:e=>a(s=>({...s,anthropic:e}))}),eR(e.aiProvider)&&(0,s.jsx)(eO,{provider:e.aiProvider,value:e[e.aiProvider],onChange:e=>a(s=>({...s,[s.aiProvider]:e}))},e.aiProvider),"azure"===e.aiProvider&&(0,s.jsx)(eK,{value:e.azure,onChange:e=>a(s=>({...s,azure:e}))}),(0,s.jsx)(e_,{config:e,saving:i,saveButton:(0,s.jsxs)(S.f,{onClick:n,disabled:i,className:"flex-1",children:[i&&(0,s.jsx)(b.f,{className:"mr-2 h-4 w-4 animate-spin"}),l.settings?.ai?.save||"Save AI Settings"]})})]})}let eV={info:{card:"border-blue-200 bg-blue-50",title:"text-blue-900 font-bold",desc:"text-blue-800 font-medium",button:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300"},danger:{card:"border-red-200 bg-red-50",title:"text-red-700 font-medium",desc:"text-red-600",button:""},critical:{card:"border-red-600/50 bg-red-100/50",title:"text-red-900 font-bold",desc:"text-red-800 font-medium",button:"bg-red-700 hover:bg-red-800"}};function eB({title:e,description:t,tone:a,busy:r,icon:i,onClick:n}){let l=eV[a];return(0,s.jsxs)("div",{className:`p-4 border rounded-lg ${l.card}`,children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:`text-sm flex items-center gap-2 ${l.title}`,children:e}),(0,s.jsx)(S.f,{variant:"info"===a?"outline":"destructive",size:"sm",onClick:n,disabled:r,className:l.button,children:r?(0,s.jsx)(b.f,{className:"h-4 w-4 animate-spin"}):i})]}),(0,s.jsx)("p",{className:`text-xs mt-2 ${l.desc}`,children:t})]})}function eH({isAdmin:e}){let{t:a}=(0,t.b)(),[r,i]=(0,f.useState)(null),n=async(e,s,t,a)=>{i(e);try{eo.c.success(await s()),a&&window.location.reload()}catch(s){ec.f.error("[DangerZoneSettings]",`${e} failed`,{error:s}),eo.c.error(t)}finally{i(null)}},l=a.settings?.clearSuccess||"Success",o=a.settings?.clearError||"Failed",c=async()=>{await (0,eo.u)(a.settings?.migrateTagsConfirm||"This will reset system tags. Confirm?",{destructive:!0})&&await n("migrateTags",async()=>{let e=await el.f.post("/api/admin/migrate-tags",{});return`${l}: ${e.count||0} tags migrated.`},a.settings?.clearError||"Failed to migrate tags",!1)},d=async()=>{await (0,eo.u)(a.settings?.clearDataConfirm||"Are you sure?",{destructive:!0})&&await n("clearPractice",async()=>(await el.f.delete("/api/stats/practice/clear"),l),o,!0)},m=async()=>{await (0,eo.u)(a.settings?.clearErrorDataConfirm||"Are you sure?",{destructive:!0})&&await n("clearErrors",async()=>(await el.f.delete("/api/error-items/clear"),l),o,!0)},u=async()=>{if(!await (0,eo.u)(a.settings?.systemResetConfirm||"WARNING: Deleting ALL data. Undoing is impossible. Are you sure?",{destructive:!0}))return;let e=prompt(a.settings?.systemResetPrompt||"Type 'RESET' to confirm system initialization:","");if("RESET"!==e){null!==e&&eo.c.error(a.common?.error||"Confirmation failed");return}await n("systemReset",async()=>(await el.f.post("/api/admin/system-reset",{}),a.settings?.clearSuccess||"Success - System Reset Complete"),a.settings?.clearError||"Failed to reset system",!0)};return(0,s.jsxs)(s.Fragment,{children:[e&&(0,s.jsx)(eB,{tone:"info",title:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(ez.f,{className:"h-4 w-4"}),a.settings?.migrateTags||"Migrate Tags"]}),description:a.settings?.migrateTagsDesc||"Re-populates standard tags from file",busy:"migrateTags"===r,icon:(0,s.jsx)(ez.f,{className:"h-4 w-4"}),onClick:c}),(0,s.jsx)(eB,{tone:"danger",title:a.settings?.clearData||"Clear Practice Data",description:a.settings?.clearDataDesc||"This will permanently delete all practice history. Irreversible.",busy:"clearPractice"===r,icon:(0,s.jsx)(er.f,{className:"h-4 w-4"}),onClick:d}),(0,s.jsx)(eB,{tone:"danger",title:a.settings?.clearErrorData||"Clear Error Data",description:a.settings?.clearErrorDataDesc||"This will permanently delete all error items. Irreversible.",busy:"clearErrors"===r,icon:(0,s.jsx)(er.f,{className:"h-4 w-4"}),onClick:m}),e&&(0,s.jsx)(eB,{tone:"critical",title:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(g,{className:"h-4 w-4"}),a.settings?.systemReset||"System Initialization"]}),description:a.settings?.systemResetDesc||"Resets the system to factory state. Deletes ALL data.",busy:"systemReset"===r,icon:(0,s.jsx)(er.f,{className:"h-4 w-4"}),onClick:u})]})}var eG=e.i(440160);let eW=(0,m.f)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);async function eY(e,s){let t=await fetch(e);if(!t.ok)throw Error((await t.json().catch(()=>({}))).message||"Export failed");let a=await t.blob(),r=window.URL.createObjectURL(a),i=document.createElement("a");i.href=r;let n=t.headers.get("Content-Disposition")?.match(/filename="(.+)"/);i.download=n?n[1]:s,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(r)}function eX({isAdmin:e}){let{t:a}=(0,t.b)(),[r,i]=(0,f.useState)(!1),[n,l]=(0,f.useState)(!1),[o,c]=(0,f.useState)(null),d=async e=>{if(!e||await (0,eo.u)(a.settings?.exportAllConfirm||"Export all users' data? This may take a while.")){i(!0);try{await eY(e?"/api/export?all=true":"/api/export",e?"wrong-notebook-export-all.json":"wrong-notebook-export.json"),eo.c.success(a.settings?.exportSuccess||"Export successful")}catch(s){ec.f.error("[DataBackupSettings]",e?"Export all failed":"Export failed",{error:s}),eo.c.error(a.settings?.exportFailed||"Export failed")}finally{i(!1)}}},m=async e=>{if(!o)return;let s=e?a.settings?.importAllConfirm||"Import all users' data? This will restore data for all users from the export file.":a.settings?.importConfirm||"Are you sure you want to import?";if(await (0,eo.u)(s)){l(!0);try{let s=JSON.parse(await o.text()),{stats:t}=await el.f.post(e?"/api/import?all=true":"/api/import",s);eo.c.success((a.settings?.importResultDesc||"Imported {subjects} notebooks, {tags} tags, {items} error items, {schedules} review schedules, {records} practice records, {papers} exam papers.").replace("{subjects}",String(t.subjectsCreated)).replace("{tags}",String(t.tagsCreated)).replace("{items}",String(t.errorItemsCreated)).replace("{schedules}",String(t.reviewSchedulesCreated)).replace("{records}",String(t.practiceRecordsCreated)).replace("{papers}",String(t.examPapersCreated??0)).replace("{duplicates}",String(t.duplicateErrorItems??0))),c(null),window.location.reload()}catch(s){ec.f.error("[DataBackupSettings]",e?"Import all failed":"Import failed",{error:s}),eo.c.error(a.settings?.importFailed||"Import failed")}finally{l(!1)}}},u=(e,t)=>e?(0,s.jsx)(b.f,{className:"mr-2 h-4 w-4 animate-spin"}):t;return(0,s.jsxs)("div",{className:"p-4 border border-blue-200 rounded-lg bg-blue-50",children:[(0,s.jsx)("h4",{className:"text-sm font-bold text-blue-900 mb-3",children:a.settings?.dataManagement||"Data Management"}),(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)("span",{className:"text-sm text-blue-800 font-medium",children:a.settings?.exportData||"Export Data"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)(S.f,{variant:"outline",size:"sm",onClick:()=>d(!1),disabled:r,className:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300",children:[u(r,(0,s.jsx)(eG.f,{className:"mr-2 h-4 w-4"})),a.settings?.exportData||"Export"]}),e&&(0,s.jsxs)(S.f,{variant:"outline",size:"sm",onClick:()=>d(!0),disabled:r,className:"bg-orange-100 hover:bg-orange-200 text-orange-900 border-orange-300",children:[u(r,(0,s.jsx)(eG.f,{className:"mr-2 h-4 w-4"})),a.settings?.exportAllData||"Export All"]})]})]}),(0,s.jsx)("p",{className:"text-xs text-blue-700",children:a.settings?.exportDataDesc||"Export all data as JSON file."})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,s.jsx)("span",{className:"text-sm text-blue-800 font-medium",children:a.settings?.importData||"Import Data"}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("input",{type:"file",accept:".json",onChange:e=>c(e.target.files?.[0]??o),className:"hidden",id:"import-file-input",disabled:n}),(0,s.jsxs)(S.f,{variant:"outline",size:"sm",onClick:()=>document.getElementById("import-file-input")?.click(),disabled:n,className:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300",children:[u(n,(0,s.jsx)(eW,{className:"mr-2 h-4 w-4"})),o?.name||a.settings?.selectFile||"Select File"]}),o&&(0,s.jsxs)(S.f,{variant:"outline",size:"sm",onClick:()=>m(!1),disabled:n,className:"bg-green-100 hover:bg-green-200 text-green-900 border-green-300",children:[u(n,(0,s.jsx)(eM,{className:"mr-2 h-4 w-4"})),a.settings?.importData||"Import"]}),o&&e&&(0,s.jsxs)(S.f,{variant:"outline",size:"sm",onClick:()=>m(!0),disabled:n,className:"bg-orange-100 hover:bg-orange-200 text-orange-900 border-orange-300",children:[u(n,(0,s.jsx)(eM,{className:"mr-2 h-4 w-4"})),a.settings?.importAllData||"Import All"]})]})]}),(0,s.jsx)("p",{className:"text-xs text-blue-700",children:a.settings?.importDataDesc||"Import data from JSON file. Existing data will be skipped."})]})]})}var eZ=e.i(307364);function eJ({field:e,label:a,description:r}){let{t:i}=(0,t.b)(),[n,l]=(0,f.useState)(!1),[o,c]=(0,f.useState)(!1),[d,m]=(0,f.useState)(!1),[u,x]=(0,f.useState)(null),p=`preference-${e}`;(0,f.useEffect)(()=>{el.f.get("/api/user").then(s=>l(!!s[e])).catch(()=>void 0).finally(()=>c(!0))},[e]);let h=async s=>{l(s),m(!0);try{await el.f.patch("/api/user",{[e]:s}),x(i.importFlow.preferenceSaved)}catch(t){l(!s),x(i.importFlow.preferenceSaveFailed),ec.f.error("[Settings]","Failed to save user preference",{field:e,error:t instanceof Error?t.message:String(t)})}finally{m(!1)}};return(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,s.jsx)(Z.f,{htmlFor:p,children:a}),(0,s.jsx)(X,{id:p,checked:n,onCheckedChange:h,disabled:!o||d})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:r}),u&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:u})]})}function eQ(){let{t:e}=(0,t.b)();return(0,s.jsx)(eJ,{field:"enableGeogebra",label:e.importFlow.enableGeogebra,description:e.importFlow.enableGeogebraDesc})}function e0(){let{t:e}=(0,t.b)();return(0,s.jsx)(eJ,{field:"confirmBeforeImport",label:e.importFlow.confirmBeforeImport,description:e.importFlow.confirmBeforeImportDesc})}function e1(){let{t:e}=(0,t.b)();return(0,s.jsx)(eJ,{field:"enableSvgAnimation",label:e.importFlow.enableSvgAnimation,description:e.importFlow.enableSvgAnimationDesc})}function e2({value:e,onChange:a,disabled:r}){let{t:i}=(0,t.b)();return(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsx)(Z.f,{htmlFor:"app-time-zone",children:i.settings.general.timeZoneLabel}),(0,s.jsx)(eb.f,{id:"app-time-zone",value:e,onChange:e=>a(e.target.value),disabled:r,list:"app-time-zones",placeholder:"Asia/Shanghai"}),(0,s.jsx)("datalist",{id:"app-time-zones",children:["Asia/Shanghai","Asia/Hong_Kong","Asia/Tokyo","Asia/Singapore","Europe/London","America/New_York","America/Los_Angeles","UTC"].map(e=>(0,s.jsx)("option",{value:e},e))}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:i.settings.general.timeZoneDesc})]})}function e4({config:e,setConfig:a,isAdmin:i,disabled:n}){let{t:l,language:o,setLanguage:c}=(0,t.b)(),{timeZone:d}=(0,r.M)(),m=e=>a(s=>({...s,timeouts:{...s.timeouts,analyze:1e3*e}}));return(0,s.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(Z.f,{children:l.settings?.language||"Language"}),(0,s.jsxs)(eS.d,{value:o,onValueChange:e=>c(e),children:[(0,s.jsx)(eS.P,{children:(0,s.jsx)(eS.U,{})}),(0,s.jsxs)(eS.r,{children:[(0,s.jsx)(eS.T,{value:"zh",children:"中文 (Chinese)"}),(0,s.jsx)(eS.T,{value:"en",children:"English"})]})]})]}),(0,s.jsx)(e2,{value:e.timeZone??d,onChange:e=>a(s=>({...s,timeZone:e})),disabled:!i||n}),i&&(0,s.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,s.jsx)(Z.f,{children:l.settings?.general?.timeoutLabel||"AI Analysis Timeout (Seconds)"}),(0,s.jsx)(eb.f,{type:"number",value:e.timeouts?.analyze?e.timeouts.analyze/1e3:"",onChange:e=>{let s=""===e.target.value?0:parseInt(e.target.value);m(isNaN(s)?0:s)},onBlur:()=>{let s=(e.timeouts?.analyze||0)/1e3,t=Math.min(600,Math.max(120,s));t!==s&&m(t)},min:120,max:600}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:l.settings?.general?.timeoutDesc||"Increase this value if you experience frequent timeouts during AI analysis."})]}),(0,s.jsx)(e0,{}),(0,s.jsx)(e1,{}),(0,s.jsx)(eQ,{}),(0,s.jsx)(eZ.f,{})]})}var e3=e.i(624687),e5=e.i(247167);let e6={trace:10,debug:20,info:30,warn:40,error:50,fatal:60};function e8(e,s={}){let t,a=e6[e],r=(t=e5.default.env.LOG_LEVEL?.toLowerCase())&&void 0!==e6[t]?e6[t]:e6.info;return(t,i)=>{let n,l;if(a<r)return;let o=new Date;"string"==typeof t?(n={},l=t):(n=t,l=i||"");{let t=JSON.stringify({level:e,time:o.toISOString(),...s,...n,msg:l});switch(e){case"error":case"fatal":console.error(t);break;case"warn":console.warn(t);break;default:console.log(t)}}}}(function e(s={}){return s.module,{trace:e8("trace",s),debug:e8("debug",s),info:e8("info",s),warn:e8("warn",s),error:e8("error",s),fatal:e8("fatal",s),child:t=>e({...s,...t}),box:(e,t,a="📋")=>{console.log(JSON.stringify({level:"info",time:new Date().toISOString(),...s,title:e,..."string"==typeof t?{content:t}:t||{},msg:e}))},divider:(e="-")=>{}}})({env:"production"}).child({module:"ai:prompts"});let e7=`请参考《高思学校竞赛数学导引》(每讲分兴趣篇、拓展篇、超越篇,题目左侧标 1~5 颗星)的星级标准,结合题目所在年级评定难度:
|
|
2
|
+
- 1 星:课本基础题,直接套用概念、公式或简单计算即可(相当于兴趣篇前几题)。
|
|
3
|
+
- 2 星:校内拔高题,需要两三步推理或简单综合(相当于兴趣篇后几题)。
|
|
4
|
+
- 3 星:常规奥数题,小升初、杯赛常见难度,需要掌握该专题的典型方法(相当于拓展篇)。
|
|
5
|
+
- 4 星:较难奥数题,需要构造、分类讨论、转化或多种方法综合(相当于拓展篇末题、超越篇前几题)。
|
|
6
|
+
- 5 星:竞赛压轴题,集训队水平,思路巧妙、步骤长(相当于超越篇难题)。
|
|
7
|
+
非数学学科按同样的 1~5 级划分:1 星为基础识记,3 星为综合应用,5 星为竞赛或压轴难度。`,e9=`- 输出一个完整的 <svg> 元素,包含 xmlns="http://www.w3.org/2000/svg" 和 viewBox(建议宽 400~600),不要用 Markdown 代码块包裹。
|
|
8
|
+
- 白色背景、黑色线条(stroke="#000",线宽 1.5~2),需要区分的区域可用浅灰填充;不要使用彩色装饰。
|
|
9
|
+
- 按原图比例和相对位置绘制,保留所有标注:顶点字母、数字、长度、角度、单位、箭头和虚线等,文字用 <text>(font-size 14~18)。
|
|
10
|
+
- 只使用基本图形元素:line、polyline、polygon、rect、circle、ellipse、path、text、g、defs、marker。
|
|
11
|
+
- 严禁使用 <image>、<script>、<foreignObject>、外部链接、外部字体或事件属性。`,se=String.raw`- 行内公式用 $...$,独立公式用 $$...$$;不要用 \(...\) 或 \[...\],每个 $ 必须成对出现。
|
|
12
|
+
- 所有 LaTeX 命令(如 \frac、\sqrt、\times、\angle)都必须写在 $...$ 内,公式外不能出现反斜杠命令。
|
|
13
|
+
- 只使用 KaTeX 支持的命令和环境:方程组用 \begin{cases}...\end{cases},多行推导用 \begin{aligned}...\end{aligned}(放在 $$...$$ 中),不要用 align、eqnarray、\newcommand、\usepackage、\label、\tag 等。
|
|
14
|
+
- 大括号 {} 必须成对,\left 与 \right 必须成对,\begin{...} 与 \end{...} 必须对应。
|
|
15
|
+
- 公式中的中文写在 \text{...} 里,或放到公式外;百分号写成 \%,美元符号写成 \$。
|
|
16
|
+
- 反斜杠只写一个(\frac),不要写成 \\frac;换行符 \\ 只能用在 cases、aligned 等环境里。`,ss=`【角色与核心任务 (ROLE AND CORE TASK)】
|
|
17
|
+
你是一位世界顶尖的、经验丰富的、专业的跨学科考试分析专家(Interdisciplinary Exam Analysis Expert)。你的核心任务是极致准确地分析用户提供的考试题目图片,全面理解所有文本、图表和隐含约束,并提供一个完整、高度结构化且专业的解决方案。
|
|
18
|
+
|
|
19
|
+
{{language_instruction}}
|
|
20
|
+
|
|
21
|
+
【核心输出要求 (OUTPUT REQUIREMENTS)】
|
|
22
|
+
你的响应输出**必须严格遵循以下自定义标签格式**。**严禁**使用 JSON 或 Markdown 代码块。**严禁**对 LaTeX 公式中的反斜杠进行二次转义(如 "\\frac" 是错误的,必须是 "\frac")。
|
|
23
|
+
|
|
24
|
+
请严格按照以下结构输出内容:
|
|
25
|
+
|
|
26
|
+
<subject>
|
|
27
|
+
在此处填写学科,必须是以下之一:"数学", "物理", "化学", "生物", "英语", "语文", "历史", "地理", "政治", "其他"。
|
|
28
|
+
</subject>
|
|
29
|
+
|
|
30
|
+
<knowledge_points>
|
|
31
|
+
在此处填写知识点,使用逗号分隔,例如:知识点1, 知识点2, 知识点3
|
|
32
|
+
</knowledge_points>
|
|
33
|
+
|
|
34
|
+
<requires_image>
|
|
35
|
+
判断这道题是否需要依赖图片才能正确解答。如果题目包含几何图形、函数图像、实验装置图、电路图等必须看图才能理解的内容,填写 true;如果只需要文字描述即可理解(如英语题、纯文字数学题),填写 false。
|
|
36
|
+
</requires_image>
|
|
37
|
+
|
|
38
|
+
<has_figure>
|
|
39
|
+
判断题目本身是否带有配图(几何图形、函数图像、示意图、统计图、实验装置图、电路图等;不含学生的作答痕迹和纯文字表格)。有配图填 true,否则填 false。
|
|
40
|
+
</has_figure>
|
|
41
|
+
|
|
42
|
+
<figure_svg>
|
|
43
|
+
如果 has_figure 为 true,用 SVG 重新绘制题目配图:
|
|
44
|
+
${e9}
|
|
45
|
+
如果 has_figure 为 false,请留空。
|
|
46
|
+
</figure_svg>
|
|
47
|
+
|
|
48
|
+
<wrong_answer_text>
|
|
49
|
+
如果图片中包含学生已经写出的错误解答、错误步骤、草稿或错误答案,请尽量按原样摘录;如果没有看到学生错误解答,请留空。
|
|
50
|
+
</wrong_answer_text>
|
|
51
|
+
|
|
52
|
+
<mistake_status>
|
|
53
|
+
填写以下值之一:wrong_attempt(图片中有错误解答或错误步骤)、not_attempted(没有错误解答,像是完全不会做或未作答)、unknown(无法判断)。
|
|
54
|
+
</mistake_status>
|
|
55
|
+
|
|
56
|
+
<difficulty_stars>
|
|
57
|
+
只填写 1 到 5 之间的一个整数,表示题目难度星级。
|
|
58
|
+
${e7}
|
|
59
|
+
</difficulty_stars>
|
|
60
|
+
|
|
61
|
+
<mistake_analysis>
|
|
62
|
+
如果图片中包含错误解答,请分析错误可能发生在哪一步、为什么错、导致了什么后果;如果没有错误解答,请留空。
|
|
63
|
+
</mistake_analysis>
|
|
64
|
+
|
|
65
|
+
<question_text>
|
|
66
|
+
在此处填写题目的完整文本。使用 Markdown 格式。所有数学公式使用 LaTeX 符号(行内 $...$,块级 $$...$$)。
|
|
67
|
+
|
|
68
|
+
【题干转录规则】
|
|
69
|
+
1. **逐字照录**:按图片原文转录题干(含题号、分值和标点),不要改写、概括、增删字词或调整语序;看不清的字用 [?] 标注。
|
|
70
|
+
2. **填空统一**:所有填空处统一写作 ____(4 个下划线),不论原图横线长短。
|
|
71
|
+
3. **图形描述**:如果题目依赖图形,在题干原文之后空一行,单独写**一段**以「图示:」开头的图形描述;只能使用「图示:」这一种写法(不要写「图示信息」「图示说明」等),描述中不要重复题干已有的文字。题目不依赖图形时不要写图示段落。
|
|
72
|
+
|
|
73
|
+
【表格处理规则】
|
|
74
|
+
如果图片中包含表格,必须完整转录表格内容,遵循以下原则:
|
|
75
|
+
|
|
76
|
+
1. **标准表格**:使用 Markdown 表格语法
|
|
77
|
+
| 列标题1 | 列标题2 | 列标题3 |
|
|
78
|
+
|---------|---------|---------|
|
|
79
|
+
| 数据1 | 数据2 | 数据3 |
|
|
80
|
+
|
|
81
|
+
2. **复杂表格**(合并单元格/多级表头/不规则布局):
|
|
82
|
+
- 优先尝试用 Markdown 表格近似表示
|
|
83
|
+
- 如果 Markdown 无法准确表达,在表格前用文字说明结构,然后用简化的 Markdown 表格 + 注释
|
|
84
|
+
- 示例:
|
|
85
|
+
> 注:第1行为主标题,横跨3列;第2-3行为数据行
|
|
86
|
+
|
|
87
|
+
| 项目 | 数值A | 数值B |
|
|
88
|
+
|------|-------|-------|
|
|
89
|
+
| 测试1 | 10 | 20 |
|
|
90
|
+
| 测试2 | 15 | 25 |
|
|
91
|
+
|
|
92
|
+
3. **表格完整性要求**:
|
|
93
|
+
- 必须转录所有单元格内容(包括空单元格用 - 或空格表示)
|
|
94
|
+
- 保留表格标题、单位、注释
|
|
95
|
+
- 保留数据的对齐关系和分组信息
|
|
96
|
+
- 表格中的数学公式使用 LaTeX 语法
|
|
97
|
+
|
|
98
|
+
4. **表格上下文**:
|
|
99
|
+
- 如果表格有标题或编号(如"表1"),保留在表格前
|
|
100
|
+
- 如果表格后有注释或说明,保留在表格后
|
|
101
|
+
- 保持表格在题目中的位置关系
|
|
102
|
+
|
|
103
|
+
5. **特殊情况处理**:
|
|
104
|
+
- 图表混合:如果表格旁边有图形,用文字说明位置关系
|
|
105
|
+
- 手写表格:尽力识别手写内容,不确定的用 [?] 标注
|
|
106
|
+
- 模糊表格:如果表格不清晰,在表格前注明"(表格内容可能不完整)"
|
|
107
|
+
</question_text>
|
|
108
|
+
|
|
109
|
+
<answer_text>
|
|
110
|
+
在此处填写正确答案。使用 Markdown 和 LaTeX 符号。如果答案包含表格,遵循上述【表格处理规则】。
|
|
111
|
+
</answer_text>
|
|
112
|
+
|
|
113
|
+
<analysis>
|
|
114
|
+
在此处填写详细的步骤解析。
|
|
115
|
+
* 必须使用简体中文。
|
|
116
|
+
* **直接使用标准的 LaTeX 符号**(如 $\frac{1}{2}$),**不要**进行 JSON 转义(不要写成 \\frac)。
|
|
117
|
+
* 如果解析过程需要表格(如列表对比、分步计算表),遵循上述【表格处理规则】。
|
|
118
|
+
</analysis>
|
|
119
|
+
|
|
120
|
+
【知识点标签列表(KNOWLEDGE POINT LIST)】
|
|
121
|
+
{{knowledge_points_list}}
|
|
122
|
+
|
|
123
|
+
【标签使用规则 (TAG RULES)】
|
|
124
|
+
- 标签必须与题目实际考查的知识点精准匹配。
|
|
125
|
+
- 每题最多 5 个标签。
|
|
126
|
+
|
|
127
|
+
【!!! 关键格式与内容约束 (CRITICAL RULES) !!!】
|
|
128
|
+
1. **格式严格**:必须严格包含上述 12 个 XML 标签,除此之外不要输出任何其他“开场白”或“结束语”。
|
|
129
|
+
2. **纯文本**:内容作为纯文本处理,**不要转义反斜杠**。
|
|
130
|
+
3. **内容完整**:如果包含子问题,请在 question_text 中完整列出。
|
|
131
|
+
4. **禁止图片**:严禁包含任何图片链接或 markdown 图片语法。
|
|
132
|
+
5. **LaTeX 规范**:
|
|
133
|
+
${se}
|
|
134
|
+
|
|
135
|
+
{{grade_instruction}}
|
|
136
|
+
{{provider_hints}}`,st=`你是一位资深的K12教育题目生成专家,具备跨学科的题目创作能力。你的核心任务是**根据以下原题和知识点,举一反三生成高质量教学题目**,帮助学生巩固知识并拓展解题思路。
|
|
137
|
+
### 角色定义
|
|
138
|
+
1. **学科全能专家**
|
|
139
|
+
- 精通K12阶段所有学科(数学/语文/英语/物理/化学/生物/历史/地理/政治)
|
|
140
|
+
- 熟悉各年级课程标准与知识点分布
|
|
141
|
+
- 能准确识别题目考察的核心能力点(计算/推理/分析/应用/创新)
|
|
142
|
+
2. **题目变异大师**
|
|
143
|
+
- 掌握12种变式技法:条件替换/情境迁移/问题转化/数据重构/图形变形/角色反转/跨学科融合/难度阶梯/开放拓展/陷阱设计/逆向思维/生活应用
|
|
144
|
+
- 确保变式题目保持原题核心考点,改变题目表现形式
|
|
145
|
+
3. **学情分析师**
|
|
146
|
+
- 预判学生易错点(认知盲区/概念混淆/计算失误/审题偏差)
|
|
147
|
+
- 在变式题目中针对性强化易错点训练
|
|
148
|
+
### 执行流程
|
|
149
|
+
1. **接收任务**
|
|
150
|
+
原题: "{{original_question}}"
|
|
151
|
+
{{language_instruction}}
|
|
152
|
+
DIFFICULTY LEVEL: {{difficulty_level}}
|
|
153
|
+
{{difficulty_instruction}}
|
|
154
|
+
Knowledge Points: {{knowledge_points}}
|
|
155
|
+
2. **解构分析**
|
|
156
|
+
- 提取核心考点与能力要求
|
|
157
|
+
- 分析题目陷阱与解题路径
|
|
158
|
+
3. **质量管控**
|
|
159
|
+
- 确保每道题:
|
|
160
|
+
✓ 覆盖相同核心知识点
|
|
161
|
+
✓ 保持解题逻辑一致性
|
|
162
|
+
✓ 答案唯一且可验证
|
|
163
|
+
✓ 无知识性错误
|
|
164
|
+
### 输出规范
|
|
165
|
+
你的响应输出**必须严格遵循以下自定义标签格式**。**严禁**使用 JSON 或 Markdown 代码块。**严禁**返回 \`\`\`json ... \`\`\`。
|
|
166
|
+
|
|
167
|
+
请严格按照以下结构输出内容(不要包含任何其他文字):
|
|
168
|
+
|
|
169
|
+
<question_text>
|
|
170
|
+
在此处填写新生成的填空题或解答题。不要包含题号、分值或选择题选项。
|
|
171
|
+
</question_text>
|
|
172
|
+
|
|
173
|
+
<answer_text>
|
|
174
|
+
在此处填写新题目的正确答案。
|
|
175
|
+
</answer_text>
|
|
176
|
+
|
|
177
|
+
<analysis>
|
|
178
|
+
在此处填写新题目的详细解析。
|
|
179
|
+
* 必须使用简体中文。
|
|
180
|
+
* **直接使用标准的 LaTeX 符号**(如 $\frac{1}{2}$),**不要**进行 JSON 转义。
|
|
181
|
+
</analysis>
|
|
182
|
+
|
|
183
|
+
{{figure_instruction}}
|
|
184
|
+
|
|
185
|
+
###关键格式与内容约束 (CRITICAL RULES) !!!
|
|
186
|
+
1. **纯文本**:内容作为纯文本处理,**不要转义反斜杠**。
|
|
187
|
+
2. **LaTeX 规范**:
|
|
188
|
+
${se}
|
|
189
|
+
|
|
190
|
+
{{grade_instruction}}
|
|
191
|
+
{{provider_hints}}`;var sa=e.i(367240);function sr({name:e,description:t}){return(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start gap-1 sm:gap-2 text-xs py-1",children:[(0,s.jsx)("code",{className:"bg-muted px-1.5 py-0.5 rounded font-mono text-primary shrink-0 w-fit",children:`{{${e}}}`}),(0,s.jsx)("span",{className:"text-muted-foreground",children:t})]})}function si(){let{t:e}=(0,t.b)();return(0,s.jsxs)("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3 flex items-start gap-3 text-amber-900 text-sm mb-4",children:[(0,s.jsx)(g,{className:"h-5 w-5 shrink-0 text-amber-600"}),(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("p",{className:"font-medium",children:e.settings?.prompts?.caution||"Modify with Caution"}),(0,s.jsx)("p",{className:"text-amber-800/90 text-xs",children:e.settings?.prompts?.warning||"Variables in {{brackets}} are used to inject dynamic content. Please preserve these variables, otherwise the AI providing may fail to get question context or return invalid formats."})]})]})}function sn({config:e,onUpdate:a}){let{t:r}=(0,t.b)(),i=e.prompts?.analyze||ss,n=e.prompts?.similar||st,l=async e=>{await (0,eo.u)(r.settings?.prompts?.resetConfirm||"Are you sure you want to reset to default?",{destructive:!0})&&a(e,"analyze"===e?ss:st)},o=(e,s)=>{a(e,s)};return(0,s.jsx)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:(0,s.jsxs)(A.i,{defaultValue:"analyze",className:"w-full",children:[(0,s.jsxs)(A.U,{className:"grid w-full grid-cols-2",children:[(0,s.jsx)(A.k,{value:"analyze",children:r.settings?.prompts?.analysisTab||"Analysis Prompt"}),(0,s.jsx)(A.k,{value:"similar",children:r.settings?.prompts?.similarTab||"Similar Question Prompt"})]}),(0,s.jsx)(A.S,{value:"analyze",className:"space-y-4 py-4",children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(Z.f,{className:"text-base font-semibold",children:r.settings?.prompts?.customAnalysis||"Custom Analysis Template"}),(0,s.jsxs)(S.f,{variant:"outline",size:"sm",onClick:()=>l("analyze"),children:[(0,s.jsx)(sa.f,{className:"w-4 h-4 mr-2"}),r.settings?.prompts?.reset||"Reset Default"]})]}),(0,s.jsx)(si,{}),(0,s.jsxs)("div",{className:"space-y-2 border rounded-md p-3 bg-background",children:[(0,s.jsxs)("h4",{className:"text-xs font-medium flex items-center gap-1.5 mb-2",children:[(0,s.jsx)(v,{className:"h-3.5 w-3.5"}),r.settings?.prompts?.variables||"Available Variables"]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(sr,{name:"language_instruction",description:r.settings?.prompts?.vars?.languageInstruction||"Injects instructions based on target language (e.g., keep English questions in English but analysis in Chinese)."}),(0,s.jsx)(sr,{name:"knowledge_points_list",description:r.settings?.prompts?.vars?.knowledgePointsList||"Injects the standard list of knowledge point tags for the specific subject."}),(0,s.jsx)(sr,{name:"provider_hints",description:r.settings?.prompts?.vars?.providerHints||"System-injected hints (e.g., enforcing JSON format)."})]})]}),(0,s.jsx)(e3.f,{value:i,onChange:e=>o("analyze",e.target.value),className:"font-mono text-xs min-h-[400px]",placeholder:ss})]})}),(0,s.jsx)(A.S,{value:"similar",className:"space-y-4 py-4",children:(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)(Z.f,{className:"text-base font-semibold",children:r.settings?.prompts?.customSimilar||"Custom Similar Question Template"}),(0,s.jsxs)(S.f,{variant:"outline",size:"sm",onClick:()=>l("similar"),children:[(0,s.jsx)(sa.f,{className:"w-4 h-4 mr-2"}),r.settings?.prompts?.reset||"Reset Default"]})]}),(0,s.jsx)(si,{}),(0,s.jsxs)("div",{className:"space-y-2 border rounded-md p-3 bg-background",children:[(0,s.jsxs)("h4",{className:"text-xs font-medium flex items-center gap-1.5 mb-2",children:[(0,s.jsx)(v,{className:"h-3.5 w-3.5"}),r.settings?.prompts?.variables||"Available Variables"]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(sr,{name:"difficulty_level",description:r.settings?.prompts?.vars?.difficultyLevel||"Target difficulty level."}),(0,s.jsx)(sr,{name:"difficulty_instruction",description:r.settings?.prompts?.vars?.difficultyInstruction||"Specific writing instructions for the target difficulty."}),(0,s.jsx)(sr,{name:"original_question",description:r.settings?.prompts?.vars?.originalQuestion||"The full text of the original question."}),(0,s.jsx)(sr,{name:"knowledge_points",description:r.settings?.prompts?.vars?.knowledgePoints||"List of knowledge points to test."}),(0,s.jsx)(sr,{name:"language_instruction",description:r.settings?.prompts?.vars?.languageInstructionShort||"Language formatting instructions."})]})]}),(0,s.jsx)(e3.f,{value:n,onChange:e=>o("similar",e.target.value),className:"font-mono text-xs min-h-[400px]",placeholder:st})]})})]})})}function sl({value:e,icon:t,label:a}){return(0,s.jsxs)(A.k,{value:e,className:"px-2 sm:px-3",children:[t,(0,s.jsx)("span",{className:"hidden sm:inline",children:a})]})}function so(){let{setTimeZone:e}=(0,r.M)(),{data:i}=(0,a.useSession)(),n=i?.user?.role==="admin",{t:c}=(0,t.b)(),d=(0,l.useRouter)(),[m,u]=(0,f.useState)(!1),x=(0,f.useRef)(null),[h,I]=(0,f.useState)(!1),[E,T]=(0,f.useState)(!1),[P,R]=(0,f.useState)({aiProvider:"minimax"}),_=(0,f.useCallback)(async()=>{T(!0);try{R(await el.f.get("/api/settings"))}catch(e){ec.f.error("[SettingsDialog]","Failed to fetch settings",{error:e})}finally{T(!1)}},[]);(0,f.useEffect)(()=>{m&&_()},[m,_]);let z=async()=>{let s=function(e,s){if(!(0,M.L)(e.timeZone??M.J))return s.settings.general.invalidTimeZone;if("openai"===e.aiProvider)for(let t of e.openai?.instances||[]){if(!t.name?.trim())return s.settings?.ai?.validationNameRequired||"Instance name is required";if(!t.apiKey?.trim())return s.settings?.ai?.validationApiKeyRequired||"API Key is required";if(!t.baseUrl?.trim())return s.settings?.ai?.validationBaseUrlRequired||"Base URL is required";if(!t.model?.trim())return s.settings?.ai?.validationModelRequired||"Model name is required"}if("azure"===e.aiProvider){if(!e.azure?.endpoint?.trim())return s.settings?.ai?.validationAzureEndpointRequired||"Azure Endpoint is required";if(!e.azure?.deploymentName?.trim())return s.settings?.ai?.validationAzureDeploymentRequired||"Deployment Name is required";if(!e.azure?.apiKey?.trim())return s.settings?.ai?.validationApiKeyRequired||"API Key is required"}return null}(P,c);if(s)return void eo.c.error(s);I(!0);try{let s=await el.f.post("/api/settings",P);R(s),e(s.timeZone||M.J),eo.c.success(c.settings?.messages?.saved||"Settings saved"),x.current?.scrollTo({top:0,behavior:"smooth"})}catch(e){ec.f.error("[SettingsDialog]","Failed to save settings",{error:e}),eo.c.error(c.settings?.messages?.saveFailed||"Failed to save")}finally{I(!1)}},U=e=>(0,s.jsxs)(S.f,{onClick:z,disabled:h,className:"w-full",children:[h&&(0,s.jsx)(b.f,{className:"mr-2 h-4 w-4 animate-spin"}),e]});return(0,s.jsxs)(C.N,{open:m,onOpenChange:u,children:[(0,s.jsx)(C.a,{asChild:!0,children:(0,s.jsxs)(S.f,{variant:"ghost",size:"icon",className:"rounded-full",children:[(0,s.jsx)(w,{className:"h-5 w-5"}),(0,s.jsx)("span",{className:"sr-only",children:c.settings?.title||"Settings"})]})}),(0,s.jsxs)(C.d,{ref:x,className:"w-[calc(100vw-2rem)] sm:max-w-[900px] max-h-[85vh] overflow-y-auto",children:[(0,s.jsxs)(C.s,{children:[(0,s.jsx)(C.F,{children:c.settings?.title||"Settings"}),(0,s.jsx)(C.C,{children:c.settings?.desc||"Manage your preferences and data."})]}),(0,s.jsxs)(A.i,{defaultValue:"general",className:"w-full",children:[(0,s.jsxs)(A.U,{className:`grid w-full grid-cols-4 ${n?"sm:grid-cols-7":"sm:grid-cols-4"} gap-1 h-auto`,children:[(0,s.jsx)(sl,{value:"general",icon:(0,s.jsx)(y.f,{className:"h-4 w-4 sm:mr-2"}),label:c.settings?.tabs?.general||"General"}),(0,s.jsx)(sl,{value:"account",icon:(0,s.jsx)(k.f,{className:"h-4 w-4 sm:mr-2"}),label:c.settings?.tabs?.account||"Account"}),n&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(sl,{value:"ai",icon:(0,s.jsx)(j,{className:"h-4 w-4 sm:mr-2"}),label:c.settings?.tabs?.ai||"AI Provider"}),(0,s.jsx)(sl,{value:"prompts",icon:(0,s.jsx)(N,{className:"h-4 w-4 sm:mr-2"}),label:c.settings?.tabs?.prompts||"Prompts"}),(0,s.jsx)(sl,{value:"admin",icon:(0,s.jsx)(p,{className:"h-4 w-4 sm:mr-2"}),label:c.settings?.tabs?.admin||"User Management"})]}),(0,s.jsx)(sl,{value:"danger",icon:(0,s.jsx)(g,{className:"h-4 w-4 sm:mr-2"}),label:c.settings?.tabs?.danger||"Danger"}),(0,s.jsx)(sl,{value:"about",icon:(0,s.jsx)(v,{className:"h-4 w-4 sm:mr-2"}),label:c.settings?.tabs?.about||"About"})]}),(0,s.jsxs)(A.S,{value:"general",className:"space-y-4 py-4",children:[(0,s.jsx)(e4,{config:P,setConfig:R,isAdmin:n,disabled:E||h}),n&&U(c.settings?.save||"Save Settings")]}),(0,s.jsx)(A.S,{value:"account",className:"space-y-4 py-4",children:(0,s.jsx)(eA,{})}),(0,s.jsx)(A.S,{value:"ai",className:"space-y-4 py-4",children:(0,s.jsx)(eq,{config:P,setConfig:R,loading:E,saving:h,onSave:z})}),(0,s.jsxs)(A.S,{value:"prompts",className:"space-y-4 py-4",children:[(0,s.jsx)(sn,{config:P,onUpdate:(e,s)=>R(t=>({...t,prompts:{...t.prompts,[e]:s}}))}),U(c.settings?.prompts?.save||"Save Prompt Settings")]}),n&&(0,s.jsxs)(A.S,{value:"admin",className:"space-y-4 py-4",children:[(0,s.jsxs)(S.f,{variant:"outline",className:"w-full justify-start gap-2",onClick:()=>{u(!1),d.push("/admin")},children:[(0,s.jsx)(o.f,{className:"h-4 w-4"}),c.admin?.dashboard?.title||"Admin Dashboard"]}),(0,s.jsx)("div",{className:"border-t pt-4",children:(0,s.jsx)(em,{})})]}),(0,s.jsx)(A.S,{value:"danger",className:"space-y-4 py-4",children:(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(eX,{isAdmin:n}),(0,s.jsx)(eH,{isAdmin:n})]})}),(0,s.jsx)(A.S,{value:"about",className:"space-y-4 py-4",children:(0,s.jsx)(ey,{})})]})]})]})}let sc=[/^\/login/,/^\/register/,/^\/print-preview/,/^\/exams\/[^/]+\/print/],sd=[{key:"home",href:"/",icon:x,match:e=>"/"===e},{key:"notebooks",href:"/notebooks",icon:c.f,match:e=>e.startsWith("/notebooks")||e.startsWith("/error-items")||e.startsWith("/practice")},{key:"tags",href:"/tags",icon:h,match:e=>e.startsWith("/tags")},{key:"stats",href:"/stats",icon:o.f,match:e=>e.startsWith("/stats")},{key:"exams",href:"/exams",icon:d.f,match:e=>e.startsWith("/exams")}];function sm({children:e}){let r=(0,l.usePathname)()||"/",{t:o}=(0,t.b)(),{data:c,status:d}=(0,a.useSession)();if(sc.some(e=>e.test(r))||"unauthenticated"===d)return(0,s.jsx)(s.Fragment,{children:e});let m=c?.user?.role==="admin",x=c?.user?.name||c?.user?.email||"";return(0,s.jsxs)("div",{className:"min-h-screen",children:[(0,s.jsx)("header",{className:"sticky top-0 z-40 border-b bg-card/80 backdrop-blur-md supports-[backdrop-filter]:bg-card/70 print:hidden",children:(0,s.jsxs)("div",{className:"mx-auto flex h-14 max-w-6xl items-center gap-3 px-4 md:h-16 md:px-8",children:[(0,s.jsxs)(n.default,{href:"/",className:"flex shrink-0 items-center gap-2",children:[(0,s.jsx)(i.default,{src:"/icons/icon.png",alt:"",width:32,height:32,className:"rounded-lg",priority:!0,unoptimized:!0}),(0,s.jsx)("span",{className:"text-base font-semibold tracking-tight",children:o.pageTitle.base})]}),(0,s.jsx)("nav",{className:"ml-4 hidden items-center gap-1 md:flex",children:sd.map(e=>{let t=e.match(r),a=e.icon;return(0,s.jsxs)(n.default,{href:e.href,className:(0,Y.f)("flex items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors",t?"bg-accent text-accent-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),"aria-current":t?"page":void 0,children:[(0,s.jsx)(a,{className:"h-4 w-4"}),o.nav[e.key]]},e.key)})}),(0,s.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[x&&(0,s.jsxs)("span",{className:"mr-2 hidden max-w-40 items-center gap-2 truncate text-sm text-muted-foreground lg:flex",children:[(0,s.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-xs font-semibold text-primary",children:x.slice(0,1).toUpperCase()}),(0,s.jsx)("span",{className:"truncate",children:x})]}),m&&(0,s.jsx)(n.default,{href:"/admin",title:o.nav.admin,children:(0,s.jsxs)(S.f,{variant:"ghost",size:"icon",className:"rounded-full",children:[(0,s.jsx)(p,{className:"h-5 w-5"}),(0,s.jsx)("span",{className:"sr-only",children:o.nav.admin})]})}),(0,s.jsx)(so,{}),(0,s.jsx)(S.f,{variant:"ghost",size:"icon",className:"rounded-full text-muted-foreground hover:text-destructive",onClick:()=>(0,a.signOut)({callbackUrl:"/login"}),title:o.app.logout,children:(0,s.jsx)(u,{className:"h-5 w-5"})})]})]})}),(0,s.jsx)("div",{className:"pb-20 md:pb-0",children:e}),(0,s.jsx)("nav",{className:"pb-safe fixed inset-x-0 bottom-0 z-40 border-t bg-card/90 backdrop-blur-md md:hidden print:hidden",children:(0,s.jsx)("div",{className:"grid h-16 grid-cols-5",children:sd.map(e=>{let t=e.match(r),a=e.icon;return(0,s.jsxs)(n.default,{href:e.href,className:(0,Y.f)("flex flex-col items-center justify-center gap-1 text-[11px] font-medium transition-colors",t?"text-primary":"text-muted-foreground"),"aria-current":t?"page":void 0,children:[(0,s.jsx)("span",{className:(0,Y.f)("flex h-7 w-12 items-center justify-center rounded-full transition-colors",t&&"bg-accent"),children:(0,s.jsx)(a,{className:"h-5 w-5"})}),o.nav[e.key]]},e.key)})})})]})}let su=(0,m.f)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),sx=[/^\/login/,/^\/register/,/^\/print-preview/,/^\/exams\/[^/]+\/print/];function sp(){let{t:e}=(0,t.b)(),{timeZone:i}=(0,r.M)(),{status:o}=(0,a.useSession)(),c=(0,l.usePathname)(),[d,m]=(0,f.useState)(!1),[u,x]=(0,f.useState)([]),[p,h]=(0,f.useState)(()=>Date.now()),g="authenticated"!==o||sx.some(e=>e.test(c||"")),j=(0,f.useCallback)(async()=>{if("u"<typeof document||"hidden"!==document.visibilityState)try{let e=await el.f.get("/api/tasks");x(e.tasks),h(Date.now())}catch{}},[]);if((0,f.useEffect)(()=>{if(g)return;let e=setTimeout(j,0),s=setInterval(j,d?2e3:15e3);return()=>{clearTimeout(e),clearInterval(s)}},[g,d,j]),g)return null;let v=u.filter(e=>"running"===e.status).length,y=u.some(e=>"running"!==e.status),N=async()=>{try{let e=await el.f.delete("/api/tasks");x(e.tasks)}catch{}};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(S.f,{variant:"outline",size:"icon",className:"fixed bottom-20 right-4 z-40 h-11 w-11 rounded-full shadow-lg md:bottom-6 md:right-6 print:hidden",onClick:()=>m(!0),"aria-label":e.backgroundTasks.title,title:e.backgroundTasks.title,children:[v>0?(0,s.jsx)(b.f,{className:"h-5 w-5 animate-spin"}):(0,s.jsx)(su,{className:"h-5 w-5"}),v>0&&(0,s.jsx)("span",{className:"absolute -right-1 -top-1 flex h-5 min-w-5 items-center justify-center rounded-full bg-primary px-1 text-xs text-primary-foreground",children:v})]}),(0,s.jsx)(C.N,{open:d,onOpenChange:m,children:(0,s.jsxs)(C.d,{className:"max-h-[85vh] overflow-y-auto sm:max-w-lg",children:[(0,s.jsxs)(C.s,{children:[(0,s.jsx)(C.F,{children:e.backgroundTasks.title}),(0,s.jsx)(C.C,{children:e.backgroundTasks.description})]}),0===u.length?(0,s.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:e.backgroundTasks.empty}):(0,s.jsx)("ul",{className:"space-y-2",children:u.map(t=>{var a,r;let l;return(0,s.jsx)("li",{className:"rounded-md border p-3 text-sm",children:(0,s.jsxs)("div",{className:"flex items-start gap-2",children:["running"===t.status&&(0,s.jsx)(b.f,{className:"mt-0.5 h-4 w-4 shrink-0 animate-spin text-primary"}),"succeeded"===t.status&&(0,s.jsx)(eM,{className:"mt-0.5 h-4 w-4 shrink-0 text-green-600"}),"failed"===t.status&&(0,s.jsx)(eI.f,{className:"mt-0.5 h-4 w-4 shrink-0 text-destructive"}),(0,s.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,s.jsxs)("div",{className:"font-medium",children:[e.backgroundTasks.kinds[t.kind],(0,s.jsxs)("span",{className:"font-normal text-muted-foreground",children:[" · ",e.backgroundTasks.status[t.status]]})]}),t.subject&&(0,s.jsx)("div",{className:"break-words text-muted-foreground",children:t.subject}),t.progress&&t.progress.total>0&&(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsx)("div",{className:"h-1.5 overflow-hidden rounded bg-muted",children:(0,s.jsx)("div",{className:"h-full bg-primary transition-all",style:{width:`${Math.round(t.progress.done/t.progress.total*100)}%`}})}),(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:[e.backgroundTasks.progress.replace("{done}",String(t.progress.done)).replace("{total}",String(t.progress.total)),t.progress.failed>0&&` \xb7 ${e.backgroundTasks.failedCount.replace("{count}",String(t.progress.failed))}`]})]}),t.error&&(0,s.jsx)("div",{className:"text-xs text-destructive",children:(s=>{if(!s)return null;let t=e.backgroundTasks.errors[s]??e.errors[s];return"string"==typeof t?t:s})(t.error)}),(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 text-xs text-muted-foreground",children:[(0,s.jsx)("span",{children:e.backgroundTasks.startedAt.replace("{time}",(0,M.r)(t.startedAt,"HH:mm:ss",i))}),(0,s.jsx)("span",{children:e.backgroundTasks.elapsed.replace("{time}",(a=t.startedAt,r=t.finishedAt,l=Math.max(0,Math.round(((r?Date.parse(r):p)-Date.parse(a))/1e3)),`${Math.floor(l/60)}:${String(l%60).padStart(2,"0")}`))}),t.link&&(0,s.jsx)(n.default,{href:t.link,className:"text-primary hover:underline",onClick:()=>m(!1),children:e.backgroundTasks.view})]})]})]})},t.id)})}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-2 pt-1",children:[(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:e.backgroundTasks.retentionHint}),y&&(0,s.jsx)(S.f,{variant:"ghost",size:"sm",onClick:N,children:e.backgroundTasks.clearFinished})]})]})})]})}var sh=e.i(37727);let sf={success:{icon:eM,className:"text-success"},error:{icon:eI.f,className:"text-destructive"},warning:{icon:g,className:"text-warning"},info:{icon:v,className:"text-primary"}};function sg(){let{t:e}=(0,t.b)(),[a,r]=(0,f.useState)([]),[i,n]=(0,f.useState)(null);return(0,f.useEffect)(()=>(0,eo.M)(e=>{r(e.toasts),n(e.confirm)}),[]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"pointer-events-none fixed inset-x-0 top-3 z-[100] flex flex-col items-center gap-2 px-4 print:hidden",role:"status","aria-live":"polite",children:a.map(t=>{let{icon:a,className:r}=sf[t.type];return(0,s.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-sm items-start gap-3 rounded-xl border bg-card/95 px-4 py-3 text-sm shadow-lg backdrop-blur animate-in fade-in slide-in-from-top-2 duration-200",children:[(0,s.jsx)(a,{className:(0,Y.f)("mt-0.5 h-4 w-4 shrink-0",r)}),(0,s.jsx)("p",{className:"min-w-0 flex-1 whitespace-pre-line break-words leading-relaxed",children:t.message}),(0,s.jsx)("button",{type:"button",className:"shrink-0 rounded p-0.5 text-muted-foreground transition-colors hover:text-foreground",onClick:()=>(0,eo.p)(t.id),"aria-label":e.common.close,children:(0,s.jsx)(sh.X,{className:"h-3.5 w-3.5"})})]},t.id)})}),(0,s.jsx)(C.N,{open:!!i,onOpenChange:e=>{e||i?.resolve(!1)},children:(0,s.jsxs)(C.d,{className:"sm:max-w-md",children:[(0,s.jsxs)(C.s,{children:[(0,s.jsxs)(C.F,{className:"flex items-center gap-2",children:[i?.destructive&&(0,s.jsx)(g,{className:"h-5 w-5 text-destructive"}),i?.title||e.common.confirmTitle]}),(0,s.jsx)(C.C,{className:"whitespace-pre-line pt-1 text-left leading-relaxed",children:i?.message})]}),(0,s.jsxs)(C.c,{className:"gap-2",children:[(0,s.jsx)(S.f,{variant:"outline",onClick:()=>i?.resolve(!1),children:i?.cancelText||e.common.cancel}),(0,s.jsx)(S.f,{variant:i?.destructive?"destructive":"default",onClick:()=>i?.resolve(!0),autoFocus:!0,children:i?.confirmText||e.common.confirm})]})]})})]})}function sj(){return(0,f.useEffect)(()=>{"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js",{scope:"/"}).catch(e=>{ec.f.warn("[PWA]","Service worker registration failed",{error:String(e)})})},[]),null}e.s(["Providers",0,function({children:e,timeZone:i}){return(0,s.jsx)(a.SessionProvider,{children:(0,s.jsx)(t.w,{children:(0,s.jsxs)(r.n,{initialTimeZone:i,children:[(0,s.jsx)(sm,{children:e}),(0,s.jsx)(sp,{}),(0,s.jsx)(sg,{}),(0,s.jsx)(sj,{})]})})})}],1661)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(()=>{"use strict";(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,871689,e=>{let s=(0,e.i(475254).f)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["f",0,s],871689)},63209,e=>{let s=(0,e.i(475254).f)("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(["f",0,s],63209)},503116,e=>{let s=(0,e.i(475254).f)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["f",0,s],503116)},41966,852008,e=>{var s=e.i(475254);let a=(0,s.f)("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(["f",0,a],41966);let t=(0,s.f)("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(["f",0,t],852008)},945514,e=>{var s=e.i(843476),a=e.i(271645),t=e.i(217255),r=e.i(618566),i=e.i(111110),d=e.i(35209),n=e.i(215519),l=e.i(306831),c=e.i(41931),o=e.i(201276),m=e.i(531278),x=e.i(871689),u=e.i(284614),h=e.i(810980),f=e.i(41966),b=e.i(852008),j=e.i(475254);let N=(0,j.f)("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"}]]),p=(0,j.f)("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(269638),g=e.i(503116),v=e.i(63209),w=e.i(286536),k=e.i(519455),D=e.i(515288),M=e.i(487486);e.s(["default",0,function(){let{timeZone:e}=(0,n.M)(),{data:j,status:A}=(0,t.useSession)(),C=(0,r.useRouter)(),O=(0,r.useParams)(),{t:R}=(0,i.b)(),[T,S]=(0,a.useState)(null);(0,d.f)(R.admin.dashboard.title,T?.user.name||T?.user.email);let[q,z]=(0,a.useState)(!0),E=O.id,L=(0,a.useCallback)(async()=>{z(!0);try{let e=await c.f.get(`/api/admin/users/${E}/detail`);S(e)}catch(e){o.f.error("[AdminUserDetail]","Failed to fetch user detail",{error:e})}finally{z(!1)}},[E]);if((0,a.useEffect)(()=>{if("loading"!==A){if(!j?.user||"admin"!==j.user.role)return void C.push("/");L()}},[j,A,C,L]),"loading"===A||q)return(0,s.jsx)("div",{className:"flex items-center justify-center min-h-[60vh]",children:(0,s.jsx)(m.f,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(!T)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:R.common?.error||"Error"}),(0,s.jsx)(k.f,{onClick:L,children:R.admin?.dashboard?.retry||"Retry"})]});let Y=[{key:"new",label:R.admin?.dashboard?.masteryNew||"To Review",count:T.masteryDistribution.new,icon:v.f,color:"text-red-500"},{key:"reviewing",label:R.admin?.dashboard?.masteryReviewing||"Reviewing",count:T.masteryDistribution.reviewing,icon:g.f,color:"text-yellow-500"},{key:"mastered",label:R.admin?.dashboard?.masteryMastered||"Mastered",count:T.masteryDistribution.mastered,icon:y.f,color:"text-green-500"}],P=T.masteryDistribution.new+T.masteryDistribution.reviewing+T.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)(k.f,{variant:"ghost",size:"sm",onClick:()=>C.push("/admin"),children:[(0,s.jsx)(x.f,{className:"h-4 w-4 mr-1"}),R.common?.back||"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)(u.f,{className:"h-6 w-6 text-blue-500"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-xl font-bold",children:T.user.name||"N/A"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:T.user.email})]}),"admin"===T.user.role&&(0,s.jsx)(M.f,{variant:"default",children:R.admin?.admin||"Admin"}),(0,s.jsx)(M.f,{variant:T.user.isActive?"default":"destructive",children:T.user.isActive?R.admin?.active||"Active":R.admin?.disabled||"Disabled"})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[(0,s.jsx)(D.N,{className:"border-0 shadow-sm",children:(0,s.jsxs)(D.O,{className:"p-4 text-center",children:[(0,s.jsx)(b.f,{className:"h-5 w-5 text-purple-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:T.notebookCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:R.admin?.dashboard?.notebooks||"Notebooks"})]})}),(0,s.jsx)(D.N,{className:"border-0 shadow-sm",children:(0,s.jsxs)(D.O,{className:"p-4 text-center",children:[(0,s.jsx)(h.f,{className:"h-5 w-5 text-red-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:T.errorCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:R.admin?.dashboard?.errors||"Errors"})]})}),(0,s.jsx)(D.N,{className:"border-0 shadow-sm",children:(0,s.jsxs)(D.O,{className:"p-4 text-center",children:[(0,s.jsx)(f.f,{className:"h-5 w-5 text-green-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:T.practiceCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:R.admin?.dashboard?.practice||"Practice"})]})}),(0,s.jsx)(D.N,{className:"border-0 shadow-sm",children:(0,s.jsxs)(D.O,{className:"p-4 text-center",children:[(0,s.jsx)(N,{className:"h-5 w-5 text-blue-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:T.recent7DaysCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:R.admin?.dashboard?.recent7Days||"Last 7 Days"})]})})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,s.jsxs)(D.N,{className:"border-0 shadow-sm",children:[(0,s.jsx)(D.Y,{className:"pb-2",children:(0,s.jsxs)(D.v,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(b.f,{className:"h-4 w-4 text-purple-500"}),R.admin?.dashboard?.userNotebooks||"Notebooks"]})}),(0,s.jsx)(D.O,{children:0===T.notebooks.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:R.admin?.dashboard?.noData||"No Data"}):(0,s.jsx)("div",{className:"space-y-2",children:T.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.jsx)(M.f,{variant:"secondary",className:"text-xs",children:(R.admin?.dashboard?.questionCount||"{count} questions").replace("{count}",String(e.errorCount))})]},e.id))})})]}),(0,s.jsxs)(D.N,{className:"border-0 shadow-sm",children:[(0,s.jsx)(D.Y,{className:"pb-2",children:(0,s.jsxs)(D.v,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(y.f,{className:"h-4 w-4 text-green-500"}),R.admin?.dashboard?.masteryDistribution||"Mastery Distribution"]})}),(0,s.jsx)(D.O,{children:0===P?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:R.admin?.dashboard?.noData||"No Data"}):(0,s.jsx)("div",{className:"space-y-3",children:Y.map(e=>{let a=P>0?Math.round(e.count/P*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)})})})]})]}),T.subjectDistribution.length>0&&(0,s.jsxs)(D.N,{className:"border-0 shadow-sm",children:[(0,s.jsx)(D.Y,{className:"pb-2",children:(0,s.jsxs)(D.v,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(p,{className:"h-4 w-4 text-blue-500"}),R.admin?.dashboard?.subjectDistribution||"Subject Distribution"]})}),(0,s.jsx)(D.O,{children:(0,s.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:T.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)(M.f,{variant:"secondary",children:e.count})]},e.name))})})]}),(0,s.jsxs)(D.N,{className:"border-0 shadow-sm",children:[(0,s.jsx)(D.Y,{className:"pb-2",children:(0,s.jsxs)(D.v,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(w.f,{className:"h-4 w-4 text-orange-500"}),R.admin?.dashboard?.recentErrors||"Recent Error Items"]})}),(0,s.jsx)(D.O,{children:0===T.recentErrorItems.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:R.admin?.dashboard?.noData||"No Data"}):(0,s.jsx)("div",{className:"space-y-2",children:T.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||R.admin?.dashboard?.noQuestionText}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[a.subject&&(0,s.jsx)(M.f,{variant:"outline",className:"text-xs",children:a.subject.name}),"mastered"===a.masteryStatus&&(0,s.jsx)(M.f,{variant:"default",className:"text-xs",children:R.admin?.dashboard?.masteryMastered||"Mastered"}),"reviewing"===a.masteryStatus&&(0,s.jsx)(M.f,{variant:"secondary",className:"text-xs",children:R.admin?.dashboard?.masteryReviewing||"Reviewing"}),"new"===a.masteryStatus&&(0,s.jsx)(M.f,{variant:"outline",className:"text-xs",children:R.admin?.dashboard?.masteryNew||"To Review"})]})]}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:(0,l.r)(a.createdAt,"yyyy-MM-dd",e)})]},a.id))})})]})]})}],945514)},515288,e=>{var s=e.i(843476),a=e.i(975157);e.s(["N",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card",className:(0,a.f)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})},"O",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,a.f)("px-6",e),...t})},"u",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,a.f)("text-muted-foreground text-sm",e),...t})},"Y",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,a.f)("@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})},"v",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,a.f)("leading-none font-semibold",e),...t})}])},35209,e=>{var s=e.i(271645),a=e.i(111110);e.s(["f",0,function(...e){let{t}=(0,a.b)(),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])}])}])})();
|