Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions functional-tests/fixtures/baseTest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ export const defaultLocalForcedFeatureFlags: FeatureFlagName[] = [
"DataBrokerRemovalTimeEstimateLabel",
"LandingPageRedesign",
"DataBrokerRemovalAttempts",
"SidebarNavigationRedesign",
"EditScanProfileDetails",
"SubPlat3",
];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import {
} from "../../../../../functions/server/onerep";
import { InputField } from "../../../../../components/client/InputField";
import { CONST_DATA_BROKER_PROFILE_DETAIL_ALLOW_LIST } from "../../../../../../constants";
import { FeatureFlagName } from "../../../../../../db/tables/featureFlags";

export const DataTable = ({
header,
Expand Down Expand Up @@ -59,12 +58,10 @@ export const DataTable = ({

const ProfileDataInputs = ({
data,
isEnabled,
onChange,
onError,
}: {
data: OnerepProfileRow;
isEnabled: boolean;
onChange: (values: UpdateableProfileDetails) => void;
onError: (error: string) => void;
}) => {
Expand Down Expand Up @@ -117,7 +114,6 @@ const ProfileDataInputs = ({
<InputField
key={key}
value={dataValue}
isDisabled={!isEnabled}
onChange={(value) => {
const updatedProfileData = {
...editableProfileData,
Expand All @@ -134,13 +130,7 @@ const ProfileDataInputs = ({
);
};

export const UserAdmin = ({
isLocal,
enabledFeatureFlags,
}: {
isLocal: boolean;
enabledFeatureFlags: FeatureFlagName[];
}) => {
export const UserAdmin = ({ isLocal }: { isLocal: boolean }) => {
const session = useSession();
const [isLoading, setIsLoading] = useState(false);
const [emailInput, setEmailInput] = useState("");
Expand Down Expand Up @@ -249,10 +239,6 @@ export const UserAdmin = ({
const updateProfileAction = async (
updatedProfileData: UpdateableProfileDetails,
) => {
if (!enabledFeatureFlags.includes("EditScanProfileDetails")) {
return;
}

try {
if (subscriberData?.onerepProfileId) {
await updateOnerepProfile(
Expand All @@ -270,10 +256,6 @@ export const UserAdmin = ({
};

const triggerScanAction = async () => {
if (!enabledFeatureFlags.includes("EditScanProfileDetails")) {
return;
}

try {
if (subscriberData?.onerepProfileId) {
await triggerManualOnerepProfileScan(subscriberData.onerepProfileId);
Expand Down Expand Up @@ -379,9 +361,6 @@ export const UserAdmin = ({
</div>
<ProfileDataInputs
data={onerepProfileData.local}
isEnabled={enabledFeatureFlags.includes(
"EditScanProfileDetails",
)}
onChange={(updatedProfileData) => {
void updateProfileAction(updatedProfileData);
}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import { getServerSession } from "../../../../../functions/server/getServerSession";
import { notFound } from "next/navigation";
import { isAdmin } from "../../../../../api/utils/auth";
import { getEnabledFeatureFlags } from "../../../../../../db/tables/featureFlags";
import { UserAdmin } from "./UserAdmin";

export default async function DevPage() {
Expand All @@ -18,13 +17,5 @@ export default async function DevPage() {
return notFound();
}

const enabledFeatureFlags = await getEnabledFeatureFlags({
email: session.user.email,
});
return (
<UserAdmin
isLocal={process.env.APP_ENV === "local"}
enabledFeatureFlags={enabledFeatureFlags}
/>
);
return <UserAdmin isLocal={process.env.APP_ENV === "local"} />;
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import { useSession } from "next-auth/react";
import { OnerepScanRow } from "knex/types/tables";
import { Button } from "../../../../../components/client/Button";
import { InputField } from "../../../../../components/client/InputField";
import { FeatureFlagName } from "../../../../../../db/tables/featureFlags";
import { DataTable, getSha1 } from "../dev/UserAdmin";
import styles from "../dev/UserAdmin.module.scss";
import {
Expand All @@ -18,11 +17,7 @@ import {
triggerManualProfileScan,
} from "./actions";

export const UserAdminProduction = ({
enabledFeatureFlags,
}: {
enabledFeatureFlags: FeatureFlagName[];
}) => {
export const UserAdminProduction = () => {
const session = useSession();
const [isLoading, setIsLoading] = useState(false);
const [emailInput, setEmailInput] = useState("");
Expand All @@ -45,10 +40,6 @@ export const UserAdminProduction = ({
};

const triggerScanAction = async () => {
if (!enabledFeatureFlags.includes("EditScanProfileDetails")) {
return;
}

try {
if (onerepProfileId) {
await triggerManualProfileScan(onerepProfileId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

import { notFound } from "next/navigation";
import { UserAdminProduction } from "./UserAdminProduction";
import { getEnabledFeatureFlags } from "../../../../../../db/tables/featureFlags";
import { getServerSession } from "../../../../../functions/server/getServerSession";
import { isAdmin } from "../../../../../api/utils/auth";

Expand All @@ -18,8 +17,5 @@ export default async function DevPage() {
return notFound();
}

const enabledFeatureFlags = await getEnabledFeatureFlags({
email: session.user.email,
});
return <UserAdminProduction enabledFeatureFlags={enabledFeatureFlags} />;
return <UserAdminProduction />;
}
Original file line number Diff line number Diff line change
Expand Up @@ -879,7 +879,7 @@ it("shows How It Works navbar link to US users, without Premium, no scan, no bre
render(<ComposedDashboard />);

const howItWorksLink = screen.queryAllByRole("link", {
name: "How It Works",
name: "How it works",
});

expect(howItWorksLink.length).toBe(2);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,9 @@

"use client";

import { ReactNode, useEffect, useState } from "react";
import { ReactNode, useEffect } from "react";
import { usePathname } from "next/navigation";
import { useL10n } from "../../../../../../hooks/l10n";
import { TabList } from "../../../../../../components/client/TabList";
import styles from "./SettingsContent.module.scss";
import { SettingsPanel, SettingsProps } from "./panels";
import { TabType } from "./View";
Expand Down Expand Up @@ -54,9 +53,7 @@ function SettingsContent(props: SettingsProps) {
key: "manage-account",
},
];
const [activeTab, setActiveTab] = useState<TabType>(
props.activeTab ?? tabsData[0].key,
);
const activeTab = props.activeTab ?? tabsData[0].key;

// Update the URL pathname when navigating through the panels
// without causing the page to reload.
Expand All @@ -72,23 +69,8 @@ function SettingsContent(props: SettingsProps) {

return (
<main className={styles.main}>
{!props.enabledFeatureFlags.includes("SidebarNavigationRedesign") && (
<header className={styles.header}>
<h2>{l10n.getString("settings-page-title")}</h2>
<TabList
selectedKey={activeTab}
tabs={tabsData}
orientation="vertical"
/*c8 ignore next 3 */
onSelectionChange={(selectedKey) => {
setActiveTab(selectedKey as TabType);
}}
variant="secondary"
/>
</header>
)}
<div
className={`${styles.content} ${props.enabledFeatureFlags.includes("EditScanProfileDetails") && (activeTab === "edit-info" || activeTab === "edit-profile") ? "" : styles.isCard}`}
className={`${styles.content} ${activeTab === "edit-info" || activeTab === "edit-profile" ? "" : styles.isCard}`}
>
<SettingsPanel
activeTab={activeTab}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,11 +234,7 @@ describe("Settings page redesign", () => {
);
render(
<ComposedStory
enabledFeatureFlags={[
"SidebarNavigationRedesign",
"EditScanProfileDetails",
"IncreasedFreeMaxBreachEmails",
]}
enabledFeatureFlags={["IncreasedFreeMaxBreachEmails"]}
/>,
);

Expand Down Expand Up @@ -474,14 +470,7 @@ describe("Settings page redesign", () => {
SettingsEditYourInfoNoPlus,
SettingsEditYourInfoMeta,
);
render(
<ComposeStory
enabledFeatureFlags={[
"SidebarNavigationRedesign",
"EditScanProfileDetails",
]}
/>,
);
render(<ComposeStory />);

const upsellLink = screen.getByRole("link", {
name: "Upgrade to ⁨Monitor Plus⁩ to protect your personal info",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,7 @@ function Panel(props: SettingsProps) {
case "manage-account":
return <SettingsPanelManageAccount {...props} />;
case "edit-profile":
if (props.enabledFeatureFlags.includes("EditScanProfileDetails")) {
return <SettingsPanelEditProfile {...props} />;
}
return <SettingsPanelEditProfile {...props} />;
default:
return <SettingsPanelEditInfo {...props} />;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,6 @@ export const SettingsEditYourInfo: Story = {
args: {
countryCode: "nl",
activeTab: "edit-info",
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
},
};

Expand All @@ -44,10 +40,6 @@ export const SettingsEditYourInfoAdditionalMonitoredEmails: Story = {
args: {
countryCode: "nl",
activeTab: "edit-info",
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
emailAddresses: [mockedVerifiedEmailSecond, mockedVerifiedEmailFourth],
},
};
Expand All @@ -57,10 +49,6 @@ export const SettingsEditYourInfoMaxMonitoredEmails: Story = {
args: {
countryCode: "nl",
activeTab: "edit-info",
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
emailAddresses: [
mockedVerifiedEmailSecond,
mockedVerifiedEmailThird,
Expand All @@ -75,11 +63,7 @@ export const SettingsEditYourInfoMaxMonitoredEmailsIncreased: Story = {
args: {
countryCode: "nl",
activeTab: "edit-info",
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
"IncreasedFreeMaxBreachEmails",
],
enabledFeatureFlags: ["IncreasedFreeMaxBreachEmails"],
emailAddresses: [...Array(19)].map(() => ({
...mockedVerifiedEmailSecond,
email: faker.internet.email(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@ export const SettingsEditYourInfoNoPlus: Story = {
args: {
countryCode: "us",
activeTab: "edit-info",
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
isEligibleForPremium: true,
},
};
Expand All @@ -40,10 +36,6 @@ export const SettingsEditYourInfoMinProfileDetailsWithPlus: Story = {
args: {
countryCode: "us",
activeTab: "edit-info",
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
profileData: mockedProfileDataMin,
hasPlus: true,
},
Expand All @@ -54,10 +46,6 @@ export const SettingsEditYourInfoMaxProfileDetailsWithPlus: Story = {
args: {
countryCode: "us",
activeTab: "edit-info",
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
profileData: mockedProfileDataMax,
hasPlus: true,
},
Expand All @@ -68,10 +56,6 @@ export const SettingsEditYourInfoDetailsSaved: Story = {
args: {
countryCode: "us",
activeTab: "edit-info",
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
profileData: mockedProfileDataMin,
hasPlus: true,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@ export const SettingsDetailsAboutYouMinDetails: Story = {
countryCode: "us",
activeTab: "edit-profile",
hasPlus: true,
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
profileData: mockedProfileDataMin,
},
};
Expand All @@ -41,10 +37,6 @@ export const SettingsDetailsAboutYouMaxDetails: Story = {
countryCode: "us",
activeTab: "edit-profile",
hasPlus: true,
enabledFeatureFlags: [
"SidebarNavigationRedesign",
"EditScanProfileDetails",
],
profileData: mockedProfileDataMax,
},
};
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ export const SettingsWrapper = (props: SettingsWrapperProps) => {
session={mockedSession}
nonce=""
countryCode={props.countryCode}
enabledFeatureFlags={props.enabledFeatureFlags}
enabledFeatureFlags={props.enabledFeatureFlags ?? []}
experimentData={defaultExperimentData["Features"]}
hideSidebar={props.activeTab === "edit-profile"}
announcements={null}
Expand All @@ -105,7 +105,7 @@ export const SettingsWrapper = (props: SettingsWrapperProps) => {
subscriptionBillingAmount={{
monthly: 42.42,
}}
enabledFeatureFlags={props.enabledFeatureFlags}
enabledFeatureFlags={props.enabledFeatureFlags ?? []}
experimentData={defaultExperimentData["Features"]}
lastScanDate={new Date(Date.UTC(2024, 6, 31))}
isMonthlySubscriber={props.isMonthlySubscriber}
Expand Down
Loading
Loading