Skip to content

Commit e0cc17c

Browse files
authored
Merge pull request #433 from bluewave-labs/fix/#428-changing-target-links
updated dashboard buttons link
2 parents f389418 + 732b403 commit e0cc17c

File tree

7 files changed

+36
-12
lines changed

7 files changed

+36
-12
lines changed

frontend/src/scenes/banner/BannerDefaultPage.jsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, { useState } from 'react';
2+
import {useLocation} from "react-router-dom"
23
import DefaultPageTemplate from '../../templates/DefaultPageTemplate/DefaultPageTemplate';
34
import { getBanners, deleteBanner } from '../../services/bannerServices';
45
import { ACTIVITY_TYPES_INFO } from '../../data/guideMainPageData';
@@ -8,6 +9,7 @@ const BannerDefaultPage = () => {
89
const [itemsUpdated, setItemsUpdated] = useState(false);
910
const [isEdit, setIsEdit] = useState(false);
1011
const [itemId, setItemId] = useState(null);
12+
const locationData = useLocation()
1113

1214
const getBannerDetails = (banner) => ({
1315
title: `Banner ${banner.id}`,
@@ -27,6 +29,7 @@ const BannerDefaultPage = () => {
2729
itemsUpdated={itemsUpdated}
2830
/>
2931
<BannerPage
32+
autoOpen= {locationData.state?.autoOpen}
3033
isEdit={isEdit}
3134
itemId={itemId}
3235
setItemsUpdated={setItemsUpdated}

frontend/src/scenes/banner/CreateBannerPage.jsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import BannerLeftContent from "./BannerPageComponents/BannerLeftContent/BannerLe
1212
import BannerPreview from "./BannerPageComponents/BannerPreview/BannerPreview";
1313
import { useDialog } from "../../templates/GuideTemplate/GuideTemplateContext";
1414

15-
const BannerPage = ({isEdit, itemId, setItemsUpdated}) => {
15+
const BannerPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated }) => {
1616
const [backgroundColor, setBackgroundColor] = useState("#F9F5FF");
1717
const [fontColor, setFontColor] = useState("#344054");
1818
const [activeButton, setActiveButton] = useState(0);
@@ -21,12 +21,17 @@ const BannerPage = ({isEdit, itemId, setItemsUpdated}) => {
2121
const [url, setUrl] = useState("");
2222
const [actionUrl, setActionUrl] = useState("");
2323
const [buttonAction, setButtonAction] = useState("No action");
24-
const { closeDialog } = useDialog();
24+
const { openDialog, closeDialog } = useDialog();
2525

2626
const handleButtonClick = (index) => {
2727
setActiveButton(index);
2828
};
2929

30+
31+
useEffect(() => {
32+
if (autoOpen) openDialog();
33+
}, [autoOpen, openDialog]);
34+
3035
useEffect(() => {
3136
if (isEdit) {
3237
const fetchBannerData = async () => {

frontend/src/scenes/dashboard/Dashboard.jsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,17 @@ const Dashboard = ({ name }) => {
5555
{
5656
skeletonType: <BaseSkeleton guideType="popup" />,
5757
placeholder: "Create a popup",
58-
onClick: () => navigate("/popup/create"),
58+
onClick: () => navigate("/popup", { state: { autoOpen: true } }),
5959
},
6060
{
6161
skeletonType: <BannerSkeleton />,
6262
placeholder: "Create a new banner",
63-
onClick: () => navigate("/banner/create"),
63+
onClick: () => navigate("/banner", { state: { autoOpen: true } }),
6464
},
6565
{
6666
skeletonType: <BaseSkeleton guideType="helperLink" />,
6767
placeholder: "Create a new helper link",
68-
onClick: () => navigate("/hint/create"),
68+
onClick: () => navigate("/hint", { state: { autoOpen: true } }),
6969
},
7070
];
7171

frontend/src/scenes/hints/CreateHintPage.jsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@ import toastEmitter, { TOAST_EMITTER_KEY } from "../../utils/toastEmitter";
1010
import { emitToastError } from "../../utils/guideHelper";
1111
import { useDialog } from "../../templates/GuideTemplate/GuideTemplateContext";
1212

13-
const HintPage = ({ isEdit, itemId, setItemsUpdated }) => {
14-
const { closeDialog } = useDialog();
15-
13+
const HintPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated }) => {
14+
const { openDialog, closeDialog } = useDialog();
1615

1716
const [activeButton, setActiveButton] = useState(0);
1817

@@ -60,6 +59,10 @@ const HintPage = ({ isEdit, itemId, setItemsUpdated }) => {
6059
},
6160
];
6261

62+
useEffect(() => {
63+
if (autoOpen) openDialog();
64+
}, [autoOpen, openDialog]);
65+
6366
useEffect(() => {
6467
if (isEdit) {
6568
const fetchHintData = async () => {

frontend/src/scenes/hints/HintDefaultPage.jsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, { useState } from "react";
2+
import {useLocation} from "react-router-dom"
23
import DefaultPageTemplate from "../../templates/DefaultPageTemplate/DefaultPageTemplate";
34
import CreateHintPage from "./CreateHintPage";
45
import { ACTIVITY_TYPES_INFO } from "../../data/guideMainPageData";
@@ -8,6 +9,7 @@ const HintDefaultPage = () => {
89
const [itemsUpdated, setItemsUpdated] = useState(false);
910
const [isEdit, setIsEdit] = useState(false);
1011
const [itemId, setItemId] = useState(null);
12+
const locationData = useLocation()
1113

1214
const getHintDetails = (hint) => ({
1315
title: `Hint ${hint.id}`,
@@ -27,6 +29,7 @@ const HintDefaultPage = () => {
2729
itemsUpdated={itemsUpdated}
2830
/>
2931
<CreateHintPage
32+
autoOpen={locationData.state?.autoOpen}
3033
isEdit={isEdit}
3134
itemId={itemId}
3235
setItemsUpdated={setItemsUpdated}

frontend/src/scenes/popup/PopupDefaultPage.jsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React, { useState } from 'react';
2+
import {useLocation} from "react-router-dom"
23
import DefaultPageTemplate from '../../templates/DefaultPageTemplate/DefaultPageTemplate';
34
import CreatePopupPage from './CreatePopupPage';
45
import { getPopups, deletePopup } from '../../services/popupServices';
@@ -8,6 +9,7 @@ const PopupDefaultPage = () => {
89
const [itemsUpdated, setItemsUpdated] = useState(false);
910
const [isEdit, setIsEdit] = useState(false);
1011
const [itemId, setItemId] = useState(null);
12+
const locationData = useLocation()
1113

1214
const getPopupDetails = (popup) => ({
1315
title: `Popup ${popup.id}`,
@@ -28,6 +30,7 @@ const PopupDefaultPage = () => {
2830
itemsUpdated={itemsUpdated}
2931
/>
3032
<CreatePopupPage
33+
autoOpen= {locationData.state?.autoOpen}
3134
isEdit={isEdit}
3235
itemId={itemId}
3336
setItemsUpdated={setItemsUpdated}

frontend/src/templates/GuideTemplate/GuideTemplate.jsx

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { React } from "react";
66
import Button from "../../components/Button/Button";
77
import styles from "./GuideTemplate.module.scss";
88
import { useDialog } from "./GuideTemplateContext";
9+
import { useLocation, useNavigate } from "react-router";
910

1011
const GuideTemplate = ({
1112
title = "",
@@ -17,8 +18,16 @@ const GuideTemplate = ({
1718
onSave = () => null,
1819
}) => {
1920
const { isOpen, closeDialog } = useDialog();
21+
const location = useLocation();
22+
const navigate = useNavigate();
2023
const buttons = ["Content", "Appearance"];
2124

25+
const onCloseHandler = () => {
26+
if (location.state?.autoOpen) navigate("/", { state: {} });
27+
28+
closeDialog();
29+
};
30+
2231
return (
2332
<Dialog
2433
closeAfterTransition={isOpen}
@@ -37,7 +46,7 @@ const GuideTemplate = ({
3746
fontSize: "20px",
3847
cursor: "pointer",
3948
}}
40-
onClick={closeDialog}
49+
onClick={onCloseHandler}
4150
/>
4251
</div>
4352
<div className={styles.content}>
@@ -63,9 +72,7 @@ const GuideTemplate = ({
6372
<Button
6473
text="Cancel"
6574
buttonType="secondary-grey"
66-
onClick={() => {
67-
closeDialog();
68-
}}
75+
onClick={onCloseHandler}
6976
/>
7077
<Button text="Save" onClick={onSave} />
7178
</div>

0 commit comments

Comments
 (0)