| 1 |
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{T as t,a as n,k as r,w as i}from"./client-DWQBE01c.js";import{l as a}from"./chunk-62JRHF6Z-DYKXAPSj.js";import{n as o}from"./QueryClientProvider-CfzZA5MJ.js";import{t as s}from"./useQuery-Q4exvDrv.js";import{t as c}from"./useMutation-D7HomC3_.js";import{t as l}from"./bell-BQomEKPT.js";import{n as u}from"./ToastContext-Bg6SLDR7.js";import{t as d}from"./circle-check-hi6qvMgh.js";import{t as f}from"./loader-circle-QIogdiwG.js";import{t as p}from"./mail-xRVt2W5s.js";import{t as m}from"./save-fARYWQM6.js";import{n as h}from"./AuthContext-dqmb9nDE.js";import{i as g,n as _,t as v}from"./Card-DwWt21H0.js";import{t as y}from"./Button-CDViejCk.js";import{n as b}from"./useUiSettings-DNDF6KSU.js";var x=e(r(),1),S=i();function C(){let{t:e}=t(),{user:r}=h(),{showToast:i}=u(),C=o(),w=a(),[T,E]=(0,x.useState)(!0),[D,O]=(0,x.useState)(!0),[k,A]=(0,x.useState)(!0),[j,M]=(0,x.useState)(!0),[N,P]=(0,x.useState)(!1),{data:F,isLoading:I}=s({queryKey:[`advancedAuthStatus`],queryFn:n.getAdvancedAuthStatus,staleTime:300*1e3}),{data:L,isLoading:R}=b({staleTime:300*1e3}),{data:z,isLoading:B}=s({queryKey:[`user-email-preferences`],queryFn:()=>n.getUserEmailPreferences()});(0,x.useEffect)(()=>{(F&&!F.advanced_auth_enabled||L&&!L.user_notifications_enabled)&&w(`/settings`,{replace:!0})},[F,L,w]),(0,x.useEffect)(()=>{z&&(E(z.notify_print_start),O(z.notify_print_complete),A(z.notify_print_failed),M(z.notify_print_stopped),P(!1))},[z]);let V=c({mutationFn:()=>n.updateUserEmailPreferences({notify_print_start:T,notify_print_complete:D,notify_print_failed:k,notify_print_stopped:j}),onSuccess:()=>{C.invalidateQueries({queryKey:[`user-email-preferences`]}),P(!1),i(e(`notifications.userEmail.saveSuccess`),`success`)},onError:t=>{i(t.message||e(`notifications.userEmail.saveError`),`error`)}}),H=(e,t)=>{e(!t),P(!0)};return B||I||R?(0,S.jsx)(`div`,{className:`flex items-center justify-center h-64`,children:(0,S.jsx)(f,{className:`w-8 h-8 animate-spin text-bambu-green`})}):(0,S.jsxs)(`div`,{className:`p-4 md:p-6 max-w-2xl mx-auto`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-3 mb-6`,children:[(0,S.jsx)(l,{className:`w-7 h-7 text-bambu-green`}),(0,S.jsx)(`h1`,{className:`text-2xl font-bold text-white`,children:e(`notifications.userEmail.title`)})]}),(0,S.jsx)(v,{className:`mb-6 border-blue-300 bg-blue-50 dark:border-blue-500/30 dark:bg-blue-500/5`,children:(0,S.jsx)(_,{className:`py-4`,children:(0,S.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,S.jsx)(`div`,{className:`w-10 h-10 rounded-full flex items-center justify-center bg-blue-100 dark:bg-blue-500/20 flex-shrink-0`,children:(0,S.jsx)(p,{className:`w-5 h-5 text-blue-600 dark:text-blue-400`})}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`h3`,{className:`text-white font-medium`,children:e(`notifications.userEmail.emailNotifications`)}),(0,S.jsx)(`p`,{className:`text-sm text-bambu-gray mt-1`,children:e(`notifications.userEmail.emailNotificationsDesc`)}),r?.email?(0,S.jsxs)(`p`,{className:`text-sm text-blue-700 dark:text-blue-400 mt-2`,children:[e(`notifications.userEmail.sendingTo`),`: `,(0,S.jsx)(`strong`,{children:r.email})]}):(0,S.jsx)(`p`,{className:`text-sm text-yellow-700 dark:text-yellow-400 mt-2`,children:e(`notifications.userEmail.noEmailWarning`)})]})]})})}),(0,S.jsxs)(v,{className:`mb-6`,children:[(0,S.jsxs)(g,{children:[(0,S.jsx)(`h2`,{className:`text-lg font-semibold text-white`,children:e(`notifications.userEmail.printJobNotifications`)}),(0,S.jsx)(`p`,{className:`text-sm text-bambu-gray mt-1`,children:e(`notifications.userEmail.printJobNotificationsDesc`)})]}),(0,S.jsxs)(_,{className:`space-y-4`,children:[(0,S.jsxs)(`div`,{className:`flex items-center justify-between p-4 bg-bambu-dark rounded-lg`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,S.jsx)(`div`,{className:`w-10 h-10 rounded-full flex items-center justify-center ${T?`bg-bambu-green/20`:`bg-bambu-dark-tertiary`}`,children:(0,S.jsx)(d,{className:`w-5 h-5 ${T?`text-bambu-green`:`text-bambu-gray`}`})}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`p`,{className:`text-white font-medium`,children:e(`notifications.userEmail.printJobStarts`)}),(0,S.jsx)(`p`,{className:`text-sm text-bambu-gray`,children:e(`notifications.userEmail.printJobStartsDesc`)})]})]}),(0,S.jsx)(`button`,{onClick:()=>H(E,T),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-bambu-green focus:ring-offset-2 focus:ring-offset-bambu-dark ${T?`bg-bambu-green`:`bg-bambu-dark-tertiary`}`,role:`switch`,"aria-checked":T,children:(0,S.jsx)(`span`,{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${T?`translate-x-6`:`translate-x-1`}`})})]}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between p-4 bg-bambu-dark rounded-lg`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,S.jsx)(`div`,{className:`w-10 h-10 rounded-full flex items-center justify-center ${D?`bg-bambu-green/20`:`bg-bambu-dark-tertiary`}`,children:(0,S.jsx)(d,{className:`w-5 h-5 ${D?`text-bambu-green`:`text-bambu-gray`}`})}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`p`,{className:`text-white font-medium`,children:e(`notifications.userEmail.printJobFinishes`)}),(0,S.jsx)(`p`,{className:`text-sm text-bambu-gray`,children:e(`notifications.userEmail.printJobFinishesDesc`)})]})]}),(0,S.jsx)(`button`,{onClick:()=>H(O,D),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-bambu-green focus:ring-offset-2 focus:ring-offset-bambu-dark ${D?`bg-bambu-green`:`bg-bambu-dark-tertiary`}`,role:`switch`,"aria-checked":D,children:(0,S.jsx)(`span`,{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${D?`translate-x-6`:`translate-x-1`}`})})]}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between p-4 bg-bambu-dark rounded-lg`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,S.jsx)(`div`,{className:`w-10 h-10 rounded-full flex items-center justify-center ${k?`bg-bambu-green/20`:`bg-bambu-dark-tertiary`}`,children:(0,S.jsx)(d,{className:`w-5 h-5 ${k?`text-bambu-green`:`text-bambu-gray`}`})}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`p`,{className:`text-white font-medium`,children:e(`notifications.userEmail.printErrors`)}),(0,S.jsx)(`p`,{className:`text-sm text-bambu-gray`,children:e(`notifications.userEmail.printErrorsDesc`)})]})]}),(0,S.jsx)(`button`,{onClick:()=>H(A,k),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-bambu-green focus:ring-offset-2 focus:ring-offset-bambu-dark ${k?`bg-bambu-green`:`bg-bambu-dark-tertiary`}`,role:`switch`,"aria-checked":k,children:(0,S.jsx)(`span`,{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${k?`translate-x-6`:`translate-x-1`}`})})]}),(0,S.jsxs)(`div`,{className:`flex items-center justify-between p-4 bg-bambu-dark rounded-lg`,children:[(0,S.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,S.jsx)(`div`,{className:`w-10 h-10 rounded-full flex items-center justify-center ${j?`bg-bambu-green/20`:`bg-bambu-dark-tertiary`}`,children:(0,S.jsx)(d,{className:`w-5 h-5 ${j?`text-bambu-green`:`text-bambu-gray`}`})}),(0,S.jsxs)(`div`,{children:[(0,S.jsx)(`p`,{className:`text-white font-medium`,children:e(`notifications.userEmail.printJobStops`)}),(0,S.jsx)(`p`,{className:`text-sm text-bambu-gray`,children:e(`notifications.userEmail.printJobStopsDesc`)})]})]}),(0,S.jsx)(`button`,{onClick:()=>H(M,j),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors focus:outline-none focus:ring-2 focus:ring-bambu-green focus:ring-offset-2 focus:ring-offset-bambu-dark ${j?`bg-bambu-green`:`bg-bambu-dark-tertiary`}`,role:`switch`,"aria-checked":j,children:(0,S.jsx)(`span`,{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${j?`translate-x-6`:`translate-x-1`}`})})]})]})]}),(0,S.jsx)(`div`,{className:`flex justify-end`,children:(0,S.jsx)(y,{onClick:()=>V.mutate(),disabled:!N||V.isPending||!r?.email,children:V.isPending?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(f,{className:`w-4 h-4 animate-spin`}),e(`common.saving`)]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(m,{className:`w-4 h-4`}),e(`common.save`)]})})})]})}export{C as NotificationsPage};
|