UNPKG

@remotion/studio

Version:

APIs for interacting with the Remotion Studio

35 lines (34 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TriggerWebRender = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const web_renderer_1 = require("@remotion/web-renderer"); const react_1 = require("react"); const remotion_1 = require("remotion"); const Button_1 = require("../Button"); const imperative_state_1 = require("../Timeline/imperative-state"); const button = { paddingLeft: 7, paddingRight: 7, paddingTop: 7, paddingBottom: 7, }; const TriggerWebRender = () => { const video = remotion_1.Internals.useVideo(); const frame = (0, imperative_state_1.getCurrentFrame)(); const onClick = (0, react_1.useCallback)(() => { if (!video) { throw new Error('No video found'); } (0, web_renderer_1.renderStillOnWeb)({ Component: video.component, width: video.width, height: video.height, fps: video.fps, durationInFrames: video.durationInFrames, frame, }); }, [video, frame]); return ((0, jsx_runtime_1.jsx)(Button_1.Button, { id: "render-modal-button", onClick: onClick, buttonContainerStyle: button, disabled: false, children: (0, jsx_runtime_1.jsx)("span", { children: "Render" }) })); }; exports.TriggerWebRender = TriggerWebRender;