Skip to content

Commit 683f513

Browse files
committed
bug fix on popup in employer page
1 parent 65cd127 commit 683f513

File tree

5 files changed

+41
-26
lines changed

5 files changed

+41
-26
lines changed

webclient/src/domain/repository/JobRepo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ export async function insertJobPost(
231231
const result: OutputId = await response.json();
232232
return result;
233233
}
234-
throw new Error("Failed to update job");
234+
throw new Error(await response.text());
235235
}
236236

237237
export async function updateJobPost(

webclient/src/presentation/components/Modal.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ interface ModalProps {
66
toggleOpen: () => void;
77
children: ReactNode;
88
overlayClickClose?: boolean;
9+
/// note: do not override display attribute as it causes a white box to always show
910
style?: CSSProperties;
1011
}
1112

@@ -23,8 +24,10 @@ export default function Modal({
2324
if (!dialogElement) return;
2425

2526
if (isOpen) {
27+
console.log("showModal");
2628
dialogElement.showModal();
2729
} else {
30+
console.log("close modal");
2831
dialogElement.close();
2932
}
3033
}, [isOpen]);

webclient/src/presentation/components/controls/Popup.tsx

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,7 @@ interface PopupProps {
99

1010
export function Popup({ children, toggleOpen, isOpen }: PopupProps) {
1111
return (
12-
<Modal
13-
isOpen={isOpen}
14-
toggleOpen={toggleOpen}
15-
overlayClickClose={true}
16-
style={{
17-
display: "flex",
18-
flexDirection: "column",
19-
justifyContent: "center",
20-
height: "50px",
21-
}}
22-
>
12+
<Modal isOpen={isOpen} toggleOpen={toggleOpen} overlayClickClose={true}>
2313
{children}
2414
</Modal>
2515
);

webclient/src/presentation/components/jobs/JobFullview.tsx

Lines changed: 34 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,10 @@ export default function JobFullview({ userType }: JobFullviewProps) {
236236
const [validationMessage, setValidationMessage] = useState("");
237237
const [successMessage, setSuccessMessage] = useState("");
238238

239+
useEffect(() => {
240+
console.log("popup state", isPopupOpen);
241+
}, []);
242+
239243
useEffect(() => {
240244
let currentJobPost: JobPost | undefined = undefined;
241245
if (routeJobPost) {
@@ -707,15 +711,24 @@ export default function JobFullview({ userType }: JobFullviewProps) {
707711
} else {
708712
await updateJobPost(formValues.current, profile.accessToken);
709713
}
710-
} catch (e) {
711-
console.log(e);
712-
} finally {
714+
713715
const state = refreshUrlState();
714716
navigate(".", { state, replace: true });
715-
setSubmitDisabled(false);
716-
setInTextEditMode(false);
717+
717718
setValidationMessage("");
718719
setSuccessMessage("Job saved successfully");
720+
} catch (e) {
721+
console.log(e);
722+
if (e instanceof Error) {
723+
setValidationMessage(e.message);
724+
setSuccessMessage("");
725+
} else {
726+
setValidationMessage("Failed to save job");
727+
setSuccessMessage("");
728+
}
729+
} finally {
730+
setInTextEditMode(false);
731+
setSubmitDisabled(false);
719732
toggleIsPopupOpen();
720733
}
721734
};
@@ -772,7 +785,7 @@ export default function JobFullview({ userType }: JobFullviewProps) {
772785
setSuccessMessage("");
773786
result = false;
774787
}
775-
console.log("result", result);
788+
console.log("validation result", result);
776789
return result;
777790
};
778791

@@ -794,12 +807,21 @@ export default function JobFullview({ userType }: JobFullviewProps) {
794807
return (
795808
<>
796809
<Popup isOpen={isPopupOpen} toggleOpen={toggleIsPopupOpen}>
797-
<div className="popup-container">
798-
<ValidationMsgView
799-
validationMessage={validationMessage}
800-
successMessage={successMessage}
801-
/>
802-
</div>
810+
{isPopupOpen ? (
811+
<div
812+
style={{
813+
display: "flex",
814+
flexDirection: "column",
815+
justifyContent: "center",
816+
height: "50px",
817+
}}
818+
>
819+
<ValidationMsgView
820+
validationMessage={validationMessage}
821+
successMessage={successMessage}
822+
/>
823+
</div>
824+
) : null}
803825
</Popup>
804826
<form
805827
className="userhome-main"

webclient/src/presentation/theme/modal.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@
2929
height: 120px;
3030
}
3131

32-
dialog::backdrop {
33-
background: rgb(0 0 0 / 0.2);
32+
dialog[open] {
33+
display: block; /* Show when open */
3434
}

0 commit comments

Comments
 (0)