ajaxter-chat 3.0.17 → 3.2.0
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.
- package/dist/components/BlockList/index.d.ts +1 -0
- package/dist/components/BlockList/index.d.ts.map +1 -0
- package/dist/components/BlockList/index.js +55 -28
- package/dist/components/BlockList/index.js.map +1 -0
- package/dist/components/CallScreen/index.d.ts +1 -0
- package/dist/components/CallScreen/index.d.ts.map +1 -0
- package/dist/components/CallScreen/index.js +107 -39
- package/dist/components/CallScreen/index.js.map +1 -0
- package/dist/components/ChatScreen/index.d.ts +1 -0
- package/dist/components/ChatScreen/index.d.ts.map +1 -0
- package/dist/components/ChatScreen/index.js +493 -294
- package/dist/components/ChatScreen/index.js.map +1 -0
- package/dist/components/ChatWidget.d.ts +1 -0
- package/dist/components/ChatWidget.d.ts.map +1 -0
- package/dist/components/ChatWidget.js +499 -367
- package/dist/components/ChatWidget.js.map +1 -0
- package/dist/components/EmojiPicker/index.d.ts +1 -0
- package/dist/components/EmojiPicker/index.d.ts.map +1 -0
- package/dist/components/EmojiPicker/index.js +19 -7
- package/dist/components/EmojiPicker/index.js.map +1 -0
- package/dist/components/ErrorBoundary/index.d.ts +20 -0
- package/dist/components/ErrorBoundary/index.d.ts.map +1 -0
- package/dist/components/ErrorBoundary/index.js +76 -0
- package/dist/components/ErrorBoundary/index.js.map +1 -0
- package/dist/components/HomeScreen/index.d.ts +1 -0
- package/dist/components/HomeScreen/index.d.ts.map +1 -0
- package/dist/components/HomeScreen/index.js +236 -158
- package/dist/components/HomeScreen/index.js.map +1 -0
- package/dist/components/MaintenanceView/index.d.ts +1 -0
- package/dist/components/MaintenanceView/index.d.ts.map +1 -0
- package/dist/components/MaintenanceView/index.js +28 -12
- package/dist/components/MaintenanceView/index.js.map +1 -0
- package/dist/components/MiniCallBar/index.d.ts +1 -0
- package/dist/components/MiniCallBar/index.d.ts.map +1 -0
- package/dist/components/MiniCallBar/index.js +85 -37
- package/dist/components/MiniCallBar/index.js.map +1 -0
- package/dist/components/PermissionsGateScreen/index.d.ts +1 -0
- package/dist/components/PermissionsGateScreen/index.d.ts.map +1 -0
- package/dist/components/PermissionsGateScreen/index.js +82 -28
- package/dist/components/PermissionsGateScreen/index.js.map +1 -0
- package/dist/components/RecentChatsScreen/index.d.ts +1 -0
- package/dist/components/RecentChatsScreen/index.d.ts.map +1 -0
- package/dist/components/RecentChatsScreen/index.js +79 -19
- package/dist/components/RecentChatsScreen/index.js.map +1 -0
- package/dist/components/SlideNavMenu.d.ts +1 -0
- package/dist/components/SlideNavMenu.d.ts.map +1 -0
- package/dist/components/SlideNavMenu.js +82 -63
- package/dist/components/SlideNavMenu.js.map +1 -0
- package/dist/components/Tabs/BottomTabs.d.ts +1 -0
- package/dist/components/Tabs/BottomTabs.d.ts.map +1 -0
- package/dist/components/Tabs/BottomTabs.js +34 -19
- package/dist/components/Tabs/BottomTabs.js.map +1 -0
- package/dist/components/TicketDetailScreen/index.d.ts +1 -0
- package/dist/components/TicketDetailScreen/index.d.ts.map +1 -0
- package/dist/components/TicketDetailScreen/index.js +66 -27
- package/dist/components/TicketDetailScreen/index.js.map +1 -0
- package/dist/components/TicketFormScreen/index.d.ts +1 -0
- package/dist/components/TicketFormScreen/index.d.ts.map +1 -0
- package/dist/components/TicketFormScreen/index.js +99 -49
- package/dist/components/TicketFormScreen/index.js.map +1 -0
- package/dist/components/TicketScreen/index.d.ts +1 -0
- package/dist/components/TicketScreen/index.d.ts.map +1 -0
- package/dist/components/TicketScreen/index.js +95 -26
- package/dist/components/TicketScreen/index.js.map +1 -0
- package/dist/components/UserListScreen/index.d.ts +1 -0
- package/dist/components/UserListScreen/index.d.ts.map +1 -0
- package/dist/components/UserListScreen/index.js +127 -53
- package/dist/components/UserListScreen/index.js.map +1 -0
- package/dist/components/ViewerBlockedScreen/index.d.ts +1 -0
- package/dist/components/ViewerBlockedScreen/index.d.ts.map +1 -0
- package/dist/components/ViewerBlockedScreen/index.js +113 -61
- package/dist/components/ViewerBlockedScreen/index.js.map +1 -0
- package/dist/config/index.d.ts +7 -3
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +73 -22
- package/dist/config/index.js.map +1 -0
- package/dist/hooks/useChat.d.ts +9 -1
- package/dist/hooks/useChat.d.ts.map +1 -0
- package/dist/hooks/useChat.js +60 -18
- package/dist/hooks/useChat.js.map +1 -0
- package/dist/hooks/useRemoteConfig.d.ts +1 -0
- package/dist/hooks/useRemoteConfig.d.ts.map +1 -0
- package/dist/hooks/useRemoteConfig.js +22 -15
- package/dist/hooks/useRemoteConfig.js.map +1 -0
- package/dist/hooks/useSocket.d.ts +59 -0
- package/dist/hooks/useSocket.d.ts.map +1 -0
- package/dist/hooks/useSocket.js +203 -0
- package/dist/hooks/useSocket.js.map +1 -0
- package/dist/hooks/useWebRTC.d.ts +10 -2
- package/dist/hooks/useWebRTC.d.ts.map +1 -0
- package/dist/hooks/useWebRTC.js +101 -69
- package/dist/hooks/useWebRTC.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +67 -21
- package/dist/index.js.map +1 -0
- package/dist/types/index.d.ts +129 -48
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -1
- package/dist/types/index.js.map +1 -0
- package/dist/utils/chat.d.ts +1 -0
- package/dist/utils/chat.d.ts.map +1 -0
- package/dist/utils/chat.js +17 -7
- package/dist/utils/chat.js.map +1 -0
- package/dist/utils/fileName.d.ts +1 -0
- package/dist/utils/fileName.d.ts.map +1 -0
- package/dist/utils/fileName.js +5 -1
- package/dist/utils/fileName.js.map +1 -0
- package/dist/utils/messageSound.d.ts +1 -0
- package/dist/utils/messageSound.d.ts.map +1 -0
- package/dist/utils/messageSound.js +9 -3
- package/dist/utils/messageSound.js.map +1 -0
- package/dist/utils/presenceStatus.d.ts +1 -0
- package/dist/utils/presenceStatus.d.ts.map +1 -0
- package/dist/utils/presenceStatus.js +11 -4
- package/dist/utils/presenceStatus.js.map +1 -0
- package/dist/utils/privacyConsent.d.ts +1 -0
- package/dist/utils/privacyConsent.d.ts.map +1 -0
- package/dist/utils/privacyConsent.js +9 -3
- package/dist/utils/privacyConsent.js.map +1 -0
- package/dist/utils/reenableRequest.d.ts +1 -0
- package/dist/utils/reenableRequest.d.ts.map +1 -0
- package/dist/utils/reenableRequest.js +5 -1
- package/dist/utils/reenableRequest.js.map +1 -0
- package/dist/utils/theme.d.ts +1 -0
- package/dist/utils/theme.d.ts.map +1 -0
- package/dist/utils/theme.js +10 -4
- package/dist/utils/theme.js.map +1 -0
- package/dist/utils/widgetPermissions.d.ts +1 -0
- package/dist/utils/widgetPermissions.d.ts.map +1 -0
- package/dist/utils/widgetPermissions.js +13 -5
- package/dist/utils/widgetPermissions.js.map +1 -0
- package/dist/utils/widgetSession.d.ts +1 -0
- package/dist/utils/widgetSession.d.ts.map +1 -0
- package/dist/utils/widgetSession.js +9 -3
- package/dist/utils/widgetSession.js.map +1 -0
- package/package.json +8 -4
- package/src/components/ChatWidget.tsx +643 -622
- package/src/components/ErrorBoundary/index.tsx +62 -0
- package/src/config/index.ts +87 -26
- package/src/hooks/useChat.ts +59 -12
- package/src/hooks/useRemoteConfig.ts +8 -3
- package/src/hooks/useSocket.ts +249 -0
- package/src/hooks/useWebRTC.ts +99 -64
- package/src/index.ts +14 -3
- package/src/types/index.ts +177 -143
|
@@ -1,16 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.MiniCallBar = void 0;
|
|
38
|
+
const react_1 = __importStar(require("react"));
|
|
39
|
+
const chat_1 = require("../../utils/chat");
|
|
5
40
|
/**
|
|
6
41
|
* Shown when the user minimizes the widget during an active call (ringing or connected).
|
|
7
42
|
* Sits above the main launcher button so the user can work on the page and return to the call.
|
|
8
43
|
*/
|
|
9
|
-
|
|
44
|
+
const MiniCallBar = ({ session, primaryColor, buttonPosition, onExpand, onEnd, }) => {
|
|
10
45
|
var _a;
|
|
11
46
|
const peer = session.peer;
|
|
12
|
-
const [duration, setDuration] = useState(0);
|
|
13
|
-
useEffect(() => {
|
|
47
|
+
const [duration, setDuration] = (0, react_1.useState)(0);
|
|
48
|
+
(0, react_1.useEffect)(() => {
|
|
14
49
|
if (session.state !== 'connected' || !session.startedAt)
|
|
15
50
|
return;
|
|
16
51
|
const t = setInterval(() => {
|
|
@@ -23,46 +58,59 @@ export const MiniCallBar = ({ session, primaryColor, buttonPosition, onExpand, o
|
|
|
23
58
|
const pos = buttonPosition === 'bottom-left'
|
|
24
59
|
? { left: 24, right: 'auto' }
|
|
25
60
|
: { right: 24, left: 'auto' };
|
|
26
|
-
return (
|
|
61
|
+
return (react_1.default.createElement("div", { role: "toolbar", "aria-label": "Call in progress", style: Object.assign(Object.assign({ position: 'fixed', bottom: 88, zIndex: 10000 }, pos), { display: 'flex', alignItems: 'center', gap: 10, padding: '10px 14px', maxWidth: 'min(360px, calc(100vw - 48px))', borderRadius: 14, background: `linear-gradient(135deg, ${primaryColor}ee, #0f172a)`, color: '#fff', boxShadow: '0 10px 32px rgba(0,0,0,0.28)', animation: 'cw-miniBarIn 0.28s cubic-bezier(0.22,1,0.36,1)', cursor: 'default' }) },
|
|
62
|
+
react_1.default.createElement("style", null, `
|
|
27
63
|
@keyframes cw-miniBarIn {
|
|
28
64
|
from { opacity: 0; transform: translateY(12px); }
|
|
29
65
|
to { opacity: 1; transform: translateY(0); }
|
|
30
66
|
}
|
|
31
|
-
`
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
borderRadius: '50%',
|
|
47
|
-
backgroundColor: avatarColor(peer.name),
|
|
48
|
-
display: 'flex',
|
|
49
|
-
alignItems: 'center',
|
|
50
|
-
justifyContent: 'center',
|
|
51
|
-
fontSize: 14,
|
|
52
|
-
fontWeight: 700,
|
|
53
|
-
flexShrink: 0,
|
|
54
|
-
animation: session.state === 'calling' ? 'cw-pulse 1.5s ease infinite' : 'none',
|
|
55
|
-
}, children: initials(peer.name) })), _jsxs("div", { style: { minWidth: 0, flex: 1 }, children: [_jsx("div", { style: { fontWeight: 700, fontSize: 14, whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' }, children: (_a = peer === null || peer === void 0 ? void 0 : peer.name) !== null && _a !== void 0 ? _a : 'Call' }), _jsxs("div", { style: { fontSize: 12, opacity: 0.9, marginTop: 2 }, children: [session.state === 'calling' && 'Calling…', session.state === 'connected' && `${mins}:${secs}`] })] })] }), _jsx("button", { type: "button", onClick: onEnd, title: "End call", style: {
|
|
67
|
+
`),
|
|
68
|
+
react_1.default.createElement("button", { type: "button", onClick: onExpand, title: "Open call", style: {
|
|
69
|
+
display: 'flex',
|
|
70
|
+
alignItems: 'center',
|
|
71
|
+
gap: 10,
|
|
72
|
+
flex: 1,
|
|
73
|
+
minWidth: 0,
|
|
74
|
+
padding: 0,
|
|
75
|
+
border: 'none',
|
|
76
|
+
background: 'transparent',
|
|
77
|
+
color: 'inherit',
|
|
78
|
+
cursor: 'pointer',
|
|
79
|
+
textAlign: 'left',
|
|
80
|
+
} },
|
|
81
|
+
peer && (react_1.default.createElement("div", { style: {
|
|
56
82
|
width: 40,
|
|
57
83
|
height: 40,
|
|
58
84
|
borderRadius: '50%',
|
|
59
|
-
|
|
60
|
-
background: '#ef4444',
|
|
61
|
-
cursor: 'pointer',
|
|
85
|
+
backgroundColor: (0, chat_1.avatarColor)(peer.name),
|
|
62
86
|
display: 'flex',
|
|
63
87
|
alignItems: 'center',
|
|
64
88
|
justifyContent: 'center',
|
|
89
|
+
fontSize: 14,
|
|
90
|
+
fontWeight: 700,
|
|
65
91
|
flexShrink: 0,
|
|
66
|
-
|
|
67
|
-
},
|
|
92
|
+
animation: session.state === 'calling' ? 'cw-pulse 1.5s ease infinite' : 'none',
|
|
93
|
+
} }, (0, chat_1.initials)(peer.name))),
|
|
94
|
+
react_1.default.createElement("div", { style: { minWidth: 0, flex: 1 } },
|
|
95
|
+
react_1.default.createElement("div", { style: { fontWeight: 700, fontSize: 14, whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis' } }, (_a = peer === null || peer === void 0 ? void 0 : peer.name) !== null && _a !== void 0 ? _a : 'Call'),
|
|
96
|
+
react_1.default.createElement("div", { style: { fontSize: 12, opacity: 0.9, marginTop: 2 } },
|
|
97
|
+
session.state === 'calling' && 'Calling…',
|
|
98
|
+
session.state === 'connected' && `${mins}:${secs}`))),
|
|
99
|
+
react_1.default.createElement("button", { type: "button", onClick: onEnd, title: "End call", style: {
|
|
100
|
+
width: 40,
|
|
101
|
+
height: 40,
|
|
102
|
+
borderRadius: '50%',
|
|
103
|
+
border: 'none',
|
|
104
|
+
background: '#ef4444',
|
|
105
|
+
cursor: 'pointer',
|
|
106
|
+
display: 'flex',
|
|
107
|
+
alignItems: 'center',
|
|
108
|
+
justifyContent: 'center',
|
|
109
|
+
flexShrink: 0,
|
|
110
|
+
boxShadow: '0 2px 10px rgba(239,68,68,0.45)',
|
|
111
|
+
} },
|
|
112
|
+
react_1.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none" },
|
|
113
|
+
react_1.default.createElement("path", { d: "M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07A19.5 19.5 0 013.07 10.8a19.79 19.79 0 01-3.07-8.68A2 2 0 012 0h3a2 2 0 012 1.72c.127.96.361 1.903.7 2.81a2 2 0 01-.45 2.11L6.09 7.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0122 14.92v2z", fill: "#fff", transform: "rotate(135 12 12)" })))));
|
|
68
114
|
};
|
|
115
|
+
exports.MiniCallBar = MiniCallBar;
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MiniCallBar/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PermissionsGateScreen/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,UAAU,0BAA0B;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA0FtE,CAAC"}
|
|
@@ -1,22 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.PermissionsGateScreen = void 0;
|
|
38
|
+
const react_1 = __importStar(require("react"));
|
|
39
|
+
const widgetPermissions_1 = require("../../utils/widgetPermissions");
|
|
5
40
|
const DENIED = 'You cannot use this widget due to less permission granted by you.';
|
|
6
|
-
|
|
7
|
-
const [phase, setPhase] = useState('prompt');
|
|
41
|
+
const PermissionsGateScreen = ({ primaryColor, widgetId, onGranted, }) => {
|
|
42
|
+
const [phase, setPhase] = (0, react_1.useState)('prompt');
|
|
8
43
|
const handleAllow = async () => {
|
|
9
44
|
setPhase('checking');
|
|
10
|
-
const ok = await requestWidgetPermissions();
|
|
45
|
+
const ok = await (0, widgetPermissions_1.requestWidgetPermissions)();
|
|
11
46
|
if (ok) {
|
|
12
|
-
storePermissionsGrant(widgetId);
|
|
47
|
+
(0, widgetPermissions_1.storePermissionsGrant)(widgetId);
|
|
13
48
|
onGranted();
|
|
14
49
|
}
|
|
15
50
|
else {
|
|
16
51
|
setPhase('denied');
|
|
17
52
|
}
|
|
18
53
|
};
|
|
19
|
-
return (
|
|
54
|
+
return (react_1.default.createElement("div", { style: {
|
|
20
55
|
flex: 1,
|
|
21
56
|
display: 'flex',
|
|
22
57
|
flexDirection: 'column',
|
|
@@ -25,24 +60,43 @@ export const PermissionsGateScreen = ({ primaryColor, widgetId, onGranted, }) =>
|
|
|
25
60
|
padding: '28px 22px',
|
|
26
61
|
textAlign: 'center',
|
|
27
62
|
minHeight: 0,
|
|
28
|
-
},
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
63
|
+
} }, phase === 'denied' ? (react_1.default.createElement(react_1.default.Fragment, null,
|
|
64
|
+
react_1.default.createElement("div", { style: { fontSize: 44, marginBottom: 16 } }, "\uD83D\uDD12"),
|
|
65
|
+
react_1.default.createElement("p", { style: { margin: '0 0 20px', fontSize: 15, fontWeight: 600, color: '#1e293b', lineHeight: 1.55, maxWidth: 320 } }, DENIED),
|
|
66
|
+
react_1.default.createElement("p", { style: { margin: '0 0 22px', fontSize: 13, color: '#64748b', lineHeight: 1.5, maxWidth: 340 } }, "Allow microphone, location, and screen sharing in your browser settings for this site, then try again."),
|
|
67
|
+
react_1.default.createElement("button", { type: "button", onClick: () => { setPhase('prompt'); void handleAllow(); }, style: {
|
|
68
|
+
padding: '12px 22px',
|
|
69
|
+
borderRadius: 12,
|
|
70
|
+
border: 'none',
|
|
71
|
+
background: primaryColor,
|
|
72
|
+
color: '#fff',
|
|
73
|
+
fontWeight: 700,
|
|
74
|
+
fontSize: 14,
|
|
75
|
+
cursor: 'pointer',
|
|
76
|
+
} }, "Try again"))) : (react_1.default.createElement(react_1.default.Fragment, null,
|
|
77
|
+
react_1.default.createElement("div", { style: { fontSize: 44, marginBottom: 16 } }, "\uD83C\uDF99\uFE0F"),
|
|
78
|
+
react_1.default.createElement("p", { style: { margin: '0 0 10px', fontSize: 16, fontWeight: 700, color: '#0f172a' } }, "Permissions required"),
|
|
79
|
+
react_1.default.createElement("p", { style: { margin: '0 0 8px', fontSize: 14, color: '#475569', lineHeight: 1.55, maxWidth: 340 } },
|
|
80
|
+
"This widget needs ",
|
|
81
|
+
react_1.default.createElement("strong", null, "microphone"),
|
|
82
|
+
" (voice & calls), ",
|
|
83
|
+
react_1.default.createElement("strong", null, "location"),
|
|
84
|
+
", and",
|
|
85
|
+
' ',
|
|
86
|
+
react_1.default.createElement("strong", null, "screen sharing"),
|
|
87
|
+
" to work."),
|
|
88
|
+
react_1.default.createElement("p", { style: { margin: '0 0 22px', fontSize: 12, color: '#94a3b8', lineHeight: 1.45, maxWidth: 360 } }, "You will be asked to pick a screen once \u2014 you can stop sharing immediately after; we only verify access."),
|
|
89
|
+
react_1.default.createElement("button", { type: "button", disabled: phase === 'checking', onClick: handleAllow, style: {
|
|
90
|
+
padding: '14px 28px',
|
|
91
|
+
borderRadius: 12,
|
|
92
|
+
border: 'none',
|
|
93
|
+
background: phase === 'checking' ? '#94a3b8' : primaryColor,
|
|
94
|
+
color: '#fff',
|
|
95
|
+
fontWeight: 700,
|
|
96
|
+
fontSize: 15,
|
|
97
|
+
cursor: phase === 'checking' ? 'default' : 'pointer',
|
|
98
|
+
minWidth: 200,
|
|
99
|
+
} }, phase === 'checking' ? 'Checking…' : 'Allow & continue')))));
|
|
48
100
|
};
|
|
101
|
+
exports.PermissionsGateScreen = PermissionsGateScreen;
|
|
102
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/PermissionsGateScreen/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/RecentChatsScreen/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGrD,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;CACtG;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAU,UAAU,EAAE,CAAC;IAC5B,MAAM,EAAS,YAAY,CAAC;IAC5B,YAAY,EAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAWD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA2F9D,CAAC"}
|
|
@@ -1,6 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.RecentChatsScreen = void 0;
|
|
37
|
+
const react_1 = __importStar(require("react"));
|
|
38
|
+
const chat_1 = require("../../utils/chat");
|
|
4
39
|
function matchesChat(chat, q) {
|
|
5
40
|
if (!q.trim())
|
|
6
41
|
return true;
|
|
@@ -8,23 +43,48 @@ function matchesChat(chat, q) {
|
|
|
8
43
|
return (chat.user.name.toLowerCase().includes(s) ||
|
|
9
44
|
chat.lastMessage.toLowerCase().includes(s));
|
|
10
45
|
}
|
|
11
|
-
|
|
12
|
-
const [query, setQuery] = useState('');
|
|
13
|
-
const searchRef = useRef(null);
|
|
14
|
-
useEffect(() => {
|
|
46
|
+
const RecentChatsScreen = ({ chats, config, onSelectChat, animateEntrance = false, }) => {
|
|
47
|
+
const [query, setQuery] = (0, react_1.useState)('');
|
|
48
|
+
const searchRef = (0, react_1.useRef)(null);
|
|
49
|
+
(0, react_1.useEffect)(() => {
|
|
15
50
|
var _a;
|
|
16
51
|
(_a = searchRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
17
52
|
}, []);
|
|
18
|
-
const filtered = useMemo(() => chats.filter(c => matchesChat(c, query)), [chats, query]);
|
|
19
|
-
return (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
53
|
+
const filtered = (0, react_1.useMemo)(() => chats.filter(c => matchesChat(c, query)), [chats, query]);
|
|
54
|
+
return (react_1.default.createElement("div", { style: { display: 'flex', flexDirection: 'column', height: '100%' } },
|
|
55
|
+
react_1.default.createElement("div", { style: { background: `linear-gradient(135deg,${config.primaryColor},${config.primaryColor}cc)`, padding: '18px 18px 14px', flexShrink: 0 } },
|
|
56
|
+
react_1.default.createElement("h2", { style: { margin: 0, fontSize: 20, fontWeight: 800, color: '#fff', letterSpacing: '-0.02em' } }, "Recent Chats"),
|
|
57
|
+
react_1.default.createElement("p", { style: { margin: '3px 0 0', fontSize: 12, color: 'rgba(255,255,255,0.8)' } }, "Your conversation history")),
|
|
58
|
+
react_1.default.createElement("div", { style: { padding: '10px 14px', background: '#fff', borderBottom: '1px solid #eef0f5', flexShrink: 0 } },
|
|
59
|
+
react_1.default.createElement("div", { style: { display: 'flex', alignItems: 'center', gap: 8, padding: '0 12px', borderRadius: 10, border: '1.5px solid #e5e7eb', background: '#f8fafc' } },
|
|
60
|
+
react_1.default.createElement("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", style: { flexShrink: 0, opacity: 0.55 } },
|
|
61
|
+
react_1.default.createElement("circle", { cx: "11", cy: "11", r: "7", stroke: "#64748b", strokeWidth: "2" }),
|
|
62
|
+
react_1.default.createElement("path", { d: "M20 20l-4-4", stroke: "#64748b", strokeWidth: "2", strokeLinecap: "round" })),
|
|
63
|
+
react_1.default.createElement("input", { ref: searchRef, type: "search", value: query, onChange: e => setQuery(e.target.value), placeholder: "Search chats\u2026", autoComplete: "off", "aria-label": "Search chats", style: {
|
|
64
|
+
flex: 1,
|
|
65
|
+
minWidth: 0,
|
|
66
|
+
border: 'none',
|
|
67
|
+
outline: 'none',
|
|
68
|
+
background: 'transparent',
|
|
69
|
+
fontSize: 14,
|
|
70
|
+
padding: '10px 0',
|
|
71
|
+
fontFamily: 'inherit',
|
|
72
|
+
color: '#1a2332',
|
|
73
|
+
} }))),
|
|
74
|
+
react_1.default.createElement("div", { style: { flex: 1, overflowY: 'auto' } }, filtered.length === 0 ? (react_1.default.createElement("div", { style: { padding: '50px 24px', textAlign: 'center' } },
|
|
75
|
+
react_1.default.createElement("div", { style: { fontSize: 36, marginBottom: 10 } }, query.trim() ? '🔍' : '💬'),
|
|
76
|
+
react_1.default.createElement("div", { style: { fontWeight: 700, color: '#1a2332', marginBottom: 6 } }, query.trim() ? 'No matches' : 'No chats yet'),
|
|
77
|
+
react_1.default.createElement("div", { style: { fontSize: 13, color: '#7b8fa1' } }, query.trim() ? 'Try a different search' : 'Start a conversation from home'))) : filtered.map((chat, i) => (react_1.default.createElement("button", { key: chat.id, onClick: () => onSelectChat(chat.user), style: Object.assign(Object.assign({ width: '100%', padding: '13px 16px', display: 'flex', alignItems: 'center', gap: 13, background: 'transparent', border: 'none', borderBottom: '1px solid #f0f2f5', cursor: 'pointer', textAlign: 'left' }, (animateEntrance ? { animation: `cw-fadeUp 0.28s ease both`, animationDelay: `${i * 0.05}s` } : {})), { transition: 'background 0.14s' }), onMouseEnter: e => e.currentTarget.style.background = '#f8faff', onMouseLeave: e => e.currentTarget.style.background = 'transparent' },
|
|
78
|
+
react_1.default.createElement("div", { style: { position: 'relative', flexShrink: 0 } },
|
|
79
|
+
react_1.default.createElement("div", { style: { width: 46, height: 46, borderRadius: '50%', backgroundColor: (0, chat_1.avatarColor)(chat.user.name), display: 'flex', alignItems: 'center', justifyContent: 'center', color: '#fff', fontWeight: 700, fontSize: 15 } }, (0, chat_1.initials)(chat.user.name)),
|
|
80
|
+
chat.unread > 0 && (react_1.default.createElement("span", { style: { position: 'absolute', top: -2, right: -2, width: 18, height: 18, borderRadius: '50%', background: '#ef4444', color: '#fff', fontSize: 10, fontWeight: 700, display: 'flex', alignItems: 'center', justifyContent: 'center', border: '2px solid #fff' } }, chat.unread))),
|
|
81
|
+
react_1.default.createElement("div", { style: { flex: 1, minWidth: 0 } },
|
|
82
|
+
react_1.default.createElement("div", { style: { display: 'flex', justifyContent: 'space-between', marginBottom: 3 } },
|
|
83
|
+
react_1.default.createElement("span", { style: { fontWeight: 700, fontSize: 14, color: '#1a2332' } }, chat.user.name),
|
|
84
|
+
react_1.default.createElement("span", { style: { fontSize: 11, color: '#b0bec5' } }, (0, chat_1.formatTime)(chat.lastTime))),
|
|
85
|
+
react_1.default.createElement("div", { style: { fontSize: 13, color: '#7b8fa1', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', display: 'flex', alignItems: 'center', gap: 5 } },
|
|
86
|
+
chat.isPaused && react_1.default.createElement("span", { style: { fontSize: 10, background: '#fef3c7', color: '#92400e', padding: '1px 5px', borderRadius: 4, fontWeight: 700 } }, "PAUSED"),
|
|
87
|
+
chat.lastMessage))))))));
|
|
30
88
|
};
|
|
89
|
+
exports.RecentChatsScreen = RecentChatsScreen;
|
|
90
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/RecentChatsScreen/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlideNavMenu.d.ts","sourceRoot":"","sources":["../../src/components/SlideNavMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAClC,QAAQ,EAAE,CAAC,GAAG,EAAE,eAAe,GAAG,QAAQ,KAAK,IAAI,CAAC;IACpD,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8HpD,CAAC"}
|