63 lines
2.1 KiB
HTML
63 lines
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Code Editor</title>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.15/codemirror.min.css">
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.15/codemirror.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.15/mode/javascript/javascript.min.js"></script>
|
|
<style>
|
|
.CodeMirror {
|
|
border: 1px solid #eee;
|
|
height: auto;
|
|
}
|
|
.CodeMirror-scroll {
|
|
overflow-y: hidden;
|
|
overflow-x: auto;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>Code Editor</h1>
|
|
<textarea id="codeEditor"></textarea>
|
|
<button onclick="updateCode()">Update Code</button>
|
|
|
|
<script>
|
|
var editor = CodeMirror.fromTextArea(document.getElementById("codeEditor"), {
|
|
mode: "javascript",
|
|
lineNumbers: true,
|
|
theme: "default"
|
|
});
|
|
|
|
// Function to fetch the code snippet from the server
|
|
function fetchCode() {
|
|
fetch('/code/01975b05-647e-7ed5-abdd-f412a8a4882b') // Assuming snippet ID is 1
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
editor.setValue(atob(JSON.parse(data.code).code));
|
|
})
|
|
.catch(error => console.error('Error fetching code:', error));
|
|
}
|
|
|
|
// Function to update the code snippet on the server
|
|
function updateCode() {
|
|
fetch('/code/1', {
|
|
method: 'POST',
|
|
headers: {
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({ code: editor.getValue() }),
|
|
})
|
|
.then(response => response.json())
|
|
.then(data => {
|
|
alert(data.message);
|
|
})
|
|
.catch(error => console.error('Error updating code:', error));
|
|
}
|
|
|
|
// Fetch code on page load
|
|
fetchCode();
|
|
</script>
|
|
</body>
|
|
</html> |