Skip to content

Commit

Permalink
feat: update Dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
trevor-anderson committed Dec 15, 2022
1 parent e93865a commit 03766c8
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 10 deletions.
34 changes: 25 additions & 9 deletions src/components/Dialog/Dialog.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import React from "react";
import MuiDialog from "@mui/material/Dialog";
import DialogTitle from "@mui/material/DialogTitle";
import DialogContent from "@mui/material/DialogContent";
import DialogContentText from "@mui/material/DialogContentText";
import DialogActions from "@mui/material/DialogActions";
import Button from "@mui/material/Button";
import { styled } from "@mui/material/styles";
import { SlideTransition } from "../Transitions/SlideTransition";
import { Button } from "../Button";
import { bool, string, func, shape, styleType } from "../../types";
import { bool, string, func, shape, styleType } from "@types";

// Docs: https://mui.com/components/dialogs/

Expand Down Expand Up @@ -36,27 +36,43 @@ export const Dialog = ({
<MuiDialog
open={isVisible}
onClose={handleCancel}
aria-labelledby={"dialog-title"}
aria-describedby={"dialog-message"}
aria-labelledby="dialog-title"
aria-describedby="dialog-message"
TransitionComponent={SlideTransition}
style={styles?.container}
fullWidth
>
<DialogTitle id={"dialog-title"} style={styles?.title}>
<DialogTitle id="dialog-title" color="secondary" style={styles?.title}>
{title}
</DialogTitle>
<DialogContent dividers>
<DialogContentText id={"dialog-message"} style={styles?.message}>
<DialogContentText
id="dialog-message"
color="action"
style={{ whiteSpace: "pre-line", ...(styles?.message ?? {}) }}
>
{message}
</DialogContentText>
</DialogContent>
<DialogActions>
{handleCancel && <Button label={cancelLabel} onClick={handleCancel} color={"primary"} />}
<Button label={acceptLabel} onClick={handleAccept} color={"primary"} />
{handleCancel && (
<DialogButton onClick={handleCancel} color="primary">
{cancelLabel}
</DialogButton>
)}
<DialogButton onClick={handleAccept} color="primary">
{acceptLabel}
</DialogButton>
</DialogActions>
</MuiDialog>
);

const DialogButton = styled(Button)(({ theme }) => ({
padding: "0.8rem 0.75rem 0.5rem 0.75rem",
fontWeight: "bold",
letterSpacing: "0.02rem"
}));

Dialog.propTypes = {
isVisible: bool.isRequired,
title: string.isRequired,
Expand Down
7 changes: 6 additions & 1 deletion src/components/Dialog/useDialog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,10 @@ export const useDialog = (initIsVisible = false) => {
const openDialog = () => setIsDialogVisible(true);
const closeDialog = () => setIsDialogVisible(false);

return { Dialog, isDialogVisible, openDialog, closeDialog };
return {
Dialog,
isDialogVisible,
openDialog,
closeDialog
};
};

0 comments on commit 03766c8

Please sign in to comment.