PageSourceSearch

https://radreport.com.br/assets/SaveReportModal-CBBXrmPu.js

js radreport.com.br collected 2026-10-02 01:21:53 UTC 9,257 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-query-CmFN4-M1.js";import{u as B,a as J,t as R}from"./useEducationMode-CT9gHBm0.js";import{r as t}from"./vendor-react-7PyNDetJ.js";import{aw as Q,ax as X,ay as K,az as W,aI as Y,aA as x,I as w,r as k,v as _,x as D,y as E,z as F,p as u,aL as Z,aC as ee,ah as z,c as P}from"./index-BZSaBQD0.js";import{P as ae}from"./progress-DnyAYI4Y.js";import{b as se}from"./Editor-7QJUxXI9.js";import{a as oe}from"./errorTranslations-lTGRyFpS.js";import{d as te,a as re,g as ie}from"./SlashCommandList-BsjcXEUl.js";import{bq as I,S as le,F as de,c as me,L as ce}from"./vendor-ui-DjI1iuvA.js";import"./settingsNavItems-CTDhSt42.js";import"./useUserProfile-4gVj-B2T.js";import"./useUserSessionData-D77KvUsU.js";import"./imageCompression-DJQX-S_h.js";import"./useTrialStatus-BHA4YoRQ.js";import"./queryConfig-Bk25iP63.js";import"./vendor-supabase-BfoV2C50.js";import"./edgeFunctionClient-DsSOOeYY.js";import"./sessionTelemetry-X-Vnv8Qs.js";import"./index-B6RZdxYk.js";import"./sessionContext-lezMZwa-.js";import"./use-mobile-COvAteC-.js";import"./asrTelemetry-RkcLEV-H.js";import"./PlansSelectionSheet-AIY5e4Xb.js";import"./upgradeBridge-DxSiXl64.js";import"./TrialCTAButton-UPNQaK_P.js";import"./useAICredits-CuY3rfXY.js";import"./PromotionalNotice-CVj_MkvF.js";import"./useRadiologyCalculators-KrBctHV3.js";import"./useRadiologyTables-xDqneSJ8.js";import"./useRadiologyCatalog-Bx2X1q3b.js";import"./textInsertionPipeline-ChlAKgK1.js";import"./templateFormatter-CUBaiSmi.js";import"./templateVariableProcessor-BxWBf8HQ.js";import"./index-CKvV0tVW.js";import"./biasingPhrases-XKgjtNMV.js";import"./useFeatureGate-BLDqcRA4.js";import"./appConfig-Ba44p7fe.js";import"./portal-BEa4xr6W.js";import"./textarea-Bw8y9bs3.js";import"./dropdown-menu-vWTDEbk3.js";import"./useAmbassadorProfile-C2Dviwe9.js";import"./web3Wallets-K9HfWoRJ.js";import"./useWeb3ChainConfig-BLzBZRXm.js";import"./utils-BnNtzvC2.js";import"./type-guards-BQcmFalx.js";import"./bundler-B52HULgj.js";import"./extends-CF3RwP-h.js";import"./decimals-BiEYJLtQ.js";import"./TypedData-DsWOCT-t.js";import"./fuse-CcLD0YPK.js";import"./arweave-CAGvOb64.js";import"./formatDistanceToNow-0IIT5VsE.js";import"./pt-BR-DOx-ZqcW.js";import"./useReferral-JwvnFe1A.js";import"./index-BwFSf5D5.js";import"./SocialShareMenu-iAG76ky2.js";import"./sheet-kCUyucS4.js";import"./useResidencyAmbassador-BSs35MTq.js";import"./HeaderWalletButton-DkvDEURE.js";import"./radio-group-BZoBIVHH.js";import"./enrichmentHeuristics-CIRg_3pj.js";import"./FeatureGate-COh4Q17I.js";import"./types-0-1HKsLz.js";import"./useUserDictionary-0gbK7vlx.js";const ne=[{code:"US",name:"Ultrassonografia"},{code:"TC",name:"Tomografia Computadorizada"},{code:"RM",name:"Ressonância Magnética"},{code:"RX",name:"Radiografia"},{code:"MG",name:"Mamografia"},{code:"MN",name:"Medicina Nuclear"}],pe=[{code:"abdome",name:"Abdome"},{code:"torax",name:"Tórax"},{code:"cranio",name:"Crânio"},{code:"coluna",name:"Coluna"},{code:"pelve",name:"Pelve"},{code:"mama",name:"Mama"},{code:"tireoide",name:"Tireoide"},{code:"joelho",name:"Joelho"},{code:"ombro",name:"Ombro"},{code:"quadril",name:"Quadril"},{code:"tornozelo",name:"Tornozelo"},{code:"punho",name:"Punho"},{code:"mao",name:"Mão"},{code:"pe",name:"Pé"}];function Ma({open:i,onOpenChange:h,editorContent:o,onSaved:g}){const{limitInfo:s,isLoadingLimit:U,saveReport:H}=se(),[c,j]=t.useState(""),[n,M]=t.useState(""),[r,l]=t.useState("normal"),[v,f]=t.useState(""),[b,N]=t.useState(""),[p,T]=t.useState(!1),[C,A]=t.useState(""),{addTemplateAsync:q,canAddTemplate:L,limits:V}=B();t.useEffect(()=>{if(i&&o){const a=te(o),d=re(o);a&&f(a),d&&N(d);const m=ie(o,a,d);M(m),m.toLowerCase().includes("normal")?l("normal"):m&&l("alterado")}},[i,o]),t.useEffect(()=>{i||(j(""),M(""),l("normal"),f(""),N(""),T(!1),A(""))},[i]);const G=()=>{if(H({title:c.trim()||void 0,content:o,classification:r,modalidade_codigo:v||void 0,regiao_codigo:b||void 0},{onSuccess:()=>{g==null||g()}}),p){const a=(c.trim()||n||"Meu modelo").slice(0,200),d=C.trim().toLowerCase().replace(/\s+/g,"");q({titulo:a,modalidade_codigo:v||J(o).modalidade||"GERAL",categoria:r,regiao_codigo:b||void 0,tags:[],modo:"simples",texto:z(R(o).html),conteudo_template:z(R(o).html),atalho:d||void 0}).then(()=>P.success(`"${a}" também salvo em Meus modelos`,{description:"Agora aparece na busca de modelos do editor."})).catch(m=>P.error(oe(m,"Não foi possível salvar como modelo.")))}h(!1)},O=()=>{j(n)},$=s?Math.min(s.reports_used/s.reports_limit*100,100):0,S=s&&!s.can_save,y=s&&s.reports_limit>=999999;return e.jsx(Q,{open:i,onOpenChange:h,children:e.jsxs(X,{className:"sm:max-w-md",children:[e.jsxs(K,{children:[e.jsxs(W,{className:"flex items-center gap-2",children:[e.jsx(I,{className:"h-5 w-5 text-emerald-500"}
1),"Salvar Laudo"]}),e.jsx(Y,{children:"Salva no Histórico de laudos (lateral). Para reutilizar como modelo, marque a opção abaixo."})]}),e.jsxs("div",{className:"space-y-4 py-4",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(x,{htmlFor:"report-title",children:"Nome do laudo (opcional)"}),e.jsx(w,{id:"report-title",placeholder:"Ex: US Abdome Total - Esteatose Hepática",value:c,onChange:a=>j(a.target.value),disabled:!1}),n&&!c&&e.jsxs("button",{type:"button",onClick:O,className:"flex items-center gap-2 text-sm text-emerald-600 hover:text-emerald-700 dark:text-emerald-400 dark:hover:text-emerald-300 transition-colors",children:[e.jsx(le,{className:"h-4 w-4"}),e.jsxs("span",{children:["Sugestão: ",e.jsx("strong",{children:n})]})]})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(x,{children:"Modalidade"}),e.jsxs(k,{value:v,onValueChange:f,disabled:!1,children:[e.jsx(_,{children:e.jsx(D,{placeholder:"Auto-detectado"})}),e.jsx(E,{children:ne.map(a=>e.jsx(F,{value:a.code,children:a.name},a.code))})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(x,{children:"Região Anatômica"}),e.jsxs(k,{value:b,onValueChange:N,disabled:!1,children:[e.jsx(_,{children:e.jsx(D,{placeholder:"Auto-detectado"})}),e.jsx(E,{children:pe.map(a=>e.jsx(F,{value:a.code,children:a.name},a.code))})]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(x,{children:"Classificação do Achado"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsxs(u,{type:"button",variant:r==="normal"?"default":"outline",className:r==="normal"?"bg-emerald-500 hover:bg-emerald-600 text-white":"hover:bg-emerald-50 hover:text-emerald-700 hover:border-emerald-300",onClick:()=>l("normal"),disabled:!1,children:[e.jsx(de,{className:"mr-2 h-4 w-4"}),"Normal"]}),e.jsxs(u,{type:"button",variant:r==="alterado"?"default":"outline",className:r==="alterado"?"bg-amber-500 hover:bg-amber-600 text-white":"hover:bg-amber-50 hover:text-amber-700 hover:border-amber-300",onClick:()=>l("alterado"),disabled:!1,children:[e.jsx(me,{className:"mr-2 h-4 w-4"}),"Alterado"]})]})]}),e.jsxs("div",{className:"rounded-lg border border-border/60 p-3 space-y-2",children:[e.jsxs("label",{className:"flex items-start gap-2 cursor-pointer",children:[e.jsx(Z,{checked:p,onCheckedChange:a=>T(a===!0),disabled:!L,className:"mt-0.5"}),e.jsxs("span",{className:"text-sm",children:[e.jsx("span",{className:"font-medium",children:"Também salvar em Meus modelos"}),e.jsx("span",{className:"block text-xs text-muted-foreground",children:"O histórico guarda o laudo pronto. Marque para reutilizá-lo como modelo na busca e no atalho."}),!L&&e.jsxs("span",{className:"block text-xs text-destructive mt-1",children:["Limite de ",V.templates," modelos do seu plano atingido."]})]})]}),p&&e.jsx(w,{placeholder:"Atalho (opcional), ex.: usabd",value:C,onChange:a=>A(a.target.value),maxLength:30})]}),e.jsxs("div",{className:"pt-2 border-t",children:[U?e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx(ce,{className:"h-4 w-4 animate-spin"}),"Verificando limite..."]}):s?e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:"Laudos salvos este mês"}),e.jsx("span",{className:"font-medium",children:y?e.jsxs(e.Fragment,{children:[s.reports_used," ",e.jsx("span",{className:"text-muted-foreground",children:"(ilimitado)"})]}):e.jsxs(e.Fragment,{children:[s.reports_used," de ",s.reports_limit]})})]}),!y&&e.jsx(ae,{value:$,className:`h-2 ${S?"[&>div]:bg-destructive":"[&>div]:bg-emerald-500"}`}),e.jsxs("p",{className:"text-xs text-muted-foreground",children:["Plano ",s.plan_name]})]}):null,S&&e.jsxs("div",{className:"mt-3 p-3 rounded-lg bg-destructive/10 border border-destructive/20",children:[e.jsx("p",{className:"text-sm text-destructive font-medium",children:"Limite de laudos atingido"}),e.jsx("p",{className:"text-xs text-destructive/80 mt-1",children:"Faça upgrade do seu plano para salvar mais laudos."})]})]})]}),e.jsxs(ee,{children:[e.jsx(u,{variant:"outline",onClick:()=>h(!1),disabled:!1,children:"Cancelar"}),e.jsx(u,{onClick:G,disabled:!!S||!o,className:"bg-emerald-500 hover:bg-emerald-600 text-white",children:e.jsxs(e.Fragment,{children:[e.jsx(I,{className:"mr-2 h-4 w-4"}),p?"Salvar laudo e modelo":"Salvar no histórico"]})})]})]})})}export{Ma as SaveReportModal};

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.