"use client"; import { useState, useEffect } from "react"; import { Card, CardContent, CardHeader, CardTitle } from "@/app/_components/GlobalComponents/Cards/Card"; import { Button } from "@/app/_components/GlobalComponents/UIElements/Button"; import { FileText, Plus, Edit, Trash2, Copy, Copy as CopyIcon, CheckCircle, Files, } from "lucide-react"; import { Script } from "@/app/_utils/scripts-utils"; import { createScript, updateScript, deleteScript, cloneScript, getScriptContent, } from "@/app/_server/actions/scripts"; import { CreateScriptModal } from "@/app/_components/FeatureComponents/Modals/CreateScriptModal"; import { EditScriptModal } from "@/app/_components/FeatureComponents/Modals/EditScriptModal"; import { DeleteScriptModal } from "@/app/_components/FeatureComponents/Modals/DeleteScriptModal"; import { CloneScriptModal } from "@/app/_components/FeatureComponents/Modals/CloneScriptModal"; import { showToast } from "@/app/_components/GlobalComponents/UIElements/Toast"; import { useTranslations } from "next-intl"; interface ScriptsManagerProps { scripts: Script[]; } const DRAFT_STORAGE_KEY = "cronjob_script_draft"; export const ScriptsManager = ({ scripts: initialScripts, }: ScriptsManagerProps) => { const [scripts, setScripts] = useState(initialScripts); const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); const [isEditModalOpen, setIsEditModalOpen] = useState(false); const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false); const [isCloneModalOpen, setIsCloneModalOpen] = useState(false); const [selectedScript, setSelectedScript] = useState