Spaces:
Sleeping
Sleeping
import{a as L,B as z,s as W,b as H,e as F,f as J,o as f,c as A,r as x,g,m as $,h as X,i as y,j as C,k as K,u as Q,l as D,n as S,p as V,q as Y,w as N,t as Z,d as O,v as t,x as ee,y as ae,z as se,A as ne,C as k,D as b,E as _,F as te,G as oe,H as le,M as re,I as ie,_ as ce,J as ue}from"./index-2542deb7.js";import{s as de,a as B,b as pe,u as me,X as ve,S as fe,c as ye}from"./ScrollableContent-53f3e084.js";const ge=L("CircleIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),Ie=L("SquareDotIcon",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]);var be=` | |
@layer primevue { | |
.p-inline-message { | |
display: inline-flex; | |
align-items: center; | |
justify-content: center; | |
vertical-align: top; | |
} | |
.p-inline-message-icon { | |
flex-shrink: 0; | |
} | |
.p-inline-message-icon-only .p-inline-message-text { | |
visibility: hidden; | |
width: 0; | |
} | |
.p-fluid .p-inline-message { | |
display: flex; | |
} | |
} | |
`,Pe={root:function(s){var n=s.props,i=s.instance;return["p-inline-message p-component p-inline-message-"+n.severity,{"p-inline-message-icon-only":!i.$slots.default}]},icon:function(s){var n=s.props;return["p-inline-message-icon",n.icon]},text:"p-inline-message-text"},_e=z.extend({name:"inlinemessage",css:be,classes:Pe}),Se={name:"BaseInlineMessage",extends:K,props:{severity:{type:String,default:"error"},icon:{type:String,default:void 0}},style:_e,provide:function(){return{$parentInstance:this}}},G={name:"InlineMessage",extends:Se,timeout:null,data:function(){return{visible:!0}},mounted:function(){var s=this;this.sticky||setTimeout(function(){s.visible=!1},this.life)},computed:{iconComponent:function(){return{info:W,success:H,warn:F,error:J}[this.severity]}}};function he(e,s,n,i,l,c){return f(),A("div",$({"aria-live":"polite",class:e.cx("root")},e.ptm("root")),[x(e.$slots,"icon",{},function(){return[(f(),g(X(e.icon?"span":c.iconComponent),$({class:e.cx("icon")},e.ptm("icon")),null,16,["class"]))]}),y("span",$({class:e.cx("text")},e.ptm("text")),[x(e.$slots,"default",{},function(){return[C(" ")]})],16)],16)}G.render=he;var r=(e=>(e.STOPPED="STOPPED",e.RECORDING="RECORDING",e.UNAVAILIABLE="UNAVAILIABLE",e.PENDING="PENDING",e.STOPPING="STOPPING",e.PAUSED="PAUSED",e))(r||{});const ke="/assets/worklet-processer-856fc525.js";const we=e=>{const{audioInputs:s,audioOutputs:n,...i}=Q({requestPermissions:!0,constraints:{audio:!0,video:!1},onUpdated:e==null?void 0:e.onUpdated}),l=D(()=>s.value.map(a=>({label:a.label,deviceId:a.deviceId,value:a.deviceId,groupId:a.groupId,kind:a.kind}))),c=D(()=>n.value.map(a=>({label:a.label,deviceId:a.deviceId,value:a.deviceId,groupId:a.groupId,kind:a.kind})));return{...i,SpeakerList:c,micphoneList:l}},De=async e=>await navigator.mediaDevices.getUserMedia({audio:{deviceId:e}}),Ne=e=>{const s=S(r.UNAVAILIABLE),n=V(),i=V(),l={source:void 0,processor:void 0},c=async o=>{var w;if(s.value===r.RECORDING)return;s.value=r.PENDING,n.value=new AudioContext({latencyHint:"interactive"}),await n.value.audioWorklet.addModule(ke),i.value&&i.value.getTracks().forEach(I=>I.stop()),i.value=await De(o);const m=n.value.createMediaStreamSource(i.value),p=new AudioWorkletNode(n.value,"recorder.worklet");p.connect(n.value.destination),m.connect(p),l.source=m,l.processor=p,n.value.resume(),s.value=r.RECORDING,p.port.onmessage=I=>{var P;(P=e==null?void 0:e.ondata)==null||P.call(e,I.data)},p.port.onmessageerror=I=>{var P;(P=e==null?void 0:e.onerror)==null||P.call(e,I),a()},(w=e==null?void 0:e.onstart)==null||w.call(e)},a=async()=>{var p;if(s.value===r.STOPPED)return;s.value=r.STOPPING;const{source:o,processor:m}=l;i.value&&de(i.value),o==null||o.disconnect(),m==null||m.disconnect(),n.value&&(await n.value.close(),l.processor=void 0,l.source=void 0),n.value=void 0,s.value=r.STOPPED,(p=e==null?void 0:e.onclose)==null||p.call(e)},u=Y({name:"microphone"});return N(u,o=>{o==="granted"?s.value=r.STOPPED:s.value=r.UNAVAILIABLE},{immediate:!0}),{status:Z(s),context:n,stream:i,startRecord:c,stopRecord:a}},Ee=O({__name:"MediaSelector",props:{disabled:{type:Boolean,default:!1},modelValue:{type:String,default:""}},emits:["update:modelValue"],setup(e,{emit:s}){const n=e,i=s,{micphoneList:l}=we(),c=S(n.modelValue),a=D({get:()=>c.value,set:u=>{c.value=u,i("update:modelValue",u||"default")}});return N(()=>n.modelValue,u=>{a.value=u}),N(l,u=>{u.length&&!a.value&&(a.value=u[0].value)},{immediate:!0,deep:!0}),(u,o)=>{const m=B;return f(),g(m,{disabled:e.disabled,"model-value":a.value,"onUpdate:modelValue":o[0]||(o[0]=p=>a.value=p),options:t(l),"option-label":"label","option-value":"value"},null,8,["disabled","model-value","options"])}}}),$e=O({__name:"SpeechRecognizeSelector",props:{disabled:{type:Boolean,default:!1},modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup(e,{emit:s}){const n=e,i=s,l=S(n.modelValue),c=D({get(){return l.value},set(a){l.value=a,i("update:modelValue",a)}});return N(()=>n.modelValue,a=>{l.value=a}),(a,u)=>{const o=B;return f(),g(o,{disabled:e.disabled,options:t(pe),"model-value":c.value,"onUpdate:modelValue":u[0]||(u[0]=m=>c.value=m),"option-label":"label","option-value":"value"},null,8,["disabled","options","model-value"])}}}),Ve={class:"main-header un-justify-between"},Oe=y("h1",{class:"main-header-title"},"Lession - Teacher",-1),xe={class:"main-header-actions un-gap-3"},Le={class:"side-view"},Ae=O({name:"ViewLession",__name:"index",props:{id:{type:String,required:!0}},setup(e){const s=e,n=ee(),i=ae(s,"id"),l=S("en-US"),c=S(),a=V(),u=S("closed"),{status:o,startRecord:m,stopRecord:p}=Ne({onstart(){var d;a.value&&((d=a.value)==null?void 0:d.ws.readyState)===WebSocket.OPEN&&a.value.close(),a.value=ye(`/ws/teacher?id=${i.value}&language=${l.value}&prompt=`,{onopen(){u.value="connected"},onerror(v){},onclose(){u.value="closed",p()},onmessage(v){P(v)}})},ondata(d){var v;(v=a.value)==null||v.send(d)},onclose(){U()}}),w=async()=>{c.value&&await m(c.value)},I=async()=>{var d;(d=a.value)==null||d.close(),await p()},{onmessage:P,currentText:M,originals:R,cleanScreen:U}=me();return se(()=>{o.value!==r.STOPPED&&o.value!==r.STOPPING&&I()}),(d,v)=>{const h=ie,T=ce,q=G,j=ne("tooltip");return f(),g(re,null,{default:k(()=>[y("header",Ve,[Oe,y("aside",xe,[b(h,{severity:"secondary",label:"Escape",onClick:v[0]||(v[0]=()=>d.$router.push({name:"home"}))},{icon:k(()=>[b(t(ve),{class:"p-icon un-mr-3"})]),_:1})])]),y("main",{class:_(["main-body",[d.$style.main]])},[y("aside",Le,[b(T,{class:_([d.$style["personal-appearance"]]),name:t(n).name,role:t(n).role},null,8,["class","name","role"])]),y("section",{class:_([d.$style["main-view"]])},[y("section",{class:_([d.$style["text-content"]])},[b(fe,{class:"un-flex-1",contents:t(R),current:t(M)},null,8,["contents","current"])],2),y("section",{class:_([d.$style.bar])},[b($e,{class:"un-flex-1","model-value":l.value,"onUpdate:modelValue":v[1]||(v[1]=E=>l.value=E),disabled:t(o)!==t(r).STOPPED},null,8,["model-value","disabled"])],2),y("section",{class:_([d.$style.bar])},[b(Ee,{class:"un-flex-1","model-value":c.value,"onUpdate:modelValue":v[2]||(v[2]=E=>c.value=E),disabled:t(o)!==t(r).STOPPED},null,8,["model-value","disabled"]),t(o)!==t(r).UNAVAILIABLE?(f(),A(le,{key:0},[t(o)===t(r).STOPPED?te((f(),g(h,{key:0,severity:"danger",onClick:w},{icon:k(()=>[b(t(ge),{class:"p-icon"})]),_:1})),[[j,"Start",void 0,{bottom:!0}]]):t(o)===t(r).PENDING?(f(),g(h,{key:1,loading:"",label:"Starting"})):t(o)===t(r).RECORDING?(f(),g(h,{key:2,block:"",severity:"danger",label:"Stop",onClick:I},{icon:k(()=>[b(t(Ie),{class:"p-icon"})]),_:1})):t(o)===t(r).STOPPING?(f(),g(h,{key:3,loading:"",label:"Stopping"})):oe("",!0)],64)):(f(),g(q,{key:1,severity:"info"},{default:k(()=>[C(" Micphone is not available. ")]),_:1}))],2)],2)],2)]),_:1})}}}),Ce="_main_113lr_2",Be="_options_113lr_9",Ge="_bar_113lr_22",Me={main:Ce,options:Be,"main-view":"_main-view_113lr_16",bar:Ge,"text-content":"_text-content_113lr_33"},Re={$style:Me},qe=ue(Ae,[["__cssModules",Re]]);export{qe as default}; | |