react-filerobot-video-editor
Version:
React component version of filerobot video editor (FVE).
1 lines • 1.74 kB
JavaScript
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{useCallback,useEffect,useMemo}from"react";import{useTheme}from"@scaleflex/ui/theme/hooks";import{useAppReducer}from"../hooks";import{translate,updateTranslations}from"../utils/translator";import appReducer from"./appReducer";import AppContext from"./AppContext";import getInitialAppState from"./getInitialAppState";var isFieMounted=!0,AppProvider=function(a){var b=a.children,c=a.config,d=void 0===c?{}:c,e=useAppReducer(appReducer,getInitialAppState(d),d),f=_slicedToArray(e,2),g=f[0],h=f[1];useEffect(function(){return isFieMounted=!0,function(){isFieMounted=!1}},[]);var i=useCallback(function(){isFieMounted&&h.apply(void 0,arguments)},[h]);useEffect(function(){updateTranslations(d.translations,d.language)},[d.useBackendTranslations,d.language,d.translations]);var j=useTheme(),k=useMemo(function(){return _objectSpread(_objectSpread({},g),{},{config:d,theme:j,dispatch:i,t:translate})},[d,g]);return React.createElement(AppContext.Provider,{value:k},b)};export default AppProvider;