import{d as y,u as f,c as b,b as _,j as e}from"./eBihrDKeU.js";import{y as n,A as v,r as u,C,T,s as S,ac as d,ah as i,S as k,B as h,ai as I}from"./cC8PLoFUU.js";const w=async t=>{const s=await fetch("/api/telegram/configure",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),a=await s.json();if(!s.ok)throw new Error(a.error||"Ошибка сохранения");return a},q=()=>{const t=y();return f({mutationFn:w,onSuccess:()=>{t.invalidateQueries({queryKey:["device-status"]}),t.invalidateQueries({queryKey:["telegram-status"]})}})},F=async()=>{const t=await fetch("/api/telegram/test",{method:"POST"}),s=await t.json();if(!t.ok)throw new Error(s.error||"Ошибка отправки");return s},N=()=>f({mutationFn:F}),{Paragraph:E,Link:p}=T,g=[{required:!0,message:"Заполните поле"}],B=({isLoading:t})=>{const[s]=n.useForm(),{message:a}=v.useApp(),r=b(_),l=N(),c=q();u.useEffect(()=>{r?.config?.telegram&&s.setFieldsValue({...r?.config?.telegram})},[r?.config?.telegram,s]);const x=u.useCallback(o=>{c.mutate(o,{onSuccess:m=>{a.success(m.message)},onError:m=>{a.error(m.message)}})},[c,a]),j=u.useCallback(()=>{l.mutate(void 0,{onSuccess:o=>{a.success(o.message)},onError:o=>{a.error(o.message)}})},[l,a]);return e.jsxs(C,{title:"Telegram уведомления",type:"inner",loading:!!t,children:[e.jsxs(E,{type:"secondary",children:["Создайте бота через"," ",e.jsx(p,{href:"https://t.me/BotFather",target:"_blank",children:"@BotFather"})," ","и получите токен. Узнайте свой ID через бота"," ",e.jsx(p,{href:"https://t.me/userinfobot",target:"_blank",children:"@userinfobot"})," ","и введите его в поле User ID"]}),e.jsxs(n,{form:s,layout:"horizontal",autoComplete:"off",initialValues:{enabled:!1,bot_token:"",chat_id:"",data_timeout_minutes:5,high_temp_q1:0,high_temp_akb:0,temp_notify_interval:0,...r?.config?.telegram||{}},onFinish:x,children:[e.jsx(n.Item,{name:"enabled",label:"Включить уведомления",valuePropName:"checked",children:e.jsx(S,{})}),e.jsx(n.Item,{name:"bot_token",label:"Токен бота",rules:g,required:!1,children:e.jsx(d.Password,{placeholder:"123456789:ABCdefGHIjklMNOpqrSTUvwxYZ",autoComplete:"off"})}),e.jsx(n.Item,{name:"chat_id",label:"User ID",rules:g,required:!1,children:e.jsx(d,{placeholder:"-1001234567890",autoComplete:"off"})}),e.jsx(n.Item,{name:"data_timeout_minutes",label:"Отсутствие данных (мин)",tooltip:"Отправка уведомлений, если данные перестали поступать с зарядного устройства. 0 = отключено",children:e.jsx(i,{min:0,max:60,className:"fullWidth"})}),e.jsx(n.Item,{name:"high_temp_q1",label:"Порог температуры Q1 (°C)",tooltip:"Уведомление при превышении температуры транзистора. 0 = отключено",children:e.jsx(i,{min:0,max:100,className:"fullWidth"})}),e.jsx(n.Item,{name:"high_temp_akb",label:"Порог температуры АКБ (°C)",tooltip:"Уведомление при превышении температуры аккумулятора. 0 = отключено",children:e.jsx(i,{min:0,max:100,className:"fullWidth"})}),e.jsx(n.Item,{name:"temp_notify_interval",label:"Повтор уведомлений (мин)",tooltip:"Интервал повторной отправки уведомлений при превышении температуры. 0 = одно уведомление за сессию",children:e.jsx(i,{min:0,max:1440,className:"fullWidth"})}),e.jsxs(k,{children:[e.jsx(h,{type:"primary",htmlType:"submit",loading:c.isPending,children:"Сохранить"}),e.jsx(h,{icon:e.jsx(I,{}),onClick:j,loading:l.isPending,children:"Тестовое сообщение"})]})]})]})};export{B as default};
