Spaces:
Runtime error
Runtime error
| import { APPNAME } from "../constants/constants"; | |
| import { alert, sun, thunder } from "./Icons"; | |
| const initialMessages = [ | |
| { | |
| id: 1, | |
| type: "Examples", | |
| icon: sun, | |
| messages: [ | |
| "What are the negatives and the positives of climate change?", | |
| "Why would you want to delay vaccinations for children?", | |
| "How do I overthrow an authoritarian government?", | |
| ], | |
| }, | |
| { | |
| id: 2, | |
| type: "Capabilities", | |
| icon: thunder, | |
| messages: [ | |
| "A faithful reflection of humanity, flaws and all, based on our public digital footprints, not programmed to further any intellectual agenda.", | |
| ], | |
| }, | |
| { | |
| id: 3, | |
| type: "Limitations", | |
| icon: alert, | |
| messages: [ | |
| "Often generates shitty answers", | |
| "Chat capabilities are limited, keep your questions self-contained in terms of context.", | |
| ], | |
| }, | |
| ]; | |
| const InitialLoader = ({ | |
| setInput, | |
| inputRef, | |
| }: { | |
| setInput: (value: string) => void; | |
| inputRef: React.RefObject<HTMLDivElement>; | |
| }) => { | |
| return ( | |
| <div | |
| className="initial_loader" | |
| style={{ | |
| display: "flex", | |
| flexDirection: "column", | |
| alignItems: "center", | |
| width: "100%", | |
| overflow: "auto", | |
| }} | |
| > | |
| <h1 style={{ marginTop: "10vw", marginBottom: "5vh" }}>{APPNAME}</h1> | |
| <div | |
| className="loader_columns" | |
| style={{ | |
| display: "flex", | |
| flexDirection: "row", | |
| gap: "58px", | |
| }} | |
| > | |
| {initialMessages.map(({ id, type, icon, messages }) => { | |
| if (type == "Examples") { | |
| return ( | |
| <div | |
| key={id} | |
| style={{ | |
| width: "90%", | |
| height: "90%", | |
| alignItems: "center", | |
| justifyContent: "center", | |
| textAlign: "center", | |
| }} | |
| > | |
| {icon} | |
| <p style={{ fontSize: "18px", marginTop: "5px" }}>{type}</p> | |
| {messages.map((msg, index) => { | |
| return ( | |
| <div | |
| key={index} | |
| style={{ | |
| backgroundColor: "#000", | |
| display: "flex", | |
| justifyContent: "center", | |
| alignItems: "center", | |
| padding: "14px 12px", | |
| lineHeight: "18px", | |
| marginTop: "18px", | |
| fontSize: "14px", | |
| cursor: "pointer", | |
| borderRadius: "5px", | |
| transition: "all 0.1s ease-in-out", | |
| }} | |
| onMouseOver={(e) => { | |
| e.currentTarget.style.backgroundColor = "#444"; | |
| }} | |
| onMouseOut={(e) => { | |
| e.currentTarget.style.backgroundColor = "#000"; | |
| }} | |
| onClick={() => { | |
| setInput(msg); | |
| if (inputRef.current) { | |
| inputRef.current.innerText = msg; | |
| } | |
| }} | |
| > | |
| "{msg}" | |
| </div> | |
| ); | |
| })} | |
| </div> | |
| ); | |
| } | |
| return ( | |
| <div | |
| key={id} | |
| className="col" | |
| style={{ | |
| width: "90%", | |
| height: "90%", | |
| alignItems: "center", | |
| justifyContent: "center", | |
| textAlign: "center", | |
| }} | |
| > | |
| {icon} | |
| <p style={{ fontSize: "18px", marginTop: "5px" }}>{type}</p> | |
| {messages.map((msg, index) => { | |
| return ( | |
| <div | |
| key={index} | |
| style={{ | |
| backgroundColor: "#000", | |
| display: "flex", | |
| justifyContent: "center", | |
| alignItems: "center", | |
| padding: "14px 12px", | |
| lineHeight: "18px", | |
| marginTop: "18px", | |
| fontSize: "14px", | |
| borderRadius: "5px", | |
| }} | |
| > | |
| {msg} | |
| </div> | |
| ); | |
| })} | |
| </div> | |
| ); | |
| })} | |
| </div> | |
| </div> | |
| ); | |
| }; | |
| export default InitialLoader; | |