PageSourceSearch

https://zerde.ai/assets/QMJCreate-BpY3zWJd.js

js zerde.ai collected 2026-10-05 13:32:06 UTC 8,075 bytes, 7 lines download raw bytes

1import{c as _,q as D,t as R,_ as W,f as $,j as e,B as o,m as K,J as Z,K as X,T as Y,an as ee,l as w,am as se,a1 as ae,S as te}from"./app-DQCW1V05.js";import{u as ce}from"./index.esm-BkC9HfYr.js";import{t as re,o as le,a as C,s as m}from"./types-CRoC4UIs.js";import{I as ne}from"./input-Dy9R-Qs5.js";import{L as d}from"./label-DCzaBmCO.js";import{S as h,a as g,b as v,c as b,d as f}from"./select-D39Q3ou4.js";import{A as ie,a as oe}from"./alert-DFLnYV3U.js";import{b as me,c as de}from"./useQMJ-DR6WG0Q-.js";import{u as je}from"./UpgradePrompt-C1JeCrF1.js";import{A as ue}from"./ActiveQMJGenerationBanner-C4AFfuHQ.js";import{C as pe}from"./circle-alert-Boc3nvZh.js";import"./index-DSI6OSeg.js";import"./chevron-up-CoF5NpGj.js";import"./qmj.service-CAup3UcV.js";import"./dialog-CfSxp4On.js";import"./badge-iSTyHvSS.js";import"./usePlans-BX0TVI-u.js";import"./triangle-alert-D7M1C8jf.js";import"./infinity-CSytwVA6.js";import"./qmjGenerationStorage-COZA0tGr.js";import"./circle-check-cxEkMJDC.js";/**
2 * @license lucide-react v0.441.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const xe=_("WandSparkles",[["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"}]]),he=le({topic:m().min(10,"Topic must be at least 10 characters"),subject:m().min(1,"Please select a subject"),grade:m().min(1,"Please select a grade"),language:m().min(1,"Please select a language"),objectives:C(m()).min(1,"At least one objective is required"),values:C(m()).optional()}),ge=[{value:"Тәуелсіздік және Отаншылдық",label:"Тәуелсіздік және Отаншылдық"},{value:"Бірлік",label:"Бірлік"},{value:"Әділдік",label:"Әділдік"},{value:"Еңбекқорлық",label:"Еңбекқорлық"},{value:"Парасаттылық пен Адалдық",label:"Парасаттылық пен Адалдық"}];function Je(){const{t:a}=D(),A=R(),{data:u}=me(),p=de(),{canGenerateQMJ:M}=W(),{openUpgrade:O,UpgradePromptModal:P}=je(),[N,T]=$.useState(!1),{register:V,handleSubmit:G,setValue:r,watch:n,formState:{errors:c}}=ce({resolver:re(he),defaultValues:{language:"kk",objectives:[""],values:[]}}),i=n("objectives")||[""],j=n("values")||[],y=n("topic")||"",q=n("subject")||"",k=n("grade")||"",L=n("language")||"kk",x=M().canGenerate,S=y.length>=5&&q&&k,z=s=>{if(!x)return;T(!0);const t=s.objectives.filter(l=>l.trim()!=="");A("/qmj/generate",{state:{topic:s.topic,subject:s.subject,grade:s.grade,language:s.language,objectives:t,values:s.values}})},I=async()=>{if(S)try{const s=await p.mutateAsync({topic:y,grade:parseInt(k),subject:q,language:L});r("objectives",s.content)}catch{}},U=()=>{r("objectives",[...i,""])},F=s=>{const t=i.filter((l,Q)=>Q!==s);r("objectives",t.length>0?t:[""])},J=(s,t)=>{const l=[...i];l[s]=t,r("objectives",l)},B=s=>{j.includes(s)?r("values",j.filter(t=>t!==s)):r("values",[...j,s])},E=[1,2,3,4,5,6,7,8,9,10,11],H=[{code:"kk",name:"Қазақша"},{code:"ru",name:"Русский"}];return e.jsxs("div",{className:"mx-auto max-w-2xl space-y-6",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-3xl font-bold",children:a("qmj.create")}),e.jsx("p",{className:"text-muted-foreground",children:a("qmj.generate")})]}),e.jsx(ue,{}),!x&&e.jsxs(ie,{variant:"destructive",children:[e.jsx(pe,{className:"h-4 w-4"}),e.jsxs(oe,{className:"flex items-center justify-between",children:[e.jsxs("span",{children:[a("qmj.limitReached")," ",a("qmj.upgradePrompt")]}),e.jsxs(o,{variant:"outline",size:"sm",onClick:()=>O("qmj"),className:"ml-4 gap-2",children:[e.jsx(K,{className:"h-4 w-4"}),a("subscription.upgradeNow")]})]})]}),e.jsx(P,{}),e.jsxs(Z,{children:[e.jsx(X,{}),e.jsx(Y,{children:e.jsxs("form",{onSubmit:G(z),className:"space-y-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{htmlFor:"topic",children:[a("qmj.form.topic")," *"]}),e.jsx(ee,{id:"topic",placeholder:a("qmj.form.topicPlaceholder"),...V("topic"),className:c.topic?"border-destructive":""}),c.topic&&e.jsx("p",{className:"text-sm text-destructive",children:c.topic.message})]}),e.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{children:[a("qmj.form.subject")," *"]}),e.jsxs(h,{onValueChange:s=>r("subject",s),children:[e.jsx(g,{className:c.subject?"border-destructive":"",children:e.jsx(v,{placeholder:a("qmj.form.subject")})}),e.jsx(b,{children:u==null?void 0:u.map(s=>e.jsx(f,{value:s.name,children:s.name},s.id))})]}),c.subject&&e.jsx("p",{className:"text-sm text-destructive",children:c.subject.message})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{children:[a("qmj.form.grade")," *"]}),e.jsxs(h,{onValueChange:s=>r("grade",s),children:[e.jsx(g,{className:c.grade?"border-destructive":"",children:e.jsx(v,{placeholder:a("qmj.form.grade")})}),e.jsx(b,{children:E.map(s=>e.jsxs(f,{value:s.toString(),children:[s," ",a("qmj.gradeUnit","сынып")]},s))})]}),c.grade&&e.jsx("p",{className:"text-sm text-destructive",children:c.grade.message})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs(d,{children:[a("qmj.form.language")," *"]}),e.jsxs(h,{defaultValue:"kk",onValueChange:s=>r("language",s),children:[e.jsx(g,{children:e.jsx(v,{})}),e.jsx(b,{children:H.map(s=>e.jsx(f,{value:s.code,children:s.name},s.code))})]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(d,{className:"flex items-center gap-2",children:[a("qmj.form.learningObjectives","Оқу мақсаттары")," *",e.jsxs("span",{className:"text-xs text-muted-foreground font-normal",children:["(",i.filter(s=>s.trim()).length," ",a("qmj.form.objectivesCount","мақсат"),")"]})]}),e.jsxs(o,{type:"button",variant:"outline",size:"sm",onClick:I,disabled:p.isPending||!S,className:"gap-2",children:[p.isPending?e.jsx(w,{className:"h-4 w-4 animate-spin"}):e.jsx(xe,{className:"h-4 w-4"}),a("qmj.form.autoGenerate","Авто-генерация")]})]}),e.jsxs("div",{className:"space-y-2 p-4 border rounded-lg bg-muted/30",children:[i.map((s,t)=>e.jsxs("div",{className:"flex gap-2 items-center",children:[e.jsxs("span",{className:"text-sm text-muted-foreground w-6",children:[t+1,"."]}),e.jsx(ne,{value:s,onChange:l=>J(t,l.target.value),placeholder:a("qmj.form.objectivePlaceholder","Оқу мақсатын енгізіңіз (мыс: 5.1.2.3)..."),className:`flex-1 ${c.objectives?"border-destructive":""}`}),i.length>1&&e.jsx(o,{type:"button",variant:"ghost",size:"icon",onClick:()=>
6F(t),className:"h-9 w-9 text-muted-foreground hover:text-destructive",children:e.jsx(se,{className:"h-4 w-4"})})]},t)),e.jsxs(o,{type:"button",variant:"outline",size:"sm",onClick:U,className:"w-full mt-2 gap-2",children:[e.jsx(ae,{className:"h-4 w-4"}),a("qmj.form.addObjective","Мақсат қосу")]})]}),c.objectives&&e.jsx("p",{className:"text-sm text-destructive",children:c.objectives.message})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs(d,{children:[a("qmj.form.values","Құндылықтар")," (",a("common.optional","міндетті емес"),")"]}),e.jsx("div",{className:"flex flex-wrap gap-2",children:ge.map(s=>e.jsx(o,{type:"button",variant:j.includes(s.value)?"default":"outline",size:"sm",onClick:()=>B(s.value),className:"text-sm",children:s.label},s.value))})]}),e.jsx(o,{type:"submit",className:"w-full gap-2",disabled:N||!x,children:N?e.jsxs(e.Fragment,{children:[e.jsx(w,{className:"h-4 w-4 animate-spin"}),a("qmj.generating")]}):e.jsxs(e.Fragment,{children:[e.jsx(te,{className:"h-4 w-4"}),a("qmj.generate")]})})]})})]})]})}export{Je as default};
7//# sourceMappingURL=QMJCreate-BpY3zWJd.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.