Skip to content

Commit 0d035af

Browse files
authored
feat(campaign-interaction-steps): add save button to top of section (#1610)
* feat(campaign-interaction-steps): add save button to top of section
1 parent 94fc8fa commit 0d035af

File tree

1 file changed

+18
-4
lines changed
  • src/containers/AdminCampaignEdit/sections/CampaignInteractionStepsForm

1 file changed

+18
-4
lines changed

src/containers/AdminCampaignEdit/sections/CampaignInteractionStepsForm/index.tsx

+18-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import type { ApolloQueryResult } from "@apollo/client";
22
import { gql } from "@apollo/client";
3-
import Box from "@material-ui/core/Box";
43
import Button from "@material-ui/core/Button";
54
import Dialog from "@material-ui/core/Dialog";
65
import DialogActions from "@material-ui/core/DialogActions";
76
import DialogContent from "@material-ui/core/DialogContent";
87
import DialogContentText from "@material-ui/core/DialogContentText";
8+
import Grid from "@material-ui/core/Grid";
99
import type { CampaignVariablePage } from "@spoke/spoke-codegen";
1010
import produce from "immer";
1111
import isEqual from "lodash/isEqual";
@@ -321,6 +321,7 @@ const CampaignInteractionStepsForm: React.FC<InnerProps> = (props) => {
321321
const isSaveDisabled =
322322
isWorking || hasEmptyScripts || (!isNew && !hasPendingChanges);
323323
const finalSaveLabel = isWorking ? "Working..." : saveLabel;
324+
const upperSaveLabel = isWorking ? "Working..." : "Save";
324325

325326
const tree = makeTree(interactionSteps);
326327
const finalFree: InteractionStepWithChildren = isEqual(tree, {
@@ -389,9 +390,22 @@ const CampaignInteractionStepsForm: React.FC<InnerProps> = (props) => {
389390
title="What do you want to discuss?"
390391
subtitle="You can add scripts and questions and your texters can indicate responses from your contacts. For example, you might want to collect RSVPs to an event or find out whether to follow up about a different volunteer activity."
391392
/>
392-
<Box m={2}>
393-
<ScriptPreviewButton campaignId={campaignId} />
394-
</Box>
393+
<Grid container style={{ padding: "8px" }} justifyContent="space-between">
394+
<Grid item xs={4}>
395+
<ScriptPreviewButton campaignId={campaignId} />
396+
</Grid>
397+
<Grid item xs={1}>
398+
<Button
399+
{...dataTest("interactionSubmit", true)}
400+
variant="contained"
401+
color="primary"
402+
disabled={isSaveDisabled}
403+
onClick={handleSave}
404+
>
405+
{upperSaveLabel}
406+
</Button>
407+
</Grid>
408+
</Grid>
395409
{renderInvalidScriptFields()}
396410
<InteractionStepCard
397411
interactionStep={finalFree}

0 commit comments

Comments
 (0)