statement

This commit is contained in:
Виталий Лавшонок
2025-11-02 15:33:10 +03:00
parent 59f89d5113
commit 235b2c16bd
11 changed files with 364 additions and 499 deletions

View File

@@ -1,4 +1,4 @@
import React, { useState } from "react";
import React, { useEffect, useState } from "react";
import Editor from "@monaco-editor/react";
import { upload } from "../../../assets/icons/input";
import { cn } from "../../../lib/cn";
@@ -14,7 +14,12 @@ const languageMap: Record<string, string> = {
csharp: "csharp"
};
const CodeEditor: React.FC = () => {
export interface CodeEditorProps {
onChange: (value: string) => void;
onChangeLanguage: (value: string) => void;
}
const CodeEditor: React.FC<CodeEditorProps> = ({onChange, onChangeLanguage}) => {
const [language, setLanguage] = useState<string>("cpp");
const [code, setCode] = useState<string>("");
const [isDragging, setIsDragging] = useState<boolean>(false);
@@ -30,6 +35,13 @@ const CodeEditor: React.FC = () => {
{ value: "csharp", text: "C#" },
];
useEffect(() => {
onChange(code);
}, [code])
useEffect(() => {
onChangeLanguage(language);
}, [language])
const handleFileUpload = (e: React.ChangeEvent<HTMLInputElement>) => {
const file = e.target.files?.[0];
if (!file) return;