Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

410 dialog reset #429

Merged
merged 10 commits into from
Dec 28, 2024
1 change: 0 additions & 1 deletion backend/src/test/unit/controllers/popup.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,6 @@ describe("Test popup controller", () => {
await popupController.editPopup(req, res);
const status = res.status.getCall(0).args[0];
const body = res.json.getCall(0).args[0];
console.log(body)
expect(status).to.be.equal(500);
expect(body).to.be.deep.equal({
error: "Internal Server Error",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ const HintLeftContent = ({ actionButtonText, setActionButtonText, actionButtonUr
Action
</h2>
<DropdownList
actions={["No action", "Open a URL", "Open a URL in a new tab"]}
actions={["No action", "Open URL", "Open URL in a new tab"]}
onActionChange={handleActionChange}
selectedActionString={action.toLowerCase()}
/>
Expand Down
5 changes: 3 additions & 2 deletions frontend/src/components/RichTextEditor/RichTextEditor.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ const RichTextEditor = ({
setHeader,
setContent,
content,
resetState = () => {},
}) => {
const [mode, setMode] = useState("editor");

Expand All @@ -44,8 +45,7 @@ const RichTextEditor = ({
setContent(editor.getHTML());
},
onDestroy: () => {
setContent("");
setHeader("");
resetState();
},
});

Expand Down Expand Up @@ -98,6 +98,7 @@ RichTextEditor.propTypes = {
setHeader: PropTypes.func,
setContent: PropTypes.func,
content: PropTypes.string,
resetState: PropTypes.func,
};

export default RichTextEditor;
74 changes: 40 additions & 34 deletions frontend/src/scenes/banner/BannerDefaultPage.jsx
Original file line number Diff line number Diff line change
@@ -1,41 +1,47 @@
import React, { useState } from 'react';
import {useLocation} from "react-router-dom"
import DefaultPageTemplate from '../../templates/DefaultPageTemplate/DefaultPageTemplate';
import { getBanners, deleteBanner } from '../../services/bannerServices';
import { ACTIVITY_TYPES_INFO } from '../../data/guideMainPageData';
import BannerPage from './CreateBannerPage';
import React, { useState } from "react";
import { useLocation } from "react-router-dom";
import { ACTIVITY_TYPES_INFO } from "../../data/guideMainPageData";
import { deleteBanner, getBanners } from "../../services/bannerServices";
import DefaultPageTemplate from "../../templates/DefaultPageTemplate/DefaultPageTemplate";
import { useDialog } from "../../templates/GuideTemplate/GuideTemplateContext";
import BannerPage from "./CreateBannerPage";

const BannerDefaultPage = () => {
const [itemsUpdated, setItemsUpdated] = useState(false);
const [isEdit, setIsEdit] = useState(false);
const [itemId, setItemId] = useState(null);
const locationData = useLocation()
const [itemsUpdated, setItemsUpdated] = useState(false);
const [isEdit, setIsEdit] = useState(false);
const [itemId, setItemId] = useState(null);
const locationData = useLocation();

const getBannerDetails = (banner) => ({
title: `Banner ${banner.id}`,
text: banner.bannerText,
});
const { isOpen } = useDialog();

return (
<>
<DefaultPageTemplate
getItems={getBanners}
deleteItem={deleteBanner}
setIsEdit={setIsEdit}
setItemId={setItemId}
itemType={ACTIVITY_TYPES_INFO.BANNERS}
itemTypeInfo={ACTIVITY_TYPES_INFO.BANNERS}
getItemDetails={getBannerDetails}
itemsUpdated={itemsUpdated}
/>
<BannerPage
autoOpen= {locationData.state?.autoOpen}
isEdit={isEdit}
itemId={itemId}
setItemsUpdated={setItemsUpdated}
/>
</>
);
const getBannerDetails = (banner) => ({
title: `Banner ${banner.id}`,
text: banner.bannerText,
});

return (
<>
<DefaultPageTemplate
getItems={getBanners}
deleteItem={deleteBanner}
setIsEdit={setIsEdit}
setItemId={setItemId}
itemType={ACTIVITY_TYPES_INFO.BANNERS}
itemTypeInfo={ACTIVITY_TYPES_INFO.BANNERS}
getItemDetails={getBannerDetails}
itemsUpdated={itemsUpdated}
/>
{isOpen && (
<BannerPage
autoOpen={locationData.state?.autoOpen}
isEdit={isEdit}
itemId={itemId}
setItemsUpdated={setItemsUpdated}
setIsEdit={setIsEdit}
/>
)}
</>
);
};

export default BannerDefaultPage;
5 changes: 2 additions & 3 deletions frontend/src/scenes/banner/CreateBannerPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import BannerLeftContent from "./BannerPageComponents/BannerLeftContent/BannerLe
import BannerPreview from "./BannerPageComponents/BannerPreview/BannerPreview";
import { useDialog } from "../../templates/GuideTemplate/GuideTemplateContext";

const BannerPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated }) => {
const BannerPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated, setIsEdit }) => {
const [backgroundColor, setBackgroundColor] = useState("#F9F5FF");
const [fontColor, setFontColor] = useState("#344054");
const [activeButton, setActiveButton] = useState(0);
Expand Down Expand Up @@ -46,8 +46,6 @@ const BannerPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated }) => {
setActionUrl(bannerData.actionUrl || "");
setButtonAction(bannerData.closeButtonAction || "No action");
setIsTopPosition(bannerData.position === "top");

console.log("Get banner successful:", bannerData);
} catch (error) {
emitToastError(error);
}
Expand Down Expand Up @@ -88,6 +86,7 @@ const BannerPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated }) => {
activeButton={activeButton}
handleButtonClick={handleButtonClick}
onSave={onSave}
setIsEdit={setIsEdit}
rightContent={() => (
<BannerPreview
backgroundColor={backgroundColor}
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/scenes/hints/CreateHintPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import toastEmitter, { TOAST_EMITTER_KEY } from "../../utils/toastEmitter";
import { emitToastError } from "../../utils/guideHelper";
import { useDialog } from "../../templates/GuideTemplate/GuideTemplateContext";

const HintPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated }) => {
const HintPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated, setIsEdit }) => {
const { openDialog, closeDialog } = useDialog();

const [activeButton, setActiveButton] = useState(0);
Expand Down Expand Up @@ -125,6 +125,7 @@ const HintPage = ({ autoOpen = false, isEdit, itemId, setItemsUpdated }) => {
activeButton={activeButton}
handleButtonClick={handleButtonClick}
onSave={onSave}
setIsEdit={setIsEdit}
rightContent={() => (
<RichTextEditor
sx={{
Expand Down
1 change: 1 addition & 0 deletions frontend/src/scenes/hints/HintDefaultPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ const HintDefaultPage = () => {
isEdit={isEdit}
itemId={itemId}
setItemsUpdated={setItemsUpdated}
setIsEdit={setIsEdit}
/>
</>
);
Expand Down
16 changes: 11 additions & 5 deletions frontend/src/scenes/links/LinksDefaultPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { ACTIVITY_TYPES_INFO } from "../../data/guideMainPageData";
import { deleteHelper, getHelpers } from "../../services/helperLinkService";
import HelperLinkProvider from "../../services/linksProvider";
import DefaultPageTemplate from "../../templates/DefaultPageTemplate/DefaultPageTemplate";
import { useDialog } from "../../templates/GuideTemplate/GuideTemplateContext";
import styles from "./LinkPage.module.scss";
import NewLinksPopup from "./NewLinksPopup";

Expand All @@ -11,6 +12,8 @@ const LinksDefaultPage = () => {
const [isEdit, setIsEdit] = useState(false);
const [itemId, setItemId] = useState(null);

const { isOpen } = useDialog();

const getItemDetails = (helper) => ({
title: helper.title,
headerBackgroundColor: helper.headerBackgroundColor,
Expand All @@ -21,11 +24,14 @@ const LinksDefaultPage = () => {
return (
<HelperLinkProvider>
<div className={styles.container}>
<NewLinksPopup
isEdit={isEdit}
itemId={itemId}
setItemsUpdated={setItemsUpdated}
/>
{isOpen && (
<NewLinksPopup
isEdit={isEdit}
itemId={itemId}
setItemsUpdated={setItemsUpdated}
setIsEdit={setIsEdit}
/>
)}
<DefaultPageTemplate
getItems={getHelpers}
deleteItem={deleteHelper}
Expand Down
2 changes: 2 additions & 0 deletions frontend/src/scenes/links/NewLinksPopup.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ const NewLinksPopup = ({
isEdit,
itemId,
setItemsUpdated,
setIsEdit,
}) => {
const [activeBtn, setActiveBtn] = useState(0);
const {
Expand Down Expand Up @@ -160,6 +161,7 @@ const NewLinksPopup = ({
leftContent={leftContent}
leftAppearance={leftAppearance}
onSave={handleSaveHelper}
setIsEdit={setIsEdit}
/>
</div>
);
Expand Down
Loading
Loading