be-components 3.6.6 → 3.6.8

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.
@@ -14,6 +14,7 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
14
14
  const SocketManager = ({
15
15
  access_token,
16
16
  distinct_id,
17
+ group_id,
17
18
  onSocketEvent,
18
19
  subscribed_events,
19
20
  onConnect,
@@ -22,6 +23,8 @@ const SocketManager = ({
22
23
  const [visible, setVisible] = (0, _react.useState)(true);
23
24
  const [ws, setWs] = (0, _react.useState)();
24
25
  const [connected, setConnected] = (0, _react.useState)(false);
26
+ const [authenticated, setAuthenticated] = (0, _react.useState)(false);
27
+ const [active_chat, setActiveChat] = (0, _react.useState)(undefined);
25
28
  (0, _react.useEffect)(() => {
26
29
  _index.SocketAPI.setEnvironment();
27
30
  _reactNative.AppState.addEventListener('change', handleEventChange);
@@ -29,6 +32,20 @@ const SocketManager = ({
29
32
  console.log('closed!!!');
30
33
  };
31
34
  }, []);
35
+ (0, _react.useEffect)(() => {
36
+ if (!authenticated) {
37
+ return;
38
+ }
39
+ if (!access_token || !distinct_id) {
40
+ return;
41
+ }
42
+ if (group_id) {
43
+ joinChat(access_token, distinct_id, group_id);
44
+ }
45
+ if (!group_id && active_chat) {
46
+ leaveChat(access_token, distinct_id);
47
+ }
48
+ }, [authenticated, group_id]);
32
49
  (0, _react.useEffect)(() => {
33
50
  if (visible) {
34
51
  if (!ws || ws.readyState != 1) {
@@ -66,6 +83,7 @@ const SocketManager = ({
66
83
  access_token,
67
84
  device_id: distinct_id
68
85
  }));
86
+ setAuthenticated(true);
69
87
  }
70
88
  };
71
89
  new_ws.onmessage = body => {
@@ -90,10 +108,36 @@ const SocketManager = ({
90
108
  sub.remove();
91
109
  }
92
110
  setConnected(false);
111
+ setAuthenticated(false);
112
+ setActiveChat(undefined);
93
113
  onDisconnect();
94
114
  };
95
115
  setWs(new_ws);
96
116
  };
117
+ const joinChat = (access_token, device_id, group_id) => {
118
+ if (!ws || ws.readyState !== 1) {
119
+ return;
120
+ } //Cannot set authenticate without a connected websocket
121
+ console.log('joining chat!');
122
+ ws.send(JSON.stringify({
123
+ type: 'JOIN_CHAT',
124
+ access_token,
125
+ device_id,
126
+ group_id
127
+ }));
128
+ setActiveChat(group_id);
129
+ };
130
+ const leaveChat = (access_token, device_id) => {
131
+ if (!active_chat) {
132
+ return;
133
+ }
134
+ ws.send(JSON.stringify({
135
+ type: 'LEAVE_CHAT',
136
+ access_token,
137
+ device_id,
138
+ group_id: active_chat
139
+ }));
140
+ };
97
141
  const socketAuthenticate = (access_token, device_id) => {
98
142
  if (!ws || ws.readyState !== 1) {
99
143
  return;
@@ -103,6 +147,7 @@ const SocketManager = ({
103
147
  access_token,
104
148
  device_id
105
149
  }));
150
+ setAuthenticated(true);
106
151
  };
107
152
  if (ws && connected) {
108
153
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
@@ -1 +1 @@
1
- {"version":3,"names":["_index","require","_react","_interopRequireWildcard","_reactNative","_colors","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SocketManager","access_token","distinct_id","onSocketEvent","subscribed_events","onConnect","onDisconnect","visible","setVisible","useState","ws","setWs","connected","setConnected","useEffect","SocketAPI","setEnvironment","AppState","addEventListener","handleEventChange","console","log","readyState","connectSocket","socketAuthenticate","close","state","new_ws","socketConnect","sub","undefined","onopen","send","JSON","stringify","type","data","Date","toTimeString","device_id","onmessage","body","message","parse","setTimeout","includes","onclose","remove","createElement","Fragment","ActivityIndicator","style","position","bottom","right","size","color","Colors","brand","midnight","_default","exports"],"sourceRoot":"../../../src","sources":["Socket/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_index","require","_react","_interopRequireWildcard","_reactNative","_colors","_interopRequireDefault","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SocketManager","access_token","distinct_id","group_id","onSocketEvent","subscribed_events","onConnect","onDisconnect","visible","setVisible","useState","ws","setWs","connected","setConnected","authenticated","setAuthenticated","active_chat","setActiveChat","undefined","useEffect","SocketAPI","setEnvironment","AppState","addEventListener","handleEventChange","console","log","joinChat","leaveChat","readyState","connectSocket","socketAuthenticate","close","state","new_ws","socketConnect","sub","onopen","send","JSON","stringify","type","data","Date","toTimeString","device_id","onmessage","body","message","parse","setTimeout","includes","onclose","remove","createElement","Fragment","ActivityIndicator","style","position","bottom","right","size","color","Colors","brand","midnight","_default","exports"],"sourceRoot":"../../../src","sources":["Socket/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ import Colors from '../constants/colors';
5
5
  const SocketManager = ({
6
6
  access_token,
7
7
  distinct_id,
8
+ group_id,
8
9
  onSocketEvent,
9
10
  subscribed_events,
10
11
  onConnect,
@@ -13,6 +14,8 @@ const SocketManager = ({
13
14
  const [visible, setVisible] = useState(true);
14
15
  const [ws, setWs] = useState();
15
16
  const [connected, setConnected] = useState(false);
17
+ const [authenticated, setAuthenticated] = useState(false);
18
+ const [active_chat, setActiveChat] = useState(undefined);
16
19
  useEffect(() => {
17
20
  SocketAPI.setEnvironment();
18
21
  AppState.addEventListener('change', handleEventChange);
@@ -20,6 +23,20 @@ const SocketManager = ({
20
23
  console.log('closed!!!');
21
24
  };
22
25
  }, []);
26
+ useEffect(() => {
27
+ if (!authenticated) {
28
+ return;
29
+ }
30
+ if (!access_token || !distinct_id) {
31
+ return;
32
+ }
33
+ if (group_id) {
34
+ joinChat(access_token, distinct_id, group_id);
35
+ }
36
+ if (!group_id && active_chat) {
37
+ leaveChat(access_token, distinct_id);
38
+ }
39
+ }, [authenticated, group_id]);
23
40
  useEffect(() => {
24
41
  if (visible) {
25
42
  if (!ws || ws.readyState != 1) {
@@ -57,6 +74,7 @@ const SocketManager = ({
57
74
  access_token,
58
75
  device_id: distinct_id
59
76
  }));
77
+ setAuthenticated(true);
60
78
  }
61
79
  };
62
80
  new_ws.onmessage = body => {
@@ -81,10 +99,36 @@ const SocketManager = ({
81
99
  sub.remove();
82
100
  }
83
101
  setConnected(false);
102
+ setAuthenticated(false);
103
+ setActiveChat(undefined);
84
104
  onDisconnect();
85
105
  };
86
106
  setWs(new_ws);
87
107
  };
108
+ const joinChat = (access_token, device_id, group_id) => {
109
+ if (!ws || ws.readyState !== 1) {
110
+ return;
111
+ } //Cannot set authenticate without a connected websocket
112
+ console.log('joining chat!');
113
+ ws.send(JSON.stringify({
114
+ type: 'JOIN_CHAT',
115
+ access_token,
116
+ device_id,
117
+ group_id
118
+ }));
119
+ setActiveChat(group_id);
120
+ };
121
+ const leaveChat = (access_token, device_id) => {
122
+ if (!active_chat) {
123
+ return;
124
+ }
125
+ ws.send(JSON.stringify({
126
+ type: 'LEAVE_CHAT',
127
+ access_token,
128
+ device_id,
129
+ group_id: active_chat
130
+ }));
131
+ };
88
132
  const socketAuthenticate = (access_token, device_id) => {
89
133
  if (!ws || ws.readyState !== 1) {
90
134
  return;
@@ -94,6 +138,7 @@ const SocketManager = ({
94
138
  access_token,
95
139
  device_id
96
140
  }));
141
+ setAuthenticated(true);
97
142
  };
98
143
  if (ws && connected) {
99
144
  return /*#__PURE__*/React.createElement(React.Fragment, null);
@@ -1 +1 @@
1
- {"version":3,"names":["SocketAPI","React","useEffect","useState","AppState","ActivityIndicator","Colors","SocketManager","access_token","distinct_id","onSocketEvent","subscribed_events","onConnect","onDisconnect","visible","setVisible","ws","setWs","connected","setConnected","setEnvironment","addEventListener","handleEventChange","console","log","readyState","connectSocket","socketAuthenticate","close","state","new_ws","socketConnect","sub","undefined","onopen","send","JSON","stringify","type","data","Date","toTimeString","device_id","onmessage","body","message","parse","setTimeout","includes","onclose","remove","createElement","Fragment","style","position","bottom","right","size","color","brand","midnight"],"sourceRoot":"../../../src","sources":["Socket/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SocketAPI","React","useEffect","useState","AppState","ActivityIndicator","Colors","SocketManager","access_token","distinct_id","group_id","onSocketEvent","subscribed_events","onConnect","onDisconnect","visible","setVisible","ws","setWs","connected","setConnected","authenticated","setAuthenticated","active_chat","setActiveChat","undefined","setEnvironment","addEventListener","handleEventChange","console","log","joinChat","leaveChat","readyState","connectSocket","socketAuthenticate","close","state","new_ws","socketConnect","sub","onopen","send","JSON","stringify","type","data","Date","toTimeString","device_id","onmessage","body","message","parse","setTimeout","includes","onclose","remove","createElement","Fragment","style","position","bottom","right","size","color","brand","midnight"],"sourceRoot":"../../../src","sources":["Socket/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
1
  export const __esModule: boolean;
2
2
  export default SocketManager;
3
- declare function SocketManager({ access_token, distinct_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: {
3
+ declare function SocketManager({ access_token, distinct_id, group_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: {
4
4
  access_token: any;
5
5
  distinct_id: any;
6
+ group_id: any;
6
7
  onSocketEvent: any;
7
8
  subscribed_events: any;
8
9
  onConnect: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commonjs/Socket/index.js"],"names":[],"mappings":";;AAaA;;;;;;;QAyGC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../commonjs/Socket/index.js"],"names":[],"mappings":";;AAaA;;;;;;;;QAsJC"}
@@ -1,7 +1,8 @@
1
1
  export default SocketManager;
2
- declare function SocketManager({ access_token, distinct_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: {
2
+ declare function SocketManager({ access_token, distinct_id, group_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: {
3
3
  access_token: any;
4
4
  distinct_id: any;
5
+ group_id: any;
5
6
  onSocketEvent: any;
6
7
  subscribed_events: any;
7
8
  onConnect: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../module/Socket/index.js"],"names":[],"mappings":";AAIA;;;;;;;;;sFAyGC;kBA5G0C,OAAO;kCACN,cAAc"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../module/Socket/index.js"],"names":[],"mappings":";AAIA;;;;;;;;;;sFAsJC;kBAzJ0C,OAAO;kCACN,cAAc"}
@@ -4,9 +4,10 @@ type SocketManagerProps = {
4
4
  distinct_id?: string;
5
5
  onConnect: () => void;
6
6
  onDisconnect: () => void;
7
+ group_id?: string;
7
8
  onSocketEvent: (event: any) => void;
8
9
  subscribed_events: string[];
9
10
  };
10
- declare const SocketManager: ({ access_token, distinct_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: SocketManagerProps) => React.JSX.Element;
11
+ declare const SocketManager: ({ access_token, distinct_id, group_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }: SocketManagerProps) => React.JSX.Element;
11
12
  export default SocketManager;
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Socket/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,KAAK,kBAAkB,GAAG;IACtB,YAAY,CAAC,EAAC,MAAM,CAAC;IACrB,WAAW,CAAC,EAAC,MAAM,CAAC;IACpB,SAAS,EAAC,MAAM,IAAI,CAAC;IACrB,YAAY,EAAC,MAAM,IAAI,CAAC;IACxB,aAAa,EAAC,CAAC,KAAK,EAAC,GAAG,KAAK,IAAI,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,QAAA,MAAM,aAAa,6FAA6F,kBAAkB,sBAiFjI,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/Socket/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,KAAK,kBAAkB,GAAG;IACtB,YAAY,CAAC,EAAC,MAAM,CAAC;IACrB,WAAW,CAAC,EAAC,MAAM,CAAC;IACpB,SAAS,EAAC,MAAM,IAAI,CAAC;IACrB,YAAY,EAAC,MAAM,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAC,MAAM,CAAC;IACjB,aAAa,EAAC,CAAC,KAAK,EAAC,GAAG,KAAK,IAAI,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC9B,CAAA;AAED,QAAA,MAAM,aAAa,uGAAuG,kBAAkB,sBAoH3I,CAAA;AAED,eAAe,aAAa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "be-components",
3
- "version": "3.6.6",
3
+ "version": "3.6.8",
4
4
  "description": "Components for BettorEdge Apps",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -8,14 +8,17 @@ type SocketManagerProps = {
8
8
  distinct_id?:string,
9
9
  onConnect:() => void,
10
10
  onDisconnect:() => void,
11
+ group_id?:string,
11
12
  onSocketEvent:(event:any) => void,
12
13
  subscribed_events: string[]
13
14
  }
14
15
 
15
- const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }:SocketManagerProps) => {
16
+ const SocketManager = ({ access_token, distinct_id, group_id, onSocketEvent, subscribed_events, onConnect, onDisconnect }:SocketManagerProps) => {
16
17
  const [ visible, setVisible ] = useState(true);
17
18
  const [ ws, setWs ] = useState<any>();
18
19
  const [ connected, setConnected ] = useState(false);
20
+ const [ authenticated, setAuthenticated ] = useState(false);
21
+ const [ active_chat, setActiveChat ] = useState<string|undefined>(undefined);
19
22
 
20
23
  useEffect(() => {
21
24
  SocketAPI.setEnvironment();
@@ -23,7 +26,14 @@ const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_ev
23
26
  return () => {
24
27
  console.log('closed!!!')
25
28
  }
26
- },[])
29
+ },[]);
30
+
31
+ useEffect(() => {
32
+ if(!authenticated){ return }
33
+ if(!access_token || !distinct_id){ return }
34
+ if(group_id){ joinChat(access_token, distinct_id, group_id) }
35
+ if(!group_id && active_chat){ leaveChat(access_token, distinct_id) }
36
+ },[authenticated, group_id])
27
37
 
28
38
  useEffect(() => {
29
39
 
@@ -56,7 +66,8 @@ const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_ev
56
66
  type: 'AUTHENTICATE',
57
67
  access_token,
58
68
  device_id: distinct_id
59
- }))
69
+ }));
70
+ setAuthenticated(true);
60
71
  }
61
72
  }
62
73
 
@@ -74,12 +85,36 @@ const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_ev
74
85
  new_ws.onclose = () => {
75
86
  //setWs(undefined);
76
87
  if(sub){ sub.remove() }
77
- setConnected(false)
88
+ setConnected(false);
89
+ setAuthenticated(false);
90
+ setActiveChat(undefined);
78
91
  onDisconnect();
79
92
  }
80
93
  setWs(new_ws);
81
94
  }
82
95
 
96
+ const joinChat = (access_token:string, device_id:string, group_id:string) => {
97
+ if(!ws || ws.readyState !== 1){ return } //Cannot set authenticate without a connected websocket
98
+ console.log('joining chat!')
99
+ ws.send(JSON.stringify({
100
+ type: 'JOIN_CHAT',
101
+ access_token,
102
+ device_id,
103
+ group_id
104
+ }));
105
+ setActiveChat(group_id);
106
+ }
107
+
108
+ const leaveChat = (access_token:string, device_id: string) => {
109
+ if(!active_chat){ return }
110
+ ws.send(JSON.stringify({
111
+ type: 'LEAVE_CHAT',
112
+ access_token,
113
+ device_id,
114
+ group_id: active_chat
115
+ }))
116
+ }
117
+
83
118
  const socketAuthenticate = (access_token:string, device_id:string) => {
84
119
  if(!ws || ws.readyState !== 1){ return } //Cannot set authenticate without a connected websocket
85
120
  ws.send(JSON.stringify({
@@ -87,6 +122,7 @@ const SocketManager = ({ access_token, distinct_id, onSocketEvent, subscribed_ev
87
122
  access_token,
88
123
  device_id
89
124
  }))
125
+ setAuthenticated(true);
90
126
  }
91
127
  if(ws && connected){ return <></> }
92
128
  return (