Removed Problems
This commit is contained in:
parent
e08b661cdd
commit
e02e622bb8
5 changed files with 0 additions and 221 deletions
|
@ -20,10 +20,6 @@ regex = "1.11.1"
|
|||
rustyline = { version = "15.0.0", features = ["derive", "rustyline-derive"] }
|
||||
tokio = { version = "1.42.0", features = ["macros", "parking_lot", "rt", "rt-multi-thread"] }
|
||||
|
||||
rand = "0.8.5"
|
||||
|
||||
three-d = "0.18.0"
|
||||
window = "0.5.0"
|
||||
|
||||
[profile.dev]
|
||||
debug-assertions = true
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
import React, { useState } from "react";
|
||||
|
||||
import Editor from "@monaco-editor/react";
|
||||
|
||||
const CodeEditorWindow = ({ onChange, language, code, theme }) => {
|
||||
const [value, setValue] = useState(code || "");
|
||||
|
||||
const handleEditorChange = (value) => {
|
||||
setValue(value);
|
||||
onChange("code", value);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="overlay rounded-md overflow-hidden w-full h-full shadow-4xl">
|
||||
<Editor
|
||||
height="85vh"
|
||||
width={`100%`}
|
||||
language={language || "javascript"}
|
||||
value={value}
|
||||
theme={theme}
|
||||
defaultValue="// some comment"
|
||||
onChange={handleEditorChange}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
export default CodeEditorWindow;
|
|
@ -1,152 +0,0 @@
|
|||
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 (
|
||||
<>
|
||||
<ToastContainer
|
||||
position="top-right"
|
||||
autoClose={2000}
|
||||
hideProgressBar={false}
|
||||
newestOnTop={false}
|
||||
closeOnClick
|
||||
rtl={false}
|
||||
pauseOnFocusLoss
|
||||
draggable
|
||||
pauseOnHover
|
||||
/>
|
||||
<div className="h-4 w-full bg-gradient-to-r from-pink-500 via-red-500 to-yellow-500"></div>
|
||||
<div className="flex flex-row">
|
||||
<div className="px-4 py-2">
|
||||
<LanguagesDropdown onSelectChange={onSelectChange} />
|
||||
</div>
|
||||
<div className="px-4 py-2">
|
||||
<ThemeDropdown handleThemeChange={handleThemeChange} theme={theme} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-row space-x-4 items-start px-4 py-4">
|
||||
<div className="flex flex-col w-full h-full justify-start items-end">
|
||||
<CodeEditorWindow
|
||||
code={code}
|
||||
onChange={onChange}
|
||||
language={language?.value}
|
||||
theme={theme.value}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="right-container flex flex-shrink-0 w-[30%] flex-col">
|
||||
<OutputWindow outputDetails={outputDetails} />
|
||||
<div className="flex flex-col items-end">
|
||||
<CustomInput
|
||||
customInput={customInput}
|
||||
setCustomInput={setCustomInput}
|
||||
/>
|
||||
<button
|
||||
onClick={handleCompile}
|
||||
disabled={!code}
|
||||
className={classnames(
|
||||
"mt-4 border-2 border-black z-10 rounded-md shadow-[5px_5px_0px_0px_rgba(0,0,0)] px-4 py-2 hover:shadow transition duration-200 bg-white flex-shrink-0",
|
||||
!code ? "opacity-50" : ""
|
||||
)}
|
||||
>
|
||||
{processing ? "Processing..." : "Compile and Execute"}
|
||||
</button>
|
||||
</div>
|
||||
{outputDetails && <OutputDetails outputDetails={outputDetails} />}
|
||||
</div>
|
||||
</div>
|
||||
<Footer />
|
||||
</>
|
||||
);
|
||||
};
|
||||
export default Landing;
|
|
@ -1,18 +0,0 @@
|
|||
import React from "react";
|
||||
import Select from "react-select";
|
||||
import { customStyles } from "../constants/customStyles";
|
||||
import { languageOptions } from "../constants/languageOptions";
|
||||
|
||||
const LanguagesDropdown = ({ onSelectChange }) => {
|
||||
return (
|
||||
<Select
|
||||
placeholder={`Filter By Category`}
|
||||
options={languageOptions}
|
||||
styles={customStyles}
|
||||
defaultValue={languageOptions[0]}
|
||||
onChange={(selectedOption) => onSelectChange(selectedOption)}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
export default LanguagesDropdown;
|
|
@ -1,20 +0,0 @@
|
|||
export const languageOptions = [
|
||||
{
|
||||
id: 63,
|
||||
name: "JavaScript (Node.js 12.14.0)",
|
||||
label: "JavaScript (Node.js 12.14.0)",
|
||||
value: "javascript",
|
||||
},
|
||||
{
|
||||
id: 45,
|
||||
name: "Assembly (NASM 2.14.02)",
|
||||
label: "Assembly (NASM 2.14.02)",
|
||||
value: "assembly",
|
||||
},
|
||||
{
|
||||
id: 84,
|
||||
name: "Visual Basic.Net (vbnc 0.0.0.5943)",
|
||||
label: "Visual Basic.Net (vbnc 0.0.0.5943)",
|
||||
value: "vbnet",
|
||||
},
|
||||
];
|
Loading…
Add table
Add a link
Reference in a new issue