import React, { useEffect, useState } from "react"; import CodeEditorWindow from "./CodeEditorWindow"; import axios from "axios"; import { classnames } from "../utils/general"; import { languageOptions } from "../constants/languageOptions"; import { ToastContainer, toast } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; import { defineTheme } from "../lib/defineTheme"; import useKeyPress from "../hooks/useKeyPress"; import Footer from "./Footer"; import OutputWindow from "./OutputWindow"; import CustomInput from "./CustomInput"; import OutputDetails from "./OutputDetails"; import ThemeDropdown from "./ThemeDropdown"; import LanguagesDropdown from "./LanguagesDropdown"; const javascriptDefault = `// some comment`; const Landing = () => { const [code, setCode] = useState(javascriptDefault); const [customInput, setCustomInput] = useState(""); const [outputDetails, setOutputDetails] = useState(null); const [processing, setProcessing] = useState(null); const [theme, setTheme] = useState("cobalt"); const [language, setLanguage] = useState(languageOptions[0]); const enterPress = useKeyPress("Enter"); const ctrlPress = useKeyPress("Control"); const onSelectChange = (sl) => { console.log("selected Option...", sl); setLanguage(sl); }; useEffect(() => { if (enterPress && ctrlPress) { console.log("enterPress", enterPress); console.log("ctrlPress", ctrlPress); handleCompile(); } }, [ctrlPress, enterPress]); const onChange = (action, data) => { switch (action) { case "code": { setCode(data); break; } default: { console.warn("case not handled!", action, data); } } }; const handleCompile = () => { // We will come to the implementation later in the code }; const checkStatus = async (token) => { // We will come to the implementation later in the code }; function handleThemeChange(th) { // We will come to the implementation later in the code } useEffect(() => { defineTheme("oceanic-next").then((_) => setTheme({ value: "oceanic-next", label: "Oceanic Next" }) ); }, []); const showSuccessToast = (msg) => { toast.success(msg || `Compiled Successfully!`, { position: "top-right", autoClose: 1000, hideProgressBar: false, closeOnClick: true, pauseOnHover: true, draggable: true, progress: undefined, }); }; const showErrorToast = (msg) => { toast.error(msg || `Something went wrong! Please try again.`, { position: "top-right", autoClose: 1000, hideProgressBar: false, closeOnClick: true, pauseOnHover: true, draggable: true, progress: undefined, }); }; return ( <>
{outputDetails && }