od-support-chat 1.0.19 → 1.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,10 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
1
+ import { FC } from "react";
2
2
 
3
3
  //#region src/components/chat/chat.d.ts
4
- declare const Chat: ({
5
- meetingLinkKey,
6
- customerSupportKey
7
- }: {
8
- meetingLinkKey: any;
9
- customerSupportKey: any;
10
- }) => _$react_jsx_runtime0.JSX.Element;
4
+ interface ChatProps {
5
+ meetingLinkKey: string;
6
+ customerSupportKey: string;
7
+ }
8
+ declare const Chat: FC<ChatProps>;
11
9
  //#endregion
12
10
  export { Chat };
@@ -75,7 +75,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
75
75
  :hover {
76
76
  cursor: pointer;
77
77
  }
78
- `,b=s.div`
78
+ `,te=s.div`
79
79
  position: absolute;
80
80
  text-align: center;
81
81
  align-items: center;
@@ -93,7 +93,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
93
93
  color: white;
94
94
  padding: 5px;
95
95
  background-color: rgb(78, 161, 211);
96
- `,x=s.div`
96
+ `,b=s.div`
97
97
  position: absolute;
98
98
  text-align: center;
99
99
  align-items: center;
@@ -110,7 +110,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
110
110
  color: white;
111
111
  padding: 10px;
112
112
  background-color: rgb(78, 161, 211);
113
- `,S=s.div`
113
+ `,x=s.div`
114
114
  position: absolute;
115
115
  top: 80px;
116
116
  margin-left: 5px;
@@ -120,13 +120,13 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
120
120
  max-height: 83%;
121
121
  overflow-x: hidden;
122
122
  overflow-y: auto;
123
- `,C=s.div`
123
+ `,ne=s.div`
124
124
  display: flex;
125
125
  width: 100%;
126
126
  flex-direction: column;
127
127
  padding: 15px;
128
128
  color: #454552;
129
- `,te=s.div`
129
+ `,S=s.div`
130
130
  width: 100%;
131
131
  display: flex;
132
132
  flex-direction: column;
@@ -152,7 +152,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
152
152
  font-size: 12px;
153
153
  text-align: left;
154
154
  }
155
- `,ne=s.div`
155
+ `,C=s.div`
156
156
  width: 100%;
157
157
  display: flex;
158
158
  flex-direction: column;
@@ -189,7 +189,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
189
189
  align-items: center;
190
190
  width: 100%;
191
191
  gap: 5px;
192
- `,T=s.input`
192
+ `,re=s.input`
193
193
  bottom: 0;
194
194
  width: 70%;
195
195
  height: 25px;
@@ -203,7 +203,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
203
203
  :focus {
204
204
  outline: none;
205
205
  }
206
- `,re=s.div`
206
+ `,ie=s.div`
207
207
  height: 25px;
208
208
  outline: none;
209
209
  border: none;
@@ -219,7 +219,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
219
219
  font-size: 1rem;
220
220
  font-weight: 500;
221
221
  cursor: pointer;
222
- `,E=s.div`
222
+ `,T=s.div`
223
223
  position: absolute;
224
224
  top: 80px;
225
225
  margin-left: 25px;
@@ -227,7 +227,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import{require_al
227
227
  height: 65%;
228
228
  width: 83%;
229
229
  margin-bottom: 25px;
230
- `,ie=s.i`
230
+ `,E=s.i`
231
231
  width: 25px;
232
232
  font-size: calc(5px + 1vmin);
233
- `;var D,O,k;const A=`optimizetalk.com:8443`,j=({meetingLinkKey:e,customerSupportKey:t})=>{let n=a(null),[s]=o(window.innerWidth<window.innerHeight&&window.innerWidth<=900),[c]=o(s?100:15),[p,m]=o([]),j=a(),[M,N]=o(!0),[P,F]=o(!1),[I,L]=o(!1),[R,z]=o(null),[B,V]=o(null),[H,U]=o(),[W,G]=o(),[K,q]=o(!1),[J,ae]=o(``),oe=a(null),Y=a(null),se=()=>{let e=1e4,t=Math.floor(Math.random()*(9e4-e+1))+e;return console.log(`Random number: `+t),t},ce=(e,t)=>{D=new WebSocket(`wss://`+A+`/signal`),D.onopen=function(){console.log(`Websocket connection established`),pe(),ue(e,t),$({from:{userName:e,audio:!0,video:!0},type:`text`,data:`ping from `+e}),O=setInterval(()=>{$({from:{userName:e,audio:!0,video:!0},type:`text`,data:`ping from `+e})},45e3),Z(e,t),console.log(`WebSocket connection opened to chat room `+J)}},le=(e,t)=>{L(!0),z(t),console.log(`Params guestName:`+e+`, guestEmail:`+t);var n=B?e:`Guest-`+se()+`: `+e;V(n),console.log(`Joining : `+n),ce(n,t)};function X(){console.log(`Close the socket`),D!=null&&(console.log(`Send 'leave' message to server for session `+H+` accessToken: `+W),$({from:{userName:B,sessionKey:H,audio:!0,video:!0},accessToken:W,type:`leave`,data:e}),D.close())}function ue(e,t){D.onmessage=function(n){let r=JSON.parse(n.data);switch(console.log(`Room received type: `+r.type),r.type){case`text`:console.log(`Text message from `+r.from.userName+` received: `+r.data);break;case`join_meeting`:console.log(`Main message `+r.data),r.data&&r.data===`busy`?(console.log(`Customer support is busy`),q(!0),k||de(e,t)):r.data&&r.data===`valid`&&(clearInterval(k),console.log(`Session key `+r.referenceUsers[0].sessionKey),U(r.referenceUsers[0].sessionKey),console.log(`Session accessToken `+r.accessToken),G(r.accessToken),console.log(`Joined to room `+r.roomDetails.roomName),ae(r.roomDetails.roomName));break;case`message`:console.log(`Chat message received from `+r.from.userName),console.log(`Chat message `+r.data),fe(),m(e=>[...e,{sender:r.from.userName,msg:r.data}]),Q();break;case`session_expired`:console.log(`Chat session expired!`),L(!1),U(null),G(null),q(!1),X();break;default:console.log(`Room ignoring message type `+r.type)}}}let de=(e,t)=>{k=setInterval(()=>{console.log(`Trying to connect customer support team ...`),Z(e,t)},1e4)},Z=(n,r)=>{$({from:{userName:n,email:r,audio:!1,video:!1},type:`join_meeting`,roomDetails:{roomLinkKey:e},data:t}),console.log(`Meeting join request sent for guest `+n+`, meetingLinkKey: `+e+`, customerSupportKey: `+t)},fe=()=>{Y.current.play()};function pe(){D.addEventListener(`close`,e=>{console.log(`websocket connection closed: `,e),clearInterval(O)}),D.onerror=function(e){console.log(`Error: `+e)}}let Q=()=>{n.current?.scrollIntoView({behavior:`smooth`})},me=e=>{if(e.key===`Enter`){let t=e.target.value;t&&(console.log(`Send 'message' message to server for session `+H+` accessToken: `+W),$({from:{userName:B,sessionKey:H,audio:!0,video:!0},accessToken:W,type:`message`,data:t}),console.log(`Chat message sent `+t),m(e=>[...e,{sender:B,msg:t}]),j.current.value=``)}},he=()=>{let e=j.current.value;e&&(console.log(`Send 'message' message to server for session `+H+` accessToken: `+W),$({from:{userName:B,sessionKey:H,audio:!0,video:!0},accessToken:W,type:`message`,data:e}),console.log(`Chat message sent `+e),m(t=>[...t,{sender:B,msg:e}]),j.current.value=``,Q())};function $(e){let t=JSON.stringify(e);D.send(t)}function ge(){X(),N(!1),F(!0),U(null),G(null),q(!1)}function _e(){D=new WebSocket(`wss://`+A+`/signal`),U(null),G(null),N(!0),F(!1),L(!1),q(!1),z(null),V(null),m([])}return i(()=>{Q()},[p,H]),d(`div`,{children:[!P&&d(h,{displayChat:M,maxWidth:c,children:[d(_,{children:[u(v,{children:`OD Customer Support`}),u(y,{onClick:()=>ge(),className:`text-gray-700`,children:u(`svg`,{width:`60%`,height:`60%`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:u(`path`,{d:`M18 6L6 18M6 6L18 18`,stroke:`orange`,"stroke-width":`4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})})})]}),!I&&!H&&!K&&u(r,{startGuestChat:le,guestEmail:R}),I&&!H&&!K&&u(l,{children:d(E,{children:[u(`div`,{className:`text-center mt-5`,children:`Please wait, connecting`}),d(`div`,{className:`flex flex-col items-center `,children:[u(`div`,{children:u(`img`,{className:`mt-5`,src:`/connecting_customer_support.gif`,width:`80`})}),u(`div`,{className:`absolute text-center bottom-6 font-sm text-sky-400`,children:`contact us at`}),u(`div`,{className:`absolute text-center bottom-0 font-sm text-sky-400`,children:`support@origindetector.com.`})]})]})}),I&&!H&&K&&u(l,{children:d(E,{children:[u(`div`,{className:`text-center text-sm`,children:`Our customer support team helping other customers, please wait.`}),u(`div`,{className:`text-center mt-5`,children:`connecting`}),d(`div`,{className:`flex flex-col items-center `,children:[u(`div`,{children:u(`img`,{className:`mt-5`,src:`/connecting_customer_support.gif`,width:`80`})}),u(`div`,{className:`absolute text-center bottom-6 font-sm text-sky-400`,children:`contact us at`}),u(`div`,{className:`absolute text-center bottom-0 font-sm text-sky-400`,children:`support@origindetector.com`})]})]})}),I&&H&&d(`div`,{children:[u(b,{children:`Live Chat`}),u(S,{children:d(C,{children:[p&&p.length==0&&u(`div`,{className:`ml-2 text-sm`,children:` You are connected to our customer support team, how can we help you today? `}),p&&p.length>0&&d(`div`,{children:[p&&p.map(({sender:e,msg:t},n)=>e===B?d(ne,{children:[u(`strong`,{children:B}),u(`p`,{children:t})]},n):d(te,{children:[u(`strong`,{children:e}),u(`p`,{children:t})]},n)),u(`div`,{style:{float:`left`,clear:`both`},ref:n})]})]})}),d(w,{children:[u(T,{ref:j,onKeyUp:me,placeholder:`Enter your message`}),d(re,{onClick:he,children:[u(ie,{className:`fas fa-paper-plane`}),`Send`]})]})]}),u(`audio`,{ref:oe,src:f.default}),u(`audio`,{ref:Y,src:ee.default})]}),P&&u(g,{className:`cursor-pointer`,onClick:()=>_e(),displayChat:M,maxWidth:c,children:d(x,{children:[u(`i`,{className:`bx bx-chat`}),`Live Chat`]})})]})};export{j as default};
233
+ `;var D,O,k;const A=`optimizetalk.com:8443`,j=e=>{let t=a(null),[n]=o(window.innerWidth<window.innerHeight&&window.innerWidth<=900),[s]=o(n?100:15),[c,p]=o([]),m=a(),[j,M]=o(!0),[N,P]=o(!1),[F,I]=o(!1),[L,R]=o(null),[z,B]=o(null),[V,H]=o(),[U,W]=o(),[G,K]=o(!1),[q,J]=o(``),ae=a(null),Y=a(null),oe=()=>{let e=1e4,t=Math.floor(Math.random()*(9e4-e+1))+e;return console.log(`Random number: `+t),t},se=(e,t)=>{D=new WebSocket(`wss://`+A+`/signal`),D.onopen=function(){console.log(`Websocket connection established`),fe(),le(e,t),$({from:{userName:e,audio:!0,video:!0},type:`text`,data:`ping from `+e}),O=setInterval(()=>{$({from:{userName:e,audio:!0,video:!0},type:`text`,data:`ping from `+e})},45e3),Z(e,t),console.log(`WebSocket connection opened to chat room `+q)}},ce=(e,t)=>{I(!0),R(t),console.log(`Params guestName:`+e+`, guestEmail:`+t);var n=z?e:`Guest-`+oe()+`: `+e;B(n),console.log(`Joining : `+n),se(n,t)};function X(){console.log(`Close the socket`),D!=null&&(console.log(`Send 'leave' message to server for session `+V+` accessToken: `+U),$({from:{userName:z,sessionKey:V,audio:!0,video:!0},accessToken:U,type:`leave`,data:e.meetingLinkKey}),D.close())}function le(e,t){D.onmessage=function(n){let r=JSON.parse(n.data);switch(console.log(`Room received type: `+r.type),r.type){case`text`:console.log(`Text message from `+r.from.userName+` received: `+r.data);break;case`join_meeting`:console.log(`Main message `+r.data),r.data&&r.data===`busy`?(console.log(`Customer support is busy`),K(!0),k||ue(e,t)):r.data&&r.data===`valid`&&(clearInterval(k),console.log(`Session key `+r.referenceUsers[0].sessionKey),H(r.referenceUsers[0].sessionKey),console.log(`Session accessToken `+r.accessToken),W(r.accessToken),console.log(`Joined to room `+r.roomDetails.roomName),J(r.roomDetails.roomName));break;case`message`:console.log(`Chat message received from `+r.from.userName),console.log(`Chat message `+r.data),de(),p(e=>[...e,{sender:r.from.userName,msg:r.data}]),Q();break;case`session_expired`:console.log(`Chat session expired!`),I(!1),H(null),W(null),K(!1),X();break;default:console.log(`Room ignoring message type `+r.type)}}}let ue=(e,t)=>{k=setInterval(()=>{console.log(`Trying to connect customer support team ...`),Z(e,t)},1e4)},Z=(t,n)=>{$({from:{userName:t,email:n,audio:!1,video:!1},type:`join_meeting`,roomDetails:{roomLinkKey:e.meetingLinkKey},data:e.customerSupportKey}),console.log(`Meeting join request sent for guest `+t+`, meetingLinkKey: `+e.meetingLinkKey+`, customerSupportKey: `+e.customerSupportKey)},de=()=>{Y.current.play()};function fe(){D.addEventListener(`close`,e=>{console.log(`websocket connection closed: `,e),clearInterval(O)}),D.onerror=function(e){console.log(`Error: `+e)}}let Q=()=>{t.current?.scrollIntoView({behavior:`smooth`})},pe=e=>{if(e.key===`Enter`){let t=e.target.value;t&&(console.log(`Send 'message' message to server for session `+V+` accessToken: `+U),$({from:{userName:z,sessionKey:V,audio:!0,video:!0},accessToken:U,type:`message`,data:t}),console.log(`Chat message sent `+t),p(e=>[...e,{sender:z,msg:t}]),m.current.value=``)}},me=()=>{let e=m.current.value;e&&(console.log(`Send 'message' message to server for session `+V+` accessToken: `+U),$({from:{userName:z,sessionKey:V,audio:!0,video:!0},accessToken:U,type:`message`,data:e}),console.log(`Chat message sent `+e),p(t=>[...t,{sender:z,msg:e}]),m.current.value=``,Q())};function $(e){let t=JSON.stringify(e);D.send(t)}function he(){X(),M(!1),P(!0),H(null),W(null),K(!1)}function ge(){D=new WebSocket(`wss://`+A+`/signal`),H(null),W(null),M(!0),P(!1),I(!1),K(!1),R(null),B(null),p([])}return i(()=>{Q()},[c,V]),d(`div`,{children:[!N&&d(h,{displayChat:j,maxWidth:s,children:[d(_,{children:[u(v,{children:`OD Customer Support`}),u(y,{onClick:()=>he(),className:`text-gray-700`,children:u(`svg`,{width:`60%`,height:`60%`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:u(`path`,{d:`M18 6L6 18M6 6L18 18`,stroke:`orange`,"stroke-width":`4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})})})]}),!F&&!V&&!G&&u(r,{startGuestChat:ce,guestEmail:L}),F&&!V&&!G&&u(l,{children:d(T,{children:[u(`div`,{className:`text-center mt-5`,children:`Please wait, connecting`}),d(`div`,{className:`flex flex-col items-center `,children:[u(`div`,{children:u(`img`,{className:`mt-5`,src:`/connecting_customer_support.gif`,width:`80`})}),u(`div`,{className:`absolute text-center bottom-6 font-sm text-sky-400`,children:`contact us at`}),u(`div`,{className:`absolute text-center bottom-0 font-sm text-sky-400`,children:`support@origindetector.com.`})]})]})}),F&&!V&&G&&u(l,{children:d(T,{children:[u(`div`,{className:`text-center text-sm`,children:`Our customer support team helping other customers, please wait.`}),u(`div`,{className:`text-center mt-5`,children:`connecting`}),d(`div`,{className:`flex flex-col items-center `,children:[u(`div`,{children:u(`img`,{className:`mt-5`,src:`/connecting_customer_support.gif`,width:`80`})}),u(`div`,{className:`absolute text-center bottom-6 font-sm text-sky-400`,children:`contact us at`}),u(`div`,{className:`absolute text-center bottom-0 font-sm text-sky-400`,children:`support@origindetector.com`})]})]})}),F&&V&&d(`div`,{children:[u(te,{children:`Live Chat`}),u(x,{children:d(ne,{children:[c&&c.length==0&&u(`div`,{className:`ml-2 text-sm`,children:` You are connected to our customer support team, how can we help you today? `}),c&&c.length>0&&d(`div`,{children:[c&&c.map(({sender:e,msg:t},n)=>e===z?d(C,{children:[u(`strong`,{children:z}),u(`p`,{children:t})]},n):d(S,{children:[u(`strong`,{children:e}),u(`p`,{children:t})]},n)),u(`div`,{style:{float:`left`,clear:`both`},ref:t})]})]})}),d(w,{children:[u(re,{ref:m,onKeyUp:pe,placeholder:`Enter your message`}),d(ie,{onClick:me,children:[u(E,{className:`fas fa-paper-plane`}),`Send`]})]})]}),u(`audio`,{ref:ae,src:f.default}),u(`audio`,{ref:Y,src:ee.default})]}),N&&u(g,{className:`cursor-pointer`,onClick:()=>ge(),displayChat:j,maxWidth:s,children:d(b,{children:[u(`i`,{className:`bx bx-chat`}),`Live Chat`]})})]})};export{j as default};
@@ -1,12 +1,10 @@
1
- import * as _$react_jsx_runtime0 from "react/jsx-runtime";
1
+ import { FC } from "react";
2
2
 
3
3
  //#region src/components/chat/chatMobile.d.ts
4
- declare const ChatMobile: ({
5
- meetingLinkKey,
6
- customerSupportKey
7
- }: {
8
- meetingLinkKey: any;
9
- customerSupportKey: any;
10
- }) => _$react_jsx_runtime0.JSX.Element;
4
+ interface ChatProps {
5
+ meetingLinkKey: string;
6
+ customerSupportKey: string;
7
+ }
8
+ declare const ChatMobile: FC<ChatProps>;
11
9
  //#endregion
12
10
  export { ChatMobile };
@@ -75,7 +75,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
75
75
  :hover {
76
76
  cursor: pointer;
77
77
  }
78
- `,b=s.div`
78
+ `,te=s.div`
79
79
  position: absolute;
80
80
  text-align: center;
81
81
  align-items: center;
@@ -93,7 +93,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
93
93
  color: white;
94
94
  padding: 5px;
95
95
  background-color: rgb(78, 161, 211);
96
- `,x=s.div`
96
+ `,b=s.div`
97
97
  position: absolute;
98
98
  text-align: center;
99
99
  align-items: center;
@@ -110,7 +110,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
110
110
  color: white;
111
111
  padding: 10px;
112
112
  background-color: rgb(78, 161, 211);
113
- `,S=s.div`
113
+ `,x=s.div`
114
114
  position: absolute;
115
115
  top: 80px;
116
116
  margin-left: 5px;
@@ -120,13 +120,13 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
120
120
  max-height: 83%;
121
121
  overflow-x: hidden;
122
122
  overflow-y: auto;
123
- `,C=s.div`
123
+ `,ne=s.div`
124
124
  display: flex;
125
125
  width: 100%;
126
126
  flex-direction: column;
127
127
  padding: 15px;
128
128
  color: #454552;
129
- `,te=s.div`
129
+ `,S=s.div`
130
130
  width: 100%;
131
131
  display: flex;
132
132
  flex-direction: column;
@@ -152,7 +152,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
152
152
  font-size: 12px;
153
153
  text-align: left;
154
154
  }
155
- `,ne=s.div`
155
+ `,C=s.div`
156
156
  width: 100%;
157
157
  display: flex;
158
158
  flex-direction: column;
@@ -189,7 +189,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
189
189
  align-items: center;
190
190
  width: 100%;
191
191
  gap: 5px;
192
- `,T=s.input`
192
+ `,re=s.input`
193
193
  bottom: 0;
194
194
  width: 70%;
195
195
  height: 25px;
@@ -203,7 +203,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
203
203
  :focus {
204
204
  outline: none;
205
205
  }
206
- `,re=s.div`
206
+ `,ie=s.div`
207
207
  height: 25px;
208
208
  outline: none;
209
209
  border: none;
@@ -219,7 +219,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
219
219
  font-size: 1rem;
220
220
  font-weight: 500;
221
221
  cursor: pointer;
222
- `,E=s.div`
222
+ `,T=s.div`
223
223
  position: absolute;
224
224
  top: 80px;
225
225
  margin-left: 25px;
@@ -227,7 +227,7 @@ import{__toESM as e}from"../../_virtual/_rolldown/runtime.mjs";import t from"./i
227
227
  height: 65%;
228
228
  width: 83%;
229
229
  margin-bottom: 25px;
230
- `,ie=s.i`
230
+ `,E=s.i`
231
231
  width: 25px;
232
232
  font-size: calc(5px + 1vmin);
233
- `;var D,O,k;const A=`optimizetalk.com:8443`,j=({meetingLinkKey:e,customerSupportKey:n})=>{let r=a(null),[s]=o(window.innerWidth<window.innerHeight&&window.innerWidth<=900),[c]=o(s?80:20),[p,m]=o([]),j=a(),[M,N]=o(!0),[P,F]=o(!1),[I,L]=o(!1),[R,z]=o(null),[B,V]=o(null),[H,U]=o(),[W,G]=o(),[K,q]=o(!1),[J,ae]=o(``),oe=a(null),Y=a(null),se=()=>{let e=1e4,t=Math.floor(Math.random()*(9e4-e+1))+e;return console.log(`Random number: `+t),t},ce=(e,t)=>{D=new WebSocket(`wss://`+A+`/signal`),D.onopen=function(){console.log(`Websocket connection established`),pe(),ue(e,t),$({from:{userName:e,audio:!0,video:!0},type:`text`,data:`ping from `+e}),O=setInterval(()=>{$({from:{userName:e,audio:!0,video:!0},type:`text`,data:`ping from `+e})},45e3),Z(e,t),console.log(`WebSocket connection opened to chat room `+J)}},le=(e,t)=>{L(!0),z(t),console.log(`Params guestName:`+e+`, guestEmail:`+t);var n=B?e:`Guest-`+se()+`: `+e;V(n),console.log(`Joining : `+n),ce(n,t)};function X(){console.log(`Close the socket`),D!=null&&(console.log(`Send 'leave' message to server for session `+H+` accessToken: `+W),$({from:{userName:B,sessionKey:H,audio:!0,video:!0},accessToken:W,type:`leave`,data:e}),D.close())}function ue(e,t){D.onmessage=function(n){let r=JSON.parse(n.data);switch(console.log(`Room received type: `+r.type),r.type){case`text`:console.log(`Text message from `+r.from.userName+` received: `+r.data);break;case`join_meeting`:console.log(`Main message `+r.data),r.data&&r.data===`busy`?(console.log(`Customer support is busy`),q(!0),k||de(e,t)):r.data&&r.data===`valid`&&(clearInterval(k),console.log(`Session key `+r.referenceUsers[0].sessionKey),U(r.referenceUsers[0].sessionKey),console.log(`Session accessToken `+r.accessToken),G(r.accessToken),console.log(`Joined to room `+r.roomDetails.roomName),ae(r.roomDetails.roomName));break;case`message`:console.log(`Chat message received from `+r.from.userName),console.log(`Chat message `+r.data),fe(),m(e=>[...e,{sender:r.from.userName,msg:r.data}]),Q();break;case`session_expired`:console.log(`Chat session expired!`),L(!1),U(null),G(null),q(!1),X();break;default:console.log(`Room ignoring message type `+r.type)}}}let de=(e,t)=>{k=setInterval(()=>{console.log(`Trying to connect customer support team ...`),Z(e,t)},1e4)},Z=(t,r)=>{$({from:{userName:t,email:r,audio:!1,video:!1},type:`join_meeting`,roomDetails:{roomLinkKey:e},data:n}),console.log(`Meeting join request sent for guest `+t)},fe=()=>{Y.current.play()};function pe(){D.addEventListener(`close`,e=>{console.log(`websocket connection closed: `,e),clearInterval(O)}),D.onerror=function(e){console.log(`Error: `+e)}}let Q=()=>{r.current?.scrollIntoView({behavior:`smooth`})},me=e=>{if(e.key===`Enter`){let t=e.target.value;t&&(console.log(`Send 'message' message to server for session `+H+` accessToken: `+W),$({from:{userName:B,sessionKey:H,audio:!0,video:!0},accessToken:W,type:`message`,data:t}),console.log(`Chat message sent `+t),m(e=>[...e,{sender:B,msg:t}]),j.current.value=``)}},he=()=>{let e=j.current.value;e&&(console.log(`Send 'message' message to server for session `+H+` accessToken: `+W),$({from:{userName:B,sessionKey:H,audio:!0,video:!0},accessToken:W,type:`message`,data:e}),console.log(`Chat message sent `+e),m(t=>[...t,{sender:B,msg:e}]),j.current.value=``,Q())};function $(e){let t=JSON.stringify(e);D.send(t)}function ge(){X(),N(!1),F(!0),U(null),G(null),q(!1)}function _e(){D=new WebSocket(`wss://`+A+`/signal`),U(null),G(null),N(!0),F(!1),L(!1),q(!1),z(null),V(null),m([])}return i(()=>{Q()},[p,H]),d(`div`,{children:[!P&&d(h,{displayChat:M,maxWidth:c,children:[d(_,{children:[u(v,{children:`OD Customer Support`}),u(y,{onClick:()=>ge(),className:`text-gray-700`,children:u(`svg`,{width:`60%`,height:`60%`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:u(`path`,{d:`M18 6L6 18M6 6L18 18`,stroke:`orange`,"stroke-width":`4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})})})]}),!I&&!H&&!K&&u(t,{startGuestChat:le,guestEmail:R}),I&&!H&&!K&&u(l,{children:d(E,{children:[u(`div`,{className:`text-center mt-5`,children:`Please wait, connecting`}),d(`div`,{className:`flex flex-col items-center `,children:[u(`div`,{children:u(`img`,{className:`mt-5`,src:`/connecting_customer_support.gif`,width:`80`})}),u(`div`,{className:`absolute text-center bottom-6 font-sx text-sky-400`,children:`contact us at`}),u(`div`,{className:`absolute text-center bottom-0 font-sx text-sky-400`,children:`support@origindetector.com.`})]})]})}),I&&!H&&K&&u(l,{children:d(E,{children:[u(`div`,{className:`text-center`,children:`Our customer support team helping other customers, please wait.`}),u(`div`,{className:`text-center mt-5`,children:`connecting`}),d(`div`,{className:`flex flex-col items-center `,children:[u(`div`,{children:u(`img`,{className:`mt-5`,src:`/connecting_customer_support.gif`,width:`80`})}),u(`div`,{className:`absolute text-center bottom-6 font-sx text-sky-400`,children:`contact us at`}),u(`div`,{className:`absolute text-center bottom-0 font-sx text-sky-400`,children:`support@origindetector.com.`})]})]})}),I&&H&&d(`div`,{children:[u(b,{children:`Live Chat`}),u(S,{children:d(C,{children:[p&&p.length==0&&u(`div`,{className:`ml-2`,children:` You are connected to our customer support team, how can we help you today? `}),p&&p.length>0&&d(`div`,{children:[p&&p.map(({sender:e,msg:t},n)=>e===B?d(ne,{children:[u(`strong`,{children:B}),u(`p`,{children:t})]},n):d(te,{children:[u(`strong`,{children:e}),u(`p`,{children:t})]},n)),u(`div`,{style:{float:`left`,clear:`both`},ref:r})]})]})}),d(w,{children:[u(T,{ref:j,onKeyUp:me,placeholder:`Enter your message`}),d(re,{onClick:he,children:[u(ie,{className:`fas fa-paper-plane`}),`Send`]})]})]}),u(`audio`,{ref:oe,src:f.default}),u(`audio`,{ref:Y,src:ee.default})]}),P&&u(g,{className:`cursor-pointer`,onClick:()=>_e(),displayChat:M,maxWidth:c,children:u(x,{children:u(`i`,{className:`bx bx-chat`})})})]})};export{j as default};
233
+ `;var D,O,k;const A=`optimizetalk.com:8443`,j=e=>{let n=a(null),[r]=o(window.innerWidth<window.innerHeight&&window.innerWidth<=900),[s]=o(r?80:20),[c,p]=o([]),m=a(),[j,M]=o(!0),[N,P]=o(!1),[F,I]=o(!1),[L,R]=o(null),[z,B]=o(null),[V,H]=o(),[U,W]=o(),[G,K]=o(!1),[q,J]=o(``),ae=a(null),Y=a(null),oe=()=>{let e=1e4,t=Math.floor(Math.random()*(9e4-e+1))+e;return console.log(`Random number: `+t),t},se=(e,t)=>{D=new WebSocket(`wss://`+A+`/signal`),D.onopen=function(){console.log(`Websocket connection established`),fe(),le(e,t),$({from:{userName:e,audio:!0,video:!0},type:`text`,data:`ping from `+e}),O=setInterval(()=>{$({from:{userName:e,audio:!0,video:!0},type:`text`,data:`ping from `+e})},45e3),Z(e,t),console.log(`WebSocket connection opened to chat room `+q)}},ce=(e,t)=>{I(!0),R(t),console.log(`Params guestName:`+e+`, guestEmail:`+t);var n=z?e:`Guest-`+oe()+`: `+e;B(n),console.log(`Joining : `+n),se(n,t)};function X(){console.log(`Close the socket`),D!=null&&(console.log(`Send 'leave' message to server for session `+V+` accessToken: `+U),$({from:{userName:z,sessionKey:V,audio:!0,video:!0},accessToken:U,type:`leave`,data:e.meetingLinkKey}),D.close())}function le(e,t){D.onmessage=function(n){let r=JSON.parse(n.data);switch(console.log(`Room received type: `+r.type),r.type){case`text`:console.log(`Text message from `+r.from.userName+` received: `+r.data);break;case`join_meeting`:console.log(`Main message `+r.data),r.data&&r.data===`busy`?(console.log(`Customer support is busy`),K(!0),k||ue(e,t)):r.data&&r.data===`valid`&&(clearInterval(k),console.log(`Session key `+r.referenceUsers[0].sessionKey),H(r.referenceUsers[0].sessionKey),console.log(`Session accessToken `+r.accessToken),W(r.accessToken),console.log(`Joined to room `+r.roomDetails.roomName),J(r.roomDetails.roomName));break;case`message`:console.log(`Chat message received from `+r.from.userName),console.log(`Chat message `+r.data),de(),p(e=>[...e,{sender:r.from.userName,msg:r.data}]),Q();break;case`session_expired`:console.log(`Chat session expired!`),I(!1),H(null),W(null),K(!1),X();break;default:console.log(`Room ignoring message type `+r.type)}}}let ue=(e,t)=>{k=setInterval(()=>{console.log(`Trying to connect customer support team ...`),Z(e,t)},1e4)},Z=(t,n)=>{$({from:{userName:t,email:n,audio:!1,video:!1},type:`join_meeting`,roomDetails:{roomLinkKey:e.meetingLinkKey},data:e.customerSupportKey}),console.log(`Meeting join request sent for guest `+t+`, meetingLinkKey: `+e.meetingLinkKey+`, customerSupportKey: `+e.customerSupportKey)},de=()=>{Y.current.play()};function fe(){D.addEventListener(`close`,e=>{console.log(`websocket connection closed: `,e),clearInterval(O)}),D.onerror=function(e){console.log(`Error: `+e)}}let Q=()=>{n.current?.scrollIntoView({behavior:`smooth`})},pe=e=>{if(e.key===`Enter`){let t=e.target.value;t&&(console.log(`Send 'message' message to server for session `+V+` accessToken: `+U),$({from:{userName:z,sessionKey:V,audio:!0,video:!0},accessToken:U,type:`message`,data:t}),console.log(`Chat message sent `+t),p(e=>[...e,{sender:z,msg:t}]),m.current.value=``)}},me=()=>{let e=m.current.value;e&&(console.log(`Send 'message' message to server for session `+V+` accessToken: `+U),$({from:{userName:z,sessionKey:V,audio:!0,video:!0},accessToken:U,type:`message`,data:e}),console.log(`Chat message sent `+e),p(t=>[...t,{sender:z,msg:e}]),m.current.value=``,Q())};function $(e){let t=JSON.stringify(e);D.send(t)}function he(){X(),M(!1),P(!0),H(null),W(null),K(!1)}function ge(){D=new WebSocket(`wss://`+A+`/signal`),H(null),W(null),M(!0),P(!1),I(!1),K(!1),R(null),B(null),p([])}return i(()=>{Q()},[c,V]),d(`div`,{children:[!N&&d(h,{displayChat:j,maxWidth:s,children:[d(_,{children:[u(v,{children:`OD Customer Support`}),u(y,{onClick:()=>he(),className:`text-gray-700`,children:u(`svg`,{width:`60%`,height:`60%`,viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:u(`path`,{d:`M18 6L6 18M6 6L18 18`,stroke:`orange`,"stroke-width":`4`,"stroke-linecap":`round`,"stroke-linejoin":`round`})})})]}),!F&&!V&&!G&&u(t,{startGuestChat:ce,guestEmail:L}),F&&!V&&!G&&u(l,{children:d(T,{children:[u(`div`,{className:`text-center mt-5`,children:`Please wait, connecting`}),d(`div`,{className:`flex flex-col items-center `,children:[u(`div`,{children:u(`img`,{className:`mt-5`,src:`/connecting_customer_support.gif`,width:`80`})}),u(`div`,{className:`absolute text-center bottom-6 font-sx text-sky-400`,children:`contact us at`}),u(`div`,{className:`absolute text-center bottom-0 font-sx text-sky-400`,children:`support@origindetector.com.`})]})]})}),F&&!V&&G&&u(l,{children:d(T,{children:[u(`div`,{className:`text-center`,children:`Our customer support team helping other customers, please wait.`}),u(`div`,{className:`text-center mt-5`,children:`connecting`}),d(`div`,{className:`flex flex-col items-center `,children:[u(`div`,{children:u(`img`,{className:`mt-5`,src:`/connecting_customer_support.gif`,width:`80`})}),u(`div`,{className:`absolute text-center bottom-6 font-sx text-sky-400`,children:`contact us at`}),u(`div`,{className:`absolute text-center bottom-0 font-sx text-sky-400`,children:`support@origindetector.com.`})]})]})}),F&&V&&d(`div`,{children:[u(te,{children:`Live Chat`}),u(x,{children:d(ne,{children:[c&&c.length==0&&u(`div`,{className:`ml-2`,children:` You are connected to our customer support team, how can we help you today? `}),c&&c.length>0&&d(`div`,{children:[c&&c.map(({sender:e,msg:t},n)=>e===z?d(C,{children:[u(`strong`,{children:z}),u(`p`,{children:t})]},n):d(S,{children:[u(`strong`,{children:e}),u(`p`,{children:t})]},n)),u(`div`,{style:{float:`left`,clear:`both`},ref:n})]})]})}),d(w,{children:[u(re,{ref:m,onKeyUp:pe,placeholder:`Enter your message`}),d(ie,{onClick:me,children:[u(E,{className:`fas fa-paper-plane`}),`Send`]})]})]}),u(`audio`,{ref:ae,src:f.default}),u(`audio`,{ref:Y,src:ee.default})]}),N&&u(g,{className:`cursor-pointer`,onClick:()=>ge(),displayChat:j,maxWidth:s,children:u(b,{children:u(`i`,{className:`bx bx-chat`})})})]})};export{j as default};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "od-support-chat",
3
3
  "private": false,
4
- "version": "1.0.19",
4
+ "version": "1.0.21",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
7
7
  "exports": {