1"use strict";(self.webpackChunkclass_room=self.webpackChunkclass_room||[]).push([[4704],{10316:function(t,e,r){r.d(e,{F:function(){return p}});var n=r(16738),o=r.n(n),i=(r(71412),r(88720)),a=r(92859),c=r(18899),s=r(88429),l=r(38583);function u(t,e){1&t&&(i.TgZ(0,"p",8),i._uU(1,"Formato de data inv\xe1lido ou ausente."),i.qZA())}let p=(()=>{class t{constructor(t,e){this.modalController=t,this.dateTimeService=e,this.dateInvalid=!1}ngOnInit(){this.selectedDate=this.initialDate}onNativeDateChange(t){const e=t.target;if(e&&e.value){const t=o()(e.value,"YYYY-MM-DD");t.isValid()&&(this.selectedDate=t.toDate())}}formatDateForInput(t){return this.dateTimeService.formatDateForInput(t)}cancel(){this.modalController.dismiss(null,"cancel")}save(){this.modalController.dismiss(this.selectedDate,"save")}}return t.\u0275fac=function(e){return new(e||t)(i.Y36(a.IN),i.Y36(c.C))},t.\u0275cmp=i.Xpm({type:t,selectors:[["app-date-editor-modal"]],inputs:{initialDate:"initialDate",minDate:"minDate"},decls:16,vars:5,consts:[["slot","end"],[3,"click"],[1,"ion-padding"],[1,"date-picker-container"],["position","floating"],["type","date",1,"native-date-input",3,"min","value","change"],["class","error-message",4,"ngIf"],["expand","block",3,"click"],[1,"error-message"]],template:function(t,e){1&t&&(i.TgZ(0,"ion-header"),i.TgZ(1,"ion-toolbar"),i.TgZ(2,"ion-title"),i._uU(3,"Selecionar Data da Aula"),i.qZA(),i.TgZ(4,"ion-buttons",0),i.TgZ(5,"ion-button",1),i.NdJ("click",function(){return e.cancel()}),i._uU(6,"Cancelar"),i.qZA(),i.qZA(),i.qZA(),i.qZA(),i.TgZ(7,"ion-content",2),i.TgZ(8,"div",3),i.TgZ(9,"ion-item"),i.TgZ(10,"ion-label",4),i._uU(11,"Data da aula"),i.qZA(),i.TgZ(12,"input",5),i.NdJ("change",function(t){return e.onNativeDateChange(t)}),i.qZA(),i.YNc(13,u,2,0,"p",6),i.qZA(),i.qZA(),i.TgZ(14,"ion-button",7),i.NdJ("click",function(){return e.save()}),i._uU(15,"Salvar Data"),i.qZA(),i.qZA()),2&t&&(i.xp6(9),i.ekj("has-error",e.dateInvalid),i.xp6(3),i.Q6J("min",e.formatDateForInput(e.minDate))("value",e.formatDateForInput(e.selectedDate)),i.xp6(1),i.Q6J("ngIf",e.dateInvalid))},directives:[a.Gu,a.sr,a.wd,a.Sm,a.YG,a.W2,a.Ie,a.Q$,s.O,l.O5],styles:["[_nghost-%COMP%]{--primary-color: var(--chat-text-color, var(--ion-color-primary));--bg-color: var(--chat-container-bg, #ffffff);--border-color: var(--chat-border-color, #e0e0e0);--text-color: var(--chat-text-color, #333333);--placeholder-color: var(--chat-text-muted, #999999);--shadow-color-light: rgba(0, 0, 0, .05);--font-family: var(--chat-font-primary, inherit)}.date-picker-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;grid-gap:20px;gap:20px;font-family:var(--font-family);background:var(--bg-color);background:var(--chat-bg-full-page, var(--bg-color))}"]}),t})()},18261:function(t,e,r){r.d(e,{I:function(){return C}});var n=r(8239),o=r(3679),i=r(79765),a=r(90739),c=r(25917),s=r(39761),l=r(43190),u=r(88002),p=r(5304),d=r(46782),m=r(88720),g=r(92859),f=r(6612),h=r(64493),v=r(38583),b=r(88429);function y(t,e){if(1&t&&(m.TgZ(0,"p",15),m._uU(1),m.ALo(2,"number"),m.qZA()),2&t){const t=e.ngIf;m.xp6(1),m.AsE(" ~ ",m.xi3(2,2,t.rate,"1.2-2")," ",t.currency," ")}}function x(t,e){if(1&t&&(m.TgZ(0,"ion-select-option",16),m._uU(1),m.qZA()),2&t){const t=e.$implicit,r=m.oxw();m.Q6J("value",t),m.xp6(1),m.AsE(" ",r.getFlagEmoji(t)," ",t," ")}}function Z(t,e){if(1&t){const t=m.EpF();m.TgZ(0,"ion-button",17),m.NdJ("click",function(){const e=m.CHM(t).$implicit;return m.oxw().setPredefinedPrice(e)}),m._uU(1),m.ALo(2,"number"),m.qZA()}if(2&t){const t=e.$implicit,r=m.oxw();m.xp6(1),m.AsE(" ",r.initialPrice.currency," ",m.xi3(2,2,t,"1.2-2")," ")}}let C=(()=>{class t{constructor(t,e,r,n){this.modalCtrl=t,this.fb=e,this.currencyService=r,this.logger=n,this.initialPrice={amount:0,currency:"BRL"},this.supportedCurrencies=["BRL","USD","EUR","GBP"],this.predefinedPrices=[50,100,150,200,250],this.destroy$=new i.xQ,this.priceForm=this.fb.group({amount:[0,[o.kI.required,o.kI.min(0)]],currency:["BRL",o.kI.required]}),this.conversion$=this.setupConversionObserver()}ngOnInit(){this.priceForm.patchValue(this.initialPrice)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}setPredefinedPrice(t){this.priceForm.get("amount")?.setValue(t)}selectCurrency(t){this.priceForm.get("currency")?.setValue(t)}closeModal(){var t=this;return(0,n.Z)(function*(e=!0){e&&t.priceForm.valid?yield t.modalCtrl.dismiss(t.priceForm.value):yield t.modalCtrl.dismiss(null)}).apply(this,arguments)}getFlagEmoji(t){const e=t.toUpperCase().split("").map(t=>127462+t.charCodeAt(0)-"A".charCodeAt(0));return String.fromCodePoint(...e)}setupConversionObserver(){const t=this.priceForm.get("amount").valueChanges.pipe((0,s.O)(this.initialPrice.amount)),e=this.priceForm.get("currency").valueChanges.pipe((0,s.O)(this.initialPrice.currency));return(0,a.aj)([t,e]).pipe((0,l.w)(([t,e])=>
1"BRL"!==e&&t?this.currencyService.getExchangeRate(e,"BRL").pipe((0,u.U)(e=>({currency:"BRL",rate:t*e})),(0,p.K)(t=>(this.logger.error(`Erro ao buscar taxa de convers\xe3o para ${e}`,t),(0,c.of)(null)))):(0,c.of)(null)),(0,d.R)(this.destroy$))}}return t.\u0275fac=function(e){return new(e||t)(m.Y36(g.IN),m.Y36(o.qu),m.Y36(f.i),m.Y36(h.m))},t.\u0275cmp=m.Xpm({type:t,selectors:[["app-price-editor-modal"]],inputs:{initialPrice:"initialPrice"},decls:28,vars:12,consts:[["slot","start"],[3,"click"],["name","close"],[1,"ion-padding"],[1,"price-editor-wrapper"],[1,"display-container"],[1,"price-display"],["class","conversion-display",4,"ngIf"],[1,"price-form",3,"formGroup"],["formControlName","amount","placeholder","0.00","type","number"],["formControlName","currency","interface","alert","placeholder","Moeda"],[3,"value",4,"ngFor","ngForOf"],[1,"predefined-buttons"],["fill","outline","shape","round","size","small",3,"click",4,"ngFor","ngForOf"],["color","success","expand","full",3,"disabled","click"],[1,"conversion-display"],[3,"value"],["fill","outline","shape","round","size","small",3,"click"]],template:function(t,e){if(1&t&&(m.TgZ(0,"ion-header"),m.TgZ(1,"ion-toolbar"),m.TgZ(2,"ion-buttons",0),m.TgZ(3,"ion-button",1),m.NdJ("click",function(){return e.closeModal(!1)}),m._UZ(4,"ion-icon",2),m.qZA(),m.qZA(),m.TgZ(5,"ion-title"),m._uU(6,"Editar Pre\xe7o"),m.qZA(),m.qZA(),m.qZA(),m.TgZ(7,"ion-content",3),m.TgZ(8,"div",4),m.TgZ(9,"div",5),m.TgZ(10,"h1",6),m.TgZ(11,"span"),m._uU(12),m.qZA(),m._uU(13),m.ALo(14,"number"),m.qZA(),m.YNc(15,y,3,5,"p",7),m.ALo(16,"async"),m.qZA(),m.TgZ(17,"form",8),m.TgZ(18,"ion-item"),m._UZ(19,"ion-input",9),m.TgZ(20,"ion-select",10),m.YNc(21,x,2,3,"ion-select-option",11),m.qZA(),m.qZA(),m.qZA(),m.TgZ(22,"div",12),m.YNc(23,Z,3,5,"ion-button",13),m.qZA(),m.qZA(),m.qZA(),m.TgZ(24,"ion-footer"),m.TgZ(25,"ion-toolbar"),m.TgZ(26,"ion-button",14),m.NdJ("click",function(){return e.closeModal(!0)}),m._uU(27," Salvar Pre\xe7o "),m.qZA(),m.qZA(),m.qZA()),2&t){let t,r;m.xp6(12),m.Oqu(null==(t=e.priceForm.get("currency"))?null:t.value),m.xp6(1),m.hij(" ",m.xi3(14,7,null==(r=e.priceForm.get("amount"))?null:r.value,"1.2-2")," "),m.xp6(2),m.Q6J("ngIf",m.lcZ(16,10,e.conversion$)),m.xp6(2),m.Q6J("formGroup",e.priceForm),m.xp6(4),m.Q6J("ngForOf",e.supportedCurrencies),m.xp6(2),m.Q6J("ngForOf",e.predefinedPrices),m.xp6(3),m.Q6J("disabled",e.priceForm.invali
1d)}},directives:[g.Gu,g.sr,g.Sm,g.YG,g.gu,g.wd,g.W2,v.O5,o._Y,o.JL,o.sg,g.Ie,g.pK,b.O,g.as,o.JJ,o.u,g.t9,g.QI,v.sg,g.fr,g.n0],pipes:[v.JJ,v.Ov],styles:["@keyframes pop-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}ion-modal[_ngcontent-%COMP%]{--border-radius: 20px}.price-editor-wrapper[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;grid-gap:20px;gap:20px;animation:pop-in .3s cubic-bezier(.175,.885,.32,1.275) forwards}.display-container[_ngcontent-%COMP%]{text-align:center;font-family:inherit;font-family:var(--chat-font-secondary, inherit);padding:20px 0}.display-container[_ngcontent-%COMP%] .price-display[_ngcontent-%COMP%]{font-size:3.5rem;font-weight:bold;color:var(--ion-color-primary);color:var(--chat-text-color, var(--ion-color-primary));margin-bottom:0}.display-container[_ngcontent-%COMP%] .price-display[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:1.5rem;margin-right:5px;font-weight:normal;color:#7b7b7b;color:var(--chat-text-muted, #7b7b7b)}.display-container[_ngcontent-%COMP%] .conversion-display[_ngcontent-%COMP%]{font-size:1rem;color:#7b7b7b;color:var(--chat-text-muted, #7b7b7b);margin-top:5px}.price-form[_ngcontent-%COMP%]{width:100%;max-width:400px;margin:0 auto}.price-form[_ngcontent-%COMP%] ion-item[_ngcontent-%COMP%]{--background: var(--chat-input-bg, #f9fafb);--border-color: var(--chat-border-color, #e5e7eb);--border-radius: var(--chat-bubble-radius, 8px);--color: var(--chat-text-color, #333);border:1px solid #e5e7eb;border:1px solid var(--chat-border-color, #e5e7eb);border-radius:8px;border-radius:var(--chat-bubble-radius, 8px);font-family:inherit;font-family:var(--chat-font-primary, inherit);margin-bottom:15px}.predefined-buttons[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:10px;gap:10px;margin-top:15px}.predefined-buttons[_ngcontent-%COMP%] ion-button[_ngcontent-%COMP%]{--color: var(--chat-btn-color, var(--ion-color-primary));--border-color: var(--chat-border-color, #e5e7eb);--border-radius: var(--chat-btn-radius, 20px);--background: var(--chat-btn-bg, transparent);font-family:inherit;font-family:var(--chat-font-primary, inherit)}.predefined-buttons[_ngcontent-%COMP%] ion-button[_ngcontent-%COMP%]:hover{transform:scale(1.02);transform:var(--chat-btn-hover-transform, scale(1.02))}"]}),t})()},6612:function(t,e,r){r.d(e,{i:function(){return s}});var n=r(40205),o=r(88002),i=r(5304),a=r(88720),c=r(91841);let s=(()=>{class t{constructor(t){this.http=t,this.apiUrl="https://economia.awesomeapi.com.br/json/last",this.activeCurrency="BRL",this.exchangeRates={BRL:1,USD:.18,EUR:.16}}getExchangeRate(t,e){return this.http.get(`${this.apiUrl}/${t}-${e}`,{headers:{"x-skip-auth":"true"}}).pipe((0,o.U)(r=>{const n=r[`${t}${e}`.toUpperCase()]?.bid;if(!n)throw new Error("Taxa de c\xe2mbio n\xe3o encontrada ou API retornou um erro.");return parseFloat(n)}),(0,i.K)(r=>(console.error(`Erro ao buscar cota\xe7\xe3o de ${t} para ${e}:`,r),(0,n._)(new Error("Falha ao buscar a cota\xe7\xe3o de moeda.")))))}setActiveCurrency(t){["BRL","EUR","USD"].includes(t)&&(this.activeCurrency=t)}getActiveCurrency(){return this.activeCurrency}formatPrice(t,e){if(null==t||isNaN(t))return"R$ 0,00";const r=e||this.activeCurrency;return`${{BRL:"R$",USD:"$",EUR:"\u20ac"}[r]||"R$"} ${(t*(this.exchangeRates[r]||1)).toLocaleString("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:2})}`}calculateInstallments(t,e=12){const r=Math.max(1,e),n=t/r;return{count:r,installmentValue:this.formatPrice(n),totalText:`${r}x de ${this.formatPrice(n)} sem juros`}}}return t.\u0275fac=function(e){return new(e||t)(a.LFG(c.eN))},t.\u0275prov=a.Yz7({token:t,factory:t.\u0275fac,providedIn:"root"}),t})()},18899:function(t,e,r){r.d(e,{C:function(){return i}});var n=r(71412),o=r(88720);let i=(()=>{class t{convertUtcToLocalMoment(t){return n.utc(t).tz(n.tz.guess())}combineLocalToUtcISOString(t,e){const[r,o]=e.split(":").map(Number);return n(t).set({hour:r,minute:o}).utc().toISOString()}formatDateForInput(t){return n(t).format("YYYY-MM-DD")}formatTimeForInput(t){return n(t).format("HH:mm")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=o.Yz7({token:t,factory:t.\u0275fac,providedIn:"root"}),t})()}}]);
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.