reverse-proxy-frontend/src/features/chatbot/components/Wizard.js

92 lines
1.8 KiB
JavaScript
Raw Normal View History

2020-06-06 01:42:11 +03:00
import React from "react";
2020-06-06 03:16:14 +03:00
import PropTypes from "prop-types";
2020-06-06 01:42:11 +03:00
import ChatBot from "react-simple-chatbot";
2020-06-06 02:47:03 +03:00
import { ThemeProvider } from "styled-components";
import { useTheme } from "@material-ui/core/styles";
2020-06-06 01:42:11 +03:00
2020-06-06 03:16:14 +03:00
const Wizard = ({ dismissBot }) => {
2020-06-06 02:47:03 +03:00
const theme = useTheme();
const botTheme = {
background: "#f5f8fb",
fontFamily: "monospace",
headerBgColor: theme.palette.primary.main,
headerFontColor: "#fff",
headerFontSize: "16px",
botBubbleColor: theme.palette.primary.main,
botFontColor: "#fff",
userBubbleColor: "#fff",
userFontColor: "#4a4a4a"
};
2020-06-06 01:42:11 +03:00
const steps = [
{
2020-06-06 02:47:03 +03:00
id: "1",
message: "I'm the wizard.",
trigger: "2"
2020-06-06 01:42:11 +03:00
},
{
2020-06-06 02:47:03 +03:00
id: "2",
message: "I know everything about nothing. What do you want to ask me?",
trigger: "3"
},
{
id: "3",
message: "Please hurry. I don't have time to waste.",
trigger: "4"
},
{
id: "4",
user: true,
trigger: "5"
},
{
id: "5",
2020-06-06 03:16:14 +03:00
message: "I don't have time for that. Ask me something serious.",
trigger: "6"
},
{
id: "6",
user: true,
trigger: "7"
},
{
id: "7",
message:
"I don't think I understand '{previousValue}'. You mean, like, flowers?",
trigger: "8"
},
{
id: "8",
user: true,
trigger: "9"
},
{
id: "9",
message: "I think you're wasting my time. Farewell!",
2020-06-06 01:42:11 +03:00
end: true
}
];
2020-06-06 03:16:14 +03:00
const handleEnd = () => {
setTimeout(dismissBot, 3000);
};
2020-06-06 02:47:03 +03:00
return (
<ThemeProvider theme={botTheme}>
<ChatBot
2020-06-06 03:16:14 +03:00
handleEnd={handleEnd}
2020-06-06 02:47:03 +03:00
steps={steps}
botAvatar="public/icons/wizard.png"
headerTitle="Zirhan"
/>
</ThemeProvider>
);
2020-06-06 01:42:11 +03:00
};
2020-06-06 03:16:14 +03:00
Wizard.propTypes = {
dismissBot: PropTypes.func.isRequired
};
2020-06-06 01:42:11 +03:00
export default Wizard;