From 8edda7ae5eeecd3ccf604bde6f95b6eb582caca6 Mon Sep 17 00:00:00 2001 From: Shubham Pawar <82868470+srp-pawar@users.noreply.github.com> Date: Wed, 13 Mar 2024 18:16:56 +0530 Subject: [PATCH] completed End to End Flow for Leads --- .../users/graphql/queries/addCampaign.ts | 1 + .../src/pages/campaigns/CampaignContext.tsx | 6 +- .../src/pages/campaigns/CampaignDate.tsx | 48 +++--- .../src/pages/campaigns/CampaignDetails.tsx | 19 ++- .../twenty-front/src/pages/campaigns/Lead.tsx | 41 +++-- .../src/pages/campaigns/MessagingChannel.tsx | 96 +++++++++--- ...mpaignDate.tsx => PreviewCampaignDate.tsx} | 16 +- .../campaigns/PreviewCampaignDetailsTab.tsx | 13 +- .../campaigns/PreviewMessagingChannel.tsx | 17 +- .../src/pages/campaigns/PreviewPage.tsx | 147 +++++++++--------- .../src/pages/campaigns/PreviewSpecialty.tsx | 8 +- 11 files changed, 245 insertions(+), 167 deletions(-) rename packages/twenty-front/src/pages/campaigns/{StyledPreviewCampaignDate.tsx => PreviewCampaignDate.tsx} (75%) diff --git a/packages/twenty-front/src/modules/users/graphql/queries/addCampaign.ts b/packages/twenty-front/src/modules/users/graphql/queries/addCampaign.ts index 5a0455a0bd8a..49cf2d08a6a0 100644 --- a/packages/twenty-front/src/modules/users/graphql/queries/addCampaign.ts +++ b/packages/twenty-front/src/modules/users/graphql/queries/addCampaign.ts @@ -10,6 +10,7 @@ export const ADD_CAMPAIGN = gql` endDate campaignName specialtyType + leads activityTargets { edges { node { diff --git a/packages/twenty-front/src/pages/campaigns/CampaignContext.tsx b/packages/twenty-front/src/pages/campaigns/CampaignContext.tsx index 92fca57aa377..9a6102e73f39 100644 --- a/packages/twenty-front/src/pages/campaigns/CampaignContext.tsx +++ b/packages/twenty-front/src/pages/campaigns/CampaignContext.tsx @@ -34,6 +34,8 @@ const CampaignContext = () => { specialtyType: '', subSpecialtyType: '', leads: '', + startDate: '', + endDate: '', }); return ( @@ -45,7 +47,7 @@ const CampaignContext = () => { campaignData, setCampaignData, leadData, - setLeadData + setLeadData, }} > @@ -54,4 +56,4 @@ const CampaignContext = () => { ); }; -export default CampaignContext; \ No newline at end of file +export default CampaignContext; diff --git a/packages/twenty-front/src/pages/campaigns/CampaignDate.tsx b/packages/twenty-front/src/pages/campaigns/CampaignDate.tsx index b341e46dcfad..81f5370c9ffd 100644 --- a/packages/twenty-front/src/pages/campaigns/CampaignDate.tsx +++ b/packages/twenty-front/src/pages/campaigns/CampaignDate.tsx @@ -1,14 +1,14 @@ /* eslint-disable no-restricted-imports */ -import { useState } from 'react'; +import React from 'react'; import styled from '@emotion/styled'; import { Section } from '@react-email/components'; import { IconArrowLeft } from '@tabler/icons-react'; import { IconArrowRight } from '@tabler/icons-react'; import { Button } from 'tsup.ui.index'; +import { H2Title } from '@/ui/display/typography/components/H2Title'; import DateTimePicker from '@/ui/input/components/internal/date/components/DateTimePicker'; import { useCampaign } from '~/pages/campaigns/CampaignUseContext'; -import { H2Title } from '@/ui/display/typography/components/H2Title'; const StyledCard = styled.div` border: 1px solid ${({ theme }) => theme.border.color.medium}; @@ -30,18 +30,19 @@ const StyledInputCard = styled.div` display: flex; flex-direction: column; justify-content: center; - height: 70%; - justify-content: space-around; + height: 65%; + justify-content: space-between; width: 70%; align-items: center; `; const StyledTitleCard = styled.div` + /* align-items: center; */ color: ${({ theme }) => theme.font.color.secondary}; display: flex; flex-direction: column; height: 10%; - width: 70%; + width: 100%; justify-content: flex-start; `; @@ -59,25 +60,29 @@ const StyledLabel = styled.span` `; export const CampaignDate = () => { - const { setCurrentStep, currentStep } = useCampaign(); - - const [startDate, setStartDate] = useState(new Date()); - const [endDate, setEndDate] = useState(new Date()); + const { setCurrentStep, currentStep, campaignData, setCampaignData } = + useCampaign(); return ( <> - - - +
+ Start Date setStartDate(startDate)} + value={campaignData?.startDate} + selected={campaignData?.startDate} + onChange={(date) => { + setCampaignData({ + ...campaignData, + startDate: date, + }); + }} minDate={new Date()} showTimeInput /> @@ -85,8 +90,15 @@ export const CampaignDate = () => {
End Date setEndDate(endDate)} - minDate={startDate} + value={campaignData?.endDate} + selected={campaignData?.endDate} + onChange={(date) => { + setCampaignData({ + ...campaignData, + endDate: date, + }); + }} + minDate={campaignData.startDate} showTimeInput />
diff --git a/packages/twenty-front/src/pages/campaigns/CampaignDetails.tsx b/packages/twenty-front/src/pages/campaigns/CampaignDetails.tsx index 86bcb3038188..06f6a0b157c8 100644 --- a/packages/twenty-front/src/pages/campaigns/CampaignDetails.tsx +++ b/packages/twenty-front/src/pages/campaigns/CampaignDetails.tsx @@ -71,7 +71,8 @@ const StyledTitle = styled.h3` `; export const CampaignDetails = () => { - const { setCurrentStep, currentStep } = useCampaign(); + const { setCurrentStep, campaignData, setCampaignData, currentStep } = + useCampaign(); const handleCampaignChange = (_event: Event | undefined): void => { throw new Error('Function not implemented.'); }; @@ -89,10 +90,14 @@ export const CampaignDetails = () => { description="Your Campaign name will be displayed in Campaign List" /> handleCampaignChange(event)} + value={campaignData?.campaignName} + onChange={(e) => + setCampaignData({ + ...campaignData, + campaignName: e, + }) + } name="campaignName" required fullWidth @@ -107,11 +112,13 @@ export const CampaignDetails = () => { />