UNPKG

@remotion/studio

Version:

APIs for interacting with the Remotion Studio

47 lines (46 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeleteComposition = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const styles_1 = require("../Menu/styles"); const ModalFooter_1 = require("../ModalFooter"); const ModalHeader_1 = require("../ModalHeader"); const ResolveCompositionBeforeModal_1 = require("../RenderModal/ResolveCompositionBeforeModal"); const CodemodFooter_1 = require("./CodemodFooter"); const DismissableModal_1 = require("./DismissableModal"); const content = { padding: 16, fontSize: 14, flex: 1, minWidth: 500, }; const DeleteCompositionLoaded = ({ compositionId }) => { const context = (0, react_1.useContext)(ResolveCompositionBeforeModal_1.ResolvedCompositionContext); if (!context) { throw new Error('Resolved composition context'); } const { unresolved } = context; const codemod = (0, react_1.useMemo)(() => { return { type: 'delete-composition', idToDelete: compositionId, }; }, [compositionId]); const onSubmit = (0, react_1.useCallback)((e) => { e.preventDefault(); }, []); return (jsx_runtime_1.jsxs(jsx_runtime_1.Fragment, { children: [ jsx_runtime_1.jsx(ModalHeader_1.ModalHeader, { title: 'Delete composition' }), jsx_runtime_1.jsxs("form", { onSubmit: onSubmit, children: [ jsx_runtime_1.jsxs("div", { style: content, children: ["Do you want to delete the", ' ', jsx_runtime_1.jsx("code", { style: styles_1.inlineCodeSnippet, children: unresolved.durationInFrames === 1 ? `<Still>` : '<Composition>' }), ' ', "with ID ", '"', unresolved.id, '"', "?", jsx_runtime_1.jsx("br", {}), "The associated ", jsx_runtime_1.jsx("code", { style: styles_1.inlineCodeSnippet, children: "component" }), " will remain in your code."] }), jsx_runtime_1.jsx(ModalFooter_1.ModalFooterContainer, { children: jsx_runtime_1.jsx(CodemodFooter_1.CodemodFooter, { errorNotification: `Could not delete composition`, loadingNotification: 'Deleting', successNotification: `Deleted ${unresolved.id}`, genericSubmitLabel: `Delete`, submitLabel: ({ relativeRootPath }) => `Delete from ${relativeRootPath}`, codemod: codemod, valid: true, onSuccess: null }) }) ] }) ] })); }; const DeleteComposition = ({ compositionId }) => { return (jsx_runtime_1.jsx(DismissableModal_1.DismissableModal, { children: jsx_runtime_1.jsx(ResolveCompositionBeforeModal_1.ResolveCompositionBeforeModal, { compositionId: compositionId, children: jsx_runtime_1.jsx(DeleteCompositionLoaded, { compositionId: compositionId }) }) })); }; exports.DeleteComposition = DeleteComposition;