@memberjunction/ng-explorer-core 6.2.0-edge.2 → 6.2.0-edge.4
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 +10 -0
- package/dist/app-routing.module.d.ts.map +1 -1
- package/dist/app-routing.module.js +5 -0
- package/dist/app-routing.module.js.map +1 -1
- 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 +12 -2
- package/dist/generated/lazy-feature-config.js.map +1 -1
- package/dist/lib/guards/moved-nav-item-redirect.d.ts +15 -0
- package/dist/lib/guards/moved-nav-item-redirect.d.ts.map +1 -0
- package/dist/lib/guards/moved-nav-item-redirect.js +37 -0
- package/dist/lib/guards/moved-nav-item-redirect.js.map +1 -0
- package/dist/lib/omnibar/omnibar-dashboard-matches.d.ts +34 -0
- package/dist/lib/omnibar/omnibar-dashboard-matches.d.ts.map +1 -0
- package/dist/lib/omnibar/omnibar-dashboard-matches.js +70 -0
- package/dist/lib/omnibar/omnibar-dashboard-matches.js.map +1 -0
- package/dist/lib/omnibar/omnibar-palette.component.d.ts +27 -2
- package/dist/lib/omnibar/omnibar-palette.component.d.ts.map +1 -1
- package/dist/lib/omnibar/omnibar-palette.component.js +126 -65
- package/dist/lib/omnibar/omnibar-palette.component.js.map +1 -1
- package/dist/lib/omnibar/omnibar-provider.d.ts +4 -0
- package/dist/lib/omnibar/omnibar-provider.d.ts.map +1 -1
- package/dist/lib/omnibar/omnibar-provider.js.map +1 -1
- package/dist/lib/omnibar/providers/omnibar-record.provider.d.ts +2 -2
- package/dist/lib/omnibar/providers/omnibar-record.provider.d.ts.map +1 -1
- package/dist/lib/omnibar/providers/omnibar-record.provider.js +3 -7
- package/dist/lib/omnibar/providers/omnibar-record.provider.js.map +1 -1
- package/dist/lib/omnibar/providers/omnibar-search.provider.d.ts +15 -2
- package/dist/lib/omnibar/providers/omnibar-search.provider.d.ts.map +1 -1
- package/dist/lib/omnibar/providers/omnibar-search.provider.js +59 -7
- package/dist/lib/omnibar/providers/omnibar-search.provider.js.map +1 -1
- package/dist/lib/profile/forking-setting.d.ts +8 -0
- package/dist/lib/profile/forking-setting.d.ts.map +1 -0
- package/dist/lib/profile/forking-setting.js +18 -0
- package/dist/lib/profile/forking-setting.js.map +1 -0
- package/dist/lib/profile/profile-dialog.component.d.ts +8 -0
- package/dist/lib/profile/profile-dialog.component.d.ts.map +1 -1
- package/dist/lib/profile/profile-dialog.component.js +182 -92
- package/dist/lib/profile/profile-dialog.component.js.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts +23 -4
- package/dist/lib/resource-wrappers/artifact-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/artifact-resource.component.js +36 -8
- package/dist/lib/resource-wrappers/artifact-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts +7 -18
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js +20 -41
- package/dist/lib/resource-wrappers/chat-conversations-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/chat-search-routing.d.ts +10 -3
- package/dist/lib/resource-wrappers/chat-search-routing.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/chat-search-routing.js +11 -4
- package/dist/lib/resource-wrappers/chat-search-routing.js.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-add-to-menu.component.d.ts +29 -0
- package/dist/lib/resource-wrappers/dashboard-add-to-menu.component.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-add-to-menu.component.js +141 -0
- package/dist/lib/resource-wrappers/dashboard-add-to-menu.component.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-part-config.d.ts +28 -0
- package/dist/lib/resource-wrappers/dashboard-part-config.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-part-config.js +150 -0
- package/dist/lib/resource-wrappers/dashboard-part-config.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts +361 -56
- package/dist/lib/resource-wrappers/dashboard-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-resource.component.js +1312 -361
- package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/dashboard-source-search.d.ts +86 -0
- package/dist/lib/resource-wrappers/dashboard-source-search.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-source-search.js +136 -0
- package/dist/lib/resource-wrappers/dashboard-source-search.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-studio-pane.d.ts +30 -0
- package/dist/lib/resource-wrappers/dashboard-studio-pane.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-studio-pane.js +55 -0
- package/dist/lib/resource-wrappers/dashboard-studio-pane.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-studio-tools.d.ts +135 -0
- package/dist/lib/resource-wrappers/dashboard-studio-tools.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-studio-tools.js +856 -0
- package/dist/lib/resource-wrappers/dashboard-studio-tools.js.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-tab-agent.d.ts +87 -0
- package/dist/lib/resource-wrappers/dashboard-tab-agent.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/dashboard-tab-agent.js +125 -0
- package/dist/lib/resource-wrappers/dashboard-tab-agent.js.map +1 -0
- package/dist/lib/resource-wrappers/human-handoff-console-resource.component.d.ts +32 -0
- package/dist/lib/resource-wrappers/human-handoff-console-resource.component.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/human-handoff-console-resource.component.js +114 -0
- package/dist/lib/resource-wrappers/human-handoff-console-resource.component.js.map +1 -0
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts +40 -6
- package/dist/lib/resource-wrappers/livekit-room-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js +287 -147
- package/dist/lib/resource-wrappers/livekit-room-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/meetings-resource.component.d.ts +42 -0
- package/dist/lib/resource-wrappers/meetings-resource.component.d.ts.map +1 -0
- package/dist/lib/resource-wrappers/meetings-resource.component.js +225 -0
- package/dist/lib/resource-wrappers/meetings-resource.component.js.map +1 -0
- package/dist/lib/resource-wrappers/record-resource.component.d.ts +27 -2
- package/dist/lib/resource-wrappers/record-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/record-resource.component.js +58 -6
- package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.d.ts.map +1 -1
- package/dist/lib/resource-wrappers/search-results-resource.component.js +5 -4
- package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/component-cache-manager.js.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts +38 -0
- package/dist/lib/shell/components/tabs/tab-container.component.d.ts.map +1 -1
- package/dist/lib/shell/components/tabs/tab-container.component.js +77 -4
- package/dist/lib/shell/components/tabs/tab-container.component.js.map +1 -1
- package/dist/lib/shell/dashboard-tab-for-url.d.ts +35 -0
- package/dist/lib/shell/dashboard-tab-for-url.d.ts.map +1 -0
- package/dist/lib/shell/dashboard-tab-for-url.js +39 -0
- package/dist/lib/shell/dashboard-tab-for-url.js.map +1 -0
- package/dist/lib/shell/shell.component.d.ts +31 -2
- package/dist/lib/shell/shell.component.d.ts.map +1 -1
- package/dist/lib/shell/shell.component.js +119 -42
- package/dist/lib/shell/shell.component.js.map +1 -1
- package/dist/lib/shell/shell.module.d.ts +2 -1
- package/dist/lib/shell/shell.module.d.ts.map +1 -1
- package/dist/lib/shell/shell.module.js +6 -2
- package/dist/lib/shell/shell.module.js.map +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js +1 -1
- package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
- package/dist/lib/single-record/single-record.component.d.ts +29 -3
- package/dist/lib/single-record/single-record.component.d.ts.map +1 -1
- package/dist/lib/single-record/single-record.component.js +44 -4
- package/dist/lib/single-record/single-record.component.js.map +1 -1
- package/dist/lib/template-user/template-user-banner.component.d.ts +20 -0
- package/dist/lib/template-user/template-user-banner.component.d.ts.map +1 -0
- package/dist/lib/template-user/template-user-banner.component.js +67 -0
- package/dist/lib/template-user/template-user-banner.component.js.map +1 -0
- package/dist/lib/user-notifications/user-notifications.component.d.ts +13 -0
- package/dist/lib/user-notifications/user-notifications.component.d.ts.map +1 -1
- package/dist/lib/user-notifications/user-notifications.component.js +67 -0
- package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
- package/dist/module.d.ts +61 -56
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +32 -4
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +2 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +2 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +58 -52
|
@@ -2,13 +2,15 @@ import { Component, EventEmitter, Input, Output, ChangeDetectorRef, inject } fro
|
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import { RunView } from '@memberjunction/core';
|
|
4
4
|
import { UUIDsEqual } from '@memberjunction/global';
|
|
5
|
-
import { UserInfoEngine } from '@memberjunction/core-entities';
|
|
5
|
+
import { CONVERSATIONS_FORK_AUTHORIZATION, UserInfoEngine } from '@memberjunction/core-entities';
|
|
6
6
|
import { MJAuthBase } from '@memberjunction/ng-auth-services';
|
|
7
7
|
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
|
|
8
8
|
import { ThemeService, SharedService } from '@memberjunction/ng-shared';
|
|
9
9
|
import { ExplorerSettingsModule } from '@memberjunction/ng-explorer-settings';
|
|
10
|
+
import { UserHoldsAuthorization } from '@memberjunction/ng-conversations';
|
|
10
11
|
import { IsOmnibarAvailable, IsOmnibarEnabledForUser, OMNIBAR_USER_SETTING_KEY } from '../omnibar/omnibar-user-setting';
|
|
11
12
|
import { GetOmnibarShortcutLabel } from '../omnibar/omnibar-shortcut';
|
|
13
|
+
import { IsForkingOnForUser, SaveForkingForUser } from './forking-setting';
|
|
12
14
|
import * as i0 from "@angular/core";
|
|
13
15
|
import * as i1 from "@memberjunction/ng-explorer-settings";
|
|
14
16
|
const _forTrack0 = ($index, $item) => $item.label;
|
|
@@ -117,7 +119,34 @@ function ProfileDialogComponent_Conditional_39_Template(rf, ctx) { if (rf & 1) {
|
|
|
117
119
|
i0.ɵɵadvance(2);
|
|
118
120
|
i0.ɵɵconditional(ctx_r1.SavingOmnibar ? 13 : 14);
|
|
119
121
|
} }
|
|
120
|
-
function
|
|
122
|
+
function ProfileDialogComponent_Conditional_40_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
124
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "div", 29)(2, "h4");
|
|
125
|
+
i0.ɵɵtext(3, "Conversations");
|
|
126
|
+
i0.ɵɵelementEnd()();
|
|
127
|
+
i0.ɵɵelementStart(4, "div", 32)(5, "button", 59);
|
|
128
|
+
i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_40_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ToggleForking()); });
|
|
129
|
+
i0.ɵɵelementStart(6, "div", 50);
|
|
130
|
+
i0.ɵɵelement(7, "i", 60);
|
|
131
|
+
i0.ɵɵelementEnd();
|
|
132
|
+
i0.ɵɵelementStart(8, "div", 52);
|
|
133
|
+
i0.ɵɵtext(9, " Fork when I edit or regenerate ");
|
|
134
|
+
i0.ɵɵelementStart(10, "div", 53);
|
|
135
|
+
i0.ɵɵtext(11, "When off, Edit and Regenerate change the latest turn in place.");
|
|
136
|
+
i0.ɵɵelementEnd()();
|
|
137
|
+
i0.ɵɵelementStart(12, "div", 54)(13, "span", 57);
|
|
138
|
+
i0.ɵɵelement(14, "span", 58);
|
|
139
|
+
i0.ɵɵelementEnd()()()()();
|
|
140
|
+
} if (rf & 2) {
|
|
141
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
142
|
+
i0.ɵɵadvance(5);
|
|
143
|
+
i0.ɵɵclassProp("mj-profile__channel--on", ctx_r1.ForkingEnabled);
|
|
144
|
+
i0.ɵɵproperty("disabled", ctx_r1.SavingForking);
|
|
145
|
+
i0.ɵɵattribute("aria-checked", ctx_r1.ForkingEnabled);
|
|
146
|
+
i0.ɵɵadvance(8);
|
|
147
|
+
i0.ɵɵclassProp("mj-profile__switch--on", ctx_r1.ForkingEnabled);
|
|
148
|
+
} }
|
|
149
|
+
function ProfileDialogComponent_Conditional_45_Template(rf, ctx) { if (rf & 1) {
|
|
121
150
|
i0.ɵɵelementStart(0, "span", 30);
|
|
122
151
|
i0.ɵɵtext(1);
|
|
123
152
|
i0.ɵɵelementEnd();
|
|
@@ -126,27 +155,27 @@ function ProfileDialogComponent_Conditional_44_Template(rf, ctx) { if (rf & 1) {
|
|
|
126
155
|
i0.ɵɵadvance();
|
|
127
156
|
i0.ɵɵtextInterpolate1("", ctx_r1.UnreadCount, " unread");
|
|
128
157
|
} }
|
|
129
|
-
function
|
|
158
|
+
function ProfileDialogComponent_Conditional_46_Template(rf, ctx) { if (rf & 1) {
|
|
130
159
|
i0.ɵɵelementStart(0, "div", 31);
|
|
131
160
|
i0.ɵɵelement(1, "i", 55);
|
|
132
161
|
i0.ɵɵtext(2, " Loading\u2026 ");
|
|
133
162
|
i0.ɵɵelementEnd();
|
|
134
163
|
} }
|
|
135
|
-
function
|
|
164
|
+
function ProfileDialogComponent_Conditional_47_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
136
165
|
i0.ɵɵelement(0, "i", 55);
|
|
137
166
|
} }
|
|
138
|
-
function
|
|
167
|
+
function ProfileDialogComponent_Conditional_47_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
139
168
|
i0.ɵɵelementStart(0, "span", 57);
|
|
140
169
|
i0.ɵɵelement(1, "span", 58);
|
|
141
170
|
i0.ɵɵelementEnd();
|
|
142
171
|
} if (rf & 2) {
|
|
143
|
-
const
|
|
144
|
-
i0.ɵɵclassProp("mj-profile__switch--on",
|
|
172
|
+
const ch_r7 = i0.ɵɵnextContext().$implicit;
|
|
173
|
+
i0.ɵɵclassProp("mj-profile__switch--on", ch_r7.enabled);
|
|
145
174
|
} }
|
|
146
|
-
function
|
|
147
|
-
const
|
|
148
|
-
i0.ɵɵelementStart(0, "button",
|
|
149
|
-
i0.ɵɵlistener("click", function
|
|
175
|
+
function ProfileDialogComponent_Conditional_47_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
176
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
177
|
+
i0.ɵɵelementStart(0, "button", 62);
|
|
178
|
+
i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_47_For_2_Template_button_click_0_listener() { const ch_r7 = i0.ɵɵrestoreView(_r6).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.ToggleChannel(ch_r7)); });
|
|
150
179
|
i0.ɵɵelementStart(1, "div", 50);
|
|
151
180
|
i0.ɵɵelement(2, "i");
|
|
152
181
|
i0.ɵɵelementEnd();
|
|
@@ -154,122 +183,122 @@ function ProfileDialogComponent_Conditional_46_For_2_Template(rf, ctx) { if (rf
|
|
|
154
183
|
i0.ɵɵtext(4);
|
|
155
184
|
i0.ɵɵelementEnd();
|
|
156
185
|
i0.ɵɵelementStart(5, "div", 54);
|
|
157
|
-
i0.ɵɵconditionalCreate(6,
|
|
186
|
+
i0.ɵɵconditionalCreate(6, ProfileDialogComponent_Conditional_47_For_2_Conditional_6_Template, 1, 0, "i", 55)(7, ProfileDialogComponent_Conditional_47_For_2_Conditional_7_Template, 2, 2, "span", 56);
|
|
158
187
|
i0.ɵɵelementEnd()();
|
|
159
188
|
} if (rf & 2) {
|
|
160
|
-
const
|
|
161
|
-
i0.ɵɵclassProp("mj-profile__channel--on",
|
|
162
|
-
i0.ɵɵproperty("disabled",
|
|
189
|
+
const ch_r7 = ctx.$implicit;
|
|
190
|
+
i0.ɵɵclassProp("mj-profile__channel--on", ch_r7.enabled);
|
|
191
|
+
i0.ɵɵproperty("disabled", ch_r7.saving);
|
|
163
192
|
i0.ɵɵadvance(2);
|
|
164
|
-
i0.ɵɵclassMap(
|
|
193
|
+
i0.ɵɵclassMap(ch_r7.icon);
|
|
165
194
|
i0.ɵɵadvance(2);
|
|
166
|
-
i0.ɵɵtextInterpolate(
|
|
195
|
+
i0.ɵɵtextInterpolate(ch_r7.label);
|
|
167
196
|
i0.ɵɵadvance(2);
|
|
168
|
-
i0.ɵɵconditional(
|
|
197
|
+
i0.ɵɵconditional(ch_r7.saving ? 6 : 7);
|
|
169
198
|
} }
|
|
170
|
-
function
|
|
199
|
+
function ProfileDialogComponent_Conditional_47_Template(rf, ctx) { if (rf & 1) {
|
|
171
200
|
i0.ɵɵelementStart(0, "div", 32);
|
|
172
|
-
i0.ɵɵrepeaterCreate(1,
|
|
201
|
+
i0.ɵɵrepeaterCreate(1, ProfileDialogComponent_Conditional_47_For_2_Template, 8, 7, "button", 61, _forTrack1);
|
|
173
202
|
i0.ɵɵelementEnd();
|
|
174
203
|
} if (rf & 2) {
|
|
175
204
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
176
205
|
i0.ɵɵadvance();
|
|
177
206
|
i0.ɵɵrepeater(ctx_r1.Channels);
|
|
178
207
|
} }
|
|
179
|
-
function
|
|
208
|
+
function ProfileDialogComponent_Conditional_62_Template(rf, ctx) { if (rf & 1) {
|
|
180
209
|
i0.ɵɵelement(0, "mj-user-profile-settings");
|
|
181
210
|
} }
|
|
182
|
-
function
|
|
183
|
-
i0.ɵɵelementStart(0, "div",
|
|
211
|
+
function ProfileDialogComponent_Conditional_63_For_2_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
212
|
+
i0.ɵɵelementStart(0, "div", 68);
|
|
184
213
|
i0.ɵɵtext(1);
|
|
185
214
|
i0.ɵɵelementEnd();
|
|
186
215
|
} if (rf & 2) {
|
|
187
|
-
const
|
|
216
|
+
const theme_r9 = i0.ɵɵnextContext().$implicit;
|
|
188
217
|
i0.ɵɵadvance();
|
|
189
|
-
i0.ɵɵtextInterpolate(
|
|
218
|
+
i0.ɵɵtextInterpolate(theme_r9.description);
|
|
190
219
|
} }
|
|
191
|
-
function
|
|
192
|
-
i0.ɵɵelement(0, "i",
|
|
220
|
+
function ProfileDialogComponent_Conditional_63_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
221
|
+
i0.ɵɵelement(0, "i", 69);
|
|
193
222
|
} }
|
|
194
|
-
function
|
|
195
|
-
i0.ɵɵelement(0, "i",
|
|
223
|
+
function ProfileDialogComponent_Conditional_63_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
224
|
+
i0.ɵɵelement(0, "i", 70);
|
|
196
225
|
} }
|
|
197
|
-
function
|
|
198
|
-
const
|
|
199
|
-
i0.ɵɵelementStart(0, "button",
|
|
200
|
-
i0.ɵɵlistener("click", function
|
|
201
|
-
i0.ɵɵelementStart(1, "div",
|
|
226
|
+
function ProfileDialogComponent_Conditional_63_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
227
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
228
|
+
i0.ɵɵelementStart(0, "button", 64);
|
|
229
|
+
i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_63_For_2_Template_button_click_0_listener() { const theme_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.SelectTheme(theme_r9.id)); });
|
|
230
|
+
i0.ɵɵelementStart(1, "div", 65);
|
|
202
231
|
i0.ɵɵelement(2, "i");
|
|
203
232
|
i0.ɵɵelementEnd();
|
|
204
|
-
i0.ɵɵelementStart(3, "div",
|
|
233
|
+
i0.ɵɵelementStart(3, "div", 66)(4, "div", 67);
|
|
205
234
|
i0.ɵɵtext(5);
|
|
206
235
|
i0.ɵɵelementEnd();
|
|
207
|
-
i0.ɵɵconditionalCreate(6,
|
|
236
|
+
i0.ɵɵconditionalCreate(6, ProfileDialogComponent_Conditional_63_For_2_Conditional_6_Template, 2, 1, "div", 68);
|
|
208
237
|
i0.ɵɵelementEnd();
|
|
209
|
-
i0.ɵɵconditionalCreate(7,
|
|
238
|
+
i0.ɵɵconditionalCreate(7, ProfileDialogComponent_Conditional_63_For_2_Conditional_7_Template, 1, 0, "i", 69)(8, ProfileDialogComponent_Conditional_63_For_2_Conditional_8_Template, 1, 0, "i", 70);
|
|
210
239
|
i0.ɵɵelementEnd();
|
|
211
240
|
} if (rf & 2) {
|
|
212
|
-
const
|
|
241
|
+
const theme_r9 = ctx.$implicit;
|
|
213
242
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
214
|
-
i0.ɵɵclassProp("mj-profile__theme--active",
|
|
243
|
+
i0.ɵɵclassProp("mj-profile__theme--active", theme_r9.id === ctx_r1.ThemePreference)("mj-profile__theme--saving", ctx_r1.SavingTheme === theme_r9.id);
|
|
215
244
|
i0.ɵɵproperty("disabled", !!ctx_r1.SavingTheme);
|
|
216
245
|
i0.ɵɵadvance();
|
|
217
|
-
i0.ɵɵclassMap("mj-profile__theme-swatch--" +
|
|
246
|
+
i0.ɵɵclassMap("mj-profile__theme-swatch--" + theme_r9.swatch);
|
|
218
247
|
i0.ɵɵadvance();
|
|
219
|
-
i0.ɵɵclassMap(
|
|
248
|
+
i0.ɵɵclassMap(theme_r9.icon);
|
|
220
249
|
i0.ɵɵadvance(3);
|
|
221
|
-
i0.ɵɵtextInterpolate(
|
|
250
|
+
i0.ɵɵtextInterpolate(theme_r9.name);
|
|
222
251
|
i0.ɵɵadvance();
|
|
223
|
-
i0.ɵɵconditional(
|
|
252
|
+
i0.ɵɵconditional(theme_r9.description ? 6 : -1);
|
|
224
253
|
i0.ɵɵadvance();
|
|
225
|
-
i0.ɵɵconditional(ctx_r1.SavingTheme ===
|
|
254
|
+
i0.ɵɵconditional(ctx_r1.SavingTheme === theme_r9.id ? 7 : theme_r9.id === ctx_r1.ThemePreference ? 8 : -1);
|
|
226
255
|
} }
|
|
227
|
-
function
|
|
256
|
+
function ProfileDialogComponent_Conditional_63_Conditional_3_For_3_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
228
257
|
i0.ɵɵelement(0, "i");
|
|
229
258
|
} if (rf & 2) {
|
|
230
|
-
const
|
|
231
|
-
i0.ɵɵstyleProp("background",
|
|
259
|
+
const c_r12 = ctx.$implicit;
|
|
260
|
+
i0.ɵɵstyleProp("background", c_r12);
|
|
232
261
|
} }
|
|
233
|
-
function
|
|
234
|
-
i0.ɵɵelement(0, "i",
|
|
262
|
+
function ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
263
|
+
i0.ɵɵelement(0, "i", 70);
|
|
235
264
|
} }
|
|
236
|
-
function
|
|
237
|
-
const
|
|
238
|
-
i0.ɵɵelementStart(0, "button",
|
|
239
|
-
i0.ɵɵlistener("click", function
|
|
240
|
-
i0.ɵɵelementStart(1, "div",
|
|
241
|
-
i0.ɵɵrepeaterCreate(2,
|
|
265
|
+
function ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Template(rf, ctx) { if (rf & 1) {
|
|
266
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
267
|
+
i0.ɵɵelementStart(0, "button", 73);
|
|
268
|
+
i0.ɵɵlistener("click", function ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Template_button_click_0_listener() { const t_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.ApplyStarredTheme(t_r11)); });
|
|
269
|
+
i0.ɵɵelementStart(1, "div", 74);
|
|
270
|
+
i0.ɵɵrepeaterCreate(2, ProfileDialogComponent_Conditional_63_Conditional_3_For_3_For_3_Template, 1, 2, "i", 75, i0.ɵɵrepeaterTrackByIndex);
|
|
242
271
|
i0.ɵɵelementEnd();
|
|
243
|
-
i0.ɵɵelementStart(4, "div",
|
|
272
|
+
i0.ɵɵelementStart(4, "div", 66)(5, "div", 67);
|
|
244
273
|
i0.ɵɵtext(6);
|
|
245
274
|
i0.ɵɵelementEnd()();
|
|
246
|
-
i0.ɵɵconditionalCreate(7,
|
|
275
|
+
i0.ɵɵconditionalCreate(7, ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Conditional_7_Template, 1, 0, "i", 70);
|
|
247
276
|
i0.ɵɵelementEnd();
|
|
248
277
|
} if (rf & 2) {
|
|
249
|
-
const
|
|
278
|
+
const t_r11 = ctx.$implicit;
|
|
250
279
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
251
|
-
i0.ɵɵclassProp("mj-profile__theme--active", ctx_r1.IsAppliedBrand(
|
|
280
|
+
i0.ɵɵclassProp("mj-profile__theme--active", ctx_r1.IsAppliedBrand(t_r11.id));
|
|
252
281
|
i0.ɵɵadvance(2);
|
|
253
|
-
i0.ɵɵrepeater(
|
|
282
|
+
i0.ɵɵrepeater(t_r11.swatches);
|
|
254
283
|
i0.ɵɵadvance(4);
|
|
255
|
-
i0.ɵɵtextInterpolate(
|
|
284
|
+
i0.ɵɵtextInterpolate(t_r11.name);
|
|
256
285
|
i0.ɵɵadvance();
|
|
257
|
-
i0.ɵɵconditional(ctx_r1.IsAppliedBrand(
|
|
286
|
+
i0.ɵɵconditional(ctx_r1.IsAppliedBrand(t_r11.id) ? 7 : -1);
|
|
258
287
|
} }
|
|
259
|
-
function
|
|
260
|
-
i0.ɵɵelementStart(0, "div",
|
|
288
|
+
function ProfileDialogComponent_Conditional_63_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
289
|
+
i0.ɵɵelementStart(0, "div", 71);
|
|
261
290
|
i0.ɵɵtext(1, "Brand themes");
|
|
262
291
|
i0.ɵɵelementEnd();
|
|
263
|
-
i0.ɵɵrepeaterCreate(2,
|
|
292
|
+
i0.ɵɵrepeaterCreate(2, ProfileDialogComponent_Conditional_63_Conditional_3_For_3_Template, 8, 4, "button", 72, _forTrack2);
|
|
264
293
|
} if (rf & 2) {
|
|
265
294
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
266
295
|
i0.ɵɵadvance(2);
|
|
267
296
|
i0.ɵɵrepeater(ctx_r1.StarredThemes);
|
|
268
297
|
} }
|
|
269
|
-
function
|
|
298
|
+
function ProfileDialogComponent_Conditional_63_Template(rf, ctx) { if (rf & 1) {
|
|
270
299
|
i0.ɵɵelementStart(0, "div", 44);
|
|
271
|
-
i0.ɵɵrepeaterCreate(1,
|
|
272
|
-
i0.ɵɵconditionalCreate(3,
|
|
300
|
+
i0.ɵɵrepeaterCreate(1, ProfileDialogComponent_Conditional_63_For_2_Template, 9, 12, "button", 63, _forTrack2);
|
|
301
|
+
i0.ɵɵconditionalCreate(3, ProfileDialogComponent_Conditional_63_Conditional_3_Template, 4, 0);
|
|
273
302
|
i0.ɵɵelementEnd();
|
|
274
303
|
} if (rf & 2) {
|
|
275
304
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -306,6 +335,10 @@ export class ProfileDialogComponent extends BaseAngularComponent {
|
|
|
306
335
|
OmnibarAvailable = false;
|
|
307
336
|
OmnibarEnabled = false;
|
|
308
337
|
SavingOmnibar = false;
|
|
338
|
+
// Personal forking switch (shown only to a person who holds Conversations: Fork)
|
|
339
|
+
ForkingAvailable = false;
|
|
340
|
+
ForkingEnabled = true;
|
|
341
|
+
SavingForking = false;
|
|
309
342
|
/** Platform-correct summon-shortcut label ('⌘K' on Mac, 'Ctrl+K' elsewhere). */
|
|
310
343
|
get OmnibarShortcutLabel() {
|
|
311
344
|
return GetOmnibarShortcutLabel();
|
|
@@ -343,6 +376,8 @@ export class ProfileDialogComponent extends BaseAngularComponent {
|
|
|
343
376
|
this.loadNotifications();
|
|
344
377
|
this.OmnibarAvailable = IsOmnibarAvailable();
|
|
345
378
|
this.OmnibarEnabled = IsOmnibarEnabledForUser();
|
|
379
|
+
this.ForkingAvailable = UserHoldsAuthorization(this.ProviderToUse.CurrentUser, CONVERSATIONS_FORK_AUTHORIZATION, this.ProviderToUse);
|
|
380
|
+
this.ForkingEnabled = IsForkingOnForUser();
|
|
346
381
|
this.themeSub = this.themeService.Preference$.subscribe(pref => {
|
|
347
382
|
this.ThemePreference = pref;
|
|
348
383
|
this.ThemeLabel = this.computeThemeLabel();
|
|
@@ -486,6 +521,29 @@ export class ProfileDialogComponent extends BaseAngularComponent {
|
|
|
486
521
|
this.cdr.markForCheck();
|
|
487
522
|
}
|
|
488
523
|
}
|
|
524
|
+
/**
|
|
525
|
+
* Turns the person's forking on or off. Saved through UserInfoEngine (MJ: User Settings), so it
|
|
526
|
+
* follows them across browsers; an open conversation reads it on its next change detection.
|
|
527
|
+
*/
|
|
528
|
+
async ToggleForking() {
|
|
529
|
+
if (this.SavingForking)
|
|
530
|
+
return;
|
|
531
|
+
const next = !this.ForkingEnabled;
|
|
532
|
+
this.SavingForking = true;
|
|
533
|
+
this.cdr.markForCheck();
|
|
534
|
+
try {
|
|
535
|
+
if (await SaveForkingForUser(next)) {
|
|
536
|
+
this.ForkingEnabled = next;
|
|
537
|
+
}
|
|
538
|
+
else {
|
|
539
|
+
this.sharedService.CreateSimpleNotification('Could not save the forking preference', 'error', 3000);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
finally {
|
|
543
|
+
this.SavingForking = false;
|
|
544
|
+
this.cdr.markForCheck();
|
|
545
|
+
}
|
|
546
|
+
}
|
|
489
547
|
async ToggleChannel(channel) {
|
|
490
548
|
if (channel.saving)
|
|
491
549
|
return;
|
|
@@ -645,7 +703,7 @@ export class ProfileDialogComponent extends BaseAngularComponent {
|
|
|
645
703
|
return preference === 'system' ? `${themeName} · System` : themeName;
|
|
646
704
|
}
|
|
647
705
|
static ɵfac = /*@__PURE__*/ (() => { let ɵProfileDialogComponent_BaseFactory; return function ProfileDialogComponent_Factory(__ngFactoryType__) { return (ɵProfileDialogComponent_BaseFactory || (ɵProfileDialogComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ProfileDialogComponent)))(__ngFactoryType__ || ProfileDialogComponent); }; })();
|
|
648
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfileDialogComponent, selectors: [["mj-profile-dialog"]], inputs: { AvatarUrl: "AvatarUrl", AvatarIconClass: "AvatarIconClass" }, outputs: { CloseRequested: "CloseRequested" }, features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
706
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfileDialogComponent, selectors: [["mj-profile-dialog"]], inputs: { AvatarUrl: "AvatarUrl", AvatarIconClass: "AvatarIconClass" }, outputs: { CloseRequested: "CloseRequested" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 64, vars: 18, consts: [["role", "document", 1, "mj-profile"], ["type", "button", "aria-label", "Close", 1, "mj-profile__close", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "mj-profile__main"], [1, "mj-profile__hero"], [1, "mj-profile__hero-title"], [1, "mj-profile__avatar-zone"], ["alt", "", 1, "mj-profile__avatar", "mj-profile__avatar--img", 3, "src"], [1, "mj-profile__avatar", "mj-profile__avatar--icon"], [1, "mj-profile__avatar"], ["type", "button", "title", "Change photo", 1, "mj-profile__avatar-edit", 3, "click"], [1, "fa-solid", "fa-camera"], [1, "mj-profile__identity"], [1, "mj-profile__name"], [1, "mj-profile__email"], [1, "mj-profile__chips"], [1, "mj-profile__scroll"], [1, "mj-profile__field-list"], [1, "mj-profile__field"], [1, "mj-profile__field-icon"], [1, "fa-solid", "fa-id-badge"], [1, "mj-profile__field-body"], [1, "mj-profile__field-label"], [1, "mj-profile__field-value"], [1, "mj-profile__field-muted"], ["type", "button", 1, "mj-profile__field", "mj-profile__field--button", 3, "click"], [1, "fa-solid", "fa-palette"], [1, "fa-solid", "fa-chevron-right", "mj-profile__field-chev"], [1, "mj-profile__section"], [1, "mj-profile__section-head"], [1, "mj-profile__unread"], [1, "mj-profile__channels-loading"], [1, "mj-profile__channels"], [1, "mj-profile__footer"], ["type", "button", 1, "mj-profile__btn", "mj-profile__btn--danger", 3, "click"], [1, "fa-solid", "fa-arrow-right-from-bracket"], [1, "mj-profile__spacer"], ["type", "button", 1, "mj-profile__btn", "mj-profile__btn--primary", 3, "click"], [1, "mj-profile__panel"], [1, "mj-profile__panel-header"], ["type", "button", "aria-label", "Back", 1, "mj-profile__panel-back", 3, "click"], [1, "fa-solid", "fa-arrow-left"], [1, "mj-profile__panel-title"], [1, "mj-profile__panel-body"], [1, "mj-profile__themes"], ["alt", "", 1, "mj-profile__avatar", "mj-profile__avatar--img", 3, "error", "src"], [1, "mj-profile__chip", 3, "class"], [1, "mj-profile__chip"], [3, "class"], ["type", "button", "data-testid", "omnibar-toggle", 1, "mj-profile__channel", 3, "click", "disabled"], [1, "mj-profile__channel-icon"], [1, "fa-solid", "fa-magnifying-glass"], [1, "mj-profile__channel-label"], [1, "mj-profile__channel-hint"], [1, "mj-profile__channel-state"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "mj-profile__switch", 3, "mj-profile__switch--on"], [1, "mj-profile__switch"], [1, "mj-profile__switch-knob"], ["type", "button", "data-testid", "forking-toggle", "role", "switch", 1, "mj-profile__channel", 3, "click", "disabled"], ["aria-hidden", "true", 1, "fa-solid", "fa-code-branch"], ["type", "button", 1, "mj-profile__channel", 3, "mj-profile__channel--on", "disabled"], ["type", "button", 1, "mj-profile__channel", 3, "click", "disabled"], ["type", "button", 1, "mj-profile__theme", 3, "mj-profile__theme--active", "mj-profile__theme--saving", "disabled"], ["type", "button", 1, "mj-profile__theme", 3, "click", "disabled"], [1, "mj-profile__theme-swatch"], [1, "mj-profile__theme-info"], [1, "mj-profile__theme-name"], [1, "mj-profile__theme-desc"], [1, "fa-solid", "fa-spinner", "fa-spin", "mj-profile__theme-check"], [1, "fa-solid", "fa-check", "mj-profile__theme-check"], [1, "mj-profile__theme-sep"], ["type", "button", 1, "mj-profile__theme", 3, "mj-profile__theme--active"], ["type", "button", 1, "mj-profile__theme", 3, "click"], [1, "mj-profile__theme-swatch", "mj-profile__brand-swatch"], [3, "background"]], template: function ProfileDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
649
707
|
i0.ɵɵelementStart(0, "div", 0)(1, "button", 1);
|
|
650
708
|
i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_1_listener() { return ctx.OnCloseClick(); });
|
|
651
709
|
i0.ɵɵelement(2, "i", 2);
|
|
@@ -691,32 +749,33 @@ export class ProfileDialogComponent extends BaseAngularComponent {
|
|
|
691
749
|
i0.ɵɵelement(38, "i", 27);
|
|
692
750
|
i0.ɵɵelementEnd()();
|
|
693
751
|
i0.ɵɵconditionalCreate(39, ProfileDialogComponent_Conditional_39_Template, 15, 5, "div", 28);
|
|
694
|
-
i0.ɵɵ
|
|
695
|
-
i0.ɵɵ
|
|
752
|
+
i0.ɵɵconditionalCreate(40, ProfileDialogComponent_Conditional_40_Template, 15, 6, "div", 28);
|
|
753
|
+
i0.ɵɵelementStart(41, "div", 28)(42, "div", 29)(43, "h4");
|
|
754
|
+
i0.ɵɵtext(44, "Notifications");
|
|
696
755
|
i0.ɵɵelementEnd();
|
|
697
|
-
i0.ɵɵconditionalCreate(
|
|
756
|
+
i0.ɵɵconditionalCreate(45, ProfileDialogComponent_Conditional_45_Template, 2, 1, "span", 30);
|
|
698
757
|
i0.ɵɵelementEnd();
|
|
699
|
-
i0.ɵɵconditionalCreate(
|
|
758
|
+
i0.ɵɵconditionalCreate(46, ProfileDialogComponent_Conditional_46_Template, 3, 0, "div", 31)(47, ProfileDialogComponent_Conditional_47_Template, 3, 0, "div", 32);
|
|
700
759
|
i0.ɵɵelementEnd()();
|
|
701
|
-
i0.ɵɵelementStart(
|
|
702
|
-
i0.ɵɵlistener("click", function
|
|
703
|
-
i0.ɵɵelement(
|
|
704
|
-
i0.ɵɵtext(
|
|
760
|
+
i0.ɵɵelementStart(48, "div", 33)(49, "button", 34);
|
|
761
|
+
i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_49_listener() { return ctx.OnSignOut(); });
|
|
762
|
+
i0.ɵɵelement(50, "i", 35);
|
|
763
|
+
i0.ɵɵtext(51, " Sign out ");
|
|
705
764
|
i0.ɵɵelementEnd();
|
|
706
|
-
i0.ɵɵelement(
|
|
707
|
-
i0.ɵɵelementStart(
|
|
708
|
-
i0.ɵɵlistener("click", function
|
|
709
|
-
i0.ɵɵtext(
|
|
765
|
+
i0.ɵɵelement(52, "span", 36);
|
|
766
|
+
i0.ɵɵelementStart(53, "button", 37);
|
|
767
|
+
i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_53_listener() { return ctx.OnCloseClick(); });
|
|
768
|
+
i0.ɵɵtext(54, " Done ");
|
|
710
769
|
i0.ɵɵelementEnd()()();
|
|
711
|
-
i0.ɵɵelementStart(
|
|
712
|
-
i0.ɵɵlistener("click", function
|
|
713
|
-
i0.ɵɵelement(
|
|
770
|
+
i0.ɵɵelementStart(55, "div", 38)(56, "div", 39)(57, "button", 40);
|
|
771
|
+
i0.ɵɵlistener("click", function ProfileDialogComponent_Template_button_click_57_listener() { return ctx.ClosePanel(); });
|
|
772
|
+
i0.ɵɵelement(58, "i", 41);
|
|
714
773
|
i0.ɵɵelementEnd();
|
|
715
|
-
i0.ɵɵelementStart(
|
|
716
|
-
i0.ɵɵtext(
|
|
774
|
+
i0.ɵɵelementStart(59, "h3", 42);
|
|
775
|
+
i0.ɵɵtext(60);
|
|
717
776
|
i0.ɵɵelementEnd()();
|
|
718
|
-
i0.ɵɵelementStart(
|
|
719
|
-
i0.ɵɵconditionalCreate(
|
|
777
|
+
i0.ɵɵelementStart(61, "div", 43);
|
|
778
|
+
i0.ɵɵconditionalCreate(62, ProfileDialogComponent_Conditional_62_Template, 1, 0, "mj-user-profile-settings")(63, ProfileDialogComponent_Conditional_63_Template, 4, 1, "div", 44);
|
|
720
779
|
i0.ɵɵelementEnd()()();
|
|
721
780
|
} if (rf & 2) {
|
|
722
781
|
i0.ɵɵclassProp("mj-profile--panel-open", ctx.ActivePanel !== "none");
|
|
@@ -736,16 +795,18 @@ export class ProfileDialogComponent extends BaseAngularComponent {
|
|
|
736
795
|
i0.ɵɵtextInterpolate(ctx.ThemeLabel);
|
|
737
796
|
i0.ɵɵadvance(2);
|
|
738
797
|
i0.ɵɵconditional(ctx.OmnibarAvailable ? 39 : -1);
|
|
798
|
+
i0.ɵɵadvance();
|
|
799
|
+
i0.ɵɵconditional(ctx.ForkingAvailable ? 40 : -1);
|
|
739
800
|
i0.ɵɵadvance(5);
|
|
740
|
-
i0.ɵɵconditional(ctx.UnreadCount > 0 ?
|
|
801
|
+
i0.ɵɵconditional(ctx.UnreadCount > 0 ? 45 : -1);
|
|
741
802
|
i0.ɵɵadvance();
|
|
742
|
-
i0.ɵɵconditional(ctx.LoadingNotifications ?
|
|
803
|
+
i0.ɵɵconditional(ctx.LoadingNotifications ? 46 : 47);
|
|
743
804
|
i0.ɵɵadvance(9);
|
|
744
805
|
i0.ɵɵclassProp("mj-profile__panel--open", ctx.ActivePanel !== "none");
|
|
745
806
|
i0.ɵɵadvance(5);
|
|
746
807
|
i0.ɵɵtextInterpolate(ctx.PanelTitle);
|
|
747
808
|
i0.ɵɵadvance(2);
|
|
748
|
-
i0.ɵɵconditional(ctx.ActivePanel === "photo" ?
|
|
809
|
+
i0.ɵɵconditional(ctx.ActivePanel === "photo" ? 62 : ctx.ActivePanel === "theme" ? 63 : -1);
|
|
749
810
|
} }, dependencies: [CommonModule, ExplorerSettingsModule, i1.UserProfileSettingsComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n width: 100%;\n height: 100%;\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.mj-profile[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n height: 100%;\n max-height: 100vh;\n max-height: 100dvh;\n min-height: 0;\n position: relative;\n font-family: inherit;\n overflow: hidden;\n}\n.mj-profile__close[_ngcontent-%COMP%] {\n position: absolute;\n top: 12px; right: 12px;\n width: 36px; height: 36px;\n border: none; border-radius: 8px;\n background: rgba(255, 255, 255, 0.18);\n backdrop-filter: blur(8px);\n color: #fff;\n cursor: pointer;\n font-size: 16px;\n display: flex; align-items: center; justify-content: center;\n transition: background 0.15s, opacity 0.2s;\n z-index: 4;\n}\n.mj-profile__close[_ngcontent-%COMP%]:hover { background: rgba(255, 255, 255, 0.3); }\n.mj-profile--panel-open[_ngcontent-%COMP%] .mj-profile__close[_ngcontent-%COMP%] { opacity: 0; pointer-events: none; }\n\n\n\n\n\n.mj-profile__main[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);\n}\n.mj-profile--panel-open[_ngcontent-%COMP%] .mj-profile__main[_ngcontent-%COMP%] {\n transform: translateX(-12%);\n pointer-events: none;\n}\n\n.mj-profile__hero[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #264FAF 0%, #0076b6 100%);\n color: #fff;\n padding: 22px 24px 56px;\n position: relative;\n overflow: hidden;\n flex-shrink: 0;\n}\n.mj-profile__hero[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n inset: -50%;\n background: radial-gradient(circle, rgba(255, 255, 255, 0.10) 0%, transparent 60%);\n animation: _ngcontent-%COMP%_mj-profile-rotate 24s linear infinite;\n pointer-events: none;\n}\n@media (prefers-reduced-motion: reduce) {\n .mj-profile__hero[_ngcontent-%COMP%]::before { animation: none; }\n}\n@keyframes _ngcontent-%COMP%_mj-profile-rotate { to { transform: rotate(360deg); } }\n\n.mj-profile__hero-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 12px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 1.2px;\n opacity: 0.85;\n position: relative;\n z-index: 1;\n}\n\n.mj-profile__avatar-zone[_ngcontent-%COMP%] {\n position: relative;\n width: 96px;\n height: 96px;\n margin: -48px auto 12px;\n z-index: 2;\n}\n.mj-profile__avatar[_ngcontent-%COMP%] {\n width: 96px;\n height: 96px;\n border-radius: 50%;\n background: linear-gradient(135deg, #264FAF 0%, #0076b6 100%);\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 32px;\n font-weight: 700;\n border: 4px solid var(--mj-bg-surface);\n box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);\n object-fit: cover;\n overflow: hidden;\n}\nimg.mj-profile__avatar[_ngcontent-%COMP%] { background: var(--mj-bg-surface-card); }\n.mj-profile__avatar--icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] { font-size: 36px; }\n\n.mj-profile__avatar-edit[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 2px; right: 2px;\n width: 30px; height: 30px;\n border-radius: 50%;\n background: var(--mj-bg-surface);\n color: var(--mj-brand-primary);\n border: 2px solid var(--mj-bg-surface);\n cursor: pointer;\n display: flex; align-items: center; justify-content: center;\n font-size: 12px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);\n transition: transform 0.15s;\n}\n.mj-profile__avatar-edit[_ngcontent-%COMP%]:hover { transform: scale(1.1); }\n\n.mj-profile__identity[_ngcontent-%COMP%] {\n text-align: center;\n padding: 0 24px 16px;\n flex-shrink: 0;\n}\n.mj-profile__name[_ngcontent-%COMP%] {\n margin: 0 0 4px;\n font-size: 22px;\n font-weight: 700;\n letter-spacing: -0.4px;\n color: var(--mj-text-primary);\n}\n.mj-profile__email[_ngcontent-%COMP%] {\n margin: 0 0 12px;\n color: var(--mj-text-muted);\n font-size: 13px;\n word-break: break-all;\n}\n.mj-profile__chips[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n justify-content: center;\n}\n.mj-profile__chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 9px;\n border-radius: 100px;\n font-size: 11px;\n font-weight: 600;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, transparent);\n color: var(--mj-brand-primary);\n}\n.mj-profile__chip--admin[_ngcontent-%COMP%] {\n background: color-mix(in srgb, #f59e0b 14%, transparent);\n color: #b45309;\n}\n.mj-profile__chip--dev[_ngcontent-%COMP%] {\n background: color-mix(in srgb, #10b981 14%, transparent);\n color: #047857;\n}\n\n\n\n\n\n.mj-profile__scroll[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n\n.mj-profile__field-list[_ngcontent-%COMP%] {\n padding: 0 24px;\n}\n.mj-profile__field[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n padding: 12px 0;\n gap: 14px;\n border-top: 1px solid var(--mj-border-subtle);\n width: 100%;\n text-align: left;\n background: transparent;\n border-left: none;\n border-right: none;\n border-bottom: none;\n font-family: inherit;\n color: inherit;\n}\n.mj-profile__field[_ngcontent-%COMP%]:first-child { border-top: none; }\n.mj-profile__field--button[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: background 0.12s;\n margin: 0 -8px;\n padding-left: 8px;\n padding-right: 8px;\n border-radius: 8px;\n border-top: none;\n}\n.mj-profile__field--button[_ngcontent-%COMP%] + .mj-profile__field--button[_ngcontent-%COMP%] { margin-top: 0; }\n.mj-profile__field--button[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); }\n.mj-profile__field--button[_ngcontent-%COMP%]:hover .mj-profile__field-chev[_ngcontent-%COMP%] { color: var(--mj-brand-primary); }\n.mj-profile__field-icon[_ngcontent-%COMP%] {\n width: 32px; height: 32px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 8px;\n color: var(--mj-text-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n flex-shrink: 0;\n}\n.mj-profile__field-body[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.mj-profile__field-label[_ngcontent-%COMP%] {\n font-size: 10.5px;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.5px;\n}\n.mj-profile__field-value[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-primary);\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.mj-profile__field-muted[_ngcontent-%COMP%] { color: var(--mj-text-muted); }\n.mj-profile__field-chev[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 11px;\n transition: color 0.15s;\n}\n\n.mj-profile__section[_ngcontent-%COMP%] {\n padding: 16px 24px 8px;\n}\n.mj-profile__section-head[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 10px;\n}\n.mj-profile__section-head[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 11px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.6px;\n}\n.mj-profile__unread[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n padding: 2px 8px;\n border-radius: 100px;\n}\n.mj-profile__channels-loading[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 12.5px;\n padding: 12px;\n text-align: center;\n}\n.mj-profile__channels[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.mj-profile__channel[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.15s;\n font-family: inherit;\n text-align: left;\n width: 100%;\n}\n.mj-profile__channel[_ngcontent-%COMP%]:hover:not(:disabled) {\n border-color: var(--mj-border-default);\n background: var(--mj-bg-surface-hover);\n}\n.mj-profile__channel[_ngcontent-%COMP%]:disabled { cursor: wait; opacity: 0.7; }\n.mj-profile__channel-icon[_ngcontent-%COMP%] {\n width: 32px; height: 32px;\n border-radius: 8px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n display: flex; align-items: center; justify-content: center;\n font-size: 13px;\n flex-shrink: 0;\n transition: all 0.15s;\n}\n.mj-profile__channel--on[_ngcontent-%COMP%] .mj-profile__channel-icon[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-brand-primary) 14%, transparent);\n color: var(--mj-brand-primary);\n}\n.mj-profile__channel-label[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 13.5px;\n font-weight: 500;\n color: var(--mj-text-primary);\n}\n.mj-profile__channel-hint[_ngcontent-%COMP%] {\n font-size: 11.5px;\n font-weight: 400;\n color: var(--mj-text-muted);\n margin-top: 2px;\n}\n.mj-profile__channel-state[_ngcontent-%COMP%] {\n flex-shrink: 0;\n color: var(--mj-text-muted);\n font-size: 13px;\n min-width: 36px;\n display: flex; justify-content: flex-end; align-items: center;\n}\n\n.mj-profile__switch[_ngcontent-%COMP%] {\n width: 36px;\n height: 20px;\n background: var(--mj-border-strong);\n border-radius: 100px;\n position: relative;\n transition: background 0.2s;\n display: inline-block;\n}\n.mj-profile__switch-knob[_ngcontent-%COMP%] {\n position: absolute;\n top: 2px; left: 2px;\n width: 16px; height: 16px;\n background: white;\n border-radius: 50%;\n transition: transform 0.2s;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n.mj-profile__switch--on[_ngcontent-%COMP%] { background: var(--mj-brand-primary); }\n.mj-profile__switch--on[_ngcontent-%COMP%] .mj-profile__switch-knob[_ngcontent-%COMP%] { transform: translateX(16px); }\n\n.mj-profile__footer[_ngcontent-%COMP%] {\n border-top: 1px solid var(--mj-border-subtle);\n padding: 14px 20px;\n display: flex;\n gap: 8px;\n align-items: center;\n flex-shrink: 0;\n}\n.mj-profile__spacer[_ngcontent-%COMP%] { flex: 1; }\n.mj-profile__btn[_ngcontent-%COMP%] {\n padding: 9px 16px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n font-family: inherit;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n transition: all 0.15s;\n}\n.mj-profile__btn[_ngcontent-%COMP%]:hover { background: var(--mj-bg-surface-hover); border-color: var(--mj-border-strong); }\n.mj-profile__btn--primary[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n}\n.mj-profile__btn--primary[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n border-color: color-mix(in srgb, var(--mj-brand-primary) 88%, black);\n}\n.mj-profile__btn--danger[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n border-color: color-mix(in srgb, var(--mj-status-error) 30%, var(--mj-border-default));\n}\n.mj-profile__btn--danger[_ngcontent-%COMP%]:hover {\n background: color-mix(in srgb, var(--mj-status-error) 8%, transparent);\n border-color: var(--mj-status-error);\n}\n\n\n.mj-profile__panel[_ngcontent-%COMP%] {\n position: absolute;\n inset: 0;\n background: var(--mj-bg-surface);\n transform: translateX(100%);\n transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);\n display: flex;\n flex-direction: column;\n z-index: 3;\n}\n.mj-profile__panel--open[_ngcontent-%COMP%] {\n transform: translateX(0);\n box-shadow: -8px 0 24px rgba(0, 0, 0, 0.06);\n}\n.mj-profile__panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 18px;\n border-bottom: 1px solid var(--mj-border-subtle);\n background: var(--mj-bg-surface-card);\n flex-shrink: 0;\n}\n.mj-profile__panel-back[_ngcontent-%COMP%] {\n width: 34px; height: 34px;\n border-radius: 8px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n cursor: pointer;\n display: flex; align-items: center; justify-content: center;\n font-size: 13px;\n transition: all 0.15s;\n font-family: inherit;\n}\n.mj-profile__panel-back[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n}\n.mj-profile__panel-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n letter-spacing: -0.2px;\n}\n.mj-profile__panel-body[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n padding: 16px 20px 20px;\n}\n\n\n.mj-profile__themes[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.mj-profile__theme[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 12px 14px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-subtle);\n border-radius: 10px;\n cursor: pointer;\n transition: all 0.15s;\n text-align: left;\n width: 100%;\n font-family: inherit;\n}\n.mj-profile__theme[_ngcontent-%COMP%]:hover:not(:disabled) {\n border-color: var(--mj-brand-primary);\n background: var(--mj-bg-surface-hover);\n}\n.mj-profile__theme[_ngcontent-%COMP%]:disabled { cursor: wait; opacity: 0.7; }\n.mj-profile__theme--active[_ngcontent-%COMP%] {\n border-color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface-card));\n}\n.mj-profile__theme-swatch[_ngcontent-%COMP%] {\n width: 40px; height: 40px;\n border-radius: 10px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 16px;\n flex-shrink: 0;\n border: 1px solid var(--mj-border-default);\n}\n.mj-profile__theme-swatch--light[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);\n color: #f59e0b;\n}\n.mj-profile__theme-swatch--dark[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);\n color: #94a3b8;\n border-color: #334155;\n}\n.mj-profile__theme-swatch--system[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #ffffff 0%, #ffffff 49%, #1e293b 51%, #0f172a 100%);\n color: var(--mj-text-secondary);\n}\n.mj-profile__theme-info[_ngcontent-%COMP%] { flex: 1; min-width: 0; }\n.mj-profile__theme-name[_ngcontent-%COMP%] {\n font-size: 13.5px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n.mj-profile__theme-desc[_ngcontent-%COMP%] {\n font-size: 11.5px;\n color: var(--mj-text-muted);\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.mj-profile__theme-check[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 14px;\n flex-shrink: 0;\n}\n\n\n.mj-profile__theme-sep[_ngcontent-%COMP%] {\n font-size: 11px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;\n color: var(--mj-text-muted); padding: 6px 4px 2px; margin-top: 6px;\n}\n.mj-profile__brand-swatch[_ngcontent-%COMP%] {\n display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 0;\n}\n.mj-profile__brand-swatch[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n width: 33%; height: 100%; display: block;\n}\n\n@media (max-width: 480px) {\n .mj-profile__hero[_ngcontent-%COMP%] { padding: 20px 18px 48px; }\n .mj-profile__avatar-zone[_ngcontent-%COMP%] { width: 88px; height: 88px; margin-top: -44px; }\n .mj-profile__avatar[_ngcontent-%COMP%] { width: 88px; height: 88px; font-size: 28px; }\n .mj-profile__name[_ngcontent-%COMP%] { font-size: 19px; }\n .mj-profile__field-list[_ngcontent-%COMP%], \n .mj-profile__section[_ngcontent-%COMP%] { padding-left: 18px; padding-right: 18px; }\n .mj-profile__footer[_ngcontent-%COMP%] { padding: 12px 16px; }\n .mj-profile--panel-open[_ngcontent-%COMP%] .mj-profile__main[_ngcontent-%COMP%] { transform: translateX(-20%); }\n .mj-profile__panel-body[_ngcontent-%COMP%] { padding: 14px 16px 16px; }\n}"] });
|
|
750
811
|
}
|
|
751
812
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProfileDialogComponent, [{
|
|
@@ -851,6 +912,35 @@ export class ProfileDialogComponent extends BaseAngularComponent {
|
|
|
851
912
|
</div>
|
|
852
913
|
}
|
|
853
914
|
|
|
915
|
+
@if (ForkingAvailable) {
|
|
916
|
+
<div class="mj-profile__section">
|
|
917
|
+
<div class="mj-profile__section-head">
|
|
918
|
+
<h4>Conversations</h4>
|
|
919
|
+
</div>
|
|
920
|
+
<div class="mj-profile__channels">
|
|
921
|
+
<button type="button"
|
|
922
|
+
class="mj-profile__channel"
|
|
923
|
+
data-testid="forking-toggle"
|
|
924
|
+
role="switch"
|
|
925
|
+
[attr.aria-checked]="ForkingEnabled"
|
|
926
|
+
[class.mj-profile__channel--on]="ForkingEnabled"
|
|
927
|
+
[disabled]="SavingForking"
|
|
928
|
+
(click)="ToggleForking()">
|
|
929
|
+
<div class="mj-profile__channel-icon"><i class="fa-solid fa-code-branch" aria-hidden="true"></i></div>
|
|
930
|
+
<div class="mj-profile__channel-label">
|
|
931
|
+
Fork when I edit or regenerate
|
|
932
|
+
<div class="mj-profile__channel-hint">When off, Edit and Regenerate change the latest turn in place.</div>
|
|
933
|
+
</div>
|
|
934
|
+
<div class="mj-profile__channel-state">
|
|
935
|
+
<span class="mj-profile__switch" [class.mj-profile__switch--on]="ForkingEnabled">
|
|
936
|
+
<span class="mj-profile__switch-knob"></span>
|
|
937
|
+
</span>
|
|
938
|
+
</div>
|
|
939
|
+
</button>
|
|
940
|
+
</div>
|
|
941
|
+
</div>
|
|
942
|
+
}
|
|
943
|
+
|
|
854
944
|
<div class="mj-profile__section">
|
|
855
945
|
<div class="mj-profile__section-head">
|
|
856
946
|
<h4>Notifications</h4>
|
|
@@ -968,5 +1058,5 @@ export class ProfileDialogComponent extends BaseAngularComponent {
|
|
|
968
1058
|
}], AvatarIconClass: [{
|
|
969
1059
|
type: Input
|
|
970
1060
|
}] }); })();
|
|
971
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileDialogComponent, { className: "ProfileDialogComponent", filePath: "src/lib/profile/profile-dialog.component.ts", lineNumber:
|
|
1061
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProfileDialogComponent, { className: "ProfileDialogComponent", filePath: "src/lib/profile/profile-dialog.component.ts", lineNumber: 870 }); })();
|
|
972
1062
|
//# sourceMappingURL=profile-dialog.component.js.map
|