@memberjunction/ng-explorer-core 5.42.0 → 5.43.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/generated/lazy-feature-config.d.ts +1 -1
- package/dist/generated/lazy-feature-config.d.ts.map +1 -1
- package/dist/generated/lazy-feature-config.js +5 -2
- package/dist/generated/lazy-feature-config.js.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +62 -2
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js +604 -105
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
- package/package.json +47 -47
|
@@ -17,17 +17,19 @@ import * as i2 from "@memberjunction/ng-ui-components";
|
|
|
17
17
|
import * as i3 from "@memberjunction/ng-mj-livekit-room";
|
|
18
18
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
19
19
|
const _forTrack1 = ($index, $item) => $item.ModelID;
|
|
20
|
+
const _forTrack2 = ($index, $item) => $item.RoomName;
|
|
21
|
+
const _forTrack3 = ($index, $item) => $item.ConversationID;
|
|
20
22
|
function LiveKitRoomResource_Case_0_Template(rf, ctx) { if (rf & 1) {
|
|
21
23
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
22
24
|
i0.ɵɵelementStart(0, "mj-livekit-agent-room", 4);
|
|
23
|
-
i0.ɵɵlistener("Connected", function LiveKitRoomResource_Case_0_Template_mj_livekit_agent_room_Connected_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.NotifyLoadComplete()); })("ErrorOccurred", function LiveKitRoomResource_Case_0_Template_mj_livekit_agent_room_ErrorOccurred_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.NotifyLoadComplete()); })("InvitePeopleRequested", function LiveKitRoomResource_Case_0_Template_mj_livekit_agent_room_InvitePeopleRequested_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openInvite($event)); });
|
|
25
|
+
i0.ɵɵlistener("Connected", function LiveKitRoomResource_Case_0_Template_mj_livekit_agent_room_Connected_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.NotifyLoadComplete()); })("Disconnected", function LiveKitRoomResource_Case_0_Template_mj_livekit_agent_room_Disconnected_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onRoomLeft()); })("ErrorOccurred", function LiveKitRoomResource_Case_0_Template_mj_livekit_agent_room_ErrorOccurred_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.NotifyLoadComplete()); })("InvitePeopleRequested", function LiveKitRoomResource_Case_0_Template_mj_livekit_agent_room_InvitePeopleRequested_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openInvite($event)); });
|
|
24
26
|
i0.ɵɵelementEnd();
|
|
25
27
|
} if (rf & 2) {
|
|
26
28
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
27
29
|
i0.ɵɵproperty("Mode", ctx_r1.roomMode)("RoomName", ctx_r1.joinRoomName)("AgentID", ctx_r1.agentId)("TargetAgentID", ctx_r1.targetAgentId)("AgentName", ctx_r1.targetAgentName)("AvailableAgents", ctx_r1.agents)("RealtimeModelID", ctx_r1.selectedModelId)("RealtimeVoice", ctx_r1.selectedVoice)("CanPickModelVoice", ctx_r1.canPickModelVoice)("AvailableModels", ctx_r1.realtimeModels)("Provider", ctx_r1.ProviderToUse)("ShowAgentState", true)("ShowWhiteboard", true)("EnableLayoutSwitcher", true)("EnablePinning", true);
|
|
28
30
|
} }
|
|
29
|
-
function
|
|
30
|
-
i0.ɵɵelementStart(0, "option",
|
|
31
|
+
function LiveKitRoomResource_Case_1_For_15_Template(rf, ctx) { if (rf & 1) {
|
|
32
|
+
i0.ɵɵelementStart(0, "option", 14);
|
|
31
33
|
i0.ɵɵtext(1);
|
|
32
34
|
i0.ɵɵelementEnd();
|
|
33
35
|
} if (rf & 2) {
|
|
@@ -37,8 +39,8 @@ function LiveKitRoomResource_Case_1_For_12_Template(rf, ctx) { if (rf & 1) {
|
|
|
37
39
|
i0.ɵɵadvance();
|
|
38
40
|
i0.ɵɵtextInterpolate(a_r4.Name);
|
|
39
41
|
} }
|
|
40
|
-
function
|
|
41
|
-
i0.ɵɵelementStart(0, "p",
|
|
42
|
+
function LiveKitRoomResource_Case_1_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
+
i0.ɵɵelementStart(0, "p", 15);
|
|
42
44
|
i0.ɵɵtext(1);
|
|
43
45
|
i0.ɵɵelementEnd();
|
|
44
46
|
} if (rf & 2) {
|
|
@@ -46,8 +48,8 @@ function LiveKitRoomResource_Case_1_Conditional_13_Template(rf, ctx) { if (rf &
|
|
|
46
48
|
i0.ɵɵadvance();
|
|
47
49
|
i0.ɵɵtextInterpolate(ctx_r1.selectedDescription);
|
|
48
50
|
} }
|
|
49
|
-
function
|
|
50
|
-
i0.ɵɵelementStart(0, "option",
|
|
51
|
+
function LiveKitRoomResource_Case_1_Conditional_17_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
+
i0.ɵɵelementStart(0, "option", 14);
|
|
51
53
|
i0.ɵɵtext(1);
|
|
52
54
|
i0.ɵɵelementEnd();
|
|
53
55
|
} if (rf & 2) {
|
|
@@ -57,8 +59,8 @@ function LiveKitRoomResource_Case_1_Conditional_14_For_8_Template(rf, ctx) { if
|
|
|
57
59
|
i0.ɵɵadvance();
|
|
58
60
|
i0.ɵɵtextInterpolate(m_r6.ModelName);
|
|
59
61
|
} }
|
|
60
|
-
function
|
|
61
|
-
i0.ɵɵelementStart(0, "option",
|
|
62
|
+
function LiveKitRoomResource_Case_1_Conditional_17_Conditional_9_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
63
|
+
i0.ɵɵelementStart(0, "option", 14);
|
|
62
64
|
i0.ɵɵtext(1);
|
|
63
65
|
i0.ɵɵelementEnd();
|
|
64
66
|
} if (rf & 2) {
|
|
@@ -68,40 +70,40 @@ function LiveKitRoomResource_Case_1_Conditional_14_Conditional_9_For_8_Template(
|
|
|
68
70
|
i0.ɵɵadvance();
|
|
69
71
|
i0.ɵɵtextInterpolate(v_r8.Name);
|
|
70
72
|
} }
|
|
71
|
-
function
|
|
73
|
+
function LiveKitRoomResource_Case_1_Conditional_17_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
72
74
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
73
|
-
i0.ɵɵelementStart(0, "label",
|
|
75
|
+
i0.ɵɵelementStart(0, "label", 22);
|
|
74
76
|
i0.ɵɵtext(1, "Voice ");
|
|
75
|
-
i0.ɵɵelementStart(2, "span",
|
|
77
|
+
i0.ɵɵelementStart(2, "span", 19);
|
|
76
78
|
i0.ɵɵtext(3, "dev");
|
|
77
79
|
i0.ɵɵelementEnd()();
|
|
78
|
-
i0.ɵɵelementStart(4, "select",
|
|
79
|
-
i0.ɵɵlistener("change", function
|
|
80
|
-
i0.ɵɵelementStart(5, "option",
|
|
80
|
+
i0.ɵɵelementStart(4, "select", 23);
|
|
81
|
+
i0.ɵɵlistener("change", function LiveKitRoomResource_Case_1_Conditional_17_Conditional_9_Template_select_change_4_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onVoiceChange($event)); });
|
|
82
|
+
i0.ɵɵelementStart(5, "option", 21);
|
|
81
83
|
i0.ɵɵtext(6, "Default voice");
|
|
82
84
|
i0.ɵɵelementEnd();
|
|
83
|
-
i0.ɵɵrepeaterCreate(7,
|
|
85
|
+
i0.ɵɵrepeaterCreate(7, LiveKitRoomResource_Case_1_Conditional_17_Conditional_9_For_8_Template, 2, 3, "option", 14, _forTrack0);
|
|
84
86
|
i0.ɵɵelementEnd();
|
|
85
87
|
} if (rf & 2) {
|
|
86
88
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
87
89
|
i0.ɵɵadvance(7);
|
|
88
90
|
i0.ɵɵrepeater(ctx_r1.selectedModelVoices);
|
|
89
91
|
} }
|
|
90
|
-
function
|
|
92
|
+
function LiveKitRoomResource_Case_1_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
91
93
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
92
|
-
i0.ɵɵelementStart(0, "label",
|
|
94
|
+
i0.ɵɵelementStart(0, "label", 18);
|
|
93
95
|
i0.ɵɵtext(1, "Model ");
|
|
94
|
-
i0.ɵɵelementStart(2, "span",
|
|
96
|
+
i0.ɵɵelementStart(2, "span", 19);
|
|
95
97
|
i0.ɵɵtext(3, "dev");
|
|
96
98
|
i0.ɵɵelementEnd()();
|
|
97
|
-
i0.ɵɵelementStart(4, "select",
|
|
98
|
-
i0.ɵɵlistener("change", function
|
|
99
|
-
i0.ɵɵelementStart(5, "option",
|
|
99
|
+
i0.ɵɵelementStart(4, "select", 20);
|
|
100
|
+
i0.ɵɵlistener("change", function LiveKitRoomResource_Case_1_Conditional_17_Template_select_change_4_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onModelChange($event)); });
|
|
101
|
+
i0.ɵɵelementStart(5, "option", 21);
|
|
100
102
|
i0.ɵɵtext(6, "Default model");
|
|
101
103
|
i0.ɵɵelementEnd();
|
|
102
|
-
i0.ɵɵrepeaterCreate(7,
|
|
104
|
+
i0.ɵɵrepeaterCreate(7, LiveKitRoomResource_Case_1_Conditional_17_For_8_Template, 2, 3, "option", 14, _forTrack1);
|
|
103
105
|
i0.ɵɵelementEnd();
|
|
104
|
-
i0.ɵɵconditionalCreate(9,
|
|
106
|
+
i0.ɵɵconditionalCreate(9, LiveKitRoomResource_Case_1_Conditional_17_Conditional_9_Template, 9, 0);
|
|
105
107
|
} if (rf & 2) {
|
|
106
108
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
107
109
|
i0.ɵɵadvance(7);
|
|
@@ -111,43 +113,272 @@ function LiveKitRoomResource_Case_1_Conditional_14_Template(rf, ctx) { if (rf &
|
|
|
111
113
|
} }
|
|
112
114
|
function LiveKitRoomResource_Case_1_Template(rf, ctx) { if (rf & 1) {
|
|
113
115
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
114
|
-
i0.ɵɵelementStart(0, "div", 1)(1, "div", 5)(2, "
|
|
116
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 5)(2, "button", 6);
|
|
117
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_1_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.backToLanding()); });
|
|
115
118
|
i0.ɵɵelement(3, "i", 7);
|
|
119
|
+
i0.ɵɵtext(4, " Back");
|
|
116
120
|
i0.ɵɵelementEnd();
|
|
117
|
-
i0.ɵɵelementStart(
|
|
118
|
-
i0.ɵɵ
|
|
121
|
+
i0.ɵɵelementStart(5, "div", 8);
|
|
122
|
+
i0.ɵɵelement(6, "i", 9);
|
|
119
123
|
i0.ɵɵelementEnd();
|
|
120
|
-
i0.ɵɵelementStart(
|
|
121
|
-
i0.ɵɵtext(
|
|
124
|
+
i0.ɵɵelementStart(7, "h2", 10);
|
|
125
|
+
i0.ɵɵtext(8, "Start a call");
|
|
122
126
|
i0.ɵɵelementEnd();
|
|
123
|
-
i0.ɵɵelementStart(
|
|
124
|
-
i0.ɵɵtext(
|
|
127
|
+
i0.ɵɵelementStart(9, "p", 11);
|
|
128
|
+
i0.ɵɵtext(10, " Choose the agent you want to talk to. You can add more agents (and invite people) once you're in the room. ");
|
|
125
129
|
i0.ɵɵelementEnd();
|
|
126
|
-
i0.ɵɵelementStart(
|
|
127
|
-
i0.ɵɵ
|
|
128
|
-
i0.ɵɵrepeaterCreate(11, LiveKitRoomResource_Case_1_For_12_Template, 2, 3, "option", 12, _forTrack0);
|
|
130
|
+
i0.ɵɵelementStart(11, "label", 12);
|
|
131
|
+
i0.ɵɵtext(12, "Agent");
|
|
129
132
|
i0.ɵɵelementEnd();
|
|
130
|
-
i0.ɵɵ
|
|
131
|
-
i0.ɵɵ
|
|
132
|
-
i0.ɵɵ
|
|
133
|
-
i0.ɵɵ
|
|
134
|
-
i0.ɵɵ
|
|
135
|
-
i0.ɵɵ
|
|
133
|
+
i0.ɵɵelementStart(13, "select", 13);
|
|
134
|
+
i0.ɵɵlistener("change", function LiveKitRoomResource_Case_1_Template_select_change_13_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTargetChange($event)); });
|
|
135
|
+
i0.ɵɵrepeaterCreate(14, LiveKitRoomResource_Case_1_For_15_Template, 2, 3, "option", 14, _forTrack0);
|
|
136
|
+
i0.ɵɵelementEnd();
|
|
137
|
+
i0.ɵɵconditionalCreate(16, LiveKitRoomResource_Case_1_Conditional_16_Template, 2, 1, "p", 15);
|
|
138
|
+
i0.ɵɵconditionalCreate(17, LiveKitRoomResource_Case_1_Conditional_17_Template, 10, 1);
|
|
139
|
+
i0.ɵɵelementStart(18, "button", 16);
|
|
140
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_1_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.startCall()); });
|
|
141
|
+
i0.ɵɵelement(19, "i", 17);
|
|
142
|
+
i0.ɵɵtext(20, " Start call ");
|
|
136
143
|
i0.ɵɵelementEnd()()();
|
|
137
144
|
} if (rf & 2) {
|
|
138
145
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
139
|
-
i0.ɵɵadvance(
|
|
146
|
+
i0.ɵɵadvance(14);
|
|
140
147
|
i0.ɵɵrepeater(ctx_r1.agents);
|
|
141
148
|
i0.ɵɵadvance(2);
|
|
142
|
-
i0.ɵɵconditional(ctx_r1.selectedDescription ?
|
|
149
|
+
i0.ɵɵconditional(ctx_r1.selectedDescription ? 16 : -1);
|
|
143
150
|
i0.ɵɵadvance();
|
|
144
|
-
i0.ɵɵconditional(ctx_r1.canPickModelVoice && ctx_r1.realtimeModels.length ?
|
|
151
|
+
i0.ɵɵconditional(ctx_r1.canPickModelVoice && ctx_r1.realtimeModels.length ? 17 : -1);
|
|
145
152
|
i0.ɵɵadvance();
|
|
146
153
|
i0.ɵɵproperty("disabled", !ctx_r1.selectedTargetId);
|
|
147
154
|
} }
|
|
148
155
|
function LiveKitRoomResource_Case_2_Template(rf, ctx) { if (rf & 1) {
|
|
156
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
157
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 24)(2, "div", 8);
|
|
158
|
+
i0.ɵɵelement(3, "i", 9);
|
|
159
|
+
i0.ɵɵelementEnd();
|
|
160
|
+
i0.ɵɵelementStart(4, "h2", 10);
|
|
161
|
+
i0.ɵɵtext(5, "Meet");
|
|
162
|
+
i0.ɵɵelementEnd();
|
|
163
|
+
i0.ɵɵelementStart(6, "p", 11);
|
|
164
|
+
i0.ɵɵtext(7, "Start a live room with agents and people, join one that's in progress, or review a past meeting.");
|
|
165
|
+
i0.ɵɵelementEnd();
|
|
166
|
+
i0.ɵɵelementStart(8, "div", 25)(9, "button", 26);
|
|
167
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_2_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.startNewRoom()); });
|
|
168
|
+
i0.ɵɵelement(10, "i", 27);
|
|
169
|
+
i0.ɵɵelementStart(11, "span", 28);
|
|
170
|
+
i0.ɵɵtext(12, "New room");
|
|
171
|
+
i0.ɵɵelementEnd();
|
|
172
|
+
i0.ɵɵelementStart(13, "span", 29);
|
|
173
|
+
i0.ɵɵtext(14, "Pick an agent and start a fresh call.");
|
|
174
|
+
i0.ɵɵelementEnd()();
|
|
175
|
+
i0.ɵɵelementStart(15, "button", 26);
|
|
176
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_2_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openExisting()); });
|
|
177
|
+
i0.ɵɵelement(16, "i", 30);
|
|
178
|
+
i0.ɵɵelementStart(17, "span", 28);
|
|
179
|
+
i0.ɵɵtext(18, "Join existing");
|
|
180
|
+
i0.ɵɵelementEnd();
|
|
181
|
+
i0.ɵɵelementStart(19, "span", 29);
|
|
182
|
+
i0.ɵɵtext(20, "Hop into a room that's live right now.");
|
|
183
|
+
i0.ɵɵelementEnd()();
|
|
184
|
+
i0.ɵɵelementStart(21, "button", 26);
|
|
185
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_2_Template_button_click_21_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openHistory()); });
|
|
186
|
+
i0.ɵɵelement(22, "i", 31);
|
|
187
|
+
i0.ɵɵelementStart(23, "span", 28);
|
|
188
|
+
i0.ɵɵtext(24, "History");
|
|
189
|
+
i0.ɵɵelementEnd();
|
|
190
|
+
i0.ɵɵelementStart(25, "span", 29);
|
|
191
|
+
i0.ɵɵtext(26, "Read transcripts of past meetings.");
|
|
192
|
+
i0.ɵɵelementEnd()()()()();
|
|
193
|
+
} }
|
|
194
|
+
function LiveKitRoomResource_Case_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
195
|
+
i0.ɵɵelementStart(0, "div", 32);
|
|
196
|
+
i0.ɵɵelement(1, "i", 38);
|
|
197
|
+
i0.ɵɵtext(2, " Finding active rooms\u2026");
|
|
198
|
+
i0.ɵɵelementEnd();
|
|
199
|
+
} }
|
|
200
|
+
function LiveKitRoomResource_Case_3_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
201
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
202
|
+
i0.ɵɵelementStart(0, "button", 40);
|
|
203
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_3_Conditional_8_For_2_Template_button_click_0_listener() { const r_r12 = i0.ɵɵrestoreView(_r11).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.joinExistingRoom(r_r12.RoomName)); });
|
|
204
|
+
i0.ɵɵelementStart(1, "span", 41);
|
|
205
|
+
i0.ɵɵelement(2, "i", 42);
|
|
206
|
+
i0.ɵɵtext(3);
|
|
207
|
+
i0.ɵɵelementEnd();
|
|
208
|
+
i0.ɵɵelementStart(4, "span", 43);
|
|
209
|
+
i0.ɵɵtext(5);
|
|
210
|
+
i0.ɵɵelementEnd()();
|
|
211
|
+
} if (rf & 2) {
|
|
212
|
+
const r_r12 = ctx.$implicit;
|
|
213
|
+
i0.ɵɵadvance(3);
|
|
214
|
+
i0.ɵɵtextInterpolate1(" ", r_r12.Label);
|
|
215
|
+
i0.ɵɵadvance(2);
|
|
216
|
+
i0.ɵɵtextInterpolate2("", r_r12.AgentCount, " agent", r_r12.AgentCount === 1 ? "" : "s", " \u00B7 Join");
|
|
217
|
+
} }
|
|
218
|
+
function LiveKitRoomResource_Case_3_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
219
|
+
i0.ɵɵelementStart(0, "div", 33);
|
|
220
|
+
i0.ɵɵrepeaterCreate(1, LiveKitRoomResource_Case_3_Conditional_8_For_2_Template, 6, 3, "button", 39, _forTrack2);
|
|
221
|
+
i0.ɵɵelementEnd();
|
|
222
|
+
} if (rf & 2) {
|
|
223
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
224
|
+
i0.ɵɵadvance();
|
|
225
|
+
i0.ɵɵrepeater(ctx_r1.activeRooms);
|
|
226
|
+
} }
|
|
227
|
+
function LiveKitRoomResource_Case_3_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
228
|
+
i0.ɵɵelementStart(0, "p", 15);
|
|
229
|
+
i0.ɵɵtext(1, "No rooms are active right now.");
|
|
230
|
+
i0.ɵɵelementEnd();
|
|
231
|
+
} }
|
|
232
|
+
function LiveKitRoomResource_Case_3_Template(rf, ctx) { if (rf & 1) {
|
|
233
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
234
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 24)(2, "button", 6);
|
|
235
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_3_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.backToLanding()); });
|
|
236
|
+
i0.ɵɵelement(3, "i", 7);
|
|
237
|
+
i0.ɵɵtext(4, " Back");
|
|
238
|
+
i0.ɵɵelementEnd();
|
|
239
|
+
i0.ɵɵelementStart(5, "h2", 10);
|
|
240
|
+
i0.ɵɵtext(6, "Join a room");
|
|
241
|
+
i0.ɵɵelementEnd();
|
|
242
|
+
i0.ɵɵconditionalCreate(7, LiveKitRoomResource_Case_3_Conditional_7_Template, 3, 0, "div", 32)(8, LiveKitRoomResource_Case_3_Conditional_8_Template, 3, 0, "div", 33)(9, LiveKitRoomResource_Case_3_Conditional_9_Template, 2, 0, "p", 15);
|
|
243
|
+
i0.ɵɵelementStart(10, "label", 34);
|
|
244
|
+
i0.ɵɵtext(11, "Or join by name");
|
|
245
|
+
i0.ɵɵelementEnd();
|
|
246
|
+
i0.ɵɵelementStart(12, "div", 35)(13, "input", 36);
|
|
247
|
+
i0.ɵɵlistener("input", function LiveKitRoomResource_Case_3_Template_input_input_13_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.manualRoomName = $event.target.value); })("keydown.enter", function LiveKitRoomResource_Case_3_Template_input_keydown_enter_13_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.joinExistingRoom(ctx_r1.manualRoomName)); });
|
|
248
|
+
i0.ɵɵelementEnd();
|
|
249
|
+
i0.ɵɵelementStart(14, "button", 37);
|
|
250
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_3_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.joinExistingRoom(ctx_r1.manualRoomName)); });
|
|
251
|
+
i0.ɵɵtext(15, "Join");
|
|
252
|
+
i0.ɵɵelementEnd()()()();
|
|
253
|
+
} if (rf & 2) {
|
|
254
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
255
|
+
i0.ɵɵadvance(7);
|
|
256
|
+
i0.ɵɵconditional(ctx_r1.loadingActive ? 7 : ctx_r1.activeRooms.length ? 8 : 9);
|
|
257
|
+
i0.ɵɵadvance(6);
|
|
258
|
+
i0.ɵɵproperty("value", ctx_r1.manualRoomName);
|
|
259
|
+
i0.ɵɵadvance();
|
|
260
|
+
i0.ɵɵproperty("disabled", !ctx_r1.manualRoomName.trim());
|
|
261
|
+
} }
|
|
262
|
+
function LiveKitRoomResource_Case_4_Conditional_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
263
|
+
i0.ɵɵelementStart(0, "div", 32);
|
|
264
|
+
i0.ɵɵelement(1, "i", 38);
|
|
265
|
+
i0.ɵɵtext(2, " Loading\u2026");
|
|
266
|
+
i0.ɵɵelementEnd();
|
|
267
|
+
} }
|
|
268
|
+
function LiveKitRoomResource_Case_4_Conditional_2_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
269
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
270
|
+
i0.ɵɵelementStart(0, "button", 40);
|
|
271
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_4_Conditional_2_Conditional_6_For_2_Template_button_click_0_listener() { const h_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.openTranscript(h_r15)); });
|
|
272
|
+
i0.ɵɵelementStart(1, "span", 41);
|
|
273
|
+
i0.ɵɵelement(2, "i", 44);
|
|
274
|
+
i0.ɵɵtext(3);
|
|
275
|
+
i0.ɵɵelementEnd();
|
|
276
|
+
i0.ɵɵelementStart(4, "span", 43);
|
|
277
|
+
i0.ɵɵtext(5);
|
|
278
|
+
i0.ɵɵelementEnd()();
|
|
279
|
+
} if (rf & 2) {
|
|
280
|
+
const h_r15 = ctx.$implicit;
|
|
281
|
+
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
282
|
+
i0.ɵɵadvance(3);
|
|
283
|
+
i0.ɵɵtextInterpolate1(" ", h_r15.Name);
|
|
284
|
+
i0.ɵɵadvance(2);
|
|
285
|
+
i0.ɵɵtextInterpolate(ctx_r1.formatTime(h_r15.At));
|
|
286
|
+
} }
|
|
287
|
+
function LiveKitRoomResource_Case_4_Conditional_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
288
|
+
i0.ɵɵelementStart(0, "div", 33);
|
|
289
|
+
i0.ɵɵrepeaterCreate(1, LiveKitRoomResource_Case_4_Conditional_2_Conditional_6_For_2_Template, 6, 2, "button", 39, _forTrack3);
|
|
290
|
+
i0.ɵɵelementEnd();
|
|
291
|
+
} if (rf & 2) {
|
|
292
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
293
|
+
i0.ɵɵadvance();
|
|
294
|
+
i0.ɵɵrepeater(ctx_r1.historyRooms);
|
|
295
|
+
} }
|
|
296
|
+
function LiveKitRoomResource_Case_4_Conditional_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
297
|
+
i0.ɵɵelementStart(0, "p", 15);
|
|
298
|
+
i0.ɵɵtext(1, "No past meetings yet.");
|
|
299
|
+
i0.ɵɵelementEnd();
|
|
300
|
+
} }
|
|
301
|
+
function LiveKitRoomResource_Case_4_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
302
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
303
|
+
i0.ɵɵelementStart(0, "button", 6);
|
|
304
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_4_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.backToLanding()); });
|
|
305
|
+
i0.ɵɵelement(1, "i", 7);
|
|
306
|
+
i0.ɵɵtext(2, " Back");
|
|
307
|
+
i0.ɵɵelementEnd();
|
|
308
|
+
i0.ɵɵelementStart(3, "h2", 10);
|
|
309
|
+
i0.ɵɵtext(4, "Past meetings");
|
|
310
|
+
i0.ɵɵelementEnd();
|
|
311
|
+
i0.ɵɵconditionalCreate(5, LiveKitRoomResource_Case_4_Conditional_2_Conditional_5_Template, 3, 0, "div", 32)(6, LiveKitRoomResource_Case_4_Conditional_2_Conditional_6_Template, 3, 0, "div", 33)(7, LiveKitRoomResource_Case_4_Conditional_2_Conditional_7_Template, 2, 0, "p", 15);
|
|
312
|
+
} if (rf & 2) {
|
|
313
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
314
|
+
i0.ɵɵadvance(5);
|
|
315
|
+
i0.ɵɵconditional(ctx_r1.loadingHistory ? 5 : ctx_r1.historyRooms.length ? 6 : 7);
|
|
316
|
+
} }
|
|
317
|
+
function LiveKitRoomResource_Case_4_Conditional_3_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
318
|
+
i0.ɵɵelementStart(0, "div", 32);
|
|
319
|
+
i0.ɵɵelement(1, "i", 38);
|
|
320
|
+
i0.ɵɵtext(2, " Loading transcript\u2026");
|
|
321
|
+
i0.ɵɵelementEnd();
|
|
322
|
+
} }
|
|
323
|
+
function LiveKitRoomResource_Case_4_Conditional_3_Conditional_6_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
324
|
+
i0.ɵɵelementStart(0, "div", 47)(1, "span", 48);
|
|
325
|
+
i0.ɵɵtext(2);
|
|
326
|
+
i0.ɵɵelementEnd();
|
|
327
|
+
i0.ɵɵelementStart(3, "span", 49);
|
|
328
|
+
i0.ɵɵtext(4);
|
|
329
|
+
i0.ɵɵelementEnd()();
|
|
330
|
+
} if (rf & 2) {
|
|
331
|
+
const line_r17 = ctx.$implicit;
|
|
332
|
+
i0.ɵɵclassProp("mj-lk-tline--agent", line_r17.Kind === "agent")("mj-lk-tline--error", line_r17.Kind === "error");
|
|
333
|
+
i0.ɵɵadvance(2);
|
|
334
|
+
i0.ɵɵtextInterpolate(line_r17.Speaker);
|
|
335
|
+
i0.ɵɵadvance(2);
|
|
336
|
+
i0.ɵɵtextInterpolate(line_r17.Message);
|
|
337
|
+
} }
|
|
338
|
+
function LiveKitRoomResource_Case_4_Conditional_3_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
339
|
+
i0.ɵɵelementStart(0, "div", 45);
|
|
340
|
+
i0.ɵɵrepeaterCreate(1, LiveKitRoomResource_Case_4_Conditional_3_Conditional_6_For_2_Template, 5, 6, "div", 46, i0.ɵɵrepeaterTrackByIndex);
|
|
341
|
+
i0.ɵɵelementEnd();
|
|
342
|
+
} if (rf & 2) {
|
|
343
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
344
|
+
i0.ɵɵadvance();
|
|
345
|
+
i0.ɵɵrepeater(ctx_r1.historyTranscript);
|
|
346
|
+
} }
|
|
347
|
+
function LiveKitRoomResource_Case_4_Conditional_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
348
|
+
i0.ɵɵelementStart(0, "p", 15);
|
|
349
|
+
i0.ɵɵtext(1, "No transcript was captured for this meeting.");
|
|
350
|
+
i0.ɵɵelementEnd();
|
|
351
|
+
} }
|
|
352
|
+
function LiveKitRoomResource_Case_4_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
353
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
354
|
+
i0.ɵɵelementStart(0, "button", 6);
|
|
355
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Case_4_Conditional_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.closeTranscript()); });
|
|
356
|
+
i0.ɵɵelement(1, "i", 7);
|
|
357
|
+
i0.ɵɵtext(2, " All meetings");
|
|
358
|
+
i0.ɵɵelementEnd();
|
|
359
|
+
i0.ɵɵelementStart(3, "h2", 10);
|
|
360
|
+
i0.ɵɵtext(4);
|
|
361
|
+
i0.ɵɵelementEnd();
|
|
362
|
+
i0.ɵɵconditionalCreate(5, LiveKitRoomResource_Case_4_Conditional_3_Conditional_5_Template, 3, 0, "div", 32)(6, LiveKitRoomResource_Case_4_Conditional_3_Conditional_6_Template, 3, 0, "div", 45)(7, LiveKitRoomResource_Case_4_Conditional_3_Conditional_7_Template, 2, 0, "p", 15);
|
|
363
|
+
} if (rf & 2) {
|
|
364
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
365
|
+
i0.ɵɵadvance(4);
|
|
366
|
+
i0.ɵɵtextInterpolate(ctx_r1.openHistoryRoom.Name);
|
|
367
|
+
i0.ɵɵadvance();
|
|
368
|
+
i0.ɵɵconditional(ctx_r1.loadingTranscript ? 5 : ctx_r1.historyTranscript.length ? 6 : 7);
|
|
369
|
+
} }
|
|
370
|
+
function LiveKitRoomResource_Case_4_Template(rf, ctx) { if (rf & 1) {
|
|
371
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 24);
|
|
372
|
+
i0.ɵɵconditionalCreate(2, LiveKitRoomResource_Case_4_Conditional_2_Template, 8, 1)(3, LiveKitRoomResource_Case_4_Conditional_3_Template, 8, 2);
|
|
373
|
+
i0.ɵɵelementEnd()();
|
|
374
|
+
} if (rf & 2) {
|
|
375
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
376
|
+
i0.ɵɵadvance(2);
|
|
377
|
+
i0.ɵɵconditional(!ctx_r1.openHistoryRoom ? 2 : 3);
|
|
378
|
+
} }
|
|
379
|
+
function LiveKitRoomResource_Case_5_Template(rf, ctx) { if (rf & 1) {
|
|
149
380
|
i0.ɵɵelementStart(0, "div", 2);
|
|
150
|
-
i0.ɵɵelement(1, "i",
|
|
381
|
+
i0.ɵɵelement(1, "i", 50);
|
|
151
382
|
i0.ɵɵelementStart(2, "span");
|
|
152
383
|
i0.ɵɵtext(3);
|
|
153
384
|
i0.ɵɵelementEnd()();
|
|
@@ -156,74 +387,74 @@ function LiveKitRoomResource_Case_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
156
387
|
i0.ɵɵadvance(3);
|
|
157
388
|
i0.ɵɵtextInterpolate(ctx_r1.resolveError);
|
|
158
389
|
} }
|
|
159
|
-
function
|
|
390
|
+
function LiveKitRoomResource_Case_6_Template(rf, ctx) { if (rf & 1) {
|
|
160
391
|
i0.ɵɵelementStart(0, "div", 2);
|
|
161
392
|
i0.ɵɵtext(1, "Preparing room\u2026");
|
|
162
393
|
i0.ɵɵelementEnd();
|
|
163
394
|
} }
|
|
164
|
-
function
|
|
165
|
-
const
|
|
166
|
-
i0.ɵɵelementStart(0, "span",
|
|
395
|
+
function LiveKitRoomResource_Conditional_7_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
396
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
397
|
+
i0.ɵɵelementStart(0, "span", 65);
|
|
167
398
|
i0.ɵɵtext(1);
|
|
168
|
-
i0.ɵɵelementStart(2, "button",
|
|
169
|
-
i0.ɵɵlistener("click", function
|
|
170
|
-
i0.ɵɵelement(3, "i",
|
|
399
|
+
i0.ɵɵelementStart(2, "button", 66);
|
|
400
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Conditional_7_Conditional_8_For_2_Template_button_click_2_listener() { const u_r20 = i0.ɵɵrestoreView(_r19).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.removeInvitee(u_r20.ID)); });
|
|
401
|
+
i0.ɵɵelement(3, "i", 67);
|
|
171
402
|
i0.ɵɵelementEnd()();
|
|
172
403
|
} if (rf & 2) {
|
|
173
|
-
const
|
|
404
|
+
const u_r20 = ctx.$implicit;
|
|
174
405
|
i0.ɵɵadvance();
|
|
175
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
406
|
+
i0.ɵɵtextInterpolate1(" ", u_r20.Name, " ");
|
|
176
407
|
} }
|
|
177
|
-
function
|
|
178
|
-
i0.ɵɵelementStart(0, "div",
|
|
179
|
-
i0.ɵɵrepeaterCreate(1,
|
|
408
|
+
function LiveKitRoomResource_Conditional_7_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
409
|
+
i0.ɵɵelementStart(0, "div", 58);
|
|
410
|
+
i0.ɵɵrepeaterCreate(1, LiveKitRoomResource_Conditional_7_Conditional_8_For_2_Template, 4, 1, "span", 65, _forTrack0);
|
|
180
411
|
i0.ɵɵelementEnd();
|
|
181
412
|
} if (rf & 2) {
|
|
182
413
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
183
414
|
i0.ɵɵadvance();
|
|
184
415
|
i0.ɵɵrepeater(ctx_r1.selectedInvitees);
|
|
185
416
|
} }
|
|
186
|
-
function
|
|
187
|
-
i0.ɵɵelementStart(0, "span",
|
|
417
|
+
function LiveKitRoomResource_Conditional_7_Conditional_9_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
418
|
+
i0.ɵɵelementStart(0, "span", 71);
|
|
188
419
|
i0.ɵɵtext(1);
|
|
189
420
|
i0.ɵɵelementEnd();
|
|
190
421
|
} if (rf & 2) {
|
|
191
|
-
const
|
|
422
|
+
const u_r22 = i0.ɵɵnextContext().$implicit;
|
|
192
423
|
i0.ɵɵadvance();
|
|
193
|
-
i0.ɵɵtextInterpolate(
|
|
424
|
+
i0.ɵɵtextInterpolate(u_r22.Email);
|
|
194
425
|
} }
|
|
195
|
-
function
|
|
196
|
-
const
|
|
197
|
-
i0.ɵɵelementStart(0, "button",
|
|
198
|
-
i0.ɵɵlistener("click", function
|
|
199
|
-
i0.ɵɵelementStart(1, "span",
|
|
426
|
+
function LiveKitRoomResource_Conditional_7_Conditional_9_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
427
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
428
|
+
i0.ɵɵelementStart(0, "button", 69);
|
|
429
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Conditional_7_Conditional_9_For_2_Template_button_click_0_listener() { const u_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addInvitee(u_r22)); });
|
|
430
|
+
i0.ɵɵelementStart(1, "span", 70);
|
|
200
431
|
i0.ɵɵtext(2);
|
|
201
432
|
i0.ɵɵelementEnd();
|
|
202
|
-
i0.ɵɵconditionalCreate(3,
|
|
433
|
+
i0.ɵɵconditionalCreate(3, LiveKitRoomResource_Conditional_7_Conditional_9_For_2_Conditional_3_Template, 2, 1, "span", 71);
|
|
203
434
|
i0.ɵɵelementEnd();
|
|
204
435
|
} if (rf & 2) {
|
|
205
|
-
const
|
|
436
|
+
const u_r22 = ctx.$implicit;
|
|
206
437
|
i0.ɵɵadvance(2);
|
|
207
|
-
i0.ɵɵtextInterpolate(
|
|
438
|
+
i0.ɵɵtextInterpolate(u_r22.Name);
|
|
208
439
|
i0.ɵɵadvance();
|
|
209
|
-
i0.ɵɵconditional(
|
|
440
|
+
i0.ɵɵconditional(u_r22.Email ? 3 : -1);
|
|
210
441
|
} }
|
|
211
|
-
function
|
|
212
|
-
i0.ɵɵelementStart(0, "div",
|
|
213
|
-
i0.ɵɵrepeaterCreate(1,
|
|
442
|
+
function LiveKitRoomResource_Conditional_7_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
443
|
+
i0.ɵɵelementStart(0, "div", 59);
|
|
444
|
+
i0.ɵɵrepeaterCreate(1, LiveKitRoomResource_Conditional_7_Conditional_9_For_2_Template, 4, 2, "button", 68, _forTrack0);
|
|
214
445
|
i0.ɵɵelementEnd();
|
|
215
446
|
} if (rf & 2) {
|
|
216
447
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
217
448
|
i0.ɵɵadvance();
|
|
218
449
|
i0.ɵɵrepeater(ctx_r1.userResults);
|
|
219
450
|
} }
|
|
220
|
-
function
|
|
221
|
-
i0.ɵɵelementStart(0, "div",
|
|
451
|
+
function LiveKitRoomResource_Conditional_7_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
452
|
+
i0.ɵɵelementStart(0, "div", 60);
|
|
222
453
|
i0.ɵɵtext(1, "No matching people.");
|
|
223
454
|
i0.ɵɵelementEnd();
|
|
224
455
|
} }
|
|
225
|
-
function
|
|
226
|
-
i0.ɵɵelementStart(0, "div",
|
|
456
|
+
function LiveKitRoomResource_Conditional_7_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
457
|
+
i0.ɵɵelementStart(0, "div", 61);
|
|
227
458
|
i0.ɵɵtext(1);
|
|
228
459
|
i0.ɵɵelementEnd();
|
|
229
460
|
} if (rf & 2) {
|
|
@@ -231,30 +462,30 @@ function LiveKitRoomResource_Conditional_4_Conditional_11_Template(rf, ctx) { if
|
|
|
231
462
|
i0.ɵɵadvance();
|
|
232
463
|
i0.ɵɵtextInterpolate(ctx_r1.inviteMessage);
|
|
233
464
|
} }
|
|
234
|
-
function
|
|
235
|
-
const
|
|
236
|
-
i0.ɵɵelementStart(0, "mj-dialog",
|
|
237
|
-
i0.ɵɵlistener("Close", function
|
|
238
|
-
i0.ɵɵelementStart(1, "div",
|
|
465
|
+
function LiveKitRoomResource_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
466
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
467
|
+
i0.ɵɵelementStart(0, "mj-dialog", 51);
|
|
468
|
+
i0.ɵɵlistener("Close", function LiveKitRoomResource_Conditional_7_Template_mj_dialog_Close_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showInvite = false); });
|
|
469
|
+
i0.ɵɵelementStart(1, "div", 52)(2, "p", 53);
|
|
239
470
|
i0.ɵɵtext(3, "They'll get an in-app notification (and an email if Comms is set up) to join this room.");
|
|
240
471
|
i0.ɵɵelementEnd();
|
|
241
|
-
i0.ɵɵelementStart(4, "div",
|
|
242
|
-
i0.ɵɵlistener("input", function
|
|
472
|
+
i0.ɵɵelementStart(4, "div", 54)(5, "input", 55);
|
|
473
|
+
i0.ɵɵlistener("input", function LiveKitRoomResource_Conditional_7_Template_input_input_5_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.userSearch = $event.target.value); })("keydown.enter", function LiveKitRoomResource_Conditional_7_Template_input_keydown_enter_5_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.searchUsers()); });
|
|
243
474
|
i0.ɵɵelementEnd();
|
|
244
|
-
i0.ɵɵelementStart(6, "button",
|
|
245
|
-
i0.ɵɵlistener("click", function
|
|
246
|
-
i0.ɵɵelement(7, "i",
|
|
475
|
+
i0.ɵɵelementStart(6, "button", 56);
|
|
476
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Conditional_7_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.searchUsers()); });
|
|
477
|
+
i0.ɵɵelement(7, "i", 57);
|
|
247
478
|
i0.ɵɵelementEnd()();
|
|
248
|
-
i0.ɵɵconditionalCreate(8,
|
|
249
|
-
i0.ɵɵconditionalCreate(9,
|
|
250
|
-
i0.ɵɵconditionalCreate(11,
|
|
251
|
-
i0.ɵɵelementStart(12, "div",
|
|
252
|
-
i0.ɵɵlistener("click", function
|
|
253
|
-
i0.ɵɵelement(14, "i",
|
|
479
|
+
i0.ɵɵconditionalCreate(8, LiveKitRoomResource_Conditional_7_Conditional_8_Template, 3, 0, "div", 58);
|
|
480
|
+
i0.ɵɵconditionalCreate(9, LiveKitRoomResource_Conditional_7_Conditional_9_Template, 3, 0, "div", 59)(10, LiveKitRoomResource_Conditional_7_Conditional_10_Template, 2, 0, "div", 60);
|
|
481
|
+
i0.ɵɵconditionalCreate(11, LiveKitRoomResource_Conditional_7_Conditional_11_Template, 2, 1, "div", 61);
|
|
482
|
+
i0.ɵɵelementStart(12, "div", 62)(13, "button", 63);
|
|
483
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Conditional_7_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.sendInvites()); });
|
|
484
|
+
i0.ɵɵelement(14, "i", 57);
|
|
254
485
|
i0.ɵɵtext(15);
|
|
255
486
|
i0.ɵɵelementEnd();
|
|
256
|
-
i0.ɵɵelementStart(16, "button",
|
|
257
|
-
i0.ɵɵlistener("click", function
|
|
487
|
+
i0.ɵɵelementStart(16, "button", 64);
|
|
488
|
+
i0.ɵɵlistener("click", function LiveKitRoomResource_Conditional_7_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r18); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.showInvite = false); });
|
|
258
489
|
i0.ɵɵtext(17, "Cancel");
|
|
259
490
|
i0.ɵɵelementEnd()()()();
|
|
260
491
|
} if (rf & 2) {
|
|
@@ -291,8 +522,26 @@ function LiveKitRoomResource_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
291
522
|
* Registered via `@RegisterClass(BaseResourceComponent, 'LiveKitRoomResource')`.
|
|
292
523
|
*/
|
|
293
524
|
let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponent {
|
|
294
|
-
/** Render phase: spinner while resolving →
|
|
525
|
+
/** Render phase: spinner while resolving → landing (new/existing/history) → picker/existing/history → live room. */
|
|
295
526
|
phase = 'loading';
|
|
527
|
+
// ── "Join existing" state ─────────────────────────────────────────────────────────
|
|
528
|
+
/** Currently-active rooms (a distinct `ExternalConnectionID` with ≥1 connected agent bridge). */
|
|
529
|
+
activeRooms = [];
|
|
530
|
+
/** True while loading the active-rooms list. */
|
|
531
|
+
loadingActive = false;
|
|
532
|
+
/** Free-text room name to join directly (the "join by name/code" path). */
|
|
533
|
+
manualRoomName = '';
|
|
534
|
+
// ── "History" (past meetings) state ───────────────────────────────────────────────
|
|
535
|
+
/** Past meeting rooms (the `MJ: Conversations` of Type='Meeting Room' the bridge recorded). */
|
|
536
|
+
historyRooms = [];
|
|
537
|
+
/** True while loading the history list. */
|
|
538
|
+
loadingHistory = false;
|
|
539
|
+
/** The history room whose transcript is open (drill-in), or null for the list. */
|
|
540
|
+
openHistoryRoom = null;
|
|
541
|
+
/** The opened room's transcript lines. */
|
|
542
|
+
historyTranscript = [];
|
|
543
|
+
/** True while loading a room's transcript. */
|
|
544
|
+
loadingTranscript = false;
|
|
296
545
|
/** `'agent'` to start/voice an agent (the default), or `'join'` when opened from an invite link. */
|
|
297
546
|
roomMode = 'agent';
|
|
298
547
|
/** The room to JOIN when opened via an invite link (`?room=…`); null in agent mode. */
|
|
@@ -421,9 +670,162 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
|
|
|
421
670
|
// Default the picker to the general assistant "Sage" when present, else the first candidate.
|
|
422
671
|
this.selectedTargetId =
|
|
423
672
|
this.agents.find((a) => a.Name.trim().toLowerCase() === 'sage')?.ID ?? this.agents[0]?.ID ?? null;
|
|
424
|
-
|
|
673
|
+
// Land on the Meet home (start new / join existing / history) rather than jumping straight into the picker.
|
|
674
|
+
this.phase = 'landing';
|
|
425
675
|
this.NotifyLoadComplete();
|
|
426
676
|
}
|
|
677
|
+
// ── Meet landing navigation ─────────────────────────────────────────────────────────
|
|
678
|
+
/**
|
|
679
|
+
* The room disconnected (the user clicked **Leave** or **End meeting**, or the room dropped). Return to the
|
|
680
|
+
* Meet landing so they can start a new room, join another, or review history — rather than being stranded
|
|
681
|
+
* on a dead room. Resets the join state so the next "New room" / "Join existing" starts clean.
|
|
682
|
+
*/
|
|
683
|
+
onRoomLeft() {
|
|
684
|
+
this.roomMode = 'agent';
|
|
685
|
+
this.joinRoomName = null;
|
|
686
|
+
this.phase = 'landing';
|
|
687
|
+
this.cdr.detectChanges();
|
|
688
|
+
}
|
|
689
|
+
/** Go to the "start a new room" picker. */
|
|
690
|
+
startNewRoom() {
|
|
691
|
+
this.phase = 'picking';
|
|
692
|
+
}
|
|
693
|
+
/** Open the "join existing room" view and load the active rooms. */
|
|
694
|
+
openExisting() {
|
|
695
|
+
this.phase = 'existing';
|
|
696
|
+
void this.loadActiveRooms();
|
|
697
|
+
}
|
|
698
|
+
/** Open the "past meetings" history view and load the list. */
|
|
699
|
+
openHistory() {
|
|
700
|
+
this.phase = 'history';
|
|
701
|
+
this.openHistoryRoom = null;
|
|
702
|
+
void this.loadHistory();
|
|
703
|
+
}
|
|
704
|
+
/** Back to the Meet home. */
|
|
705
|
+
backToLanding() {
|
|
706
|
+
this.phase = 'landing';
|
|
707
|
+
}
|
|
708
|
+
/** Joins an existing room by its LiveKit room name (the bridge `ExternalConnectionID`). */
|
|
709
|
+
joinExistingRoom(roomName) {
|
|
710
|
+
const name = roomName.trim();
|
|
711
|
+
if (!name) {
|
|
712
|
+
return;
|
|
713
|
+
}
|
|
714
|
+
this.roomMode = 'join';
|
|
715
|
+
this.joinRoomName = name;
|
|
716
|
+
this.phase = 'live';
|
|
717
|
+
}
|
|
718
|
+
/** Loads currently-active rooms: distinct rooms that have a Connected/Connecting agent bridge. */
|
|
719
|
+
async loadActiveRooms() {
|
|
720
|
+
this.loadingActive = true;
|
|
721
|
+
this.activeRooms = [];
|
|
722
|
+
try {
|
|
723
|
+
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
724
|
+
const res = await rv.RunView({
|
|
725
|
+
EntityName: 'MJ: AI Agent Session Bridges',
|
|
726
|
+
ExtraFilter: `Status IN ('Connected','Connecting') AND ExternalConnectionID IS NOT NULL`,
|
|
727
|
+
Fields: ['ExternalConnectionID', 'Agent'],
|
|
728
|
+
OrderBy: '__mj_CreatedAt DESC',
|
|
729
|
+
MaxRows: 500,
|
|
730
|
+
ResultType: 'simple',
|
|
731
|
+
}, this.ProviderToUse.CurrentUser);
|
|
732
|
+
if (res.Success) {
|
|
733
|
+
const byRoom = new Map();
|
|
734
|
+
for (const r of res.Results) {
|
|
735
|
+
const room = String(r['ExternalConnectionID'] ?? '');
|
|
736
|
+
if (!room) {
|
|
737
|
+
continue;
|
|
738
|
+
}
|
|
739
|
+
const entry = byRoom.get(room) ?? { count: 0, agents: new Set() };
|
|
740
|
+
entry.count += 1;
|
|
741
|
+
if (r['Agent']) {
|
|
742
|
+
entry.agents.add(String(r['Agent']));
|
|
743
|
+
}
|
|
744
|
+
byRoom.set(room, entry);
|
|
745
|
+
}
|
|
746
|
+
this.activeRooms = [...byRoom.entries()].map(([room, info]) => ({
|
|
747
|
+
RoomName: room,
|
|
748
|
+
Label: info.agents.size ? [...info.agents].join(', ') : room,
|
|
749
|
+
AgentCount: info.count,
|
|
750
|
+
}));
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
finally {
|
|
754
|
+
this.loadingActive = false;
|
|
755
|
+
this.cdr.detectChanges();
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
/** Loads past meetings: the `Meeting Room` conversations the bridge recorded, newest first. */
|
|
759
|
+
async loadHistory() {
|
|
760
|
+
this.loadingHistory = true;
|
|
761
|
+
this.historyRooms = [];
|
|
762
|
+
try {
|
|
763
|
+
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
764
|
+
const res = await rv.RunView({
|
|
765
|
+
EntityName: 'MJ: Conversations',
|
|
766
|
+
ExtraFilter: `Type='Meeting Room'`,
|
|
767
|
+
Fields: ['ID', 'Name', '__mj_UpdatedAt'],
|
|
768
|
+
OrderBy: '__mj_UpdatedAt DESC',
|
|
769
|
+
MaxRows: 200,
|
|
770
|
+
ResultType: 'simple',
|
|
771
|
+
}, this.ProviderToUse.CurrentUser);
|
|
772
|
+
if (res.Success) {
|
|
773
|
+
this.historyRooms = res.Results.map((r) => ({
|
|
774
|
+
ConversationID: String(r['ID']),
|
|
775
|
+
Name: String(r['Name'] ?? 'Meeting'),
|
|
776
|
+
At: new Date(String(r['__mj_UpdatedAt'] ?? '')),
|
|
777
|
+
}));
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
finally {
|
|
781
|
+
this.loadingHistory = false;
|
|
782
|
+
this.cdr.detectChanges();
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
/** Opens a past meeting's transcript (drill-in). */
|
|
786
|
+
async openTranscript(room) {
|
|
787
|
+
this.openHistoryRoom = room;
|
|
788
|
+
this.historyTranscript = [];
|
|
789
|
+
this.loadingTranscript = true;
|
|
790
|
+
this.cdr.detectChanges();
|
|
791
|
+
try {
|
|
792
|
+
const rv = RunView.FromMetadataProvider(this.ProviderToUse);
|
|
793
|
+
const res = await rv.RunView({
|
|
794
|
+
EntityName: 'MJ: Conversation Details',
|
|
795
|
+
ExtraFilter: `ConversationID='${room.ConversationID.replace(/'/g, "''")}'`,
|
|
796
|
+
Fields: ['Role', 'Message', 'AgentID', 'Error', '__mj_CreatedAt'],
|
|
797
|
+
OrderBy: '__mj_CreatedAt ASC',
|
|
798
|
+
MaxRows: 5000,
|
|
799
|
+
ResultType: 'simple',
|
|
800
|
+
}, this.ProviderToUse.CurrentUser);
|
|
801
|
+
if (res.Success) {
|
|
802
|
+
this.historyTranscript = res.Results.map((d) => {
|
|
803
|
+
const role = String(d['Role'] ?? 'User');
|
|
804
|
+
if (role === 'Error') {
|
|
805
|
+
return { Kind: 'error', Speaker: 'Error', Message: String(d['Error'] ?? d['Message'] ?? '') };
|
|
806
|
+
}
|
|
807
|
+
if (role === 'AI') {
|
|
808
|
+
const agentId = String(d['AgentID'] ?? '').toLowerCase();
|
|
809
|
+
const name = AIEngineBase.Instance.Agents.find((a) => a.ID.toLowerCase() === agentId)?.Name ?? 'Agent';
|
|
810
|
+
return { Kind: 'agent', Speaker: name, Message: String(d['Message'] ?? '') };
|
|
811
|
+
}
|
|
812
|
+
return { Kind: 'human', Speaker: 'Participant', Message: String(d['Message'] ?? '') };
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
finally {
|
|
817
|
+
this.loadingTranscript = false;
|
|
818
|
+
this.cdr.detectChanges();
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
/** Back to the history list from a transcript drill-in. */
|
|
822
|
+
closeTranscript() {
|
|
823
|
+
this.openHistoryRoom = null;
|
|
824
|
+
}
|
|
825
|
+
/** Formats a meeting timestamp for the history list (avoids a `date` pipe / CommonModule dependency). */
|
|
826
|
+
formatTime(d) {
|
|
827
|
+
return d && !isNaN(d.getTime()) ? d.toLocaleString() : '';
|
|
828
|
+
}
|
|
427
829
|
/** Picker selection handler (native select; avoids a FormsModule dependency). */
|
|
428
830
|
onTargetChange(event) {
|
|
429
831
|
this.selectedTargetId = event.target.value || null;
|
|
@@ -548,15 +950,15 @@ let LiveKitRoomResource = class LiveKitRoomResource extends BaseResourceComponen
|
|
|
548
950
|
return 'fa-solid fa-video';
|
|
549
951
|
}
|
|
550
952
|
static ɵfac = /*@__PURE__*/ (() => { let ɵLiveKitRoomResource_BaseFactory; return function LiveKitRoomResource_Factory(__ngFactoryType__) { return (ɵLiveKitRoomResource_BaseFactory || (ɵLiveKitRoomResource_BaseFactory = i0.ɵɵgetInheritedFactory(LiveKitRoomResource)))(__ngFactoryType__ || LiveKitRoomResource); }; })();
|
|
551
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LiveKitRoomResource, selectors: [["mj-livekit-room-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
552
|
-
i0.ɵɵconditionalCreate(0, LiveKitRoomResource_Case_0_Template, 1, 15, "mj-livekit-agent-room", 0)(1, LiveKitRoomResource_Case_1_Template,
|
|
553
|
-
i0.ɵɵconditionalCreate(
|
|
953
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LiveKitRoomResource, selectors: [["mj-livekit-room-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 2, consts: [[1, "mj-livekit-room-resource", 3, "Mode", "RoomName", "AgentID", "TargetAgentID", "AgentName", "AvailableAgents", "RealtimeModelID", "RealtimeVoice", "CanPickModelVoice", "AvailableModels", "Provider", "ShowAgentState", "ShowWhiteboard", "EnableLayoutSwitcher", "EnablePinning"], [1, "mj-lk-prejoin"], [1, "mj-livekit-room-resource__message"], ["Title", "Invite people", "Size", "auto", 3, "Visible", "Width"], [1, "mj-livekit-room-resource", 3, "Connected", "Disconnected", "ErrorOccurred", "InvitePeopleRequested", "Mode", "RoomName", "AgentID", "TargetAgentID", "AgentName", "AvailableAgents", "RealtimeModelID", "RealtimeVoice", "CanPickModelVoice", "AvailableModels", "Provider", "ShowAgentState", "ShowWhiteboard", "EnableLayoutSwitcher", "EnablePinning"], [1, "mj-lk-prejoin__card"], ["type", "button", 1, "mj-lk-back", 3, "click"], [1, "fa-solid", "fa-arrow-left"], [1, "mj-lk-prejoin__icon"], [1, "fa-solid", "fa-video"], [1, "mj-lk-prejoin__title"], [1, "mj-lk-prejoin__subtitle"], ["for", "mj-lk-target", 1, "mj-lk-prejoin__label"], ["id", "mj-lk-target", 1, "mj-input", "mj-lk-prejoin__select", 3, "change"], [3, "value", "selected"], [1, "mj-lk-prejoin__desc"], ["type", "button", 1, "mj-lk-prejoin__start", 3, "click", "disabled"], [1, "fa-solid", "fa-phone"], ["for", "mj-lk-model", 1, "mj-lk-prejoin__label"], [1, "mj-lk-prejoin__dev"], ["id", "mj-lk-model", 1, "mj-input", "mj-lk-prejoin__select", 3, "change"], ["value", ""], ["for", "mj-lk-voice", 1, "mj-lk-prejoin__label"], ["id", "mj-lk-voice", 1, "mj-input", "mj-lk-prejoin__select", 3, "change"], [1, "mj-lk-prejoin__card", "mj-lk-prejoin__card--wide"], [1, "mj-lk-cards"], ["type", "button", 1, "mj-lk-card", 3, "click"], [1, "fa-solid", "fa-circle-plus"], [1, "mj-lk-card__t"], [1, "mj-lk-card__d"], [1, "fa-solid", "fa-door-open"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "mj-lk-listmsg"], [1, "mj-lk-list"], ["for", "mj-lk-room", 1, "mj-lk-prejoin__label"], [1, "mj-lk-joinrow"], ["id", "mj-lk-room", "type", "text", "placeholder", "Room name\u2026", 1, "mj-input", "mj-lk-joinrow__input", 3, "input", "keydown.enter", "value"], ["type", "button", 1, "mj-lk-prejoin__start", "mj-lk-joinrow__btn", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], ["type", "button", 1, "mj-lk-list__row"], ["type", "button", 1, "mj-lk-list__row", 3, "click"], [1, "mj-lk-list__name"], [1, "fa-solid", "fa-circle", "mj-lk-livedot"], [1, "mj-lk-list__meta"], [1, "fa-solid", "fa-comments"], [1, "mj-lk-transcript"], [1, "mj-lk-tline", 3, "mj-lk-tline--agent", "mj-lk-tline--error"], [1, "mj-lk-tline"], [1, "mj-lk-tline__who"], [1, "mj-lk-tline__msg"], [1, "fa-solid", "fa-circle-exclamation"], ["Title", "Invite people", "Size", "auto", 3, "Close", "Visible", "Width"], [1, "mj-lk-invite"], [1, "mj-lk-invite__hint"], [1, "mj-lk-invite__search"], ["type", "text", "placeholder", "Search people by name or email\u2026", 1, "mj-input", 3, "input", "keydown.enter", "value"], ["type", "button", 1, "mj-lk-invite__searchbtn", 3, "click", "disabled"], [1, "fa-solid"], [1, "mj-lk-invite__chips"], [1, "mj-lk-invite__results"], [1, "mj-lk-invite__empty"], [1, "mj-lk-invite__msg"], [1, "mj-lk-invite__actions"], ["type", "button", 1, "mj-lk-invite__send", 3, "click", "disabled"], ["type", "button", 1, "mj-lk-invite__cancel", 3, "click"], [1, "mj-lk-invite__chip"], ["type", "button", 1, "mj-lk-invite__chipx", 3, "click"], [1, "fa-solid", "fa-xmark"], ["type", "button", 1, "mj-lk-invite__result"], ["type", "button", 1, "mj-lk-invite__result", 3, "click"], [1, "mj-lk-invite__rname"], [1, "mj-lk-invite__remail"]], template: function LiveKitRoomResource_Template(rf, ctx) { if (rf & 1) {
|
|
954
|
+
i0.ɵɵconditionalCreate(0, LiveKitRoomResource_Case_0_Template, 1, 15, "mj-livekit-agent-room", 0)(1, LiveKitRoomResource_Case_1_Template, 21, 3, "div", 1)(2, LiveKitRoomResource_Case_2_Template, 27, 0, "div", 1)(3, LiveKitRoomResource_Case_3_Template, 16, 3, "div", 1)(4, LiveKitRoomResource_Case_4_Template, 4, 1, "div", 1)(5, LiveKitRoomResource_Case_5_Template, 4, 1, "div", 2)(6, LiveKitRoomResource_Case_6_Template, 2, 0, "div", 2);
|
|
955
|
+
i0.ɵɵconditionalCreate(7, LiveKitRoomResource_Conditional_7_Template, 18, 21, "mj-dialog", 3);
|
|
554
956
|
} if (rf & 2) {
|
|
555
957
|
let tmp_0_0;
|
|
556
|
-
i0.ɵɵconditional((tmp_0_0 = ctx.phase) === "live" ? 0 : tmp_0_0 === "picking" ? 1 : tmp_0_0 === "
|
|
557
|
-
i0.ɵɵadvance(
|
|
558
|
-
i0.ɵɵconditional(ctx.showInvite ?
|
|
559
|
-
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i2.MJDialogComponent, i3.MJLiveKitRoomComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n }\n .mj-livekit-room-resource[_ngcontent-%COMP%] {\n display: block;\n height: 100%;\n }\n .mj-livekit-room-resource__message[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n height: 100%;\n padding: 1.5rem;\n text-align: center;\n color: var(--mj-text-secondary);\n }\n .mj-livekit-room-resource__message[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n }\n .mj-lk-prejoin[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 1.5rem;\n background: var(--mj-bg-page);\n }\n .mj-lk-prejoin__card[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 440px;\n padding: 2rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg, 12px);\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.12));\n text-align: center;\n }\n .mj-lk-prejoin__icon[_ngcontent-%COMP%] {\n font-size: 1.75rem;\n color: var(--mj-brand-primary);\n margin-bottom: 0.75rem;\n }\n .mj-lk-prejoin__title[_ngcontent-%COMP%] {\n margin: 0 0 0.5rem;\n color: var(--mj-text-primary);\n font-size: 1.25rem;\n }\n .mj-lk-prejoin__subtitle[_ngcontent-%COMP%] {\n margin: 0 0 1.5rem;\n color: var(--mj-text-secondary);\n font-size: 0.875rem;\n line-height: 1.4;\n }\n .mj-lk-prejoin__label[_ngcontent-%COMP%] {\n display: block;\n text-align: left;\n margin-bottom: 0.35rem;\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n font-weight: 600;\n }\n .mj-lk-prejoin__dev[_ngcontent-%COMP%] {\n margin-left: 0.35rem;\n padding: 0 0.35rem;\n border-radius: 999px;\n font-size: 0.625rem;\n font-weight: 700;\n text-transform: uppercase;\n color: var(--mj-text-inverse);\n background: var(--mj-brand-primary);\n vertical-align: middle;\n }\n .mj-lk-prejoin__select[_ngcontent-%COMP%] {\n width: 100%;\n margin-bottom: 0.75rem;\n }\n .mj-lk-prejoin__desc[_ngcontent-%COMP%] {\n text-align: left;\n margin: 0 0 1.25rem;\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n line-height: 1.4;\n }\n .mj-lk-prejoin__start[_ngcontent-%COMP%] {\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n padding: 0.625rem 1rem;\n border: none;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n font-size: 0.9375rem;\n font-weight: 600;\n cursor: pointer;\n }\n .mj-lk-prejoin__start[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n .mj-lk-prejoin__start[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .mj-lk-invite[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n min-width: 360px;\n padding: 0.25rem;\n }\n .mj-lk-invite__hint[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n }\n .mj-lk-invite__search[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n }\n .mj-lk-invite__search[_ngcontent-%COMP%] .mj-input[_ngcontent-%COMP%] {\n flex: 1;\n }\n .mj-lk-invite__searchbtn[_ngcontent-%COMP%], \n .mj-lk-invite__send[_ngcontent-%COMP%], \n .mj-lk-invite__cancel[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.4rem;\n padding: 0.5rem 0.85rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n cursor: pointer;\n font-size: 0.875rem;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n }\n .mj-lk-invite__send[_ngcontent-%COMP%] {\n border: none;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n .mj-lk-invite__send[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .mj-lk-invite__chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 0.4rem;\n }\n .mj-lk-invite__chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.2rem 0.5rem;\n border-radius: 999px;\n font-size: 0.8125rem;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n }\n .mj-lk-invite__chipx[_ngcontent-%COMP%] {\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--mj-text-muted);\n padding: 0;\n }\n .mj-lk-invite__results[_ngcontent-%COMP%] {\n max-height: 220px;\n overflow-y: auto;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n }\n .mj-lk-invite__result[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.1rem;\n width: 100%;\n padding: 0.5rem 0.75rem;\n border: none;\n border-bottom: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n background: transparent;\n cursor: pointer;\n text-align: left;\n }\n .mj-lk-invite__result[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n }\n .mj-lk-invite__rname[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n font-size: 0.875rem;\n }\n .mj-lk-invite__remail[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.75rem;\n }\n .mj-lk-invite__empty[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n padding: 0.25rem;\n }\n .mj-lk-invite__msg[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n }\n .mj-lk-invite__actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n margin-top: 0.25rem;\n }"] });
|
|
958
|
+
i0.ɵɵconditional((tmp_0_0 = ctx.phase) === "live" ? 0 : tmp_0_0 === "picking" ? 1 : tmp_0_0 === "landing" ? 2 : tmp_0_0 === "existing" ? 3 : tmp_0_0 === "history" ? 4 : tmp_0_0 === "error" ? 5 : 6);
|
|
959
|
+
i0.ɵɵadvance(7);
|
|
960
|
+
i0.ɵɵconditional(ctx.showInvite ? 7 : -1);
|
|
961
|
+
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i2.MJDialogComponent, i3.MJLiveKitRoomComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n }\n .mj-livekit-room-resource[_ngcontent-%COMP%] {\n display: block;\n height: 100%;\n }\n .mj-livekit-room-resource__message[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n height: 100%;\n padding: 1.5rem;\n text-align: center;\n color: var(--mj-text-secondary);\n }\n .mj-livekit-room-resource__message[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n }\n .mj-lk-prejoin[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 1.5rem;\n background: var(--mj-bg-page);\n }\n .mj-lk-prejoin__card[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 440px;\n padding: 2rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg, 12px);\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.12));\n text-align: center;\n }\n .mj-lk-prejoin__icon[_ngcontent-%COMP%] {\n font-size: 1.75rem;\n color: var(--mj-brand-primary);\n margin-bottom: 0.75rem;\n }\n .mj-lk-prejoin__title[_ngcontent-%COMP%] {\n margin: 0 0 0.5rem;\n color: var(--mj-text-primary);\n font-size: 1.25rem;\n }\n .mj-lk-prejoin__subtitle[_ngcontent-%COMP%] {\n margin: 0 0 1.5rem;\n color: var(--mj-text-secondary);\n font-size: 0.875rem;\n line-height: 1.4;\n }\n .mj-lk-prejoin__label[_ngcontent-%COMP%] {\n display: block;\n text-align: left;\n margin-bottom: 0.35rem;\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n font-weight: 600;\n }\n .mj-lk-prejoin__dev[_ngcontent-%COMP%] {\n margin-left: 0.35rem;\n padding: 0 0.35rem;\n border-radius: 999px;\n font-size: 0.625rem;\n font-weight: 700;\n text-transform: uppercase;\n color: var(--mj-text-inverse);\n background: var(--mj-brand-primary);\n vertical-align: middle;\n }\n .mj-lk-prejoin__select[_ngcontent-%COMP%] {\n width: 100%;\n margin-bottom: 0.75rem;\n }\n .mj-lk-prejoin__desc[_ngcontent-%COMP%] {\n text-align: left;\n margin: 0 0 1.25rem;\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n line-height: 1.4;\n }\n .mj-lk-prejoin__start[_ngcontent-%COMP%] {\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n padding: 0.625rem 1rem;\n border: none;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n font-size: 0.9375rem;\n font-weight: 600;\n cursor: pointer;\n }\n .mj-lk-prejoin__start[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n .mj-lk-prejoin__start[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .mj-lk-prejoin__card--wide[_ngcontent-%COMP%] {\n max-width: 560px;\n text-align: left;\n }\n .mj-lk-back[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 0.75rem;\n padding: 4px 8px;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n }\n .mj-lk-back[_ngcontent-%COMP%]:hover { color: var(--mj-text-primary); }\n .mj-lk-cards[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 0.75rem;\n margin-top: 1.25rem;\n }\n .mj-lk-card[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n padding: 1.25rem 0.75rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg, 12px);\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n text-align: center;\n }\n .mj-lk-card[_ngcontent-%COMP%]:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-hover, var(--mj-bg-surface-card));\n }\n .mj-lk-card[_ngcontent-%COMP%] > i[_ngcontent-%COMP%] { font-size: 1.4rem; color: var(--mj-brand-primary); }\n .mj-lk-card__t[_ngcontent-%COMP%] { font-weight: 600; color: var(--mj-text-primary); font-size: 0.9rem; }\n .mj-lk-card__d[_ngcontent-%COMP%] { color: var(--mj-text-muted); font-size: 0.78rem; line-height: 1.3; }\n .mj-lk-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n margin: 0.5rem 0 1rem;\n max-height: 320px;\n overflow-y: auto;\n }\n .mj-lk-list__row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.75rem;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n text-align: left;\n }\n .mj-lk-list__row[_ngcontent-%COMP%]:hover { border-color: var(--mj-brand-primary); background: var(--mj-bg-surface-hover, var(--mj-bg-surface-card)); }\n .mj-lk-list__name[_ngcontent-%COMP%] { color: var(--mj-text-primary); font-size: 0.875rem; display: inline-flex; align-items: center; gap: 8px; }\n .mj-lk-list__meta[_ngcontent-%COMP%] { color: var(--mj-text-muted); font-size: 0.78rem; white-space: nowrap; }\n .mj-lk-livedot[_ngcontent-%COMP%] { color: var(--mj-status-success); font-size: 0.5rem; }\n .mj-lk-listmsg[_ngcontent-%COMP%] { padding: 1rem; color: var(--mj-text-secondary); text-align: center; }\n .mj-lk-joinrow[_ngcontent-%COMP%] { display: flex; gap: 8px; }\n .mj-lk-joinrow__input[_ngcontent-%COMP%] { flex: 1; }\n .mj-lk-joinrow__btn[_ngcontent-%COMP%] { white-space: nowrap; }\n .mj-lk-transcript[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 0.5rem;\n max-height: 60vh;\n overflow-y: auto;\n }\n .mj-lk-tline[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 8px 10px;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n }\n .mj-lk-tline--agent[_ngcontent-%COMP%] { background: color-mix(in srgb, var(--mj-brand-primary) 8%, var(--mj-bg-surface)); }\n .mj-lk-tline--error[_ngcontent-%COMP%] { background: var(--mj-status-error-bg, color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface))); }\n .mj-lk-tline__who[_ngcontent-%COMP%] { font-size: 0.72rem; font-weight: 600; color: var(--mj-text-secondary); }\n .mj-lk-tline__msg[_ngcontent-%COMP%] { font-size: 0.875rem; color: var(--mj-text-primary); }\n .mj-lk-invite[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n min-width: 360px;\n padding: 0.25rem;\n }\n .mj-lk-invite__hint[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n }\n .mj-lk-invite__search[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n }\n .mj-lk-invite__search[_ngcontent-%COMP%] .mj-input[_ngcontent-%COMP%] {\n flex: 1;\n }\n .mj-lk-invite__searchbtn[_ngcontent-%COMP%], \n .mj-lk-invite__send[_ngcontent-%COMP%], \n .mj-lk-invite__cancel[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.4rem;\n padding: 0.5rem 0.85rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n cursor: pointer;\n font-size: 0.875rem;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n }\n .mj-lk-invite__send[_ngcontent-%COMP%] {\n border: none;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n .mj-lk-invite__send[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .mj-lk-invite__chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 0.4rem;\n }\n .mj-lk-invite__chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.2rem 0.5rem;\n border-radius: 999px;\n font-size: 0.8125rem;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n }\n .mj-lk-invite__chipx[_ngcontent-%COMP%] {\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--mj-text-muted);\n padding: 0;\n }\n .mj-lk-invite__results[_ngcontent-%COMP%] {\n max-height: 220px;\n overflow-y: auto;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n }\n .mj-lk-invite__result[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.1rem;\n width: 100%;\n padding: 0.5rem 0.75rem;\n border: none;\n border-bottom: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n background: transparent;\n cursor: pointer;\n text-align: left;\n }\n .mj-lk-invite__result[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n }\n .mj-lk-invite__rname[_ngcontent-%COMP%] {\n color: var(--mj-text-primary);\n font-size: 0.875rem;\n }\n .mj-lk-invite__remail[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.75rem;\n }\n .mj-lk-invite__empty[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n padding: 0.25rem;\n }\n .mj-lk-invite__msg[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n }\n .mj-lk-invite__actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n margin-top: 0.25rem;\n }"] });
|
|
560
962
|
};
|
|
561
963
|
LiveKitRoomResource = __decorate([
|
|
562
964
|
RegisterClass(BaseResourceComponent, 'LiveKitRoomResource')
|
|
@@ -585,6 +987,7 @@ export { LiveKitRoomResource };
|
|
|
585
987
|
[EnableLayoutSwitcher]="true"
|
|
586
988
|
[EnablePinning]="true"
|
|
587
989
|
(Connected)="NotifyLoadComplete()"
|
|
990
|
+
(Disconnected)="onRoomLeft()"
|
|
588
991
|
(ErrorOccurred)="NotifyLoadComplete()"
|
|
589
992
|
(InvitePeopleRequested)="openInvite($event)"
|
|
590
993
|
></mj-livekit-agent-room>
|
|
@@ -592,6 +995,7 @@ export { LiveKitRoomResource };
|
|
|
592
995
|
@case ('picking') {
|
|
593
996
|
<div class="mj-lk-prejoin">
|
|
594
997
|
<div class="mj-lk-prejoin__card">
|
|
998
|
+
<button type="button" class="mj-lk-back" (click)="backToLanding()"><i class="fa-solid fa-arrow-left"></i> Back</button>
|
|
595
999
|
<div class="mj-lk-prejoin__icon"><i class="fa-solid fa-video"></i></div>
|
|
596
1000
|
<h2 class="mj-lk-prejoin__title">Start a call</h2>
|
|
597
1001
|
<p class="mj-lk-prejoin__subtitle">
|
|
@@ -631,6 +1035,101 @@ export { LiveKitRoomResource };
|
|
|
631
1035
|
</div>
|
|
632
1036
|
</div>
|
|
633
1037
|
}
|
|
1038
|
+
@case ('landing') {
|
|
1039
|
+
<div class="mj-lk-prejoin">
|
|
1040
|
+
<div class="mj-lk-prejoin__card mj-lk-prejoin__card--wide">
|
|
1041
|
+
<div class="mj-lk-prejoin__icon"><i class="fa-solid fa-video"></i></div>
|
|
1042
|
+
<h2 class="mj-lk-prejoin__title">Meet</h2>
|
|
1043
|
+
<p class="mj-lk-prejoin__subtitle">Start a live room with agents and people, join one that's in progress, or review a past meeting.</p>
|
|
1044
|
+
<div class="mj-lk-cards">
|
|
1045
|
+
<button type="button" class="mj-lk-card" (click)="startNewRoom()">
|
|
1046
|
+
<i class="fa-solid fa-circle-plus"></i>
|
|
1047
|
+
<span class="mj-lk-card__t">New room</span>
|
|
1048
|
+
<span class="mj-lk-card__d">Pick an agent and start a fresh call.</span>
|
|
1049
|
+
</button>
|
|
1050
|
+
<button type="button" class="mj-lk-card" (click)="openExisting()">
|
|
1051
|
+
<i class="fa-solid fa-door-open"></i>
|
|
1052
|
+
<span class="mj-lk-card__t">Join existing</span>
|
|
1053
|
+
<span class="mj-lk-card__d">Hop into a room that's live right now.</span>
|
|
1054
|
+
</button>
|
|
1055
|
+
<button type="button" class="mj-lk-card" (click)="openHistory()">
|
|
1056
|
+
<i class="fa-solid fa-clock-rotate-left"></i>
|
|
1057
|
+
<span class="mj-lk-card__t">History</span>
|
|
1058
|
+
<span class="mj-lk-card__d">Read transcripts of past meetings.</span>
|
|
1059
|
+
</button>
|
|
1060
|
+
</div>
|
|
1061
|
+
</div>
|
|
1062
|
+
</div>
|
|
1063
|
+
}
|
|
1064
|
+
@case ('existing') {
|
|
1065
|
+
<div class="mj-lk-prejoin">
|
|
1066
|
+
<div class="mj-lk-prejoin__card mj-lk-prejoin__card--wide">
|
|
1067
|
+
<button type="button" class="mj-lk-back" (click)="backToLanding()"><i class="fa-solid fa-arrow-left"></i> Back</button>
|
|
1068
|
+
<h2 class="mj-lk-prejoin__title">Join a room</h2>
|
|
1069
|
+
@if (loadingActive) {
|
|
1070
|
+
<div class="mj-lk-listmsg"><i class="fa-solid fa-spinner fa-spin"></i> Finding active rooms…</div>
|
|
1071
|
+
} @else if (activeRooms.length) {
|
|
1072
|
+
<div class="mj-lk-list">
|
|
1073
|
+
@for (r of activeRooms; track r.RoomName) {
|
|
1074
|
+
<button type="button" class="mj-lk-list__row" (click)="joinExistingRoom(r.RoomName)">
|
|
1075
|
+
<span class="mj-lk-list__name"><i class="fa-solid fa-circle mj-lk-livedot"></i> {{ r.Label }}</span>
|
|
1076
|
+
<span class="mj-lk-list__meta">{{ r.AgentCount }} agent{{ r.AgentCount === 1 ? '' : 's' }} · Join</span>
|
|
1077
|
+
</button>
|
|
1078
|
+
}
|
|
1079
|
+
</div>
|
|
1080
|
+
} @else {
|
|
1081
|
+
<p class="mj-lk-prejoin__desc">No rooms are active right now.</p>
|
|
1082
|
+
}
|
|
1083
|
+
<label class="mj-lk-prejoin__label" for="mj-lk-room">Or join by name</label>
|
|
1084
|
+
<div class="mj-lk-joinrow">
|
|
1085
|
+
<input id="mj-lk-room" class="mj-input mj-lk-joinrow__input" type="text" placeholder="Room name…" [value]="manualRoomName"
|
|
1086
|
+
(input)="manualRoomName = $any($event.target).value" (keydown.enter)="joinExistingRoom(manualRoomName)" />
|
|
1087
|
+
<button type="button" class="mj-lk-prejoin__start mj-lk-joinrow__btn" [disabled]="!manualRoomName.trim()" (click)="joinExistingRoom(manualRoomName)">Join</button>
|
|
1088
|
+
</div>
|
|
1089
|
+
</div>
|
|
1090
|
+
</div>
|
|
1091
|
+
}
|
|
1092
|
+
@case ('history') {
|
|
1093
|
+
<div class="mj-lk-prejoin">
|
|
1094
|
+
<div class="mj-lk-prejoin__card mj-lk-prejoin__card--wide">
|
|
1095
|
+
@if (!openHistoryRoom) {
|
|
1096
|
+
<button type="button" class="mj-lk-back" (click)="backToLanding()"><i class="fa-solid fa-arrow-left"></i> Back</button>
|
|
1097
|
+
<h2 class="mj-lk-prejoin__title">Past meetings</h2>
|
|
1098
|
+
@if (loadingHistory) {
|
|
1099
|
+
<div class="mj-lk-listmsg"><i class="fa-solid fa-spinner fa-spin"></i> Loading…</div>
|
|
1100
|
+
} @else if (historyRooms.length) {
|
|
1101
|
+
<div class="mj-lk-list">
|
|
1102
|
+
@for (h of historyRooms; track h.ConversationID) {
|
|
1103
|
+
<button type="button" class="mj-lk-list__row" (click)="openTranscript(h)">
|
|
1104
|
+
<span class="mj-lk-list__name"><i class="fa-solid fa-comments"></i> {{ h.Name }}</span>
|
|
1105
|
+
<span class="mj-lk-list__meta">{{ formatTime(h.At) }}</span>
|
|
1106
|
+
</button>
|
|
1107
|
+
}
|
|
1108
|
+
</div>
|
|
1109
|
+
} @else {
|
|
1110
|
+
<p class="mj-lk-prejoin__desc">No past meetings yet.</p>
|
|
1111
|
+
}
|
|
1112
|
+
} @else {
|
|
1113
|
+
<button type="button" class="mj-lk-back" (click)="closeTranscript()"><i class="fa-solid fa-arrow-left"></i> All meetings</button>
|
|
1114
|
+
<h2 class="mj-lk-prejoin__title">{{ openHistoryRoom.Name }}</h2>
|
|
1115
|
+
@if (loadingTranscript) {
|
|
1116
|
+
<div class="mj-lk-listmsg"><i class="fa-solid fa-spinner fa-spin"></i> Loading transcript…</div>
|
|
1117
|
+
} @else if (historyTranscript.length) {
|
|
1118
|
+
<div class="mj-lk-transcript">
|
|
1119
|
+
@for (line of historyTranscript; track $index) {
|
|
1120
|
+
<div class="mj-lk-tline" [class.mj-lk-tline--agent]="line.Kind === 'agent'" [class.mj-lk-tline--error]="line.Kind === 'error'">
|
|
1121
|
+
<span class="mj-lk-tline__who">{{ line.Speaker }}</span>
|
|
1122
|
+
<span class="mj-lk-tline__msg">{{ line.Message }}</span>
|
|
1123
|
+
</div>
|
|
1124
|
+
}
|
|
1125
|
+
</div>
|
|
1126
|
+
} @else {
|
|
1127
|
+
<p class="mj-lk-prejoin__desc">No transcript was captured for this meeting.</p>
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
</div>
|
|
1131
|
+
</div>
|
|
1132
|
+
}
|
|
634
1133
|
@case ('error') {
|
|
635
1134
|
<div class="mj-livekit-room-resource__message">
|
|
636
1135
|
<i class="fa-solid fa-circle-exclamation"></i>
|
|
@@ -692,7 +1191,7 @@ export { LiveKitRoomResource };
|
|
|
692
1191
|
</div>
|
|
693
1192
|
</mj-dialog>
|
|
694
1193
|
}
|
|
695
|
-
`, styles: ["\n :host {\n display: block;\n height: 100%;\n }\n .mj-livekit-room-resource {\n display: block;\n height: 100%;\n }\n .mj-livekit-room-resource__message {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n height: 100%;\n padding: 1.5rem;\n text-align: center;\n color: var(--mj-text-secondary);\n }\n .mj-livekit-room-resource__message i {\n color: var(--mj-status-warning);\n }\n .mj-lk-prejoin {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 1.5rem;\n background: var(--mj-bg-page);\n }\n .mj-lk-prejoin__card {\n width: 100%;\n max-width: 440px;\n padding: 2rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg, 12px);\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.12));\n text-align: center;\n }\n .mj-lk-prejoin__icon {\n font-size: 1.75rem;\n color: var(--mj-brand-primary);\n margin-bottom: 0.75rem;\n }\n .mj-lk-prejoin__title {\n margin: 0 0 0.5rem;\n color: var(--mj-text-primary);\n font-size: 1.25rem;\n }\n .mj-lk-prejoin__subtitle {\n margin: 0 0 1.5rem;\n color: var(--mj-text-secondary);\n font-size: 0.875rem;\n line-height: 1.4;\n }\n .mj-lk-prejoin__label {\n display: block;\n text-align: left;\n margin-bottom: 0.35rem;\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n font-weight: 600;\n }\n .mj-lk-prejoin__dev {\n margin-left: 0.35rem;\n padding: 0 0.35rem;\n border-radius: 999px;\n font-size: 0.625rem;\n font-weight: 700;\n text-transform: uppercase;\n color: var(--mj-text-inverse);\n background: var(--mj-brand-primary);\n vertical-align: middle;\n }\n .mj-lk-prejoin__select {\n width: 100%;\n margin-bottom: 0.75rem;\n }\n .mj-lk-prejoin__desc {\n text-align: left;\n margin: 0 0 1.25rem;\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n line-height: 1.4;\n }\n .mj-lk-prejoin__start {\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n padding: 0.625rem 1rem;\n border: none;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n font-size: 0.9375rem;\n font-weight: 600;\n cursor: pointer;\n }\n .mj-lk-prejoin__start:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n .mj-lk-prejoin__start:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .mj-lk-invite {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n min-width: 360px;\n padding: 0.25rem;\n }\n .mj-lk-invite__hint {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n }\n .mj-lk-invite__search {\n display: flex;\n gap: 0.5rem;\n }\n .mj-lk-invite__search .mj-input {\n flex: 1;\n }\n .mj-lk-invite__searchbtn,\n .mj-lk-invite__send,\n .mj-lk-invite__cancel {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.4rem;\n padding: 0.5rem 0.85rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n cursor: pointer;\n font-size: 0.875rem;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n }\n .mj-lk-invite__send {\n border: none;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n .mj-lk-invite__send:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .mj-lk-invite__chips {\n display: flex;\n flex-wrap: wrap;\n gap: 0.4rem;\n }\n .mj-lk-invite__chip {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.2rem 0.5rem;\n border-radius: 999px;\n font-size: 0.8125rem;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n }\n .mj-lk-invite__chipx {\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--mj-text-muted);\n padding: 0;\n }\n .mj-lk-invite__results {\n max-height: 220px;\n overflow-y: auto;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n }\n .mj-lk-invite__result {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.1rem;\n width: 100%;\n padding: 0.5rem 0.75rem;\n border: none;\n border-bottom: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n background: transparent;\n cursor: pointer;\n text-align: left;\n }\n .mj-lk-invite__result:hover {\n background: var(--mj-bg-surface-hover);\n }\n .mj-lk-invite__rname {\n color: var(--mj-text-primary);\n font-size: 0.875rem;\n }\n .mj-lk-invite__remail {\n color: var(--mj-text-muted);\n font-size: 0.75rem;\n }\n .mj-lk-invite__empty {\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n padding: 0.25rem;\n }\n .mj-lk-invite__msg {\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n }\n .mj-lk-invite__actions {\n display: flex;\n gap: 0.5rem;\n margin-top: 0.25rem;\n }\n "] }]
|
|
1194
|
+
`, styles: ["\n :host {\n display: block;\n height: 100%;\n }\n .mj-livekit-room-resource {\n display: block;\n height: 100%;\n }\n .mj-livekit-room-resource__message {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n height: 100%;\n padding: 1.5rem;\n text-align: center;\n color: var(--mj-text-secondary);\n }\n .mj-livekit-room-resource__message i {\n color: var(--mj-status-warning);\n }\n .mj-lk-prejoin {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 1.5rem;\n background: var(--mj-bg-page);\n }\n .mj-lk-prejoin__card {\n width: 100%;\n max-width: 440px;\n padding: 2rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg, 12px);\n background: var(--mj-bg-surface);\n box-shadow: var(--mj-shadow-md, 0 4px 16px rgba(0, 0, 0, 0.12));\n text-align: center;\n }\n .mj-lk-prejoin__icon {\n font-size: 1.75rem;\n color: var(--mj-brand-primary);\n margin-bottom: 0.75rem;\n }\n .mj-lk-prejoin__title {\n margin: 0 0 0.5rem;\n color: var(--mj-text-primary);\n font-size: 1.25rem;\n }\n .mj-lk-prejoin__subtitle {\n margin: 0 0 1.5rem;\n color: var(--mj-text-secondary);\n font-size: 0.875rem;\n line-height: 1.4;\n }\n .mj-lk-prejoin__label {\n display: block;\n text-align: left;\n margin-bottom: 0.35rem;\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n font-weight: 600;\n }\n .mj-lk-prejoin__dev {\n margin-left: 0.35rem;\n padding: 0 0.35rem;\n border-radius: 999px;\n font-size: 0.625rem;\n font-weight: 700;\n text-transform: uppercase;\n color: var(--mj-text-inverse);\n background: var(--mj-brand-primary);\n vertical-align: middle;\n }\n .mj-lk-prejoin__select {\n width: 100%;\n margin-bottom: 0.75rem;\n }\n .mj-lk-prejoin__desc {\n text-align: left;\n margin: 0 0 1.25rem;\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n line-height: 1.4;\n }\n .mj-lk-prejoin__start {\n width: 100%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n padding: 0.625rem 1rem;\n border: none;\n border-radius: var(--mj-radius-md, 8px);\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n font-size: 0.9375rem;\n font-weight: 600;\n cursor: pointer;\n }\n .mj-lk-prejoin__start:hover:not(:disabled) {\n background: var(--mj-brand-primary-hover);\n }\n .mj-lk-prejoin__start:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .mj-lk-prejoin__card--wide {\n max-width: 560px;\n text-align: left;\n }\n .mj-lk-back {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n margin-bottom: 0.75rem;\n padding: 4px 8px;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n }\n .mj-lk-back:hover { color: var(--mj-text-primary); }\n .mj-lk-cards {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 0.75rem;\n margin-top: 1.25rem;\n }\n .mj-lk-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n padding: 1.25rem 0.75rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-lg, 12px);\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n text-align: center;\n }\n .mj-lk-card:hover {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-hover, var(--mj-bg-surface-card));\n }\n .mj-lk-card > i { font-size: 1.4rem; color: var(--mj-brand-primary); }\n .mj-lk-card__t { font-weight: 600; color: var(--mj-text-primary); font-size: 0.9rem; }\n .mj-lk-card__d { color: var(--mj-text-muted); font-size: 0.78rem; line-height: 1.3; }\n .mj-lk-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n margin: 0.5rem 0 1rem;\n max-height: 320px;\n overflow-y: auto;\n }\n .mj-lk-list__row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.75rem;\n padding: 10px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n background: var(--mj-bg-surface-card);\n cursor: pointer;\n text-align: left;\n }\n .mj-lk-list__row:hover { border-color: var(--mj-brand-primary); background: var(--mj-bg-surface-hover, var(--mj-bg-surface-card)); }\n .mj-lk-list__name { color: var(--mj-text-primary); font-size: 0.875rem; display: inline-flex; align-items: center; gap: 8px; }\n .mj-lk-list__meta { color: var(--mj-text-muted); font-size: 0.78rem; white-space: nowrap; }\n .mj-lk-livedot { color: var(--mj-status-success); font-size: 0.5rem; }\n .mj-lk-listmsg { padding: 1rem; color: var(--mj-text-secondary); text-align: center; }\n .mj-lk-joinrow { display: flex; gap: 8px; }\n .mj-lk-joinrow__input { flex: 1; }\n .mj-lk-joinrow__btn { white-space: nowrap; }\n .mj-lk-transcript {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 0.5rem;\n max-height: 60vh;\n overflow-y: auto;\n }\n .mj-lk-tline {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 8px 10px;\n border-radius: 8px;\n background: var(--mj-bg-surface-card);\n }\n .mj-lk-tline--agent { background: color-mix(in srgb, var(--mj-brand-primary) 8%, var(--mj-bg-surface)); }\n .mj-lk-tline--error { background: var(--mj-status-error-bg, color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface))); }\n .mj-lk-tline__who { font-size: 0.72rem; font-weight: 600; color: var(--mj-text-secondary); }\n .mj-lk-tline__msg { font-size: 0.875rem; color: var(--mj-text-primary); }\n .mj-lk-invite {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n min-width: 360px;\n padding: 0.25rem;\n }\n .mj-lk-invite__hint {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n }\n .mj-lk-invite__search {\n display: flex;\n gap: 0.5rem;\n }\n .mj-lk-invite__search .mj-input {\n flex: 1;\n }\n .mj-lk-invite__searchbtn,\n .mj-lk-invite__send,\n .mj-lk-invite__cancel {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0.4rem;\n padding: 0.5rem 0.85rem;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n cursor: pointer;\n font-size: 0.875rem;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n }\n .mj-lk-invite__send {\n border: none;\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n }\n .mj-lk-invite__send:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .mj-lk-invite__chips {\n display: flex;\n flex-wrap: wrap;\n gap: 0.4rem;\n }\n .mj-lk-invite__chip {\n display: inline-flex;\n align-items: center;\n gap: 0.35rem;\n padding: 0.2rem 0.5rem;\n border-radius: 999px;\n font-size: 0.8125rem;\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n }\n .mj-lk-invite__chipx {\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--mj-text-muted);\n padding: 0;\n }\n .mj-lk-invite__results {\n max-height: 220px;\n overflow-y: auto;\n border: 1px solid var(--mj-border-default);\n border-radius: var(--mj-radius-md, 8px);\n }\n .mj-lk-invite__result {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.1rem;\n width: 100%;\n padding: 0.5rem 0.75rem;\n border: none;\n border-bottom: 1px solid var(--mj-border-subtle, var(--mj-border-default));\n background: transparent;\n cursor: pointer;\n text-align: left;\n }\n .mj-lk-invite__result:hover {\n background: var(--mj-bg-surface-hover);\n }\n .mj-lk-invite__rname {\n color: var(--mj-text-primary);\n font-size: 0.875rem;\n }\n .mj-lk-invite__remail {\n color: var(--mj-text-muted);\n font-size: 0.75rem;\n }\n .mj-lk-invite__empty {\n color: var(--mj-text-muted);\n font-size: 0.8125rem;\n padding: 0.25rem;\n }\n .mj-lk-invite__msg {\n color: var(--mj-text-secondary);\n font-size: 0.8125rem;\n }\n .mj-lk-invite__actions {\n display: flex;\n gap: 0.5rem;\n margin-top: 0.25rem;\n }\n "] }]
|
|
696
1195
|
}], null, null); })();
|
|
697
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LiveKitRoomResource, { className: "LiveKitRoomResource", filePath: "src/lib/resource-wrappers/livekit-room-resource.component.ts", lineNumber:
|
|
1196
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(LiveKitRoomResource, { className: "LiveKitRoomResource", filePath: "src/lib/resource-wrappers/livekit-room-resource.component.ts", lineNumber: 577 }); })();
|
|
698
1197
|
//# sourceMappingURL=livekit-room-resource.component.js.map
|