@remotion/studio
Version:
APIs for interacting with the Remotion Studio
33 lines (32 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RenderQueueProgressMessage = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const modals_1 = require("../../state/modals");
const z_index_1 = require("../../state/z-index");
const client_render_progress_1 = require("./client-render-progress");
const context_1 = require("./context");
const item_style_1 = require("./item-style");
const outputLocation = {
...item_style_1.renderQueueItemSubtitleStyle,
};
const RenderQueueProgressMessage = ({ job }) => {
if (job.status !== 'running') {
throw new Error('should not have rendered this component');
}
const { setSelectedModal } = (0, react_1.useContext)(modals_1.ModalsContext);
const { tabIndex } = (0, z_index_1.useZIndex)();
const isClientJob = (0, context_1.isClientRenderJob)(job);
const onClick = (0, react_1.useCallback)(() => {
setSelectedModal({
type: 'render-progress',
jobId: job.id,
});
}, [job.id, setSelectedModal]);
const message = isClientJob
? (0, client_render_progress_1.getClientRenderProgressMessage)(job.progress)
: job.progress.message;
return (jsx_runtime_1.jsx("button", { onClick: onClick, type: "button", style: outputLocation, tabIndex: tabIndex, title: message, children: message }));
};
exports.RenderQueueProgressMessage = RenderQueueProgressMessage;