PageSourceSearch

http://parisobs.com/_next/static/chunks/8916-0fe18159bbd2c47c.js

js parisobs.com collected 2026-10-04 01:42:51 UTC 17,775 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8916],{18779:(e,n,t)=>{t.d(n,{A:()=>s});let s=(0,t(22222).A)("hash",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]])},53541:(e,n,t)=>{t.d(n,{x:()=>y});var s=t(73154),a=t(96810),l=t(72764),r=t(18779),c=t(94639),i=t(27131),o=t(86843),d=t(93323),u=t(95266),m=t(97638),x=t(79071),h=t(93367);let y=e=>{let{projectId:n,selectedChannelId:t,onChannelSelect:y,disabled:p=!1,placeholder:j="Select a channel",memberOnly:f=!1,filterChannels:g,showRefreshButton:k=!0}=e,[v,C]=(0,a.useState)(!1),[N,S]=(0,a.useState)(""),[w,b]=(0,a.useState)(!1),{data:A,isLoading:E,error:B,refetch:F}=h.FH.slack.getChannels.useQuery({projectId:n},{enabled:!!n,staleTime:3e5}),T=async()=>{b(!0);try{await F()}finally{b(!1)}},I=(0,a.useMemo)(()=>{if(!(null==A?void 0:A.channels))return[];let e=A.channels;if(f&&(e=e.filter(e=>e.isMember)),g&&(e=e.filter(g)),N.trim()){let n=N.toLowerCase().trim();e=e.filter(e=>e.name.toLowerCase().includes(n))}return e.sort((e,n)=>e.isPrivate!==n.isPrivate?e.isPrivate?1:-1:e.name.localeCompare(n.name))},[null==A?void 0:A.channels,f,g,N]),M=(0,a.useMemo)(()=>t&&(null==A?void 0:A.channels)?A.channels.find(e=>e.id===t):null,[t,null==A?void 0:A.channels]),z=e=>(0,s.jsxs)("div",{className:"flex w-full items-center gap-2","data-sentry-component":"renderChannelItem","data-sentry-source-file":"ChannelSelector.tsx",children:[e.isPrivate?(0,s.jsx)(l.A,{className:"h-4 w-4 text-muted-foreground"}):(0,s.jsx)(r.A,{className:"h-4 w-4 text-muted-foreground"}),(0,s.jsx)("span",{className:"flex-1 truncate",children:e.name})]});return E?(0,s.jsx)("div",{className:"space-y-2",children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.l6,{disabled:!0,children:(0,s.jsx)(d.bq,{children:(0,s.jsx)(d.yv,{placeholder:"Loading channels..."})})}),k&&(0,s.jsx)(o.$,{variant:"outline",size:"sm",disabled:!0,children:(0,s.jsx)(c.A,{className:"h-4 w-4"})})]})}):B?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(d.l6,{disabled:!0,children:(0,s.jsx)(d.bq,{children:(0,s.jsx)(d.yv,{placeholder:"Error loading channels"})})}),k&&(0,s.jsx)(o.$,{variant:"outline",size:"sm",onClick:T,children:(0,s.jsx)(c.A,{className:"h-4 w-4"})})]}),(0,s.jsx)(x.Fc,{children:(0,s.jsx)(x.TN,{children:"Failed to load channels. Please check your Slack connection and try again."})})]}):(0,s.jsxs)("div",{className:"space-y-2","data-sentry-component":"ChannelSelector","data-sentry-source-file":"ChannelSelector.tsx",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)(m.AM,{open:v,onOpenChange:C,"data-sentry-element":"Popover","data-sentry-source-file":"ChannelSelector.tsx",children:[(0,s.jsx)(m.Wv,{asChild:!0,"data-sentry-element":"PopoverTrigger","data-sentry-source-file":"ChannelSelector.tsx",children:(0,s.jsxs)(o.$,{variant:"outline",role:"combobox","aria-expanded":v,className:"w-full justify-between",disabled:p,"data-sentry-element":"Button","data-sentry-source-file":"ChannelSelector.tsx",children:[M?z(M):(0,s.jsx)("span",{className:"text-muted-foreground",children:j}),(0,s.jsx)(i.A,{className:"ml-2 h-4 w-4 shrink-0 opacity-50","data-sentry-element":"Search","data-sentry-source-file":"ChannelSelector.tsx"})]})}),(0,s.jsx)(m.hl,{className:"w-full p-0",align:"start","data-sentry-element":"PopoverContent","data-sentry-source-file":"ChannelSelector.tsx",children:(0,s.jsxs)(u.uB,{shouldFilter:!1,"data-sentry-element":"Command","data-sentry-source-file":"ChannelSelector.tsx",children:[(0,s.jsx)(u.G7,{placeholder:"Search channels...",value:N,onValueChange:S,"data-sentry-element":"CommandInput","data-sentry-source-file":"ChannelSelector.tsx"}),(0,s.jsxs)(u.oI,{"data-sentry-element":"CommandList","data-sentry-source-file":"ChannelSelector.tsx",children:[(0,s.jsx)(u.xL,{"data-sentry-element":"CommandEmpty","data-sentry-source-file":"ChannelSelector.tsx",children:N?"No channels match your search.":"No channels available."}),(0,s.jsx)(u.L$,{"data-sentry-element":"CommandGroup","data-sentry-source-file":"ChannelSelector.tsx",children:I.map(e=>(0,s.jsx)(u.h_,{value:e.id,onSelect:()=>{y(e),C(!1),S("")},className:"cursor-pointer",children:z(e)}
1,e.id))})]})]})})]}),k&&(0,s.jsx)(o.$,{variant:"outline",size:"sm",onClick:T,disabled:p||w,children:(0,s.jsx)(c.A,{className:"h-4 w-4 ".concat(w?"animate-spin":"")})})]}),(null==A?void 0:A.channels)&&(0,s.jsxs)("div",{className:"text-xs text-muted-foreground",children:[I.length," of ",A.channels.length," channels",f&&" (member only)"]})]})}},63849:(e,n,t)=>{t.d(n,{l:()=>v});var s=t(73154),a=t(96810),l=t(36932),r=t(84893),c=t(67716),i=t(86843),o=t(25277),d=t(79071),u=t(93367),m=t(78225),x=t(62583),h=t(8163);let y=e=>{let{projectId:n,disabled:t=!1,variant:l="default",size:r="default",buttonText:c="Connect Slack",onSuccess:o,onError:d,showText:y=!0}=e,[p,j]=(0,a.useState)(!1),f=(0,a.useRef)(null),g=(0,a.useRef)(null),k=(0,a.useRef)(null),{data:v}=u.FH.slack.getIntegrationStatus.useQuery({projectId:n},{enabled:!!n});(0,a.useEffect)(()=>()=>{f.current&&!f.current.closed&&f.current.close(),g.current&&clearInterval(g.current),k.current&&window.removeEventListener("message",k.current)},[]);let C=async()=>{if(!(null==v?void 0:v.installUrl)){let e="Install URL not available. Please try again.";null==d||d(Error(e)),(0,h.N)("Connection Failed",e);return}j(!0);try{let e=window.open(v.installUrl,"slack-oauth","width=600,height=700,scrollbars=yes,resizable=yes");if(!e)throw Error("Popup blocked. Please allow popups and try again.");f.current=e;let n=t=>{t.origin===window.location.origin&&("slack-oauth-success"===t.data.type?(e.close(),j(!1),(0,x.G)({title:"Slack Connected",description:"Successfully connected to ".concat(t.data.teamName,".")}),null==o||o(),window.removeEventListener("message",n),g.current&&(clearInterval(g.current),g.current=null),f.current=null,k.current=null):"slack-oauth-error"===t.data.type&&(e.close(),j(!1),(0,h.N)("Connection Failed",t.data.error),null==d||d(Error(t.data.error)),window.removeEventListener("message",n),g.current&&(clearInterval(g.current),g.current=null),f.current=null,k.current=null))};k.current=n,window.addEventListener("message",n);let t=setInterval(()=>{e.closed&&(j(!1),window.removeEventListener("message",n),clearInterval(t),f.current=null,k.current=null,g.current=null)},1e3);g.current=t}catch(n){j(!1);let e=n instanceof Error?n.message:"Failed to connect to Slack";null==d||d(Error(e)),(0,h.N)("Connection Failed",e)}};return(0,s.jsxs)(i.$,{onClick:C,disabled:t||p||!(null==v?void 0:v.installUrl),variant:l,size:r,className:"flex items-center gap-2","data-sentry-element":"Button","data-sentry-component":"SlackConnectButton","data-sentry-source-file":"SlackConnectButton.tsx",children:[(0,s.jsx)(m.A,{className:"h-4 w-4","data-sentry-element":"Slack","data-sentry-source-file":"SlackConnectButton.tsx"}),y&&(0,s.jsx)("span",{children:p?"Connecting...":c})]})};var p=t(51883);let j=(0,t(22222).A)("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]);var f=t(13640),g=t(14183);let k=e=>{let{projectId:n,disabled:t=!1,variant:l="destructive",size:r="sm",buttonText:c="Disconnect",onSuccess:o,onError:d,showConfirmation:m=!0,showText:y=!0}=e,[k,v]=(0,a.useState)(!1),[C,N]=(0,a.useState)(!1),S=u.FH.slack.disconnect.useMutation({onSuccess:()=>{v(!1),N(!1),(0,x.G)({title:"Slack Disconnected",description:"Successfully disconnected from your Slack workspace."}),null==o||o()},onError:e=>{v(!1);let n=e.message||"Failed to disconnect from Slack";(0,h.N)("Disconnection Failed",n),null==d||d(Error(n))}}),w=async()=>{if(!k){v(!0);try{await S.mutateAsync({projectId:n})}catch(e){console.error("Disconnect error:",e)}}},b=()=>{m?N(!0):w()},A=(0,s.jsxs)(s.Fragment,{children:[k?(0,s.jsx)(p.A,{className:y?"mr-2 h-4 w-4 animate-spin":"h-4 w-4 animate-spin"}):(0,s.jsx)(j,{className:y?"mr-2 h-4 w-4":"h-4 w-4"}),y&&(k?"Disconnecting...":c)]});return m?(0,s.jsxs)(g.lG,{open:C,onOpenChange:N,children:[(0,s.jsx)(g.zM,{asChild:!0,children:(0,s.jsx)(i.$,{variant:l,size:r,onClick:b,disabled:t||k,children:A})}),(0,s.jsxs)(g.Cf,{children:[(0,s.jsxs)(g.c7,{children:[(0,s.jsxs)(g.L3,{className:"flex items-center gap-2",children:[(0,s.jsx)(f.A,{className:"h-5 w-5 text-destructive"}),"Disconnect Slack Integration"]}),(0,s.jsxs)(g.rr,{className:"space-y-2",children:[(0,s.jsx)("p",{children:"Are you sure you want to disconnect your Slack workspace from this project?"}),(0,s.jsxs)("div",{className:"space-y-2 rounded-md bg-muted p-3",children:[(0,s.jsx)("p",{className:"text-sm font-medium",children:"This will:"}),(0,s.jsxs)("ul",{className:"ml-4 space-y-1 text-sm",children:[(0,s.jsx)("li",{children:"• Remove the bot from your Slack workspace"}),(0,s.jsx)("li",{children:"• Disable all existing Slack automations"}),(0,s.jsx)("li",{children:"• Stop all future Slack notifications"}),(0,s.jsx)("li",{children:"• Delete stored workspace credentials"})]})]}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"You can reconnect at any time, but you'll need to reconfigure your automations."})]})]}),(0,s.jsxs)(g.Es,{children:[(0,s.jsx)(i.$,{variant:"outline",onClick:()=>N(!1),disabled:k,children:"Cancel"}),(0,s.jsx)(i.$,{variant:"destructive",onClick:w,disabled:k,children:k?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(p.A,{className:"mr-2 h-4 w-4 animate-spin"}),"Disconnecting..."]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(j,{className:"mr-2 h-4 w-4"}),"Disconnect"]})})]})]})]}):(0,s.jsx)(i.$,{variant:l,size:r,onClick:b,disabled:t||k,"data-sentry-element":"Button","data-sentry-component":"SlackDisconnectButton","data-sentry-source-file":"SlackDisconnectButton.tsx",children:A})},v=e=>{let{projectId:n,disabled:t=!1,onConnectionChange:a,showConnectButton:m=!0}=e,{data:x,isLoading:h,refetch:p,error:j}=u.FH.slack.getIntegrationStatus.useQuery({projectId:n},{enabled:!!n,refetchInterval:3e4}),f=e=>{p(),null==a||a(e)};return h?(0,s.jsxs)(o.Zp,{children:[(0,s.jsxs)(o.aR,{children:[(0,s.jsx)(o.ZB,{className:"flex items-center gap-2",children:"Slack Connection"}),(0,s.jsx)(o.BT,{children:"Checking connection status..."})]}),(0,s.jsx)(o.Wu,{children:(0,s.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,s.jsx)("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}),(0,s.jsx)("span",{children:"Loading..."})]})})]}):j?(0,s.jsxs)(o.Zp,{children:[(0,s.jsxs)(o.aR,{children:[(0,s.jsx)(o.ZB,{className:"flex items-center gap-2",children:"Slack Connection"}),(0,s.jsx)(o.BT,{children:"Error loading connection status"})]}),(0,s.jsx)(o.Wu,{children:(0,s.jsxs)(d.Fc,{children:[(0,s.jsx)(l.A,{className:"h-4 w-4"}),(0,s.jsx)(d.TN,{children:"Failed to load Slack integration status. Please try again."})]})})]}):(null==x?void 0:x.isConnected)?(0,s.jsxs)(o.Zp,{"data-sentry-element":"Card","data-sentry-component":"SlackConnectionCard","data-sentry-source-file":"SlackConnectionCard.tsx",children:[(0,s.jsxs)(o.aR,{"data-sentry-element":"CardHeader","data-sentry-source-file":"SlackConnectionCard.tsx",children:[(0,s.jsx)(o.ZB,{className:"flex items-center gap-2","data-sentry-element":"CardTitle","data-sentry-source-file":"SlackConnectionCard.tsx",children:"Slack Connection"}),(0,s.jsx)(o.BT,{"data-sentry-element":"CardDescription","data-sentry-source-file":"SlackConnectionCard.tsx",children:"Connected to your Slack workspace"})]}),(0,s.jsxs)(o.Wu,{className:"space-y-4","data-sentry-element":"CardContent","data-sentry-source-file":"SlackConnectionCard.tsx",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(r.A,{className:"h-4 w-4 text-green-500","data-sentry-element":"CheckCircle","data-sentry-source-file":"SlackConnectionCard.tsx"}),(0,s.jsx)("span",{className:"text-sm font-medium",children:"Connected"})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:"Worksp
1ace:"}),(0,s.jsx)(c.E,{variant:"secondary",className:"text-xs","data-sentry-element":"Badge","data-sentry-source-file":"SlackConnectionCard.tsx",children:x.teamName})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:"Team ID:"}),(0,s.jsx)(c.E,{variant:"outline",className:"font-mono text-xs","data-sentry-element":"Badge","data-sentry-source-file":"SlackConnectionCard.tsx",children:x.teamId})]}),x.botUserId&&(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:"Bot User:"}),(0,s.jsx)(c.E,{variant:"outline",className:"font-mono text-xs",children:x.botUserId})]})]}),(0,s.jsxs)("div",{className:"flex gap-2 pt-2",children:[(0,s.jsx)(k,{projectId:n,disabled:t,onSuccess:()=>f(!1),onError:e=>{console.error("Slack disconnection error:",e)},"data-sentry-element":"SlackDisconnectButton","data-sentry-source-file":"SlackConnectionCard.tsx"}),(0,s.jsx)(i.$,{variant:"outline",size:"sm",onClick:()=>p(),disabled:t,"data-sentry-element":"Button","data-sentry-source-file":"SlackConnectionCard.tsx",children:"Refresh Status"})]})]})]}):(0,s.jsxs)(o.Zp,{children:[(0,s.jsxs)(o.aR,{children:[(0,s.jsx)(o.ZB,{className:"flex items-center gap-2",children:"Slack Connection"}),(0,s.jsx)(o.BT,{children:"Connect your Slack workspace to send notifications"})]}),(0,s.jsxs)(o.Wu,{className:"space-y-4",children:[(null==x?void 0:x.error)&&(0,s.jsxs)(d.Fc,{children:[(0,s.jsx)(l.A,{className:"h-4 w-4"}),(0,s.jsx)(d.TN,{children:x.error})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:"Connect your Slack workspace to enable real-time notifications for your automations."}),m&&(0,s.jsx)(y,{projectId:n,disabled:t,onSuccess:()=>f(!0),onError:e=>{console.error("Slack connection error:",e)}})]})]})]})}},74776:(e,n,t)=>{t.d(n,{A:()=>o});var s=t(73154);t(96810);var a=t(86843),l=t(81286),r=t(93367),c=t(62583),i=t(8163);let o=e=>{let{projectId:n,selectedChannel:t,disabled:o=!1,variant:d="default",size:u="default",buttonText:m="Send Test Message",onSuccess:x,onError:h,showText:y=!0,hasAccess:p=!0}=e,j=r.FH.slack.sendTestMessage.useMutation({onSuccess:()=>{(0,c.G)({title:"Test Message Sent",description:"Test message sent successfully to the selected channel."}),null==x||x()},onError:e=>{(0,i.N)("Failed to Send Test Message",e.message),null==h||h(Error(e.message))}}),f=async()=>{if(t)try{await j.mutateAsync({projectId:n,channelId:t.id,channelName:t.name})}catch(e){}},g=o||!p||j.isPending||!t;return(0,s.jsx)(a.$,{onClick:f,disabled:g,variant:d,size:u,className:"flex items-center gap-2","data-sentry-element":"Button","data-sentry-component":"SlackTestMessageButton","data-sentry-source-file":"SlackTestMessageButton.tsx",children:j.isPending?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent"}),y&&(0,s.jsx)("span",{children:"Sending..."})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.A,{className:"h-4 w-4"}),y&&(0,s.jsx)("span",{children:m})]})})}},78225:(e,n,t)=>{t.d(n,{A:()=>s});let s=(0,t(22222).A)("slack",[["rect",{width:"3",height:"8",x:"13",y:"2",rx:"1.5",key:"diqz80"}],["path",{d:"M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5",key:"183iwg"}],["rect",{width:"3",height:"8",x:"8",y:"14",rx:"1.5",key:"hqg7r1"}],["path",{d:"M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5",key:"76g71w"}],["rect",{width:"8",height:"3",x:"14",y:"13",rx:"1.5",key:"1kmz0a"}],["path",{d:"M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5",key:"jc4sz0"}],["rect",{width:"8",height:"3",x:"2",y:"8",rx:"1.5",key:"1omvl4"}],["path",{d:"M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5",key:"16f3cl"}]])},79071:(e,n,t)=>{t.d(n,{Fc:()=>i,TN:()=>d,XL:()=>o});var s=t(73154),a=t(96810),l=t(33616),r=t(81509);let c=(0,l.F)("relative w-full rounded-lg border p-3 [&>svg~*]:pl-6 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-3 [&>svg]:top-3 [&>svg]:text-foreground",{variants:{variant:{default:"bg-background text-foreground",destructive:"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive"}},defaultVariants:{variant:"default"}}
1),i=a.forwardRef((e,n)=>{let{className:t,variant:a,...l}=e;return(0,s.jsx)("div",{ref:n,role:"alert",className:(0,r.cn)(c({variant:a}),t),...l})});i.displayName="Alert";let o=a.forwardRef((e,n)=>{let{className:t,...a}=e;return(0,s.jsx)("h5",{ref:n,className:(0,r.cn)("mb-1 font-medium leading-none tracking-tight",t),...a})});o.displayName="AlertTitle";let d=a.forwardRef((e,n)=>{let{className:t,...a}=e;return(0,s.jsx)("div",{ref:n,className:(0,r.cn)("text-sm [&_p]:leading-relaxed",t),...a})});d.displayName="AlertDescription"},81286:(e,n,t)=>{t.d(n,{A:()=>s});let s=(0,t(22222).A)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]])},84893:(e,n,t)=>{t.d(n,{A:()=>s});let s=(0,t(22222).A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])}}]);

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.