From 1f0048f7efb69cd5094edeee35f27debad858ede Mon Sep 17 00:00:00 2001 From: Ronen Date: Tue, 1 Oct 2024 10:50:48 -0400 Subject: [PATCH] chore: Add newsletter signup to bottom banner (SCE-29) (#1116) --- .infra/rdev/values.yaml | 2 +- client/__tests__/e2e/e2e.test.ts | 24 +++ client/index.html | 5 + client/index_template.html | 5 + client/src/analytics/events.ts | 6 + client/src/assets.d.ts | 4 + client/src/assets/img/CellxGene.svg | 10 ++ client/src/components/App/App.tsx | 3 +- .../components/BottomBanner/BottomBanner.tsx | 76 ++++++--- .../NewsletterSignup/NewsletterSignup.tsx | 116 ++++++++++++++ .../components/NewsletterSignup/style.ts | 98 ++++++++++++ client/src/components/BottomBanner/connect.ts | 151 ++++++++++++++++++ .../src/components/BottomBanner/constants.ts | 12 +- client/src/components/BottomBanner/style.ts | 4 + client/src/global.d.ts | 31 +++- client/tsconfig.json | 2 +- 16 files changed, 515 insertions(+), 34 deletions(-) create mode 100644 client/src/assets.d.ts create mode 100644 client/src/assets/img/CellxGene.svg create mode 100644 client/src/components/BottomBanner/components/NewsletterSignup/NewsletterSignup.tsx create mode 100644 client/src/components/BottomBanner/components/NewsletterSignup/style.ts create mode 100644 client/src/components/BottomBanner/connect.ts diff --git a/.infra/rdev/values.yaml b/.infra/rdev/values.yaml index 80790175b..cff23d0c0 100644 --- a/.infra/rdev/values.yaml +++ b/.infra/rdev/values.yaml @@ -2,7 +2,7 @@ stack: services: explorer: image: - tag: sha-a694292f + tag: sha-e352565b replicaCount: 1 env: # env vars common to all deployment stages diff --git a/client/__tests__/e2e/e2e.test.ts b/client/__tests__/e2e/e2e.test.ts index 9a2472ab6..e62ec69c0 100644 --- a/client/__tests__/e2e/e2e.test.ts +++ b/client/__tests__/e2e/e2e.test.ts @@ -236,6 +236,30 @@ for (const testDataset of testDatasets) { testInfo ); }); + + test("newsletter signup modal opens and closes", async ({ page }) => { + await goToPage(page, url); + + await page.getByTestId("newsletter-modal-open-button").click(); + + await expect( + page.getByTestId("newsletter-modal-content") + ).toBeVisible(); + + await page.getByTestId("newsletter-email-input").fill("test"); + + await page.getByTestId("newsletter-subscribe-button").click(); + + await expect( + page.getByText("Please provide a valid email address.") + ).toBeVisible(); + + await page.getByTestId("newsletter-modal-close-button").click(); + + await expect( + page.getByTestId("newsletter-modal-content") + ).not.toBeVisible(); + }); }); test("resize graph", async ({ page }, testInfo) => { diff --git a/client/index.html b/client/index.html index 7ffe01a57..9d344561c 100644 --- a/client/index.html +++ b/client/index.html @@ -87,5 +87,10 @@ data-template="<%= OBSOLETE_TEMPLATE %>" data-regex="<%= OBSOLETE_REGEX %>" > + + diff --git a/client/index_template.html b/client/index_template.html index c8ecd4d94..2dab3ffb1 100644 --- a/client/index_template.html +++ b/client/index_template.html @@ -85,6 +85,11 @@ data-template="<%= OBSOLETE_TEMPLATE %>" data-regex="<%= OBSOLETE_REGEX %>" > + + {% for script in SCRIPTS -%}