feat: add script dry-run functionality and enhance script management

- Introduced a new dry-run endpoint for executing scripts without saving changes.
- Implemented a dedicated ScriptDryRunPage for user interaction with dry-run functionality.
- Enhanced ScriptsPage to support navigation to the dry-run feature.
- Added LogViewer component for displaying logs during script execution.
- Created ScriptEditPage for editing scripts with integrated dry-run capabilities.
- Updated workflows to include new scripts for fetching and notifying data.
- Improved overall user experience with better navigation and error handling.
This commit is contained in:
2026-08-14 15:37:30 +07:00
parent 389f94f950
commit 8519c92ed1
17 changed files with 810 additions and 176 deletions
+4 -3
View File
@@ -1,19 +1,20 @@
import Editor from "@monaco-editor/react";
import { useTheme } from "../theme.jsx";
export function CodeEditor({ language, value, onChange, height = "50vh" }) {
export function CodeEditor({ language, value, onChange, height = "50vh", readOnly = false }) {
const { theme } = useTheme();
const isMobile = typeof window !== "undefined" && window.innerWidth < 768;
return (
<div className="overflow-hidden rounded-box border border-base-300">
<div className="overflow-hidden rounded-box border border-base-300 h-full min-h-0">
<Editor
height={height}
language={language}
value={value}
onChange={(v) => onChange(v ?? "")}
onChange={readOnly ? undefined : (v) => onChange(v ?? "")}
theme={theme === "dark" ? "vs-dark" : "light"}
options={{
readOnly,
minimap: { enabled: !isMobile },
lineNumbers: "on",
tabSize: 2,