1import{a as s,j as t}from"./index-7a84a097.js";import{r as l,h as b,k as S}from"./vendor-56877fa0.js";import{a as P,b as v,d as E,e as C,c as F,A as k}from"./AssessmentResult-41551fce.js";import{u as O}from"./use-pte-assessment-11474dd6.js";import{g as N}from"./index-8c3a6718.js";import{u as W}from"./useMutation-737d969e.js";import"./chart-libs-b4df5823.js";import"./Close-5eb20111.js";import"./createSvgIcon-d4243c27.js";import"./processOpenAIRequest-45bb506f.js";import"./_commonjs-dynamic-modules-302442b1.js";import"./promptData-73e71fd1.js";import"./ParseJson-15086b54.js";import"./speechToTextRequest-fcd7eba8.js";import"./useWarnRemovedOption-225070f1.js";const $=N` 2 mutation FileUploadPTEAssessment( 3 $file: Upload! 4 $domain: String! 5 $referenceText: String! 6 $taskType: String! 7 ) { 8 fileUploadPTEAssessment( 9 file: $file 10 domain: $domain 11 referenceText: $referenceText 12 taskType: $taskType 13 ) { 14 success 15 message 16 assessmentResult { 17 Offset 18 ReferenceText 19 PTEScores { 20 Overall 21 Band 22 Pronunciation 23 OralFluency 24 ContentAccuracy 25 } 26 DetailedAssessment { 27 AccuracyScore 28 FluencyScore 29 CompletenessScore 30 PronunciationScore 31 Words { 32 Word 33 Offset 34 Duration 35 AccuracyScore 36 Phonemes { 37 Phoneme 38 AccuracyScore 39 Duration 40 Stress 41 } 42 } 43 } 44 } 45 } 46 } 47`;function D(){var c,u,m,d,f,p;const[o,x]=l.useState(null),[n,g]=l.useState(""),[y,i]=l.useState(!1),{onAssessment:T,assessmentResult:e,isLoading:a}=O();return W($),s("div",{className:"max-w-2xl mx-auto space-y-6",children:[s("div",{className:"bg-white rounded-lg shadow-sm p-6 space-y-4",children:[s("div",{children:[t("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Upload Audio File (WAV)"}),t("input",{type:"file",accept:".wav",onChange:r=>{var A;const h=(A=r.target.files)==null?void 0:A[0];h&&x(h)},className:`block w-full text-sm text-gray-500 48 file:mr-4 file:py-2 file:px-4 49 file:rounded-full file:border-0 50 file:text-sm file:font-semibold 51 file:bg-blue-50 file:text-blue-700 52 hover:file:bg-blue-100 53 cursor-pointer`})]}),t(b,{fullWidth:!0,multiline:!0,rows:4,variant:"outlined",label:"Reference Text",value:n,onChange:r=>g(r.target.value),placeholder:"Enter the reference text here..."}),s("div",{className:"flex justify-end gap-4",children:[t(S,{variant:"contained",color:"primary",onClick:async()=>{if(!(!o||!n))try{const r=await T(o,n,"ReadAloud");console.log("result",r)}catch(r){console.error("Error uploading assessment:",r)}},disabled:!o||!n||a,children:a?"Processing...":"Submit"}),e&&!a&&t(S,{variant:"outlined",color:"primary",onClick:()=>i(!0),children:"View Result"})]})]}),y&&t(k,{result:e,processedResult:{overallScore:((c=e==null?void 0:e.PTEScores)==null?void 0:c.Overall)||0,criteria:[{name:"Overall",score:((u=e==null?void 0:e.PTEScores)==null?void 0:u.Overall)||0},{name:"Pronunciation",score:((m=e==null?void 0:e.PTEScores)==null?void 0:m.Pronunciation)||0},{name:"Fluency",score:((d=e==null?void 0:e.PTEScores)==null?void 0:d.OralFluency)||0},{name:"Accuracy",score:((f=e==null?void 0:e.PTEScores)==null?void 0:f.ContentAccuracy)||0}]},words:(p=e==null?void 0:e.DetailedAssessment)!=null&&p.Words?e.DetailedAssessment.Words.map(r=>({word:r==null?void 0:r.Word,score:r==null?void 0:r.AccuracyScore})):[],audioBlob:o,onClose:()=>i(!1),children:s(P,{children:[t(v,{}),t(E,{}),t(C,{}),t(F,{})]})})]})}function X(){return s("div",{className:"container mx-auto px-4 py-8",children:[t("h1",{className:"text-2xl font-bold mb-6",children:"Test Speaking Assessment"}),t(D,{})]})}export{X as default};
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.