@eric-emg/symphiq-components 1.3.63 → 1.3.65
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.
|
@@ -140,6 +140,14 @@ class ModalService {
|
|
|
140
140
|
getCurrentState() {
|
|
141
141
|
return this.modalState.value;
|
|
142
142
|
}
|
|
143
|
+
updateNavigationStack(stack) {
|
|
144
|
+
const current = this.modalState.value;
|
|
145
|
+
this.modalState.next({
|
|
146
|
+
...current,
|
|
147
|
+
navigationStack: stack,
|
|
148
|
+
previousState: stack.length > 0 ? stack[stack.length - 1] : null
|
|
149
|
+
});
|
|
150
|
+
}
|
|
143
151
|
/**
|
|
144
152
|
* Checks if the current modal context is from Profile Analysis Dashboard
|
|
145
153
|
* by looking at the current modal state and navigation stack
|
|
@@ -25734,13 +25742,20 @@ class ConfidenceLevelCardComponent {
|
|
|
25734
25742
|
qualitativeStatus: 'Complete Profile',
|
|
25735
25743
|
quantitativeStatus: 'Full Analytics',
|
|
25736
25744
|
description: 'Journey complete! Symphiq has all the context needed to deliver highly accurate, personalized recommendations. As you execute and your business evolves, keep your profiles updated for continued precision.'
|
|
25745
|
+
},
|
|
25746
|
+
'unified-analysis': {
|
|
25747
|
+
grade: 'A+',
|
|
25748
|
+
percentage: 100,
|
|
25749
|
+
qualitativeStatus: 'Shop + Focus Areas + Metrics',
|
|
25750
|
+
quantitativeStatus: 'Full Synthesis',
|
|
25751
|
+
description: 'Maximum synthesis achieved! Symphiq has combined insights from all your source analyses—Shop, Focus Areas, and Metrics—into unified strategic goals. These recommendations represent the most comprehensive, cross-domain insights available for your business.'
|
|
25737
25752
|
}
|
|
25738
25753
|
};
|
|
25739
25754
|
return dataMap[stepId] || dataMap['business-analysis'];
|
|
25740
25755
|
}, ...(ngDevMode ? [{ debugName: "confidenceData" }] : []));
|
|
25741
25756
|
this.shouldPulse = computed(() => {
|
|
25742
25757
|
const grade = this.confidenceData().grade;
|
|
25743
|
-
return grade.startsWith('C') || grade.startsWith('D') || grade.startsWith('F');
|
|
25758
|
+
return grade === 'A+' || grade.startsWith('C') || grade.startsWith('D') || grade.startsWith('F');
|
|
25744
25759
|
}, ...(ngDevMode ? [{ debugName: "shouldPulse" }] : []));
|
|
25745
25760
|
this.isLightMode = computed(() => this.viewMode() === ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "isLightMode" }] : []));
|
|
25746
25761
|
this.effectivePotentialPercentage = computed(() => {
|
|
@@ -25758,7 +25773,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25758
25773
|
this.backgroundOverlayClasses = computed(() => {
|
|
25759
25774
|
const grade = this.confidenceData().grade;
|
|
25760
25775
|
const isDark = !this.isLightMode();
|
|
25761
|
-
if (grade
|
|
25776
|
+
if (grade.startsWith('A')) {
|
|
25762
25777
|
return isDark
|
|
25763
25778
|
? 'bg-gradient-to-br from-emerald-500/30 via-teal-500/20 to-emerald-500/30'
|
|
25764
25779
|
: 'bg-gradient-to-br from-emerald-400/20 via-teal-400/10 to-emerald-400/20';
|
|
@@ -25793,7 +25808,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25793
25808
|
}, ...(ngDevMode ? [{ debugName: "gradeBadgeContainerClasses" }] : []));
|
|
25794
25809
|
this.glowEffectClasses = computed(() => {
|
|
25795
25810
|
const grade = this.confidenceData().grade;
|
|
25796
|
-
if (grade
|
|
25811
|
+
if (grade.startsWith('A')) {
|
|
25797
25812
|
return 'bg-emerald-500';
|
|
25798
25813
|
}
|
|
25799
25814
|
else if (grade.startsWith('B')) {
|
|
@@ -25807,7 +25822,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25807
25822
|
this.gradeBadgeClasses = computed(() => {
|
|
25808
25823
|
const grade = this.confidenceData().grade;
|
|
25809
25824
|
const isDark = !this.isLightMode();
|
|
25810
|
-
if (grade
|
|
25825
|
+
if (grade.startsWith('A')) {
|
|
25811
25826
|
return isDark
|
|
25812
25827
|
? 'bg-gradient-to-br from-emerald-500/30 to-teal-500/30 border-2 border-emerald-500/50 shadow-[0_0_20px_rgba(16,185,129,0.3)]'
|
|
25813
25828
|
: 'bg-gradient-to-br from-emerald-50 to-teal-50 border-2 border-emerald-300/50 shadow-[0_0_20px_rgba(16,185,129,0.2)]';
|
|
@@ -25829,7 +25844,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25829
25844
|
this.gradeLabelClasses = computed(() => {
|
|
25830
25845
|
const grade = this.confidenceData().grade;
|
|
25831
25846
|
const isDark = !this.isLightMode();
|
|
25832
|
-
if (grade
|
|
25847
|
+
if (grade.startsWith('A')) {
|
|
25833
25848
|
return isDark ? 'text-emerald-300' : 'text-emerald-700';
|
|
25834
25849
|
}
|
|
25835
25850
|
else if (grade.startsWith('B')) {
|
|
@@ -25843,7 +25858,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25843
25858
|
this.gradeValueClasses = computed(() => {
|
|
25844
25859
|
const grade = this.confidenceData().grade;
|
|
25845
25860
|
const isDark = !this.isLightMode();
|
|
25846
|
-
if (grade
|
|
25861
|
+
if (grade.startsWith('A')) {
|
|
25847
25862
|
return isDark
|
|
25848
25863
|
? 'bg-gradient-to-b from-emerald-300 to-emerald-500 bg-clip-text text-transparent'
|
|
25849
25864
|
: 'bg-gradient-to-b from-emerald-600 to-emerald-800 bg-clip-text text-transparent';
|
|
@@ -25873,7 +25888,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25873
25888
|
this.progressValueClasses = computed(() => {
|
|
25874
25889
|
const grade = this.confidenceData().grade;
|
|
25875
25890
|
const isDark = !this.isLightMode();
|
|
25876
|
-
if (grade
|
|
25891
|
+
if (grade.startsWith('A')) {
|
|
25877
25892
|
return isDark ? 'text-emerald-400' : 'text-emerald-600';
|
|
25878
25893
|
}
|
|
25879
25894
|
else if (grade.startsWith('B')) {
|
|
@@ -25893,7 +25908,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25893
25908
|
this.progressBarClasses = computed(() => {
|
|
25894
25909
|
const grade = this.confidenceData().grade;
|
|
25895
25910
|
const baseClasses = 'rounded-full overflow-hidden';
|
|
25896
|
-
if (grade
|
|
25911
|
+
if (grade.startsWith('A')) {
|
|
25897
25912
|
return `${baseClasses} bg-gradient-to-r from-emerald-500 via-teal-500 to-emerald-600`;
|
|
25898
25913
|
}
|
|
25899
25914
|
else if (grade.startsWith('B')) {
|
|
@@ -25909,7 +25924,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25909
25924
|
}, ...(ngDevMode ? [{ debugName: "shimmerClasses" }] : []));
|
|
25910
25925
|
this.progressGlowClasses = computed(() => {
|
|
25911
25926
|
const grade = this.confidenceData().grade;
|
|
25912
|
-
if (grade
|
|
25927
|
+
if (grade.startsWith('A')) {
|
|
25913
25928
|
return 'bg-gradient-to-r from-emerald-500 to-teal-500';
|
|
25914
25929
|
}
|
|
25915
25930
|
else if (grade.startsWith('B')) {
|
|
@@ -25980,7 +25995,7 @@ class ConfidenceLevelCardComponent {
|
|
|
25980
25995
|
this.currentStepBadgeClasses = computed(() => {
|
|
25981
25996
|
const grade = this.confidenceData().currentStepGrade;
|
|
25982
25997
|
const isDark = !this.isLightMode();
|
|
25983
|
-
if (grade
|
|
25998
|
+
if (grade?.startsWith('A')) {
|
|
25984
25999
|
return isDark
|
|
25985
26000
|
? 'bg-emerald-500/20 text-emerald-400'
|
|
25986
26001
|
: 'bg-emerald-100 text-emerald-700';
|
|
@@ -26008,7 +26023,7 @@ class ConfidenceLevelCardComponent {
|
|
|
26008
26023
|
this.nextDashboardBadgeClasses = computed(() => {
|
|
26009
26024
|
const grade = this.confidenceData().nextDashboardGrade;
|
|
26010
26025
|
const isDark = !this.isLightMode();
|
|
26011
|
-
if (grade
|
|
26026
|
+
if (grade?.startsWith('A')) {
|
|
26012
26027
|
return isDark
|
|
26013
26028
|
? 'bg-emerald-500/10 text-emerald-500'
|
|
26014
26029
|
: 'bg-emerald-50 text-emerald-600';
|
|
@@ -104269,6 +104284,7 @@ function UnifiedDashboardModalComponent_Conditional_0_Template(rf, ctx) { if (rf
|
|
|
104269
104284
|
class UnifiedDashboardModalComponent {
|
|
104270
104285
|
constructor() {
|
|
104271
104286
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
104287
|
+
this.loadingSourceAnalysisId = input(...(ngDevMode ? [undefined, { debugName: "loadingSourceAnalysisId" }] : []));
|
|
104272
104288
|
this.priorityActionGoalClick = output();
|
|
104273
104289
|
this.priorityActionRecommendationClick = output();
|
|
104274
104290
|
this.sourceAnalysisClickRequest = output();
|
|
@@ -104405,11 +104421,7 @@ class UnifiedDashboardModalComponent {
|
|
|
104405
104421
|
return data.loadedSourceAnalysisIds.map(id => parseInt(id, 10)).filter(id => !isNaN(id));
|
|
104406
104422
|
}, ...(ngDevMode ? [{ debugName: "loadedSourceAnalysisIdsAsNumbers" }] : []));
|
|
104407
104423
|
this.loadingSourceAnalysisIdAsNumber = computed(() => {
|
|
104408
|
-
|
|
104409
|
-
if (!data?.loadingSourceAnalysisId)
|
|
104410
|
-
return undefined;
|
|
104411
|
-
const num = parseInt(data.loadingSourceAnalysisId, 10);
|
|
104412
|
-
return isNaN(num) ? undefined : num;
|
|
104424
|
+
return this.loadingSourceAnalysisId();
|
|
104413
104425
|
}, ...(ngDevMode ? [{ debugName: "loadingSourceAnalysisIdAsNumber" }] : []));
|
|
104414
104426
|
this.modalDepth = computed(() => {
|
|
104415
104427
|
let depth = 0;
|
|
@@ -104639,6 +104651,9 @@ class UnifiedDashboardModalComponent {
|
|
|
104639
104651
|
const data = state.data;
|
|
104640
104652
|
return data?.strategy?.title || 'Recommendations';
|
|
104641
104653
|
}
|
|
104654
|
+
if (state.type === 'priority-actions-list') {
|
|
104655
|
+
return 'Priority Actions';
|
|
104656
|
+
}
|
|
104642
104657
|
return 'Unknown';
|
|
104643
104658
|
}
|
|
104644
104659
|
onPriorityActionGoalClick(goalId) {
|
|
@@ -104681,7 +104696,7 @@ class UnifiedDashboardModalComponent {
|
|
|
104681
104696
|
let _t;
|
|
104682
104697
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalContent = _t.first);
|
|
104683
104698
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.modalWrapper = _t.first);
|
|
104684
|
-
} }, inputs: { viewMode: [1, "viewMode"] }, outputs: { priorityActionGoalClick: "priorityActionGoalClick", priorityActionRecommendationClick: "priorityActionRecommendationClick", sourceAnalysisClickRequest: "sourceAnalysisClickRequest" }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", "transition-opacity", "duration-200", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-6xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-start", "gap-3", "flex-1", "min-w-0"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["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"], ["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-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [3, "goal", "contributingMetrics", "viewMode"], [3, "objective", "viewMode"], [3, "strategy", "viewMode", "allMetrics", "allCharts", "allInsights", "goalTitle", "objectiveTitle", "currentModalState"], [3, "items", "viewMode", "selectedIndex"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "click", "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", "M15 19l-7-7 7-7"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "contributingMetricsClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "metricClick", "goal", "contributingMetrics", "viewMode"], [3, "goalClick", "recommendationClick", "items", "viewMode", "selectedIndex"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
104699
|
+
} }, inputs: { viewMode: [1, "viewMode"], loadingSourceAnalysisId: [1, "loadingSourceAnalysisId"] }, outputs: { priorityActionGoalClick: "priorityActionGoalClick", priorityActionRecommendationClick: "priorityActionRecommendationClick", sourceAnalysisClickRequest: "sourceAnalysisClickRequest" }, decls: 1, vars: 1, consts: [["modalWrapper", ""], ["modalContent", ""], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto", 3, "z-index", "visibility"], [1, "fixed", "inset-0", "flex", "items-center", "justify-center", "p-4", "overflow-y-auto"], ["aria-hidden", "true", 1, "fixed", "inset-0", "backdrop-blur-sm", "transition-opacity", "duration-200", 3, "click", "ngClass"], [1, "relative", "w-full", "max-w-6xl", "rounded-2xl", "text-left", "overflow-hidden", "shadow-xl", "border", "backdrop-blur-xl", 3, "click", "ngClass"], [1, "px-6", "py-5", "border-b", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "items-start", "justify-between"], [1, "flex", "items-start", "gap-3", "flex-1", "min-w-0"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "ngClass"], [1, "flex-1", "min-w-0"], [1, "flex", "items-center", "gap-1.5", "mb-2", "text-xs"], [1, "flex", "items-center", "gap-2", "mb-2"], [1, "text-xl", "font-bold", "leading-tight", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "ml-4", "flex-shrink-0"], [3, "priority", "viewMode"], [3, "timeframe", "viewMode"], ["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"], ["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-[80vh]", "overflow-y-auto", "backdrop-blur-sm", 3, "ngClass"], [3, "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "objectives", "goalTitle", "viewMode"], [3, "goal", "contributingMetrics", "viewMode"], [3, "objective", "viewMode"], [3, "strategy", "viewMode", "allMetrics", "allCharts", "allInsights", "goalTitle", "objectiveTitle", "currentModalState"], [3, "items", "viewMode", "selectedIndex"], ["type", "button", 1, "mt-0.5", "p-1.5", "rounded-lg", "transition-all", "hover:scale-105", "active:scale-95", "cursor-pointer", "flex-shrink-0", 3, "click", "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", "M15 19l-7-7 7-7"], [1, "font-medium", 3, "ngClass"], ["type", "button", 1, "hover:underline", "cursor-pointer", "transition-colors", 3, "click", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-3", "h-3", "flex-shrink-0", 3, "ngClass"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 5l7 7-7 7"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "sourceAnalysisClick", "metricClick", "contributingMetricsClick", "showObjectives", "close", "goal", "allMetrics", "allCharts", "loadedSourceAnalysisIds", "loadingSourceAnalysisId", "viewMode", "currentModalState"], [3, "metricClick", "goal", "contributingMetrics", "viewMode"], [3, "goalClick", "recommendationClick", "items", "viewMode", "selectedIndex"]], template: function UnifiedDashboardModalComponent_Template(rf, ctx) { if (rf & 1) {
|
|
104685
104700
|
i0.ɵɵconditionalCreate(0, UnifiedDashboardModalComponent_Conditional_0_Template, 27, 32, "div", 2);
|
|
104686
104701
|
} if (rf & 2) {
|
|
104687
104702
|
i0.ɵɵconditional(ctx.isOpen() ? 0 : -1);
|
|
@@ -104904,7 +104919,7 @@ class UnifiedDashboardModalComponent {
|
|
|
104904
104919
|
}
|
|
104905
104920
|
`
|
|
104906
104921
|
}]
|
|
104907
|
-
}], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], priorityActionGoalClick: [{ type: i0.Output, args: ["priorityActionGoalClick"] }], priorityActionRecommendationClick: [{ type: i0.Output, args: ["priorityActionRecommendationClick"] }], sourceAnalysisClickRequest: [{ type: i0.Output, args: ["sourceAnalysisClickRequest"] }], modalContent: [{
|
|
104922
|
+
}], () => [], { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], loadingSourceAnalysisId: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadingSourceAnalysisId", required: false }] }], priorityActionGoalClick: [{ type: i0.Output, args: ["priorityActionGoalClick"] }], priorityActionRecommendationClick: [{ type: i0.Output, args: ["priorityActionRecommendationClick"] }], sourceAnalysisClickRequest: [{ type: i0.Output, args: ["sourceAnalysisClickRequest"] }], modalContent: [{
|
|
104908
104923
|
type: ViewChild,
|
|
104909
104924
|
args: ['modalContent']
|
|
104910
104925
|
}], modalWrapper: [{
|
|
@@ -104919,6 +104934,33 @@ function UnifiedWelcomeBannerComponent_Conditional_8_Template(rf, ctx) { if (rf
|
|
|
104919
104934
|
function UnifiedWelcomeBannerComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
104920
104935
|
i0.ɵɵtext(0, " Welcome to Your Unified Analysis ");
|
|
104921
104936
|
} }
|
|
104937
|
+
function UnifiedWelcomeBannerComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
104938
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "div", 17);
|
|
104939
|
+
i0.ɵɵnamespaceSVG();
|
|
104940
|
+
i0.ɵɵelementStart(2, "svg", 18);
|
|
104941
|
+
i0.ɵɵelement(3, "path", 5);
|
|
104942
|
+
i0.ɵɵelementEnd()();
|
|
104943
|
+
i0.ɵɵnamespaceHTML();
|
|
104944
|
+
i0.ɵɵelementStart(4, "div", 6)(5, "p", 19);
|
|
104945
|
+
i0.ɵɵtext(6);
|
|
104946
|
+
i0.ɵɵelementEnd();
|
|
104947
|
+
i0.ɵɵelementStart(7, "p", 20);
|
|
104948
|
+
i0.ɵɵtext(8);
|
|
104949
|
+
i0.ɵɵelementEnd()()();
|
|
104950
|
+
} if (rf & 2) {
|
|
104951
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
104952
|
+
i0.ɵɵproperty("ngClass", ctx_r0.synthesisBannerClasses());
|
|
104953
|
+
i0.ɵɵadvance();
|
|
104954
|
+
i0.ɵɵproperty("ngClass", ctx_r0.synthesisBannerIconClasses());
|
|
104955
|
+
i0.ɵɵadvance(4);
|
|
104956
|
+
i0.ɵɵproperty("ngClass", ctx_r0.synthesisBannerTitleClasses());
|
|
104957
|
+
i0.ɵɵadvance();
|
|
104958
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.unifiedGoalsCount(), " Unified Goals Synthesized ");
|
|
104959
|
+
i0.ɵɵadvance();
|
|
104960
|
+
i0.ɵɵproperty("ngClass", ctx_r0.synthesisBannerTextClasses());
|
|
104961
|
+
i0.ɵɵadvance();
|
|
104962
|
+
i0.ɵɵtextInterpolate3(" We've combined ", ctx_r0.sourceGoalsCount(), " goals from ", ctx_r0.sourceAnalysesCount(), " source analyses into actionable strategic priorities for ", ctx_r0.businessName(), ". ");
|
|
104963
|
+
} }
|
|
104922
104964
|
class UnifiedWelcomeBannerComponent {
|
|
104923
104965
|
constructor() {
|
|
104924
104966
|
this.viewMode = input(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
@@ -104928,6 +104970,7 @@ class UnifiedWelcomeBannerComponent {
|
|
|
104928
104970
|
this.isUnifiedAnalysisComplete = input(false, ...(ngDevMode ? [{ debugName: "isUnifiedAnalysisComplete" }] : []));
|
|
104929
104971
|
this.sourceAnalysesCount = input(0, ...(ngDevMode ? [{ debugName: "sourceAnalysesCount" }] : []));
|
|
104930
104972
|
this.unifiedGoalsCount = input(0, ...(ngDevMode ? [{ debugName: "unifiedGoalsCount" }] : []));
|
|
104973
|
+
this.sourceGoalsCount = input(0, ...(ngDevMode ? [{ debugName: "sourceGoalsCount" }] : []));
|
|
104931
104974
|
this.whatYoullSeeBelowItems = [
|
|
104932
104975
|
{ title: 'Unified Goals', description: 'Strategic goals synthesized from all your source analyses with clear priorities and expected impact' },
|
|
104933
104976
|
{ title: 'Implementation Timeline', description: 'A phased roadmap showing when to tackle each goal for optimal results' },
|
|
@@ -104955,9 +104998,17 @@ class UnifiedWelcomeBannerComponent {
|
|
|
104955
104998
|
? 'text-white'
|
|
104956
104999
|
: 'bg-gradient-to-r from-emerald-600 to-cyan-600 bg-clip-text text-transparent', ...(ngDevMode ? [{ debugName: "titleClasses" }] : []));
|
|
104957
105000
|
this.textClasses = computed(() => this.isDark() ? 'text-slate-300' : 'text-slate-700', ...(ngDevMode ? [{ debugName: "textClasses" }] : []));
|
|
105001
|
+
this.synthesisBannerClasses = computed(() => this.isDark()
|
|
105002
|
+
? 'bg-gradient-to-r from-blue-900/40 to-indigo-900/40 border border-blue-700/50'
|
|
105003
|
+
: 'bg-gradient-to-r from-blue-50 to-indigo-50 border border-blue-200', ...(ngDevMode ? [{ debugName: "synthesisBannerClasses" }] : []));
|
|
105004
|
+
this.synthesisBannerIconClasses = computed(() => this.isDark()
|
|
105005
|
+
? 'bg-blue-500/20 text-blue-400'
|
|
105006
|
+
: 'bg-blue-100 text-blue-600', ...(ngDevMode ? [{ debugName: "synthesisBannerIconClasses" }] : []));
|
|
105007
|
+
this.synthesisBannerTitleClasses = computed(() => this.isDark() ? 'text-white' : 'text-slate-900', ...(ngDevMode ? [{ debugName: "synthesisBannerTitleClasses" }] : []));
|
|
105008
|
+
this.synthesisBannerTextClasses = computed(() => this.isDark() ? 'text-slate-300' : 'text-slate-700', ...(ngDevMode ? [{ debugName: "synthesisBannerTextClasses" }] : []));
|
|
104958
105009
|
}
|
|
104959
105010
|
static { this.ɵfac = function UnifiedWelcomeBannerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || UnifiedWelcomeBannerComponent)(); }; }
|
|
104960
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedWelcomeBannerComponent, selectors: [["symphiq-unified-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"], analysisDate: [1, "analysisDate"], isUnifiedAnalysisComplete: [1, "isUnifiedAnalysisComplete"], sourceAnalysesCount: [1, "sourceAnalysesCount"], unifiedGoalsCount: [1, "unifiedGoalsCount"] }, decls:
|
|
105011
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UnifiedWelcomeBannerComponent, selectors: [["symphiq-unified-welcome-banner"]], inputs: { viewMode: [1, "viewMode"], businessName: [1, "businessName"], isOnboarded: [1, "isOnboarded"], analysisDate: [1, "analysisDate"], isUnifiedAnalysisComplete: [1, "isUnifiedAnalysisComplete"], sourceAnalysesCount: [1, "sourceAnalysesCount"], unifiedGoalsCount: [1, "unifiedGoalsCount"], sourceGoalsCount: [1, "sourceGoalsCount"] }, decls: 23, vars: 16, consts: [[1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], [1, "px-8", "py-8", 3, "ngClass"], [1, "flex", "items-start", "gap-6"], [1, "flex-shrink-0", "w-16", "h-16", "rounded-2xl", "flex", "items-center", "justify-center", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-8", "h-8"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "flex-1"], [1, "text-2xl", "sm:text-3xl", "font-bold", "mb-3", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg:grid-cols-3", "gap-6", "mb-6"], [1, "lg:col-span-2", "space-y-3"], [1, "text-base", "leading-relaxed", 3, "ngClass"], [1, "font-semibold"], [1, "mt-4", "p-4", "rounded-xl", "flex", "items-start", "gap-4", 3, "ngClass"], [1, "lg:col-span-1"], ["currentStepId", "unified-analysis", 3, "viewMode", "isCurrentStepComplete"], [1, "mt-6", "block", 3, "viewMode", "items", "analysisDate"], ["title", "Maximize Your Unified Insights", "onboardedTitle", "Keep Your Unified Goals Current", "description", "To get the most comprehensive unified goals, ensure you've completed your Shop Analysis, Focus Area Analyses, and Metric Analyses. The more context Symphiq has about your business, the more precise and actionable your unified recommendations become.", "onboardedDescription", "As you complete more analyses or update existing ones, your Unified Goals will be refined to reflect your current business context. Regenerate your unified analysis periodically to ensure recommendations stay aligned with your evolving strategy and priorities.", 1, "mt-6", "block", 3, "viewMode", "isOnboarded"], [1, "flex-shrink-0", "p-2", "rounded-lg", 3, "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-5", "h-5"], [1, "font-semibold", "text-base", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"]], template: function UnifiedWelcomeBannerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
104961
105012
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
|
|
104962
105013
|
i0.ɵɵnamespaceSVG();
|
|
104963
105014
|
i0.ɵɵelementStart(4, "svg", 4);
|
|
@@ -104974,11 +105025,13 @@ class UnifiedWelcomeBannerComponent {
|
|
|
104974
105025
|
i0.ɵɵtext(16, "Why this matters:");
|
|
104975
105026
|
i0.ɵɵelementEnd();
|
|
104976
105027
|
i0.ɵɵtext(17, " Instead of managing separate recommendations from each analysis, the Unified Analysis consolidates them into actionable goals with clear priorities, timelines, and expected impact. This ensures you focus on what will drive the most value for your business. ");
|
|
105028
|
+
i0.ɵɵelementEnd();
|
|
105029
|
+
i0.ɵɵconditionalCreate(18, UnifiedWelcomeBannerComponent_Conditional_18_Template, 9, 8, "div", 12);
|
|
105030
|
+
i0.ɵɵelementEnd();
|
|
105031
|
+
i0.ɵɵelementStart(19, "div", 13);
|
|
105032
|
+
i0.ɵɵelement(20, "symphiq-confidence-level-card", 14);
|
|
104977
105033
|
i0.ɵɵelementEnd()();
|
|
104978
|
-
i0.ɵɵ
|
|
104979
|
-
i0.ɵɵelement(19, "symphiq-confidence-level-card", 13);
|
|
104980
|
-
i0.ɵɵelementEnd()();
|
|
104981
|
-
i0.ɵɵelement(20, "symphiq-what-youll-see-below", 14)(21, "symphiq-continue-your-journey", 15);
|
|
105034
|
+
i0.ɵɵelement(21, "symphiq-what-youll-see-below", 15)(22, "symphiq-continue-your-journey", 16);
|
|
104982
105035
|
i0.ɵɵelementEnd()()()();
|
|
104983
105036
|
} if (rf & 2) {
|
|
104984
105037
|
i0.ɵɵproperty("ngClass", ctx.containerClasses());
|
|
@@ -104996,7 +105049,9 @@ class UnifiedWelcomeBannerComponent {
|
|
|
104996
105049
|
i0.ɵɵtextInterpolate1(" The Unified Analysis synthesizes insights from all your source analyses\u2014Shop Analysis, Focus Area Analyses, and Metric Analyses\u2014into cohesive strategic goals for ", ctx.businessName(), ". These unified goals represent the highest-priority opportunities identified across your entire business context. ");
|
|
104997
105050
|
i0.ɵɵadvance();
|
|
104998
105051
|
i0.ɵɵproperty("ngClass", ctx.textClasses());
|
|
104999
|
-
i0.ɵɵadvance(
|
|
105052
|
+
i0.ɵɵadvance(4);
|
|
105053
|
+
i0.ɵɵconditional(ctx.unifiedGoalsCount() > 0 ? 18 : -1);
|
|
105054
|
+
i0.ɵɵadvance(2);
|
|
105000
105055
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("isCurrentStepComplete", ctx.isUnifiedAnalysisComplete());
|
|
105001
105056
|
i0.ɵɵadvance();
|
|
105002
105057
|
i0.ɵɵproperty("viewMode", ctx.viewMode())("items", ctx.whatYoullSeeBelowItems)("analysisDate", ctx.formattedAnalysisDate());
|
|
@@ -105038,6 +105093,25 @@ class UnifiedWelcomeBannerComponent {
|
|
|
105038
105093
|
<p [ngClass]="textClasses()" class="text-base leading-relaxed">
|
|
105039
105094
|
<strong class="font-semibold">Why this matters:</strong> Instead of managing separate recommendations from each analysis, the Unified Analysis consolidates them into actionable goals with clear priorities, timelines, and expected impact. This ensures you focus on what will drive the most value for your business.
|
|
105040
105095
|
</p>
|
|
105096
|
+
|
|
105097
|
+
<!-- Synthesis Summary Banner -->
|
|
105098
|
+
@if (unifiedGoalsCount() > 0) {
|
|
105099
|
+
<div [ngClass]="synthesisBannerClasses()" class="mt-4 p-4 rounded-xl flex items-start gap-4">
|
|
105100
|
+
<div [ngClass]="synthesisBannerIconClasses()" class="flex-shrink-0 p-2 rounded-lg">
|
|
105101
|
+
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
105102
|
+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
|
105103
|
+
</svg>
|
|
105104
|
+
</div>
|
|
105105
|
+
<div class="flex-1">
|
|
105106
|
+
<p [ngClass]="synthesisBannerTitleClasses()" class="font-semibold text-base mb-1">
|
|
105107
|
+
{{ unifiedGoalsCount() }} Unified Goals Synthesized
|
|
105108
|
+
</p>
|
|
105109
|
+
<p [ngClass]="synthesisBannerTextClasses()" class="text-sm">
|
|
105110
|
+
We've combined {{ sourceGoalsCount() }} goals from {{ sourceAnalysesCount() }} source analyses into actionable strategic priorities for {{ businessName() }}.
|
|
105111
|
+
</p>
|
|
105112
|
+
</div>
|
|
105113
|
+
</div>
|
|
105114
|
+
}
|
|
105041
105115
|
</div>
|
|
105042
105116
|
|
|
105043
105117
|
<div class="lg:col-span-1">
|
|
@@ -105071,8 +105145,8 @@ class UnifiedWelcomeBannerComponent {
|
|
|
105071
105145
|
</div>
|
|
105072
105146
|
`
|
|
105073
105147
|
}]
|
|
105074
|
-
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], businessName: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], analysisDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisDate", required: false }] }], isUnifiedAnalysisComplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "isUnifiedAnalysisComplete", required: false }] }], sourceAnalysesCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceAnalysesCount", required: false }] }], unifiedGoalsCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "unifiedGoalsCount", required: false }] }] }); })();
|
|
105075
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedWelcomeBannerComponent, { className: "UnifiedWelcomeBannerComponent", filePath: "lib/components/profile-analysis-unified-dashboard/unified-welcome-banner.component.ts", lineNumber:
|
|
105148
|
+
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], businessName: [{ type: i0.Input, args: [{ isSignal: true, alias: "businessName", required: false }] }], isOnboarded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOnboarded", required: false }] }], analysisDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "analysisDate", required: false }] }], isUnifiedAnalysisComplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "isUnifiedAnalysisComplete", required: false }] }], sourceAnalysesCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceAnalysesCount", required: false }] }], unifiedGoalsCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "unifiedGoalsCount", required: false }] }], sourceGoalsCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceGoalsCount", required: false }] }] }); })();
|
|
105149
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UnifiedWelcomeBannerComponent, { className: "UnifiedWelcomeBannerComponent", filePath: "lib/components/profile-analysis-unified-dashboard/unified-welcome-banner.component.ts", lineNumber: 92 }); })();
|
|
105076
105150
|
|
|
105077
105151
|
const _c0$7 = () => [];
|
|
105078
105152
|
const _c1$3 = a0 => ({ name: "flag", source: a0 });
|
|
@@ -105135,7 +105209,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
|
|
|
105135
105209
|
i0.ɵɵelementEnd();
|
|
105136
105210
|
} if (rf & 2) {
|
|
105137
105211
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
105138
|
-
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("businessName", ctx_r1.businessName())("isOnboarded", ctx_r1.isOnboarded())("analysisDate", ctx_r1.unifiedAnalysisDate())("isUnifiedAnalysisComplete", !ctx_r1.isLoading() && !ctx_r1.isGenerating())("sourceAnalysesCount", ctx_r1.sourceAnalysesCount())("unifiedGoalsCount", ctx_r1.unifiedGoals().length);
|
|
105212
|
+
i0.ɵɵproperty("viewMode", ctx_r1.viewMode())("businessName", ctx_r1.businessName())("isOnboarded", ctx_r1.isOnboarded())("analysisDate", ctx_r1.unifiedAnalysisDate())("isUnifiedAnalysisComplete", !ctx_r1.isLoading() && !ctx_r1.isGenerating())("sourceAnalysesCount", ctx_r1.sourceAnalysesCount())("unifiedGoalsCount", ctx_r1.unifiedGoals().length)("sourceGoalsCount", ctx_r1.totalSourceGoalsCount());
|
|
105139
105213
|
i0.ɵɵadvance();
|
|
105140
105214
|
i0.ɵɵproperty("summary", ctx_r1.executiveSummary())("viewMode", ctx_r1.viewMode())("shopCounts", ctx_r1.shopCounts())("focusAreaCounts", ctx_r1.focusAreaCounts())("metricCounts", ctx_r1.metricCounts());
|
|
105141
105215
|
i0.ɵɵadvance();
|
|
@@ -105187,7 +105261,7 @@ function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Condition
|
|
|
105187
105261
|
function SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
105188
105262
|
i0.ɵɵelementStart(0, "main", 16);
|
|
105189
105263
|
i0.ɵɵconditionalCreate(1, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_1_Template, 1, 2, "symphiq-loading-card", 17);
|
|
105190
|
-
i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 6,
|
|
105264
|
+
i0.ɵɵconditionalCreate(2, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_2_Template, 6, 22);
|
|
105191
105265
|
i0.ɵɵconditionalCreate(3, SymphiqProfileAnalysisUnifiedDashboardComponent_Conditional_6_Conditional_3_Template, 1, 1);
|
|
105192
105266
|
i0.ɵɵelementEnd();
|
|
105193
105267
|
} if (rf & 2) {
|
|
@@ -105460,16 +105534,9 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
105460
105534
|
this.priorityMatrix = computed(() => {
|
|
105461
105535
|
const matrixData = this.analysisData()?.unifiedPriorityMatrix;
|
|
105462
105536
|
const goals = this.unifiedGoals();
|
|
105463
|
-
console.log('[PriorityMatrix] Raw matrixData:', matrixData);
|
|
105464
|
-
console.log('[PriorityMatrix] Goals available:', goals.map(g => ({ id: g.id, title: g.title })));
|
|
105465
105537
|
if (matrixData) {
|
|
105466
|
-
console.log('[PriorityMatrix] quickWins items:', matrixData.quickWins);
|
|
105467
|
-
console.log('[PriorityMatrix] majorProjects items:', matrixData.majorProjects);
|
|
105468
|
-
console.log('[PriorityMatrix] fillIns items:', matrixData.fillIns);
|
|
105469
|
-
console.log('[PriorityMatrix] thankless items:', matrixData.thankless);
|
|
105470
105538
|
const findGoal = (id, quadrant) => {
|
|
105471
105539
|
const found = goals.find(g => g.id === id);
|
|
105472
|
-
console.log(`[PriorityMatrix] ${quadrant} - Looking for goal id="${id}", found:`, found ? found.title : 'NOT FOUND');
|
|
105473
105540
|
return found;
|
|
105474
105541
|
};
|
|
105475
105542
|
const result = {
|
|
@@ -105478,15 +105545,8 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
105478
105545
|
fillIns: (matrixData.fillIns || []).map(item => findGoal(item.relatedGoalId, 'fillIns')).filter((g) => !!g),
|
|
105479
105546
|
thankless: (matrixData.thankless || []).map(item => findGoal(item.relatedGoalId, 'thankless')).filter((g) => !!g)
|
|
105480
105547
|
};
|
|
105481
|
-
console.log('[PriorityMatrix] Final result:', {
|
|
105482
|
-
quickWins: result.quickWins.length,
|
|
105483
|
-
majorProjects: result.majorProjects.length,
|
|
105484
|
-
fillIns: result.fillIns.length,
|
|
105485
|
-
thankless: result.thankless.length
|
|
105486
|
-
});
|
|
105487
105548
|
return result;
|
|
105488
105549
|
}
|
|
105489
|
-
console.log('[PriorityMatrix] No matrixData, using fallback based on priority');
|
|
105490
105550
|
return {
|
|
105491
105551
|
quickWins: goals.filter(g => g.priority === 'HIGH'),
|
|
105492
105552
|
majorProjects: goals.filter(g => g.priority === 'MEDIUM'),
|
|
@@ -105705,13 +105765,43 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
105705
105765
|
}
|
|
105706
105766
|
}
|
|
105707
105767
|
onPriorityActionRecommendationClick(recommendationId) {
|
|
105708
|
-
const
|
|
105709
|
-
if (
|
|
105710
|
-
|
|
105768
|
+
const unifiedResult = this.findRecommendationInUnifiedGoals(recommendationId);
|
|
105769
|
+
if (unifiedResult) {
|
|
105770
|
+
const currentState = this.modalService.getCurrentState();
|
|
105771
|
+
this.modalService.openStrategyRecommendationsModal(unifiedResult.strategy, unifiedResult.objective.title, unifiedResult.goal.title, this.viewMode(), recommendationId, unifiedResult.goal, unifiedResult.objective);
|
|
105772
|
+
const newState = this.modalService.getCurrentState();
|
|
105773
|
+
if (currentState.type === 'priority-actions-list') {
|
|
105774
|
+
this.modalService.updateNavigationStack([currentState, ...(newState.navigationStack || [])]);
|
|
105775
|
+
}
|
|
105776
|
+
return;
|
|
105777
|
+
}
|
|
105778
|
+
const sourceResult = this.findRecommendationInSourceAnalyses(recommendationId);
|
|
105779
|
+
if (sourceResult) {
|
|
105780
|
+
this.modalService.navigateToSourceRecommendation(sourceResult.recommendation, sourceResult.strategy, sourceResult.objective, sourceResult.goal, sourceResult.sourceAnalysisRef, sourceResult.unifiedGoal, this.viewMode());
|
|
105711
105781
|
}
|
|
105712
105782
|
else {
|
|
105713
|
-
console.warn('[Priority Actions] Recommendation not found
|
|
105783
|
+
console.warn('[Priority Actions] Recommendation not found. ID:', recommendationId);
|
|
105784
|
+
}
|
|
105785
|
+
}
|
|
105786
|
+
findRecommendationInUnifiedGoals(recommendationId) {
|
|
105787
|
+
const unifiedGoals = this.unifiedGoals();
|
|
105788
|
+
for (const goal of unifiedGoals) {
|
|
105789
|
+
for (const objective of goal.objectives || []) {
|
|
105790
|
+
for (const strategy of objective.strategies || []) {
|
|
105791
|
+
for (const recommendation of strategy.recommendations || []) {
|
|
105792
|
+
if (recommendation.id === recommendationId) {
|
|
105793
|
+
return {
|
|
105794
|
+
recommendation,
|
|
105795
|
+
strategy,
|
|
105796
|
+
objective: objective,
|
|
105797
|
+
goal
|
|
105798
|
+
};
|
|
105799
|
+
}
|
|
105800
|
+
}
|
|
105801
|
+
}
|
|
105802
|
+
}
|
|
105714
105803
|
}
|
|
105804
|
+
return null;
|
|
105715
105805
|
}
|
|
105716
105806
|
findRecommendationInSourceAnalyses(recommendationId) {
|
|
105717
105807
|
const sourceAnalysesMap = this.sourceAnalysesMap();
|
|
@@ -106096,7 +106186,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
106096
106186
|
static { this.ɵfac = function SymphiqProfileAnalysisUnifiedDashboardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SymphiqProfileAnalysisUnifiedDashboardComponent)(); }; }
|
|
106097
106187
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SymphiqProfileAnalysisUnifiedDashboardComponent, selectors: [["symphiq-profile-analysis-unified-dashboard"]], hostBindings: function SymphiqProfileAnalysisUnifiedDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
106098
106188
|
i0.ɵɵlistener("scroll", function SymphiqProfileAnalysisUnifiedDashboardComponent_scroll_HostBindingHandler() { return ctx.onScroll(); }, i0.ɵɵresolveWindow);
|
|
106099
|
-
} }, inputs: { viewMode: [1, "viewMode"], embedded: [1, "embedded"], isLoading: [1, "isLoading"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], unifiedProfileAnalysis: [1, "unifiedProfileAnalysis"], sourceProfileAnalyses: [1, "sourceProfileAnalyses"], isLoadingSourceAnalysis: [1, "isLoadingSourceAnalysis"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], requestedByUser: [1, "requestedByUser"] }, outputs: { markAsReviewedClick: "markAsReviewedClick", generateGoalsClick: "generateGoalsClick", stepClick: "stepClick", nextStepClick: "nextStepClick", sourceAnalysisRequest: "sourceAnalysisRequest" }, features: [i0.ɵɵNgOnChangesFeature], decls: 16, vars:
|
|
106189
|
+
} }, inputs: { viewMode: [1, "viewMode"], embedded: [1, "embedded"], isLoading: [1, "isLoading"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], unifiedProfileAnalysis: [1, "unifiedProfileAnalysis"], sourceProfileAnalyses: [1, "sourceProfileAnalyses"], isLoadingSourceAnalysis: [1, "isLoadingSourceAnalysis"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], isOnboarded: [1, "isOnboarded"], forDemo: [1, "forDemo"], maxAccessibleStepId: [1, "maxAccessibleStepId"], itemStatus: [1, "itemStatus"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"], requestedByUser: [1, "requestedByUser"] }, outputs: { markAsReviewedClick: "markAsReviewedClick", generateGoalsClick: "generateGoalsClick", stepClick: "stepClick", nextStepClick: "nextStepClick", sourceAnalysisRequest: "sourceAnalysisRequest" }, features: [i0.ɵɵNgOnChangesFeature], decls: 16, vars: 32, consts: [[1, "relative"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [3, "viewMode", "progress", "embedded"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "showControls", "embedded", "scrollEvent"], [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", 3, "pb-32"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "isLightMode", "isOpen"], [3, "viewMode", "currentMode", "isOpen"], [3, "viewMode", "selfContentStatus", "isLoading"], [3, "viewMode", "itemStatus", "currentStatus", "confettiIntensity", "title"], [3, "priorityActionGoalClick", "priorityActionRecommendationClick", "sourceAnalysisClickRequest", "viewMode", "loadingSourceAnalysisId"], [3, "isLightMode"], [3, "isLightMode", "allInsights", "allMetrics", "allCharts"], [3, "nextStepClick", "stepClick", "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"], ["title", "Loading Your Unified Analysis", "subtitle", "Please wait while we prepare your synthesized insights...", "size", "large", 3, "viewMode", "backdropBlur"], [1, "mb-12", "block", 3, "viewMode", "businessName", "isOnboarded", "analysisDate", "isUnifiedAnalysisComplete", "sourceAnalysesCount", "unifiedGoalsCount", "sourceGoalsCount"], [3, "viewAllPriorityActionsClick", "summary", "viewMode", "shopCounts", "focusAreaCounts", "metricCounts"], ["id", "section-unified-goals", 1, "space-y-6", "scroll-mt-24"], [3, "goalClick", "timeline", "viewMode", "goals"], [3, "goalClick", "matrix", "viewMode"], [3, "goalClick", "steps", "viewMode", "goals"], [3, "viewMode", "sectionIcon"], ["title", "Unified Goals", 3, "icon", "viewMode"], [1, "grid", "gap-6", 2, "grid-template-columns", "repeat(auto-fit, minmax(340px, 1fr))"], [3, "goal", "viewMode"], [3, "goalClick", "sourceBadgeClick", "relatedMetricsClick", "learnMoreClick", "goal", "viewMode"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [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"], [3, "close", "isLightMode", "isOpen"], [3, "close", "modeSelected", "viewMode", "currentMode", "isOpen"], [3, "markAsReviewed", "viewMode", "selfContentStatus", "isLoading"]], template: function SymphiqProfileAnalysisUnifiedDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
106100
106190
|
i0.ɵɵelementStart(0, "div", 0);
|
|
106101
106191
|
i0.ɵɵelement(1, "div", 1)(2, "symphiq-scroll-progress-bar", 2);
|
|
106102
106192
|
i0.ɵɵelementStart(3, "div", 3)(4, "symphiq-dashboard-header", 4);
|
|
@@ -106139,11 +106229,11 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
106139
106229
|
i0.ɵɵadvance();
|
|
106140
106230
|
i0.ɵɵconditional(!ctx.isLoading() && ctx.isGenerating() ? 11 : -1);
|
|
106141
106231
|
i0.ɵɵadvance(2);
|
|
106142
|
-
i0.ɵɵproperty("viewMode", ctx.viewMode());
|
|
106232
|
+
i0.ɵɵproperty("viewMode", ctx.viewMode())("loadingSourceAnalysisId", ctx.loadingSourceAnalysisId());
|
|
106143
106233
|
i0.ɵɵadvance();
|
|
106144
106234
|
i0.ɵɵproperty("isLightMode", ctx.isLightMode());
|
|
106145
106235
|
i0.ɵɵadvance();
|
|
106146
|
-
i0.ɵɵproperty("isLightMode", ctx.isLightMode())("allInsights", i0.ɵɵpureFunction0(
|
|
106236
|
+
i0.ɵɵproperty("isLightMode", ctx.isLightMode())("allInsights", i0.ɵɵpureFunction0(31, _c0$7))("allMetrics", ctx.allMetrics())("allCharts", ctx.allCharts());
|
|
106147
106237
|
} }, dependencies: [CommonModule, i1$1.NgClass, DashboardHeaderComponent,
|
|
106148
106238
|
ScrollProgressBarComponent,
|
|
106149
106239
|
SearchModalComponent,
|
|
@@ -106262,6 +106352,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
106262
106352
|
[isUnifiedAnalysisComplete]="!isLoading() && !isGenerating()"
|
|
106263
106353
|
[sourceAnalysesCount]="sourceAnalysesCount()"
|
|
106264
106354
|
[unifiedGoalsCount]="unifiedGoals().length"
|
|
106355
|
+
[sourceGoalsCount]="totalSourceGoalsCount()"
|
|
106265
106356
|
/>
|
|
106266
106357
|
|
|
106267
106358
|
<!-- Executive Summary -->
|
|
@@ -106410,6 +106501,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
106410
106501
|
|
|
106411
106502
|
<symphiq-unified-dashboard-modal
|
|
106412
106503
|
[viewMode]="viewMode()"
|
|
106504
|
+
[loadingSourceAnalysisId]="loadingSourceAnalysisId()"
|
|
106413
106505
|
(priorityActionGoalClick)="onPriorityActionGoalClick($event)"
|
|
106414
106506
|
(priorityActionRecommendationClick)="onPriorityActionRecommendationClick($event)"
|
|
106415
106507
|
(sourceAnalysisClickRequest)="handleSourceAnalysisClickFromModal($event)"
|
|
@@ -106428,7 +106520,7 @@ class SymphiqProfileAnalysisUnifiedDashboardComponent {
|
|
|
106428
106520
|
type: HostListener,
|
|
106429
106521
|
args: ['window:scroll']
|
|
106430
106522
|
}] }); })();
|
|
106431
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber:
|
|
106523
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileAnalysisUnifiedDashboardComponent, { className: "SymphiqProfileAnalysisUnifiedDashboardComponent", filePath: "lib/components/profile-analysis-unified-dashboard/symphiq-profile-analysis-unified-dashboard.component.ts", lineNumber: 344 }); })();
|
|
106432
106524
|
|
|
106433
106525
|
function SymphiqProfileMetricsAnalysesDashboardComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
106434
106526
|
const _r1 = i0.ɵɵgetCurrentView();
|