diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/DashboardTopBanner/DashboardTopBannerContent.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/DashboardTopBanner/DashboardTopBannerContent.tsx index b29bae2eca2..21b496606d0 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/DashboardTopBanner/DashboardTopBannerContent.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/DashboardTopBanner/DashboardTopBannerContent.tsx @@ -80,7 +80,10 @@ export const DashboardTopBannerContent = (props: DashboardTopBannerProps) => { ); } - const relevantGuidedStep = getNextGuidedStep(stepDeterminationData); + const relevantGuidedStep = getNextGuidedStep( + stepDeterminationData, + props.enabledFeatureFlags, + ); const contentProps = { relevantGuidedStep, diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/View.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/View.tsx index 5ec78b67381..c5e6ef9478c 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/View.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/View.tsx @@ -198,6 +198,7 @@ export const View = (props: Props) => { const removalTimeEstimate = isScanResult(exposure) ? props.removalTimeEstimates.find(({ d }) => d === exposure.data_broker) : undefined; + return (
  • { const dataSummary = getDashboardSummary( adjustedScanResults, props.userBreaches, + props.enabledFeatureFlags, ); const hasExposures = combinedArray.length > 0; @@ -513,6 +515,7 @@ export const View = (props: Props) => { bannerData={getDashboardSummary( adjustedScanResults, props.userBreaches, + props.enabledFeatureFlags, )} stepDeterminationData={{ countryCode, diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContainer.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContainer.tsx index 48cdd16065f..7ddd3930004 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContainer.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/ResolutionContainer.tsx @@ -12,6 +12,7 @@ import styles from "./ResolutionContainer.module.scss"; import { ProgressCard } from "../../../../../../../components/client/ProgressCard"; import { StepDeterminationData } from "../../../../../../../functions/server/getRelevantGuidedSteps"; import { getDashboardSummary } from "../../../../../../../functions/server/dashboard"; +import { FeatureFlagName } from "../../../../../../../../db/tables/featureFlags"; type ResolutionContainerProps = { type: "highRisk" | "leakedPasswords" | "securityRecommendations"; @@ -25,6 +26,7 @@ type ResolutionContainerProps = { data: StepDeterminationData; label?: string; cta?: ReactNode; + enabledFeatureFlags: FeatureFlagName[]; }; export const ResolutionContainer = (props: ResolutionContainerProps) => { @@ -40,6 +42,7 @@ export const ResolutionContainer = (props: ResolutionContainerProps) => { const resolutionSummary = getDashboardSummary( props.data.latestScanData?.results ?? [], props.data.subscriberBreaches, + props.enabledFeatureFlags, ); return ( diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/data-broker-profiles/manual-remove/ManualRemoveView.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/data-broker-profiles/manual-remove/ManualRemoveView.tsx index 2fcfd55bdf2..ab0cc3abaac 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/data-broker-profiles/manual-remove/ManualRemoveView.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/data-broker-profiles/manual-remove/ManualRemoveView.tsx @@ -43,7 +43,11 @@ export function ManualRemoveView(props: Props) { const l10n = useL10n(); const [activeExposureCardKey, setActiveExposureCardKey] = useState(0); - const summary = getDashboardSummary(props.scanData.results, props.breaches); + const summary = getDashboardSummary( + props.scanData.results, + props.breaches, + props.enabledFeatureFlags, + ); const countOfDataBrokerProfiles = props.scanData.results.length; const estimatedTime = countOfDataBrokerProfiles * 10; // 10 minutes per data broker site. diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/data-broker-profiles/welcome-to-plus/WelcomeToPlusView.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/data-broker-profiles/welcome-to-plus/WelcomeToPlusView.tsx index c6b81318849..3ba550fd78d 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/data-broker-profiles/welcome-to-plus/WelcomeToPlusView.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/data-broker-profiles/welcome-to-plus/WelcomeToPlusView.tsx @@ -39,6 +39,7 @@ export function WelcomeToPlusView(props: Props) { const summary = getDashboardSummary( scanResultsInProgress, props.data.subscriberBreaches, + props.enabledFeatureFlags, ); const dataPointReduction = getDataPointReduction(summary); diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/high-risk-data-breaches/HighRiskBreachLayout.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/high-risk-data-breaches/HighRiskBreachLayout.tsx index 325ea84e3df..b18a4ccbb29 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/high-risk-data-breaches/HighRiskBreachLayout.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/high-risk-data-breaches/HighRiskBreachLayout.tsx @@ -171,6 +171,7 @@ export function HighRiskBreachLayout(props: HighRiskBreachLayoutProps) { illustration={illustration} isPremiumUser={hasPremium(props.data.user)} isEligibleForPremium={props.isEligibleForPremium} + enabledFeatureFlags={props.enabledFeatureFlags} cta={ !isStepDone && ( <> diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/leaked-passwords/LeakedPasswordsLayout.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/leaked-passwords/LeakedPasswordsLayout.tsx index dc95d5c316b..5501fe0ecf3 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/leaked-passwords/LeakedPasswordsLayout.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/leaked-passwords/LeakedPasswordsLayout.tsx @@ -198,6 +198,7 @@ export function LeakedPasswordsLayout(props: LeakedPasswordsLayoutProps) { title={title} illustration={illustration} isPremiumUser={hasPremium(props.data.user)} + enabledFeatureFlags={props.enabledFeatureFlags} cta={ !isStepDone && ( <> diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/page.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/page.tsx index c320f41bbf3..686a63091d5 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/page.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/page.tsx @@ -15,6 +15,7 @@ import { getScanResultsWithBroker } from "../../../../../../../../db/tables/oner import { getServerSession } from "../../../../../../../functions/server/getServerSession"; import { refreshStoredScanResults } from "../../../../../../../functions/server/refreshStoredScanResults"; import { hasPremium } from "../../../../../../../functions/universal/user"; +import { getEnabledFeatureFlags } from "../../../../../../../../db/tables/featureFlags"; export default async function FixPage() { const session = await getServerSession(); @@ -31,6 +32,9 @@ export default async function FixPage() { if (typeof profileId === "number") { await refreshStoredScanResults(profileId); } + const enabledFeatureFlags = await getEnabledFeatureFlags({ + email: session.user.email, + }); const scanData = await getScanResultsWithBroker( profileId, @@ -43,6 +47,9 @@ export default async function FixPage() { latestScanData: scanData, }; - const nextStep = getNextGuidedStep(stepDeterminationData); + const nextStep = getNextGuidedStep( + stepDeterminationData, + enabledFeatureFlags, + ); redirect(nextStep.href); } diff --git a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/security-recommendations/SecurityRecommendationsLayout.tsx b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/security-recommendations/SecurityRecommendationsLayout.tsx index 61268dcfd4b..f4511fca159 100644 --- a/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/security-recommendations/SecurityRecommendationsLayout.tsx +++ b/src/app/(proper_react)/(redesign)/(authenticated)/user/(dashboard)/dashboard/fix/security-recommendations/SecurityRecommendationsLayout.tsx @@ -164,6 +164,7 @@ export function SecurityRecommendationsLayout( title={title} illustration={illustration} isPremiumUser={hasPremium(props.data.user)} + enabledFeatureFlags={props.enabledFeatureFlags} cta={ !isStepDone && (