"use client"; import * as monaco from "monaco-editor"; import { useRef, useState } from "react"; import { Editor } from "@monaco-editor/react"; import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"; import { COriginal, CplusplusOriginal, JavaOriginal } from "devicons-react"; const files: { [key: string]: { name: string; language: string; value: string }; } = { c: { name: "main.c", language: "c", value: `#include int main() { printf("Hello, World!"); return 0; }`, }, cpp: { name: "main.cpp", language: "cpp", value: `#include int main() { std::cout << "Hello, World!"; return 0; }`, }, java: { name: "Main.java", language: "java", value: `public class Main { public static void main(String[] args) { System.out.println("Hello, World!"); } }`, }, }; export default function PlaygroundPage() { const editorRef = useRef(null); const [language, setLanguage] = useState("c"); const file = files[language]; return (
setLanguage("c")} disabled={language === "c"} > setLanguage("cpp")} disabled={language === "cpp"} > setLanguage("java")} disabled={language === "java"} > { editorRef.current = editor; const model = editor.getModel(); if (model) { const lineCount = model.getLineCount(); const lastLineLength = model.getLineLength(lineCount); editor.setPosition({ lineNumber: lineCount, column: lastLineLength + 1, }); editor.focus(); console.log(editor.getModel()?.uri.path); } }} />
); }