@eric-emg/symphiq-components 1.2.393 → 1.2.396
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/fesm2022/symphiq-components.mjs +1429 -1337
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +41 -35
- package/index.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -21,6 +21,7 @@ import { Root, color, Tooltip, Bullet, Circle, Legend, percent, LinearGradient,
|
|
|
21
21
|
import { XYChart, CategoryAxis, AxisRendererX, ValueAxis, AxisRendererY, XYCursor, LineSeries, DateAxis, ColumnSeries } from '@amcharts/amcharts5/xy';
|
|
22
22
|
import am5themes_Animated from '@amcharts/amcharts5/themes/Animated';
|
|
23
23
|
import { PieChart, PieSeries } from '@amcharts/amcharts5/percent';
|
|
24
|
+
import { EMAIL_IS_EMG_APPS } from '@jebgem/util';
|
|
24
25
|
|
|
25
26
|
class FunnelOrderService {
|
|
26
27
|
constructor() {
|
|
@@ -49482,9 +49483,6 @@ class SymphiqFunnelAnalysisDashboardComponent {
|
|
|
49482
49483
|
* Provides reusable color computation functions for consistent theming
|
|
49483
49484
|
* across dashboard and preview components. Supports light and dark modes.
|
|
49484
49485
|
*/
|
|
49485
|
-
function EMAIL_IS_EMG_APPS(email) {
|
|
49486
|
-
return email?.endsWith('@emgapps.com') ?? false;
|
|
49487
|
-
}
|
|
49488
49486
|
/**
|
|
49489
49487
|
* Determine if the current view mode is light
|
|
49490
49488
|
*/
|
|
@@ -68328,23 +68326,47 @@ class SymphiqBusinessAnalysisDashboardComponent {
|
|
|
68328
68326
|
function DashboardHeaderComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
68329
68327
|
i0.ɵɵelement(0, "div", 6);
|
|
68330
68328
|
} }
|
|
68331
|
-
function
|
|
68332
|
-
i0.ɵɵ
|
|
68329
|
+
function DashboardHeaderComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
68330
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
68331
|
+
i0.ɵɵelementStart(0, "div", 7)(1, "symphiq-search-button", 16);
|
|
68332
|
+
i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_11_Template_symphiq_search_button_searchClick_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
|
|
68333
|
+
i0.ɵɵelementEnd();
|
|
68334
|
+
i0.ɵɵelementStart(2, "button", 17);
|
|
68335
|
+
i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_11_Template_button_click_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
|
|
68336
|
+
i0.ɵɵnamespaceSVG();
|
|
68337
|
+
i0.ɵɵelementStart(3, "svg", 18);
|
|
68338
|
+
i0.ɵɵelement(4, "path", 19)(5, "path", 20);
|
|
68339
|
+
i0.ɵɵelementEnd();
|
|
68340
|
+
i0.ɵɵnamespaceHTML();
|
|
68341
|
+
i0.ɵɵelementStart(6, "span");
|
|
68342
|
+
i0.ɵɵtext(7);
|
|
68343
|
+
i0.ɵɵelementEnd()()();
|
|
68344
|
+
} if (rf & 2) {
|
|
68345
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
68346
|
+
i0.ɵɵadvance();
|
|
68347
|
+
i0.ɵɵproperty("isLightMode", ctx_r1.isLightMode());
|
|
68348
|
+
i0.ɵɵadvance();
|
|
68349
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getViewModeButtonClasses());
|
|
68350
|
+
i0.ɵɵadvance(5);
|
|
68351
|
+
i0.ɵɵtextInterpolate(ctx_r1.viewModeLabel());
|
|
68352
|
+
} }
|
|
68353
|
+
function DashboardHeaderComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
68354
|
+
i0.ɵɵelementStart(0, "div", 9)(1, "div", 10);
|
|
68333
68355
|
i0.ɵɵtext(2, "Generated At");
|
|
68334
68356
|
i0.ɵɵelementEnd();
|
|
68335
|
-
i0.ɵɵelementStart(3, "div",
|
|
68357
|
+
i0.ɵɵelementStart(3, "div", 11);
|
|
68336
68358
|
i0.ɵɵtext(4);
|
|
68337
68359
|
i0.ɵɵelementEnd()();
|
|
68338
68360
|
} if (rf & 2) {
|
|
68339
|
-
const
|
|
68361
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
68340
68362
|
i0.ɵɵadvance();
|
|
68341
|
-
i0.ɵɵclassMap(
|
|
68363
|
+
i0.ɵɵclassMap(ctx_r1.metaLabelClass());
|
|
68342
68364
|
i0.ɵɵadvance(2);
|
|
68343
|
-
i0.ɵɵclassMap(
|
|
68365
|
+
i0.ɵɵclassMap(ctx_r1.headerTitleClass());
|
|
68344
68366
|
i0.ɵɵadvance();
|
|
68345
|
-
i0.ɵɵtextInterpolate(
|
|
68367
|
+
i0.ɵɵtextInterpolate(ctx_r1.formattedGeneratedDate());
|
|
68346
68368
|
} }
|
|
68347
|
-
function
|
|
68369
|
+
function DashboardHeaderComponent_Conditional_26_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
68348
68370
|
i0.ɵɵelementStart(0, "span", 5);
|
|
68349
68371
|
i0.ɵɵtext(1, "\u203A");
|
|
68350
68372
|
i0.ɵɵelementEnd();
|
|
@@ -68352,27 +68374,44 @@ function DashboardHeaderComponent_Conditional_33_Conditional_3_Template(rf, ctx)
|
|
|
68352
68374
|
i0.ɵɵtext(3);
|
|
68353
68375
|
i0.ɵɵelementEnd();
|
|
68354
68376
|
} if (rf & 2) {
|
|
68355
|
-
const
|
|
68356
|
-
i0.ɵɵproperty("ngClass",
|
|
68377
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
68378
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-400" : "text-slate-500");
|
|
68357
68379
|
i0.ɵɵadvance(2);
|
|
68358
|
-
i0.ɵɵproperty("ngClass",
|
|
68380
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-500" : "text-slate-500");
|
|
68359
68381
|
i0.ɵɵadvance();
|
|
68360
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
68382
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.currentSubsection(), " ");
|
|
68361
68383
|
} }
|
|
68362
|
-
function
|
|
68363
|
-
i0.ɵɵelementStart(0, "div",
|
|
68384
|
+
function DashboardHeaderComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
68385
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "span", 5);
|
|
68364
68386
|
i0.ɵɵtext(2);
|
|
68365
68387
|
i0.ɵɵelementEnd();
|
|
68366
|
-
i0.ɵɵconditionalCreate(3,
|
|
68388
|
+
i0.ɵɵconditionalCreate(3, DashboardHeaderComponent_Conditional_26_Conditional_3_Template, 4, 3);
|
|
68367
68389
|
i0.ɵɵelementEnd();
|
|
68368
68390
|
} if (rf & 2) {
|
|
68369
|
-
const
|
|
68391
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
68370
68392
|
i0.ɵɵadvance();
|
|
68371
|
-
i0.ɵɵproperty("ngClass",
|
|
68393
|
+
i0.ɵɵproperty("ngClass", ctx_r1.isLightMode() ? "text-slate-600 font-medium" : "text-slate-400 font-medium");
|
|
68372
68394
|
i0.ɵɵadvance();
|
|
68373
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
68395
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r1.currentSection(), " ");
|
|
68374
68396
|
i0.ɵɵadvance();
|
|
68375
|
-
i0.ɵɵconditional(
|
|
68397
|
+
i0.ɵɵconditional(ctx_r1.currentSubsection() ? 3 : -1);
|
|
68398
|
+
} }
|
|
68399
|
+
function DashboardHeaderComponent_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
68400
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
68401
|
+
i0.ɵɵelementStart(0, "symphiq-search-button", 21);
|
|
68402
|
+
i0.ɵɵlistener("searchClick", function DashboardHeaderComponent_Conditional_27_Template_symphiq_search_button_searchClick_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSearchClick()); });
|
|
68403
|
+
i0.ɵɵelementEnd();
|
|
68404
|
+
i0.ɵɵelementStart(1, "button", 22);
|
|
68405
|
+
i0.ɵɵlistener("click", function DashboardHeaderComponent_Conditional_27_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onViewModeClick()); });
|
|
68406
|
+
i0.ɵɵnamespaceSVG();
|
|
68407
|
+
i0.ɵɵelementStart(2, "svg", 18);
|
|
68408
|
+
i0.ɵɵelement(3, "path", 19)(4, "path", 20);
|
|
68409
|
+
i0.ɵɵelementEnd()();
|
|
68410
|
+
} if (rf & 2) {
|
|
68411
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
68412
|
+
i0.ɵɵproperty("isLightMode", ctx_r1.isLightMode())("minimized", true);
|
|
68413
|
+
i0.ɵɵadvance();
|
|
68414
|
+
i0.ɵɵproperty("ngClass", ctx_r1.getViewModeButtonClasses());
|
|
68376
68415
|
} }
|
|
68377
68416
|
class DashboardHeaderComponent {
|
|
68378
68417
|
constructor() {
|
|
@@ -68385,6 +68424,7 @@ class DashboardHeaderComponent {
|
|
|
68385
68424
|
this.currentSection = input(...(ngDevMode ? [undefined, { debugName: "currentSection" }] : []));
|
|
68386
68425
|
this.currentSubsection = input(...(ngDevMode ? [undefined, { debugName: "currentSubsection" }] : []));
|
|
68387
68426
|
this.isLoading = input(...(ngDevMode ? [undefined, { debugName: "isLoading" }] : []));
|
|
68427
|
+
this.showControls = input(true, ...(ngDevMode ? [{ debugName: "showControls" }] : []));
|
|
68388
68428
|
this.searchClick = output();
|
|
68389
68429
|
this.viewModeClick = output();
|
|
68390
68430
|
this.headerScrollService = inject(HeaderScrollService);
|
|
@@ -68441,7 +68481,7 @@ class DashboardHeaderComponent {
|
|
|
68441
68481
|
: 'bg-slate-800 hover:bg-slate-700 text-slate-300 border border-slate-700';
|
|
68442
68482
|
}
|
|
68443
68483
|
static { this.ɵfac = function DashboardHeaderComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || DashboardHeaderComponent)(); }; }
|
|
68444
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardHeaderComponent, selectors: [["symphiq-dashboard-header"]], inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], viewModeLabel: [1, "viewModeLabel"], currentSection: [1, "currentSection"], currentSubsection: [1, "currentSubsection"], isLoading: [1, "isLoading"] }, outputs: { searchClick: "searchClick", viewModeClick: "viewModeClick" }, decls:
|
|
68484
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: DashboardHeaderComponent, selectors: [["symphiq-dashboard-header"]], inputs: { requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], title: [1, "title"], subtitle: [1, "subtitle"], viewMode: [1, "viewMode"], viewModeLabel: [1, "viewModeLabel"], currentSection: [1, "currentSection"], currentSubsection: [1, "currentSubsection"], isLoading: [1, "isLoading"], showControls: [1, "showControls"] }, outputs: { searchClick: "searchClick", viewModeClick: "viewModeClick" }, decls: 28, vars: 42, consts: [[1, "sticky", "top-0", "z-50", 3, "ngClass"], [1, "transition-all", "duration-300", "ease-in-out", "overflow-hidden"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-8"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [3, "ngClass"], ["title", "Refreshing data...", 1, "animate-spin", "w-4", "h-4", "border-2", "border-blue-500/30", "border-t-blue-500", "rounded-full"], [1, "flex", "items-center", "gap-2"], [1, "flex", "flex-col", "gap-4", "min-w-[180px]"], [1, "text-left", "sm:text-right"], [1, "text-xs", "sm:text-sm"], [1, "text-sm", "sm:text-base", "font-medium"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-3"], [1, "flex-1", "min-w-0", "mr-4"], [1, "flex", "items-center", "gap-4"], [1, "flex", "items-center", "gap-2", "text-sm", "flex-shrink-0"], [3, "searchClick", "isLightMode"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-3", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 12a3 3 0 11-6 0 3 3 0 016 0z"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"], [3, "searchClick", "isLightMode", "minimized"], ["type", "button", 1, "cursor-pointer", "flex", "items-center", "gap-2", "px-2", "py-1.5", "rounded-lg", "text-xs", "font-medium", "transition-all", "duration-200", "hover:scale-105", 3, "click", "ngClass"]], template: function DashboardHeaderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
68445
68485
|
i0.ɵɵelementStart(0, "header", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div")(5, "div", 4)(6, "h1", 5);
|
|
68446
68486
|
i0.ɵɵtext(7);
|
|
68447
68487
|
i0.ɵɵelementEnd();
|
|
@@ -68450,43 +68490,24 @@ class DashboardHeaderComponent {
|
|
|
68450
68490
|
i0.ɵɵelementStart(9, "p", 5);
|
|
68451
68491
|
i0.ɵɵtext(10);
|
|
68452
68492
|
i0.ɵɵelementEnd()();
|
|
68453
|
-
i0.ɵɵ
|
|
68454
|
-
i0.ɵɵ
|
|
68455
|
-
i0.ɵɵ
|
|
68456
|
-
i0.ɵɵelementStart(
|
|
68457
|
-
i0.ɵɵ
|
|
68458
|
-
i0.ɵɵnamespaceSVG();
|
|
68459
|
-
i0.ɵɵelementStart(14, "svg", 10);
|
|
68460
|
-
i0.ɵɵelement(15, "path", 11)(16, "path", 12);
|
|
68493
|
+
i0.ɵɵconditionalCreate(11, DashboardHeaderComponent_Conditional_11_Template, 8, 3, "div", 7);
|
|
68494
|
+
i0.ɵɵelementStart(12, "div", 8);
|
|
68495
|
+
i0.ɵɵconditionalCreate(13, DashboardHeaderComponent_Conditional_13_Template, 5, 5, "div", 9);
|
|
68496
|
+
i0.ɵɵelementStart(14, "div", 9)(15, "div", 10);
|
|
68497
|
+
i0.ɵɵtext(16, "Requested by");
|
|
68461
68498
|
i0.ɵɵelementEnd();
|
|
68462
|
-
i0.ɵɵ
|
|
68463
|
-
i0.ɵɵelementStart(17, "span");
|
|
68499
|
+
i0.ɵɵelementStart(17, "div", 11);
|
|
68464
68500
|
i0.ɵɵtext(18);
|
|
68465
|
-
i0.ɵɵelementEnd()()();
|
|
68466
|
-
i0.ɵɵelementStart(19, "div", 13);
|
|
68467
|
-
i0.ɵɵconditionalCreate(20, DashboardHeaderComponent_Conditional_20_Template, 5, 5, "div", 14);
|
|
68468
|
-
i0.ɵɵelementStart(21, "div", 14)(22, "div", 15);
|
|
68469
|
-
i0.ɵɵtext(23, "Requested by");
|
|
68470
|
-
i0.ɵɵelementEnd();
|
|
68471
|
-
i0.ɵɵelementStart(24, "div", 16);
|
|
68472
|
-
i0.ɵɵtext(25);
|
|
68473
68501
|
i0.ɵɵelementEnd()()()()()();
|
|
68474
|
-
i0.ɵɵelementStart(
|
|
68475
|
-
i0.ɵɵtext(
|
|
68502
|
+
i0.ɵɵelementStart(19, "div", 1)(20, "div", 12)(21, "div", 3)(22, "div", 13)(23, "h1", 5);
|
|
68503
|
+
i0.ɵɵtext(24);
|
|
68476
68504
|
i0.ɵɵelementEnd()();
|
|
68477
|
-
i0.ɵɵelementStart(
|
|
68478
|
-
i0.ɵɵconditionalCreate(
|
|
68479
|
-
i0.ɵɵ
|
|
68480
|
-
i0.ɵɵ
|
|
68481
|
-
i0.ɵɵelementEnd();
|
|
68482
|
-
i0.ɵɵelementStart(35, "button", 22);
|
|
68483
|
-
i0.ɵɵlistener("click", function DashboardHeaderComponent_Template_button_click_35_listener() { return ctx.onViewModeClick(); });
|
|
68484
|
-
i0.ɵɵnamespaceSVG();
|
|
68485
|
-
i0.ɵɵelementStart(36, "svg", 10);
|
|
68486
|
-
i0.ɵɵelement(37, "path", 11)(38, "path", 12);
|
|
68487
|
-
i0.ɵɵelementEnd()()()()()()();
|
|
68505
|
+
i0.ɵɵelementStart(25, "div", 14);
|
|
68506
|
+
i0.ɵɵconditionalCreate(26, DashboardHeaderComponent_Conditional_26_Template, 4, 3, "div", 15);
|
|
68507
|
+
i0.ɵɵconditionalCreate(27, DashboardHeaderComponent_Conditional_27_Template, 5, 3);
|
|
68508
|
+
i0.ɵɵelementEnd()()()()();
|
|
68488
68509
|
} if (rf & 2) {
|
|
68489
|
-
let
|
|
68510
|
+
let tmp_16_0;
|
|
68490
68511
|
i0.ɵɵproperty("ngClass", ctx.getHeaderClasses());
|
|
68491
68512
|
i0.ɵɵadvance();
|
|
68492
68513
|
i0.ɵɵclassProp("max-h-0", ctx.headerScrollService.isScrolled())("opacity-0", ctx.headerScrollService.isScrolled())("max-h-96", !ctx.headerScrollService.isScrolled())("opacity-100", !ctx.headerScrollService.isScrolled());
|
|
@@ -68502,20 +68523,16 @@ class DashboardHeaderComponent {
|
|
|
68502
68523
|
i0.ɵɵproperty("ngClass", ctx.getSubtitleClasses());
|
|
68503
68524
|
i0.ɵɵadvance();
|
|
68504
68525
|
i0.ɵɵtextInterpolate1(" ", ctx.subtitle(), " ");
|
|
68505
|
-
i0.ɵɵadvance(2);
|
|
68506
|
-
i0.ɵɵproperty("isLightMode", ctx.isLightMode());
|
|
68507
68526
|
i0.ɵɵadvance();
|
|
68508
|
-
i0.ɵɵ
|
|
68509
|
-
i0.ɵɵadvance(5);
|
|
68510
|
-
i0.ɵɵtextInterpolate(ctx.viewModeLabel());
|
|
68527
|
+
i0.ɵɵconditional(ctx.showControls() ? 11 : -1);
|
|
68511
68528
|
i0.ɵɵadvance(2);
|
|
68512
|
-
i0.ɵɵconditional(ctx.formattedGeneratedDate() ?
|
|
68529
|
+
i0.ɵɵconditional(ctx.formattedGeneratedDate() ? 13 : -1);
|
|
68513
68530
|
i0.ɵɵadvance(2);
|
|
68514
68531
|
i0.ɵɵclassMap(ctx.metaLabelClass());
|
|
68515
68532
|
i0.ɵɵadvance(2);
|
|
68516
68533
|
i0.ɵɵclassMap(ctx.headerTitleClass());
|
|
68517
68534
|
i0.ɵɵadvance();
|
|
68518
|
-
i0.ɵɵtextInterpolate2("", (
|
|
68535
|
+
i0.ɵɵtextInterpolate2("", (tmp_16_0 = ctx.requestedByUser()) == null ? null : tmp_16_0.firstName, " ", (tmp_16_0 = ctx.requestedByUser()) == null ? null : tmp_16_0.lastName);
|
|
68519
68536
|
i0.ɵɵadvance();
|
|
68520
68537
|
i0.ɵɵclassProp("max-h-0", !ctx.headerScrollService.isScrolled())("opacity-0", !ctx.headerScrollService.isScrolled())("max-h-20", ctx.headerScrollService.isScrolled())("opacity-100", ctx.headerScrollService.isScrolled());
|
|
68521
68538
|
i0.ɵɵadvance();
|
|
@@ -68525,11 +68542,9 @@ class DashboardHeaderComponent {
|
|
|
68525
68542
|
i0.ɵɵadvance();
|
|
68526
68543
|
i0.ɵɵtextInterpolate1(" ", ctx.title(), " ");
|
|
68527
68544
|
i0.ɵɵadvance(2);
|
|
68528
|
-
i0.ɵɵconditional(ctx.currentSection() ?
|
|
68529
|
-
i0.ɵɵadvance();
|
|
68530
|
-
i0.ɵɵproperty("isLightMode", ctx.isLightMode())("minimized", true);
|
|
68545
|
+
i0.ɵɵconditional(ctx.currentSection() ? 26 : -1);
|
|
68531
68546
|
i0.ɵɵadvance();
|
|
68532
|
-
i0.ɵɵ
|
|
68547
|
+
i0.ɵɵconditional(ctx.showControls() ? 27 : -1);
|
|
68533
68548
|
} }, dependencies: [CommonModule, i1$1.NgClass, SearchButtonComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
68534
68549
|
}
|
|
68535
68550
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DashboardHeaderComponent, [{
|
|
@@ -68566,23 +68581,25 @@ class DashboardHeaderComponent {
|
|
|
68566
68581
|
{{ subtitle() }}
|
|
68567
68582
|
</p>
|
|
68568
68583
|
</div>
|
|
68569
|
-
|
|
68570
|
-
<
|
|
68571
|
-
|
|
68572
|
-
|
|
68573
|
-
|
|
68574
|
-
|
|
68575
|
-
|
|
68576
|
-
|
|
68577
|
-
|
|
68578
|
-
|
|
68579
|
-
|
|
68580
|
-
<
|
|
68581
|
-
|
|
68582
|
-
|
|
68583
|
-
|
|
68584
|
-
|
|
68585
|
-
|
|
68584
|
+
@if (showControls()) {
|
|
68585
|
+
<div class="flex items-center gap-2">
|
|
68586
|
+
<symphiq-search-button
|
|
68587
|
+
[isLightMode]="isLightMode()"
|
|
68588
|
+
(searchClick)="onSearchClick()"
|
|
68589
|
+
/>
|
|
68590
|
+
<button
|
|
68591
|
+
type="button"
|
|
68592
|
+
(click)="onViewModeClick()"
|
|
68593
|
+
[ngClass]="getViewModeButtonClasses()"
|
|
68594
|
+
class="cursor-pointer flex items-center gap-2 px-3 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
|
|
68595
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
68596
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
68597
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
|
|
68598
|
+
</svg>
|
|
68599
|
+
<span>{{ viewModeLabel() }}</span>
|
|
68600
|
+
</button>
|
|
68601
|
+
</div>
|
|
68602
|
+
}
|
|
68586
68603
|
<div class="flex flex-col gap-4 min-w-[180px]">
|
|
68587
68604
|
@if (formattedGeneratedDate()) {
|
|
68588
68605
|
<div class="text-left sm:text-right">
|
|
@@ -68630,21 +68647,23 @@ class DashboardHeaderComponent {
|
|
|
68630
68647
|
}
|
|
68631
68648
|
</div>
|
|
68632
68649
|
}
|
|
68633
|
-
|
|
68634
|
-
|
|
68635
|
-
|
|
68636
|
-
|
|
68637
|
-
|
|
68638
|
-
|
|
68639
|
-
|
|
68640
|
-
|
|
68641
|
-
|
|
68642
|
-
|
|
68643
|
-
|
|
68644
|
-
<
|
|
68645
|
-
|
|
68646
|
-
|
|
68647
|
-
|
|
68650
|
+
@if (showControls()) {
|
|
68651
|
+
<symphiq-search-button
|
|
68652
|
+
[isLightMode]="isLightMode()"
|
|
68653
|
+
[minimized]="true"
|
|
68654
|
+
(searchClick)="onSearchClick()"
|
|
68655
|
+
/>
|
|
68656
|
+
<button
|
|
68657
|
+
type="button"
|
|
68658
|
+
(click)="onViewModeClick()"
|
|
68659
|
+
[ngClass]="getViewModeButtonClasses()"
|
|
68660
|
+
class="cursor-pointer flex items-center gap-2 px-2 py-1.5 rounded-lg text-xs font-medium transition-all duration-200 hover:scale-105">
|
|
68661
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
68662
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path>
|
|
68663
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"></path>
|
|
68664
|
+
</svg>
|
|
68665
|
+
</button>
|
|
68666
|
+
}
|
|
68648
68667
|
</div>
|
|
68649
68668
|
</div>
|
|
68650
68669
|
</div>
|
|
@@ -68652,8 +68671,8 @@ class DashboardHeaderComponent {
|
|
|
68652
68671
|
</header>
|
|
68653
68672
|
`
|
|
68654
68673
|
}]
|
|
68655
|
-
}], null, { requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], createdDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "createdDate", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], viewModeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewModeLabel", required: false }] }], currentSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSection", required: false }] }], currentSubsection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSubsection", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }], viewModeClick: [{ type: i0.Output, args: ["viewModeClick"] }] }); })();
|
|
68656
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardHeaderComponent, { className: "DashboardHeaderComponent", filePath: "lib/components/shared/dashboard-header.component.ts", lineNumber:
|
|
68674
|
+
}], null, { requestedByUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "requestedByUser", required: false }] }], createdDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "createdDate", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], viewModeLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewModeLabel", required: false }] }], currentSection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSection", required: false }] }], currentSubsection: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentSubsection", required: false }] }], isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "isLoading", required: false }] }], showControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "showControls", required: false }] }], searchClick: [{ type: i0.Output, args: ["searchClick"] }], viewModeClick: [{ type: i0.Output, args: ["viewModeClick"] }] }); })();
|
|
68675
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DashboardHeaderComponent, { className: "DashboardHeaderComponent", filePath: "lib/components/shared/dashboard-header.component.ts", lineNumber: 130 }); })();
|
|
68657
68676
|
|
|
68658
68677
|
class GradeBadgeComponent {
|
|
68659
68678
|
constructor() {
|
|
@@ -87914,6 +87933,7 @@ function ShopProfileCategoryListComponent_For_2_Template(rf, ctx) { if (rf & 1)
|
|
|
87914
87933
|
i0.ɵɵadvance(4);
|
|
87915
87934
|
i0.ɵɵproperty("ngClass", ctx_r2.getProgressBarContainerClasses());
|
|
87916
87935
|
i0.ɵɵadvance();
|
|
87936
|
+
i0.ɵɵclassMap(ctx_r2.delayAnimation() ? "h-full rounded-full" : "h-full transition-all duration-500 ease-out rounded-full");
|
|
87917
87937
|
i0.ɵɵstyleProp("width", item_r2.progress, "%");
|
|
87918
87938
|
i0.ɵɵproperty("ngClass", ctx_r2.getProgressBarFillClasses());
|
|
87919
87939
|
i0.ɵɵadvance(2);
|
|
@@ -87925,6 +87945,7 @@ class ShopProfileCategoryListComponent {
|
|
|
87925
87945
|
constructor() {
|
|
87926
87946
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
87927
87947
|
this.items = input([], ...(ngDevMode ? [{ debugName: "items" }] : []));
|
|
87948
|
+
this.delayAnimation = input(false, ...(ngDevMode ? [{ debugName: "delayAnimation" }] : []));
|
|
87928
87949
|
this.itemClick = output();
|
|
87929
87950
|
}
|
|
87930
87951
|
onItemClick(item) {
|
|
@@ -87979,9 +88000,9 @@ class ShopProfileCategoryListComponent {
|
|
|
87979
88000
|
: 'text-emerald-600';
|
|
87980
88001
|
}
|
|
87981
88002
|
static { this.ɵfac = function ShopProfileCategoryListComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShopProfileCategoryListComponent)(); }; }
|
|
87982
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopProfileCategoryListComponent, selectors: [["symphiq-shop-profile-category-list"]], inputs: { viewMode: [1, "viewMode"], items: [1, "items"] }, outputs: { itemClick: "itemClick" }, decls: 3, vars: 0, consts: [[1, "space-y-4"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", "hover:scale-[1.01]", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-lg", "font-semibold", "leading-tight", 3, "ngClass"], ["type", "button", 1, "flex-shrink-0", "px-5", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-300", "flex", "items-center", "gap-2", "hover:scale-105", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "space-y-2"], [1, "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [
|
|
88003
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopProfileCategoryListComponent, selectors: [["symphiq-shop-profile-category-list"]], inputs: { viewMode: [1, "viewMode"], items: [1, "items"], delayAnimation: [1, "delayAnimation"] }, outputs: { itemClick: "itemClick" }, decls: 3, vars: 0, consts: [[1, "space-y-4"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", "hover:scale-[1.01]", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-lg", "font-semibold", "leading-tight", 3, "ngClass"], ["type", "button", 1, "flex-shrink-0", "px-5", "py-2.5", "rounded-lg", "font-medium", "text-sm", "transition-all", "duration-300", "flex", "items-center", "gap-2", "hover:scale-105", "active:scale-95", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "space-y-2"], [1, "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [3, "ngClass"], [1, "flex", "justify-between", "items-center"], [1, "text-sm", "font-medium", 3, "ngClass"]], template: function ShopProfileCategoryListComponent_Template(rf, ctx) { if (rf & 1) {
|
|
87983
88004
|
i0.ɵɵelementStart(0, "div", 0);
|
|
87984
|
-
i0.ɵɵrepeaterCreate(1, ShopProfileCategoryListComponent_For_2_Template, 19,
|
|
88005
|
+
i0.ɵɵrepeaterCreate(1, ShopProfileCategoryListComponent_For_2_Template, 19, 16, "div", 1, _forTrack0$5);
|
|
87985
88006
|
i0.ɵɵelementEnd();
|
|
87986
88007
|
} if (rf & 2) {
|
|
87987
88008
|
i0.ɵɵadvance();
|
|
@@ -87995,59 +88016,59 @@ class ShopProfileCategoryListComponent {
|
|
|
87995
88016
|
standalone: true,
|
|
87996
88017
|
imports: [CommonModule],
|
|
87997
88018
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
87998
|
-
template: `
|
|
87999
|
-
<div class="space-y-4">
|
|
88000
|
-
@for (item of items(); track item.id) {
|
|
88001
|
-
<div
|
|
88002
|
-
[ngClass]="getCardClasses()"
|
|
88003
|
-
class="rounded-xl p-6 transition-all duration-300 hover:scale-[1.01]"
|
|
88004
|
-
>
|
|
88005
|
-
<div class="space-y-4">
|
|
88006
|
-
<div class="flex items-start justify-between gap-4">
|
|
88007
|
-
<div class="flex-1 min-w-0">
|
|
88008
|
-
<div [ngClass]="getLabelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-2">
|
|
88009
|
-
{{ item.label }}
|
|
88010
|
-
</div>
|
|
88011
|
-
<h3 [ngClass]="getNameClasses()" class="text-lg font-semibold leading-tight">
|
|
88012
|
-
{{ item.name }}
|
|
88013
|
-
</h3>
|
|
88014
|
-
</div>
|
|
88015
|
-
|
|
88016
|
-
<button
|
|
88017
|
-
type="button"
|
|
88018
|
-
(click)="onItemClick(item)"
|
|
88019
|
-
[ngClass]="getButtonClasses(item)"
|
|
88020
|
-
class="flex-shrink-0 px-5 py-2.5 rounded-lg font-medium text-sm transition-all duration-300 flex items-center gap-2 hover:scale-105 active:scale-95"
|
|
88021
|
-
>
|
|
88022
|
-
<span>{{ getButtonText(item) }}</span>
|
|
88023
|
-
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
88024
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
|
|
88025
|
-
</svg>
|
|
88026
|
-
</button>
|
|
88027
|
-
</div>
|
|
88028
|
-
|
|
88029
|
-
<div class="space-y-2">
|
|
88030
|
-
<div [ngClass]="getProgressBarContainerClasses()" class="h-2 rounded-full overflow-hidden">
|
|
88031
|
-
<div
|
|
88032
|
-
[ngClass]="getProgressBarFillClasses()"
|
|
88033
|
-
class="h-full transition-all duration-500 ease-out rounded-full"
|
|
88034
|
-
[style.width.%]="item.progress"
|
|
88035
|
-
></div>
|
|
88036
|
-
</div>
|
|
88037
|
-
|
|
88038
|
-
<div class="flex justify-between items-center">
|
|
88039
|
-
<span [ngClass]="getProgressTextClasses()" class="text-sm font-medium">
|
|
88040
|
-
{{ item.answeredQuestions }} / {{ item.totalQuestions }} questions answered
|
|
88041
|
-
</span>
|
|
88042
|
-
</div>
|
|
88043
|
-
</div>
|
|
88044
|
-
</div>
|
|
88045
|
-
</div>
|
|
88046
|
-
}
|
|
88047
|
-
</div>
|
|
88019
|
+
template: `
|
|
88020
|
+
<div class="space-y-4">
|
|
88021
|
+
@for (item of items(); track item.id) {
|
|
88022
|
+
<div
|
|
88023
|
+
[ngClass]="getCardClasses()"
|
|
88024
|
+
class="rounded-xl p-6 transition-all duration-300 hover:scale-[1.01]"
|
|
88025
|
+
>
|
|
88026
|
+
<div class="space-y-4">
|
|
88027
|
+
<div class="flex items-start justify-between gap-4">
|
|
88028
|
+
<div class="flex-1 min-w-0">
|
|
88029
|
+
<div [ngClass]="getLabelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-2">
|
|
88030
|
+
{{ item.label }}
|
|
88031
|
+
</div>
|
|
88032
|
+
<h3 [ngClass]="getNameClasses()" class="text-lg font-semibold leading-tight">
|
|
88033
|
+
{{ item.name }}
|
|
88034
|
+
</h3>
|
|
88035
|
+
</div>
|
|
88036
|
+
|
|
88037
|
+
<button
|
|
88038
|
+
type="button"
|
|
88039
|
+
(click)="onItemClick(item)"
|
|
88040
|
+
[ngClass]="getButtonClasses(item)"
|
|
88041
|
+
class="flex-shrink-0 px-5 py-2.5 rounded-lg font-medium text-sm transition-all duration-300 flex items-center gap-2 hover:scale-105 active:scale-95"
|
|
88042
|
+
>
|
|
88043
|
+
<span>{{ getButtonText(item) }}</span>
|
|
88044
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
88045
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path>
|
|
88046
|
+
</svg>
|
|
88047
|
+
</button>
|
|
88048
|
+
</div>
|
|
88049
|
+
|
|
88050
|
+
<div class="space-y-2">
|
|
88051
|
+
<div [ngClass]="getProgressBarContainerClasses()" class="h-2 rounded-full overflow-hidden">
|
|
88052
|
+
<div
|
|
88053
|
+
[ngClass]="getProgressBarFillClasses()"
|
|
88054
|
+
[class]="delayAnimation() ? 'h-full rounded-full' : 'h-full transition-all duration-500 ease-out rounded-full'"
|
|
88055
|
+
[style.width.%]="item.progress"
|
|
88056
|
+
></div>
|
|
88057
|
+
</div>
|
|
88058
|
+
|
|
88059
|
+
<div class="flex justify-between items-center">
|
|
88060
|
+
<span [ngClass]="getProgressTextClasses()" class="text-sm font-medium">
|
|
88061
|
+
{{ item.answeredQuestions }} / {{ item.totalQuestions }} questions answered
|
|
88062
|
+
</span>
|
|
88063
|
+
</div>
|
|
88064
|
+
</div>
|
|
88065
|
+
</div>
|
|
88066
|
+
</div>
|
|
88067
|
+
}
|
|
88068
|
+
</div>
|
|
88048
88069
|
`
|
|
88049
88070
|
}]
|
|
88050
|
-
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }] }); })();
|
|
88071
|
+
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], delayAnimation: [{ type: i0.Input, args: [{ isSignal: true, alias: "delayAnimation", required: false }] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }] }); })();
|
|
88051
88072
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileCategoryListComponent, { className: "ShopProfileCategoryListComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-category-list.component.ts", lineNumber: 71 }); })();
|
|
88052
88073
|
|
|
88053
88074
|
class ShopProfileViewToggleComponent {
|
|
@@ -89675,13 +89696,13 @@ class ShopProfileQuestionAnswerComponent {
|
|
|
89675
89696
|
|
|
89676
89697
|
const _forTrack0$2 = ($index, $item) => $item.answer.id;
|
|
89677
89698
|
const _forTrack1 = ($index, $item) => $item.history.id;
|
|
89678
|
-
function
|
|
89679
|
-
i0.ɵɵelementStart(0, "div",
|
|
89699
|
+
function ShopProfileQuestionHistoryComponent_Conditional_16_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
89700
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "span", 21);
|
|
89680
89701
|
i0.ɵɵtext(2);
|
|
89681
89702
|
i0.ɵɵelementEnd();
|
|
89682
|
-
i0.ɵɵelement(3, "symphiq-user-display",
|
|
89703
|
+
i0.ɵɵelement(3, "symphiq-user-display", 22);
|
|
89683
89704
|
i0.ɵɵelementEnd();
|
|
89684
|
-
i0.ɵɵelementStart(4, "div",
|
|
89705
|
+
i0.ɵɵelementStart(4, "div", 23);
|
|
89685
89706
|
i0.ɵɵtext(5);
|
|
89686
89707
|
i0.ɵɵelementEnd();
|
|
89687
89708
|
} if (rf & 2) {
|
|
@@ -89699,15 +89720,15 @@ function ShopProfileQuestionHistoryComponent_Conditional_12_For_8_Template(rf, c
|
|
|
89699
89720
|
i0.ɵɵadvance();
|
|
89700
89721
|
i0.ɵɵtextInterpolate1(" Answered ", ctx_r1.formatDate(answerData_r1.answer.createdDate), " ");
|
|
89701
89722
|
} }
|
|
89702
|
-
function
|
|
89703
|
-
i0.ɵɵelementStart(0, "div",
|
|
89723
|
+
function ShopProfileQuestionHistoryComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
89724
|
+
i0.ɵɵelementStart(0, "div", 13)(1, "h4", 14);
|
|
89704
89725
|
i0.ɵɵtext(2, " Current answers ");
|
|
89705
89726
|
i0.ɵɵelementEnd();
|
|
89706
|
-
i0.ɵɵelementStart(3, "div",
|
|
89727
|
+
i0.ɵɵelementStart(3, "div", 17)(4, "p", 18);
|
|
89707
89728
|
i0.ɵɵtext(5);
|
|
89708
89729
|
i0.ɵɵelementEnd();
|
|
89709
|
-
i0.ɵɵelementStart(6, "div",
|
|
89710
|
-
i0.ɵɵrepeaterCreate(7,
|
|
89730
|
+
i0.ɵɵelementStart(6, "div", 19);
|
|
89731
|
+
i0.ɵɵrepeaterCreate(7, ShopProfileQuestionHistoryComponent_Conditional_16_For_8_Template, 6, 8, null, null, _forTrack0$2);
|
|
89711
89732
|
i0.ɵɵelementEnd()()();
|
|
89712
89733
|
} if (rf & 2) {
|
|
89713
89734
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -89722,20 +89743,20 @@ function ShopProfileQuestionHistoryComponent_Conditional_12_Template(rf, ctx) {
|
|
|
89722
89743
|
i0.ɵɵadvance(2);
|
|
89723
89744
|
i0.ɵɵrepeater(ctx_r1.currentAnswers());
|
|
89724
89745
|
} }
|
|
89725
|
-
function
|
|
89746
|
+
function ShopProfileQuestionHistoryComponent_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
89726
89747
|
i0.ɵɵtext(0, " No history yet ");
|
|
89727
89748
|
} }
|
|
89728
|
-
function
|
|
89749
|
+
function ShopProfileQuestionHistoryComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
89729
89750
|
i0.ɵɵtext(0, " 1 change ");
|
|
89730
89751
|
} }
|
|
89731
|
-
function
|
|
89752
|
+
function ShopProfileQuestionHistoryComponent_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
89732
89753
|
i0.ɵɵtext(0);
|
|
89733
89754
|
} if (rf & 2) {
|
|
89734
89755
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
89735
89756
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.historyEntries().length, " changes ");
|
|
89736
89757
|
} }
|
|
89737
|
-
function
|
|
89738
|
-
i0.ɵɵelementStart(0, "div",
|
|
89758
|
+
function ShopProfileQuestionHistoryComponent_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
89759
|
+
i0.ɵɵelementStart(0, "div", 15)(1, "div", 24);
|
|
89739
89760
|
i0.ɵɵtext(2, " No previous changes to display ");
|
|
89740
89761
|
i0.ɵɵelementEnd()();
|
|
89741
89762
|
} if (rf & 2) {
|
|
@@ -89744,11 +89765,11 @@ function ShopProfileQuestionHistoryComponent_Conditional_18_Template(rf, ctx) {
|
|
|
89744
89765
|
i0.ɵɵadvance();
|
|
89745
89766
|
i0.ɵɵproperty("ngClass", ctx_r1.emptyStateTextClasses());
|
|
89746
89767
|
} }
|
|
89747
|
-
function
|
|
89748
|
-
i0.ɵɵelementStart(0, "div",
|
|
89768
|
+
function ShopProfileQuestionHistoryComponent_Conditional_23_For_2_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
89769
|
+
i0.ɵɵelementStart(0, "div", 29)(1, "div", 30);
|
|
89749
89770
|
i0.ɵɵtext(2);
|
|
89750
89771
|
i0.ɵɵelementEnd();
|
|
89751
|
-
i0.ɵɵelementStart(3, "div",
|
|
89772
|
+
i0.ɵɵelementStart(3, "div", 31);
|
|
89752
89773
|
i0.ɵɵtext(4);
|
|
89753
89774
|
i0.ɵɵelementEnd()();
|
|
89754
89775
|
} if (rf & 2) {
|
|
@@ -89765,14 +89786,14 @@ function ShopProfileQuestionHistoryComponent_Conditional_19_For_2_For_7_Template
|
|
|
89765
89786
|
i0.ɵɵadvance();
|
|
89766
89787
|
i0.ɵɵtextInterpolate1(" ", answer_r3, " ");
|
|
89767
89788
|
} }
|
|
89768
|
-
function
|
|
89769
|
-
i0.ɵɵelementStart(0, "div",
|
|
89789
|
+
function ShopProfileQuestionHistoryComponent_Conditional_23_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
89790
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "div", 25)(2, "div", 26);
|
|
89770
89791
|
i0.ɵɵtext(3);
|
|
89771
89792
|
i0.ɵɵelementEnd();
|
|
89772
|
-
i0.ɵɵelement(4, "symphiq-user-display",
|
|
89793
|
+
i0.ɵɵelement(4, "symphiq-user-display", 27);
|
|
89773
89794
|
i0.ɵɵelementEnd();
|
|
89774
|
-
i0.ɵɵelementStart(5, "div",
|
|
89775
|
-
i0.ɵɵrepeaterCreate(6,
|
|
89795
|
+
i0.ɵɵelementStart(5, "div", 28);
|
|
89796
|
+
i0.ɵɵrepeaterCreate(6, ShopProfileQuestionHistoryComponent_Conditional_23_For_2_For_7_Template, 5, 5, "div", 29, i0.ɵɵrepeaterTrackByIdentity);
|
|
89776
89797
|
i0.ɵɵelementEnd()();
|
|
89777
89798
|
} if (rf & 2) {
|
|
89778
89799
|
const entry_r4 = ctx.$implicit;
|
|
@@ -89787,9 +89808,9 @@ function ShopProfileQuestionHistoryComponent_Conditional_19_For_2_Template(rf, c
|
|
|
89787
89808
|
i0.ɵɵadvance(2);
|
|
89788
89809
|
i0.ɵɵrepeater(entry_r4.answers);
|
|
89789
89810
|
} }
|
|
89790
|
-
function
|
|
89791
|
-
i0.ɵɵelementStart(0, "div",
|
|
89792
|
-
i0.ɵɵrepeaterCreate(1,
|
|
89811
|
+
function ShopProfileQuestionHistoryComponent_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
89812
|
+
i0.ɵɵelementStart(0, "div", 16);
|
|
89813
|
+
i0.ɵɵrepeaterCreate(1, ShopProfileQuestionHistoryComponent_Conditional_23_For_2_Template, 8, 9, "div", 17, _forTrack1);
|
|
89793
89814
|
i0.ɵɵelementEnd();
|
|
89794
89815
|
} if (rf & 2) {
|
|
89795
89816
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -89804,6 +89825,7 @@ class ShopProfileQuestionHistoryComponent {
|
|
|
89804
89825
|
this.profileAnswers = input([], ...(ngDevMode ? [{ debugName: "profileAnswers" }] : []));
|
|
89805
89826
|
this.users = input([], ...(ngDevMode ? [{ debugName: "users" }] : []));
|
|
89806
89827
|
this.close = output();
|
|
89828
|
+
this.back = output();
|
|
89807
89829
|
this.currentAnswers = computed(() => {
|
|
89808
89830
|
const questionId = this.question().id;
|
|
89809
89831
|
const answers = this.profileAnswers();
|
|
@@ -89862,6 +89884,9 @@ class ShopProfileQuestionHistoryComponent {
|
|
|
89862
89884
|
onClose() {
|
|
89863
89885
|
this.close.emit();
|
|
89864
89886
|
}
|
|
89887
|
+
onBack() {
|
|
89888
|
+
this.back.emit(this.question().id);
|
|
89889
|
+
}
|
|
89865
89890
|
isLightMode() {
|
|
89866
89891
|
return this.viewMode() === ViewModeEnum.LIGHT;
|
|
89867
89892
|
}
|
|
@@ -89980,32 +90005,41 @@ class ShopProfileQuestionHistoryComponent {
|
|
|
89980
90005
|
}
|
|
89981
90006
|
}
|
|
89982
90007
|
static { this.ɵfac = function ShopProfileQuestionHistoryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ShopProfileQuestionHistoryComponent)(); }; }
|
|
89983
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopProfileQuestionHistoryComponent, selectors: [["symphiq-shop-profile-question-history"]], inputs: { viewMode: [1, "viewMode"], question: [1, "question"], profileAnswerHistories: [1, "profileAnswerHistories"], profileAnswers: [1, "profileAnswers"], users: [1, "users"] }, outputs: { close: "close" }, decls:
|
|
89984
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "
|
|
89985
|
-
i0.ɵɵ
|
|
89986
|
-
i0.ɵɵ
|
|
89987
|
-
i0.ɵɵelementStart(
|
|
89988
|
-
i0.ɵɵ
|
|
90008
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShopProfileQuestionHistoryComponent, selectors: [["symphiq-shop-profile-question-history"]], inputs: { viewMode: [1, "viewMode"], question: [1, "question"], profileAnswerHistories: [1, "profileAnswerHistories"], profileAnswers: [1, "profileAnswers"], users: [1, "users"] }, outputs: { close: "close", back: "back" }, decls: 24, vars: 11, consts: [[1, "h-full", "flex", "flex-col", 3, "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", "flex-shrink-0", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-start", "gap-3", "flex-1", "min-w-0"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "flex-shrink-0", "mt-1", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 19l-7-7 7-7"], [1, "flex-1", "min-w-0"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-2", 3, "ngClass"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", "flex-shrink-0", 3, "click", "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "flex-1", "overflow-y-auto", "px-6", "py-6"], [1, "mb-8"], [1, "text-base", "font-bold", "mb-4", 3, "ngClass"], [1, "rounded-xl", "border-2", "border-dashed", "p-8", "text-center", 3, "ngClass"], [1, "space-y-6"], [1, "rounded-xl", "border-2", "p-5", 3, "ngClass"], [1, "text-sm", "mb-4", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-3"], [1, "flex", "items-center", "gap-2", "px-4", "py-2.5", "rounded-full", 3, "ngClass"], [1, "text-sm", "font-medium", 3, "ngClass"], [3, "viewMode", "user", "showEmail"], [1, "self-center", "text-xs", "-ml-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between", "gap-4", "mb-4"], [1, "text-sm", "font-semibold", 3, "ngClass"], [3, "viewMode", "user", "avatarSize", "showEmail"], [1, "space-y-2"], [1, "flex", "items-start", "gap-3", "px-4", "py-3", "rounded-lg", 3, "ngClass"], [1, "flex-shrink-0", "w-5", "h-5", "rounded-full", "flex", "items-center", "justify-center", "text-xs", "font-bold", "mt-0.5", 3, "ngClass"], [1, "flex-1", "text-sm", "font-medium", 3, "ngClass"]], template: function ShopProfileQuestionHistoryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
90009
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "button", 4);
|
|
90010
|
+
i0.ɵɵlistener("click", function ShopProfileQuestionHistoryComponent_Template_button_click_4_listener() { return ctx.onBack(); });
|
|
90011
|
+
i0.ɵɵnamespaceSVG();
|
|
90012
|
+
i0.ɵɵelementStart(5, "svg", 5);
|
|
90013
|
+
i0.ɵɵelement(6, "path", 6);
|
|
89989
90014
|
i0.ɵɵelementEnd()();
|
|
89990
|
-
i0.ɵɵ
|
|
89991
|
-
i0.ɵɵ
|
|
90015
|
+
i0.ɵɵnamespaceHTML();
|
|
90016
|
+
i0.ɵɵelementStart(7, "div", 7)(8, "div", 8);
|
|
90017
|
+
i0.ɵɵtext(9, " Answer History ");
|
|
90018
|
+
i0.ɵɵelementEnd();
|
|
90019
|
+
i0.ɵɵelementStart(10, "h3", 9);
|
|
90020
|
+
i0.ɵɵtext(11);
|
|
90021
|
+
i0.ɵɵelementEnd()()();
|
|
90022
|
+
i0.ɵɵelementStart(12, "button", 10);
|
|
90023
|
+
i0.ɵɵlistener("click", function ShopProfileQuestionHistoryComponent_Template_button_click_12_listener() { return ctx.onClose(); });
|
|
89992
90024
|
i0.ɵɵnamespaceSVG();
|
|
89993
|
-
i0.ɵɵelementStart(
|
|
89994
|
-
i0.ɵɵelement(
|
|
90025
|
+
i0.ɵɵelementStart(13, "svg", 5);
|
|
90026
|
+
i0.ɵɵelement(14, "path", 11);
|
|
89995
90027
|
i0.ɵɵelementEnd()()()();
|
|
89996
90028
|
i0.ɵɵnamespaceHTML();
|
|
89997
|
-
i0.ɵɵelementStart(
|
|
89998
|
-
i0.ɵɵconditionalCreate(
|
|
89999
|
-
i0.ɵɵelementStart(
|
|
90000
|
-
i0.ɵɵconditionalCreate(
|
|
90029
|
+
i0.ɵɵelementStart(15, "div", 12);
|
|
90030
|
+
i0.ɵɵconditionalCreate(16, ShopProfileQuestionHistoryComponent_Conditional_16_Template, 9, 4, "div", 13);
|
|
90031
|
+
i0.ɵɵelementStart(17, "div")(18, "h4", 14);
|
|
90032
|
+
i0.ɵɵconditionalCreate(19, ShopProfileQuestionHistoryComponent_Conditional_19_Template, 1, 0)(20, ShopProfileQuestionHistoryComponent_Conditional_20_Template, 1, 0)(21, ShopProfileQuestionHistoryComponent_Conditional_21_Template, 1, 1);
|
|
90001
90033
|
i0.ɵɵelementEnd();
|
|
90002
|
-
i0.ɵɵconditionalCreate(
|
|
90034
|
+
i0.ɵɵconditionalCreate(22, ShopProfileQuestionHistoryComponent_Conditional_22_Template, 3, 2, "div", 15)(23, ShopProfileQuestionHistoryComponent_Conditional_23_Template, 3, 0, "div", 16);
|
|
90003
90035
|
i0.ɵɵelementEnd()()();
|
|
90004
90036
|
} if (rf & 2) {
|
|
90005
90037
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
90006
90038
|
i0.ɵɵadvance();
|
|
90007
90039
|
i0.ɵɵproperty("ngClass", ctx.headerClasses());
|
|
90008
90040
|
i0.ɵɵadvance(3);
|
|
90041
|
+
i0.ɵɵproperty("ngClass", ctx.closeButtonClasses());
|
|
90042
|
+
i0.ɵɵadvance(4);
|
|
90009
90043
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
90010
90044
|
i0.ɵɵadvance(2);
|
|
90011
90045
|
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
@@ -90014,13 +90048,13 @@ class ShopProfileQuestionHistoryComponent {
|
|
|
90014
90048
|
i0.ɵɵadvance();
|
|
90015
90049
|
i0.ɵɵproperty("ngClass", ctx.closeButtonClasses());
|
|
90016
90050
|
i0.ɵɵadvance(4);
|
|
90017
|
-
i0.ɵɵconditional(ctx.currentAnswers().length > 0 ?
|
|
90051
|
+
i0.ɵɵconditional(ctx.currentAnswers().length > 0 ? 16 : -1);
|
|
90018
90052
|
i0.ɵɵadvance(2);
|
|
90019
90053
|
i0.ɵɵproperty("ngClass", ctx.sectionTitleClasses());
|
|
90020
90054
|
i0.ɵɵadvance();
|
|
90021
|
-
i0.ɵɵconditional(ctx.historyEntries().length === 0 ?
|
|
90055
|
+
i0.ɵɵconditional(ctx.historyEntries().length === 0 ? 19 : ctx.historyEntries().length === 1 ? 20 : 21);
|
|
90022
90056
|
i0.ɵɵadvance(3);
|
|
90023
|
-
i0.ɵɵconditional(ctx.historyEntries().length === 0 ?
|
|
90057
|
+
i0.ɵɵconditional(ctx.historyEntries().length === 0 ? 22 : 23);
|
|
90024
90058
|
} }, dependencies: [CommonModule, i1$1.NgClass, UserDisplayComponent], encapsulation: 2, changeDetection: 0 }); }
|
|
90025
90059
|
}
|
|
90026
90060
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShopProfileQuestionHistoryComponent, [{
|
|
@@ -90030,123 +90064,134 @@ class ShopProfileQuestionHistoryComponent {
|
|
|
90030
90064
|
standalone: true,
|
|
90031
90065
|
imports: [CommonModule, UserDisplayComponent],
|
|
90032
90066
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
90033
|
-
template: `
|
|
90034
|
-
<div [ngClass]="containerClasses()" class="h-full flex flex-col">
|
|
90035
|
-
<!-- Header -->
|
|
90036
|
-
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b backdrop-blur-sm flex-shrink-0">
|
|
90037
|
-
<div class="flex items-start justify-between">
|
|
90038
|
-
<div class="flex-1 min-w-0">
|
|
90039
|
-
<
|
|
90040
|
-
|
|
90041
|
-
|
|
90042
|
-
|
|
90043
|
-
|
|
90044
|
-
|
|
90045
|
-
|
|
90046
|
-
|
|
90047
|
-
|
|
90048
|
-
|
|
90049
|
-
|
|
90050
|
-
|
|
90051
|
-
|
|
90052
|
-
<
|
|
90053
|
-
|
|
90054
|
-
|
|
90055
|
-
|
|
90056
|
-
|
|
90057
|
-
|
|
90058
|
-
|
|
90059
|
-
|
|
90060
|
-
|
|
90061
|
-
|
|
90062
|
-
|
|
90063
|
-
|
|
90064
|
-
|
|
90065
|
-
|
|
90066
|
-
|
|
90067
|
-
|
|
90068
|
-
|
|
90069
|
-
|
|
90070
|
-
|
|
90071
|
-
|
|
90072
|
-
|
|
90073
|
-
|
|
90074
|
-
|
|
90075
|
-
|
|
90076
|
-
|
|
90077
|
-
|
|
90078
|
-
|
|
90079
|
-
|
|
90080
|
-
|
|
90081
|
-
|
|
90082
|
-
|
|
90083
|
-
|
|
90084
|
-
|
|
90085
|
-
|
|
90086
|
-
|
|
90087
|
-
|
|
90088
|
-
|
|
90089
|
-
|
|
90090
|
-
|
|
90091
|
-
|
|
90092
|
-
|
|
90093
|
-
|
|
90094
|
-
|
|
90095
|
-
|
|
90096
|
-
|
|
90097
|
-
|
|
90098
|
-
|
|
90099
|
-
|
|
90100
|
-
|
|
90101
|
-
|
|
90102
|
-
|
|
90103
|
-
|
|
90104
|
-
|
|
90105
|
-
|
|
90106
|
-
|
|
90107
|
-
|
|
90108
|
-
|
|
90109
|
-
|
|
90110
|
-
|
|
90111
|
-
|
|
90112
|
-
|
|
90113
|
-
|
|
90114
|
-
|
|
90115
|
-
|
|
90116
|
-
|
|
90117
|
-
|
|
90118
|
-
|
|
90119
|
-
|
|
90120
|
-
|
|
90121
|
-
|
|
90122
|
-
|
|
90123
|
-
|
|
90124
|
-
|
|
90125
|
-
|
|
90126
|
-
|
|
90127
|
-
|
|
90128
|
-
|
|
90129
|
-
|
|
90130
|
-
|
|
90131
|
-
|
|
90132
|
-
|
|
90133
|
-
|
|
90134
|
-
|
|
90135
|
-
|
|
90136
|
-
|
|
90137
|
-
|
|
90138
|
-
|
|
90139
|
-
|
|
90140
|
-
|
|
90141
|
-
|
|
90142
|
-
|
|
90143
|
-
|
|
90144
|
-
|
|
90145
|
-
|
|
90067
|
+
template: `
|
|
90068
|
+
<div [ngClass]="containerClasses()" class="h-full flex flex-col">
|
|
90069
|
+
<!-- Header -->
|
|
90070
|
+
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b backdrop-blur-sm flex-shrink-0">
|
|
90071
|
+
<div class="flex items-start justify-between">
|
|
90072
|
+
<div class="flex items-start gap-3 flex-1 min-w-0">
|
|
90073
|
+
<button
|
|
90074
|
+
type="button"
|
|
90075
|
+
(click)="onBack()"
|
|
90076
|
+
[ngClass]="closeButtonClasses()"
|
|
90077
|
+
class="transition-all rounded-lg p-1 hover:scale-110 active:scale-90 cursor-pointer flex-shrink-0 mt-1">
|
|
90078
|
+
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
90079
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path>
|
|
90080
|
+
</svg>
|
|
90081
|
+
</button>
|
|
90082
|
+
<div class="flex-1 min-w-0">
|
|
90083
|
+
<div [ngClass]="labelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-2">
|
|
90084
|
+
Answer History
|
|
90085
|
+
</div>
|
|
90086
|
+
<h3 [ngClass]="titleClasses()" class="text-xl font-bold leading-tight">
|
|
90087
|
+
{{ question().question }}
|
|
90088
|
+
</h3>
|
|
90089
|
+
</div>
|
|
90090
|
+
</div>
|
|
90091
|
+
<button
|
|
90092
|
+
type="button"
|
|
90093
|
+
(click)="onClose()"
|
|
90094
|
+
[ngClass]="closeButtonClasses()"
|
|
90095
|
+
class="transition-all rounded-lg p-1 hover:scale-110 active:scale-90 cursor-pointer relative ml-4 flex-shrink-0">
|
|
90096
|
+
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
90097
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
|
|
90098
|
+
</svg>
|
|
90099
|
+
</button>
|
|
90100
|
+
</div>
|
|
90101
|
+
</div>
|
|
90102
|
+
|
|
90103
|
+
<!-- Content -->
|
|
90104
|
+
<div class="flex-1 overflow-y-auto px-6 py-6">
|
|
90105
|
+
<!-- Current Answers Section -->
|
|
90106
|
+
@if (currentAnswers().length > 0) {
|
|
90107
|
+
<div class="mb-8">
|
|
90108
|
+
<h4 [ngClass]="sectionTitleClasses()" class="text-base font-bold mb-4">
|
|
90109
|
+
Current answers
|
|
90110
|
+
</h4>
|
|
90111
|
+
<div [ngClass]="currentAnswersContainerClasses()" class="rounded-xl border-2 p-5">
|
|
90112
|
+
<p [ngClass]="contextClasses()" class="text-sm mb-4">
|
|
90113
|
+
{{ question().context }}
|
|
90114
|
+
</p>
|
|
90115
|
+
<div class="flex flex-wrap gap-3">
|
|
90116
|
+
@for (answerData of currentAnswers(); track answerData.answer.id) {
|
|
90117
|
+
<div [ngClass]="currentAnswerChipClasses()" class="flex items-center gap-2 px-4 py-2.5 rounded-full">
|
|
90118
|
+
<span [ngClass]="currentAnswerTextClasses()" class="text-sm font-medium">
|
|
90119
|
+
{{ answerData.answer.answer }}
|
|
90120
|
+
</span>
|
|
90121
|
+
<symphiq-user-display
|
|
90122
|
+
[viewMode]="viewMode()"
|
|
90123
|
+
[user]="answerData.user"
|
|
90124
|
+
[showEmail]="false"
|
|
90125
|
+
/>
|
|
90126
|
+
</div>
|
|
90127
|
+
<div [ngClass]="answerDateClasses()" class="self-center text-xs -ml-1">
|
|
90128
|
+
Answered {{ formatDate(answerData.answer.createdDate) }}
|
|
90129
|
+
</div>
|
|
90130
|
+
}
|
|
90131
|
+
</div>
|
|
90132
|
+
</div>
|
|
90133
|
+
</div>
|
|
90134
|
+
}
|
|
90135
|
+
|
|
90136
|
+
<!-- History Timeline -->
|
|
90137
|
+
<div>
|
|
90138
|
+
<h4 [ngClass]="sectionTitleClasses()" class="text-base font-bold mb-4">
|
|
90139
|
+
@if (historyEntries().length === 0) {
|
|
90140
|
+
No history yet
|
|
90141
|
+
} @else if (historyEntries().length === 1) {
|
|
90142
|
+
1 change
|
|
90143
|
+
} @else {
|
|
90144
|
+
{{ historyEntries().length }} changes
|
|
90145
|
+
}
|
|
90146
|
+
</h4>
|
|
90147
|
+
|
|
90148
|
+
@if (historyEntries().length === 0) {
|
|
90149
|
+
<div [ngClass]="emptyStateClasses()" class="rounded-xl border-2 border-dashed p-8 text-center">
|
|
90150
|
+
<div [ngClass]="emptyStateTextClasses()" class="text-sm">
|
|
90151
|
+
No previous changes to display
|
|
90152
|
+
</div>
|
|
90153
|
+
</div>
|
|
90154
|
+
} @else {
|
|
90155
|
+
<div class="space-y-6">
|
|
90156
|
+
@for (entry of historyEntries(); track entry.history.id) {
|
|
90157
|
+
<div [ngClass]="historyEntryClasses()" class="rounded-xl border-2 p-5">
|
|
90158
|
+
<!-- Entry Header -->
|
|
90159
|
+
<div class="flex items-start justify-between gap-4 mb-4">
|
|
90160
|
+
<div [ngClass]="entryHeaderClasses()" class="text-sm font-semibold">
|
|
90161
|
+
{{ getEntryCount(entry) }} {{ entry.isAddition ? 'added' : 'removed' }} on {{ formatFullDate(entry.history.createdDate) }}
|
|
90162
|
+
</div>
|
|
90163
|
+
<symphiq-user-display
|
|
90164
|
+
[viewMode]="viewMode()"
|
|
90165
|
+
[user]="entry.user"
|
|
90166
|
+
[avatarSize]="'medium'"
|
|
90167
|
+
[showEmail]="true"
|
|
90168
|
+
/>
|
|
90169
|
+
</div>
|
|
90170
|
+
|
|
90171
|
+
<!-- Answers -->
|
|
90172
|
+
<div class="space-y-2">
|
|
90173
|
+
@for (answer of entry.answers; track answer) {
|
|
90174
|
+
<div [ngClass]="answerItemClasses(entry.isAddition)" class="flex items-start gap-3 px-4 py-3 rounded-lg">
|
|
90175
|
+
<div [ngClass]="answerIconClasses(entry.isAddition)" class="flex-shrink-0 w-5 h-5 rounded-full flex items-center justify-center text-xs font-bold mt-0.5">
|
|
90176
|
+
{{ entry.isAddition ? '+' : '−' }}
|
|
90177
|
+
</div>
|
|
90178
|
+
<div [ngClass]="answerContentClasses(entry.isAddition)" class="flex-1 text-sm font-medium">
|
|
90179
|
+
{{ answer }}
|
|
90180
|
+
</div>
|
|
90181
|
+
</div>
|
|
90182
|
+
}
|
|
90183
|
+
</div>
|
|
90184
|
+
</div>
|
|
90185
|
+
}
|
|
90186
|
+
</div>
|
|
90187
|
+
}
|
|
90188
|
+
</div>
|
|
90189
|
+
</div>
|
|
90190
|
+
</div>
|
|
90146
90191
|
`
|
|
90147
90192
|
}]
|
|
90148
|
-
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], question: [{ type: i0.Input, args: [{ isSignal: true, alias: "question", required: true }] }], profileAnswerHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnswerHistories", required: false }] }], profileAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnswers", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], close: [{ type: i0.Output, args: ["close"] }] }); })();
|
|
90149
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileQuestionHistoryComponent, { className: "ShopProfileQuestionHistoryComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-question-history.component.ts", lineNumber:
|
|
90193
|
+
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], question: [{ type: i0.Input, args: [{ isSignal: true, alias: "question", required: true }] }], profileAnswerHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnswerHistories", required: false }] }], profileAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnswers", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], back: [{ type: i0.Output, args: ["back"] }] }); })();
|
|
90194
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileQuestionHistoryComponent, { className: "ShopProfileQuestionHistoryComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-question-history.component.ts", lineNumber: 157 }); })();
|
|
90150
90195
|
|
|
90151
90196
|
const _c0$4 = ["modalContent"];
|
|
90152
90197
|
const _c1$1 = ["modalWrapper"];
|
|
@@ -90155,7 +90200,7 @@ const _forTrack0$1 = ($index, $item) => $item.id;
|
|
|
90155
90200
|
function ShopProfileQuestionsModalComponent_Conditional_0_Conditional_8_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
90156
90201
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
90157
90202
|
i0.ɵɵelementStart(0, "symphiq-shop-profile-question-history", 10);
|
|
90158
|
-
i0.ɵɵlistener("close", function ShopProfileQuestionsModalComponent_Conditional_0_Conditional_8_Conditional_0_Template_symphiq_shop_profile_question_history_close_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onBackFromHistoryMode()); });
|
|
90203
|
+
i0.ɵɵlistener("close", function ShopProfileQuestionsModalComponent_Conditional_0_Conditional_8_Conditional_0_Template_symphiq_shop_profile_question_history_close_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onBackFromHistoryMode()); })("back", function ShopProfileQuestionsModalComponent_Conditional_0_Conditional_8_Conditional_0_Template_symphiq_shop_profile_question_history_back_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onBackFromHistoryMode($event)); });
|
|
90159
90204
|
i0.ɵɵelementEnd();
|
|
90160
90205
|
} if (rf & 2) {
|
|
90161
90206
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -90394,19 +90439,20 @@ class ShopProfileQuestionsModalComponent {
|
|
|
90394
90439
|
}, ...(ngDevMode ? [{ debugName: "displayTitle" }] : []));
|
|
90395
90440
|
this.filteredQuestions = computed(() => {
|
|
90396
90441
|
const allQuestions = this.questions();
|
|
90442
|
+
const sortQuestions = (questions) => [...questions].sort((a, b) => (a.id ?? 0) - (b.id ?? 0));
|
|
90397
90443
|
if (this.showAllQuestions()) {
|
|
90398
|
-
return allQuestions;
|
|
90444
|
+
return sortQuestions(allQuestions);
|
|
90399
90445
|
}
|
|
90400
90446
|
const categoryId = this.selectedCategoryId();
|
|
90401
90447
|
const focusAreaId = this.selectedFocusAreaId();
|
|
90402
90448
|
if (categoryId) {
|
|
90403
|
-
return allQuestions.filter(q => q.category === categoryId);
|
|
90449
|
+
return sortQuestions(allQuestions.filter(q => q.category === categoryId));
|
|
90404
90450
|
}
|
|
90405
90451
|
else if (focusAreaId) {
|
|
90406
|
-
return allQuestions.filter(q => {
|
|
90452
|
+
return sortQuestions(allQuestions.filter(q => {
|
|
90407
90453
|
const focusAreas = q.focusAreaDomains || [];
|
|
90408
90454
|
return focusAreas.includes(focusAreaId);
|
|
90409
|
-
});
|
|
90455
|
+
}));
|
|
90410
90456
|
}
|
|
90411
90457
|
return [];
|
|
90412
90458
|
}, ...(ngDevMode ? [{ debugName: "filteredQuestions" }] : []));
|
|
@@ -90486,9 +90532,12 @@ class ShopProfileQuestionsModalComponent {
|
|
|
90486
90532
|
this.historyModeActive.set(true);
|
|
90487
90533
|
this.questionForHistory.set(question);
|
|
90488
90534
|
}
|
|
90489
|
-
onBackFromHistoryMode() {
|
|
90535
|
+
onBackFromHistoryMode(questionId) {
|
|
90490
90536
|
this.historyModeActive.set(false);
|
|
90491
90537
|
this.questionForHistory.set(null);
|
|
90538
|
+
if (questionId) {
|
|
90539
|
+
this.scrollToQuestion(questionId);
|
|
90540
|
+
}
|
|
90492
90541
|
}
|
|
90493
90542
|
onBackFromAnswerMode() {
|
|
90494
90543
|
const history = this.navigationHistory();
|
|
@@ -90690,7 +90739,7 @@ class ShopProfileQuestionsModalComponent {
|
|
|
90690
90739
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalContent = _t.first);
|
|
90691
90740
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalWrapper = _t.first);
|
|
90692
90741
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollContainer = _t.first);
|
|
90693
|
-
} }, inputs: { isOpen: [1, "isOpen"], questions: [1, "questions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], users: [1, "users"], selectedCategoryId: [1, "selectedCategoryId"], selectedFocusAreaId: [1, "selectedFocusAreaId"], showAllQuestions: [1, "showAllQuestions"], startDirectAnswer: [1, "startDirectAnswer"], viewMode: [1, "viewMode"] }, outputs: { close: "close", questionAnswerClick: "questionAnswerClick", answerSave: "answerSave" }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], ["scrollContainer", ""], [1, "fixed", "inset-0", "overflow-y-auto", "z-[9000]"], [1, "fixed", "inset-0", "overflow-y-auto", "z-[9000]", 3, "click"], [1, "flex", "items-center", "justify-center", "min-h-screen", "px-4", "pt-4", "pb-20", "text-center", "sm:block", "sm:p-0"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "ngClass"], ["aria-hidden", "true", 1, "hidden", "sm:inline-block", "sm:align-middle", "sm:h-screen"], [1, "relative", "inline-block", "align-bottom", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "sm:my-8", "sm:align-middle", "sm:w-full", "sm:max-w-4xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "block", "h-[80vh]", 3, "question", "viewMode", "profileAnswerHistories", "profileAnswers", "users"], [1, "block", "h-[80vh]", 3, "close", "question", "viewMode", "profileAnswerHistories", "profileAnswers", "users"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", "sticky", "top-0", "z-10", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "transition-all", "duration-500", "ease-out", "rounded-full", 3, "ngClass"], [1, "text-sm", "font-medium", 3, "ngClass"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-8", "max-h-[70vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [1, "text-center", "py-12"], [1, "flex", "flex-col", "gap-6"], [1, "w-16", "h-16", "mx-auto", "mb-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-full", "h-full"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "1.5", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "text-lg", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [3, "id", "question", "viewMode", "viewType", "profileAnswers", "profileAnswerHistories", "users"], [3, "answerClick", "historyClick", "id", "question", "viewMode", "viewType", "profileAnswers", "profileAnswerHistories", "users"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", 3, "click", "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 19l-7-7 7-7"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "h-[70vh]", "overflow-hidden"], [1, "block", "h-full", 3, "question", "viewMode", "viewType", "selectedCategoryId", "selectedFocusAreaId", "filteredQuestions", "profileAnswers"], [1, "block", "h-full", 3, "backClick", "saveClick", "saveAndNextClick", "navigateToList", "navigateToNextQuestion", "question", "viewMode", "viewType", "selectedCategoryId", "selectedFocusAreaId", "filteredQuestions", "profileAnswers"]], template: function ShopProfileQuestionsModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
90742
|
+
} }, inputs: { isOpen: [1, "isOpen"], questions: [1, "questions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], users: [1, "users"], selectedCategoryId: [1, "selectedCategoryId"], selectedFocusAreaId: [1, "selectedFocusAreaId"], showAllQuestions: [1, "showAllQuestions"], startDirectAnswer: [1, "startDirectAnswer"], viewMode: [1, "viewMode"] }, outputs: { close: "close", questionAnswerClick: "questionAnswerClick", answerSave: "answerSave" }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], ["scrollContainer", ""], [1, "fixed", "inset-0", "overflow-y-auto", "z-[9000]"], [1, "fixed", "inset-0", "overflow-y-auto", "z-[9000]", 3, "click"], [1, "flex", "items-center", "justify-center", "min-h-screen", "px-4", "pt-4", "pb-20", "text-center", "sm:block", "sm:p-0"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", 3, "ngClass"], ["aria-hidden", "true", 1, "hidden", "sm:inline-block", "sm:align-middle", "sm:h-screen"], [1, "relative", "inline-block", "align-bottom", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "sm:my-8", "sm:align-middle", "sm:w-full", "sm:max-w-4xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "block", "h-[80vh]", 3, "question", "viewMode", "profileAnswerHistories", "profileAnswers", "users"], [1, "block", "h-[80vh]", 3, "close", "back", "question", "viewMode", "profileAnswerHistories", "profileAnswers", "users"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", "sticky", "top-0", "z-10", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex-1"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "mb-1", 3, "ngClass"], [1, "text-xl", "font-bold", "mb-3", 3, "ngClass"], [1, "space-y-2"], [1, "h-2", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "transition-all", "duration-500", "ease-out", "rounded-full", 3, "ngClass"], [1, "text-sm", "font-medium", 3, "ngClass"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", "relative", "ml-4", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], [1, "px-6", "py-8", "max-h-[70vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [1, "text-center", "py-12"], [1, "flex", "flex-col", "gap-6"], [1, "w-16", "h-16", "mx-auto", "mb-4", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-full", "h-full"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "1.5", "d", "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"], [1, "text-lg", "font-semibold", "mb-2", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [3, "id", "question", "viewMode", "viewType", "profileAnswers", "profileAnswerHistories", "users"], [3, "answerClick", "historyClick", "id", "question", "viewMode", "viewType", "profileAnswers", "profileAnswerHistories", "users"], [1, "flex", "items-center", "gap-3"], ["type", "button", 1, "transition-all", "rounded-lg", "p-1", "hover:scale-110", "active:scale-90", "cursor-pointer", 3, "click", "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M15 19l-7-7 7-7"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "h-[70vh]", "overflow-hidden"], [1, "block", "h-full", 3, "question", "viewMode", "viewType", "selectedCategoryId", "selectedFocusAreaId", "filteredQuestions", "profileAnswers"], [1, "block", "h-full", 3, "backClick", "saveClick", "saveAndNextClick", "navigateToList", "navigateToNextQuestion", "question", "viewMode", "viewType", "selectedCategoryId", "selectedFocusAreaId", "filteredQuestions", "profileAnswers"]], template: function ShopProfileQuestionsModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
90694
90743
|
i0.ɵɵconditionalCreate(0, ShopProfileQuestionsModalComponent_Conditional_0_Template, 11, 5, "div", 3);
|
|
90695
90744
|
} if (rf & 2) {
|
|
90696
90745
|
i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
|
|
@@ -90730,181 +90779,182 @@ class ShopProfileQuestionsModalComponent {
|
|
|
90730
90779
|
])
|
|
90731
90780
|
])
|
|
90732
90781
|
],
|
|
90733
|
-
template: `
|
|
90734
|
-
@if (isOpen()) {
|
|
90735
|
-
<div
|
|
90736
|
-
#modalWrapper
|
|
90737
|
-
class="fixed inset-0 overflow-y-auto z-[9000]"
|
|
90738
|
-
(click)="onBackdropClick()">
|
|
90739
|
-
<div class="flex items-center justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:block sm:p-0">
|
|
90740
|
-
<div
|
|
90741
|
-
[ngClass]="backdropClasses()"
|
|
90742
|
-
class="fixed inset-0 backdrop-blur-sm"
|
|
90743
|
-
aria-hidden="true"
|
|
90744
|
-
@fadeIn></div>
|
|
90745
|
-
|
|
90746
|
-
<span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">​</span>
|
|
90747
|
-
|
|
90748
|
-
<div
|
|
90749
|
-
#modalContent
|
|
90750
|
-
(click)="$event.stopPropagation()"
|
|
90751
|
-
[ngClass]="containerClasses()"
|
|
90752
|
-
class="relative inline-block align-bottom rounded-2xl text-left overflow-hidden shadow-xl sm:my-8 sm:align-middle sm:w-full sm:max-w-4xl border backdrop-blur-xl"
|
|
90753
|
-
@slideUpFade>
|
|
90754
|
-
|
|
90755
|
-
@if (historyModeActive()) {
|
|
90756
|
-
<!-- History Mode -->
|
|
90757
|
-
@if (questionForHistory()) {
|
|
90758
|
-
<symphiq-shop-profile-question-history
|
|
90759
|
-
class="block h-[80vh]"
|
|
90760
|
-
[question]="questionForHistory()!"
|
|
90761
|
-
[viewMode]="viewMode()"
|
|
90762
|
-
[profileAnswerHistories]="profileAnswerHistories()"
|
|
90763
|
-
[profileAnswers]="profileAnswers()"
|
|
90764
|
-
[users]="users()"
|
|
90765
|
-
(close)="onBackFromHistoryMode()"
|
|
90766
|
-
|
|
90767
|
-
|
|
90768
|
-
|
|
90769
|
-
|
|
90770
|
-
|
|
90771
|
-
|
|
90772
|
-
|
|
90773
|
-
|
|
90774
|
-
|
|
90775
|
-
|
|
90776
|
-
|
|
90777
|
-
|
|
90778
|
-
|
|
90779
|
-
|
|
90780
|
-
|
|
90781
|
-
|
|
90782
|
-
|
|
90783
|
-
|
|
90784
|
-
|
|
90785
|
-
|
|
90786
|
-
|
|
90787
|
-
|
|
90788
|
-
|
|
90789
|
-
|
|
90790
|
-
|
|
90791
|
-
|
|
90792
|
-
|
|
90793
|
-
|
|
90794
|
-
|
|
90795
|
-
|
|
90796
|
-
|
|
90797
|
-
|
|
90798
|
-
|
|
90799
|
-
|
|
90800
|
-
|
|
90801
|
-
|
|
90802
|
-
|
|
90803
|
-
|
|
90804
|
-
|
|
90805
|
-
|
|
90806
|
-
|
|
90807
|
-
|
|
90808
|
-
|
|
90809
|
-
|
|
90810
|
-
|
|
90811
|
-
|
|
90812
|
-
|
|
90813
|
-
|
|
90814
|
-
|
|
90815
|
-
|
|
90816
|
-
|
|
90817
|
-
|
|
90818
|
-
|
|
90819
|
-
|
|
90820
|
-
|
|
90821
|
-
|
|
90822
|
-
|
|
90823
|
-
|
|
90824
|
-
|
|
90825
|
-
|
|
90826
|
-
|
|
90827
|
-
|
|
90828
|
-
|
|
90829
|
-
|
|
90830
|
-
[
|
|
90831
|
-
[
|
|
90832
|
-
[
|
|
90833
|
-
[
|
|
90834
|
-
[
|
|
90835
|
-
[
|
|
90836
|
-
|
|
90837
|
-
(
|
|
90838
|
-
|
|
90839
|
-
|
|
90840
|
-
|
|
90841
|
-
|
|
90842
|
-
|
|
90843
|
-
|
|
90844
|
-
|
|
90845
|
-
|
|
90846
|
-
|
|
90847
|
-
|
|
90848
|
-
|
|
90849
|
-
|
|
90850
|
-
|
|
90851
|
-
|
|
90852
|
-
|
|
90853
|
-
|
|
90854
|
-
|
|
90855
|
-
|
|
90856
|
-
|
|
90857
|
-
|
|
90858
|
-
|
|
90859
|
-
|
|
90860
|
-
|
|
90861
|
-
|
|
90862
|
-
|
|
90863
|
-
|
|
90864
|
-
|
|
90865
|
-
|
|
90866
|
-
|
|
90867
|
-
|
|
90868
|
-
|
|
90869
|
-
|
|
90870
|
-
|
|
90871
|
-
|
|
90872
|
-
|
|
90873
|
-
|
|
90874
|
-
|
|
90875
|
-
|
|
90876
|
-
|
|
90877
|
-
|
|
90878
|
-
|
|
90879
|
-
|
|
90880
|
-
|
|
90881
|
-
|
|
90882
|
-
|
|
90883
|
-
|
|
90884
|
-
|
|
90885
|
-
|
|
90886
|
-
|
|
90887
|
-
|
|
90888
|
-
|
|
90889
|
-
|
|
90890
|
-
[
|
|
90891
|
-
[
|
|
90892
|
-
[
|
|
90893
|
-
[
|
|
90894
|
-
[
|
|
90895
|
-
[
|
|
90896
|
-
|
|
90897
|
-
(
|
|
90898
|
-
(
|
|
90899
|
-
(
|
|
90900
|
-
(
|
|
90901
|
-
|
|
90902
|
-
|
|
90903
|
-
|
|
90904
|
-
|
|
90905
|
-
|
|
90906
|
-
|
|
90907
|
-
|
|
90782
|
+
template: `
|
|
90783
|
+
@if (isOpen()) {
|
|
90784
|
+
<div
|
|
90785
|
+
#modalWrapper
|
|
90786
|
+
class="fixed inset-0 overflow-y-auto z-[9000]"
|
|
90787
|
+
(click)="onBackdropClick()">
|
|
90788
|
+
<div class="flex items-center justify-center min-h-screen px-4 pt-4 pb-20 text-center sm:block sm:p-0">
|
|
90789
|
+
<div
|
|
90790
|
+
[ngClass]="backdropClasses()"
|
|
90791
|
+
class="fixed inset-0 backdrop-blur-sm"
|
|
90792
|
+
aria-hidden="true"
|
|
90793
|
+
@fadeIn></div>
|
|
90794
|
+
|
|
90795
|
+
<span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true">​</span>
|
|
90796
|
+
|
|
90797
|
+
<div
|
|
90798
|
+
#modalContent
|
|
90799
|
+
(click)="$event.stopPropagation()"
|
|
90800
|
+
[ngClass]="containerClasses()"
|
|
90801
|
+
class="relative inline-block align-bottom rounded-2xl text-left overflow-hidden shadow-xl sm:my-8 sm:align-middle sm:w-full sm:max-w-4xl border backdrop-blur-xl"
|
|
90802
|
+
@slideUpFade>
|
|
90803
|
+
|
|
90804
|
+
@if (historyModeActive()) {
|
|
90805
|
+
<!-- History Mode -->
|
|
90806
|
+
@if (questionForHistory()) {
|
|
90807
|
+
<symphiq-shop-profile-question-history
|
|
90808
|
+
class="block h-[80vh]"
|
|
90809
|
+
[question]="questionForHistory()!"
|
|
90810
|
+
[viewMode]="viewMode()"
|
|
90811
|
+
[profileAnswerHistories]="profileAnswerHistories()"
|
|
90812
|
+
[profileAnswers]="profileAnswers()"
|
|
90813
|
+
[users]="users()"
|
|
90814
|
+
(close)="onBackFromHistoryMode()"
|
|
90815
|
+
(back)="onBackFromHistoryMode($event)" />
|
|
90816
|
+
}
|
|
90817
|
+
} @else if (!answerModeActive()) {
|
|
90818
|
+
<!-- Header -->
|
|
90819
|
+
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b backdrop-blur-sm sticky top-0 z-10">
|
|
90820
|
+
<div class="flex items-start justify-between">
|
|
90821
|
+
<div class="flex-1">
|
|
90822
|
+
<!-- Label -->
|
|
90823
|
+
<div [ngClass]="labelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-1">
|
|
90824
|
+
{{ viewType() === 'all' ? 'All Questions' : (viewType() === 'category' ? 'Category' : 'Focus Area') }}
|
|
90825
|
+
</div>
|
|
90826
|
+
|
|
90827
|
+
<!-- Title -->
|
|
90828
|
+
<h3 [ngClass]="titleClasses()" class="text-xl font-bold mb-3">
|
|
90829
|
+
{{ displayTitle() }}
|
|
90830
|
+
</h3>
|
|
90831
|
+
|
|
90832
|
+
<!-- Progress Bar -->
|
|
90833
|
+
<div class="space-y-2">
|
|
90834
|
+
<div [ngClass]="progressBarContainerClasses()" class="h-2 rounded-full overflow-hidden">
|
|
90835
|
+
<div
|
|
90836
|
+
[ngClass]="progressBarFillClasses()"
|
|
90837
|
+
class="h-full transition-all duration-500 ease-out rounded-full"
|
|
90838
|
+
[style.width.%]="progressPercentage()"></div>
|
|
90839
|
+
</div>
|
|
90840
|
+
<div [ngClass]="progressTextClasses()" class="text-sm font-medium">
|
|
90841
|
+
{{ answeredCount() }} / {{ totalCount() }} questions answered
|
|
90842
|
+
</div>
|
|
90843
|
+
</div>
|
|
90844
|
+
</div>
|
|
90845
|
+
|
|
90846
|
+
<!-- Close Button -->
|
|
90847
|
+
<button
|
|
90848
|
+
type="button"
|
|
90849
|
+
(click)="onClose()"
|
|
90850
|
+
[ngClass]="closeButtonClasses()"
|
|
90851
|
+
class="transition-all rounded-lg p-1 hover:scale-110 active:scale-90 cursor-pointer relative ml-4">
|
|
90852
|
+
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
90853
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
|
|
90854
|
+
</svg>
|
|
90855
|
+
</button>
|
|
90856
|
+
</div>
|
|
90857
|
+
</div>
|
|
90858
|
+
|
|
90859
|
+
<!-- Content -->
|
|
90860
|
+
<div #scrollContainer [ngClass]="contentClasses()" class="px-6 py-8 max-h-[70vh] overflow-y-auto backdrop-blur-sm">
|
|
90861
|
+
@if (filteredQuestions().length === 0) {
|
|
90862
|
+
<div class="text-center py-12">
|
|
90863
|
+
<div [ngClass]="emptyStateIconClasses()" class="w-16 h-16 mx-auto mb-4">
|
|
90864
|
+
<svg class="w-full h-full" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
90865
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
|
|
90866
|
+
</svg>
|
|
90867
|
+
</div>
|
|
90868
|
+
<h3 [ngClass]="emptyStateTitleClasses()" class="text-lg font-semibold mb-2">
|
|
90869
|
+
No questions found
|
|
90870
|
+
</h3>
|
|
90871
|
+
<p [ngClass]="emptyStateTextClasses()" class="text-sm">
|
|
90872
|
+
There are no questions for this {{ viewType() === 'category' ? 'category' : 'focus area' }}.
|
|
90873
|
+
</p>
|
|
90874
|
+
</div>
|
|
90875
|
+
} @else {
|
|
90876
|
+
<div class="flex flex-col gap-6">
|
|
90877
|
+
@for (question of filteredQuestions(); track question.id) {
|
|
90878
|
+
<symphiq-shop-profile-question-card
|
|
90879
|
+
[id]="'question-' + question.id"
|
|
90880
|
+
[question]="question"
|
|
90881
|
+
[viewMode]="viewMode()"
|
|
90882
|
+
[viewType]="viewType()"
|
|
90883
|
+
[profileAnswers]="profileAnswers()"
|
|
90884
|
+
[profileAnswerHistories]="profileAnswerHistories()"
|
|
90885
|
+
[users]="users()"
|
|
90886
|
+
(answerClick)="onQuestionAnswerClick($event)"
|
|
90887
|
+
(historyClick)="onQuestionHistoryClick($event)" />
|
|
90888
|
+
}
|
|
90889
|
+
</div>
|
|
90890
|
+
}
|
|
90891
|
+
</div>
|
|
90892
|
+
} @else {
|
|
90893
|
+
<!-- Answer Mode Header -->
|
|
90894
|
+
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b backdrop-blur-sm sticky top-0 z-10">
|
|
90895
|
+
<div class="flex items-start justify-between">
|
|
90896
|
+
<div class="flex items-center gap-3">
|
|
90897
|
+
<!-- Back Button -->
|
|
90898
|
+
<button
|
|
90899
|
+
type="button"
|
|
90900
|
+
(click)="onBackFromAnswerMode()"
|
|
90901
|
+
[ngClass]="closeButtonClasses()"
|
|
90902
|
+
class="transition-all rounded-lg p-1 hover:scale-110 active:scale-90 cursor-pointer">
|
|
90903
|
+
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
90904
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7"></path>
|
|
90905
|
+
</svg>
|
|
90906
|
+
</button>
|
|
90907
|
+
<div>
|
|
90908
|
+
<!-- Label - hide for All Questions mode -->
|
|
90909
|
+
@if (viewType() !== 'all') {
|
|
90910
|
+
<div [ngClass]="labelClasses()" class="text-xs font-semibold uppercase tracking-wider mb-1">
|
|
90911
|
+
{{ viewType() === 'category' ? 'Category' : 'Focus Area' }}
|
|
90912
|
+
</div>
|
|
90913
|
+
}
|
|
90914
|
+
<!-- Title -->
|
|
90915
|
+
<h3 [ngClass]="titleClasses()" class="text-xl font-bold">
|
|
90916
|
+
{{ displayTitle() }}
|
|
90917
|
+
</h3>
|
|
90918
|
+
</div>
|
|
90919
|
+
</div>
|
|
90920
|
+
|
|
90921
|
+
<!-- Close Button -->
|
|
90922
|
+
<button
|
|
90923
|
+
type="button"
|
|
90924
|
+
(click)="onClose()"
|
|
90925
|
+
[ngClass]="closeButtonClasses()"
|
|
90926
|
+
class="transition-all rounded-lg p-1 hover:scale-110 active:scale-90 cursor-pointer">
|
|
90927
|
+
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
90928
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
|
|
90929
|
+
</svg>
|
|
90930
|
+
</button>
|
|
90931
|
+
</div>
|
|
90932
|
+
</div>
|
|
90933
|
+
|
|
90934
|
+
<!-- Answer Mode Content -->
|
|
90935
|
+
<div class="h-[70vh] overflow-hidden">
|
|
90936
|
+
@if (questionForAnswer()) {
|
|
90937
|
+
<symphiq-shop-profile-question-answer
|
|
90938
|
+
class="block h-full"
|
|
90939
|
+
[question]="questionForAnswer()!"
|
|
90940
|
+
[viewMode]="viewMode()"
|
|
90941
|
+
[viewType]="viewType()"
|
|
90942
|
+
[selectedCategoryId]="selectedCategoryId()"
|
|
90943
|
+
[selectedFocusAreaId]="selectedFocusAreaId()"
|
|
90944
|
+
[filteredQuestions]="filteredQuestions()"
|
|
90945
|
+
[profileAnswers]="profileAnswers()"
|
|
90946
|
+
(backClick)="onBackFromAnswerMode()"
|
|
90947
|
+
(saveClick)="onSaveAnswer($event)"
|
|
90948
|
+
(saveAndNextClick)="onSaveAndNextAnswer($event)"
|
|
90949
|
+
(navigateToList)="onNavigateToList()"
|
|
90950
|
+
(navigateToNextQuestion)="onNavigateToNextQuestion()" />
|
|
90951
|
+
}
|
|
90952
|
+
</div>
|
|
90953
|
+
}
|
|
90954
|
+
</div>
|
|
90955
|
+
</div>
|
|
90956
|
+
</div>
|
|
90957
|
+
}
|
|
90908
90958
|
`
|
|
90909
90959
|
}]
|
|
90910
90960
|
}], () => [], { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }], questions: [{ type: i0.Input, args: [{ isSignal: true, alias: "questions", required: false }] }], profileAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnswers", required: false }] }], profileAnswerHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnswerHistories", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], selectedCategoryId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedCategoryId", required: false }] }], selectedFocusAreaId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedFocusAreaId", required: false }] }], showAllQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "showAllQuestions", required: false }] }], startDirectAnswer: [{ type: i0.Input, args: [{ isSignal: true, alias: "startDirectAnswer", required: false }] }], viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], close: [{ type: i0.Output, args: ["close"] }], questionAnswerClick: [{ type: i0.Output, args: ["questionAnswerClick"] }], answerSave: [{ type: i0.Output, args: ["answerSave"] }], modalContent: [{
|
|
@@ -90917,7 +90967,7 @@ class ShopProfileQuestionsModalComponent {
|
|
|
90917
90967
|
type: ViewChild,
|
|
90918
90968
|
args: ['scrollContainer']
|
|
90919
90969
|
}] }); })();
|
|
90920
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileQuestionsModalComponent, { className: "ShopProfileQuestionsModalComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-questions-modal.component.ts", lineNumber:
|
|
90970
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileQuestionsModalComponent, { className: "ShopProfileQuestionsModalComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-questions-modal.component.ts", lineNumber: 219 }); })();
|
|
90921
90971
|
|
|
90922
90972
|
const _c0$3 = ["chartdiv"];
|
|
90923
90973
|
function ShopProfileStatusCardComponent_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -90960,37 +91010,54 @@ function ShopProfileStatusCardComponent_Conditional_25_Template(rf, ctx) { if (r
|
|
|
90960
91010
|
i0.ɵɵadvance();
|
|
90961
91011
|
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("currentView", ctx_r1.currentView());
|
|
90962
91012
|
i0.ɵɵadvance();
|
|
90963
|
-
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("items", ctx_r1.currentGroupedQuestions());
|
|
91013
|
+
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("items", ctx_r1.currentGroupedQuestions())("delayAnimation", ctx_r1.questionsModalOpen());
|
|
90964
91014
|
} }
|
|
90965
|
-
function
|
|
91015
|
+
function ShopProfileStatusCardComponent_Conditional_26_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
90966
91016
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
90967
|
-
i0.ɵɵelementStart(0, "
|
|
90968
|
-
i0.ɵɵlistener("click", function
|
|
91017
|
+
i0.ɵɵelementStart(0, "button", 27);
|
|
91018
|
+
i0.ɵɵlistener("click", function ShopProfileStatusCardComponent_Conditional_26_Conditional_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.adminAnswerAction.emit(false)); });
|
|
90969
91019
|
i0.ɵɵnamespaceSVG();
|
|
90970
|
-
i0.ɵɵelementStart(
|
|
90971
|
-
i0.ɵɵelement(
|
|
91020
|
+
i0.ɵɵelementStart(1, "svg", 28);
|
|
91021
|
+
i0.ɵɵelement(2, "path", 29);
|
|
90972
91022
|
i0.ɵɵelementEnd();
|
|
90973
91023
|
i0.ɵɵnamespaceHTML();
|
|
90974
|
-
i0.ɵɵelementStart(
|
|
90975
|
-
i0.ɵɵtext(
|
|
91024
|
+
i0.ɵɵelementStart(3, "span");
|
|
91025
|
+
i0.ɵɵtext(4);
|
|
90976
91026
|
i0.ɵɵelementEnd()();
|
|
90977
|
-
|
|
90978
|
-
|
|
91027
|
+
} if (rf & 2) {
|
|
91028
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
91029
|
+
i0.ɵɵadvance(4);
|
|
91030
|
+
i0.ɵɵtextInterpolate1("Un-answer ", ctx_r1.computedAnsweredCount(), " ?s");
|
|
91031
|
+
} }
|
|
91032
|
+
function ShopProfileStatusCardComponent_Conditional_26_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
91033
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
91034
|
+
i0.ɵɵelementStart(0, "button", 27);
|
|
91035
|
+
i0.ɵɵlistener("click", function ShopProfileStatusCardComponent_Conditional_26_Conditional_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.adminAnswerAction.emit(true)); });
|
|
90979
91036
|
i0.ɵɵnamespaceSVG();
|
|
90980
|
-
i0.ɵɵelementStart(
|
|
90981
|
-
i0.ɵɵelement(
|
|
91037
|
+
i0.ɵɵelementStart(1, "svg", 28);
|
|
91038
|
+
i0.ɵɵelement(2, "path", 30);
|
|
90982
91039
|
i0.ɵɵelementEnd();
|
|
90983
91040
|
i0.ɵɵnamespaceHTML();
|
|
90984
|
-
i0.ɵɵelementStart(
|
|
90985
|
-
i0.ɵɵtext(
|
|
90986
|
-
i0.ɵɵelementEnd()()
|
|
91041
|
+
i0.ɵɵelementStart(3, "span");
|
|
91042
|
+
i0.ɵɵtext(4);
|
|
91043
|
+
i0.ɵɵelementEnd()();
|
|
90987
91044
|
} if (rf & 2) {
|
|
90988
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
90989
|
-
i0.ɵɵadvance(
|
|
90990
|
-
i0.ɵɵtextInterpolate1("Un-answer ", ctx_r1.answeredQuestions(), " ?s");
|
|
90991
|
-
i0.ɵɵadvance(5);
|
|
91045
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
91046
|
+
i0.ɵɵadvance(4);
|
|
90992
91047
|
i0.ɵɵtextInterpolate1("Answer ", ctx_r1.unansweredQuestions(), " ?s");
|
|
90993
91048
|
} }
|
|
91049
|
+
function ShopProfileStatusCardComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
91050
|
+
i0.ɵɵelementStart(0, "div", 20);
|
|
91051
|
+
i0.ɵɵconditionalCreate(1, ShopProfileStatusCardComponent_Conditional_26_Conditional_1_Template, 5, 1, "button", 26);
|
|
91052
|
+
i0.ɵɵconditionalCreate(2, ShopProfileStatusCardComponent_Conditional_26_Conditional_2_Template, 5, 1, "button", 26);
|
|
91053
|
+
i0.ɵɵelementEnd();
|
|
91054
|
+
} if (rf & 2) {
|
|
91055
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
91056
|
+
i0.ɵɵadvance();
|
|
91057
|
+
i0.ɵɵconditional(ctx_r1.computedAnsweredCount() > 0 ? 1 : -1);
|
|
91058
|
+
i0.ɵɵadvance();
|
|
91059
|
+
i0.ɵɵconditional(ctx_r1.unansweredQuestions() > 0 ? 2 : -1);
|
|
91060
|
+
} }
|
|
90994
91061
|
class ShopProfileStatusCardComponent {
|
|
90995
91062
|
constructor() {
|
|
90996
91063
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
@@ -91012,17 +91079,22 @@ class ShopProfileStatusCardComponent {
|
|
|
91012
91079
|
this.selectedFocusAreaId = signal(null, ...(ngDevMode ? [{ debugName: "selectedFocusAreaId" }] : []));
|
|
91013
91080
|
this.showAllQuestions = signal(false, ...(ngDevMode ? [{ debugName: "showAllQuestions" }] : []));
|
|
91014
91081
|
this.startDirectAnswer = signal(false, ...(ngDevMode ? [{ debugName: "startDirectAnswer" }] : []));
|
|
91082
|
+
this.computedAnsweredCount = computed(() => {
|
|
91083
|
+
const questions = this.questions();
|
|
91084
|
+
const answers = this.profileAnswers();
|
|
91085
|
+
return questions.filter(q => answers.some(a => a.profileQuestionId === q.id)).length;
|
|
91086
|
+
}, ...(ngDevMode ? [{ debugName: "computedAnsweredCount" }] : []));
|
|
91015
91087
|
this.completionPercentage = computed(() => {
|
|
91016
91088
|
const total = this.totalQuestions();
|
|
91017
91089
|
if (total === 0)
|
|
91018
91090
|
return 0;
|
|
91019
|
-
return (this.
|
|
91091
|
+
return (this.computedAnsweredCount() / total) * 100;
|
|
91020
91092
|
}, ...(ngDevMode ? [{ debugName: "completionPercentage" }] : []));
|
|
91021
91093
|
this.notStartedPercentage = computed(() => {
|
|
91022
91094
|
return 100 - this.completionPercentage();
|
|
91023
91095
|
}, ...(ngDevMode ? [{ debugName: "notStartedPercentage" }] : []));
|
|
91024
91096
|
this.shouldShowFullIntro = computed(() => {
|
|
91025
|
-
return this.
|
|
91097
|
+
return this.computedAnsweredCount() === 0;
|
|
91026
91098
|
}, ...(ngDevMode ? [{ debugName: "shouldShowFullIntro" }] : []));
|
|
91027
91099
|
this.hasQuestions = computed(() => {
|
|
91028
91100
|
return this.questions().length > 0;
|
|
@@ -91031,7 +91103,7 @@ class ShopProfileStatusCardComponent {
|
|
|
91031
91103
|
return EMAIL_IS_EMG_APPS(this.currentUser()?.email);
|
|
91032
91104
|
}, ...(ngDevMode ? [{ debugName: "showAdminButtons" }] : []));
|
|
91033
91105
|
this.unansweredQuestions = computed(() => {
|
|
91034
|
-
return this.totalQuestions() - this.
|
|
91106
|
+
return this.totalQuestions() - this.computedAnsweredCount();
|
|
91035
91107
|
}, ...(ngDevMode ? [{ debugName: "unansweredQuestions" }] : []));
|
|
91036
91108
|
this.questionsByCategory = computed(() => {
|
|
91037
91109
|
const questions = this.questions();
|
|
@@ -91103,6 +91175,32 @@ class ShopProfileStatusCardComponent {
|
|
|
91103
91175
|
? this.questionsByCategory()
|
|
91104
91176
|
: this.questionsByFocusArea();
|
|
91105
91177
|
}, ...(ngDevMode ? [{ debugName: "currentGroupedQuestions" }] : []));
|
|
91178
|
+
effect(() => {
|
|
91179
|
+
const completionPct = this.completionPercentage();
|
|
91180
|
+
const notStartedPct = this.notStartedPercentage();
|
|
91181
|
+
this.updateChartData(completionPct, notStartedPct);
|
|
91182
|
+
});
|
|
91183
|
+
}
|
|
91184
|
+
updateChartData(completionPct, notStartedPct) {
|
|
91185
|
+
if (!this.chartSeries || !this.centerLabel)
|
|
91186
|
+
return;
|
|
91187
|
+
const pieData = [];
|
|
91188
|
+
if (completionPct > 0) {
|
|
91189
|
+
pieData.push({
|
|
91190
|
+
category: 'Complete',
|
|
91191
|
+
value: completionPct,
|
|
91192
|
+
sliceSettings: { fill: color(0x0BA5EC) }
|
|
91193
|
+
});
|
|
91194
|
+
}
|
|
91195
|
+
if (notStartedPct > 0) {
|
|
91196
|
+
pieData.push({
|
|
91197
|
+
category: 'Not started',
|
|
91198
|
+
value: notStartedPct,
|
|
91199
|
+
sliceSettings: { fill: color(0xF04438) }
|
|
91200
|
+
});
|
|
91201
|
+
}
|
|
91202
|
+
this.chartSeries.data.setAll(pieData);
|
|
91203
|
+
this.centerLabel.set('text', `${completionPct.toFixed(1)}%\nComplete`);
|
|
91106
91204
|
}
|
|
91107
91205
|
handleViewChange(view) {
|
|
91108
91206
|
this.currentView.set(view);
|
|
@@ -91165,6 +91263,8 @@ class ShopProfileStatusCardComponent {
|
|
|
91165
91263
|
this.root.dispose();
|
|
91166
91264
|
}
|
|
91167
91265
|
this.chartElement = undefined;
|
|
91266
|
+
this.chartSeries = undefined;
|
|
91267
|
+
this.centerLabel = undefined;
|
|
91168
91268
|
this.root = undefined;
|
|
91169
91269
|
}
|
|
91170
91270
|
createChart() {
|
|
@@ -91178,33 +91278,33 @@ class ShopProfileStatusCardComponent {
|
|
|
91178
91278
|
radius: percent(95),
|
|
91179
91279
|
innerRadius: percent(60)
|
|
91180
91280
|
}));
|
|
91181
|
-
|
|
91281
|
+
this.chartSeries = this.chartElement.series.push(PieSeries.new(this.root, {
|
|
91182
91282
|
valueField: 'value',
|
|
91183
91283
|
categoryField: 'category',
|
|
91184
91284
|
alignLabels: false
|
|
91185
91285
|
}));
|
|
91186
|
-
|
|
91286
|
+
this.chartSeries.slices.template.setAll({
|
|
91187
91287
|
templateField: 'sliceSettings',
|
|
91188
91288
|
strokeOpacity: 0
|
|
91189
91289
|
});
|
|
91190
|
-
|
|
91290
|
+
this.chartSeries.labels.template.setAll({
|
|
91191
91291
|
textType: 'circular',
|
|
91192
91292
|
fill: color(0xFFFFFF),
|
|
91193
91293
|
text: '{category}',
|
|
91194
91294
|
fontSize: 12
|
|
91195
91295
|
});
|
|
91196
|
-
|
|
91197
|
-
|
|
91296
|
+
this.chartSeries.ticks.template.set('forceHidden', true);
|
|
91297
|
+
this.chartSeries.states.create('hidden', {
|
|
91198
91298
|
startAngle: 180,
|
|
91199
91299
|
endAngle: 180
|
|
91200
91300
|
});
|
|
91201
|
-
|
|
91301
|
+
this.chartSeries.slices.template.states.create('hover', {
|
|
91202
91302
|
scale: 1
|
|
91203
91303
|
});
|
|
91204
|
-
|
|
91304
|
+
this.chartSeries.slices.template.states.create('active', {
|
|
91205
91305
|
shiftRadius: 0
|
|
91206
91306
|
});
|
|
91207
|
-
|
|
91307
|
+
this.chartSeries.labels.template.adapters.add('visible', function (visible, radialLabel) {
|
|
91208
91308
|
if (radialLabel.dataItem && radialLabel.dataItem.dataContext) {
|
|
91209
91309
|
const pieData = radialLabel.dataItem.dataContext;
|
|
91210
91310
|
if (pieData.value < 8) {
|
|
@@ -91213,30 +91313,9 @@ class ShopProfileStatusCardComponent {
|
|
|
91213
91313
|
}
|
|
91214
91314
|
return visible;
|
|
91215
91315
|
});
|
|
91216
|
-
const pieData = [];
|
|
91217
91316
|
const completionPct = this.completionPercentage();
|
|
91218
|
-
const notStartedPct = this.notStartedPercentage();
|
|
91219
|
-
if (completionPct > 0) {
|
|
91220
|
-
pieData.push({
|
|
91221
|
-
category: 'Complete',
|
|
91222
|
-
value: completionPct,
|
|
91223
|
-
sliceSettings: {
|
|
91224
|
-
fill: color(0x0BA5EC)
|
|
91225
|
-
}
|
|
91226
|
-
});
|
|
91227
|
-
}
|
|
91228
|
-
if (notStartedPct > 0) {
|
|
91229
|
-
pieData.push({
|
|
91230
|
-
category: 'Not started',
|
|
91231
|
-
value: notStartedPct,
|
|
91232
|
-
sliceSettings: {
|
|
91233
|
-
fill: color(0xF04438)
|
|
91234
|
-
}
|
|
91235
|
-
});
|
|
91236
|
-
}
|
|
91237
|
-
series.data.setAll(pieData);
|
|
91238
91317
|
const percentageText = `${completionPct.toFixed(1)}%\nComplete`;
|
|
91239
|
-
this.
|
|
91318
|
+
this.centerLabel = Label.new(this.root, {
|
|
91240
91319
|
text: percentageText,
|
|
91241
91320
|
fontSize: 16,
|
|
91242
91321
|
fill: color(0xFFFFFF),
|
|
@@ -91248,9 +91327,11 @@ class ShopProfileStatusCardComponent {
|
|
|
91248
91327
|
centerY: percent(50),
|
|
91249
91328
|
paddingTop: 0,
|
|
91250
91329
|
paddingBottom: 0
|
|
91251
|
-
})
|
|
91330
|
+
});
|
|
91331
|
+
this.chartElement.children.unshift(this.centerLabel);
|
|
91332
|
+
this.updateChartData(completionPct, this.notStartedPercentage());
|
|
91252
91333
|
this.chartElement.appear(1000, 100);
|
|
91253
|
-
|
|
91334
|
+
this.chartSeries.appear();
|
|
91254
91335
|
}
|
|
91255
91336
|
containerClasses() {
|
|
91256
91337
|
return this.viewMode() === ViewModeEnum.DARK
|
|
@@ -91308,7 +91389,7 @@ class ShopProfileStatusCardComponent {
|
|
|
91308
91389
|
} if (rf & 2) {
|
|
91309
91390
|
let _t;
|
|
91310
91391
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chartDiv = _t.first);
|
|
91311
|
-
} }, inputs: { viewMode: [1, "viewMode"], totalQuestions: [1, "totalQuestions"], answeredQuestions: [1, "answeredQuestions"], questions: [1, "questions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], users: [1, "users"], startAnsweringAll: [1, "startAnsweringAll"], currentUser: [1, "currentUser"] }, outputs: { startCategoryQuestions: "startCategoryQuestions", questionAnswerRequested: "questionAnswerRequested", answerSave: "answerSave", adminAnswerAction: "adminAnswerAction" }, decls: 28, vars: 23, consts: [["chartdiv", ""], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "flex", "flex-wrap", "items-center", "gap-6", "mb-8"], [1, "rounded-xl", "p-6", "flex-1", "min-w-[300px]", 3, "ngClass"], [1, "flex", "items-start", "gap-4"], [1, "flex-shrink-0", "p-2", "rounded-lg", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "leading-relaxed", 3, "ngClass"], [1, "flex-shrink-0"], [1, "w-[250px]", "h-[250px]"], [1, "flex", "items-center", "justify-center", "gap-4", "mt-6", "pt-6", "border-t", "border-slate-700/50"], [3, "close", "questionAnswerClick", "answerSave", "isOpen", "questions", "profileAnswers", "profileAnswerHistories", "users", "selectedCategoryId", "selectedFocusAreaId", "showAllQuestions", "startDirectAnswer", "viewMode"], [1, "font-semibold", "text-lg", "mb-3", 3, "ngClass"], [1, "flex", "justify-center", "mb-6"], [3, "viewChanged", "viewMode", "currentView"], [3, "itemClick", "viewMode", "items"], ["type", "button", 1, "flex", "items-center", "gap-2", "px-4", "py-2", "rounded-lg", "border-2", "border-violet-500/70", "bg-transparent", "text-violet-400", "hover:bg-violet-500/10", "transition-colors", 3, "click"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M5 13l4 4L19 7"]], template: function ShopProfileStatusCardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
91392
|
+
} }, inputs: { viewMode: [1, "viewMode"], totalQuestions: [1, "totalQuestions"], answeredQuestions: [1, "answeredQuestions"], questions: [1, "questions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], users: [1, "users"], startAnsweringAll: [1, "startAnsweringAll"], currentUser: [1, "currentUser"] }, outputs: { startCategoryQuestions: "startCategoryQuestions", questionAnswerRequested: "questionAnswerRequested", answerSave: "answerSave", adminAnswerAction: "adminAnswerAction" }, decls: 28, vars: 23, consts: [["chartdiv", ""], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-6", "py-5", "border-b", 3, "ngClass"], [1, "flex", "items-center", "justify-between"], [1, "flex", "items-center", "gap-3"], [1, "p-2.5", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-sm", "mt-0.5", 3, "ngClass"], [1, "p-6", 3, "ngClass"], [1, "flex", "flex-wrap", "items-center", "gap-6", "mb-8"], [1, "rounded-xl", "p-6", "flex-1", "min-w-[300px]", 3, "ngClass"], [1, "flex", "items-start", "gap-4"], [1, "flex-shrink-0", "p-2", "rounded-lg", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "leading-relaxed", 3, "ngClass"], [1, "flex-shrink-0"], [1, "w-[250px]", "h-[250px]"], [1, "flex", "items-center", "justify-center", "gap-4", "mt-6", "pt-6", "border-t", "border-slate-700/50"], [3, "close", "questionAnswerClick", "answerSave", "isOpen", "questions", "profileAnswers", "profileAnswerHistories", "users", "selectedCategoryId", "selectedFocusAreaId", "showAllQuestions", "startDirectAnswer", "viewMode"], [1, "font-semibold", "text-lg", "mb-3", 3, "ngClass"], [1, "flex", "justify-center", "mb-6"], [3, "viewChanged", "viewMode", "currentView"], [3, "itemClick", "viewMode", "items", "delayAnimation"], ["type", "button", 1, "flex", "items-center", "gap-2", "px-4", "py-2", "rounded-lg", "border-2", "border-violet-500/70", "bg-transparent", "text-violet-400", "hover:bg-violet-500/10", "transition-colors"], ["type", "button", 1, "flex", "items-center", "gap-2", "px-4", "py-2", "rounded-lg", "border-2", "border-violet-500/70", "bg-transparent", "text-violet-400", "hover:bg-violet-500/10", "transition-colors", 3, "click"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M6 18L18 6M6 6l12 12"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M5 13l4 4L19 7"]], template: function ShopProfileStatusCardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
91312
91393
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
91313
91394
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2)(2, "div", 3)(3, "div", 4)(4, "div", 5);
|
|
91314
91395
|
i0.ɵɵnamespaceSVG();
|
|
@@ -91334,8 +91415,8 @@ class ShopProfileStatusCardComponent {
|
|
|
91334
91415
|
i0.ɵɵelementStart(22, "div", 18);
|
|
91335
91416
|
i0.ɵɵelement(23, "div", 19, 0);
|
|
91336
91417
|
i0.ɵɵelementEnd()();
|
|
91337
|
-
i0.ɵɵconditionalCreate(25, ShopProfileStatusCardComponent_Conditional_25_Template, 3,
|
|
91338
|
-
i0.ɵɵconditionalCreate(26, ShopProfileStatusCardComponent_Conditional_26_Template,
|
|
91418
|
+
i0.ɵɵconditionalCreate(25, ShopProfileStatusCardComponent_Conditional_25_Template, 3, 5);
|
|
91419
|
+
i0.ɵɵconditionalCreate(26, ShopProfileStatusCardComponent_Conditional_26_Template, 3, 2, "div", 20);
|
|
91339
91420
|
i0.ɵɵelementEnd()();
|
|
91340
91421
|
i0.ɵɵelementStart(27, "symphiq-shop-profile-questions-modal", 21);
|
|
91341
91422
|
i0.ɵɵlistener("close", function ShopProfileStatusCardComponent_Template_symphiq_shop_profile_questions_modal_close_27_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onQuestionsModalClose()); })("questionAnswerClick", function ShopProfileStatusCardComponent_Template_symphiq_shop_profile_questions_modal_questionAnswerClick_27_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onQuestionAnswerClick($event)); })("answerSave", function ShopProfileStatusCardComponent_Template_symphiq_shop_profile_questions_modal_answerSave_27_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onAnswerSave($event)); });
|
|
@@ -91375,129 +91456,134 @@ class ShopProfileStatusCardComponent {
|
|
|
91375
91456
|
standalone: true,
|
|
91376
91457
|
imports: [CommonModule, ShopProfileCategoryListComponent, ShopProfileViewToggleComponent, ShopProfileQuestionsModalComponent],
|
|
91377
91458
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
91378
|
-
template: `
|
|
91379
|
-
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
91380
|
-
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
|
|
91381
|
-
<div class="flex items-center justify-between">
|
|
91382
|
-
<div class="flex items-center gap-3">
|
|
91383
|
-
<div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
|
|
91384
|
-
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
91385
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"></path>
|
|
91386
|
-
</svg>
|
|
91387
|
-
</div>
|
|
91388
|
-
<div>
|
|
91389
|
-
<h2 [ngClass]="titleClasses()" class="text-xl font-bold">
|
|
91390
|
-
Shop Profile
|
|
91391
|
-
</h2>
|
|
91392
|
-
<p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
|
|
91393
|
-
{{ answeredQuestions() }} of {{ totalQuestions() }} questions answered
|
|
91394
|
-
</p>
|
|
91395
|
-
</div>
|
|
91396
|
-
</div>
|
|
91397
|
-
</div>
|
|
91398
|
-
</div>
|
|
91399
|
-
|
|
91400
|
-
<div [ngClass]="contentClasses()" class="p-6">
|
|
91401
|
-
<!-- Chart and Explanatory Text Side by Side -->
|
|
91402
|
-
<div class="flex flex-wrap items-center gap-6 mb-8">
|
|
91403
|
-
<!-- Explanatory Text -->
|
|
91404
|
-
<div [ngClass]="getIntroductionContainerClasses()" class="rounded-xl p-6 flex-1 min-w-[300px]">
|
|
91405
|
-
<div class="flex items-start gap-4">
|
|
91406
|
-
<div [ngClass]="getIntroIconClasses()" class="flex-shrink-0 p-2 rounded-lg">
|
|
91407
|
-
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
91408
|
-
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
91409
|
-
</svg>
|
|
91410
|
-
</div>
|
|
91411
|
-
<div class="flex-1">
|
|
91412
|
-
@if (shouldShowFullIntro()) {
|
|
91413
|
-
<h3 [ngClass]="getIntroTitleClasses()" class="font-semibold text-lg mb-3">
|
|
91414
|
-
Why Shop Profile Questions Matter
|
|
91415
|
-
</h3>
|
|
91416
|
-
<p [ngClass]="getIntroTextClasses()" class="leading-relaxed">
|
|
91417
|
-
Shop Profile questions are a <strong>critical part of your onboarding journey</strong>. These questions provide crucial qualitative data to the Symphiq engine, enabling personalized analysis and strategic recommendations tailored to your business. Your insights help us understand your unique operations, challenges, and goals.
|
|
91418
|
-
</p>
|
|
91419
|
-
} @else {
|
|
91420
|
-
<p [ngClass]="getIntroTextClasses()" class="leading-relaxed">
|
|
91421
|
-
<strong>Great progress!</strong> Continue answering questions to unlock deeper insights and more accurate recommendations. Each answer helps Symphiq better understand your business context.
|
|
91422
|
-
</p>
|
|
91423
|
-
}
|
|
91424
|
-
</div>
|
|
91425
|
-
</div>
|
|
91426
|
-
</div>
|
|
91427
|
-
|
|
91428
|
-
<!-- Donut Chart -->
|
|
91429
|
-
<div class="flex-shrink-0">
|
|
91430
|
-
<div #chartdiv class="w-[250px] h-[250px]"></div>
|
|
91431
|
-
</div>
|
|
91432
|
-
</div>
|
|
91433
|
-
|
|
91434
|
-
<!-- View Toggle -->
|
|
91435
|
-
@if (hasQuestions()) {
|
|
91436
|
-
<div class="flex justify-center mb-6">
|
|
91437
|
-
<symphiq-shop-profile-view-toggle
|
|
91438
|
-
[viewMode]="viewMode()"
|
|
91439
|
-
[currentView]="currentView()"
|
|
91440
|
-
(viewChanged)="handleViewChange($event)"
|
|
91441
|
-
/>
|
|
91442
|
-
</div>
|
|
91443
|
-
|
|
91444
|
-
<!-- Category/Focus Area List -->
|
|
91445
|
-
<symphiq-shop-profile-category-list
|
|
91446
|
-
[viewMode]="viewMode()"
|
|
91447
|
-
[items]="currentGroupedQuestions()"
|
|
91448
|
-
|
|
91449
|
-
|
|
91450
|
-
|
|
91451
|
-
|
|
91452
|
-
|
|
91453
|
-
|
|
91454
|
-
|
|
91455
|
-
|
|
91456
|
-
|
|
91457
|
-
|
|
91458
|
-
|
|
91459
|
-
|
|
91460
|
-
|
|
91461
|
-
|
|
91462
|
-
|
|
91463
|
-
|
|
91464
|
-
|
|
91465
|
-
|
|
91466
|
-
|
|
91467
|
-
|
|
91468
|
-
|
|
91469
|
-
|
|
91470
|
-
|
|
91471
|
-
|
|
91472
|
-
|
|
91473
|
-
|
|
91474
|
-
|
|
91475
|
-
|
|
91476
|
-
|
|
91477
|
-
|
|
91478
|
-
|
|
91479
|
-
|
|
91480
|
-
|
|
91481
|
-
|
|
91482
|
-
|
|
91483
|
-
|
|
91484
|
-
|
|
91485
|
-
|
|
91486
|
-
[
|
|
91487
|
-
[
|
|
91488
|
-
[
|
|
91489
|
-
[
|
|
91490
|
-
[
|
|
91491
|
-
|
|
91492
|
-
|
|
91493
|
-
|
|
91459
|
+
template: `
|
|
91460
|
+
<div [ngClass]="containerClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
91461
|
+
<div [ngClass]="headerClasses()" class="px-6 py-5 border-b">
|
|
91462
|
+
<div class="flex items-center justify-between">
|
|
91463
|
+
<div class="flex items-center gap-3">
|
|
91464
|
+
<div [ngClass]="iconContainerClasses()" class="p-2.5 rounded-lg">
|
|
91465
|
+
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
91466
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01"></path>
|
|
91467
|
+
</svg>
|
|
91468
|
+
</div>
|
|
91469
|
+
<div>
|
|
91470
|
+
<h2 [ngClass]="titleClasses()" class="text-xl font-bold">
|
|
91471
|
+
Shop Profile
|
|
91472
|
+
</h2>
|
|
91473
|
+
<p [ngClass]="subtitleClasses()" class="text-sm mt-0.5">
|
|
91474
|
+
{{ answeredQuestions() }} of {{ totalQuestions() }} questions answered
|
|
91475
|
+
</p>
|
|
91476
|
+
</div>
|
|
91477
|
+
</div>
|
|
91478
|
+
</div>
|
|
91479
|
+
</div>
|
|
91480
|
+
|
|
91481
|
+
<div [ngClass]="contentClasses()" class="p-6">
|
|
91482
|
+
<!-- Chart and Explanatory Text Side by Side -->
|
|
91483
|
+
<div class="flex flex-wrap items-center gap-6 mb-8">
|
|
91484
|
+
<!-- Explanatory Text -->
|
|
91485
|
+
<div [ngClass]="getIntroductionContainerClasses()" class="rounded-xl p-6 flex-1 min-w-[300px]">
|
|
91486
|
+
<div class="flex items-start gap-4">
|
|
91487
|
+
<div [ngClass]="getIntroIconClasses()" class="flex-shrink-0 p-2 rounded-lg">
|
|
91488
|
+
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
91489
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
91490
|
+
</svg>
|
|
91491
|
+
</div>
|
|
91492
|
+
<div class="flex-1">
|
|
91493
|
+
@if (shouldShowFullIntro()) {
|
|
91494
|
+
<h3 [ngClass]="getIntroTitleClasses()" class="font-semibold text-lg mb-3">
|
|
91495
|
+
Why Shop Profile Questions Matter
|
|
91496
|
+
</h3>
|
|
91497
|
+
<p [ngClass]="getIntroTextClasses()" class="leading-relaxed">
|
|
91498
|
+
Shop Profile questions are a <strong>critical part of your onboarding journey</strong>. These questions provide crucial qualitative data to the Symphiq engine, enabling personalized analysis and strategic recommendations tailored to your business. Your insights help us understand your unique operations, challenges, and goals.
|
|
91499
|
+
</p>
|
|
91500
|
+
} @else {
|
|
91501
|
+
<p [ngClass]="getIntroTextClasses()" class="leading-relaxed">
|
|
91502
|
+
<strong>Great progress!</strong> Continue answering questions to unlock deeper insights and more accurate recommendations. Each answer helps Symphiq better understand your business context.
|
|
91503
|
+
</p>
|
|
91504
|
+
}
|
|
91505
|
+
</div>
|
|
91506
|
+
</div>
|
|
91507
|
+
</div>
|
|
91508
|
+
|
|
91509
|
+
<!-- Donut Chart -->
|
|
91510
|
+
<div class="flex-shrink-0">
|
|
91511
|
+
<div #chartdiv class="w-[250px] h-[250px]"></div>
|
|
91512
|
+
</div>
|
|
91513
|
+
</div>
|
|
91514
|
+
|
|
91515
|
+
<!-- View Toggle -->
|
|
91516
|
+
@if (hasQuestions()) {
|
|
91517
|
+
<div class="flex justify-center mb-6">
|
|
91518
|
+
<symphiq-shop-profile-view-toggle
|
|
91519
|
+
[viewMode]="viewMode()"
|
|
91520
|
+
[currentView]="currentView()"
|
|
91521
|
+
(viewChanged)="handleViewChange($event)"
|
|
91522
|
+
/>
|
|
91523
|
+
</div>
|
|
91524
|
+
|
|
91525
|
+
<!-- Category/Focus Area List -->
|
|
91526
|
+
<symphiq-shop-profile-category-list
|
|
91527
|
+
[viewMode]="viewMode()"
|
|
91528
|
+
[items]="currentGroupedQuestions()"
|
|
91529
|
+
[delayAnimation]="questionsModalOpen()"
|
|
91530
|
+
(itemClick)="handleItemClick($event)"
|
|
91531
|
+
/>
|
|
91532
|
+
}
|
|
91533
|
+
|
|
91534
|
+
@if (showAdminButtons()) {
|
|
91535
|
+
<div class="flex items-center justify-center gap-4 mt-6 pt-6 border-t border-slate-700/50">
|
|
91536
|
+
@if (computedAnsweredCount() > 0) {
|
|
91537
|
+
<button
|
|
91538
|
+
type="button"
|
|
91539
|
+
(click)="adminAnswerAction.emit(false)"
|
|
91540
|
+
class="flex items-center gap-2 px-4 py-2 rounded-lg border-2 border-violet-500/70 bg-transparent text-violet-400 hover:bg-violet-500/10 transition-colors"
|
|
91541
|
+
>
|
|
91542
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
91543
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
|
|
91544
|
+
</svg>
|
|
91545
|
+
<span>Un-answer {{ computedAnsweredCount() }} ?s</span>
|
|
91546
|
+
</button>
|
|
91547
|
+
}
|
|
91548
|
+
@if (unansweredQuestions() > 0) {
|
|
91549
|
+
<button
|
|
91550
|
+
type="button"
|
|
91551
|
+
(click)="adminAnswerAction.emit(true)"
|
|
91552
|
+
class="flex items-center gap-2 px-4 py-2 rounded-lg border-2 border-violet-500/70 bg-transparent text-violet-400 hover:bg-violet-500/10 transition-colors"
|
|
91553
|
+
>
|
|
91554
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
91555
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7"></path>
|
|
91556
|
+
</svg>
|
|
91557
|
+
<span>Answer {{ unansweredQuestions() }} ?s</span>
|
|
91558
|
+
</button>
|
|
91559
|
+
}
|
|
91560
|
+
</div>
|
|
91561
|
+
}
|
|
91562
|
+
</div>
|
|
91563
|
+
</div>
|
|
91564
|
+
|
|
91565
|
+
<!-- Questions Modal -->
|
|
91566
|
+
<symphiq-shop-profile-questions-modal
|
|
91567
|
+
[isOpen]="questionsModalOpen()"
|
|
91568
|
+
[questions]="questions()"
|
|
91569
|
+
[profileAnswers]="profileAnswers()"
|
|
91570
|
+
[profileAnswerHistories]="profileAnswerHistories()"
|
|
91571
|
+
[users]="users()"
|
|
91572
|
+
[selectedCategoryId]="selectedCategoryId()"
|
|
91573
|
+
[selectedFocusAreaId]="selectedFocusAreaId()"
|
|
91574
|
+
[showAllQuestions]="showAllQuestions()"
|
|
91575
|
+
[startDirectAnswer]="startDirectAnswer()"
|
|
91576
|
+
[viewMode]="viewMode()"
|
|
91577
|
+
(close)="onQuestionsModalClose()"
|
|
91578
|
+
(questionAnswerClick)="onQuestionAnswerClick($event)"
|
|
91579
|
+
(answerSave)="onAnswerSave($event)" />
|
|
91494
91580
|
`
|
|
91495
91581
|
}]
|
|
91496
|
-
}],
|
|
91582
|
+
}], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], totalQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalQuestions", required: false }] }], answeredQuestions: [{ type: i0.Input, args: [{ isSignal: true, alias: "answeredQuestions", required: false }] }], questions: [{ type: i0.Input, args: [{ isSignal: true, alias: "questions", required: false }] }], profileAnswers: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnswers", required: false }] }], profileAnswerHistories: [{ type: i0.Input, args: [{ isSignal: true, alias: "profileAnswerHistories", required: false }] }], users: [{ type: i0.Input, args: [{ isSignal: true, alias: "users", required: false }] }], startAnsweringAll: [{ type: i0.Input, args: [{ isSignal: true, alias: "startAnsweringAll", required: false }] }], currentUser: [{ type: i0.Input, args: [{ isSignal: true, alias: "currentUser", required: false }] }], startCategoryQuestions: [{ type: i0.Output, args: ["startCategoryQuestions"] }], questionAnswerRequested: [{ type: i0.Output, args: ["questionAnswerRequested"] }], answerSave: [{ type: i0.Output, args: ["answerSave"] }], adminAnswerAction: [{ type: i0.Output, args: ["adminAnswerAction"] }], chartDiv: [{
|
|
91497
91583
|
type: ViewChild,
|
|
91498
91584
|
args: ['chartdiv', { static: false }]
|
|
91499
91585
|
}] }); })();
|
|
91500
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileStatusCardComponent, { className: "ShopProfileStatusCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-status-card.component.ts", lineNumber:
|
|
91586
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShopProfileStatusCardComponent, { className: "ShopProfileStatusCardComponent", filePath: "lib/components/profile-analysis-dashboard/cards/shop-profile-status-card.component.ts", lineNumber: 159 }); })();
|
|
91501
91587
|
|
|
91502
91588
|
function ShopProfileStickyFooterComponent_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
91503
91589
|
i0.ɵɵelementStart(0, "div", 5);
|
|
@@ -93043,11 +93129,16 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
93043
93129
|
const profileShop = this.profileShop();
|
|
93044
93130
|
return profileShop && profileShop.selfContentStatus === AiDynamicContentStatusEnum.GENERATED;
|
|
93045
93131
|
}, ...(ngDevMode ? [{ debugName: "shouldShowShopProfileStatus" }] : []));
|
|
93132
|
+
this.shouldShowHeaderControls = computed(() => {
|
|
93133
|
+
return !!this.profileAnalysis() && this.profileShop()?.selfContentStatus === AiDynamicContentStatusEnum.GENERATED;
|
|
93134
|
+
}, ...(ngDevMode ? [{ debugName: "shouldShowHeaderControls" }] : []));
|
|
93046
93135
|
this.totalShopQuestions = computed(() => {
|
|
93047
93136
|
return this.profileShopQuestions()?.length || 0;
|
|
93048
93137
|
}, ...(ngDevMode ? [{ debugName: "totalShopQuestions" }] : []));
|
|
93049
93138
|
this.answeredShopQuestions = computed(() => {
|
|
93050
|
-
|
|
93139
|
+
const questions = this.profileShopQuestions() || [];
|
|
93140
|
+
const answers = this.profileAnswers() || [];
|
|
93141
|
+
return questions.filter(q => answers.some(a => a.profileQuestionId === q.id)).length;
|
|
93051
93142
|
}, ...(ngDevMode ? [{ debugName: "answeredShopQuestions" }] : []));
|
|
93052
93143
|
this.shopQuestionsCompletionPercentage = computed(() => {
|
|
93053
93144
|
const total = this.totalShopQuestions();
|
|
@@ -93874,7 +93965,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
93874
93965
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.shopProfileStatusCard = _t.first);
|
|
93875
93966
|
} }, hostBindings: function SymphiqProfileAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
93876
93967
|
i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
|
|
93877
|
-
} }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], analysisType: [1, "analysisType"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileShop: [1, "profileShop"], profileShopQuestions: [1, "profileShopQuestions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], itemStatusProfileShop: [1, "itemStatusProfileShop"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", checkoutPlanClick: "checkoutPlanClick", answerShopProfileQuestions: "answerShopProfileQuestions", continueShopProfileQuestions: "continueShopProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", shopProfileAdminAnswerAction: "shopProfileAdminAnswerAction" }, features: [i0.ɵɵNgOnChangesFeature], decls: 30, vars:
|
|
93968
|
+
} }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], analysisType: [1, "analysisType"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileShop: [1, "profileShop"], profileShopQuestions: [1, "profileShopQuestions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], itemStatusProfileShop: [1, "itemStatusProfileShop"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", checkoutPlanClick: "checkoutPlanClick", answerShopProfileQuestions: "answerShopProfileQuestions", continueShopProfileQuestions: "continueShopProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", shopProfileAdminAnswerAction: "shopProfileAdminAnswerAction" }, features: [i0.ɵɵNgOnChangesFeature], decls: 30, vars: 52, consts: [["shopProfileStatusCard", ""], [1, "min-h-screen", "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [1, "mb-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [3, "viewMode", "totalQuestions", "answeredQuestions"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-lg", 3, "ngClass"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMode", "focusAreaDomain", "focusAreaName", "focusAreaDetails"], [3, "viewMode", "metricName", "isOnboarded"], [1, "mb-8"], [3, "startCategoryQuestions", "answerSave", "adminAnswerAction", "viewMode", "totalQuestions", "answeredQuestions", "questions", "profileAnswers", "profileAnswerHistories", "users", "currentUser"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [3, "goals", "viewMode"], ["title", "Generating Your Shop Profile", "subtitle", "We're analyzing your data to create shop specific questions and answers. They will appear when ready.", 3, "itemStatus", "viewMode"], [3, "viewMoreClick", "goals", "viewMode"], [1, "mb-32"], [3, "viewMode", "selectedCurrency"], [3, "currencySelected", "viewMode", "isLoading", "initialCurrency"], [3, "viewMode"], [3, "periodUnitChanged", "planSelected", "editCurrency", "checkout", "viewMode", "selectedCurrency", "planCardInfos", "isLoading", "selectedPeriodUnit"], [3, "editCurrency", "viewMode", "selectedCurrency"], [3, "sections", "viewMode", "executiveSummary", "focusAreaExecutiveSummary", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "summary", "allGoals"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [1, "rounded-xl", "p-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], ["type", "button", 1, "p-4", "rounded-xl", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "group", "cursor-pointer", 3, "click", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "text-xs", "font-medium"], [3, "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-x-1", 3, "icon", "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-y-1", "animate-bounce", 3, "icon", "ngClass"], ["id", "quick-wins-section", 1, "space-y-4", "scroll-mt-24"], [1, "text-lg", "font-semibold", "mb-3", 3, "ngClass"], [1, "relative"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[66%]"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [3, "visual", "viewMode"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-2", "gap-6"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-start", "gap-3"], [1, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [1, "font-semibold", "leading-tight", "flex-1", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "text-sm", 3, "ngClass"], [1, "space-y-2"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "relatedGoalIds", "allGoals", "viewMode"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "allGoals"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "executiveSummary", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [1, "w-full"], [3, "continueClick", "viewMode", "isEnabled", "isLoading"], [3, "continueClick", "viewMode", "totalQuestions", "answeredQuestions"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-4"], [1, "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "cursor-pointer", 3, "click", "ngClass"], [1, "flex-1", "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "flex", "items-center", "justify-center", "gap-3", "shadow-2xl", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqProfileAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
93878
93969
|
i0.ɵɵelementStart(0, "div", 1);
|
|
93879
93970
|
i0.ɵɵelement(1, "div", 2);
|
|
93880
93971
|
i0.ɵɵelementStart(2, "div");
|
|
@@ -93915,7 +94006,6 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
93915
94006
|
} if (rf & 2) {
|
|
93916
94007
|
let tmp_5_0;
|
|
93917
94008
|
let tmp_12_0;
|
|
93918
|
-
let tmp_30_0;
|
|
93919
94009
|
let tmp_31_0;
|
|
93920
94010
|
let tmp_32_0;
|
|
93921
94011
|
let tmp_33_0;
|
|
@@ -93923,6 +94013,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
93923
94013
|
let tmp_35_0;
|
|
93924
94014
|
let tmp_36_0;
|
|
93925
94015
|
let tmp_37_0;
|
|
94016
|
+
let tmp_38_0;
|
|
93926
94017
|
i0.ɵɵproperty("ngClass", ctx.getContainerClasses());
|
|
93927
94018
|
i0.ɵɵadvance();
|
|
93928
94019
|
i0.ɵɵclassProp("light-mode", ctx.isLightMode());
|
|
@@ -93932,7 +94023,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
93932
94023
|
i0.ɵɵstyleProp("width", ctx.scrollProgress(), "%");
|
|
93933
94024
|
i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "bg-gradient-to-r from-blue-500 to-purple-500" : "bg-gradient-to-r from-blue-400 to-purple-400");
|
|
93934
94025
|
i0.ɵɵadvance(2);
|
|
93935
|
-
i0.ɵɵproperty("title", ((tmp_5_0 = ctx.profileAnalysis()) == null ? null : tmp_5_0.profileAnalysisStructured == null ? null : tmp_5_0.profileAnalysisStructured.businessName) || "Profile Analysis")("subtitle", ctx.getAnalysisSubtitle())("currentSection", ctx.getAnalysisSubtitle())("viewMode", ctx.viewMode())("viewModeLabel", ctx.displayModeLabel())("isLoading", ctx.isLoading())("requestedByUser", ctx.requestedByUser())("createdDate", (tmp_12_0 = ctx.profileAnalysis()) == null ? null : tmp_12_0.selfContentCompletedDate);
|
|
94026
|
+
i0.ɵɵproperty("title", ((tmp_5_0 = ctx.profileAnalysis()) == null ? null : tmp_5_0.profileAnalysisStructured == null ? null : tmp_5_0.profileAnalysisStructured.businessName) || "Profile Analysis")("subtitle", ctx.getAnalysisSubtitle())("currentSection", ctx.getAnalysisSubtitle())("viewMode", ctx.viewMode())("viewModeLabel", ctx.displayModeLabel())("isLoading", ctx.isLoading())("requestedByUser", ctx.requestedByUser())("createdDate", (tmp_12_0 = ctx.profileAnalysis()) == null ? null : tmp_12_0.selfContentCompletedDate)("showControls", ctx.shouldShowHeaderControls());
|
|
93936
94027
|
i0.ɵɵadvance();
|
|
93937
94028
|
i0.ɵɵconditional(ctx.isSimplifiedView() && !ctx.isOnboarded() ? 6 : -1);
|
|
93938
94029
|
i0.ɵɵadvance();
|
|
@@ -93954,21 +94045,21 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
93954
94045
|
i0.ɵɵadvance();
|
|
93955
94046
|
i0.ɵɵproperty("isLightMode", ctx.isLightMode())("allMetrics", ctx.allMetrics())("allInsights", ctx.allInsights())("allBusinessInsights", ctx.allBusinessInsights())("allCharts", ctx.allCharts());
|
|
93956
94047
|
i0.ɵɵadvance();
|
|
93957
|
-
i0.ɵɵconditional((
|
|
94048
|
+
i0.ɵɵconditional((tmp_31_0 = ctx.modalType() === "goal-detail" && ctx.getGoalDetailData()) ? 16 : -1, tmp_31_0);
|
|
93958
94049
|
i0.ɵɵadvance();
|
|
93959
|
-
i0.ɵɵconditional((
|
|
94050
|
+
i0.ɵɵconditional((tmp_32_0 = ctx.modalType() === "goal-objectives" && ctx.getGoalDetailData()) ? 17 : -1, tmp_32_0);
|
|
93960
94051
|
i0.ɵɵadvance();
|
|
93961
|
-
i0.ɵɵconditional((
|
|
94052
|
+
i0.ɵɵconditional((tmp_33_0 = ctx.modalType() === "objective-strategies" && ctx.getObjectiveStrategiesData()) ? 18 : -1, tmp_33_0);
|
|
93962
94053
|
i0.ɵɵadvance();
|
|
93963
|
-
i0.ɵɵconditional((
|
|
94054
|
+
i0.ɵɵconditional((tmp_34_0 = ctx.modalType() === "strategy-recommendations" && ctx.getStrategyRecommendationsData()) ? 19 : -1, tmp_34_0);
|
|
93964
94055
|
i0.ɵɵadvance();
|
|
93965
|
-
i0.ɵɵconditional((
|
|
94056
|
+
i0.ɵɵconditional((tmp_35_0 = ctx.modalType() === "category-detail" && ctx.getCategoryDetailData()) ? 20 : -1, tmp_35_0);
|
|
93966
94057
|
i0.ɵɵadvance();
|
|
93967
|
-
i0.ɵɵconditional((
|
|
94058
|
+
i0.ɵɵconditional((tmp_36_0 = ctx.modalType() === "strength-detail" && ctx.getStrengthDetailData()) ? 21 : -1, tmp_36_0);
|
|
93968
94059
|
i0.ɵɵadvance();
|
|
93969
|
-
i0.ɵɵconditional((
|
|
94060
|
+
i0.ɵɵconditional((tmp_37_0 = ctx.modalType() === "gap-detail" && ctx.getGapDetailData()) ? 22 : -1, tmp_37_0);
|
|
93970
94061
|
i0.ɵɵadvance();
|
|
93971
|
-
i0.ɵɵconditional((
|
|
94062
|
+
i0.ɵɵconditional((tmp_38_0 = ctx.modalType() === "opportunity-detail" && ctx.getOpportunityDetailData()) ? 23 : -1, tmp_38_0);
|
|
93972
94063
|
i0.ɵɵadvance();
|
|
93973
94064
|
i0.ɵɵproperty("isLightMode", ctx.isLightMode())("viewMode", ctx.viewMode())("allMetrics", ctx.allMetrics())("allInsights", ctx.allInsights())("allCharts", ctx.allCharts());
|
|
93974
94065
|
i0.ɵɵadvance();
|
|
@@ -93988,660 +94079,661 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
93988
94079
|
standalone: true,
|
|
93989
94080
|
imports: [CommonModule, DashboardHeaderComponent, SearchModalComponent, ViewModeSwitcherModalComponent, JourneyProgressIndicatorComponent, FloatingTocComponent, SectionNavigationComponent, GradeBadgeComponent, ShopWelcomeBannerComponent, FocusAreaWelcomeBannerComponent, MetricWelcomeBannerComponent, FocusAreaExecutiveSummaryComponent, MetricExecutiveSummaryComponent, NapkinVisualPlaceholderComponent, TooltipContainerComponent, ProfileSectionContentComponent, ProfileAnalysisModalComponent, ModalComponent, GoalCardComponent, GoalObjectivesModalContentComponent, ObjectiveStrategiesModalContentComponent, StrategyRecommendationsModalContentComponent, CategoryDetailModalContentComponent, StrengthDetailModalContentComponent, GapDetailModalContentComponent, OpportunityDetailModalContentComponent, BusinessAnalysisModalComponent, SectionDividerComponent, SymphiqIconComponent, RelatedGoalChipsComponent, StrategicGoalsTiledGridComponent, CollapsibleAnalysisSectionGroupComponent, BillingCurrencySelectorCardComponent, PlanSelectionPlaceholderCardComponent, PlanSelectionContainerComponent, SubscriptionValuePropositionCardComponent, StickySubscriptionContinueButtonComponent, ContentGenerationProgressComponent, ShopProfileStatusCardComponent, ShopProfileStickyFooterComponent],
|
|
93990
94081
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
93991
|
-
template: `
|
|
93992
|
-
<div [ngClass]="getContainerClasses()" class="min-h-screen relative">
|
|
93993
|
-
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
93994
|
-
style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
|
|
93995
|
-
|
|
93996
|
-
<!-- Scroll Progress Bar -->
|
|
93997
|
-
<div
|
|
93998
|
-
[class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
|
|
93999
|
-
<div
|
|
94000
|
-
[style.width.%]="scrollProgress()"
|
|
94001
|
-
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
94002
|
-
class="h-full transition-all duration-200 ease-out">
|
|
94003
|
-
</div>
|
|
94004
|
-
</div>
|
|
94005
|
-
|
|
94006
|
-
<div class="relative z-[51]">
|
|
94007
|
-
<!-- Dashboard Header -->
|
|
94008
|
-
<symphiq-dashboard-header
|
|
94009
|
-
[title]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'Profile Analysis'"
|
|
94010
|
-
[subtitle]="getAnalysisSubtitle()"
|
|
94011
|
-
[currentSection]="getAnalysisSubtitle()"
|
|
94012
|
-
[viewMode]="viewMode()"
|
|
94013
|
-
[viewModeLabel]="displayModeLabel()"
|
|
94014
|
-
[isLoading]="isLoading()"
|
|
94015
|
-
[requestedByUser]="requestedByUser()"
|
|
94016
|
-
[createdDate]="profileAnalysis()?.selfContentCompletedDate"
|
|
94017
|
-
|
|
94018
|
-
(
|
|
94019
|
-
|
|
94020
|
-
|
|
94021
|
-
|
|
94022
|
-
|
|
94023
|
-
|
|
94024
|
-
|
|
94025
|
-
[
|
|
94026
|
-
[
|
|
94027
|
-
[
|
|
94028
|
-
[
|
|
94029
|
-
|
|
94030
|
-
(
|
|
94031
|
-
|
|
94032
|
-
|
|
94033
|
-
|
|
94034
|
-
|
|
94035
|
-
|
|
94036
|
-
|
|
94037
|
-
|
|
94038
|
-
|
|
94039
|
-
|
|
94040
|
-
|
|
94041
|
-
|
|
94042
|
-
|
|
94043
|
-
|
|
94044
|
-
[
|
|
94045
|
-
[
|
|
94046
|
-
|
|
94047
|
-
|
|
94048
|
-
|
|
94049
|
-
|
|
94050
|
-
|
|
94051
|
-
[
|
|
94052
|
-
[
|
|
94053
|
-
[
|
|
94054
|
-
|
|
94055
|
-
|
|
94056
|
-
|
|
94057
|
-
|
|
94058
|
-
|
|
94059
|
-
[
|
|
94060
|
-
[
|
|
94061
|
-
|
|
94062
|
-
|
|
94063
|
-
|
|
94064
|
-
|
|
94065
|
-
|
|
94066
|
-
|
|
94067
|
-
|
|
94068
|
-
|
|
94069
|
-
|
|
94070
|
-
|
|
94071
|
-
|
|
94072
|
-
|
|
94073
|
-
|
|
94074
|
-
[
|
|
94075
|
-
[
|
|
94076
|
-
[
|
|
94077
|
-
[
|
|
94078
|
-
[
|
|
94079
|
-
[
|
|
94080
|
-
[
|
|
94081
|
-
|
|
94082
|
-
(
|
|
94083
|
-
(
|
|
94084
|
-
|
|
94085
|
-
|
|
94086
|
-
|
|
94087
|
-
|
|
94088
|
-
|
|
94089
|
-
|
|
94090
|
-
|
|
94091
|
-
|
|
94092
|
-
|
|
94093
|
-
|
|
94094
|
-
|
|
94095
|
-
|
|
94096
|
-
[
|
|
94097
|
-
|
|
94098
|
-
|
|
94099
|
-
|
|
94100
|
-
|
|
94101
|
-
|
|
94102
|
-
|
|
94103
|
-
|
|
94104
|
-
[
|
|
94105
|
-
|
|
94106
|
-
|
|
94107
|
-
|
|
94108
|
-
|
|
94109
|
-
|
|
94110
|
-
|
|
94111
|
-
|
|
94112
|
-
|
|
94113
|
-
|
|
94114
|
-
|
|
94115
|
-
|
|
94116
|
-
|
|
94117
|
-
|
|
94118
|
-
|
|
94119
|
-
|
|
94120
|
-
|
|
94121
|
-
|
|
94122
|
-
[
|
|
94123
|
-
[
|
|
94124
|
-
|
|
94125
|
-
|
|
94126
|
-
|
|
94127
|
-
|
|
94128
|
-
|
|
94129
|
-
|
|
94130
|
-
|
|
94131
|
-
|
|
94132
|
-
[
|
|
94133
|
-
[
|
|
94134
|
-
[
|
|
94135
|
-
[
|
|
94136
|
-
|
|
94137
|
-
(
|
|
94138
|
-
(
|
|
94139
|
-
(
|
|
94140
|
-
|
|
94141
|
-
|
|
94142
|
-
|
|
94143
|
-
|
|
94144
|
-
|
|
94145
|
-
[
|
|
94146
|
-
|
|
94147
|
-
|
|
94148
|
-
|
|
94149
|
-
|
|
94150
|
-
|
|
94151
|
-
|
|
94152
|
-
|
|
94153
|
-
|
|
94154
|
-
|
|
94155
|
-
|
|
94156
|
-
|
|
94157
|
-
|
|
94158
|
-
[
|
|
94159
|
-
[
|
|
94160
|
-
[
|
|
94161
|
-
[
|
|
94162
|
-
[
|
|
94163
|
-
[
|
|
94164
|
-
[
|
|
94165
|
-
[
|
|
94166
|
-
[
|
|
94167
|
-
[
|
|
94168
|
-
|
|
94169
|
-
|
|
94170
|
-
|
|
94171
|
-
|
|
94172
|
-
|
|
94173
|
-
|
|
94174
|
-
|
|
94175
|
-
|
|
94176
|
-
|
|
94177
|
-
|
|
94178
|
-
|
|
94179
|
-
|
|
94180
|
-
|
|
94181
|
-
|
|
94182
|
-
|
|
94183
|
-
|
|
94184
|
-
|
|
94185
|
-
|
|
94186
|
-
|
|
94187
|
-
|
|
94188
|
-
|
|
94189
|
-
|
|
94190
|
-
|
|
94191
|
-
|
|
94192
|
-
|
|
94193
|
-
[
|
|
94194
|
-
[
|
|
94195
|
-
|
|
94196
|
-
|
|
94197
|
-
|
|
94198
|
-
|
|
94199
|
-
|
|
94200
|
-
|
|
94201
|
-
|
|
94202
|
-
|
|
94203
|
-
|
|
94204
|
-
|
|
94205
|
-
|
|
94206
|
-
|
|
94207
|
-
|
|
94208
|
-
|
|
94209
|
-
[
|
|
94210
|
-
|
|
94211
|
-
|
|
94212
|
-
|
|
94213
|
-
|
|
94214
|
-
|
|
94215
|
-
|
|
94216
|
-
|
|
94217
|
-
|
|
94218
|
-
|
|
94219
|
-
|
|
94220
|
-
|
|
94221
|
-
|
|
94222
|
-
|
|
94223
|
-
|
|
94224
|
-
|
|
94225
|
-
|
|
94226
|
-
|
|
94227
|
-
|
|
94228
|
-
|
|
94229
|
-
|
|
94230
|
-
|
|
94231
|
-
|
|
94232
|
-
|
|
94233
|
-
|
|
94234
|
-
|
|
94235
|
-
|
|
94236
|
-
<
|
|
94237
|
-
|
|
94238
|
-
|
|
94239
|
-
|
|
94240
|
-
|
|
94241
|
-
|
|
94242
|
-
|
|
94243
|
-
|
|
94244
|
-
|
|
94245
|
-
|
|
94246
|
-
|
|
94247
|
-
|
|
94248
|
-
|
|
94249
|
-
|
|
94250
|
-
|
|
94251
|
-
|
|
94252
|
-
|
|
94253
|
-
|
|
94254
|
-
|
|
94255
|
-
|
|
94256
|
-
|
|
94257
|
-
<
|
|
94258
|
-
|
|
94259
|
-
|
|
94260
|
-
|
|
94261
|
-
|
|
94262
|
-
|
|
94263
|
-
|
|
94264
|
-
|
|
94265
|
-
|
|
94266
|
-
|
|
94267
|
-
|
|
94268
|
-
|
|
94269
|
-
|
|
94270
|
-
|
|
94271
|
-
|
|
94272
|
-
|
|
94273
|
-
|
|
94274
|
-
|
|
94275
|
-
|
|
94276
|
-
|
|
94277
|
-
|
|
94278
|
-
<
|
|
94279
|
-
|
|
94280
|
-
|
|
94281
|
-
|
|
94282
|
-
|
|
94283
|
-
|
|
94284
|
-
|
|
94285
|
-
|
|
94286
|
-
|
|
94287
|
-
|
|
94288
|
-
|
|
94289
|
-
|
|
94290
|
-
|
|
94291
|
-
|
|
94292
|
-
|
|
94293
|
-
|
|
94294
|
-
|
|
94295
|
-
|
|
94296
|
-
|
|
94297
|
-
|
|
94298
|
-
|
|
94299
|
-
|
|
94300
|
-
|
|
94301
|
-
|
|
94302
|
-
|
|
94303
|
-
|
|
94304
|
-
|
|
94305
|
-
|
|
94306
|
-
|
|
94307
|
-
|
|
94308
|
-
|
|
94309
|
-
|
|
94310
|
-
|
|
94311
|
-
|
|
94312
|
-
|
|
94313
|
-
|
|
94314
|
-
|
|
94315
|
-
|
|
94316
|
-
|
|
94317
|
-
|
|
94318
|
-
|
|
94319
|
-
|
|
94320
|
-
|
|
94321
|
-
|
|
94322
|
-
|
|
94323
|
-
|
|
94324
|
-
|
|
94325
|
-
|
|
94326
|
-
|
|
94327
|
-
|
|
94328
|
-
|
|
94329
|
-
|
|
94330
|
-
|
|
94331
|
-
|
|
94332
|
-
|
|
94333
|
-
|
|
94334
|
-
|
|
94335
|
-
|
|
94336
|
-
|
|
94337
|
-
|
|
94338
|
-
|
|
94339
|
-
|
|
94340
|
-
[
|
|
94341
|
-
[
|
|
94342
|
-
|
|
94343
|
-
|
|
94344
|
-
|
|
94345
|
-
|
|
94346
|
-
|
|
94347
|
-
|
|
94348
|
-
|
|
94349
|
-
|
|
94350
|
-
|
|
94351
|
-
|
|
94352
|
-
|
|
94353
|
-
|
|
94354
|
-
|
|
94355
|
-
|
|
94356
|
-
|
|
94357
|
-
|
|
94358
|
-
[
|
|
94359
|
-
[
|
|
94360
|
-
|
|
94361
|
-
(
|
|
94362
|
-
|
|
94363
|
-
|
|
94364
|
-
|
|
94365
|
-
|
|
94366
|
-
|
|
94367
|
-
|
|
94368
|
-
|
|
94369
|
-
[
|
|
94370
|
-
[
|
|
94371
|
-
[
|
|
94372
|
-
|
|
94373
|
-
(
|
|
94374
|
-
|
|
94375
|
-
|
|
94376
|
-
|
|
94377
|
-
|
|
94378
|
-
|
|
94379
|
-
|
|
94380
|
-
|
|
94381
|
-
|
|
94382
|
-
[
|
|
94383
|
-
|
|
94384
|
-
|
|
94385
|
-
|
|
94386
|
-
|
|
94387
|
-
|
|
94388
|
-
|
|
94389
|
-
|
|
94390
|
-
|
|
94391
|
-
|
|
94392
|
-
|
|
94393
|
-
|
|
94394
|
-
|
|
94395
|
-
|
|
94396
|
-
|
|
94397
|
-
|
|
94398
|
-
|
|
94399
|
-
|
|
94400
|
-
|
|
94401
|
-
|
|
94402
|
-
|
|
94403
|
-
|
|
94404
|
-
|
|
94405
|
-
|
|
94406
|
-
|
|
94407
|
-
|
|
94408
|
-
|
|
94409
|
-
|
|
94410
|
-
|
|
94411
|
-
|
|
94412
|
-
|
|
94413
|
-
|
|
94414
|
-
|
|
94415
|
-
|
|
94416
|
-
[
|
|
94417
|
-
|
|
94418
|
-
|
|
94419
|
-
|
|
94420
|
-
|
|
94421
|
-
|
|
94422
|
-
|
|
94423
|
-
|
|
94424
|
-
|
|
94425
|
-
|
|
94426
|
-
|
|
94427
|
-
</
|
|
94428
|
-
|
|
94429
|
-
|
|
94430
|
-
|
|
94431
|
-
|
|
94432
|
-
|
|
94433
|
-
|
|
94434
|
-
|
|
94435
|
-
[
|
|
94436
|
-
[
|
|
94437
|
-
[
|
|
94438
|
-
[
|
|
94439
|
-
[
|
|
94440
|
-
[
|
|
94441
|
-
[
|
|
94442
|
-
[
|
|
94443
|
-
|
|
94444
|
-
|
|
94445
|
-
|
|
94446
|
-
|
|
94447
|
-
|
|
94448
|
-
|
|
94449
|
-
|
|
94450
|
-
[
|
|
94451
|
-
|
|
94452
|
-
|
|
94453
|
-
|
|
94454
|
-
|
|
94455
|
-
|
|
94456
|
-
|
|
94457
|
-
|
|
94458
|
-
|
|
94459
|
-
|
|
94460
|
-
|
|
94461
|
-
|
|
94462
|
-
|
|
94463
|
-
|
|
94464
|
-
[
|
|
94465
|
-
[
|
|
94466
|
-
[
|
|
94467
|
-
|
|
94468
|
-
|
|
94469
|
-
|
|
94470
|
-
|
|
94471
|
-
|
|
94472
|
-
|
|
94473
|
-
|
|
94474
|
-
[
|
|
94475
|
-
[
|
|
94476
|
-
[
|
|
94477
|
-
|
|
94478
|
-
|
|
94479
|
-
|
|
94480
|
-
|
|
94481
|
-
|
|
94482
|
-
|
|
94483
|
-
[
|
|
94484
|
-
|
|
94485
|
-
|
|
94486
|
-
|
|
94487
|
-
|
|
94488
|
-
|
|
94489
|
-
|
|
94490
|
-
[
|
|
94491
|
-
[
|
|
94492
|
-
|
|
94493
|
-
(
|
|
94494
|
-
|
|
94495
|
-
|
|
94496
|
-
|
|
94497
|
-
|
|
94498
|
-
|
|
94499
|
-
[
|
|
94500
|
-
[
|
|
94501
|
-
[
|
|
94502
|
-
[
|
|
94503
|
-
|
|
94504
|
-
|
|
94505
|
-
|
|
94506
|
-
|
|
94507
|
-
[
|
|
94508
|
-
[
|
|
94509
|
-
[
|
|
94510
|
-
[
|
|
94511
|
-
[
|
|
94512
|
-
[
|
|
94513
|
-
[
|
|
94514
|
-
|
|
94515
|
-
|
|
94516
|
-
|
|
94517
|
-
|
|
94518
|
-
|
|
94519
|
-
[
|
|
94520
|
-
|
|
94521
|
-
|
|
94522
|
-
|
|
94523
|
-
|
|
94524
|
-
|
|
94525
|
-
[
|
|
94526
|
-
[
|
|
94527
|
-
|
|
94528
|
-
|
|
94529
|
-
|
|
94530
|
-
|
|
94531
|
-
|
|
94532
|
-
[
|
|
94533
|
-
[
|
|
94534
|
-
[
|
|
94535
|
-
[
|
|
94536
|
-
[
|
|
94537
|
-
[
|
|
94538
|
-
[
|
|
94539
|
-
[
|
|
94540
|
-
|
|
94541
|
-
|
|
94542
|
-
|
|
94543
|
-
|
|
94544
|
-
|
|
94545
|
-
[
|
|
94546
|
-
[
|
|
94547
|
-
|
|
94548
|
-
|
|
94549
|
-
|
|
94550
|
-
|
|
94551
|
-
|
|
94552
|
-
[
|
|
94553
|
-
[
|
|
94554
|
-
[
|
|
94555
|
-
|
|
94556
|
-
|
|
94557
|
-
|
|
94558
|
-
|
|
94559
|
-
|
|
94560
|
-
[
|
|
94561
|
-
[
|
|
94562
|
-
[
|
|
94563
|
-
[
|
|
94564
|
-
|
|
94565
|
-
|
|
94566
|
-
|
|
94567
|
-
|
|
94568
|
-
|
|
94569
|
-
[
|
|
94570
|
-
[
|
|
94571
|
-
[
|
|
94572
|
-
|
|
94573
|
-
|
|
94574
|
-
|
|
94575
|
-
|
|
94576
|
-
|
|
94577
|
-
|
|
94578
|
-
|
|
94579
|
-
[
|
|
94580
|
-
[
|
|
94581
|
-
[
|
|
94582
|
-
[
|
|
94583
|
-
|
|
94584
|
-
|
|
94585
|
-
|
|
94586
|
-
|
|
94587
|
-
|
|
94588
|
-
|
|
94589
|
-
|
|
94590
|
-
|
|
94591
|
-
|
|
94592
|
-
|
|
94593
|
-
|
|
94594
|
-
|
|
94595
|
-
[
|
|
94596
|
-
[
|
|
94597
|
-
|
|
94598
|
-
|
|
94599
|
-
|
|
94600
|
-
|
|
94601
|
-
|
|
94602
|
-
|
|
94603
|
-
|
|
94604
|
-
|
|
94605
|
-
[
|
|
94606
|
-
[
|
|
94607
|
-
|
|
94608
|
-
|
|
94609
|
-
|
|
94610
|
-
|
|
94611
|
-
|
|
94612
|
-
|
|
94613
|
-
|
|
94614
|
-
|
|
94615
|
-
|
|
94616
|
-
|
|
94617
|
-
|
|
94618
|
-
|
|
94619
|
-
|
|
94620
|
-
|
|
94621
|
-
|
|
94622
|
-
|
|
94623
|
-
|
|
94624
|
-
|
|
94625
|
-
|
|
94626
|
-
|
|
94627
|
-
|
|
94628
|
-
|
|
94629
|
-
[
|
|
94630
|
-
|
|
94631
|
-
|
|
94632
|
-
|
|
94633
|
-
<
|
|
94634
|
-
|
|
94635
|
-
|
|
94636
|
-
|
|
94637
|
-
|
|
94638
|
-
|
|
94639
|
-
|
|
94640
|
-
|
|
94641
|
-
|
|
94642
|
-
|
|
94643
|
-
|
|
94644
|
-
|
|
94082
|
+
template: `
|
|
94083
|
+
<div [ngClass]="getContainerClasses()" class="min-h-screen relative">
|
|
94084
|
+
<div class="animated-bubbles" [class.light-mode]="isLightMode()"
|
|
94085
|
+
style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; width: 100vw; height: 100vh; z-index: 1; pointer-events: none;"></div>
|
|
94086
|
+
|
|
94087
|
+
<!-- Scroll Progress Bar -->
|
|
94088
|
+
<div
|
|
94089
|
+
[class]="embedded() ? 'sticky top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30' : 'fixed top-0 left-0 right-0 h-1 z-[60] bg-slate-200/30'">
|
|
94090
|
+
<div
|
|
94091
|
+
[style.width.%]="scrollProgress()"
|
|
94092
|
+
[ngClass]="isLightMode() ? 'bg-gradient-to-r from-blue-500 to-purple-500' : 'bg-gradient-to-r from-blue-400 to-purple-400'"
|
|
94093
|
+
class="h-full transition-all duration-200 ease-out">
|
|
94094
|
+
</div>
|
|
94095
|
+
</div>
|
|
94096
|
+
|
|
94097
|
+
<div class="relative z-[51]">
|
|
94098
|
+
<!-- Dashboard Header -->
|
|
94099
|
+
<symphiq-dashboard-header
|
|
94100
|
+
[title]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'Profile Analysis'"
|
|
94101
|
+
[subtitle]="getAnalysisSubtitle()"
|
|
94102
|
+
[currentSection]="getAnalysisSubtitle()"
|
|
94103
|
+
[viewMode]="viewMode()"
|
|
94104
|
+
[viewModeLabel]="displayModeLabel()"
|
|
94105
|
+
[isLoading]="isLoading()"
|
|
94106
|
+
[requestedByUser]="requestedByUser()"
|
|
94107
|
+
[createdDate]="profileAnalysis()?.selfContentCompletedDate"
|
|
94108
|
+
[showControls]="shouldShowHeaderControls()"
|
|
94109
|
+
(searchClick)="openSearch()"
|
|
94110
|
+
(viewModeClick)="openViewModeSwitcher()"
|
|
94111
|
+
/>
|
|
94112
|
+
|
|
94113
|
+
<!-- Journey Progress Banner -->
|
|
94114
|
+
@if (isSimplifiedView() && !isOnboarded()) {
|
|
94115
|
+
<symphiq-journey-progress-indicator
|
|
94116
|
+
[viewMode]="viewMode()"
|
|
94117
|
+
[currentStepId]="currentStepId()"
|
|
94118
|
+
[showNextStepAction]="shouldShowContinueButton()"
|
|
94119
|
+
[forDemo]="forDemo()"
|
|
94120
|
+
[maxAccessibleStepId]="maxAccessibleStepId()"
|
|
94121
|
+
(nextStepClick)="nextStepClick.emit()"
|
|
94122
|
+
(stepClick)="stepClick.emit($event)"
|
|
94123
|
+
/>
|
|
94124
|
+
}
|
|
94125
|
+
|
|
94126
|
+
<!-- Main Content -->
|
|
94127
|
+
<main class="relative z-10 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12 space-y-12"
|
|
94128
|
+
[class.pb-32]="shouldShowStickyButton() || shouldShowShopProfileStickyFooter()">
|
|
94129
|
+
|
|
94130
|
+
<!-- Welcome Banner (Simplified View Only) -->
|
|
94131
|
+
@if (isSimplifiedView()) {
|
|
94132
|
+
<div class="mb-12">
|
|
94133
|
+
@if (!isFocusAreaAnalysis() && !isMetricAnalysis()) {
|
|
94134
|
+
<symphiq-shop-welcome-banner
|
|
94135
|
+
[viewMode]="viewMode()"
|
|
94136
|
+
[businessName]="profileAnalysis()?.profileAnalysisStructured?.businessName || 'your shop'"
|
|
94137
|
+
[isOnboarded]="isOnboarded()"
|
|
94138
|
+
/>
|
|
94139
|
+
}
|
|
94140
|
+
@if (isFocusAreaAnalysis()) {
|
|
94141
|
+
<symphiq-focus-area-welcome-banner
|
|
94142
|
+
[viewMode]="viewMode()"
|
|
94143
|
+
[focusAreaDomain]="focusAreaDomain()"
|
|
94144
|
+
[focusAreaName]="focusAreaName()"
|
|
94145
|
+
[focusAreaDetails]="focusAreaDetails()"
|
|
94146
|
+
/>
|
|
94147
|
+
}
|
|
94148
|
+
@if (isMetricAnalysis()) {
|
|
94149
|
+
<symphiq-metric-welcome-banner
|
|
94150
|
+
[viewMode]="viewMode()"
|
|
94151
|
+
[metricName]="profileAnalysis()?.profileAnalysisStructured?.metricExecutiveSummary?.metric"
|
|
94152
|
+
[isOnboarded]="isOnboarded()"
|
|
94153
|
+
/>
|
|
94154
|
+
}
|
|
94155
|
+
</div>
|
|
94156
|
+
}
|
|
94157
|
+
|
|
94158
|
+
<!-- Simplified View Content -->
|
|
94159
|
+
@if (isSimplifiedView()) {
|
|
94160
|
+
<!-- Shop Profile Status Card -->
|
|
94161
|
+
@if (shouldShowShopProfileStatus() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
|
|
94162
|
+
<div class="mb-8">
|
|
94163
|
+
<symphiq-shop-profile-status-card
|
|
94164
|
+
#shopProfileStatusCard
|
|
94165
|
+
[viewMode]="viewMode()"
|
|
94166
|
+
[totalQuestions]="totalShopQuestions()"
|
|
94167
|
+
[answeredQuestions]="answeredShopQuestions()"
|
|
94168
|
+
[questions]="profileShopQuestions() || []"
|
|
94169
|
+
[profileAnswers]="profileAnswers() || []"
|
|
94170
|
+
[profileAnswerHistories]="profileAnswerHistories() || []"
|
|
94171
|
+
[users]="users() || []"
|
|
94172
|
+
[currentUser]="currentUser()"
|
|
94173
|
+
(startCategoryQuestions)="handleStartCategoryQuestions($event)"
|
|
94174
|
+
(answerSave)="handleProfileQuestionAnswerSave($event)"
|
|
94175
|
+
(adminAnswerAction)="shopProfileAdminAnswerAction.emit($event)"
|
|
94176
|
+
/>
|
|
94177
|
+
</div>
|
|
94178
|
+
}
|
|
94179
|
+
|
|
94180
|
+
<!-- Strategic Insights & Goals (or Subscription Flow) -->
|
|
94181
|
+
@if (profileAnalysis()) {
|
|
94182
|
+
<div class="mb-8">
|
|
94183
|
+
@if (isSubscriptionActive() || isFocusAreaAnalysis() || isMetricAnalysis()) {
|
|
94184
|
+
@if (isProfileShopGenerating() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
|
|
94185
|
+
<div [ngClass]="getProgressCardClasses()" class="rounded-2xl border shadow-lg overflow-hidden">
|
|
94186
|
+
<symphiq-content-generation-progress
|
|
94187
|
+
[itemStatus]="itemStatusProfileShop()"
|
|
94188
|
+
[viewMode]="viewMode()"
|
|
94189
|
+
title="Generating Your Shop Profile"
|
|
94190
|
+
subtitle="We're analyzing your data to create shop specific questions and answers. They will appear when ready."
|
|
94191
|
+
/>
|
|
94192
|
+
</div>
|
|
94193
|
+
} @else {
|
|
94194
|
+
<symphiq-strategic-goals-tiled-grid
|
|
94195
|
+
[goals]="strategicRoadmapGoals()"
|
|
94196
|
+
[viewMode]="viewMode()"
|
|
94197
|
+
(viewMoreClick)="openGoalModal($event)"
|
|
94198
|
+
/>
|
|
94199
|
+
}
|
|
94200
|
+
} @else {
|
|
94201
|
+
<!-- Subscription Value Proposition -->
|
|
94202
|
+
@if (!hasBillingCurrency() || isEditingCurrency()) {
|
|
94203
|
+
@if (!hasBillingCurrency()) {
|
|
94204
|
+
<div class="mb-8">
|
|
94205
|
+
<symphiq-subscription-value-proposition-card
|
|
94206
|
+
[viewMode]="viewMode()"
|
|
94207
|
+
/>
|
|
94208
|
+
</div>
|
|
94209
|
+
}
|
|
94210
|
+
|
|
94211
|
+
<!-- Currency Selection -->
|
|
94212
|
+
<symphiq-billing-currency-selector-card
|
|
94213
|
+
[viewMode]="viewMode()"
|
|
94214
|
+
[isLoading]="isCurrencySelectionLoading()"
|
|
94215
|
+
[initialCurrency]="isEditingCurrency() ? (account()?.billingCurrencyCode || null) : null"
|
|
94216
|
+
(currencySelected)="handleCurrencyChange($event)"
|
|
94217
|
+
/>
|
|
94218
|
+
} @else if (showPlanSelection()) {
|
|
94219
|
+
<!-- Plan Selection -->
|
|
94220
|
+
|
|
94221
|
+
<div class="mb-32">
|
|
94222
|
+
<symphiq-plan-selection-container
|
|
94223
|
+
[viewMode]="viewMode()"
|
|
94224
|
+
[selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
|
|
94225
|
+
[planCardInfos]="planCardInfos()"
|
|
94226
|
+
[isLoading]="isPlanLoading()"
|
|
94227
|
+
[selectedPeriodUnit]="selectedPeriodUnit()"
|
|
94228
|
+
(periodUnitChanged)="handlePeriodUnitChange($event)"
|
|
94229
|
+
(planSelected)="handlePlanSelection($event)"
|
|
94230
|
+
(editCurrency)="handleEditCurrencyClick()"
|
|
94231
|
+
(checkout)="checkoutPlanClick.emit($event)"
|
|
94232
|
+
/>
|
|
94233
|
+
</div>
|
|
94234
|
+
} @else {
|
|
94235
|
+
<symphiq-plan-selection-placeholder-card
|
|
94236
|
+
[viewMode]="viewMode()"
|
|
94237
|
+
[selectedCurrency]="account()?.billingCurrencyCode || CurrencyCodeEnum.USD"
|
|
94238
|
+
(editCurrency)="handleEditCurrencyClick()"
|
|
94239
|
+
/>
|
|
94240
|
+
}
|
|
94241
|
+
}
|
|
94242
|
+
</div>
|
|
94243
|
+
}
|
|
94244
|
+
|
|
94245
|
+
<!-- Supporting Business Context -->
|
|
94246
|
+
@if (nonStrategicSections().length > 0) {
|
|
94247
|
+
<div>
|
|
94248
|
+
<symphiq-collapsible-analysis-section-group
|
|
94249
|
+
[sections]="nonStrategicSections()"
|
|
94250
|
+
[viewMode]="viewMode()"
|
|
94251
|
+
[executiveSummary]="executiveSummary()"
|
|
94252
|
+
[focusAreaExecutiveSummary]="focusAreaExecutiveSummary()"
|
|
94253
|
+
[metricExecutiveSummary]="metricExecutiveSummary()"
|
|
94254
|
+
[metricName]="metricName()"
|
|
94255
|
+
[allGoals]="allGoals()"
|
|
94256
|
+
[allMetrics]="allMetrics()"
|
|
94257
|
+
[allCharts]="allCharts()"
|
|
94258
|
+
[allInsights]="allInsights()"
|
|
94259
|
+
[businessProfile]="profile()"
|
|
94260
|
+
/>
|
|
94261
|
+
</div>
|
|
94262
|
+
}
|
|
94263
|
+
}
|
|
94264
|
+
|
|
94265
|
+
<!-- Compact & Expanded View Content -->
|
|
94266
|
+
@if (!isSimplifiedView()) {
|
|
94267
|
+
<!-- SHOP Executive Summary -->
|
|
94268
|
+
@if (!isFocusAreaAnalysis() && executiveSummary(); as summary) {
|
|
94269
|
+
<section id="section-executive-summary" class="space-y-6 scroll-mt-24">
|
|
94270
|
+
<!-- Summary Banner -->
|
|
94271
|
+
<div [ngClass]="getBannerClasses()" class="rounded-2xl p-8 shadow-xl">
|
|
94272
|
+
<div class="space-y-6">
|
|
94273
|
+
<div class="flex items-start justify-between gap-4">
|
|
94274
|
+
<div class="flex-1">
|
|
94275
|
+
<h2 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold mb-3">
|
|
94276
|
+
Executive Summary
|
|
94277
|
+
</h2>
|
|
94278
|
+
<p [ngClass]="getTextClasses()" class="text-lg leading-relaxed">
|
|
94279
|
+
{{ summary.gradeRationale }}
|
|
94280
|
+
</p>
|
|
94281
|
+
</div>
|
|
94282
|
+
@if (summary.overallGrade) {
|
|
94283
|
+
<symphiq-grade-badge
|
|
94284
|
+
[grade]="summary.overallGrade"
|
|
94285
|
+
[gradeRationale]="summary.gradeRationale || ''"
|
|
94286
|
+
[viewMode]="viewMode()"
|
|
94287
|
+
/>
|
|
94288
|
+
}
|
|
94289
|
+
</div>
|
|
94290
|
+
|
|
94291
|
+
@if (summary.narrative) {
|
|
94292
|
+
<div [ngClass]="getNarrativeClasses()" class="rounded-xl p-6">
|
|
94293
|
+
<h3 [ngClass]="getSubheadingClasses()" class="text-lg font-semibold mb-3">
|
|
94294
|
+
Analysis Narrative
|
|
94295
|
+
</h3>
|
|
94296
|
+
<div class="relative">
|
|
94297
|
+
@if (summary.napkinVisual && summary.napkinVisual.enabled) {
|
|
94298
|
+
<div class="mb-6 lg:float-left lg:mr-6 lg:mb-4 lg:max-w-[66%]">
|
|
94299
|
+
<symphiq-napkin-visual-placeholder
|
|
94300
|
+
[visual]="summary.napkinVisual"
|
|
94301
|
+
[viewMode]="viewMode()"
|
|
94302
|
+
/>
|
|
94303
|
+
</div>
|
|
94304
|
+
}
|
|
94305
|
+
<p [ngClass]="getTextClasses()" class="text-sm leading-relaxed whitespace-pre-line">
|
|
94306
|
+
{{ summary.narrative }}
|
|
94307
|
+
</p>
|
|
94308
|
+
<div class="clear-both"></div>
|
|
94309
|
+
</div>
|
|
94310
|
+
</div>
|
|
94311
|
+
}
|
|
94312
|
+
|
|
94313
|
+
<!-- Stats -->
|
|
94314
|
+
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
|
|
94315
|
+
<button
|
|
94316
|
+
type="button"
|
|
94317
|
+
(click)="onKeyStrengthsClick(summary)"
|
|
94318
|
+
[ngClass]="getKeyStrengthsStatCardClasses()"
|
|
94319
|
+
class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
|
|
94320
|
+
<div [ngClass]="getKeyStrengthsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
|
|
94321
|
+
Key Strengths
|
|
94322
|
+
</div>
|
|
94323
|
+
<div [ngClass]="getKeyStrengthsStatValueClasses()" class="text-3xl font-bold mb-2">
|
|
94324
|
+
{{ summary.keyStrengths?.length || 0 }}
|
|
94325
|
+
</div>
|
|
94326
|
+
<div class="flex items-center gap-1.5 text-xs font-medium">
|
|
94327
|
+
<span [ngClass]="getKeyStrengthsButtonTextClasses()">View Details</span>
|
|
94328
|
+
<symphiq-icon
|
|
94329
|
+
[icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
|
|
94330
|
+
size="w-4 h-4"
|
|
94331
|
+
[ngClass]="getKeyStrengthsButtonTextClasses()"
|
|
94332
|
+
class="transition-transform group-hover:translate-x-1"
|
|
94333
|
+
/>
|
|
94334
|
+
</div>
|
|
94335
|
+
</button>
|
|
94336
|
+
<button
|
|
94337
|
+
type="button"
|
|
94338
|
+
(click)="onCriticalGapsClick(summary)"
|
|
94339
|
+
[ngClass]="getCriticalGapsStatCardClasses()"
|
|
94340
|
+
class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
|
|
94341
|
+
<div [ngClass]="getCriticalGapsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
|
|
94342
|
+
Critical Gaps
|
|
94343
|
+
</div>
|
|
94344
|
+
<div [ngClass]="getCriticalGapsStatValueClasses()" class="text-3xl font-bold mb-2">
|
|
94345
|
+
{{ summary.criticalGaps?.length || 0 }}
|
|
94346
|
+
</div>
|
|
94347
|
+
<div class="flex items-center gap-1.5 text-xs font-medium">
|
|
94348
|
+
<span [ngClass]="getCriticalGapsButtonTextClasses()">View Details</span>
|
|
94349
|
+
<symphiq-icon
|
|
94350
|
+
[icon]="{ name: 'chevron-right', source: IconSourceEnum.HEROICONS }"
|
|
94351
|
+
size="w-4 h-4"
|
|
94352
|
+
[ngClass]="getCriticalGapsButtonTextClasses()"
|
|
94353
|
+
class="transition-transform group-hover:translate-x-1"
|
|
94354
|
+
/>
|
|
94355
|
+
</div>
|
|
94356
|
+
</button>
|
|
94357
|
+
<button
|
|
94358
|
+
type="button"
|
|
94359
|
+
(click)="scrollToQuickWins()"
|
|
94360
|
+
[ngClass]="getQuickWinsStatCardClasses()"
|
|
94361
|
+
class="p-4 rounded-xl text-left transition-all duration-200 hover:scale-[1.02] active:scale-[0.98] group cursor-pointer">
|
|
94362
|
+
<div [ngClass]="getQuickWinsStatLabelClasses()" class="text-xs font-semibold uppercase mb-1">
|
|
94363
|
+
Quick Wins
|
|
94364
|
+
</div>
|
|
94365
|
+
<div [ngClass]="getQuickWinsStatValueClasses()" class="text-3xl font-bold mb-2">
|
|
94366
|
+
{{ summary.quickWins?.length || 0 }}
|
|
94367
|
+
</div>
|
|
94368
|
+
<div class="flex items-center gap-1.5 text-xs font-medium">
|
|
94369
|
+
<span [ngClass]="getQuickWinsButtonTextClasses()">Details Below</span>
|
|
94370
|
+
<symphiq-icon
|
|
94371
|
+
[icon]="{ name: 'chevron-down', source: IconSourceEnum.HEROICONS }"
|
|
94372
|
+
size="w-4 h-4"
|
|
94373
|
+
[ngClass]="getQuickWinsButtonTextClasses()"
|
|
94374
|
+
class="transition-transform group-hover:translate-y-1 animate-bounce"
|
|
94375
|
+
/>
|
|
94376
|
+
</div>
|
|
94377
|
+
</button>
|
|
94378
|
+
</div>
|
|
94379
|
+
</div>
|
|
94380
|
+
</div>
|
|
94381
|
+
|
|
94382
|
+
<!-- Quick Wins -->
|
|
94383
|
+
@if (summary.quickWins && summary.quickWins.length > 0) {
|
|
94384
|
+
<div id="quick-wins-section" class="space-y-4 scroll-mt-24">
|
|
94385
|
+
<h3 [ngClass]="getSectionTitleClasses()" class="text-xl font-bold">
|
|
94386
|
+
Quick Wins
|
|
94387
|
+
</h3>
|
|
94388
|
+
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
|
|
94389
|
+
@for (win of summary.quickWins; track $index) {
|
|
94390
|
+
<div [ngClass]="getQuickWinCardClasses()"
|
|
94391
|
+
class="rounded-xl p-6 transition-all duration-300">
|
|
94392
|
+
<div class="space-y-4">
|
|
94393
|
+
<div class="flex items-start gap-3">
|
|
94394
|
+
<span [ngClass]="getNumberBadgeClasses()"
|
|
94395
|
+
class="flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold">
|
|
94396
|
+
{{ $index + 1 }}
|
|
94397
|
+
</span>
|
|
94398
|
+
<p [ngClass]="getQuickWinTextClasses()" class="font-semibold leading-tight flex-1">
|
|
94399
|
+
{{ win.action }}
|
|
94400
|
+
</p>
|
|
94401
|
+
</div>
|
|
94402
|
+
|
|
94403
|
+
<div class="flex flex-wrap gap-2">
|
|
94404
|
+
<span [ngClass]="getEffortBadgeClasses(win.effort)"
|
|
94405
|
+
class="px-3 py-1 rounded-full text-xs font-semibold">
|
|
94406
|
+
{{ formatLabel(win.effort) }} Effort
|
|
94407
|
+
</span>
|
|
94408
|
+
<span [ngClass]="getImpactBadgeClasses(win.impact)"
|
|
94409
|
+
class="px-3 py-1 rounded-full text-xs font-semibold">
|
|
94410
|
+
{{ formatLabel(win.impact) }} Impact
|
|
94411
|
+
</span>
|
|
94412
|
+
</div>
|
|
94413
|
+
|
|
94414
|
+
@if (win.estimatedTimeframe) {
|
|
94415
|
+
<div class="flex items-center gap-2 text-sm" [ngClass]="getMetaTextClasses()">
|
|
94416
|
+
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
94417
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
94418
|
+
d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/>
|
|
94419
|
+
</svg>
|
|
94420
|
+
<span>{{ win.estimatedTimeframe }}</span>
|
|
94421
|
+
</div>
|
|
94422
|
+
}
|
|
94423
|
+
|
|
94424
|
+
@if (win.relatedGoalId) {
|
|
94425
|
+
<div class="space-y-2">
|
|
94426
|
+
<h4 [ngClass]="getMetaTextClasses()"
|
|
94427
|
+
class="text-xs font-semibold uppercase tracking-wider">
|
|
94428
|
+
Related Goal
|
|
94429
|
+
</h4>
|
|
94430
|
+
<symphiq-related-goal-chips
|
|
94431
|
+
[relatedGoalIds]="[win.relatedGoalId]"
|
|
94432
|
+
[allGoals]="allGoals()"
|
|
94433
|
+
[viewMode]="viewMode()"
|
|
94434
|
+
/>
|
|
94435
|
+
</div>
|
|
94436
|
+
}
|
|
94437
|
+
</div>
|
|
94438
|
+
</div>
|
|
94439
|
+
}
|
|
94440
|
+
</div>
|
|
94441
|
+
</div>
|
|
94442
|
+
}
|
|
94443
|
+
</section>
|
|
94444
|
+
}
|
|
94445
|
+
|
|
94446
|
+
<!-- FOCUS_AREA Executive Summary -->
|
|
94447
|
+
@if (isFocusAreaAnalysis() && focusAreaExecutiveSummary(); as summary) {
|
|
94448
|
+
<symphiq-focus-area-executive-summary
|
|
94449
|
+
[viewMode]="viewMode()"
|
|
94450
|
+
[summary]="summary"
|
|
94451
|
+
[allGoals]="allGoals()"
|
|
94452
|
+
(topPrioritiesClick)="handleTopPrioritiesClick()"
|
|
94453
|
+
(priorityDetailClick)="handlePriorityDetailClick($event)"
|
|
94454
|
+
/>
|
|
94455
|
+
}
|
|
94456
|
+
|
|
94457
|
+
<!-- METRIC Executive Summary -->
|
|
94458
|
+
@if (isMetricAnalysis() && metricExecutiveSummary(); as summary) {
|
|
94459
|
+
<symphiq-metric-executive-summary
|
|
94460
|
+
[viewMode]="viewMode()"
|
|
94461
|
+
[summary]="summary"
|
|
94462
|
+
[metricName]="metricName()"
|
|
94463
|
+
[allGoals]="allGoals()"
|
|
94464
|
+
(topPrioritiesClick)="handleMetricTopPrioritiesClick()"
|
|
94465
|
+
(priorityDetailClick)="handleMetricPriorityDetailClick($event)"
|
|
94466
|
+
/>
|
|
94467
|
+
}
|
|
94468
|
+
|
|
94469
|
+
<!-- Divider Before First Section -->
|
|
94470
|
+
@if (sections(); as sectionList) {
|
|
94471
|
+
@if (sectionList.length > 0 && sectionList[0].icon) {
|
|
94472
|
+
<symphiq-section-divider
|
|
94473
|
+
[viewMode]="viewMode()"
|
|
94474
|
+
[sectionIcon]="sectionList[0].icon"
|
|
94475
|
+
/>
|
|
94476
|
+
}
|
|
94477
|
+
}
|
|
94478
|
+
|
|
94479
|
+
<!-- Profile Analysis Sections -->
|
|
94480
|
+
@if (sections(); as sectionList) {
|
|
94481
|
+
<section class="space-y-8">
|
|
94482
|
+
@for (section of sectionList; track section.id; let idx = $index; let last = $last) {
|
|
94483
|
+
<div [id]="'section-' + section.id" [ngClass]="getSectionCardClasses()"
|
|
94484
|
+
class="rounded-xl p-8 scroll-mt-24">
|
|
94485
|
+
<!-- Icon and Title -->
|
|
94486
|
+
<div class="flex items-start gap-3 mb-6">
|
|
94487
|
+
@if (section.icon) {
|
|
94488
|
+
<div [ngClass]="getSectionIconClasses()"
|
|
94489
|
+
class="flex-shrink-0 w-12 h-12 rounded-xl flex items-center justify-center">
|
|
94490
|
+
<symphiq-icon [icon]="section.icon" size="w-6 h-6"></symphiq-icon>
|
|
94491
|
+
</div>
|
|
94492
|
+
}
|
|
94493
|
+
<div class="flex-1">
|
|
94494
|
+
<h3 [ngClass]="getSectionTitleClasses()" class="text-2xl font-bold">
|
|
94495
|
+
{{ section.title }}
|
|
94496
|
+
</h3>
|
|
94497
|
+
</div>
|
|
94498
|
+
</div>
|
|
94499
|
+
|
|
94500
|
+
<!-- Description and Visual Side-by-Side -->
|
|
94501
|
+
@if (section.description || (section.visual && section.visual.enabled)) {
|
|
94502
|
+
<div class="mb-6 flex flex-col lg:flex-row gap-6 items-start"
|
|
94503
|
+
[class.lg:flex-row-reverse]="idx % 2 === 0">
|
|
94504
|
+
@if (section.visual && section.visual.enabled) {
|
|
94505
|
+
<div class="w-full lg:w-2/3">
|
|
94506
|
+
<symphiq-napkin-visual-placeholder
|
|
94507
|
+
[visual]="section.visual"
|
|
94508
|
+
[viewMode]="viewMode()"
|
|
94509
|
+
/>
|
|
94510
|
+
</div>
|
|
94511
|
+
}
|
|
94512
|
+
@if (section.description) {
|
|
94513
|
+
<div class="w-full"
|
|
94514
|
+
[class.lg:w-1/3]="section.visual && section.visual.enabled" [class.lg:w-full]="!section.visual || !section.visual.enabled">
|
|
94515
|
+
<p [ngClass]="getSectionDescriptionClasses()"
|
|
94516
|
+
class="text-sm leading-relaxed whitespace-pre-line">
|
|
94517
|
+
{{ section.description }}
|
|
94518
|
+
</p>
|
|
94519
|
+
</div>
|
|
94520
|
+
}
|
|
94521
|
+
</div>
|
|
94522
|
+
}
|
|
94523
|
+
|
|
94524
|
+
<!-- Section Content -->
|
|
94525
|
+
<symphiq-profile-section-content
|
|
94526
|
+
[section]="section"
|
|
94527
|
+
[executiveSummary]="section.id === 'executive-summary' ? executiveSummary() : undefined"
|
|
94528
|
+
[viewMode]="viewMode()"
|
|
94529
|
+
[sectionIndex]="idx"
|
|
94530
|
+
[allGoals]="allGoals()"
|
|
94531
|
+
[allMetrics]="allMetrics()"
|
|
94532
|
+
[allCharts]="allCharts()"
|
|
94533
|
+
[allInsights]="allInsights()"
|
|
94534
|
+
[businessProfile]="profile()"
|
|
94535
|
+
/>
|
|
94536
|
+
</div>
|
|
94537
|
+
|
|
94538
|
+
<!-- Section Divider (between sections) -->
|
|
94539
|
+
@if (!last) {
|
|
94540
|
+
<symphiq-section-divider
|
|
94541
|
+
[viewMode]="viewMode()"
|
|
94542
|
+
[sectionIcon]="sectionList[idx + 1].icon"
|
|
94543
|
+
/>
|
|
94544
|
+
}
|
|
94545
|
+
}
|
|
94546
|
+
</section>
|
|
94547
|
+
}
|
|
94548
|
+
}
|
|
94549
|
+
|
|
94550
|
+
</main>
|
|
94551
|
+
|
|
94552
|
+
<!-- Table of Contents (Compact & Expanded Views) -->
|
|
94553
|
+
@if (!isSimplifiedView() && sections()) {
|
|
94554
|
+
<symphiq-floating-toc
|
|
94555
|
+
[sections]="tocSections()"
|
|
94556
|
+
[viewMode]="viewMode()"
|
|
94557
|
+
[embedded]="embedded()"
|
|
94558
|
+
[scrollElement]="scrollElement() ?? undefined"
|
|
94559
|
+
/>
|
|
94560
|
+
}
|
|
94561
|
+
|
|
94562
|
+
<!-- Section Navigation Dots (Compact & Expanded Views) -->
|
|
94563
|
+
@if (!isSimplifiedView() && sections()) {
|
|
94564
|
+
<symphiq-section-navigation
|
|
94565
|
+
[sections]="tocSections()"
|
|
94566
|
+
[viewMode]="viewMode()"
|
|
94567
|
+
[embedded]="embedded()"
|
|
94568
|
+
[scrollElement]="scrollElement() ?? undefined"
|
|
94569
|
+
/>
|
|
94570
|
+
}
|
|
94571
|
+
|
|
94572
|
+
<!-- Search Modal -->
|
|
94573
|
+
<symphiq-search-modal
|
|
94574
|
+
[isOpen]="isSearchOpen()"
|
|
94575
|
+
[isLightMode]="isLightMode()"
|
|
94576
|
+
(close)="closeSearch()"
|
|
94577
|
+
/>
|
|
94578
|
+
|
|
94579
|
+
<!-- View Mode Switcher Modal -->
|
|
94580
|
+
<symphiq-view-mode-switcher-modal
|
|
94581
|
+
[isOpen]="isViewModeSwitcherOpen()"
|
|
94582
|
+
[currentMode]="currentDisplayMode()"
|
|
94583
|
+
[viewMode]="viewMode()"
|
|
94584
|
+
(close)="closeViewModeSwitcher()"
|
|
94585
|
+
(modeSelected)="handleDisplayModeChange($event)"
|
|
94586
|
+
/>
|
|
94587
|
+
|
|
94588
|
+
<!-- Profile Analysis Modal -->
|
|
94589
|
+
<symphiq-profile-analysis-modal
|
|
94590
|
+
[isLightMode]="isLightMode()"
|
|
94591
|
+
[allMetrics]="allMetrics()"
|
|
94592
|
+
[allInsights]="allInsights()"
|
|
94593
|
+
[allBusinessInsights]="allBusinessInsights()"
|
|
94594
|
+
[allCharts]="allCharts()"
|
|
94595
|
+
>
|
|
94596
|
+
@if (modalType() === 'goal-detail' && getGoalDetailData(); as data) {
|
|
94597
|
+
<symphiq-goal-card
|
|
94598
|
+
[goal]="data.goal"
|
|
94599
|
+
[viewMode]="data.viewMode"
|
|
94600
|
+
[isInModal]="true"
|
|
94601
|
+
[allMetrics]="allMetrics()"
|
|
94602
|
+
[allCharts]="allCharts()"
|
|
94603
|
+
[allInsights]="allInsights()"
|
|
94604
|
+
[currentModalState]="getCurrentModalState()"
|
|
94605
|
+
[businessProfile]="profile()"
|
|
94606
|
+
/>
|
|
94607
|
+
}
|
|
94608
|
+
@if (modalType() === 'goal-objectives' && getGoalDetailData(); as data) {
|
|
94609
|
+
<symphiq-goal-objectives-modal-content
|
|
94610
|
+
[goal]="data.goal"
|
|
94611
|
+
[viewMode]="data.viewMode"
|
|
94612
|
+
/>
|
|
94613
|
+
}
|
|
94614
|
+
@if (modalType() === 'objective-strategies' && getObjectiveStrategiesData(); as data) {
|
|
94615
|
+
<symphiq-objective-strategies-modal-content
|
|
94616
|
+
[objective]="data.objective"
|
|
94617
|
+
[goalTitle]="data.goalTitle"
|
|
94618
|
+
[viewMode]="data.viewMode"
|
|
94619
|
+
/>
|
|
94620
|
+
}
|
|
94621
|
+
@if (modalType() === 'strategy-recommendations' && getStrategyRecommendationsData(); as data) {
|
|
94622
|
+
<symphiq-strategy-recommendations-modal-content
|
|
94623
|
+
[strategy]="data.strategy"
|
|
94624
|
+
[objectiveTitle]="data.objectiveTitle"
|
|
94625
|
+
[goalTitle]="data.goalTitle"
|
|
94626
|
+
[viewMode]="data.viewMode"
|
|
94627
|
+
[allMetrics]="allMetrics()"
|
|
94628
|
+
[allCharts]="allCharts()"
|
|
94629
|
+
[allInsights]="allInsights()"
|
|
94630
|
+
[allBusinessInsights]="allBusinessInsights()"
|
|
94631
|
+
[currentModalState]="getCurrentModalState()"
|
|
94632
|
+
/>
|
|
94633
|
+
}
|
|
94634
|
+
@if (modalType() === 'category-detail' && getCategoryDetailData(); as data) {
|
|
94635
|
+
<symphiq-category-detail-modal-content
|
|
94636
|
+
[category]="data.category"
|
|
94637
|
+
[viewMode]="data.viewMode"
|
|
94638
|
+
[scrollToSection]="data.scrollToSection"
|
|
94639
|
+
/>
|
|
94640
|
+
}
|
|
94641
|
+
@if (modalType() === 'strength-detail' && getStrengthDetailData(); as data) {
|
|
94642
|
+
<symphiq-strength-detail-modal-content
|
|
94643
|
+
[strength]="data.strength"
|
|
94644
|
+
[viewMode]="data.viewMode"
|
|
94645
|
+
[allFunnelStrengths]="funnelStrengths()"
|
|
94646
|
+
[currentModalState]="getCurrentModalState()"
|
|
94647
|
+
/>
|
|
94648
|
+
}
|
|
94649
|
+
@if (modalType() === 'gap-detail' && getGapDetailData(); as data) {
|
|
94650
|
+
<symphiq-gap-detail-modal-content
|
|
94651
|
+
[gap]="data.gap"
|
|
94652
|
+
[viewMode]="data.viewMode"
|
|
94653
|
+
[allGoals]="allGoals()"
|
|
94654
|
+
[allWeaknesses]="funnelWeaknesses()"
|
|
94655
|
+
[currentModalState]="getCurrentModalState()"
|
|
94656
|
+
/>
|
|
94657
|
+
}
|
|
94658
|
+
@if (modalType() === 'opportunity-detail' && getOpportunityDetailData(); as data) {
|
|
94659
|
+
<symphiq-opportunity-detail-modal-content
|
|
94660
|
+
[opportunity]="data.opportunity"
|
|
94661
|
+
[viewMode]="data.viewMode"
|
|
94662
|
+
[allStrengths]="funnelStrengths()"
|
|
94663
|
+
[currentModalState]="getCurrentModalState()"
|
|
94664
|
+
/>
|
|
94665
|
+
}
|
|
94666
|
+
</symphiq-profile-analysis-modal>
|
|
94667
|
+
|
|
94668
|
+
<!-- Funnel Analysis Modal (for insights and metrics from profile goals) -->
|
|
94669
|
+
<symphiq-funnel-analysis-modal
|
|
94670
|
+
[isLightMode]="isLightMode()"
|
|
94671
|
+
[viewMode]="viewMode()"
|
|
94672
|
+
[allMetrics]="allMetrics()"
|
|
94673
|
+
[allInsights]="allInsights()"
|
|
94674
|
+
[allCharts]="allCharts()"
|
|
94675
|
+
/>
|
|
94676
|
+
|
|
94677
|
+
<!-- Business Analysis Modal (for napkin visuals and other content) -->
|
|
94678
|
+
<symphiq-business-analysis-modal [isLightMode]="isLightMode()"/>
|
|
94679
|
+
|
|
94680
|
+
<!-- Tooltip Container -->
|
|
94681
|
+
<symphiq-tooltip-container/>
|
|
94682
|
+
|
|
94683
|
+
<!-- Sticky Continue Button (Only shown when not subscribed and no currency selected) -->
|
|
94684
|
+
@if (!isSubscriptionActive() && !hasBillingCurrency() && isSimplifiedView() && !isFocusAreaAnalysis() && !isMetricAnalysis()) {
|
|
94685
|
+
<symphiq-sticky-subscription-continue-button
|
|
94686
|
+
[viewMode]="viewMode()"
|
|
94687
|
+
[isEnabled]="hasCurrencySelected()"
|
|
94688
|
+
[isLoading]="isCurrencySelectionLoading()"
|
|
94689
|
+
(continueClick)="handleStickyButtonClick()"
|
|
94690
|
+
/>
|
|
94691
|
+
}
|
|
94692
|
+
|
|
94693
|
+
<!-- Shop Profile Sticky Footer -->
|
|
94694
|
+
@if (shouldShowShopProfileStickyFooter()) {
|
|
94695
|
+
<symphiq-shop-profile-sticky-footer
|
|
94696
|
+
[viewMode]="viewMode()"
|
|
94697
|
+
[totalQuestions]="totalShopQuestions()"
|
|
94698
|
+
[answeredQuestions]="answeredShopQuestions()"
|
|
94699
|
+
(continueClick)="handleShopProfileContinueClick()"
|
|
94700
|
+
/>
|
|
94701
|
+
}
|
|
94702
|
+
|
|
94703
|
+
<!-- Sticky Footer for Edit Currency Mode -->
|
|
94704
|
+
@if (isEditingCurrency()) {
|
|
94705
|
+
<div
|
|
94706
|
+
[ngClass]="getEditCurrencyFooterClasses()"
|
|
94707
|
+
class="fixed bottom-0 left-0 right-0 z-50 border-t backdrop-blur-lg"
|
|
94708
|
+
>
|
|
94709
|
+
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
|
|
94710
|
+
<div class="flex items-center gap-4">
|
|
94711
|
+
<button
|
|
94712
|
+
(click)="handleCancelCurrencyEdit()"
|
|
94713
|
+
[ngClass]="getEditCurrencyCancelButtonClasses()"
|
|
94714
|
+
class="px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 cursor-pointer"
|
|
94715
|
+
>
|
|
94716
|
+
Cancel
|
|
94717
|
+
</button>
|
|
94718
|
+
<button
|
|
94719
|
+
(click)="handleContinueToPlans()"
|
|
94720
|
+
[disabled]="!editingCurrencySelection()"
|
|
94721
|
+
[ngClass]="getEditCurrencyContinueButtonClasses()"
|
|
94722
|
+
class="flex-1 px-6 py-4 rounded-xl font-semibold text-lg transition-all duration-300 flex items-center justify-center gap-3 shadow-2xl"
|
|
94723
|
+
>
|
|
94724
|
+
<span>Continue to Plans</span>
|
|
94725
|
+
<svg class="w-6 h-6 transition-transform duration-200"
|
|
94726
|
+
[class.translate-x-1]="editingCurrencySelection()" fill="none" stroke="currentColor"
|
|
94727
|
+
viewBox="0 0 24 24">
|
|
94728
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
|
94729
|
+
d="M13 7l5 5m0 0l-5 5m5-5H6"></path>
|
|
94730
|
+
</svg>
|
|
94731
|
+
</button>
|
|
94732
|
+
</div>
|
|
94733
|
+
</div>
|
|
94734
|
+
</div>
|
|
94735
|
+
}
|
|
94736
|
+
</div>
|
|
94645
94737
|
`
|
|
94646
94738
|
}]
|
|
94647
94739
|
}], () => [], { funnelModalComponent: [{
|
|
@@ -94654,7 +94746,7 @@ class SymphiqProfileAnalysisDashboardComponent {
|
|
|
94654
94746
|
type: HostListener,
|
|
94655
94747
|
args: ['window:scroll', ['$event']]
|
|
94656
94748
|
}] }); })();
|
|
94657
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisDashboardComponent, { className: "SymphiqProfileAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-dashboard/symphiq-profile-analysis-dashboard.component.ts", lineNumber:
|
|
94749
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisDashboardComponent, { className: "SymphiqProfileAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-dashboard/symphiq-profile-analysis-dashboard.component.ts", lineNumber: 782 }); })();
|
|
94658
94750
|
|
|
94659
94751
|
class ScrollProgressBarComponent {
|
|
94660
94752
|
constructor() {
|
|
@@ -95635,5 +95727,5 @@ var pieChart_component = /*#__PURE__*/Object.freeze({
|
|
|
95635
95727
|
* Generated bundle index. Do not edit.
|
|
95636
95728
|
*/
|
|
95637
95729
|
|
|
95638
|
-
export { AreaChartComponent, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfettiService, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, ContentGenerationProgressWithConfettiComponent, CrossDashboardRelationshipsService, DataLoaderService,
|
|
95730
|
+
export { AreaChartComponent, BarChartComponent, BreakdownSectionComponent, BusinessAnalysisModalComponent, BusinessProfileSearchService, ChartCardComponent, ChartContainerComponent, ChartThemeService, CircularProgressComponent, CompetitivePositioningSummaryComponent, CompetitorAnalysisCardComponent, ConfettiService, ConfidenceLevelCardComponent, ContentGenerationProgressComponent, ContentGenerationProgressWithConfettiComponent, CrossDashboardRelationshipsService, DataLoaderService, FloatingBackButtonComponent, FloatingTocComponent, FocusAreaDetailCardComponent, FocusAreaExecutiveSummaryComponent, FocusAreaQuestionComponent, FocusAreaToolsModalComponent, FunnelOrderService, GradeBadgeComponent, HeaderScrollService, HierarchyDisplayComponent, HorizontalBarComponent, IconService, IndeterminateSpinnerComponent, InsightCardComponent, JourneyProgressIndicatorComponent, JourneyStepIdEnum, LineChartComponent, MetricCardComponent, MetricExecutiveSummaryComponent, MetricFormatterService, MetricListItemComponent, MetricReportModalComponent, MetricWelcomeBannerComponent, MobileBottomNavComponent, MobileFABComponent, ModalComponent, ModalService, NapkinVisualPlaceholderComponent, NavigationStateService, OpportunityHighlightBannerComponent, OverallAssessmentComponent, PacingStatusBadgeComponent, PieChartComponent, ProfileItemCardComponent, ProfileSectionComponent, ProfileSubsectionComponent, RelatedContentSidebarComponent, RevenueCalculatorService, RevenueCalculatorWelcomeBannerComponent, ScrollDepthService, ScrollProgressBarComponent, SearchButtonComponent, SearchModalComponent, SectionDividerComponent, SectionNavigationComponent, ShadowElevationDirective, ShopPlatformEnum, ShopProfileCategoryListComponent, ShopProfileQuestionAnswerComponent, ShopProfileQuestionCardComponent, ShopProfileQuestionsModalComponent, ShopProfileStatusCardComponent, ShopProfileStickyFooterComponent, ShopProfileViewToggleComponent, ShopWelcomeBannerComponent, SkeletonBarComponent, SkeletonCardBaseComponent, SkeletonCircleComponent, SkeletonCompetitorCardComponent, SkeletonCustomerSegmentCardComponent, SkeletonFocusAreaCardComponent, SkeletonGenericCardComponent, SkeletonLoaderComponent, SkeletonPriceTierCardComponent, SkeletonProductCategoryCardComponent, SkeletonRegionCardComponent, SkeletonSeasonCardComponent, StickySubscriptionContinueButtonComponent, SubscriptionValuePropositionCardComponent, SymphiqBusinessAnalysisDashboardComponent, SymphiqConnectGaDashboardComponent, SymphiqCreateAccountDashboardComponent, SymphiqFunnelAnalysisDashboardComponent, SymphiqFunnelAnalysisPreviewComponent, SymphiqIconComponent, SymphiqProfileAnalysisDashboardComponent, SymphiqRevenueCalculatorDashboardComponent, SymphiqWelcomeDashboardComponent, TargetChangeBadgeComponent, TooltipContainerComponent, TooltipDataService, TooltipDirective, TooltipService, UserAvatarComponent, UserDisplayComponent, ViewModeService, ViewportAnimationDirective, VisualizationContainerComponent, calculateFunnelRatios, calculateMetricTargetsFromRevenue, calculateMetricTargetsFromRevenueReverse, calculateRelatedMetricRatios, generateTargetsFromCalculations, getBadgeLabelClasses, getButtonClasses, getCategoryBadgeClasses, getCategoryColor, getCompetitiveBadgeClasses, getContainerClasses, getFooterClasses, getFunnelStageMetrics, getGradeBadgeClasses, getHeaderClasses, getInsightsBadgeClasses, getInsightsCardClasses, getMetricLabelClasses, getMetricMiniCardClasses, getMetricValueClasses, getNarrativeTextClasses, getRevenueCardClasses, getRevenueIconClasses, getStatusBadgeClasses, getStatusDotClasses, getStatusIconClasses, getStatusSummaryClasses, getSubtitleClasses, getTitleClasses, getTrendClasses, getTrendIconClasses, getTrendValueClasses, groupMetricsByFunnelStage, isLightMode, validateRevenueTarget };
|
|
95639
95731
|
//# sourceMappingURL=symphiq-components.mjs.map
|