diff options
author | crupest <crupest@outlook.com> | 2023-08-30 00:34:47 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2023-08-30 00:34:47 +0800 |
commit | 5c624ecb5c7e33039d9f14dbce099e4874efb23b (patch) | |
tree | c6d92dd30aaf210a293f13dff4d4424832442f7f /FrontEnd | |
parent | d65dcebc3ed64c96c70f0ee7f228b4dfe79b28a1 (diff) | |
download | timeline-5c624ecb5c7e33039d9f14dbce099e4874efb23b.tar.gz timeline-5c624ecb5c7e33039d9f14dbce099e4874efb23b.tar.bz2 timeline-5c624ecb5c7e33039d9f14dbce099e4874efb23b.zip |
...
Diffstat (limited to 'FrontEnd')
-rw-r--r-- | FrontEnd/src/components/dialog/ConfirmDialog.tsx | 5 | ||||
-rw-r--r-- | FrontEnd/src/components/dialog/Dialog.css | 24 | ||||
-rw-r--r-- | FrontEnd/src/components/dialog/Dialog.tsx | 9 | ||||
-rw-r--r-- | FrontEnd/src/components/dialog/DialogContainer.css | 3 | ||||
-rw-r--r-- | FrontEnd/src/components/dialog/DialogContainer.tsx | 2 | ||||
-rw-r--r-- | FrontEnd/src/components/dialog/OperationDialog.css | 4 | ||||
-rw-r--r-- | FrontEnd/src/components/dialog/OperationDialog.tsx | 2 | ||||
-rw-r--r-- | FrontEnd/src/components/theme.css | 16 |
8 files changed, 31 insertions, 34 deletions
diff --git a/FrontEnd/src/components/dialog/ConfirmDialog.tsx b/FrontEnd/src/components/dialog/ConfirmDialog.tsx index a7b3917f..97cad452 100644 --- a/FrontEnd/src/components/dialog/ConfirmDialog.tsx +++ b/FrontEnd/src/components/dialog/ConfirmDialog.tsx @@ -9,7 +9,6 @@ export default function ConfirmDialog({ title, body, color, - bodyColor, }: { onConfirm: () => void; title: Text; @@ -22,7 +21,7 @@ export default function ConfirmDialog({ const closeDialog = useCloseDialog(); return ( - <Dialog> + <Dialog color={color ?? "danger"}> <DialogContainer title={title} titleColor={color ?? "danger"} @@ -51,7 +50,7 @@ export default function ConfirmDialog({ }, ]} > - <div className={`cru-${bodyColor ?? "primary"}`}>{c(body)}</div> + <div>{c(body)}</div> </DialogContainer> </Dialog> ); diff --git a/FrontEnd/src/components/dialog/Dialog.css b/FrontEnd/src/components/dialog/Dialog.css index f25309ae..e4f52a92 100644 --- a/FrontEnd/src/components/dialog/Dialog.css +++ b/FrontEnd/src/components/dialog/Dialog.css @@ -27,34 +27,14 @@ margin: 2em auto;
- border: var(--cru-dialog-container-background-color) 1px solid;
+ border: var(--cru-theme-color) 2px solid;
border-radius: 5px;
padding: 1.5em;
- background-color: var(--cru-surface-color);
+ background-color: var(--cru-dialog-container-background-color);
}
@media (min-width: 576px) {
.cru-dialog-container {
max-width: 800px;
}
-}
-
-.cru-dialog-enter .cru-dialog-container {
- transform: scale(0, 0);
- opacity: 0;
- transform-origin: center;
-}
-
-.cru-dialog-enter-active .cru-dialog-container {
- transform: scale(1, 1);
- opacity: 1;
- transition: transform 0.3s, opacity 0.3s;
- transform-origin: center;
-}
-
-.cru-dialog-exit-active .cru-dialog-container {
- transition: transform 0.3s, opacity 0.3s;
- transform: scale(0, 0);
- opacity: 0;
- transform-origin: center;
}
\ No newline at end of file diff --git a/FrontEnd/src/components/dialog/Dialog.tsx b/FrontEnd/src/components/dialog/Dialog.tsx index bdba9198..85e8ca46 100644 --- a/FrontEnd/src/components/dialog/Dialog.tsx +++ b/FrontEnd/src/components/dialog/Dialog.tsx @@ -15,11 +15,13 @@ if (optionalPortalElement == null) { const portalElement = optionalPortalElement; interface DialogProps { + color?: ThemeColor; children?: ReactNode; disableCloseOnClickOnOverlay?: boolean; } export default function Dialog({ + color, children, disableCloseOnClickOnOverlay, }: DialogProps) { @@ -28,7 +30,12 @@ export default function Dialog({ const lastPointerDownIdRef = useRef<number | null>(null); return ReactDOM.createPortal( - <div className={classNames("cru-dialog-overlay")}> + <div + className={classNames( + `cru-theme-${color ?? "primary"}`, + "cru-dialog-overlay", + )} + > <div className="cru-dialog-background" onPointerDown={(e) => { diff --git a/FrontEnd/src/components/dialog/DialogContainer.css b/FrontEnd/src/components/dialog/DialogContainer.css index fbb18e0d..b3c52511 100644 --- a/FrontEnd/src/components/dialog/DialogContainer.css +++ b/FrontEnd/src/components/dialog/DialogContainer.css @@ -1,11 +1,10 @@ .cru-dialog-container-title { font-size: 1.2em; font-weight: bold; - color: var(--cru-key-color); + color: var(--cru-theme-color); margin-bottom: 0.5em; } - .cru-dialog-container-hr { margin: 1em 0; } diff --git a/FrontEnd/src/components/dialog/DialogContainer.tsx b/FrontEnd/src/components/dialog/DialogContainer.tsx index afee2669..6ee4e134 100644 --- a/FrontEnd/src/components/dialog/DialogContainer.tsx +++ b/FrontEnd/src/components/dialog/DialogContainer.tsx @@ -52,7 +52,7 @@ export default function DialogContainer(props: DialogContainerProps) { <div ref={titleRef} className={classNames( - `cru-dialog-container-title cru-${titleColor ?? "primary"}`, + `cru-dialog-container-title cru-theme-${titleColor ?? "primary"}`, titleClassName, )} > diff --git a/FrontEnd/src/components/dialog/OperationDialog.css b/FrontEnd/src/components/dialog/OperationDialog.css index f4b7237e..28f73c9d 100644 --- a/FrontEnd/src/components/dialog/OperationDialog.css +++ b/FrontEnd/src/components/dialog/OperationDialog.css @@ -1,7 +1,3 @@ -.cru-operation-dialog-prompt {
- color: var(--cru-surface-on-color);
-}
-
.cru-operation-dialog-input-group {
display: block;
margin: 0.5em 0;
diff --git a/FrontEnd/src/components/dialog/OperationDialog.tsx b/FrontEnd/src/components/dialog/OperationDialog.tsx index 902d60c6..4b4ceb36 100644 --- a/FrontEnd/src/components/dialog/OperationDialog.tsx +++ b/FrontEnd/src/components/dialog/OperationDialog.tsx @@ -217,7 +217,7 @@ function OperationDialog<TData>(props: OperationDialogProps<TData>) { } return ( - <Dialog> + <Dialog color={color}> <DialogContainer title={title} titleColor={color} buttons={buttons}> {body} </DialogContainer> diff --git a/FrontEnd/src/components/theme.css b/FrontEnd/src/components/theme.css index d7e30d1a..67340b6f 100644 --- a/FrontEnd/src/components/theme.css +++ b/FrontEnd/src/components/theme.css @@ -14,6 +14,22 @@ --cru-danger-color: hsl(0 100% 50%); } +.cru-theme-primary { + --cru-theme-color: var(--cru-primary-color); +} + +.cru-theme-secondary { + --cru-theme-color: var(--cru-secondary-color); +} + +.cru-theme-create { + --cru-theme-color: var(--cru-create-color); +} + +.cru-theme-danger { + --cru-theme-color: var(--cru-danger-color); +} + /* common colors */ :root { --cru-background-color: hsl(0 0% 100%); |