aboutsummaryrefslogtreecommitdiff
path: root/src/console
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2021-04-04 16:44:47 +0900
committerShin'ya Ueoka <ueokande@i-beam.org>2021-04-04 17:34:57 +0900
commit2b1079525b86dad45df11e6ad29a89989a6416ab (patch)
tree6bc29a0bce0adc66b6b82d01ecb8eab3e835d8d1 /src/console
parent20faca581a3b832301c9dca3074b0f61ba163d62 (diff)
Separate Message to InfoMessage and ErrorMessage
Diffstat (limited to 'src/console')
-rw-r--r--src/console/components/Console.tsx10
-rw-r--r--src/console/components/ErrorMessage.tsx15
-rw-r--r--src/console/components/InfoMessage.tsx15
-rw-r--r--src/console/components/console/Message.tsx33
4 files changed, 38 insertions, 35 deletions
diff --git a/src/console/components/Console.tsx b/src/console/components/Console.tsx
index fa91336..951b627 100644
--- a/src/console/components/Console.tsx
+++ b/src/console/components/Console.tsx
@@ -1,7 +1,8 @@
import React from "react";
import Input from "./console/Input";
import Completion from "./console/Completion";
-import Message from "./console/Message";
+import InfoMessage from "./InfoMessage";
+import ErrorMessage from "./ErrorMessage";
import * as consoleActions from "../../console/actions/console";
import CommandLineParser, {
InputPhase,
@@ -199,10 +200,15 @@ const Console: React.FC = () => {
</ColorSchemeProvider>
);
case "info":
+ return (
+ <ColorSchemeProvider colorscheme={state.colorscheme}>
+ <InfoMessage>{state.messageText}</InfoMessage>
+ </ColorSchemeProvider>
+ );
case "error":
return (
<ColorSchemeProvider colorscheme={state.colorscheme}>
- <Message mode={state.mode}>{state.messageText}</Message>
+ <ErrorMessage>{state.messageText}</ErrorMessage>
</ColorSchemeProvider>
);
default:
diff --git a/src/console/components/ErrorMessage.tsx b/src/console/components/ErrorMessage.tsx
new file mode 100644
index 0000000..93b049b
--- /dev/null
+++ b/src/console/components/ErrorMessage.tsx
@@ -0,0 +1,15 @@
+import React from "react";
+import { styled } from "./ColorSchemeProvider";
+
+const Wrapper = styled.p`
+ border-top: 1px solid gray;
+ background-color: ${({ theme }) => theme.consoleErrorBackground};
+ color: ${({ theme }) => theme.consoleErrorForeground};
+ font-weight: bold;
+`;
+
+const ErrorMessage: React.FC = ({ children }) => {
+ return <Wrapper role="alert">{children}</Wrapper>;
+};
+
+export default ErrorMessage;
diff --git a/src/console/components/InfoMessage.tsx b/src/console/components/InfoMessage.tsx
new file mode 100644
index 0000000..02ad27d
--- /dev/null
+++ b/src/console/components/InfoMessage.tsx
@@ -0,0 +1,15 @@
+import React from "react";
+import { styled } from "./ColorSchemeProvider";
+
+const Wrapper = styled.p`
+ border-top: 1px solid gray;
+ background-color: ${({ theme }) => theme.consoleInfoBackground};
+ color: ${({ theme }) => theme.consoleInfoForeground};
+ font-weight: normal;
+`;
+
+const InfoMessage: React.FC = ({ children }) => {
+ return <Wrapper role="status">{children}</Wrapper>;
+};
+
+export default InfoMessage;
diff --git a/src/console/components/console/Message.tsx b/src/console/components/console/Message.tsx
deleted file mode 100644
index 8dcdb5a..0000000
--- a/src/console/components/console/Message.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import React from "react";
-import { styled } from "../ColorSchemeProvider";
-
-const Error = styled.p`
- border-top: 1px solid gray;
- background-color: ${({ theme }) => theme.consoleErrorBackground};
- color: ${({ theme }) => theme.consoleErrorForeground};
- font-weight: bold;
-`;
-
-const Info = styled.p`
- border-top: 1px solid gray;
- background-color: ${({ theme }) => theme.consoleInfoBackground};
- color: ${({ theme }) => theme.consoleInfoForeground};
- font-weight: normal;
-`;
-
-interface Props {
- mode: string;
- children: string;
-}
-
-const Message: React.FC<Props> = ({ mode, children }) => {
- switch (mode) {
- case "error":
- return <Error role="alert">{children}</Error>;
- case "info":
- return <Info role="status">{children}</Info>;
- }
- return null;
-};
-
-export default Message;