@streamyy/client 0.2.0 → 0.4.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/README.md +4 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/client.d.ts +6 -6
- package/dist/client.js +3 -3
- package/dist/components/CallControls.d.ts +9 -1
- package/dist/components/CallControls.d.ts.map +1 -1
- package/dist/components/CallControls.js +13 -8
- package/dist/components/CallControls.js.map +1 -1
- package/dist/components/IncomingCallCard.d.ts +7 -3
- package/dist/components/IncomingCallCard.d.ts.map +1 -1
- package/dist/components/IncomingCallCard.js +18 -25
- package/dist/components/IncomingCallCard.js.map +1 -1
- package/dist/components/StreammyCallWidget.d.ts +17 -2
- package/dist/components/StreammyCallWidget.d.ts.map +1 -1
- package/dist/components/StreammyCallWidget.js +220 -119
- package/dist/components/StreammyCallWidget.js.map +1 -1
- package/dist/components/StreamyyCallWidget.d.ts +27 -0
- package/dist/components/StreamyyCallWidget.d.ts.map +1 -0
- package/dist/components/StreamyyCallWidget.js +347 -0
- package/dist/components/StreamyyCallWidget.js.map +1 -0
- package/dist/components/VideoStage.d.ts.map +1 -1
- package/dist/components/VideoStage.js +12 -48
- package/dist/components/VideoStage.js.map +1 -1
- package/dist/components/VideoTile.d.ts +1 -1
- package/dist/components/VideoTile.d.ts.map +1 -1
- package/dist/components/VideoTile.js +18 -14
- package/dist/components/VideoTile.js.map +1 -1
- package/dist/hooks/useRingtone.d.ts +2 -2
- package/dist/hooks/useRingtone.d.ts.map +1 -1
- package/dist/hooks/useRingtone.js +11 -7
- package/dist/hooks/useRingtone.js.map +1 -1
- package/dist/hooks/useStreamyy.d.ts +28 -0
- package/dist/hooks/useStreamyy.d.ts.map +1 -0
- package/dist/hooks/useStreamyy.js +533 -0
- package/dist/hooks/useStreamyy.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/types.d.ts +30 -30
- package/dist/webrtc/peer-session.d.ts +3 -3
- package/dist/webrtc/peer-session.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
+
import { CallControls } from "./CallControls.js";
|
|
4
|
+
import { IncomingCallCard } from "./IncomingCallCard.js";
|
|
5
|
+
import { VideoStage } from "./VideoStage.js";
|
|
6
|
+
import { useRingtone } from "../hooks/useRingtone.js";
|
|
7
|
+
import { useStreamyy } from "../hooks/useStreamyy.js";
|
|
8
|
+
const finishedStatuses = new Set(["ended", "declined", "cancelled", "missed", "failed"]);
|
|
9
|
+
const statusLabel = {
|
|
10
|
+
idle: "Ready",
|
|
11
|
+
initiated: "Calling...",
|
|
12
|
+
ringing: "Ringing...",
|
|
13
|
+
accepted: "Connecting...",
|
|
14
|
+
ongoing: "Connected",
|
|
15
|
+
declined: "Declined",
|
|
16
|
+
cancelled: "Cancelled",
|
|
17
|
+
ended: "Call ended",
|
|
18
|
+
failed: "Call failed",
|
|
19
|
+
missed: "Missed call",
|
|
20
|
+
};
|
|
21
|
+
const iconStyle = {
|
|
22
|
+
width: "1.45rem",
|
|
23
|
+
height: "1.45rem",
|
|
24
|
+
display: "block",
|
|
25
|
+
};
|
|
26
|
+
const PhoneIcon = ({ crossed = false }) => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: [_jsx("path", { d: "M22 16.92v3a2 2 0 0 1-2.18 2 19.86 19.86 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.86 19.86 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.35 1.77.68 2.6a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.48-1.25a2 2 0 0 1 2.11-.45c.83.33 1.7.56 2.6.68A2 2 0 0 1 22 16.92Z" }), crossed ? _jsx("path", { d: "M4 4l16 16" }) : null] }));
|
|
27
|
+
const VideoIcon = ({ off = false }) => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: [_jsx("path", { d: "M23 7l-7 5 7 5V7Z" }), _jsx("rect", { x: "1", y: "5", width: "15", height: "14", rx: "2", ry: "2" }), off ? _jsx("path", { d: "M3 3l18 18" }) : null] }));
|
|
28
|
+
const MicIcon = ({ off = false }) => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: [_jsx("path", { d: "M12 1a3 3 0 0 1 3 3v8a3 3 0 0 1-6 0V4a3 3 0 0 1 3-3Z" }), _jsx("path", { d: "M19 10v2a7 7 0 0 1-14 0v-2" }), _jsx("path", { d: "M12 19v4" }), _jsx("path", { d: "M8 23h8" }), off ? _jsx("path", { d: "M4 4l16 16" }) : null] }));
|
|
29
|
+
const CheckIcon = () => (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: _jsx("path", { d: "M20 6 9 17l-5-5" }) }));
|
|
30
|
+
const XIcon = () => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round", style: iconStyle, children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }));
|
|
31
|
+
const defaultIcons = {
|
|
32
|
+
audio: _jsx(PhoneIcon, {}),
|
|
33
|
+
video: _jsx(VideoIcon, {}),
|
|
34
|
+
mute: _jsx(MicIcon, {}),
|
|
35
|
+
unmute: _jsx(MicIcon, { off: true }),
|
|
36
|
+
videoOn: _jsx(VideoIcon, {}),
|
|
37
|
+
videoOff: _jsx(VideoIcon, { off: true }),
|
|
38
|
+
accept: _jsx(CheckIcon, {}),
|
|
39
|
+
decline: _jsx(XIcon, {}),
|
|
40
|
+
hangup: _jsx(PhoneIcon, { crossed: true }),
|
|
41
|
+
};
|
|
42
|
+
const avatarFallback = (value) => value.slice(0, 2).toUpperCase() || "?";
|
|
43
|
+
const getRemoteId = (call) => call.direction === "incoming" ? call.callerId : call.receiverId;
|
|
44
|
+
const readAvatarFromMetadata = (call, role) => {
|
|
45
|
+
const metadata = call.metadata;
|
|
46
|
+
if (!metadata) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const remoteKey = call.direction === "incoming" ? "callerAvatarSrc" : "receiverAvatarSrc";
|
|
50
|
+
const key = role === "remote"
|
|
51
|
+
? remoteKey
|
|
52
|
+
: role === "caller"
|
|
53
|
+
? "callerAvatarSrc"
|
|
54
|
+
: "receiverAvatarSrc";
|
|
55
|
+
const candidate = metadata[key];
|
|
56
|
+
return typeof candidate === "string" ? candidate : undefined;
|
|
57
|
+
};
|
|
58
|
+
const formatDuration = (totalSeconds) => {
|
|
59
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
60
|
+
const seconds = totalSeconds % 60;
|
|
61
|
+
return `${String(minutes).padStart(2, "0")}:${String(seconds).padStart(2, "0")}`;
|
|
62
|
+
};
|
|
63
|
+
const DefaultAvatar = ({ label, src, size, }) => (_jsx("div", { style: {
|
|
64
|
+
width: size,
|
|
65
|
+
height: size,
|
|
66
|
+
borderRadius: "999px",
|
|
67
|
+
padding: "0.28rem",
|
|
68
|
+
background: "#00c781",
|
|
69
|
+
display: "grid",
|
|
70
|
+
placeItems: "center",
|
|
71
|
+
boxSizing: "border-box",
|
|
72
|
+
}, children: _jsx("div", { style: {
|
|
73
|
+
width: "100%",
|
|
74
|
+
height: "100%",
|
|
75
|
+
borderRadius: "999px",
|
|
76
|
+
background: "#282a2f",
|
|
77
|
+
display: "grid",
|
|
78
|
+
placeItems: "center",
|
|
79
|
+
overflow: "hidden",
|
|
80
|
+
color: "white",
|
|
81
|
+
fontWeight: 700,
|
|
82
|
+
fontSize: "1.35rem",
|
|
83
|
+
}, children: src ? (_jsx("img", { src: src, alt: label, style: { width: "100%", height: "100%", objectFit: "cover" } })) : (avatarFallback(label)) }) }));
|
|
84
|
+
const RemoteAudio = ({ stream }) => {
|
|
85
|
+
const ref = useRef(null);
|
|
86
|
+
useEffect(() => {
|
|
87
|
+
if (ref.current) {
|
|
88
|
+
ref.current.srcObject = stream;
|
|
89
|
+
}
|
|
90
|
+
}, [stream]);
|
|
91
|
+
return _jsx("audio", { ref: ref, autoPlay: true, playsInline: true });
|
|
92
|
+
};
|
|
93
|
+
export const StreamyyCallWidget = ({ defaultReceiverId = "", defaultCallType = "video", title = "Streamyy Calling", subtitle = "Ready-made calling UI", ringtones, renderIncomingCall, renderCallInterface, resolveAvatarSrc, icons, }) => {
|
|
94
|
+
const { activeCall, callStatus, media, startAudioCall, startVideoCall, acceptCall, declineCall, cancelCall, endCall, toggleMute, toggleVideo, clearActiveCall, connected, reconnecting, } = useStreamyy();
|
|
95
|
+
const [selectedType, setSelectedType] = useState(defaultCallType);
|
|
96
|
+
const [durationSeconds, setDurationSeconds] = useState(0);
|
|
97
|
+
const callTimerRef = useRef(null);
|
|
98
|
+
const timedCallIdRef = useRef(null);
|
|
99
|
+
const startedAtRef = useRef(null);
|
|
100
|
+
const mergedIcons = { ...defaultIcons, ...icons };
|
|
101
|
+
const isIncomingRinging = activeCall?.direction === "incoming" &&
|
|
102
|
+
(activeCall.status === "ringing" || activeCall.status === "initiated");
|
|
103
|
+
const isOutgoingRinging = activeCall?.direction === "outgoing" && (callStatus === "initiated" || callStatus === "ringing");
|
|
104
|
+
const isFinished = activeCall ? finishedStatuses.has(callStatus) : false;
|
|
105
|
+
useRingtone(Boolean(isIncomingRinging), ringtones?.incoming, "incoming");
|
|
106
|
+
useRingtone(Boolean(isOutgoingRinging), ringtones?.outgoing, "outgoing");
|
|
107
|
+
const liveLabel = useMemo(() => statusLabel[callStatus] ?? callStatus, [callStatus]);
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
if (!activeCall) {
|
|
110
|
+
timedCallIdRef.current = null;
|
|
111
|
+
startedAtRef.current = null;
|
|
112
|
+
setDurationSeconds(0);
|
|
113
|
+
if (callTimerRef.current !== null) {
|
|
114
|
+
window.clearInterval(callTimerRef.current);
|
|
115
|
+
callTimerRef.current = null;
|
|
116
|
+
}
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
if (timedCallIdRef.current !== activeCall.callId) {
|
|
120
|
+
timedCallIdRef.current = activeCall.callId;
|
|
121
|
+
startedAtRef.current = null;
|
|
122
|
+
setDurationSeconds(0);
|
|
123
|
+
if (callTimerRef.current !== null) {
|
|
124
|
+
window.clearInterval(callTimerRef.current);
|
|
125
|
+
callTimerRef.current = null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const shouldRunTimer = !isIncomingRinging &&
|
|
129
|
+
!isFinished &&
|
|
130
|
+
(callStatus === "accepted" || callStatus === "ongoing");
|
|
131
|
+
if (!shouldRunTimer) {
|
|
132
|
+
if (callTimerRef.current !== null) {
|
|
133
|
+
window.clearInterval(callTimerRef.current);
|
|
134
|
+
callTimerRef.current = null;
|
|
135
|
+
}
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (startedAtRef.current === null) {
|
|
139
|
+
startedAtRef.current = Date.now();
|
|
140
|
+
setDurationSeconds(0);
|
|
141
|
+
}
|
|
142
|
+
const updateDuration = () => {
|
|
143
|
+
if (startedAtRef.current === null) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
setDurationSeconds(Math.max(0, Math.floor((Date.now() - startedAtRef.current) / 1000)));
|
|
147
|
+
};
|
|
148
|
+
updateDuration();
|
|
149
|
+
if (callTimerRef.current === null) {
|
|
150
|
+
callTimerRef.current = window.setInterval(updateDuration, 1000);
|
|
151
|
+
}
|
|
152
|
+
return () => {
|
|
153
|
+
if (callTimerRef.current !== null) {
|
|
154
|
+
window.clearInterval(callTimerRef.current);
|
|
155
|
+
callTimerRef.current = null;
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
}, [activeCall, callStatus, isFinished, isIncomingRinging]);
|
|
159
|
+
useEffect(() => {
|
|
160
|
+
if (!activeCall || !isFinished) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const timer = window.setTimeout(() => {
|
|
164
|
+
clearActiveCall();
|
|
165
|
+
}, 1200);
|
|
166
|
+
return () => {
|
|
167
|
+
window.clearTimeout(timer);
|
|
168
|
+
};
|
|
169
|
+
}, [activeCall, clearActiveCall, isFinished]);
|
|
170
|
+
const currentRemoteId = activeCall ? getRemoteId(activeCall) : defaultReceiverId || "Remote";
|
|
171
|
+
const remoteAvatar = activeCall
|
|
172
|
+
? (resolveAvatarSrc?.(activeCall, "remote") ?? readAvatarFromMetadata(activeCall, "remote"))
|
|
173
|
+
: undefined;
|
|
174
|
+
const headerSubtext = durationSeconds > 0 || (callStatus === "accepted" || callStatus === "ongoing")
|
|
175
|
+
? formatDuration(durationSeconds)
|
|
176
|
+
: liveLabel;
|
|
177
|
+
const endCurrentCall = async () => {
|
|
178
|
+
if (!activeCall) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
if (activeCall.direction === "outgoing" && (callStatus === "initiated" || callStatus === "ringing")) {
|
|
182
|
+
await cancelCall(activeCall.callId);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
await endCall(activeCall.callId);
|
|
186
|
+
};
|
|
187
|
+
const startCurrentTypeCall = async () => {
|
|
188
|
+
if (!defaultReceiverId.trim()) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (selectedType === "audio") {
|
|
192
|
+
await startAudioCall(defaultReceiverId.trim(), { startedFrom: "streamyy-default-ui" });
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
await startVideoCall(defaultReceiverId.trim(), { startedFrom: "streamyy-default-ui" });
|
|
196
|
+
};
|
|
197
|
+
const callRendererProps = activeCall === null
|
|
198
|
+
? null
|
|
199
|
+
: {
|
|
200
|
+
activeCall,
|
|
201
|
+
callStatus,
|
|
202
|
+
connected,
|
|
203
|
+
reconnecting,
|
|
204
|
+
media,
|
|
205
|
+
clear: clearActiveCall,
|
|
206
|
+
cancel: async () => cancelCall(activeCall.callId),
|
|
207
|
+
end: async () => endCall(activeCall.callId),
|
|
208
|
+
toggleMute,
|
|
209
|
+
toggleVideo,
|
|
210
|
+
};
|
|
211
|
+
return (_jsxs("section", { style: {
|
|
212
|
+
position: "relative",
|
|
213
|
+
width: "100%",
|
|
214
|
+
minHeight: "100vh",
|
|
215
|
+
background: "#111315",
|
|
216
|
+
color: "white",
|
|
217
|
+
overflow: "hidden",
|
|
218
|
+
}, children: [!activeCall ? (_jsx("section", { style: {
|
|
219
|
+
minHeight: "100vh",
|
|
220
|
+
display: "grid",
|
|
221
|
+
placeItems: "center",
|
|
222
|
+
padding: "1.5rem",
|
|
223
|
+
background: "#111315",
|
|
224
|
+
}, children: _jsxs("div", { style: {
|
|
225
|
+
width: "min(24rem, 100%)",
|
|
226
|
+
display: "grid",
|
|
227
|
+
gap: "1rem",
|
|
228
|
+
padding: "1.4rem",
|
|
229
|
+
borderRadius: "1.8rem",
|
|
230
|
+
background: "#1d1d21",
|
|
231
|
+
border: "1px solid rgba(255, 255, 255, 0.06)",
|
|
232
|
+
justifyItems: "center",
|
|
233
|
+
}, children: [_jsxs("div", { style: { display: "grid", gap: "0.35rem", justifyItems: "center", textAlign: "center" }, children: [_jsx("strong", { style: { fontSize: "1.3rem" }, children: title }), _jsx("span", { style: { color: "rgba(255, 255, 255, 0.56)", lineHeight: 1.5 }, children: subtitle })] }), _jsxs("div", { style: { display: "flex", gap: "0.85rem", justifyContent: "center" }, children: [_jsx("button", { type: "button", "aria-label": "Start audio call", disabled: !defaultReceiverId.trim(), onClick: () => {
|
|
234
|
+
setSelectedType("audio");
|
|
235
|
+
void startAudioCall(defaultReceiverId.trim(), { startedFrom: "streamyy-default-ui" });
|
|
236
|
+
}, style: {
|
|
237
|
+
width: "4rem",
|
|
238
|
+
height: "4rem",
|
|
239
|
+
borderRadius: "999px",
|
|
240
|
+
border: selectedType === "audio" ? "1px solid #00c781" : "1px solid rgba(255, 255, 255, 0.08)",
|
|
241
|
+
background: "#282a2f",
|
|
242
|
+
color: "white",
|
|
243
|
+
display: "grid",
|
|
244
|
+
placeItems: "center",
|
|
245
|
+
cursor: defaultReceiverId.trim() ? "pointer" : "not-allowed",
|
|
246
|
+
opacity: defaultReceiverId.trim() ? 1 : 0.48,
|
|
247
|
+
}, children: mergedIcons.audio }), _jsx("button", { type: "button", "aria-label": "Start video call", disabled: !defaultReceiverId.trim(), onClick: () => {
|
|
248
|
+
setSelectedType("video");
|
|
249
|
+
void startVideoCall(defaultReceiverId.trim(), { startedFrom: "streamyy-default-ui" });
|
|
250
|
+
}, style: {
|
|
251
|
+
width: "4rem",
|
|
252
|
+
height: "4rem",
|
|
253
|
+
borderRadius: "999px",
|
|
254
|
+
border: selectedType === "video" ? "1px solid #00c781" : "1px solid rgba(255, 255, 255, 0.08)",
|
|
255
|
+
background: "#282a2f",
|
|
256
|
+
color: "white",
|
|
257
|
+
display: "grid",
|
|
258
|
+
placeItems: "center",
|
|
259
|
+
cursor: defaultReceiverId.trim() ? "pointer" : "not-allowed",
|
|
260
|
+
opacity: defaultReceiverId.trim() ? 1 : 0.48,
|
|
261
|
+
}, children: mergedIcons.video })] }), _jsx("button", { type: "button", disabled: !defaultReceiverId.trim(), onClick: () => {
|
|
262
|
+
void startCurrentTypeCall();
|
|
263
|
+
}, style: {
|
|
264
|
+
borderRadius: "999px",
|
|
265
|
+
border: 0,
|
|
266
|
+
background: "#282a2f",
|
|
267
|
+
color: "white",
|
|
268
|
+
padding: "0.9rem 1rem",
|
|
269
|
+
cursor: defaultReceiverId.trim() ? "pointer" : "not-allowed",
|
|
270
|
+
opacity: defaultReceiverId.trim() ? 1 : 0.48,
|
|
271
|
+
width: "100%",
|
|
272
|
+
}, children: "Start call" })] }) })) : null, activeCall && isIncomingRinging
|
|
273
|
+
? renderIncomingCall
|
|
274
|
+
? renderIncomingCall({
|
|
275
|
+
call: activeCall,
|
|
276
|
+
connected,
|
|
277
|
+
reconnecting,
|
|
278
|
+
accept: async () => acceptCall(activeCall.callId),
|
|
279
|
+
decline: async (reason) => declineCall(activeCall.callId, reason),
|
|
280
|
+
})
|
|
281
|
+
: (_jsx("section", { style: {
|
|
282
|
+
position: "absolute",
|
|
283
|
+
inset: 0,
|
|
284
|
+
display: "grid",
|
|
285
|
+
placeItems: "center",
|
|
286
|
+
padding: "1rem",
|
|
287
|
+
background: "rgba(0, 0, 0, 0.58)",
|
|
288
|
+
backdropFilter: "blur(16px)",
|
|
289
|
+
zIndex: 2,
|
|
290
|
+
}, children: _jsx(IncomingCallCard, { call: activeCall, avatar: _jsx(DefaultAvatar, { label: activeCall.callerId, src: remoteAvatar, size: "6.6rem" }), acceptIcon: mergedIcons.accept, declineIcon: mergedIcons.decline, onAccept: () => {
|
|
291
|
+
void acceptCall(activeCall.callId);
|
|
292
|
+
}, onDecline: () => {
|
|
293
|
+
void declineCall(activeCall.callId);
|
|
294
|
+
} }) }))
|
|
295
|
+
: null, activeCall && !isIncomingRinging
|
|
296
|
+
? renderCallInterface && callRendererProps
|
|
297
|
+
? renderCallInterface(callRendererProps)
|
|
298
|
+
: (_jsxs("section", { style: {
|
|
299
|
+
position: "relative",
|
|
300
|
+
width: "100%",
|
|
301
|
+
minHeight: "100vh",
|
|
302
|
+
background: activeCall.callType === "video" ? "#111315" : "#202224",
|
|
303
|
+
}, children: [activeCall.callType === "video" ? (_jsx("div", { style: {
|
|
304
|
+
position: "absolute",
|
|
305
|
+
inset: 0,
|
|
306
|
+
}, children: _jsx(VideoStage, { localStream: media.localStream, remoteStream: media.remoteStream, localLabel: "", remoteLabel: "", localMirrored: true }) })) : (_jsx("div", { style: {
|
|
307
|
+
minHeight: "100vh",
|
|
308
|
+
display: "grid",
|
|
309
|
+
placeItems: "center",
|
|
310
|
+
padding: "2rem 1.5rem 8rem",
|
|
311
|
+
}, children: _jsxs("div", { style: { display: "grid", justifyItems: "center", gap: "1rem" }, children: [_jsx(DefaultAvatar, { label: currentRemoteId, src: remoteAvatar, size: "7.5rem" }), _jsx("strong", { style: { fontSize: "2rem", lineHeight: 1.1 }, children: currentRemoteId })] }) })), _jsxs("div", { style: {
|
|
312
|
+
position: "absolute",
|
|
313
|
+
top: "2rem",
|
|
314
|
+
left: "50%",
|
|
315
|
+
transform: "translateX(-50%)",
|
|
316
|
+
display: "grid",
|
|
317
|
+
justifyItems: "center",
|
|
318
|
+
gap: "0.55rem",
|
|
319
|
+
zIndex: 2,
|
|
320
|
+
}, children: [_jsx("div", { style: {
|
|
321
|
+
padding: "0.5rem 1rem",
|
|
322
|
+
borderRadius: "999px",
|
|
323
|
+
background: "rgba(31, 31, 35, 0.76)",
|
|
324
|
+
backdropFilter: "blur(14px)",
|
|
325
|
+
fontWeight: 700,
|
|
326
|
+
fontSize: "1rem",
|
|
327
|
+
}, children: currentRemoteId }), _jsx("span", { style: { color: "rgba(255, 255, 255, 0.72)", fontSize: "0.95rem" }, children: headerSubtext })] }), _jsx("div", { style: {
|
|
328
|
+
position: "absolute",
|
|
329
|
+
left: "50%",
|
|
330
|
+
bottom: "2rem",
|
|
331
|
+
transform: "translateX(-50%)",
|
|
332
|
+
zIndex: 2,
|
|
333
|
+
}, children: _jsx(CallControls, { state: {
|
|
334
|
+
muted: media.muted,
|
|
335
|
+
videoEnabled: media.videoEnabled,
|
|
336
|
+
}, icons: {
|
|
337
|
+
mute: mergedIcons.mute,
|
|
338
|
+
unmute: mergedIcons.unmute,
|
|
339
|
+
video: mergedIcons.videoOn,
|
|
340
|
+
videoOff: mergedIcons.videoOff,
|
|
341
|
+
hangup: mergedIcons.hangup,
|
|
342
|
+
}, showVideoToggle: activeCall.callType === "video" && media.hasLocalVideo, onToggleMute: () => toggleMute(), onToggleVideo: () => toggleVideo(), onHangup: () => {
|
|
343
|
+
void endCurrentCall();
|
|
344
|
+
} }) })] }))
|
|
345
|
+
: null, media.remoteStream ? _jsx(RemoteAudio, { stream: media.remoteStream }) : null] }));
|
|
346
|
+
};
|
|
347
|
+
//# sourceMappingURL=StreamyyCallWidget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamyyCallWidget.js","sourceRoot":"","sources":["../../src/components/StreamyyCallWidget.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoStage.d.ts","sourceRoot":"","sources":["../../src/components/VideoStage.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CACtC;AAED,eAAO,MAAM,UAAU,GAAI,yGAQxB,eAAe,
|
|
1
|
+
{"version":3,"file":"VideoStage.d.ts","sourceRoot":"","sources":["../../src/components/VideoStage.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CACtC;AAED,eAAO,MAAM,UAAU,GAAI,yGAQxB,eAAe,QAmDjB,CAAC"}
|
|
@@ -4,55 +4,19 @@ import { VideoTile } from "./VideoTile.js";
|
|
|
4
4
|
export const VideoStage = ({ localStream, remoteStream, localLabel = "You", remoteLabel = "Remote", localMirrored = false, remoteMirrored = false, defaultMainView = "remote", }) => {
|
|
5
5
|
const [mainView, setMainView] = useState(defaultMainView);
|
|
6
6
|
const mainTile = useMemo(() => mainView === "local"
|
|
7
|
-
? {
|
|
8
|
-
|
|
9
|
-
label: localLabel,
|
|
10
|
-
mirrored: localMirrored,
|
|
11
|
-
muted: true,
|
|
12
|
-
}
|
|
13
|
-
: {
|
|
14
|
-
stream: remoteStream,
|
|
15
|
-
label: remoteLabel,
|
|
16
|
-
mirrored: remoteMirrored,
|
|
17
|
-
muted: false,
|
|
18
|
-
}, [localLabel, localMirrored, localStream, mainView, remoteLabel, remoteMirrored, remoteStream]);
|
|
7
|
+
? { stream: localStream, label: localLabel, mirrored: localMirrored, muted: true }
|
|
8
|
+
: { stream: remoteStream, label: remoteLabel, mirrored: remoteMirrored, muted: false }, [localLabel, localMirrored, localStream, mainView, remoteLabel, remoteMirrored, remoteStream]);
|
|
19
9
|
const thumbnailTile = useMemo(() => mainView === "local"
|
|
20
|
-
? {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
mirrored: remoteMirrored,
|
|
24
|
-
muted: false,
|
|
25
|
-
key: "remote",
|
|
26
|
-
}
|
|
27
|
-
: {
|
|
28
|
-
stream: localStream,
|
|
29
|
-
label: localLabel,
|
|
30
|
-
mirrored: localMirrored,
|
|
31
|
-
muted: true,
|
|
32
|
-
key: "local",
|
|
33
|
-
}, [localLabel, localMirrored, localStream, mainView, remoteLabel, remoteMirrored, remoteStream]);
|
|
34
|
-
const toggleMainView = () => {
|
|
35
|
-
setMainView((current) => (current === "local" ? "remote" : "local"));
|
|
36
|
-
};
|
|
37
|
-
return (_jsxs("section", { style: {
|
|
38
|
-
position: "relative",
|
|
39
|
-
display: "grid",
|
|
40
|
-
gap: "0.75rem",
|
|
41
|
-
}, children: [_jsx(VideoTile, { stream: mainTile.stream, label: mainTile.label, mirrored: mainTile.mirrored, muted: mainTile.muted, active: true }), _jsx("div", { style: {
|
|
10
|
+
? { stream: remoteStream, label: remoteLabel, mirrored: remoteMirrored, muted: false }
|
|
11
|
+
: { stream: localStream, label: localLabel, mirrored: localMirrored, muted: true }, [localLabel, localMirrored, localStream, mainView, remoteLabel, remoteMirrored, remoteStream]);
|
|
12
|
+
return (_jsxs("section", { style: { position: "relative", width: "100%", height: "100%" }, children: [_jsx(VideoTile, { stream: mainTile.stream, label: mainTile.label, mirrored: mainTile.mirrored, muted: mainTile.muted, active: true }), _jsx("div", { style: {
|
|
42
13
|
position: "absolute",
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
width: "
|
|
46
|
-
minWidth: "
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
borderRadius: "999px",
|
|
51
|
-
border: "1px solid rgba(148, 163, 184, 0.2)",
|
|
52
|
-
background: "rgba(15, 23, 42, 0.88)",
|
|
53
|
-
color: "white",
|
|
54
|
-
padding: "0.7rem 0.95rem",
|
|
55
|
-
cursor: "pointer",
|
|
56
|
-
}, children: "Swap videos" })] }));
|
|
14
|
+
top: "1.25rem",
|
|
15
|
+
right: "1.25rem",
|
|
16
|
+
width: "min(18vw, 7.5rem)",
|
|
17
|
+
minWidth: "6.5rem",
|
|
18
|
+
}, children: _jsx(VideoTile, { stream: thumbnailTile.stream, label: thumbnailTile.label, mirrored: thumbnailTile.mirrored, muted: thumbnailTile.muted, compact: true, onClick: () => {
|
|
19
|
+
setMainView((current) => (current === "local" ? "remote" : "local"));
|
|
20
|
+
} }) })] }));
|
|
57
21
|
};
|
|
58
22
|
//# sourceMappingURL=VideoStage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoStage.js","sourceRoot":"","sources":["../../src/components/VideoStage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAY3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,WAAW,EACX,YAAY,EACZ,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,QAAQ,EACtB,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,KAAK,EACtB,eAAe,GAAG,QAAQ,GACV,EAAE,EAAE;IACpB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,eAAe,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CACH,QAAQ,KAAK,OAAO;QAClB,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"VideoStage.js","sourceRoot":"","sources":["../../src/components/VideoStage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAY3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EACzB,WAAW,EACX,YAAY,EACZ,UAAU,GAAG,KAAK,EAClB,WAAW,GAAG,QAAQ,EACtB,aAAa,GAAG,KAAK,EACrB,cAAc,GAAG,KAAK,EACtB,eAAe,GAAG,QAAQ,GACV,EAAE,EAAE;IACpB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,eAAe,CAAC,CAAC;IAE9E,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CACH,QAAQ,KAAK,OAAO;QAClB,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE;QAClF,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAC1F,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,CAC9F,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CACH,QAAQ,KAAK,OAAO;QAClB,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE;QACtF,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,EACtF,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,CAAC,CAC9F,CAAC;IAEF,OAAO,CACL,mBAAS,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aACrE,KAAC,SAAS,IACR,MAAM,EAAE,QAAQ,CAAC,MAAM,EACvB,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,MAAM,SACN,EAEF,cACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,mBAAmB;oBAC1B,QAAQ,EAAE,QAAQ;iBACnB,YAED,KAAC,SAAS,IACR,MAAM,EAAE,aAAa,CAAC,MAAM,EAC5B,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAChC,KAAK,EAAE,aAAa,CAAC,KAAK,EAC1B,OAAO,QACP,OAAO,EAAE,GAAG,EAAE;wBACZ,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBACvE,CAAC,GACD,GACE,IACE,CACX,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoTile.d.ts","sourceRoot":"","sources":["../../src/components/VideoTile.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"VideoTile.d.ts","sourceRoot":"","sources":["../../src/components/VideoTile.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,SAAS,GAAI,+DAQvB,cAAc,QAiDhB,CAAC"}
|
|
@@ -7,23 +7,27 @@ export const VideoTile = ({ stream, muted = false, label, mirrored = false, onCl
|
|
|
7
7
|
ref.current.srcObject = stream;
|
|
8
8
|
}
|
|
9
9
|
}, [stream]);
|
|
10
|
-
return (_jsxs("figure", { style: {
|
|
11
|
-
display: "grid",
|
|
12
|
-
gap: "0.5rem",
|
|
13
|
-
margin: 0,
|
|
14
|
-
}, children: [_jsx("video", { ref: ref, autoPlay: true, playsInline: true, muted: muted, onClick: onClick, style: {
|
|
10
|
+
return (_jsxs("figure", { style: { display: "grid", margin: 0, width: "100%", height: "100%" }, children: [_jsx("video", { ref: ref, autoPlay: true, playsInline: true, muted: muted, onClick: onClick, style: {
|
|
15
11
|
width: "100%",
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
height: compact ? "8.5rem" : "100%",
|
|
13
|
+
minHeight: compact ? "8.5rem" : "100%",
|
|
14
|
+
background: "#2b2b2f",
|
|
15
|
+
borderRadius: compact ? "1.15rem" : "0",
|
|
19
16
|
objectFit: "cover",
|
|
20
17
|
transform: mirrored ? "scaleX(-1)" : "none",
|
|
21
18
|
cursor: onClick ? "pointer" : "default",
|
|
22
|
-
border:
|
|
23
|
-
boxShadow:
|
|
24
|
-
} }), _jsx("figcaption", { style: {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
border: compact ? "1px solid rgba(255, 255, 255, 0.12)" : active ? 0 : 0,
|
|
20
|
+
boxShadow: compact ? "0 16px 32px rgba(0, 0, 0, 0.38)" : "none",
|
|
21
|
+
} }), label ? (_jsx("figcaption", { style: {
|
|
22
|
+
position: compact ? "absolute" : "absolute",
|
|
23
|
+
left: compact ? "0.75rem" : "1rem",
|
|
24
|
+
bottom: compact ? "0.75rem" : "1rem",
|
|
25
|
+
color: "white",
|
|
26
|
+
fontSize: compact ? "0.78rem" : "0.92rem",
|
|
27
|
+
background: "rgba(0, 0, 0, 0.34)",
|
|
28
|
+
borderRadius: "999px",
|
|
29
|
+
padding: "0.3rem 0.55rem",
|
|
30
|
+
backdropFilter: "blur(12px)",
|
|
31
|
+
}, children: label })) : null] }));
|
|
28
32
|
};
|
|
29
33
|
//# sourceMappingURL=VideoTile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VideoTile.js","sourceRoot":"","sources":["../../src/components/VideoTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAY1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,MAAM,EACN,KAAK,GAAG,KAAK,EACb,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,KAAK,GACA,EAAE,EAAE;IACnB,MAAM,GAAG,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"VideoTile.js","sourceRoot":"","sources":["../../src/components/VideoTile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAY1C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EACxB,MAAM,EACN,KAAK,GAAG,KAAK,EACb,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,KAAK,GACA,EAAE,EAAE;IACnB,MAAM,GAAG,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,CACL,kBAAQ,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAC1E,gBACE,GAAG,EAAE,GAAG,EACR,QAAQ,QACR,WAAW,QACX,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;oBACL,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBACnC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBACtC,UAAU,EAAE,SAAS;oBACrB,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;oBACvC,SAAS,EAAE,OAAO;oBAClB,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;oBAC3C,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACvC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,MAAM;iBAChE,GACD,EACD,KAAK,CAAC,CAAC,CAAC,CACP,qBACE,KAAK,EAAE;oBACL,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;oBAC3C,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;oBAClC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;oBACpC,KAAK,EAAE,OAAO;oBACd,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBACzC,UAAU,EAAE,qBAAqB;oBACjC,YAAY,EAAE,OAAO;oBACrB,OAAO,EAAE,gBAAgB;oBACzB,cAAc,EAAE,YAAY;iBAC7B,YAEA,KAAK,GACK,CACd,CAAC,CAAC,CAAC,IAAI,IACD,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { StreamyyRingtoneSource } from "../types.js";
|
|
2
2
|
export declare const defaultRingtones: {
|
|
3
3
|
readonly incoming: {
|
|
4
4
|
kind: "pattern";
|
|
@@ -11,5 +11,5 @@ export declare const defaultRingtones: {
|
|
|
11
11
|
volume?: number;
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
|
-
export declare const useRingtone: (
|
|
14
|
+
export declare const useRingtone: (enabled: boolean, source: StreamyyRingtoneSource | undefined, fallback: "incoming" | "outgoing") => void;
|
|
15
15
|
//# sourceMappingURL=useRingtone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRingtone.d.ts","sourceRoot":"","sources":["../../src/hooks/useRingtone.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAmB,MAAM,aAAa,CAAC;AAqB3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAGnB,CAAC;
|
|
1
|
+
{"version":3,"file":"useRingtone.d.ts","sourceRoot":"","sources":["../../src/hooks/useRingtone.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAmB,MAAM,aAAa,CAAC;AAqB3E,eAAO,MAAM,gBAAgB;;;;;;;;;;;CAGnB,CAAC;AAuFX,eAAO,MAAM,WAAW,GACtB,SAAS,OAAO,EAChB,QAAQ,sBAAsB,GAAG,SAAS,EAC1C,UAAU,UAAU,GAAG,UAAU,KAChC,IAkBF,CAAC"}
|
|
@@ -78,22 +78,26 @@ const startUrlPlayback = (source) => {
|
|
|
78
78
|
audio.currentTime = 0;
|
|
79
79
|
};
|
|
80
80
|
};
|
|
81
|
-
|
|
81
|
+
const createPlayback = (source) => {
|
|
82
|
+
if (source.kind === "url") {
|
|
83
|
+
return startUrlPlayback(source);
|
|
84
|
+
}
|
|
85
|
+
return startPatternPlayback(source);
|
|
86
|
+
};
|
|
87
|
+
export const useRingtone = (enabled, source, fallback) => {
|
|
82
88
|
const stopRef = useRef(null);
|
|
83
89
|
useEffect(() => {
|
|
84
|
-
if (!
|
|
90
|
+
if (!enabled) {
|
|
85
91
|
stopRef.current?.();
|
|
86
92
|
stopRef.current = null;
|
|
87
93
|
return;
|
|
88
94
|
}
|
|
89
|
-
const
|
|
90
|
-
stopRef.current
|
|
91
|
-
stopRef.current =
|
|
92
|
-
selected.kind === "url" ? startUrlPlayback(selected) : startPatternPlayback(selected);
|
|
95
|
+
const resolvedSource = source ?? defaultRingtones[fallback];
|
|
96
|
+
stopRef.current = createPlayback(resolvedSource);
|
|
93
97
|
return () => {
|
|
94
98
|
stopRef.current?.();
|
|
95
99
|
stopRef.current = null;
|
|
96
100
|
};
|
|
97
|
-
}, [
|
|
101
|
+
}, [enabled, fallback, source]);
|
|
98
102
|
};
|
|
99
103
|
//# sourceMappingURL=useRingtone.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRingtone.js","sourceRoot":"","sources":["../../src/hooks/useRingtone.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useRingtone.js","sourceRoot":"","sources":["../../src/hooks/useRingtone.ts"],"names":[],"mappings":"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"}
|