@remotion/studio
Version:
APIs for interacting with the Remotion Studio
49 lines (48 loc) • 2.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RenderQueueRepeatItem = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const mobile_layout_1 = require("../../helpers/mobile-layout");
const retry_payload_1 = require("../../helpers/retry-payload");
const modals_1 = require("../../state/modals");
const sidebar_1 = require("../../state/sidebar");
const InlineAction_1 = require("../InlineAction");
const context_1 = require("./context");
const RenderQueueRepeatItem = ({ job }) => {
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
const isMobileLayout = (0, mobile_layout_1.useMobileLayout)();
const { setSidebarCollapsedState } = (0, react_1.useContext)(sidebar_1.SidebarContext);
const isClientJob = (0, context_1.isClientRenderJob)(job);
const onClick = (0, react_1.useCallback)((e) => {
e.stopPropagation();
if (isClientJob) {
const retryPayload = (0, retry_payload_1.makeClientRetryPayload)(job);
setSelectedModal(retryPayload);
}
else {
const retryPayload = (0, retry_payload_1.makeRetryPayload)(job);
setSelectedModal(retryPayload);
}
if (isMobileLayout) {
setSidebarCollapsedState({ left: 'collapsed', right: 'collapsed' });
}
}, [
isMobileLayout,
job,
isClientJob,
setSelectedModal,
setSidebarCollapsedState,
]);
const icon = (0, react_1.useMemo)(() => {
return {
height: 12,
color: 'currentColor',
};
}, []);
const renderAction = (0, react_1.useCallback)((color) => {
return (jsx_runtime_1.jsx("svg", { style: icon, viewBox: "0 0 512 512", children: jsx_runtime_1.jsx("path", { fill: color, d: "M386.3 160H336c-17.7 0-32 14.3-32 32s14.3 32 32 32H464c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32s-32 14.3-32 32v51.2L414.4 97.6c-87.5-87.5-229.3-87.5-316.8 0s-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3s163.8-62.5 226.3 0L386.3 160z" }) }));
}, [icon]);
return jsx_runtime_1.jsx(InlineAction_1.InlineAction, { onClick: onClick, renderAction: renderAction });
};
exports.RenderQueueRepeatItem = RenderQueueRepeatItem;