{"version":3,"sources":["helpers/history.js","redux/reducers/authentication.reducer.js","redux/reducers/listings.reducer.js","redux/reducers/videotemplates.reducer.js","redux/reducers/aws.reducer.js","redux/reducers/upload.reducer.js","redux/reducers/index.js","redux/reducers/registration.reducer.js","redux/reducers/users.reducer.js","redux/reducers/alert.reducer.js","helpers/store.js","helpers/auth-header.js","helpers/upload.js","helpers/showoldlink.js","helpers/formater.js","helpers/tablehelpers.js","helpers/stringchecks.js","helpers/index.js","redux/actions/alert.actions.js","redux/actions/user.actions.js","redux/actions/listing.actions.js","FVDashboard/Components/GADashboard/batchQueryReport.js","redux/actions/setup.actions.js","FVDashboard/Components/UploadProgress/index.js","config/index.js","redux/actions/upload.actions.js","services/user.service.js","services/listing.service.js","FVDashboard/Components/FVIcons/index.js","helpers/storage.js","FVDashboard/Components/CustomIconInputField/IconPasswordValidatorInput.js","FVDashboard/Components/CustomIconInputField/IconTextInput.js","FVDashboard/Components/CustomIconInputField/IconSearchLocationInput.js","FVDashboard/Components/CustomIconInputField/StaticIconTextInput.js","FVDashboard/Components/CustomIconInputField/IconEmailValidationInput.js","assets/utils/images/video-processing/bg1.jpg","redux/reducers/ThemeOptions.js","helpers/role.js","redux/constants/alert.constants.js","redux/constants/user.constants.js","redux/constants/listing.constants.js","redux/constants/upload.constants.js","serviceWorker.js","FVDashboard/Main/Components/ReduxAlerts/index.js","FVDashboard/Main/Components/PrivateRoute/PrivateRoute.jsx","FVDashboard/Main/Components/DevNote/index.js","FVDashboard/Components/CustomInput/index.js","FVDashboard/UserPages/LoginBoxed/index.js","customhooks/useIsMounted.js","FVDashboard/UserPages/ForgotPasswordBoxed/index.js","FVDashboard/Components/CustomFormField/index.js","FVDashboard/Components/CustomPasswordRepeatField/index.js","FVDashboard/Components/CustomEmailField/index.js","FVDashboard/Components/CustomPasswordField/index.js","FVDashboard/UserPages/ResetPasswordBoxed/index.js","FVDashboard/UserPages/RegisterBoxed/index.js","assets/utils/images/bg_register.png","FVDashboard/UserPages/Register/Components/Steps/Step0.js","FVDashboard/UserPages/Register/Components/Steps/Step1.js","FVDashboard/Components/s3UploaderTool/CloudinaryUploader.js","FVDashboard/UserPages/Register/Components/Steps/Step2.js","FVDashboard/UserPages/Register/Components/Steps/Step3.js","FVDashboard/UserPages/Register/Components/Wizard.js","FVDashboard/UserPages/Register/index.js","FVDashboard/UserPages/Confirm/index.js","Layout/AppMobileMenu/index.js","Layout/AppLogo/index.js","Layout/AppHeader/Components/UserBox.js","Layout/AppHeader/index.js","Layout/AppNav/NavItems.js","Layout/AppNav/VerticalNavWrapper.js","Layout/AppSidebar/index.js","FVDashboard/Dashboards/index.js","index.js","FVDashboard/Main/index.js"],"names":["history","createBrowserHistory","user","JSON","parse","storage","getItem","initialState","loggedIn","logginIn","initialRecoverState","processing","processed","outcome","initialResetState","isLoaded","items","error","initialVideoState","videos","initialAnalyticState","analytics","branches","views","uniqueviews","totalwatched","seconds","queries","fileProgress","uploadedFiles","require","rootReducer","combineReducers","ThemeOptions","authentication","state","arguments","length","undefined","action","type","userConstants","LOGIN_REQUEST","loggingIn","LOGIN_SUCCESS","LOGIN_FAILURE","LOGOUT","recover","RECOVER_REQUEST","RECOVER_SUCCESS","RECOVER_FAILURE","reset","RESET_REQUEST","RESET_SUCCESS","RESET_FAILURE","registration","REGISTER_REQUEST","registering","REGISTER_SUCCESS","REGISTER_FAILURE","users","GETALL_REQUEST","loading","GETALL_SUCCESS","GETALL_FAILURE","DELETE_REQUEST","_objectSpread","map","id","deleting","DELETE_SUCCESS","filter","DELETE_FAILURE","userCopy","_objectWithoutProperties","_excluded","deleteError","listingConstants","GETLISTINGSVIDEOS_REQUEST","GETLISTINGSVIDEOS_SUCCESS","GETLISTINGSVIDEOS_FAILURE","listing","SAVELISTING_REQUEST","SAVELISTING_SUCCESS","SAVELISTING_FAILURE","listings","GETLISTINGS_REQUEST","UPDATELISTINGS_REQUEST","GETLISTINGS_REQUEST_SUCCESS","GETLISTINGS_REQUEST_FAILURE","listingtypes","GETLISTINGMETA_REQUEST","GETLISTINGMETA_REQUEST_SUCCESS","GETLISTINGMETA_REQUEST_FAILURE","videotemplates","GETLISTINGTEMPLATES_REQUEST","GETLISTINGTEMPLATES_REQUEST_SUCCESS","GETLISTINGTEMPLATES_REQUEST_FAILURE","SAVELISTINGSUBMISSION_REQUEST","SAVELISTINGSUBMISSION_SUCCESS","SAVELISTINGSUBMISSION_FAILURE","alert","alertConstants","SUCCESS","message","ERROR","CLEAR","awsresponse","GETPRESIGNEDURL_REQUEST","GETPRESIGNEDURL_REQUEST_SUCCESS","GETPRESIGNEDURL_REQUEST_FAILURE","fileProgressUploads","uploadFileTypes","SET_UPLOAD_FILE","modifyFiles","payload","SET_UPLOAD_PROGRESS","_defineProperty","status","progress","file","SUCCESS_UPLOAD_FILE","retobj","data","CLEAR_UPLOAD_FILES","FAILURE_UPLOAD_FILE","sweetalert","reducer","GETANALYTICS_REQUEST","GETANALYTICS_SUCCESS","GETANALYTICS_FAILURE","loggerMiddleware","createLogger","store","createStore","composeWithDevTools","applyMiddleware","thunkMiddleware","authHeader","accessToken","token","existingFiles","files","fileToUpload","i","size","uploadType","updateThumbnailFile","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","vimeoid","axios_config","wrap","_context","prev","next","headers","Accept","Authorization","config","vAccessToken","axios","get","sent","abrupt","stop","_x","apply","OldBranchLinks","formater","link","text","enablelink","_jsx","style","color","target","rel","href","children","renderToStaticMarkup","_jsxs","className","Icon","icon","infoIcon","fontSize","currListing","curr","Id","Name","name","Meta","dynamicFields","Object","keys","key","ListingMediaClips","listingMediaClips","Videos","LocationId","locationId","VideoTypeId","videoTypeId","CreationDate","creationDate","range","len","arr","push","makeData","value","index","previousValue","currentValue","result","videoSources","forEach","source","url","emptyReducer","encodeData","s","encodeURIComponent","replace","endsWith","str","substr","indexOf","sortByOrder","a","b","order","LOG","alertActions","success","warning","WARNING","clear","userActions","login","username","password","dispatch","userService","then","failure","toString","logout","register","request","getAll","email","code","confirm","params","CONFIRM_REQUEST","CONFIRM_SUCCESS","CONFIRM_FAILURE","delete","listingActions","getListingMeta","industrysectorid","listingService","getListings","getVideosByDate","userid","startdate","enddate","branch","getFilteredListings","page","pageSize","currentListingType","refreshListings","row","getListingTemplates","listingid","getListingTemplatesFromOrganization","industrySectorId","saveListing","listingrequest","response","saveListingSubmission","listingsubmissionrequest","getpresigneduploadurl","bucket","directories","getState","payloadData","uploadActions","setUploadFile","element","failureUploadFile","saveUploadedInfo","pageIndex","SAVELISTINGUPLOADINFO_REQUEST","SAVELISTINGUPLOADINFO_SUCCESS","SAVELISTINGUPLOADINFO_FAILURE","getAnalytics","retrieve","props","_toConsumableArray","requestDimensions","dimensions","item","reportRequests","viewId","viewID","dateRanges","startDate","format","Date","endDate","filtersExpression","metrics","expression","orderBys","orderBy","fieldName","sortOrder","window","gapi","client","path","root","method","body","batchQueryReport","resp","handleResult","catch","setTimeout","queryReport","reports","rows","setupActions","saveOrganization","requestOptions","stringify","fetch","concat","apiUrl","ok","err","Error","validateEmail","val","actionCreators","uploadFile","setUploadProgress","connect","toArray","useEffect","ListGroupItem","_Fragment","Progress","percent","width","theme","strokeWidth","v1Url","portalUrl","fvUrl","s3Url","s3Env","process","gAccessKey","newVideoUrl","successUploadFile","payloads","current","total","getBase64fromMultipleFiles","processCloudinaryUpload","clearUploadFiles","reader","FileReader","readAsDataURL","onload","spliced","split","shift","cancelToken","CancelToken","timeout","onUploadProgress","progressEvent","loaded","percentageProgress","Math","floor","totalPercent","values","reduce","sum","num","parseInt","round","totalNode","document","getElementsByClassName","backgroundColor","innerText","currentNode","put","authUrls","Buffer","from","join","sourceabs","match","uploadedsources","onerror","formData","FormData","append","create","post","res","handleResponse","setItem","getById","update","confirmPassword","removeItem","location","reload","statusText","Promise","reject","console","log","playerid","updateVideoThumbnail","thumbnail","thumb_request","videosource","iconSet","assign","IcoMoon","local","storageFactory","localStorage","session","sessionStorage","IconPasswordValidatorInput","iconsrc","placeholder","isrequired","maxlength","_useState","useState","_useState2","_slicedToArray","meter","setMeter","_useState3","_useState4","setPassword","_useState5","_useState6","passwordShown","setPasswordShown","passwordTracker","uppercase","lowercase","number","specialChar","eightCharsOrGreater","passwordStrength","AvGroup","InputGroup","InputGroupAddon","addonType","InputGroupText","AvInput","onFocus","onChange","e","setSelectedPasswordValue","required","validate","maxLength","onClick","preventDefault","AvFeedback","IconTextInput","dynamicField","dynamicFieldValues","IconSearchLocationInput","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","call","event","autocomplete","query","lat","lng","scriptLoaded","handlePlaceSelect","bind","_assertThisInitialized","handleScriptLoad","_createClass","inputEl","getElementById","this","google","maps","places","Autocomplete","setFields","addListener","addDomListener","keyCode","setState","addressObject","getPlace","formatted_address","geometry","onLocationSelect","_this$props","autoComplete","Script","onLoad","Component","StaticIconTextInput","fullenght","label","localvalue","setLocalValue","Row","Col","xl","md","sm","onBlur","onChangeSelect","debouncedSearch","debounce","criteria","_x2","connectedIconEmailValidationInput","debounceValidation","_ref2","_callee2","_context2","isLoading","debouncedMessage","_x3","_x4","inputValue","isValidEmail","test","validation","currentTarget","setAttribute","removeAttribute","cancel","readonly","display","IconEmailValidationInput","SET_ENABLE_BACKGROUND_IMAGE","SET_BACKGROUNDVIDEOPROCESSING_IMAGE","SET_ENABLE_MOBILE_MENU","SET_ENABLE_MOBILE_MENU_SMALL","SET_ENABLE_FIXED_HEADER","SET_ENABLE_HEADER_SHADOW","SET_ENABLE_SIDEBAR_SHADOW","SET_ENABLE_FIXED_SIDEBAR","SET_ENABLE_CLOSED_SIDEBAR","SET_ENABLE_FIXED_FOOTER","SET_ENABLE_PAGETITLE_ICON","SET_ENABLE_PAGETITLE_SUBHEADING","SET_ENABLE_PAGE_TABS_ALT","SET_BACKGROUND_IMAGE","SET_BACKGROUND_COLOR","SET_COLOR_SCHEME","SET_BACKGROUND_IMAGE_OPACITY","SET_HEADER_BACKGROUND_COLOR","setEnableClosedSidebar","enableClosedSidebar","setEnableMobileMenu","enableMobileMenu","setEnableMobileMenuSmall","enableMobileMenuSmall","headerBackgroundColor","enableBackgroundImage","enableFixedHeader","enableHeaderShadow","enableSidebarShadow","enableFixedFooter","enableFixedSidebar","colorScheme","backgroundImageVideoProcessing","videoProcessing","backgroundImageOpacity","enablePageTitleIcon","enablePageTitleSubheading","enablePageTabsAlt","backgroundImage","Role","SuperAdmin","Admin","ContentManager","ContentCreator","INFO","SAVETHUMBNAILUPLOADINFO_REQUEST","SAVETHUMBNAILUPLOADINFO_SUCCESS","SAVETHUMBNAILUPLOADINFO_FAILURE","Boolean","hostname","FVSweetAlert","SweetAlert","connectedFVSweetAlert","PrivateRoute","component","rest","Route","render","Redirect","to","pathname","Styles","styled","div","_templateObject","_taggedTemplateLiteral","DevNote","position","msg","React","Fragment","CustomInput","_React$Component","ctx","input","cb","context","FormCtrl","isTouched","setTouched","active","locked","handleFocus","changeValue","_this2","_this$state","predicted","fieldtype","fieldClassName","includes","errorMessage","htmlFor","connectedLoginPage","setUsername","nopassword","setNopassword","AvForm","onValidSubmit","onInvalidSubmit","fontWeight","form","FormGroup","allowSubmit","Button","disabled","getFullYear","useIsMounted","isMounted","useRef","swal","connectedForgotPasswordPage","_state$recover","resetState","forgotpasswordtitle","action_text","submitted","setSubmitted","LoaderAnim","html","title","showCancelButton","onConfirm","CustomFormField","_len","args","Array","_key","dirty","errors","hasChanged","_this$props$required","_this$props$validator","validator","f","_this$props$onStateCh","onStateChanged","isEmpty","requiredMissing","_ref$dirty","_this$props2","fieldId","hasErrors","controlClass","trim","readOnly","CustomPasswordRepeatField","stateChanged","repeatedpassword","validatePasswordRepeat","currentpassword","restProps","CustomEmailField","CustomPasswordField","strength","zxcvbn","score","validatePasswordStrong","thresholdLength","minStrength","_props$minStrength","_props$thresholdLengt","maxthresholdLength","max","min","passwordLength","passwordStrong","passwordLong","counterClass","strengthClass","spinner1","Wrapper","section","ResetPasswordBoxed","componentWillReceiveProps","newProps","handleUserNameInput","emailState","handlePasswordInput","passwordState","handlePasswordRepeatInput","passwordrepeatState","passwordrepeat","handleSubmit","slice","pop","decodeURIComponent","formValidated","Loader","show","priority","Form","connectedResetPasswordPage","_state$reset","RegisterBoxedContent","executeRecaptcha","useGoogleReCaptcha","setToken","noOfVerifications","setNoOfVerifications","dynamicAction","setDynamicAction","_useState7","_useState8","actionToChange","setActionToChange","_useState9","_useState10","enableNext","setEnableNext","clickHandler","useCallback","handleTextChange","handleCommitAction","grecaptcha","ready","sitekey","callback","handleReCaptchaVerify","RegisterBoxed","GoogleReCaptchaProvider","reCaptchaKey","WizardStep","setSelectedOrganizationValue","handleOrganizationSelect","setSelectedLocationNameValue","handleLocationNameSelect","setSelectedLocationAddressValue","handleLocationSelect","setSelectedLocationEmailValue","handleLocationEmailSelect","setSelectedLocationPhoneValue","handleLocationPhoneSelect","organizationName","locationName","locationAddress","locationEmail","locationPhone","WizardStep1","handlePasswordSelect","setSelectedFirstNameValue","firstName","handleFirstNameSelect","setSelectedLastNameValue","lastName","handleLastNameSelect","setSelectedEmailValue","handleEmailSelect","handleEmailVerification","email2","emailmatchfeedback","handleEmail2Select","previousStep","baseStyle","flex","flexDirection","alignItems","padding","borderWidth","borderRadius","borderColor","borderStyle","outline","transition","activeStyle","acceptStyle","rejectStyle","maxSize","useDispatch","isUploading","setUploading","failedUploads","logoUrl","filesUploaded","filesInQueue","public_id","setLogoImage","handleUploadedFiles","_useDropzone","useDropzone","accept","acceptedTypes","onDrop","acceptedFiles","duplicates","some","find","isFileTooLarge","handlefileUploading","minSize","maxFiles","multiple","getRootProps","getInputProps","isDragActive","isDragAccept","isDragReject","rejectedFiles","useMemo","filesToSave","publicId","handlefileUploaded","img","Image","src","alt","replaceChildren","failedfiles","upfiles","UploadProgress","Container","fluid","top","left","symbolClassName","marginTop","marginBottom","overflow","ListGroup","flush","WizardStep2","CloudinaryUploader","WizardStep3","Steptemplate","class","MultiStep","setIsUploading","setFirstName","setLastName","setEmail","setEmail2","_useState11","_useState12","_useState13","_useState14","setorganizationName","_useState15","_useState16","setlocationName","_useState17","_useState18","setlocationAddress","_useState19","_useState20","setlocationEmail","_useState21","_useState22","setlocationPhone","_useState23","_useState24","setlogoUrl","_useState25","_useState26","uploadedImgs","setUploadedImgs","_useState27","_useState28","_useState29","_useState30","tmp","initialSteps","_organizationName","_locationName","_locationAddress","_locationEmail","_locationPhone","_firstName","_lastName","_email","_email2","_password","_logoUrl","_uploadedImgs","_prevStep","moveAndSetState","nextAndSet","_nextStep","setSteps","setDisableBtn","setCompState","setSubmit","previous","compState","setPrevStep","_useState31","_useState32","steps","_useState33","_useState34","orgObjects","setOrgObjects","_useState35","_useState36","showFormErrorAlert","setShowFormErrorAlert","isDone","orgObject","_orgObjects","saveFormData","setShowSubmitConfirmAlert","locationObject","entries","_inputs","toLocaleLowerCase","organizationId","billingProviderId","userObject","_ref3","_ref4","handleInvalidSubmit","evt","_callback","disableNavStep1","disableNavStep2","disableNavStep3","ref","isSubmitting","right","background","bottom","textAlign","float","border","FVIcon","role","renderContent","Register","nextAndSubmit","showSubmitConfirmAlert","submit","submitstate","disableBtn","prevStep","currentstate","validating","selectedVideoTemplate","lg","bg3","backgroundSize","showNavigation","connectedRegister","withRouter","connectedConfirm","AppMobileMenu","toggleMobileSidebar","toggleMobileSmall","openLeft","openRight","relativeWidth","noTouchOpen","noTouchClose","mobile","activeSecondaryMenuMobile","Hamburger","activeMobile","cx","FontAwesomeIcon","faEllipsisV","closedSmallerSidebar","enable","HeaderLogo","toggleEnableClosedSidebar","_UserBox","handleLogout","handleReset","UncontrolledButtonDropdown","DropdownToggle","DropdownMenu","roleName","height","Nav","vertical","NavItem","NavLink","locations","inline","UserBox","Header","ReactCSSTransitionGroup","transitionName","transitionAppear","transitionAppearTimeout","transitionEnter","transitionLeave","SuperAdminDashboardNav","content","CreateVideoNav","useHistory","paddingRight","marginLeft","WelcomeNav","TemplatesNav","TrackNav","AccountNav1","FilmKitNav2","OldDashboardNav","externalLink","componentDidMount","videoTypes","videocontent","contentArray","tmparr","prevProps","prevState","DynamicVideoNav","DynamicMetisMenu","MetisMenu","activeLinkFromLocation","iconNamePrefix","classNameStateIcon","userlocations","found","r","startsWith","AppSidebar","PerfectScrollbar","WelcomeDashboard","lazy","NewListingDashboard","NewVideoDashboard","ListingTable","Tutorials","ManageTeam","Analytics","VideoManagement","NewVideoManagement","UserManagement","OrganizationManagement","TemplateManagement","NewOrg","NewLocation","getUsers","getListingTypeMeta","connectedHomePage","useParams","customerId","industrySectors","AppHeader","Suspense","fallback","Main","onRouteChanged","clearAlerts","clearAll","getType","toast","dismiss","isActive","POSITION","TOP_CENTER","toastId","autoDismiss","info","BOTTOM_CENTER","warn","handleAutoCloseDelay","autoClose","ToastContainer","defaultProps","disableAutoClose","ResizeDetector","handleWidth","Router","Dashboards","LoginBoxed","ForgotPasswordBoxed","Confirm","exact","rootElement","ReactDOM","Provider","navigator","serviceWorker","unregister"],"mappings":"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","file":"static/js/main.9fcee2ea.chunk.js","sourcesContent":["import { createBrowserHistory } from \"history\";\nexport const history = createBrowserHistory();\n","import * as storage from \"../../helpers/storage\";\nimport {userConstants} from '../constants';\n\n// let user = JSON.parse(localStorage.getItem('user'));\nlet user = JSON.parse(storage.local.getItem('user'));\n\nconst initialState = user ? {loggedIn: true, user} : {logginIn: false};\n\nexport function authentication(state = initialState, action) {\n switch (action.type) {\n case userConstants.LOGIN_REQUEST:\n return {\n loggingIn: true,\n user: action.user,\n };\n case userConstants.LOGIN_SUCCESS:\n return {\n loggingIn: false,\n loggedIn: true,\n user: action.user,\n };\n case userConstants.LOGIN_FAILURE:\n return {\n loggingIn: false,\n loggedIn: false,\n error: action.error,\n };\n case userConstants.LOGOUT:\n return {loggingIn: false};\n default:\n return state;\n }\n}\n\nconst initialRecoverState = {\n processing: false,\n processed: false,\n outcome: false,\n};\nexport function recover(state = initialRecoverState, action) {\n switch (action.type) {\n case userConstants.RECOVER_REQUEST:\n return {\n processing: true,\n outcome: action.outcome,\n };\n case userConstants.RECOVER_SUCCESS:\n return {\n processed: true,\n processing: false,\n outcome: action.outcome.outcome,\n };\n case userConstants.RECOVER_FAILURE:\n return {\n processed: true,\n processing: false,\n };\n default:\n return state;\n }\n}\n\nconst initialResetState = {\n processing: false,\n processed: false,\n outcome: false,\n};\nexport function reset(state = initialResetState, action) {\n switch (action.type) {\n case userConstants.RESET_REQUEST:\n return {\n processing: true,\n processed: false,\n outcome: action.outcome,\n };\n case userConstants.RESET_SUCCESS:\n return {\n processing: false,\n processed: true,\n outcome: action.outcome.outcome,\n };\n case userConstants.RESET_FAILURE:\n return {\n processed: true,\n processing: false,\n };\n default:\n return state;\n }\n}\n","import {listingConstants} from '../constants';\n\nconst initialState = {\n isLoaded: false,\n items: [],\n error: null,\n};\n\nconst initialVideoState = {\n isLoaded: false,\n videos: [],\n error: null,\n};\n\nconst initialAnalyticState = {\n isLoaded: false,\n analytics: {branches: [], views: 0, uniqueviews: 0, totalwatched: 0, seconds: {}, queries: {}},\n error: null,\n};\n\nexport function listings(state = initialState, action) {\n switch (action.type) {\n case listingConstants.GETLISTINGS_REQUEST:\n return {\n isLoaded: false,\n };\n case listingConstants.UPDATELISTINGS_REQUEST:\n return {\n isLoaded: true,\n items: [],\n };\n case listingConstants.GETLISTINGS_REQUEST_SUCCESS:\n return {\n isLoaded: true,\n items: action.listings,\n };\n case listingConstants.GETLISTINGS_REQUEST_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n}\n\nexport function videos(state = initialVideoState, action) {\n switch (action.type) {\n case listingConstants.GETLISTINGSVIDEOS_REQUEST:\n return {\n isLoaded: false,\n };\n case listingConstants.GETLISTINGSVIDEOS_SUCCESS:\n return {\n isLoaded: true,\n videos: action.videos,\n };\n case listingConstants.GETLISTINGSVIDEOS_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n}\n\nexport function listing(state = initialState, action) {\n switch (action.type) {\n case listingConstants.SAVELISTING_REQUEST:\n return {\n isLoaded: false,\n error: null,\n };\n case listingConstants.SAVELISTING_SUCCESS:\n return {\n isLoaded: true,\n items: action.listing,\n error: null,\n };\n case listingConstants.SAVELISTING_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n}\n\nexport function mediaid(state = initialState, action) {\n switch (action.type) {\n case listingConstants.SAVELISTINGUPLOADINFO_REQUEST:\n return {\n isLoaded: false,\n };\n case listingConstants.SAVELISTINGUPLOADINFO_SUCCESS:\n return {\n isLoaded: true,\n items: action,\n };\n case listingConstants.SAVELISTINGUPLOADINFO_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n}\n\nexport function listingtypes(state = initialState, action) {\n switch (action.type) {\n case listingConstants.GETLISTINGMETA_REQUEST:\n return {\n isLoaded: false,\n };\n case listingConstants.GETLISTINGMETA_REQUEST_SUCCESS:\n return {\n isLoaded: true,\n items: action.listingtypes,\n };\n case listingConstants.GETLISTINGMETA_REQUEST_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n}\n\nexport function analytics(state = initialAnalyticState, action) {\n switch (action.type) {\n case listingConstants.GETANALYTICS_REQUEST:\n return {\n isLoaded: false,\n analytics: action.analytics,\n };\n case listingConstants.GETANALYTICS_SUCCESS:\n return {\n isLoaded: true,\n analytics: action.analytics,\n };\n case listingConstants.GETANALYTICS_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n}\n","import {listingConstants} from '../constants';\n\nconst initialState = {\n isLoaded: false,\n items: [],\n error: null,\n};\n\nexport function videotemplates(state = initialState, action) {\n switch (action.type) {\n case listingConstants.GETLISTINGTEMPLATES_REQUEST:\n return {\n isLoaded: false,\n };\n case listingConstants.GETLISTINGTEMPLATES_REQUEST_SUCCESS:\n return {\n isLoaded: true,\n items: action.videotemplates,\n };\n case listingConstants.GETLISTINGTEMPLATES_REQUEST_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n case listingConstants.SAVELISTINGSUBMISSION_REQUEST:\n return {\n isLoaded: false,\n };\n case listingConstants.SAVELISTINGSUBMISSION_SUCCESS:\n return {\n isLoaded: true,\n items: action.listing,\n };\n case listingConstants.SAVELISTINGSUBMISSION_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n default:\n return state;\n }\n}\n","import {listingConstants} from '../constants';\n\nconst initialState = {\n isLoaded: false,\n items: [],\n error: null,\n};\n\nexport function awsresponse(state = initialState, action) {\n switch (action.type) {\n case listingConstants.GETPRESIGNEDURL_REQUEST:\n return {\n isLoaded: false,\n };\n case listingConstants.GETPRESIGNEDURL_REQUEST_SUCCESS:\n return {\n isLoaded: true,\n items: action.awsresponse,\n };\n case listingConstants.GETPRESIGNEDURL_REQUEST_FAILURE:\n return {\n isLoaded: true,\n error: action.error,\n };\n // case listingConstants.SAVELISTINGSUBMISSION_REQUEST:\n // return {\n // isLoaded: false\n // };\n // case listingConstants.SAVELISTINGSUBMISSION_SUCCESS:\n // return {\n // isLoaded: true,\n // items: action.listing\n // };\n // case listingConstants.SAVELISTINGSUBMISSION_FAILURE:\n // return {\n // isLoaded: true,\n // error: action.error\n // };\n default:\n return state;\n }\n}\n","import {uploadFileTypes} from '../constants';\nimport {modifyFiles} from '../../helpers';\n\nconst initialState = {\n fileProgress: {\n // format will be like below\n // 1: { --> this interpreted as uploaded file #1\n // id: 1,\n // file,\n // progress: 0,\n // data,\n // status: 0,\n // uploadType: 'aws'||'cloudinary'\n // },\n },\n uploadedFiles: {},\n};\n\nexport function fileProgressUploads(state = initialState, action) {\n switch (action.type) {\n case uploadFileTypes.SET_UPLOAD_FILE:\n return {\n ...state,\n fileProgress: {\n ...state.fileProgress,\n ...modifyFiles(state.uploadedFiles, action.payload),\n },\n };\n\n case uploadFileTypes.SET_UPLOAD_PROGRESS:\n return {\n ...state,\n fileProgress: {\n ...state.fileProgress,\n [action.payload.id]: {\n status: 1,\n progress: action.payload.progress,\n file: action.payload.file,\n },\n },\n };\n\n case uploadFileTypes.SUCCESS_UPLOAD_FILE:\n let retobj = {\n ...state,\n uploadedFiles: {\n ...state.uploadedFiles,\n [action.payload.id]: {\n id: action.payload.id,\n status: 'success',\n data: action.payload.status.data,\n file: action.payload.status.file,\n progress: 100,\n },\n },\n };\n delete state.fileProgress[action.payload.id];\n return retobj;\n\n case uploadFileTypes.CLEAR_UPLOAD_FILES:\n return initialState;\n\n case uploadFileTypes.FAILURE_UPLOAD_FILE:\n return {\n ...state,\n fileProgress: {\n ...state.fileProgress,\n [action.payload]: {\n ...state.fileProgress[action.payload],\n status: 'error',\n progress: 0,\n },\n },\n };\n\n default:\n return state;\n }\n}\n","import {combineReducers} from 'redux';\nimport {authentication, recover, reset} from './authentication.reducer';\nimport {registration} from './registration.reducer';\nimport {users} from './users.reducer';\nimport {alert} from './alert.reducer';\nimport {listing, listings, listingtypes, videos, analytics} from './listings.reducer';\nimport {videotemplates} from './videotemplates.reducer';\nimport {awsresponse} from './aws.reducer';\nimport {fileProgressUploads} from './upload.reducer';\nimport {reducer} from 'react-redux-sweetalert';\nimport ThemeOptions from './ThemeOptions';\nrequire('sweetalert-react/node_modules/sweetalert/dist/sweetalert.css');\n\nconst rootReducer = combineReducers({\n ThemeOptions,\n authentication,\n recover,\n reset,\n registration,\n users,\n videos,\n listing,\n listings,\n listingtypes,\n videotemplates,\n alert,\n awsresponse,\n fileProgressUploads,\n sweetalert: reducer,\n analytics,\n});\n\nexport default rootReducer;\n","import {userConstants} from '../constants';\n\nexport function registration(state = {}, action) {\n switch (action.type) {\n case userConstants.REGISTER_REQUEST:\n return {registering: true};\n case userConstants.REGISTER_SUCCESS:\n return {};\n case userConstants.REGISTER_FAILURE:\n return {};\n default:\n return state;\n }\n}\n","import {userConstants} from '../constants';\n\nexport function users(state = {}, action) {\n switch (action.type) {\n case userConstants.GETALL_REQUEST:\n return {\n loading: true,\n };\n case userConstants.GETALL_SUCCESS:\n return {\n items: action.users,\n };\n case userConstants.GETALL_FAILURE:\n return {\n error: action.error,\n };\n case userConstants.DELETE_REQUEST:\n // add 'deleting:true' property to user being deleted\n return {\n ...state,\n items: state.items.map((user) => (user.id === action.id ? {...user, deleting: true} : user)),\n };\n case userConstants.DELETE_SUCCESS:\n // remove deleted user from state\n return {\n items: state.items.filter((user) => user.id !== action.id),\n };\n case userConstants.DELETE_FAILURE:\n // remove 'deleting:true' property and add 'deleteError:[error]' property to user\n return {\n ...state,\n items: state.items.map((user) => {\n if (user.id === action.id) {\n // make copy of user without 'deleting:true' property\n const {deleting, ...userCopy} = user;\n // return copy of user with 'deleteError:[error]' property\n return {...userCopy, deleteError: action.error};\n }\n\n return user;\n }),\n };\n default:\n return state;\n }\n}\n","import {alertConstants} from '../constants';\n\nexport function alert(state = {}, action) {\n switch (action.type) {\n case alertConstants.SUCCESS:\n return {\n type: 'alert-success',\n message: action.message,\n };\n case alertConstants.ERROR:\n return {\n type: 'alert-danger',\n message: action.message,\n };\n case alertConstants.CLEAR:\n return {};\n default:\n return state;\n }\n}\n","// libraries\n// import {createStore, applyMiddleware} from 'redux';\nimport { legacy_createStore as createStore, applyMiddleware } from 'redux'\nimport thunkMiddleware from 'redux-thunk';\nimport {createLogger} from 'redux-logger';\nimport {composeWithDevTools} from 'redux-devtools-extension';\n\n// generics\nimport rootReducer from '../redux/reducers';\n\nconst loggerMiddleware = createLogger();\n\nexport const store = createStore(rootReducer, composeWithDevTools(applyMiddleware(thunkMiddleware, loggerMiddleware)));","import * as storage from \"./storage\";\nexport function authHeader() {\n // return authorization header with jwt token\n // let user = JSON.parse(localStorage.getItem('user'));\n let user = JSON.parse(storage.local.getItem('user'));\n\n if (user && user.accessToken.token) {\n return { 'Authorization': 'Bearer ' + user.accessToken.token };\n } else {\n return {};\n }\n}","import {size} from 'lodash';\nimport axios from 'axios';\nimport {config} from '../config';\nimport {alertActions, uploadActions} from '../redux/actions';\n\nexport const modifyFiles = (existingFiles, files) => {\n let fileToUpload = {};\n for (let i = 0; i < files.files.length; i++) {\n const id = size(existingFiles) + i + 1;\n fileToUpload = {\n ...fileToUpload,\n [id]: {\n id,\n file: files.files[i],\n progress: 0,\n data: files.data,\n status: 0,\n uploadType: files.uploadType\n },\n };\n }\n\n return fileToUpload;\n};\n\nexport const getBase64fromFile = (file, index) => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => {\n console.log(`getBase64fromFile success.`);\n const spliced = reader.result.split(',');\n const header = spliced[0];\n spliced.shift();\n index++;\n resolve({\n header: header,\n body: spliced.join(''),\n index: index,\n });\n };\n reader.onerror = (err) => {\n console.log(`getBase64fromFile failed.`);\n reject(err);\n };\n });\n};\n\nexport const getBase64fromMultipleFiles = (payload, index, dispatch) => {\n return new Promise((resolve, reject) => {\n // return dispatch => {\n\n const fileProgress = [];\n const progress = {\n current: 0,\n percent: 0,\n total: payload.length,\n };\n const reader = new FileReader();\n console.log(`working on index: ` + index);\n reader.readAsDataURL(payload[index].file);\n reader.onload = () => {\n console.log(`getBase64fromFile success on index: ` + index);\n const spliced = reader.result.split(',');\n // const header = spliced[0];\n spliced.shift();\n const CancelToken = axios.CancelToken;\n const source = CancelToken.source();\n let axios_config = {\n cancelToken: source.token,\n headers: {\n 'Content-Type': payload[index].file.type,\n 'Content-Encoding': 'base64',\n 'Access-Control-Allow-Origin': true,\n 'x-amz-meta-playerid': payload[index].data['playerId'],\n },\n timeout: 6000000,\n onUploadProgress: (progressEvent) => {\n const {loaded, total} = progressEvent;\n if (loaded === total) {\n progress.current++;\n }\n const percentageProgress = Math.floor((loaded / total) * 100);\n // save the individual file's progress percentage in object\n fileProgress[payload[index].file.name] = percentageProgress;\n // sum up all file progress percentages to calculate the overall progress\n let totalPercent = fileProgress ? Object.values(fileProgress).reduce((sum, num) => sum + num, 0) : 0;\n // divide the total percentage by the number of files\n progress.percent = parseInt(Math.round(totalPercent / progress.total));\n if (payload[index].data.uploadType === 'MediaClips') {\n // console.log(\"Total progress: \" + progress.percent);\n const totalNode = document.getElementsByClassName('total-progress-class');\n totalNode[0].children[0].children[0].style.width = `${progress.percent}%`;\n totalNode[0].children[0].children[0].style.backgroundColor = 'rgb(14, 170, 166)';\n totalNode[0].children[1].innerText = `${progress.percent}%`;\n } else {\n // dispatch(setUploadProgress(file.id, percentageProgress))\n const currentNode = document.getElementsByClassName(payload[index].id + '-progress-class');\n if (currentNode.length > 0) {\n if (percentageProgress % 5 === 0) {\n currentNode[0].children[1].children[0].children[0].style.width = `${percentageProgress}%`;\n currentNode[0].children[1].children[0].children[0].style.backgroundColor = 'rgb(14, 170, 166)';\n currentNode[0].children[1].children[1].innerText = `${percentageProgress}%`;\n }\n }\n }\n },\n };\n console.log(`resolving index: ` + index);\n axios\n .put(payload[index].data.authUrls[index].split('#')[0], spliced.join(''), axios_config)\n .then(() => {\n //file uploaded\n console.log(`file uploaded for index: ` + index);\n if (payload[index].data.uploadType === 'MediaClips') {\n if (payload[index].data.sourceabs[index].match(/[^/]+(jpg|png|gif)$/) !== null) {\n console.log('image uploaded');\n payload[index].data.uploadedsources.push(\n payload[index].data.sourceabs[index] + '|' + payload[index].data.sourceabs[index]\n );\n dispatch(uploadActions.successUploadFile(payload[index].id, payload[index]));\n dispatch(alertActions.success(payload[index].file.name + ' uploaded'));\n dispatch(alertActions.clear());\n } else {\n console.log('video uploaded');\n // the url uplaoded is not an image -> proceed creating a vimeo video\n dispatch(uploadActions.successUploadFile(payload[index].file.id, payload[index]));\n dispatch(alertActions.success(payload[index].file.name + ' uploaded'));\n dispatch(alertActions.clear());\n }\n } else if (payload[index].data.uploadType === 'Thumbnails') {\n dispatch(uploadActions.successUploadFile(payload[index].id, payload[index]));\n dispatch(alertActions.success('Thumbnail uploaded successfully, this will be available shortly'));\n } else {\n dispatch(uploadActions.successUploadFile(payload[index].id, payload[index]));\n dispatch(alertActions.clear());\n }\n if (index > 0) {\n console.log(`nesting index: ` + index);\n index--;\n // resolve(getBase64fromMultipleFiles(payload, index));\n getBase64fromMultipleFiles(payload, index);\n } else {\n // if (payload[index].data.uploadType === 'MediaClips') {\n // if (payload[index].data.sourceabs[index].match(/[^/]+(jpg|png|gif)$/) !== null) {\n // console.log('image uploaded')\n // payload[index].data.uploadedsources.push(payload[index].data.sourceabs[index] + '|' + payload[index].data.sourceabs[index]);\n // dispatch(uploadActions.successUploadFile(payload[index].id, payload[index]))\n // dispatch(alertActions.success(payload[index].file.name + ' uploaded'))\n // dispatch(alertActions.clear())\n // }\n // else {\n // console.log('video uploaded')\n // // the url uplaoded is not an image -> proceed creating a vimeo video\n // dispatch(uploadActions.successUploadFile(payload[index].file.id, payload[index]))\n // dispatch(alertActions.success(payload[index].file.name + ' uploaded'))\n // dispatch(alertActions.clear())\n // }\n // }\n // else if (payload[index].data.uploadType === 'Thumbnails') {\n // dispatch(uploadActions.successUploadFile(payload[index].id, payload[index]))\n // dispatch(alertActions.success('Thumbnail uploaded successfully, this will be available shortly'))\n // }\n // else {\n // dispatch(uploadActions.successUploadFile(payload[index].id, payload[index]))\n // dispatch(alertActions.clear())\n // }\n // resolve({\n // currentpayload: payload[index],\n // index: index\n // })\n }\n })\n .catch((err) => {\n console.log('axios error: ' + err);\n // reject({\n // error: err,\n // id: index\n // })\n });\n };\n reader.onerror = (err) => {\n console.log(`getBase64fromFile failed.`);\n // reject({\n // error: err,\n // id: index\n // });\n };\n // }\n });\n};\n\nexport const updateThumbnailFile = async (vimeoid) => {\n let axios_config = {\n headers: {\n 'Content-Type': 'application/json',\n Accept: 'application/vnd.vimeo.*+json;version=3.4',\n Authorization: 'bearer ' + config.vAccessToken,\n },\n };\n let data = await axios.get(\n 'https://api.vimeo.com/videos/' + vimeoid + '/?fields=status,pictures.sizes&filter=pictures.sizes=100x75',\n axios_config\n );\n return data;\n};\n","export const OldBranchLinks = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n];\n","import React from 'react';\nimport {renderToStaticMarkup} from 'react-dom/server';\nimport {Icon} from '@iconify/react';\nimport infoIcon from '@iconify/icons-ls/info';\n\nexport const formater = (link, text, enablelink) => {\n if (enablelink) {\n link = (\n \n {link}\n \n );\n } else {\n link = {link};\n }\n return renderToStaticMarkup(\n
\n
\n \n
\n

\n {text}
\n {link}\n

\n
\n );\n};\n\nexport const commaFormatted = (type, event) => {\n var cur_amount = event.target.value.replaceAll(',', '');\n var amount = cur_amount.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,');\n if (type === 'min') {\n return {minPriceValue: amount};\n } else if (type === 'size') {\n return {sizeValue: amount};\n } else {\n return {maxPriceValue: amount};\n }\n};\n","const currListing = (curr) => {\n return {\n listing: {\n Id: curr.id,\n Name: curr.name,\n Meta: curr.dynamicFields ? Object.keys(curr.dynamicFields).map((key) => [key, curr.dynamicFields[key]]) : '',\n ListingMediaClips: curr.listingMediaClips,\n Videos: curr.videos,\n LocationId: curr.locationId,\n VideoTypeId: curr.videoTypeId,\n CreationDate: curr.creationDate,\n },\n };\n};\n\nconst range = (len) => {\n const arr = [];\n if (len === undefined) {\n } else {\n for (let i = 0; i < len.length; i++) {\n arr.push(len);\n }\n }\n return arr;\n};\n\nexport const makeData = (listings) => {\n if (listings.isLoaded === true && listings.items) {\n return range(listings.items.listings).map((value, index) => {\n return {\n ...currListing(value[index]),\n children: range(10).map(currListing),\n };\n });\n }\n return [];\n};\n\nexport const reducer = (previousValue, currentValue) => {\n let result = previousValue;\n currentValue.videoSources.forEach((source) => {\n if (source.name === 'HLSReel' && source.url !== '') {\n result = result + 1;\n }\n if (source.name === 'HLS' && source.url !== '') {\n result = result + 1;\n }\n });\n\n return result;\n};\n\nexport const emptyReducer = (previousValue, currentValue) => {\n let result = previousValue;\n currentValue.videoSources.forEach((source) => {\n if (source.name === 'HLSReel' && source.url == '') {\n result = result + 1;\n }\n if (source.name === 'HLS' && source.url == '') {\n result = result + 1;\n }\n });\n\n return result;\n};\n\nexport const encodeData = (s) => {\n return encodeURIComponent(s).replace(/\\-/g, \"%2D\").replace(/\\_/g, \"%5F\").replace(/\\./g, \"%2E\").replace(/\\!/g, \"%21\").replace(/\\~/g, \"%7E\").replace(/\\*/g, \"%2A\").replace(/\\'/g, \"%27\").replace(/\\(/g, \"%28\").replace(/\\)/g, \"%29\");\n};","export const endsWith = (str, substr) => {\n return str.indexOf(substr, str.length - substr.length) !== -1;\n};\n\nexport const sortByOrder = (a, b) => {\n if (a.order < b.order) {\n return -1;\n }\n if (a.order > b.order) {\n return 1;\n }\n return 0;\n};\n","export * from './history';\nexport * from './store';\nexport * from './auth-header';\nexport * from './upload';\nexport * from './showoldlink';\nexport * from './role';\nexport * from './formater';\nexport * from './tablehelpers';\nexport * from './stringchecks';\nexport const LOG = process.env.NODE_ENV == 'development' ? console.log.bind(console) : function () {};\n","import {alertConstants} from '../constants';\n\nexport const alertActions = {\n success,\n error,\n warning,\n clear,\n};\n\nfunction success(message) {\n return {type: alertConstants.SUCCESS, message};\n}\n\nfunction error(message) {\n return {type: alertConstants.ERROR, message};\n}\n\nfunction warning(message) {\n return {type: alertConstants.WARNING, message};\n}\n\nfunction clear() {\n return {type: alertConstants.CLEAR};\n}\n","import {userConstants} from '../constants';\nimport {userService} from '../../services';\nimport {alertActions} from '.';\nimport {history} from '../../helpers';\nimport {swal} from 'react-redux-sweetalert'; // eslint-disable-line\n\nexport const userActions = {\n login,\n logout,\n register,\n getAll,\n recover,\n reset,\n confirm,\n delete: _delete,\n};\n\nfunction login(username, password) {\n return (dispatch) => {\n dispatch(request({username}));\n\n userService.login(username, password).then(\n (user) => {\n dispatch(success(user));\n history.push('/');\n },\n (error) => {\n dispatch(failure(error.toString()));\n // dispatch(alertActions.error(error.toString()));\n }\n );\n };\n\n function request(user) {\n return {type: userConstants.LOGIN_REQUEST, user};\n }\n function success(user) {\n return {type: userConstants.LOGIN_SUCCESS, user};\n }\n function failure(error) {\n return {type: userConstants.LOGIN_FAILURE, error};\n }\n}\n\nfunction logout() {\n userService.logout();\n return {type: userConstants.LOGOUT};\n}\n\nfunction register(user) {\n return (dispatch) => {\n dispatch(request(user));\n\n userService.register(user).then(\n (user) => {\n dispatch(success());\n history.push('/login');\n dispatch(alertActions.success('Registration successful'));\n },\n (error) => {\n dispatch(failure(error.toString()));\n dispatch(alertActions.error(error.toString()));\n }\n );\n };\n\n function request(user) {\n return {type: userConstants.REGISTER_REQUEST, user};\n }\n function success(user) {\n return {type: userConstants.REGISTER_SUCCESS, user};\n }\n function failure(error) {\n return {type: userConstants.REGISTER_FAILURE, error};\n }\n}\n\nfunction recover(email) {\n return (dispatch) => {\n dispatch(request({email}));\n\n userService.recover(email).then(\n (outcome) => {\n dispatch(success(outcome));\n },\n (error) => {\n dispatch(failure(error.toString()));\n dispatch(alertActions.error(error.toString()));\n }\n );\n };\n\n function request(outcome) {\n return {type: userConstants.RECOVER_REQUEST, outcome};\n }\n function success(outcome) {\n return {type: userConstants.RECOVER_SUCCESS, outcome};\n }\n function failure(error) {\n return {type: userConstants.RECOVER_FAILURE, error};\n }\n}\n\nfunction reset(code, email, password) {\n return (dispatch) => {\n dispatch(request({code, email, password}));\n\n userService.reset(code, email, password).then(\n (outcome) => {\n dispatch(success(outcome));\n },\n (error) => {\n dispatch(failure(error.toString()));\n //dispatch(alertActions.error(error.toString()));\n }\n );\n };\n\n function request(outcome) {\n return {type: userConstants.RESET_REQUEST, outcome};\n }\n function success(outcome) {\n return {type: userConstants.RESET_SUCCESS, outcome};\n }\n function failure(error) {\n return {type: userConstants.RESET_FAILURE, error};\n }\n}\n\nfunction confirm(params) {\n return (dispatch) => {\n dispatch(request({params}));\n\n userService.confirm(params).then(\n (outcome) => {\n dispatch(success(outcome));\n },\n (error) => {\n dispatch(failure(error.toString()));\n dispatch(alertActions.error(error.toString()));\n }\n );\n };\n\n function request(outcome) {\n return {type: userConstants.CONFIRM_REQUEST, outcome};\n }\n function success(outcome) {\n return {type: userConstants.CONFIRM_SUCCESS, outcome};\n }\n function failure(error) {\n return {type: userConstants.CONFIRM_FAILURE, error};\n }\n}\n\nfunction getAll() {\n return (dispatch) => {\n dispatch(request());\n\n userService.getAll().then(\n (users) => dispatch(success(users)),\n (error) => dispatch(failure(error.toString()))\n );\n };\n\n function request() {\n return {type: userConstants.GETALL_REQUEST};\n }\n function success(users) {\n return {type: userConstants.GETALL_SUCCESS, users};\n }\n function failure(error) {\n return {type: userConstants.GETALL_FAILURE, error};\n }\n}\n\n// prefixed function name with underscore because delete is a reserved word in javascript\nfunction _delete(id) {\n return (dispatch) => {\n dispatch(request(id));\n\n userService.delete(id).then(\n (user) => dispatch(success(id)),\n (error) => dispatch(failure(id, error.toString()))\n );\n };\n\n function request(id) {\n return {type: userConstants.DELETE_REQUEST, id};\n }\n function success(id) {\n return {type: userConstants.DELETE_SUCCESS, id};\n }\n function failure(id, error) {\n return {type: userConstants.DELETE_FAILURE, id, error};\n }\n}\n","import {listingConstants} from '../constants';\nimport {alertActions, uploadActions} from '.';\nimport {listingService} from '../../services';\nimport {batchQueryReport} from '../../FVDashboard/Components/GADashboard/batchQueryReport';\n\nexport const listingActions = {\n getListingMeta,\n getListings,\n getVideosByDate,\n getFilteredListings,\n refreshListings,\n getListingTemplates,\n getListingTemplatesFromOrganization,\n saveListing,\n saveListingSubmission,\n logout,\n getpresigneduploadurl,\n saveUploadedInfo,\n getAnalytics,\n};\n\nfunction logout() {\n listingService.logout();\n return {type: listingConstants.LOGOUT};\n}\n\nfunction saveListing(listingrequest) {\n const createdBy = listingrequest['updatedBy'];\n const listingTypeId = listingrequest['listingTypeId'];\n return (dispatch) => {\n dispatch(request(listingrequest));\n\n listingService.saveListing(listingrequest).then(\n (response) => {\n var listing = {};\n listing.success = response.success;\n listing.listing = response;\n if (listingrequest['pageIndex'] !== null) {\n dispatch(\n getListings(listingrequest['pageIndex'], 10, listingrequest['updatedBy'], listingrequest['listingTypeId'])\n );\n }\n dispatch(success(listing));\n // dispatch(uploadActions.clearUploadFiles());\n },\n (error) => {\n dispatch(failure(error.toString()));\n dispatch(alertActions.error(error.toString()));\n }\n );\n };\n\n function request(listing) {\n return {type: listingConstants.SAVELISTING_REQUEST, listing};\n }\n function success(listing) {\n return {type: listingConstants.SAVELISTING_SUCCESS, listing};\n }\n function failure(error) {\n return {type: listingConstants.SAVELISTING_FAILURE, error};\n }\n}\n\nfunction saveListingSubmission(listingsubmissionrequest) {\n return (dispatch) => {\n dispatch(request(listingsubmissionrequest));\n\n listingService.saveListingSubmission(listingsubmissionrequest).then(\n (listing) => {\n dispatch(success(listing));\n },\n (error) => {\n dispatch(failure(error.toString()));\n dispatch(alertActions.error(error.toString()));\n }\n );\n };\n\n function request(listing) {\n return {type: listingConstants.SAVELISTINGSUBMISSION_REQUEST, listing};\n }\n function success(listing) {\n return {type: listingConstants.SAVELISTINGSUBMISSION_SUCCESS, listing};\n }\n function failure(error) {\n return {type: listingConstants.SAVELISTINGSUBMISSION_FAILURE, error};\n }\n}\n\nfunction getListingMeta(industrysectorid) {\n return (dispatch) => {\n dispatch(request());\n\n listingService.getListingMeta(industrysectorid).then(\n (listingtypes) => dispatch(success(listingtypes)),\n (error) => dispatch(failure(error.toString()))\n );\n };\n\n function request() {\n return {type: listingConstants.GETLISTINGMETA_REQUEST};\n }\n function success(listingtypes) {\n return {\n type: listingConstants.GETLISTINGMETA_REQUEST_SUCCESS,\n listingtypes,\n };\n }\n function failure(error) {\n return {type: listingConstants.GETLISTINGMETA_REQUEST_FAILURE, error};\n }\n}\n\nfunction getVideosByDate(userid, startdate, enddate, branch) {\n return (dispatch) => {\n dispatch(request());\n\n listingService.getVideosByDate(userid, startdate, enddate, branch).then(\n (videos) => dispatch(success(videos)),\n (error) => dispatch(failure(error.toString()))\n );\n };\n\n function request() {\n return {type: listingConstants.GETLISTINGSVIDEOS_REQUEST};\n }\n function success(videos) {\n return {type: listingConstants.GETLISTINGSVIDEOS_SUCCESS, videos};\n }\n function failure(error) {\n return {type: listingConstants.GETLISTINGS_REQUEST_FAILURE, error};\n }\n}\n\nfunction getListings(page, pageSize, userid, currentListingType) {\n return (dispatch) => {\n dispatch(request());\n\n listingService.getListings(page, pageSize, userid, currentListingType).then(\n (listings) => dispatch(success(listings)),\n (error) => dispatch(failure(error.toString()))\n );\n };\n\n function request() {\n return {type: listingConstants.GETLISTINGS_REQUEST};\n }\n function success(listings) {\n return {type: listingConstants.GETLISTINGS_REQUEST_SUCCESS, listings};\n }\n function failure(error) {\n return {type: listingConstants.GETLISTINGS_REQUEST_FAILURE, error};\n }\n}\n\nfunction getFilteredListings(page, pageSize, userid, currentListingType, filter) {\n return (dispatch) => {\n dispatch(request());\n\n listingService.getFilteredListings(page, pageSize, userid, currentListingType, filter).then(\n (listings) => dispatch(success(listings)),\n (error) => dispatch(failure(error.toString()))\n );\n };\n\n function request() {\n return {type: listingConstants.GETLISTINGS_REQUEST};\n }\n function success(listings) {\n return {type: listingConstants.GETLISTINGS_REQUEST_SUCCESS, listings};\n }\n function failure(error) {\n return {type: listingConstants.GETLISTINGS_REQUEST_FAILURE, error};\n }\n}\n\nfunction refreshListings(row, value) {\n const result = {\n type: listingConstants.UPDATELISTINGS_REQUEST,\n };\n return result;\n}\n\nfunction getListingTemplates(listingid) {\n return (dispatch) => {\n dispatch(request());\n\n listingService.getListingTemplates(listingid).then(\n (videotemplates) => dispatch(success(videotemplates)),\n (error) => dispatch(failure(error.toString()))\n );\n };\n\n function request() {\n return {type: listingConstants.GETLISTINGTEMPLATES_REQUEST};\n }\n function success(videotemplates) {\n return {\n type: listingConstants.GETLISTINGTEMPLATES_REQUEST_SUCCESS,\n videotemplates,\n };\n }\n function failure(error) {\n return {\n type: listingConstants.GETLISTINGTEMPLATES_REQUEST_FAILURE,\n error,\n };\n }\n}\n\nfunction getListingTemplatesFromOrganization(industrySectorId, locationId) {\n return (dispatch) => {\n dispatch(request());\n\n listingService.getListingTemplatesFromOrganization(encodeURIComponent(industrySectorId), locationId).then(\n (videotemplates) => dispatch(success(videotemplates)),\n (error) => dispatch(failure(error.toString()))\n );\n };\n\n function request() {\n return {type: listingConstants.GETLISTINGTEMPLATES_REQUEST};\n }\n function success(videotemplates) {\n return {\n type: listingConstants.GETLISTINGTEMPLATES_REQUEST_SUCCESS,\n videotemplates,\n };\n }\n function failure(error) {\n return {\n type: listingConstants.GETLISTINGTEMPLATES_REQUEST_FAILURE,\n error,\n };\n }\n}\n\nfunction getpresigneduploadurl(bucket, directories, files, data) {\n return (dispatch, getState) => {\n // const { awsresponse } = getState();\n // dont accept more than 4 requested upload files at a time\n // if (awsresponse.items.length >= 4) return;\n\n // dispatch(request());\n listingService.getpresigneduploadurl(bucket, directories, data['playerId']).then(\n (awsresponse) => {\n dispatch(success(awsresponse));\n data['authUrls'] = awsresponse;\n var payloadData = {};\n payloadData.files = files;\n payloadData.data = data;\n dispatch(uploadActions.setUploadFile(payloadData));\n },\n (error) => {\n files.forEach((element) => {\n dispatch(uploadActions.failureUploadFile(element.id));\n });\n dispatch(failure(error.toString()));\n }\n );\n };\n\n // function request() { return { type: listingConstants.GETPRESIGNEDURL_REQUEST } }\n function success(awsresponse) {\n return {\n type: listingConstants.GETPRESIGNEDURL_REQUEST_SUCCESS,\n awsresponse,\n };\n }\n function failure(error) {\n return {type: listingConstants.GETPRESIGNEDURL_REQUEST_FAILURE, error};\n }\n}\n\nfunction saveUploadedInfo(listing, userid, currentListingType, pageIndex) {\n return (dispatch) => {\n dispatch(request(listing));\n listingService.saveUploadedInfo(listing).then(\n (listing) => {\n dispatch(success(listing));\n dispatch(listingActions.getListings(pageIndex, 10, userid, currentListingType));\n dispatch(alertActions.success('Video Settings Successfully Saved'));\n dispatch(alertActions.clear());\n },\n (error) => {\n dispatch(failure(error.toString()));\n dispatch(alertActions.error(error.toString()));\n dispatch(alertActions.clear());\n }\n );\n };\n\n function request(listing) {\n return {type: listingConstants.SAVELISTINGUPLOADINFO_REQUEST, listing};\n }\n function success(listing) {\n return {type: listingConstants.SAVELISTINGUPLOADINFO_SUCCESS, listing};\n }\n function failure(error) {\n return {type: listingConstants.SAVELISTINGUPLOADINFO_FAILURE, error};\n }\n}\n\nfunction getAnalytics(analytics) {\n return (dispatch) => {\n dispatch(retrieve(analytics));\n const queries = analytics.queries;\n batchQueryReport(queries)\n .then((resp) => {\n analytics = handleResult(analytics, resp);\n dispatch(success(analytics));\n })\n .catch((error) => {\n if (error.status == 429) {\n setTimeout(function() {\n queryReport(queries)\n .then((resp) => {\n analytics = handleResult(analytics, resp);\n dispatch(success(analytics));\n })\n .catch((error) => {\n dispatch(failure(error.toString()));\n dispatch(alertActions.error(error.toString()));\n dispatch(alertActions.clear());\n });\n }, 2000);\n } else {\n dispatch(failure(error.toString()));\n dispatch(alertActions.error(error.toString()));\n dispatch(alertActions.clear());\n }\n });\n };\n\n function handleResult(analytics, resp) {\n resp.result.reports.forEach((row, index) => {\n if (index == 0) {\n analytics.views = row.data.rows;\n } else if (index == 1) {\n analytics.uniqueviews = row.data.rows;\n } else if (index == 2) {\n analytics.totalwatched = row.data.rows;\n } else if (index == 3) {\n analytics.seconds = row.data.rows;\n }\n });\n\n return analytics;\n }\n\n function retrieve(analytics) {\n return {type: listingConstants.GETANALYTICS_REQUEST, analytics};\n }\n function success(analytics) {\n return {type: listingConstants.GETANALYTICS_SUCCESS, analytics};\n }\n function failure(error) {\n return {type: listingConstants.GETANALYTICS_FAILURE, error};\n }\n}\n","import {format} from 'date-fns';\n\nexport const batchQueryReport = (props) => {\n const queries = [...props];\n\n const requestDimensions = (dimensions) => {\n let result = [];\n if (dimensions) {\n dimensions.forEach((item) => {\n result.push({\n name: item,\n });\n });\n }\n return result;\n };\n const reportRequests = [];\n queries.forEach((element) => {\n reportRequests.push({\n viewId: element.viewID,\n dateRanges: [\n {\n startDate: format(new Date(element.startDate), 'yyyy-MM-dd'),\n endDate: format(new Date(element.endDate), 'yyyy-MM-dd'),\n },\n ],\n filtersExpression: element.filter,\n metrics: [\n {\n expression: element.metrics,\n },\n ],\n dimensions: requestDimensions(element.dimensions),\n orderBys: element.orderBy\n ? [\n {\n fieldName: element.orderBy.fieldName,\n sortOrder: element.orderBy.order,\n },\n ]\n : [],\n });\n });\n return window.gapi.client.request({\n path: '/v4/reports:batchGet',\n root: 'https://analyticsreporting.googleapis.com/',\n method: 'POST',\n body: {\n reportRequests: reportRequests,\n },\n });\n};\n","import axios from 'axios';\nimport {alertActions} from '.';\nimport {authHeader, LOG} from '../../helpers';\nimport {config} from '../../config';\n\nexport const setupActions = {\n saveOrganization,\n validateEmail,\n};\n\nfunction saveOrganization(payload) {\n return (dispatch) => {\n const requestOptions = {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify(payload),\n };\n return fetch(`${config.apiUrl}/accounts/register`, requestOptions)\n .then((response) => {\n if (!response.ok) {\n // create error object and reject if not a 2xx response code\n let err = new Error('HTTP status code: ' + response.status);\n err.response = response;\n err.status = response.status;\n throw err;\n }\n return response;\n })\n .catch((error) => {\n return error;\n });\n };\n}\n\nfunction validateEmail(val) {\n return (dispatch) => {\n const requestOptions = {\n method: 'GET',\n headers: {'Content-Type': 'application/json'},\n };\n\n return fetch(`${config.apiUrl}/accounts/email?email=${val}`, requestOptions)\n .then((response) => {\n return response;\n })\n .catch((error) => {\n return error;\n });\n };\n}\n","// libraries\nimport React, {useEffect} from 'react';\nimport {connect} from 'react-redux';\nimport {size, toArray} from 'lodash';\nimport {Progress} from 'react-sweet-progress';\nimport {ListGroupItem} from 'reactstrap';\n\n// generics\nimport '../FVIcons/fvIconStyle.css';\n\n// components\nimport {uploadActions} from '../../../redux/actions';\n\nconst UploadProgress = (props) => {\n const {fileProgress, uploadFile, uploadType} = props;\n const fileToUpload = toArray(fileProgress).filter((file) => file.status === 0);\n\n useEffect(() => {\n const progressedFileAmount = size(fileToUpload);\n if (progressedFileAmount > 0) {\n uploadFile(fileToUpload, 1);\n }\n }, [fileProgress]);\n\n return size(fileToUpload)\n ? fileToUpload.map((file) =>\n uploadType === 'MediaClips' ? null : (\n \n
\n
\n
\n {uploadType !== 'Cloudinary' && (\n <>\n
Uploading file {file.file.path}
\n \n \n )}\n
\n
\n
\n )\n )\n : null;\n};\n\nconst mapStateToProps = (state) => ({\n fileProgress: state.fileProgressUploads.fileProgress,\n uploadedFiles: state.fileProgressUploads.uploadedFiles,\n});\n\nconst actionCreators = {\n uploadFile: uploadActions.uploadFile,\n setUploadProgress: uploadActions.setUploadProgress,\n};\n\nexport default connect(mapStateToProps, actionCreators)(UploadProgress);\n","// import storage from 'redux-persist/lib/storage'; // defaults to localStorage for web and AsyncStorage for react-native\nimport * as storage from \"../helpers/storage\";\n\nlet apiUrl = 'http://devapi.firstviewings.com/api/v1';\nlet s3Url = 'https://fvstaging.s3.eu-west-1.amazonaws.com/';\nlet s3Env = 'fvstaging/staging_clients';\nif (process.env.REACT_APP_STAGE === 'Production') {\n apiUrl = 'https://apiv2.firstviewings.com/Prod/api/v1';\n s3Url = 'https://fvproduction.s3.eu-west-1.amazonaws.com/';\n s3Env = 'fvproduction';\n} else if (process.env.REACT_APP_STAGE === 'Staging') {\n apiUrl = 'https://stagingapi2.firstviewings.com/Prod/api/v1';\n s3Url = 'https://fvstaging.s3.eu-west-1.amazonaws.com/';\n s3Env = 'fvstaging/staging_clients';\n}\n\nexport const config = {\n apiUrl: apiUrl,\n v1Url: 'https://dashboard.firstviewings.com/',\n portalUrl: 'https://master.d38nhyj8a55d0b.amplifyapp.com/',\n fvUrl: 'https://www.firstviewings.com/',\n s3Url: s3Url,\n s3Env: s3Env,\n vAccessToken: process.env.REACT_APP_VIMEO_API_KEY,\n gAccessKey: process.env.REACT_APP_GOOGLE_MAPS_API_KEY,\n newVideoUrl: 'https://videos.firstviewings.com/',\n};\n\nexport const persistConfig = {\n key: 'root',\n storage,\n};\n","import axios from 'axios';\nimport {uploadFileTypes} from '../constants';\nimport {alertActions} from '.';\nimport {LOG} from '../../helpers';\n\nexport const uploadActions = {\n setUploadFile,\n setUploadProgress,\n successUploadFile,\n failureUploadFile,\n uploadFile,\n clearUploadFiles,\n};\n\nfunction setUploadFile(data) {\n return {\n type: uploadFileTypes.SET_UPLOAD_FILE,\n payload: data,\n };\n}\n\nfunction setUploadProgress(id, progress, file) {\n return {\n type: uploadFileTypes.SET_UPLOAD_PROGRESS,\n payload: {\n id,\n progress,\n file,\n },\n };\n}\n\nfunction successUploadFile(id, status) {\n return {\n type: uploadFileTypes.SUCCESS_UPLOAD_FILE,\n payload: {\n id,\n status,\n },\n };\n}\n\nfunction failureUploadFile(id) {\n return {\n type: uploadFileTypes.FAILURE_UPLOAD_FILE,\n payload: id,\n };\n}\n\nfunction getBase64fromMultipleFiles(payload, index, fileProgress, progress) {\n return (dispatch) => {\n const reader = new FileReader();\n LOG(`working on index: ` + index);\n reader.readAsDataURL(payload[index].file);\n reader.onload = () => {\n LOG(`getBase64fromFile success on index: ` + index);\n const spliced = reader.result.split(',');\n // const header = spliced[0];\n spliced.shift();\n const CancelToken = axios.CancelToken;\n const source = CancelToken.source();\n let axios_config = {\n cancelToken: source.token,\n headers: {\n 'Content-Type': payload[index].file.type,\n 'Content-Encoding': 'base64',\n 'Access-Control-Allow-Origin': true,\n 'x-amz-meta-playerid': payload[index].data['playerId'],\n },\n timeout: 6000000,\n onUploadProgress: (progressEvent) => {\n const {loaded, total} = progressEvent;\n if (loaded === total) {\n progress.current++;\n }\n const percentageProgress = Math.floor((loaded / total) * 100);\n // save the individual file's progress percentage in object\n fileProgress[payload[index].file.name] = percentageProgress;\n // sum up all file progress percentages to calculate the overall progress\n let totalPercent = fileProgress ? Object.values(fileProgress).reduce((sum, num) => sum + num, 0) : 0;\n // divide the total percentage by the number of files\n progress.percent = parseInt(Math.round(totalPercent / progress.total));\n if (payload[index].data.uploadType === 'MediaClips') {\n // LOG(\"Total progress: \" + progress.percent);\n const totalNode = document.getElementsByClassName('total-progress-class');\n totalNode[0].children[0].children[0].style.width = `${progress.percent}%`;\n totalNode[0].children[0].children[0].style.backgroundColor = 'rgb(14, 170, 166)';\n totalNode[0].children[1].innerText = `${progress.percent}%`;\n } else {\n // dispatch(setUploadProgress(file.id, percentageProgress))\n const currentNode = document.getElementsByClassName(payload[index].id + '-progress-class');\n if (currentNode.length > 0) {\n if (percentageProgress % 5 === 0) {\n currentNode[0].children[1].children[0].children[0].style.width = `${percentageProgress}%`;\n currentNode[0].children[1].children[0].children[0].style.backgroundColor = 'rgb(14, 170, 166)';\n currentNode[0].children[1].children[1].innerText = `${percentageProgress}%`;\n }\n }\n }\n },\n };\n LOG(`resolving index: ` + index);\n axios\n .put(payload[index].data.authUrls[index].split('#')[0], Buffer.from(spliced.join(''), 'base64'), axios_config)\n .then(() => {\n //file uploaded\n LOG(`file uploaded for index: ` + index);\n if (payload[index].data.uploadType === 'MediaClips') {\n if (payload[index].data.sourceabs[index].match(/[^/]+(jpg|png|gif)$/) !== null) {\n LOG('image uploaded');\n payload[index].data.uploadedsources.push(\n payload[index].data.sourceabs[index] + '|' + payload[index].data.sourceabs[index]\n );\n dispatch(successUploadFile(payload[index].id, payload[index]));\n if (index === 0) {\n dispatch(alertActions.success('Files uploaded'));\n dispatch(alertActions.clear());\n }\n } else {\n LOG('video uploaded');\n // the url uplaoded is not an image -> proceed creating a vimeo video\n dispatch(successUploadFile(payload[index].file.id, payload[index]));\n if (index === 0) {\n dispatch(alertActions.success('Files uploaded'));\n dispatch(alertActions.clear());\n }\n }\n } else if (payload[index].data.uploadType === 'Thumbnails') {\n dispatch(successUploadFile(payload[index].id, payload[index]));\n dispatch(alertActions.success('Thumbnail uploaded, it will be available shortly'));\n //dispatch(alertActions.clear());\n } else {\n dispatch(successUploadFile(payload[index].id, payload[index]));\n dispatch(alertActions.clear());\n }\n if (index > 0) {\n LOG(`nesting index: ` + index);\n index--;\n getBase64fromMultipleFiles(payload, index, fileProgress, progress)(dispatch);\n }\n })\n .catch((err) => {\n LOG('axios error: ' + err);\n });\n };\n reader.onerror = (err) => {\n LOG(`getBase64fromFile failed.`);\n };\n };\n}\n\nfunction processCloudinaryUpload(payload, index, fileProgress, progress) {\n return (dispatch) => {\n const formData = new FormData();\n formData.append('file', payload[index].file);\n formData.append('upload_preset', 'zixhwquj');\n formData.append('flags', 'attachment');\n formData.append('cloud_name', process.env.REACT_APP_PUBLIC_CLOUDINARY_NAME);\n // let data = '';\n // const reader = new FileReader();\n LOG(`working on index: ` + index);\n // reader.readAsDataURL(payload[index].file);\n // reader.onload = () => {\n LOG(`processCloudinaryUpload success on index: ` + index);\n // const spliced = reader.result.split(',');\n // const header = spliced[0];\n // spliced.shift();\n const CancelToken = axios.CancelToken;\n const source = CancelToken.source();\n let axios_config = {\n cancelToken: source.token,\n headers: { \"X-Requested-With\": \"XMLHttpRequest\" },\n // headers: {\n // 'Content-Type': 'multipart/form-data',\n // 'Access-Control-Allow-Origin': true,\n // },\n // timeout: 6000000,\n onUploadProgress: (progressEvent) => {\n const {loaded, total} = progressEvent;\n if (loaded === total) {\n progress.current++;\n }\n const percentageProgress = Math.floor((loaded / total) * 100);\n // save the individual file's progress percentage in object\n fileProgress[payload[index].file.name] = percentageProgress;\n // sum up all file progress percentages to calculate the overall progress\n let totalPercent = fileProgress ? Object.values(fileProgress).reduce((sum, num) => sum + num, 0) : 0;\n // divide the total percentage by the number of files\n progress.percent = parseInt(Math.round(totalPercent / progress.total));\n LOG('Total progress: ' + progress.percent);\n const totalNode = document.getElementsByClassName('total-progress-class');\n totalNode[0].children[0].children[0].style.width = `${progress.percent}%`;\n totalNode[0].children[0].children[0].style.backgroundColor = 'rgb(14, 170, 166)';\n totalNode[0].children[1].innerText = `${progress.percent}%`;\n },\n };\n LOG(`resolving index: ` + index);\n // create a new instance without interceptors.\n // you could also create this in its own module and import from there\n const instance = axios.create();\n instance\n .post(\n 'https://api.cloudinary.com/v1_1/' + process.env.REACT_APP_PUBLIC_CLOUDINARY_NAME + '/upload',\n formData,\n axios_config\n )\n .then((res) => {\n //file uploaded\n LOG(`file uploaded for index: ` + index);\n var response = res.data;\n if (payload[index].uploadType === 'Cloudinary') {\n LOG('image uploaded');\n payload[index].data = response;\n dispatch(successUploadFile(payload[index].id, payload[index]));\n if (index === 0) {\n dispatch(alertActions.success('File uploaded'));\n dispatch(alertActions.clear());\n }\n }\n if (index > 0) {\n LOG(`nesting index: ` + index);\n index--;\n processCloudinaryUpload(payload, index, fileProgress, progress)(dispatch);\n }\n })\n .catch((err) => {\n LOG('axios error: ' + err);\n });\n // };\n // reader.onerror = (err) => {\n // LOG(`processCloudinaryUpload failed.`);\n // };\n };\n}\n\nfunction uploadFile(payloads, index) {\n return (dispatch) => {\n if (payloads.length) {\n const fileProgress = [];\n const progress = {\n current: 0,\n percent: 0,\n total: payloads.length,\n };\n if (payloads[0].uploadType !== 'Cloudinary') {\n getBase64fromMultipleFiles(payloads, payloads.length - index, fileProgress, progress)(dispatch);\n } else {\n processCloudinaryUpload(payloads, payloads.length - index, fileProgress, progress)(dispatch);\n }\n }\n };\n}\n\nfunction clearUploadFiles() {\n return {\n type: uploadFileTypes.CLEAR_UPLOAD_FILES,\n };\n}\n","import {config} from '../config';\nimport {authHeader} from '../helpers';\nimport * as storage from '../helpers/storage';\n\nexport const userService = {\n login,\n logout,\n register,\n getAll,\n getById,\n update,\n delete: _delete,\n recover,\n reset,\n confirm,\n};\n\nfunction login(username, password) {\n const requestOptions = {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({username, password}),\n };\n // console.log(config.apiUrl);\n return fetch(`${config.apiUrl}/Auth/login`, requestOptions)\n .then(handleResponse)\n .then((user) => {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n //localStorage.setItem('user', JSON.stringify(user));\n storage.local.setItem('user', JSON.stringify(user));\n return user;\n });\n}\n\nfunction logout() {\n // remove user from local storage to log user out\n // localStorage.removeItem('user');\n storage.local.removeItem('user');\n}\n\nfunction getAll() {\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(`${config.apiUrl}/users`, requestOptions).then(handleResponse);\n}\n\nfunction getById(id) {\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(`${config.apiUrl}/users/${id}`, requestOptions).then(handleResponse);\n}\n\nfunction register(user) {\n const requestOptions = {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify(user),\n };\n\n return fetch(`${config.apiUrl}/Accounts`, requestOptions).then(handleResponse);\n}\n\nfunction update(user) {\n const requestOptions = {\n method: 'PUT',\n headers: {...authHeader(), 'Content-Type': 'application/json'},\n body: JSON.stringify(user),\n };\n\n return fetch(`${config.apiUrl}/users/${user.id}`, requestOptions).then(handleResponse);\n}\n\n// prefixed function name with underscore because delete is a reserved word in javascript\nfunction _delete(id) {\n const requestOptions = {\n method: 'DELETE',\n headers: authHeader(),\n };\n\n return fetch(`${config.apiUrl}/users/${id}`, requestOptions).then(handleResponse);\n}\n\nfunction recover(email) {\n const requestOptions = {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({email}),\n };\n // console.log(config.apiUrl);\n return fetch(`${config.apiUrl}/Auth/ForgotPassword`, requestOptions)\n .then(handleResponse)\n .then((outcome) => {\n return outcome;\n });\n}\n\nfunction confirm(params) {\n const requestOptions = {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({params: params}),\n };\n return fetch(`${config.apiUrl}/Auth/Confirm`, requestOptions)\n .then(handleResponse)\n .then((outcome) => {\n return outcome;\n });\n}\n\nfunction reset(code, email, password) {\n const requestOptions = {\n method: 'POST',\n headers: {'Content-Type': 'application/json'},\n body: JSON.stringify({code: code, email: email, password: password, confirmPassword: password}),\n };\n // console.log(config.apiUrl);\n return fetch(`${config.apiUrl}/Auth/ResetPassword`, requestOptions).then((outcome) => {\n return outcome.text().then((text) => {\n const data = text && JSON.parse(text);\n return data;\n });\n });\n}\n\nfunction handleResponse(response) {\n return response.text().then((text) => {\n const data = text && JSON.parse(text);\n if (!response.ok) {\n if (response.status === 401) {\n // auto logout if 401 response returned from api\n logout();\n window.location.reload(true);\n }\n\n const error = (data && data.message) || response.statusText;\n return Promise.reject(error);\n }\n\n return data;\n });\n}\n","import * as storage from \"../helpers/storage\";\nimport {config} from '../config';\nimport {authHeader} from '../helpers';\n\nexport const listingService = {\n getListingMeta,\n getListings,\n getVideosByDate,\n getFilteredListings,\n getListingTemplates,\n getListingTemplatesFromOrganization,\n saveListing,\n saveListingSubmission,\n logout,\n getpresigneduploadurl,\n saveUploadedInfo,\n updateVideoThumbnail,\n};\n\nfunction getListingMeta(industrysectorid) {\n console.log(industrysectorid);\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(`${config.apiUrl}/listingmeta/${industrysectorid}`, requestOptions).then(handleResponse);\n}\n\nfunction getListings(page, pageSize, userid, currentListingType) {\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(\n `${config.apiUrl}/listings/getlistings/${userid}/${currentListingType}?page=${page}&pageSize=${pageSize}`,\n requestOptions\n ).then(handleResponse);\n}\n\nfunction getVideosByDate(userid, startdate, enddate, branch) {\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(\n `${config.apiUrl}/listings/getlistings/${userid}/0?userid=${userid}&fromdate=${startdate}&todate=${enddate}&filter=${branch}`,\n requestOptions\n ).then(handleResponse);\n}\n\nfunction getFilteredListings(page, pageSize, userid, currentListingType, filter) {\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(\n `${config.apiUrl}/listings/getlistings/${userid}/${currentListingType}?page=${page}&pageSize=${pageSize}&filter=${filter}`,\n requestOptions\n ).then(handleResponse);\n}\n\nfunction getListingTemplates(listingid) {\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(`${config.apiUrl}/listings/getlistingtemplates/${listingid}`, requestOptions).then(handleResponse);\n}\n\nfunction getListingTemplatesFromOrganization(industrySectorId, locationId) {\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(\n `${config.apiUrl}/listings/getlistingtemplatesfromorganization/${industrySectorId}/${locationId}`,\n requestOptions\n ).then(handleResponse);\n}\n\nfunction saveListing(listing) {\n const requestOptions = {\n method: 'POST',\n headers: {...authHeader(), 'Content-Type': 'application/json'},\n body: JSON.stringify(listing),\n };\n return fetch(`${config.apiUrl}/listings/`, requestOptions).then(handleResponse);\n}\n\nfunction saveListingSubmission(listing) {\n const requestOptions = {\n method: 'POST',\n headers: {...authHeader(), 'Content-Type': 'application/json'},\n body: JSON.stringify(listing),\n };\n return fetch(`${config.apiUrl}/listings/videos/`, requestOptions).then(handleResponse);\n}\n\nfunction logout() {\n // remove user from local storage to log user out\n // localStorage.removeItem('user');\n storage.local.removeItem('user');\n}\n\nfunction getpresigneduploadurl(bucket, directories, playerid) {\n const requestOptions = {\n method: 'GET',\n headers: authHeader(),\n };\n\n return fetch(\n `${config.apiUrl}/listings/getpresigneduploadurl/${bucket}/${directories}/${playerid}`,\n requestOptions\n ).then(handleResponse);\n}\n\nfunction saveUploadedInfo(listing) {\n const requestOptions = {\n method: 'POST',\n headers: {...authHeader(), 'Content-Type': 'application/json'},\n body: JSON.stringify(listing),\n };\n return fetch(`${config.apiUrl}/listings/uploadmediaclips`, requestOptions).then(handleResponse);\n}\n\nfunction updateVideoThumbnail(thumbnail, url) {\n let thumb_request = {\n source: thumbnail,\n videosource: url,\n };\n const requestOptions = {\n method: 'POST',\n headers: {...authHeader(), 'Content-Type': 'application/json'},\n body: JSON.stringify(thumb_request),\n };\n return fetch(`${config.apiUrl}/listings/updatemediaclipthumbnail`, requestOptions).then(handleResponse);\n}\n\nfunction handleResponse(response) {\n return response.text().then((text) => {\n const data = text && JSON.parse(text);\n if (!response.ok) {\n if (response.status === 401) {\n // auto logout if 401 response returned from api\n logout();\n window.location.reload(true);\n }\n\n const error = (data && data.message) || response.statusText;\n return Promise.reject(error);\n }\n\n return data;\n });\n}\n","import React from 'react';\n// import IcoMoon, {iconList} from 'react-icomoon';\nimport IcoMoon from 'react-icomoon';\nimport './fvIconStyle.css';\nconst iconSet = require('./selection.json');\n\n// console.log(iconList(iconSet));\n\nconst Icon = ({...props}) => {\n return ;\n};\n\nexport default Icon;\n","import { storageFactory } from \"storage-factory\";\n\nexport const local = storageFactory(() => localStorage);\nexport const session = storageFactory(() => sessionStorage);","// libraries\nimport React, {useState} from 'react';\nimport {InputGroup, InputGroupAddon, InputGroupText} from 'reactstrap';\nimport {AvGroup, AvInput, AvFeedback} from 'availity-reactstrap-validation';\n\n// generics\nimport './iconInputField.css';\n\nexport const IconPasswordValidatorInput = (props) => {\n const {iconsrc, placeholder, name, isrequired, maxlength} = props;\n\n const atLeastOneUppercase = /[A-Z]/g; // capital letters from A to Z\n const atLeastOneLowercase = /[a-z]/g; // small letters from a to z\n const atLeastOneNumeric = /[0-9]/g; // numbers from 0 to 9\n const atLeastOneSpecialChar = /[#?!@$%^&*-]/g; // any of the special characters within the square brackets\n const eightCharsOrMore = /.{8,}/g; // eight characters or more\n\n const [meter, setMeter] = useState(false);\n const [password, setPassword] = useState(props.value);\n const [passwordShown, setPasswordShown] = useState(false);\n\n // Password toggle handler\n const togglePassword = (e) => {\n e.preventDefault();\n // When the handler is invoked\n // inverse the boolean state of passwordShown\n setPasswordShown(!passwordShown);\n };\n\n const passwordTracker = {\n uppercase: password.match(atLeastOneUppercase),\n lowercase: password.match(atLeastOneLowercase),\n number: password.match(atLeastOneNumeric),\n specialChar: password.match(atLeastOneSpecialChar),\n eightCharsOrGreater: password.match(eightCharsOrMore),\n };\n const passwordStrength = Object.values(passwordTracker).filter((value) => value).length;\n let calcwidth = `calc((passwordStrength / 5) * 100%)`;\n return (\n \n \n {iconsrc && (\n \n \n \n \n \n )}\n setMeter(true)}\n onChange={(e) => {\n setPassword(e.target.value);\n props.setSelectedPasswordValue(e.target.value);\n }}\n className='rounded'\n placeholder={placeholder}\n name={name}\n id={name + '_Text'}\n required={isrequired}\n validate={{required: isrequired}}\n maxLength={maxlength}\n value={password}\n />\n \n \n \n {passwordShown ? 'Hide Password' : 'Show Password'}\n \n \n \n {meter && (\n
\n
\n
\n {passwordStrength < 5 && 'Must contain '}\n {!passwordTracker.uppercase && 'uppercase, '}\n {!passwordTracker.lowercase && 'lowercase, '}\n {!passwordTracker.specialChar && 'special character, '}\n {!passwordTracker.number && 'number, '}\n {!passwordTracker.eightCharsOrGreater && 'eight characters or more'}\n
\n \n )} \n {'Required field'}\n
\n
\n );\n};\n","// libraries\nimport React from 'react';\nimport {InputGroup, InputGroupAddon, InputGroupText} from 'reactstrap';\nimport {AvGroup, AvInput, AvFeedback} from 'availity-reactstrap-validation';\n\n// generics\nimport {endsWith} from '../../../helpers';\nimport './iconInputField.css';\n\nexport const IconTextInput = (props) => {\n const {dynamicField, maxlength} = props;\n return (\n \n \n {dynamicField.dynamicFieldValues.length > 0 && (\n \n \n \n \n \n )}\n \n {'Required field'}\n \n \n );\n};\n","// libraries\nimport React, {Component} from 'react';\nimport Script from 'react-load-script';\nimport {InputGroup, InputGroupAddon, InputGroupText} from 'reactstrap';\nimport {AvGroup, AvInput, AvFeedback} from 'availity-reactstrap-validation';\n\n// generics\nimport './iconInputField.css';\n\nexport class IconSearchLocationInput extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n query: this.props.value ? this.props.value : '',\n lat: '',\n lng: '',\n scriptLoaded: false,\n };\n\n this.handlePlaceSelect = this.handlePlaceSelect.bind(this);\n this.handleScriptLoad = this.handleScriptLoad.bind(this);\n }\n\n handleScriptLoad() {\n const inputEl = document.getElementById('locationAddress_Text');\n this.autocomplete = new google.maps.places.Autocomplete(inputEl, {});\n this.autocomplete.setFields(['address_components', 'formatted_address', 'geometry']);\n this.autocomplete.addListener('place_changed', this.handlePlaceSelect);\n google.maps.event.addDomListener(inputEl, 'keydown', function(event) {\n if (event.keyCode === 13) {\n event.preventDefault();\n }\n });\n this.setState({scriptLoaded: true});\n }\n\n handlePlaceSelect() {\n const addressObject = this.autocomplete.getPlace();\n this.setState({\n query: addressObject.formatted_address,\n lat: addressObject.geometry.location.lat(),\n lng: addressObject.geometry.location.lng(),\n });\n this.props.onLocationSelect(addressObject);\n // console.log(addressObject);\n }\n onFocus = (event) => {\n if (event.target.autocomplete) {\n event.target.autocomplete = 'whatever';\n }\n };\n\n render() {\n const {iconsrc, type, placeholder, name, isrequired, maxlength} = this.props;\n return (\n \n \n {iconsrc && (\n \n \n \n \n \n )}\n \n {'Required field'}\n \n {!this.state.scriptLoaded && (\n \n )}\n \n );\n }\n}\n","// libraries\nimport React, {useState} from 'react';\nimport {InputGroup, InputGroupAddon, InputGroupText, Row, Col} from 'reactstrap';\nimport {AvGroup, AvInput, AvFeedback} from 'availity-reactstrap-validation';\n// import {useAtom} from 'jotai';\n\n// generics\nimport './iconInputField.css';\n\nexport const StaticIconTextInput = (props) => {\n const {iconsrc, type, placeholder, name, isrequired, maxlength,id, fullenght, label} = props;\n// const [events, setEvents] = useAtom(eventsAtom);\n// const [localvalue, setLocalValue] = useState(events.has(id) ? events.get(id) : null );\n const [localvalue, setLocalValue] = useState(null );\n function handleChange(event) {\n setLocalValue(event.target.value);\n props.onChangeSelect(event);\n }\n return (\n \n \n \n {label && (\n \n {label}\n \n )}\n \n \n \n {iconsrc && (\n \n \n \n \n \n )}\n\n \n {'Required field'}\n \n \n \n \n );\n};\n","// libraries\nimport React, {Component, useRef} from 'react';\nimport {connect} from 'react-redux';\nimport {debounce} from 'lodash';\nimport {InputGroup, InputGroupAddon, InputGroupText} from 'reactstrap';\nimport {AvGroup} from 'availity-reactstrap-validation';\n\n// generics\nimport './iconInputField.css';\n\n// components\nimport {setupActions} from '../../../redux/actions';\n\nconst debouncedSearch = debounce(async (criteria, props) => {\n return await props.validateEmail(criteria);\n}, 300);\n\nclass connectedIconEmailValidationInput extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n isLoading: false,\n inputValue: this.props.value,\n debouncedMessage: '',\n };\n\n this.validation = this.validation.bind(this);\n }\n\n componentWillUnmount() {\n debouncedSearch.cancel();\n }\n\n debounceValidation = debounce(async (val, props) => {\n const res = await props.validateEmail(val);\n if (res.status === 200) {\n this.setState({\n isLoading: false,\n debouncedMessage: `Please choose another email address`,\n });\n } else {\n this.setState({\n isLoading: false,\n debouncedMessage: '',\n });\n this.props.onChangeSelect(val);\n }\n }, 1000);\n\n onChange = (e) => {\n this.setState({\n inputValue: e.target.value,\n });\n };\n\n // debounce to not pound the 'server'\n isValidEmail = (email) => {\n return /\\S+@\\S+\\.\\S+/.test(email);\n };\n\n validation = (e) => {\n if (this.state.inputValue !== this.props.value) {\n console.log(e.target.value);\n let reg = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w\\w+)+$/;\n if (reg.test(e.target.value) === false) {\n this.setState({\n isLoading: false,\n debouncedMessage: `Please enter a valid email address`,\n });\n } else {\n this.setState({isLoading: true, inputValue: e.currentTarget.value});\n this.debounceValidation(e.currentTarget.value, this.props);\n }\n // if (!this.isValidEmail(e.target.value) && e.target.value.length > 3) {\n // this.setState({\n // isLoading: false,\n // debouncedMessage: `Please enter a valid email address`,\n // });\n // } else {\n // this.setState({isLoading: true, inputValue: e.currentTarget.value});\n // this.debounceValidation(e.currentTarget.value, this.props);\n // }\n }\n };\n\n onFocus = (event) => {\n event.target.setAttribute('autocomplete', 'off');\n event.target.removeAttribute('readonly');\n };\n\n render() {\n const {iconsrc, type, placeholder, name, isrequired, maxlength} = this.props;\n return (\n \n \n {iconsrc && (\n \n \n \n \n \n )}\n \n \n {this.state.isLoading && (\n \n \n \n \n \n )}\n {!this.state.isLoading && this.state.debouncedMessage && (\n
\n {this.state.debouncedMessage}\n
\n )}\n
\n
\n );\n }\n}\n\nconst actionCreators = {\n validateEmail: setupActions.validateEmail,\n};\n\nexport const IconEmailValidationInput = connect(null, actionCreators)(connectedIconEmailValidationInput);\n","export default __webpack_public_path__ + \"static/media/bg1.00a65251.jpg\";","import videoProcessing from '../../assets/utils/images/video-processing/bg1.jpg';\n\nexport const SET_ENABLE_BACKGROUND_IMAGE = 'THEME_OPTIONS/SET_ENABLE_BACKGROUND_IMAGE';\n\nexport const SET_BACKGROUNDVIDEOPROCESSING_IMAGE = 'THEME_OPTIONS/SET_BACKGROUNDVIDEOPROCESSING_IMAGE';\n\nexport const SET_ENABLE_MOBILE_MENU = 'THEME_OPTIONS/SET_ENABLE_MOBILE_MENU';\nexport const SET_ENABLE_MOBILE_MENU_SMALL = 'THEME_OPTIONS/SET_ENABLE_MOBILE_MENU_SMALL';\n\nexport const SET_ENABLE_FIXED_HEADER = 'THEME_OPTIONS/SET_ENABLE_FIXED_HEADER';\nexport const SET_ENABLE_HEADER_SHADOW = 'THEME_OPTIONS/SET_ENABLE_HEADER_SHADOW';\nexport const SET_ENABLE_SIDEBAR_SHADOW = 'THEME_OPTIONS/SET_ENABLE_SIDEBAR_SHADOW';\nexport const SET_ENABLE_FIXED_SIDEBAR = 'THEME_OPTIONS/SET_ENABLE_FIXED_SIDEBAR';\nexport const SET_ENABLE_CLOSED_SIDEBAR = 'THEME_OPTIONS/SET_ENABLE_CLOSED_SIDEBAR';\nexport const SET_ENABLE_FIXED_FOOTER = 'THEME_OPTIONS/SET_ENABLE_FIXED_FOOTER';\n\nexport const SET_ENABLE_PAGETITLE_ICON = 'THEME_OPTIONS/SET_ENABLE_PAGETITLE_ICON';\nexport const SET_ENABLE_PAGETITLE_SUBHEADING = 'THEME_OPTIONS/SET_ENABLE_PAGETITLE_SUBHEADING';\nexport const SET_ENABLE_PAGE_TABS_ALT = 'THEME_OPTIONS/SET_ENABLE_PAGE_TABS_ALT';\n\nexport const SET_BACKGROUND_IMAGE = 'THEME_OPTIONS/SET_BACKGROUND_IMAGE';\nexport const SET_BACKGROUND_COLOR = 'THEME_OPTIONS/SET_BACKGROUND_COLOR';\nexport const SET_COLOR_SCHEME = 'THEME_OPTIONS/SET_COLOR_SCHEME';\nexport const SET_BACKGROUND_IMAGE_OPACITY = 'THEME_OPTIONS/SET_BACKGROUND_IMAGE_OPACITY';\n\nexport const SET_HEADER_BACKGROUND_COLOR = 'THEME_OPTIONS/SET_HEADER_BACKGROUND_COLOR';\n\nexport const setEnableBackgroundImage = (enableBackgroundImage) => ({\n type: SET_ENABLE_BACKGROUND_IMAGE,\n enableBackgroundImage,\n});\n\nexport const setEnableFixedHeader = (enableFixedHeader) => ({\n type: SET_ENABLE_FIXED_HEADER,\n enableFixedHeader,\n});\n\nexport const setEnableHeaderShadow = (enableHeaderShadow) => ({\n type: SET_ENABLE_HEADER_SHADOW,\n enableHeaderShadow,\n});\n\nexport const setEnableSidebarShadow = (enableSidebarShadow) => ({\n type: SET_ENABLE_SIDEBAR_SHADOW,\n enableSidebarShadow,\n});\n\nexport const setEnablePageTitleIcon = (enablePageTitleIcon) => ({\n type: SET_ENABLE_PAGETITLE_ICON,\n enablePageTitleIcon,\n});\n\nexport const setEnablePageTitleSubheading = (enablePageTitleSubheading) => ({\n type: SET_ENABLE_PAGETITLE_SUBHEADING,\n enablePageTitleSubheading,\n});\n\nexport const setEnablePageTabsAlt = (enablePageTabsAlt) => ({\n type: SET_ENABLE_PAGE_TABS_ALT,\n enablePageTabsAlt,\n});\n\nexport const setEnableFixedSidebar = (enableFixedSidebar) => ({\n type: SET_ENABLE_FIXED_SIDEBAR,\n enableFixedSidebar,\n});\n\nexport const setEnableClosedSidebar = (enableClosedSidebar) => ({\n type: SET_ENABLE_CLOSED_SIDEBAR,\n enableClosedSidebar,\n});\n\nexport const setEnableMobileMenu = (enableMobileMenu) => ({\n type: SET_ENABLE_MOBILE_MENU,\n enableMobileMenu,\n});\n\nexport const setEnableMobileMenuSmall = (enableMobileMenuSmall) => ({\n type: SET_ENABLE_MOBILE_MENU_SMALL,\n enableMobileMenuSmall,\n});\n\nexport const setEnableFixedFooter = (enableFixedFooter) => ({\n type: SET_ENABLE_FIXED_FOOTER,\n enableFixedFooter,\n});\n\nexport const setBackgroundColor = (backgroundColor) => ({\n type: SET_BACKGROUND_COLOR,\n backgroundColor,\n});\n\nexport const setHeaderBackgroundColor = (headerBackgroundColor) => ({\n type: SET_HEADER_BACKGROUND_COLOR,\n headerBackgroundColor,\n});\n\nexport const setColorScheme = (colorScheme) => ({\n type: SET_COLOR_SCHEME,\n colorScheme,\n});\n\nexport const setBackgroundImageOpacity = (backgroundImageOpacity) => ({\n type: SET_BACKGROUND_IMAGE_OPACITY,\n backgroundImageOpacity,\n});\n\nexport const setBackgroundImage = (backgroundImage) => ({\n type: SET_BACKGROUND_IMAGE,\n backgroundImage,\n});\n\nexport const backgroundImageVideoProcessing = (backgroundImageVideoProcessing) => ({\n type: SET_BACKGROUNDVIDEOPROCESSING_IMAGE,\n backgroundImageVideoProcessing,\n});\n\nexport default function reducer(\n state = {\n backgroundColor: 'bg-asteroid',\n headerBackgroundColor: 'bg-asteroid',\n enableMobileMenuSmall: '',\n enableBackgroundImage: false,\n enableClosedSidebar: false,\n enableFixedHeader: true,\n enableHeaderShadow: true,\n enableSidebarShadow: true,\n enableFixedFooter: false,\n enableFixedSidebar: true,\n colorScheme: 'white',\n // backgroundImage: sideBar6,\n backgroundImageVideoProcessing: videoProcessing,\n backgroundImageOpacity: 'opacity-0',\n enablePageTitleIcon: true,\n enablePageTitleSubheading: false,\n enablePageTabsAlt: true,\n },\n action\n) {\n switch (action.type) {\n case SET_ENABLE_BACKGROUND_IMAGE:\n return {\n ...state,\n enableBackgroundImage: action.enableBackgroundImage,\n };\n\n case SET_ENABLE_FIXED_HEADER:\n return {\n ...state,\n enableFixedHeader: action.enableFixedHeader,\n };\n\n case SET_ENABLE_HEADER_SHADOW:\n return {\n ...state,\n enableHeaderShadow: action.enableHeaderShadow,\n };\n\n case SET_ENABLE_SIDEBAR_SHADOW:\n return {\n ...state,\n enableSidebarShadow: action.enableSidebarShadow,\n };\n\n case SET_ENABLE_PAGETITLE_ICON:\n return {\n ...state,\n enablePageTitleIcon: action.enablePageTitleIcon,\n };\n\n case SET_ENABLE_PAGETITLE_SUBHEADING:\n return {\n ...state,\n enablePageTitleSubheading: action.enablePageTitleSubheading,\n };\n\n case SET_ENABLE_PAGE_TABS_ALT:\n return {\n ...state,\n enablePageTabsAlt: action.enablePageTabsAlt,\n };\n\n case SET_ENABLE_FIXED_SIDEBAR:\n return {\n ...state,\n enableFixedSidebar: action.enableFixedSidebar,\n };\n\n case SET_ENABLE_MOBILE_MENU:\n return {\n ...state,\n enableMobileMenu: action.enableMobileMenu,\n };\n\n case SET_ENABLE_MOBILE_MENU_SMALL:\n return {\n ...state,\n enableMobileMenuSmall: action.enableMobileMenuSmall,\n };\n\n case SET_ENABLE_CLOSED_SIDEBAR:\n return {\n ...state,\n enableClosedSidebar: action.enableClosedSidebar,\n };\n\n case SET_ENABLE_FIXED_FOOTER:\n return {\n ...state,\n enableFixedFooter: action.enableFixedFooter,\n };\n\n case SET_BACKGROUND_COLOR:\n return {\n ...state,\n backgroundColor: action.backgroundColor,\n };\n\n case SET_HEADER_BACKGROUND_COLOR:\n return {\n ...state,\n headerBackgroundColor: action.headerBackgroundColor,\n };\n\n case SET_COLOR_SCHEME:\n return {\n ...state,\n colorScheme: action.colorScheme,\n };\n\n case SET_BACKGROUND_IMAGE:\n return {\n ...state,\n backgroundImage: action.backgroundImage,\n };\n\n case SET_BACKGROUND_IMAGE_OPACITY:\n return {\n ...state,\n backgroundImageOpacity: action.backgroundImageOpacity,\n };\n case SET_BACKGROUNDVIDEOPROCESSING_IMAGE:\n return {\n ...state,\n backgroundImageVideoProcessing: action.backgroundImageVideoProcessing,\n };\n }\n return state;\n}\n","export const Role = {\n SuperAdmin: 'SuperAdmin',\n Admin: 'Admin',\n ContentManager: 'Content Manager',\n ContentCreator: 'Content Creator' \n}","export const alertConstants = {\n SUCCESS: 'ALERT_SUCCESS',\n WARNING: 'ALERT_WARNING',\n INFO: 'ALERT_INFO',\n ERROR: 'ALERT_ERROR',\n CLEAR: 'ALERT_CLEAR'\n};\n","export const userConstants = {\n REGISTER_REQUEST: 'USERS_REGISTER_REQUEST',\n REGISTER_SUCCESS: 'USERS_REGISTER_SUCCESS',\n REGISTER_FAILURE: 'USERS_REGISTER_FAILURE',\n\n LOGIN_REQUEST: 'USERS_LOGIN_REQUEST',\n LOGIN_SUCCESS: 'USERS_LOGIN_SUCCESS',\n LOGIN_FAILURE: 'USERS_LOGIN_FAILURE',\n\n RECOVER_REQUEST: 'USERS_RECOVER_REQUEST',\n RECOVER_SUCCESS: 'USERS_RECOVER_SUCCESS',\n RECOVER_FAILURE: 'USERS_RECOVER_FAILURE',\n\n RESET_REQUEST: 'USERS_RESET_REQUEST',\n RESET_SUCCESS: 'USERS_RESET_SUCCESS',\n RESET_FAILURE: 'USERS_RESET_FAILURE',\n\n CONFIRM_REQUEST: 'USERS_CONFIRM_REQUEST',\n CONFIRM_SUCCESS: 'USERS_CONFIRM_SUCCESS',\n CONFIRM_FAILURE: 'USERS_CONFIRM_FAILURE',\n\n LOGOUT: 'USERS_LOGOUT',\n\n GETALL_REQUEST: 'USERS_GETALL_REQUEST',\n GETALL_SUCCESS: 'USERS_GETALL_SUCCESS',\n GETALL_FAILURE: 'USERS_GETALL_FAILURE',\n\n DELETE_REQUEST: 'USERS_DELETE_REQUEST',\n DELETE_SUCCESS: 'USERS_DELETE_SUCCESS',\n DELETE_FAILURE: 'USERS_DELETE_FAILURE'\n};\n","export const listingConstants = {\n SAVELISTING_REQUEST: 'LISTINGS_SAVELISTING_REQUEST',\n SAVELISTING_SUCCESS: 'LISTINGS_SAVELISTING_SUCCESS',\n SAVELISTING_FAILURE: 'LISTINGS_SAVELISTING_FAILURE',\n\n SAVELISTINGSUBMISSION_REQUEST: 'LISTINGS_SAVELISTINGSUBMISSION_REQUEST',\n SAVELISTINGSUBMISSION_SUCCESS: 'LISTINGS_SAVELISTINGSUBMISSION_SUCCESS',\n SAVELISTINGSUBMISSION_FAILURE: 'LISTINGS_SAVELISTINGSUBMISSION_FAILURE',\n\n SAVELISTINGUPLOADINFO_REQUEST: 'LISTINGS_SAVELISTINGUPLOADINFO_REQUEST',\n SAVELISTINGUPLOADINFO_SUCCESS: 'LISTINGS_SAVELISTINGUPLOADINFO_SUCCESS',\n SAVELISTINGUPLOADINFO_FAILURE: 'LISTINGS_SAVELISTINGUPLOADINFO_FAILURE',\n\n SAVETHUMBNAILUPLOADINFO_REQUEST: 'LISTINGS_SAVETHUMBNAILUPLOADINFO_REQUEST',\n SAVETHUMBNAILUPLOADINFO_SUCCESS: 'LISTINGS_SAVETHUMBNAILUPLOADINFO_SUCCESS',\n SAVETHUMBNAILUPLOADINFO_FAILURE: 'LISTINGS_SAVETHUMBNAILUPLOADINFO_FAILURE',\n\n LOGOUT: 'LISTINGS_LOGOUT',\n\n GETLISTINGMETA_REQUEST: 'LISTINGS_GETLISTINGMETA_REQUEST',\n GETLISTINGMETA_REQUEST_SUCCESS: 'LISTINGS_GETLISTINGMETA_REQUEST_SUCCESS',\n GETLISTINGMETA_REQUEST_FAILURE: 'LISTINGS_GETLISTINGMETA_REQUEST_FAILURE',\n\n GETLISTINGS_REQUEST: 'LISTINGS_GETLISTINGS_REQUEST',\n UPDATELISTINGS_REQUEST: 'LISTINGS_UPDATELISTINGS_REQUEST',\n GETLISTINGS_REQUEST_SUCCESS: 'LISTINGS_GETLISTINGS_REQUEST_SUCCESS',\n GETLISTINGS_REQUEST_FAILURE: 'LISTINGS_GETLISTINGS_REQUEST_FAILURE',\n\n GETLISTINGSVIDEOS_REQUEST: 'LISTINGS_GETLISTINGSVIDEOS_REQUEST',\n GETLISTINGSVIDEOS_SUCCESS: 'LISTINGS_GETLISTINGSVIDEOS_SUCCESS',\n GETLISTINGSVIDEOS_FAILURE: 'LISTINGS_GETLISTINGSVIDEOS_FAILURE',\n\n GETLISTINGTEMPLATES_REQUEST: 'LISTINGS_GETLISTINGTEMPLATES_REQUEST',\n GETLISTINGTEMPLATES_REQUEST_SUCCESS: 'LISTINGS_GETLISTINGTEMPLATES_REQUEST_SUCCESS',\n GETLISTINGTEMPLATES_REQUEST_FAILURE: 'LISTINGS_GETLISTINGTEMPLATES_REQUEST_FAILURE',\n\n GETPRESIGNEDURL_REQUEST: 'LISTINGS_GETPRESIGNEDURL_REQUEST',\n GETPRESIGNEDURL_REQUEST_SUCCESS: 'LISTINGS_GETPRESIGNEDURL_REQUEST_SUCCESS',\n GETPRESIGNEDURL_REQUEST_FAILURE: 'LISTINGS_GETPRESIGNEDURL_REQUEST_FAILURE',\n\n GETANALYTICS_REQUEST: 'ANALYTICS_GETANALYTICS_REQUEST',\n GETANALYTICS_SUCCESS: 'ANALYTICS_GETANALYTICS_SUCCESS',\n GETANALYTICS_FAILURE: 'ANALYTICS_GETANALYTICS_FAILURE',\n};\n","export const uploadFileTypes = {\n SET_UPLOAD_FILE: 'SET_UPLOAD_FILE',\n SET_UPLOAD_PROGRESS: 'SET_UPLOAD_PROGRESS',\n SUCCESS_UPLOAD_FILE: 'SUCCESS_UPLOAD_FILE',\n FAILURE_UPLOAD_FILE: 'FAILURE_UPLOAD_FILE',\n CLEAR_UPLOAD_FILES: 'CLEAR_UPLOAD_FILES'\n}","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}\n","import PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport SweetAlert from 'sweetalert-react';\n\nconst mapStateToProps = state => ({\n sweetalert: state.sweetalert,\n});\n\nclass FVSweetAlert extends Component {\n static propTypes = {\n sweetalert: PropTypes.shape({\n show: PropTypes.bool.isRequired,\n title: PropTypes.string.isRequired,\n }).isRequired,\n };\n\n render() {\n return ;\n }\n}\n\nconst connectedFVSweetAlert = connect(mapStateToProps)(FVSweetAlert);\nexport { connectedFVSweetAlert as FVSweetAlert };\n","import React from 'react';\nimport {Route, Redirect} from 'react-router-dom';\nimport * as storage from \"../../../../helpers/storage\";\n\nexport const PrivateRoute = ({component: Component, ...rest}) => (\n \n storage.local.getItem('user') ? (\n //localStorage.getItem('user') ? (\n \n ) : (\n \n )\n }\n />\n);\n","import React from \"react\";\nimport styled from \"styled-components\";\n\nconst Styles = styled.div`\n /* The ribbons */\n .corner-ribbon {\n width: 200px;\n background: #e43;\n position: absolute;\n top: 25px;\n left: -50px;\n text-align: center;\n line-height: 50px;\n letter-spacing: 1px;\n color: #f0f0f0;\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n z-index: 1000;\n font-size: 70%;\n font-weight: bold;\n }\n\n /* Custom styles */\n\n .corner-ribbon.sticky {\n position: fixed;\n }\n\n .corner-ribbon.shadow {\n box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);\n }\n\n /* Different positions */\n\n .corner-ribbon.top-left {\n top: 25px;\n left: -50px;\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n\n .corner-ribbon.top-right {\n top: 25px;\n right: -50px;\n left: auto;\n transform: rotate(45deg);\n -webkit-transform: rotate(45deg);\n }\n\n .corner-ribbon.bottom-left {\n top: auto;\n bottom: 25px;\n left: -50px;\n transform: rotate(45deg);\n -webkit-transform: rotate(45deg);\n }\n\n .corner-ribbon.bottom-right {\n top: auto;\n right: -50px;\n bottom: 25px;\n left: auto;\n transform: rotate(-45deg);\n -webkit-transform: rotate(-45deg);\n }\n\n /* Colors */\n\n .corner-ribbon.white {\n background: #f0f0f0;\n color: #555;\n }\n .corner-ribbon.black {\n background: #333;\n }\n .corner-ribbon.grey {\n background: #999;\n }\n .corner-ribbon.blue {\n background: #39d;\n }\n .corner-ribbon.green {\n background: #2c7;\n }\n .corner-ribbon.turquoise {\n background: #1b9;\n }\n .corner-ribbon.purple {\n background: #95b;\n }\n .corner-ribbon.red {\n background: #e43;\n }\n .corner-ribbon.orange {\n background: #e82;\n }\n .corner-ribbon.yellow {\n background: #ec0;\n }\n`;\n\nexport const DevNote = (props) => {\n const { position, msg } = props;\n\n return (\n \n \n \n {msg ? msg : process.env.REACT_APP_STAGE + \" .env\"}\n \n \n \n );\n};\n","import React from 'react';\nimport {debounce} from 'lodash';\nimport {AvInput} from 'availity-reactstrap-validation';\nimport './style.css';\n\nexport default class CustomInput extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = {\n active: (props.locked && props.active) || false,\n value: props.value || '',\n error: props.error || '',\n label: props.label || 'Label',\n };\n this.handleFocus = this.handleFocus.bind(this);\n this.changeValue = this.changeValue.bind(this);\n }\n\n changeValue(event) {\n const value = event.target.value;\n this.props.onChange(value);\n this.setState({value, error: ''});\n }\n\n handleFocus(event) {\n event.target.setAttribute('autoComplete', 'off');\n if (!this.props.locked) {\n this.setState({active: true});\n }\n }\n\n validate = debounce((value, ctx, input, cb) => {\n // This will do the trick\n value && !input.context.FormCtrl.isTouched(input.props.name) && input.context.FormCtrl.setTouched(input.props.name);\n\n cb(false);\n }, 300);\n\n render() {\n const {active, value, error, label} = this.state;\n const {id, predicted, locked, fieldtype, required} = this.props;\n const fieldClassName = `field ${(locked ? active : active || value) && 'active'} ${locked && !active && 'locked'}`;\n\n return (\n
\n {active && value && predicted && predicted.includes(value) &&

{predicted}

}\n !locked && this.setState({active: false})}\n />\n \n
\n
\n );\n }\n}\n","// libraries\nimport React, {Fragment, useState, useEffect} from 'react';\nimport {Col, Row, Button, FormGroup} from 'reactstrap';\nimport {AvForm} from 'availity-reactstrap-validation';\nimport {connect} from 'react-redux';\n\n// generics\nimport {userActions} from '../../../redux/actions';\n\n// components\nimport CustomInput from '../../Components/CustomInput';\n\nconst LoginBoxed = (props) => {\n useEffect(() => {\n // reset login status\n props.logout();\n }, []);\n\n const [email, setUsername] = useState('');\n const [password, setPassword] = useState('');\n const [nopassword, setNopassword] = useState(false);\n\n const handleUserNameInput = (value) => {\n setUsername(value);\n };\n const handlePasswordInput = (value) => {\n setPassword(value);\n };\n\n const handleSubmit = () => {\n if (email && password) {\n props.login(email, password);\n } else if (password === '') {\n setNopassword(true);\n }\n };\n\n const {loggingIn} = props;\n return (\n \n
\n
    \n
  • \n \n
  • \n
  • \n \n
  • \n
  • \n \n
  • \n
\n
\n \n
\n
\n
\n e.preventDefault()}>\n
\n
\n

\n
Welcome back
\n Please sign in to your account below.\n

\n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n
\n
\n No account?{' '}\n Sign up now\n
\n \n
\n
\n
\n {loggingIn ? (\n Forgot Password\n ) : (\n \n Forgot Password\n \n )}\n
\n
\n \n
\n
\n \n
\n
\n
\n Copyright © FirstViewings {new Date().getFullYear()}\n
\n \n
\n
\n \n );\n};\n\nfunction mapStateToProps(state) {\n const {loggingIn} = state.authentication;\n return {loggingIn};\n}\n\nconst actionCreators = {\n login: userActions.login,\n logout: userActions.logout,\n};\n\nconst connectedLoginPage = connect(mapStateToProps, actionCreators)(LoginBoxed);\nexport {connectedLoginPage as LoginBoxed};\n","import { useEffect, useRef } from \"react\";\n\nexport const useIsMounted = () => {\n const isMounted = useRef(false);\n useEffect(() => {\n isMounted.current = true;\n return () => (isMounted.current = false);\n }, []);\n return isMounted;\n};\n","// libraries\nimport React, {Fragment, useState, useEffect} from 'react';\nimport {Col, Row, Button, FormGroup} from 'reactstrap';\nimport {AvForm} from 'availity-reactstrap-validation';\nimport {connect} from 'react-redux';\nimport {Loader as LoaderAnim} from 'react-loaders';\nimport {swal} from 'react-redux-sweetalert'; // eslint-disable-line\n\n// generics\nimport {userActions} from '../../../redux/actions';\nimport {formater} from '../../../helpers';\nimport {useIsMounted} from '../../../customhooks';\n\n// components\nimport CustomInput from '../../Components/CustomInput';\n\nconst ForgotPasswordBoxed = (props) => {\n const isMounted = useIsMounted();\n const resetState = props.location.state;\n const forgotpasswordtitle = resetState ? 'Reset Password' : 'Forgot Password?';\n const action_text = resetState ? 'reset' : 'recover';\n const button_text = resetState ? 'Reset Password' : 'Reset Password';\n const button_processing_text = resetState ? 'Reseting Password...' : 'Reseting Password...';\n const [email, setUsername] = useState('');\n const [submitted, setSubmitted] = useState(false);\n const spinner1 = ;\n\n useEffect(() => {\n if (isMounted.current) {\n if (props.processed === true && props.outcome === true) {\n props.swal({\n html: true,\n title: '',\n text: props.outcome\n ? formater('', 'An email has been sent to you with instructions on how to reset your password', false)\n : formater(\n '',\n 'There was a problem trying to ' +\n action_text +\n ' your password, please make sure the email entered is the correct one.',\n false\n ),\n showCancelButton: false,\n onConfirm: () => {\n props.history.push({\n pathname: '/pages/login-boxed',\n state: {},\n });\n },\n });\n }\n }\n }, [props.processing]);\n\n const handleUserNameInput = (value) => {\n setUsername(value);\n };\n const handleSubmit = (event) => {\n event.preventDefault();\n if (email) {\n setSubmitted(false);\n props.recover(email);\n } else {\n setSubmitted(true);\n }\n };\n return (\n \n
\n
    \n
  • \n \n
  • \n
  • \n \n
  • \n
  • \n \n
  • \n
\n
\n \n
\n\n
\n
\n
\n
\n {forgotpasswordtitle}\n
\n Enter your email and click \"Reset Password\" buttton.\n
\n
\n
\n
\n e.preventDefault()}>\n
\n \n \n \n \n \n \n \n
\n
\n \n
\n {props.processing ? (\n \n ) : (\n \n )}\n
\n
\n
\n
\n
\n
\n
\n Copyright © FirstViewings {new Date().getFullYear()}\n
\n \n
\n
\n \n );\n};\n\nfunction mapState(state) {\n const {processing, processed, outcome} = state.recover;\n return {processing, processed, outcome};\n}\n\nconst actionCreators = {\n recover: userActions.recover,\n swal: swal,\n};\n\nconst connectedForgotPasswordPage = connect(mapState, actionCreators)(ForgotPasswordBoxed);\nexport {connectedForgotPasswordPage as ForgotPasswordBoxed};\n","import React, {Component, Fragment} from 'react';\nimport PropTypes from 'prop-types';\n\nclass CustomFormField extends Component {\n state = {value: '', dirty: false, errors: []};\n\n hasChanged = (e) => {\n e.preventDefault();\n\n const {label, required = false, validator = (f) => f, onStateChanged = (f) => f} = this.props;\n\n const value = e.target.value;\n const isEmpty = value.length === 0;\n const requiredMissing = this.state.dirty && required && isEmpty;\n\n let errors = [];\n\n if (requiredMissing) {\n errors = [...errors, `${label} is required`];\n } else if ('function' === typeof validator) {\n try {\n validator(value);\n } catch (e) {\n errors = [...errors, e.message];\n }\n }\n\n this.setState(\n ({dirty = false}) => ({value, errors, dirty: !dirty || dirty}),\n () => onStateChanged(this.state)\n );\n };\n\n removeAttribute = (e) => {\n e.preventDefault();\n e.target.removeAttribute('readonly');\n };\n\n render() {\n const {value, dirty, errors} = this.state;\n const {type, label, fieldId, placeholder, children} = this.props;\n\n const hasErrors = errors.length > 0;\n const controlClass = ['form-control', dirty ? (hasErrors ? 'is-invalid' : 'is-valid') : ''].join(' ').trim();\n\n return (\n \n
\n
\n \n {hasErrors &&
{errors[0]}
}\n
\n {children}\n \n
\n
\n );\n }\n}\n\nCustomFormField.propTypes = {\n type: PropTypes.oneOf(['text', 'password']).isRequired,\n label: PropTypes.string.isRequired,\n fieldId: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n required: PropTypes.bool,\n children: PropTypes.node,\n validator: PropTypes.func,\n onStateChanged: PropTypes.func,\n};\n\nexport default CustomFormField;\n","import React, {Component, Fragment} from 'react';\nimport PropTypes from 'prop-types';\n\nimport CustomFormField from '../CustomFormField';\n\nclass CustomPasswordRepeatField extends Component {\n constructor(props) {\n super(props);\n\n this.state = {repeatedpassword: ''};\n this.validatePasswordRepeat = this.validatePasswordRepeat.bind(this);\n }\n\n stateChanged = (state) => {\n this.setState(\n {\n repeatedpassword: state.value,\n },\n () => this.props.onStateChanged(state)\n );\n };\n\n validatePasswordRepeat = (value) => {\n if (value.length < 7) throw new Error('Please retype password');\n if (this.props.currentpassword !== value) throw new Error('Passwords dont match');\n };\n\n render() {\n const {type, validator, onStateChanged, children, ...restProps} = this.props;\n\n return (\n \n
\n \n {children}\n \n
\n
\n );\n }\n}\n\nCustomPasswordRepeatField.propTypes = {\n currentpassword: PropTypes.string.isRequired,\n fieldId: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n required: PropTypes.bool,\n children: PropTypes.node,\n onStateChanged: PropTypes.func,\n};\n\nexport default CustomPasswordRepeatField;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport {validate} from 'isemail';\n\nimport CustomFormField from '../CustomFormField';\n\nconst CustomEmailField = (props) => {\n const {type, validator, ...restProps} = props;\n\n const validateEmail = (value) => {\n if (!validate(value)) throw new Error('Email is invalid');\n };\n\n return ;\n};\n\nCustomEmailField.propTypes = {\n label: PropTypes.string.isRequired,\n fieldId: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n required: PropTypes.bool,\n children: PropTypes.node,\n onStateChanged: PropTypes.func,\n};\n\nexport default CustomEmailField;\n","import React, {Component, Fragment} from 'react';\nimport PropTypes from 'prop-types';\nimport zxcvbn from 'zxcvbn';\n\nimport CustomFormField from '../CustomFormField';\n\nclass CustomPasswordField extends Component {\n constructor(props) {\n super(props);\n const {minStrength = 3, thresholdLength = 8, maxthresholdLength = 12} = props;\n\n this.minStrength = typeof minStrength === 'number' ? Math.max(Math.min(minStrength, 4), 0) : 3;\n\n this.thresholdLength = typeof thresholdLength === 'number' ? Math.max(thresholdLength, 8) : 8;\n // this.maxthresholdLength = typeof maxthresholdLength === 'number' ? Math.max(maxthresholdLength, 12) : 11;\n\n this.state = {password: '', strength: 0};\n }\n\n stateChanged = (state) => {\n this.setState(\n {\n password: state.value,\n strength: zxcvbn(state.value).score,\n },\n () => this.props.onStateChanged(state)\n );\n };\n\n validatePasswordStrong = (value) => {\n if (value.length <= this.thresholdLength) throw new Error('Password is short');\n\n // if (value.length > this.maxthresholdLength) throw new Error('Password is too long');\n if (!value.match(/^(?=.*[A-Za-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@$!%* #+=\\(\\)\\^?&])[A-Za-z\\d$@$!%* #+=\\(\\)\\^?&]{3,}$/))\n throw new Error('Password needs minimun requirements');\n if (zxcvbn(value).score < this.minStrength) throw new Error('Password is weak');\n };\n\n render() {\n const {type, validator, onStateChanged, children, ...restProps} = this.props;\n const {password, strength} = this.state;\n const passwordLength = password.length;\n const passwordStrong = strength >= this.minStrength;\n const passwordLong = passwordLength > this.thresholdLength;\n\n const counterClass = [\n 'badge badge-pill',\n passwordLong ? (passwordStrong ? 'badge-success' : 'badge-warning') : 'badge-danger',\n ]\n .join(' ')\n .trim();\n\n const strengthClass = ['strength-meter mt-2', passwordLength > 0 ? 'visible' : 'invisible'].join(' ').trim();\n\n return (\n \n
\n \n \n To conform with our Strong Password policy, you are required to use a sufficiently strong password.\n Password must be at least {this.thresholdLength} characters, have at least one English letter, have at\n least one Capital letter, have at least one digit and have at least one special character.\n \n {children}\n
\n
\n
\n \n
\n \n {passwordLength ? (passwordLong ? `${this.thresholdLength}+` : passwordLength) : ''}\n \n
\n
\n
\n );\n }\n}\n\nCustomPasswordField.propTypes = {\n label: PropTypes.string.isRequired,\n fieldId: PropTypes.string.isRequired,\n placeholder: PropTypes.string.isRequired,\n required: PropTypes.bool,\n children: PropTypes.node,\n onStateChanged: PropTypes.func,\n minStrength: PropTypes.number,\n thresholdLength: PropTypes.number,\n maxthresholdLength: PropTypes.number,\n};\n\nexport default CustomPasswordField;\n","/*\n * File: /Users/diegodelfino/FV_Project_V3/src/FVDashboard/UserPages/ResetPasswordBoxed/index.js\n * Project: /Users/diegodelfino/FV_Project_V3\n * Created Date: Wednesday May 13th 2020\n * Author: Diego Delfino\n * -----\n * Last Modified: Wednesday May 13th 2020 12:01:03 am\n * Modified By: Diego Delfino at \n * -----\n * Copyright (c) 2020 First Viewings\n */\n// libraries\nimport React, {Component, Fragment} from 'react';\nimport {Col, Row, Button, Form} from 'reactstrap';\nimport {connect} from 'react-redux';\nimport Loader from 'react-loader-advanced';\nimport {Loader as LoaderAnim} from 'react-loaders';\nimport styled from 'styled-components';\nimport {swal} from 'react-redux-sweetalert'; // eslint-disable-line\n\n// generics\nimport {userActions} from '../../../redux/actions';\nimport {formater} from '../../../helpers';\n\n// components\nimport CustomPasswordRepeatField from '../../Components/CustomPasswordRepeatField';\nimport CustomEmailField from '../../Components/CustomEmailField';\nimport CustomPasswordField from '../../Components/CustomPasswordField';\n\nconst spinner1 = ;\nconst Wrapper = styled.section`\n .form-container {\n /* bottom: 100px; */\n }\n\n legend.form-label {\n font-size: 1.5rem;\n color: #3d658f;\n }\n\n .control-label {\n font-size: 0.8rem;\n font-weight: bold;\n color: #52657a;\n }\n\n .form-control {\n font-size: 1rem;\n }\n\n .form-control:disabled,\n .form-control[readonly] {\n background-color: #fff;\n }\n\n .form-hint {\n font-size: 0.6rem;\n line-height: 1.4;\n margin: -5px auto 5px;\n color: #999;\n }\n .form-hint.error {\n color: #c00;\n font-size: 0.8rem;\n }\n\n button.btn {\n letter-spacing: 1px;\n font-size: 0.8rem;\n font-weight: 600;\n }\n\n .password-count {\n bottom: 16px;\n right: 10px;\n font-size: 1rem;\n }\n\n .strength-meter {\n position: relative;\n height: 3px;\n background: #ddd;\n margin: 7px 0;\n border-radius: 2px;\n }\n .strength-meter:before,\n .strength-meter:after {\n content: '';\n height: inherit;\n background: transparent;\n display: block;\n border-color: #fff;\n border-style: solid;\n border-width: 0 6px 0;\n position: absolute;\n width: calc(20% + 6px);\n z-index: 10;\n }\n .strength-meter:before {\n left: calc(20% - 3px);\n }\n .strength-meter:after {\n right: calc(20% - 3px);\n }\n\n .strength-meter-fill {\n background: transparent;\n height: inherit;\n position: absolute;\n width: 0;\n border-radius: inherit;\n transition: width 0.5s ease-in-out, background 0.25s;\n }\n .strength-meter-fill[data-strength='0'] {\n width: 20%;\n background: darkred;\n }\n .strength-meter-fill[data-strength='1'] {\n width: 40%;\n background: orangered;\n }\n .strength-meter-fill[data-strength='2'] {\n width: 60%;\n background: orange;\n }\n .strength-meter-fill[data-strength='3'] {\n width: 80%;\n background: yellowgreen;\n }\n .strength-meter-fill[data-strength='4'] {\n width: 100%;\n background: green;\n }\n`;\nclass ResetPasswordBoxed extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n email: '',\n password: '',\n passwordrepeat: '',\n emailState: false,\n passwordState: false,\n passwordrepeatState: false,\n // submitted: false,\n };\n }\n componentWillReceiveProps = (newProps) => {\n if (newProps.processed) {\n newProps.swal({\n html: true,\n title: '',\n text: newProps.outcome\n ? formater('', 'Your password has been successfuly reset, please log in to the system', false)\n : formater(\n '',\n 'There was a problem trying to reset your password, please try to request an email again or contact us',\n false\n ),\n showCancelButton: false,\n onConfirm: () => {\n newProps.history.push({\n pathname: '/pages/login-boxed',\n state: {},\n });\n },\n });\n }\n };\n\n // componentWillUpdate = (nextProps, nextState) => {\n // if (nextProps.processed) {\n // nextProps.swal({\n // html: true,\n // title: '',\n // text: nextProps.outcome\n // ? formater('', 'Your password has been successfuly reset, please log in to the system', false)\n // : formater(\n // '',\n // 'There was a problem trying to reset your password, please try to request an email again or contact us',\n // false\n // ),\n // showCancelButton: false,\n // onConfirm: () => {\n // nextProps.history.push({\n // pathname: '/pages/login-boxed',\n // state: {},\n // });\n // },\n // });\n // }\n // };\n\n // shouldComponentUpdate = (nextProps, nextState) => {\n // if (\n // this.props.processed === nextProps.processed &&\n // nextProps.processed &&\n // nextProps.outcome &&\n // this.state === nextState\n // )\n // return false;\n // return true;\n // };\n\n // componentDidUpdate = (prevProps, prevState) => {\n // if (prevProps.processed) {\n // prevProps.swal({\n // html: true,\n // title: '',\n // text: prevProps.outcome\n // ? formater('', 'Your password has been successfuly reset, please log in to the system', false)\n // : formater(\n // '',\n // 'There was a problem trying to reset your password, please try to request an email again or contact us',\n // false\n // ),\n // showCancelButton: false,\n // onConfirm: () => {\n // prevProps.history.push({\n // pathname: '/pages/login-boxed',\n // state: {},\n // });\n // },\n // });\n // }\n // };\n\n handleUserNameInput = (state) => {\n this.setState({emailState: state.errors.length === 0, email: state.value});\n };\n handlePasswordInput = (state) => {\n this.setState({passwordState: state.errors.length === 0, password: state.value});\n };\n handlePasswordRepeatInput = (state) => {\n this.setState({passwordrepeatState: state.errors.length === 0, passwordrepeat: state.value});\n };\n handleSubmit = (event) => {\n event.preventDefault();\n const code = window.location.pathname\n .split('/')\n .slice(-1)\n .pop();\n if (\n this.state.email &&\n this.state.password &&\n this.state.passwordrepeat &&\n code !== '' &&\n this.state.password === this.state.passwordrepeat\n ) {\n // this.setState({submitted: false});\n this.props.reset(decodeURIComponent(code), this.state.email, this.state.password);\n } else {\n // this.setState({submitted: true});\n }\n };\n render() {\n const formValidated = this.state.emailState && this.state.passwordState && this.state.passwordrepeatState;\n return (\n \n \n
\n
    \n
  • \n \n
  • \n
  • \n \n
  • \n
  • \n \n
  • \n
\n
\n \n
\n
\n
\n
\n
\n

\n
Welcome back,
\n Please reset your password below.\n

\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n
\n \n Sign in existing account\n \n
\n
\n {formValidated ? (\n \n ) : (\n \n )}\n
\n
\n
\n
\n
\n Copyright © FirstViewings {new Date().getFullYear()}\n
\n \n
\n
\n \n \n );\n }\n}\n\n// const mapStateToProps = (state) => ({\n// processing: state.reset.processing,\n// processed: state.reset.processed,\n// outcome: state.reset.outcome,\n// });\n\n// const actionCreators = {\n// reset: userActions.reset,\n// swal: swal,\n// };\n// const connectedResetPasswordPage = connect(mapStateToProps, actionCreators)(ResetPasswordBoxed);\n\nfunction mapState(state) {\n const {processing, processed, outcome} = state.reset;\n return {processing, processed, outcome};\n}\n\nconst actionCreators = {\n reset: userActions.reset,\n swal: swal,\n};\n\nconst connectedResetPasswordPage = connect(mapState, actionCreators)(ResetPasswordBoxed);\nexport {connectedResetPasswordPage as ResetPasswordBoxed};\n","import React, {useState, useCallback, useEffect, Fragment} from 'react';\nimport {GoogleReCaptchaProvider, useGoogleReCaptcha} from 'react-google-recaptcha-v3';\n\nconst RegisterBoxedContent = () => {\n const {executeRecaptcha} = useGoogleReCaptcha();\n const [token, setToken] = useState('');\n const [noOfVerifications, setNoOfVerifications] = useState(0);\n const [dynamicAction, setDynamicAction] = useState('homepage');\n const [actionToChange, setActionToChange] = useState('');\n const [enableNext, setEnableNext] = useState(false);\n\n const clickHandler = useCallback(async () => {\n if (!executeRecaptcha) {\n console.log('Execute recaptcha not yet available');\n return;\n }\n\n const result = await executeRecaptcha('dynamicAction');\n\n setToken(result);\n setNoOfVerifications((noOfVerifications) => noOfVerifications + 1);\n }, [dynamicAction, executeRecaptcha]);\n\n const handleTextChange = useCallback((event) => {\n setActionToChange(event.target.value);\n }, []);\n\n const handleCommitAction = useCallback(() => {\n setDynamicAction(actionToChange);\n }, [actionToChange]);\n\n useEffect(() => {\n if (!executeRecaptcha || !dynamicAction) {\n return;\n }\n grecaptcha.ready(() => {\n grecaptcha.render('rc2', {\n sitekey: '6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI',\n callback: () => {\n setEnableNext(true);\n },\n });\n });\n const handleReCaptchaVerify = async () => {\n const token = await executeRecaptcha(dynamicAction);\n setToken(token);\n setNoOfVerifications((noOfVerifications) => noOfVerifications + 1);\n };\n\n handleReCaptchaVerify();\n }, [executeRecaptcha, dynamicAction]);\n\n return (\n
\n
\n

Current ReCaptcha action: {dynamicAction}

\n \n \n
\n
\n
\n
\n
\n {enableNext && }\n
\n {token &&

Token: {token}

}\n

No of verifications: {noOfVerifications}

\n
\n );\n};\n\nconst RegisterBoxed = () => {\n return (\n \n \n \n \n \n );\n};\nexport default RegisterBoxed;\n","export default __webpack_public_path__ + \"static/media/bg_register.f5671e5f.png\";","// libraries\nimport React from 'react';\nimport {Row} from 'reactstrap';\n\nimport {LOG} from '../../../../../helpers';\n\n// components\nimport {StaticIconTextInput, IconSearchLocationInput} from '../../../../Components/CustomIconInputField';\n\nexport default class WizardStep extends React.Component {\n constructor(props) {\n super(props);\n this.setSelectedOrganizationValue = this.setSelectedOrganizationValue.bind(this);\n this.setSelectedLocationNameValue = this.setSelectedLocationNameValue.bind(this);\n this.setSelectedLocationAddressValue = this.setSelectedLocationAddressValue.bind(this);\n this.setSelectedLocationEmailValue = this.setSelectedLocationEmailValue.bind(this);\n this.setSelectedLocationPhoneValue = this.setSelectedLocationPhoneValue.bind(this);\n }\n\n setSelectedOrganizationValue = (e) => {\n this.props.handleOrganizationSelect(e);\n };\n\n setSelectedLocationNameValue = (e) => {\n this.props.handleLocationNameSelect(e);\n };\n\n setSelectedLocationAddressValue = (val) => {\n this.props.handleLocationSelect(val);\n };\n\n setSelectedLocationEmailValue = (e) => {\n this.props.handleLocationEmailSelect(e);\n };\n\n setSelectedLocationPhoneValue = (e) => {\n this.props.handleLocationPhoneSelect(e);\n };\n\n render() {\n const {name, title, organizationName, locationName, locationAddress, locationEmail, locationPhone} = this.props;\n return (\n
\n
\n
\n

\n
{name}
\n {title}\n \n Sign in\n \n

\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n );\n }\n}\n","// libraries\nimport React from 'react';\nimport {Row} from 'reactstrap';\nimport {InputGroup, InputGroupAddon, InputGroupText} from 'reactstrap';\nimport {AvGroup, AvInput, AvFeedback} from 'availity-reactstrap-validation';\n\nimport {LOG} from '../../../../../helpers';\n\n// components\nimport {\n StaticIconTextInput,\n IconPasswordValidatorInput,\n IconEmailValidationInput,\n} from '../../../../Components/CustomIconInputField';\n\nexport default class WizardStep1 extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n firstName: '',\n lastName: '',\n email: '',\n email2: '',\n password: '',\n emailmatchfeedback: '',\n };\n this.setSelectedPasswordValue = this.setSelectedPasswordValue.bind(this);\n this.setSelectedFirstNameValue = this.setSelectedFirstNameValue.bind(this);\n this.setSelectedLastNameValue = this.setSelectedLastNameValue.bind(this);\n this.handleEmailVerification = this.handleEmailVerification.bind(this);\n }\n\n setSelectedPasswordValue = (e) => {\n this.setState({password: e});\n this.props.handlePasswordSelect(e);\n };\n\n setSelectedFirstNameValue = (e) => {\n this.setState({firstName: e.currentTarget.value});\n this.props.handleFirstNameSelect(e.currentTarget.value);\n };\n\n setSelectedLastNameValue = (e) => {\n this.setState({lastName: e.currentTarget.value});\n this.props.handleLastNameSelect(e.currentTarget.value);\n };\n\n setSelectedEmailValue = (e) => {\n this.setState({email: e});\n this.props.handleEmailSelect(e);\n };\n\n handleEmailVerification = (event) => {\n if (this.state.email === this.state.email2) {\n this.setState({email2: event.target.value, emailmatchfeedback: ''});\n } else {\n this.setState({email2: event.target.value, emailmatchfeedback: 'Emails must match'});\n }\n this.props.handleEmail2Select(event.target.value);\n };\n\n render() {\n const {firstName, lastName, email, email2, password, previousStep} = this.props;\n return (\n
\n
\n

\n {this.props.name}\n

\n
\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n \n \n \n {this.state.emailmatchfeedback}\n \n \n
\n
\n
\n
\n \n
\n
\n
\n
\n );\n }\n}\n","// libraries\nimport React, {Fragment, useState, useMemo, useEffect} from 'react';\nimport {useDropzone} from 'react-dropzone';\nimport {find, toArray, some, size} from 'lodash';\nimport {Button, Container, ListGroup, ListGroupItem} from 'reactstrap';\nimport {Progress} from 'react-sweet-progress';\nimport {connect, useDispatch} from 'react-redux';\n\n// generics\nimport {uploadActions, alertActions} from '../../../redux/actions';\nimport {LOG} from '../../../helpers';\n\n// components\nimport UploadProgress from '../UploadProgress';\n\nconst baseStyle = {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: '1em',\n borderWidth: 2,\n borderRadius: 2,\n borderColor: '#eeeeee',\n borderStyle: 'dashed',\n backgroundColor: '#fafafa',\n color: '#bdbdbd',\n outline: 'none',\n transition: 'border .24s ease-in-out',\n};\n\nconst activeStyle = {\n borderColor: '#0eaaa6',\n};\n\nconst acceptStyle = {\n borderColor: '#0eaaa6',\n};\n\nconst rejectStyle = {\n borderColor: '#ff1744',\n};\n\nconst CloudinaryUploader = (props) => {\n const maxSize = 1e9;\n const dispatch = useDispatch();\n const [isUploading, setUploading] = useState(false);\n const {uploadType, uploadedFiles, fileProgress} = props;\n const failedUploads = toArray(fileProgress).filter((file) => file.status === 'error');\n\n const onDrop = (acceptedFiles) => {\n // check for duplicates\n let duplicates = false;\n if (size(uploadedFiles)) {\n toArray(uploadedFiles).forEach((item, index, arr) => {\n duplicates = some(item.file, function(file) {\n // here we can actually also check that the file size is the same and so on in the future\n if (find(acceptedFiles, {path: item.file.path})) {\n return true;\n }\n return false;\n });\n if (duplicates) {\n arr.length = 0;\n }\n });\n }\n if (duplicates) {\n dispatch(alertActions.error(\"These files have allready been selected, please don't choose selected files\"));\n dispatch(alertActions.clear());\n } else if (isFileTooLarge) {\n dispatch(alertActions.error('These files you are trying to select are too large'));\n dispatch(alertActions.clear());\n } else {\n var data = {};\n acceptedFiles.forEach((element, index) => {\n element['id'] = index + 1;\n });\n // document.getElementsByClassName('scroll-area-dynamic')[0].classList.add('scroll-area-xs');\n data['sources'] = data['uploadedsources'] = [];\n data['uploadType'] = 'uploadedlogo';\n setUploading(true);\n LOG(data);\n var payloadData = {};\n payloadData.files = acceptedFiles;\n payloadData.data = '';\n payloadData.uploadType = props.uploadType;\n dispatch(uploadActions.setUploadFile(payloadData));\n props.handlefileUploading(true);\n }\n };\n\n useEffect(() => {\n LOG('useEffect CloudinaryUploader, logoUrl: ' + props.logoUrl);\n const filesUploaded = toArray(uploadedFiles).filter((file) => file.status === 'success');\n const filesInQueue = toArray(fileProgress).filter((file) => file.status !== 'error').length;\n if (props.logoUrl.length > 0 && filesInQueue < 1 && props.logoUrl.split('/').slice(-1).pop() === filesUploaded.slice(-1).pop().data.public_id.split('/').slice(-1).pop() ) {\n setLogoImage(props.logoUrl, 'direct');\n } else {\n \n if (filesUploaded.length && filesInQueue < 1) {\n const totalNode = document.getElementsByClassName('total-progress-class');\n if (totalNode.length > 0) {\n totalNode[0].children[0].children[0].style.width = `100%`;\n totalNode[0].children[0].children[0].style.backgroundColor = 'rgb(14, 170, 166)';\n totalNode[0].children[1].innerText = `100%`;\n }\n setTimeout(function() {\n handleUploadedFiles(filesUploaded);\n }, 3000);\n } else if (\n filesUploaded.length < 1 &&\n toArray(fileProgress).filter((file) => file.status === 'error').length === toArray(fileProgress).length\n ) {\n setUploading(false);\n // enable cancel button again\n // props.handlefileUploaded(false);\n }\n }\n }, [fileProgress, uploadedFiles]);\n\n const {getRootProps, getInputProps, isDragActive, isDragAccept, isDragReject, rejectedFiles} = useDropzone({\n accept: props.acceptedTypes ? props.acceptedTypes : 'image/*,video/*,application/mp4',\n onDrop: onDrop,\n minSize: 0,\n maxSize: maxSize,\n maxFiles: 50,\n multiple: true,\n });\n\n const isFileTooLarge = rejectedFiles ? rejectedFiles.length > 0 && rejectedFiles[0].size > maxSize : false;\n\n const style = useMemo(\n () => ({\n ...baseStyle,\n ...(isDragActive ? activeStyle : {}),\n ...(isDragAccept ? acceptStyle : {}),\n ...(isDragReject ? rejectStyle : {}),\n }),\n [isDragActive, isDragReject]\n );\n\n // handle for when all uploads are done\n const handleUploadedFiles = (filesToSave) => {\n setUploading(false);\n var publicId = filesToSave.slice(-1)[0].data.public_id;\n setLogoImage(publicId, 'upload');\n props.handlefileUploaded(publicId);\n props.handlefileUploading(false);\n };\n\n const setLogoImage = (publicId, type) => {\n // Create a thumbnail of the uploaded image, with 150px width\n var img = new Image(); // HTML5 Constructor\n publicId =\n type === 'upload'\n ? publicId\n : 'uploads/logos/' +\n publicId\n .split('/')\n .slice(-1)\n .pop();\n img.src =\n 'https://res.cloudinary.com/' +\n process.env.REACT_APP_PUBLIC_CLOUDINARY_NAME +\n '/image/upload/w_150,c_scale/' +\n publicId;\n img.alt = publicId;\n document.getElementsByClassName('logoContainer')[0].replaceChildren(img);\n };\n\n const failedfiles = size(failedUploads)\n ? failedUploads.map((file) => (\n \n
\n
\n
\n
Upload error on file {file.file.path}
\n \n
\n
\n
\n ))\n : null;\n\n // files selected template\n const upfiles = isUploading ? : null;\n\n return (\n \n \n
\n
\n
\n {isUploading ? (\n
\n
\n {uploadType === 'Thumbnails' ? (\n Uploading...\n ) : (\n
\n
\n
\n
\n Total progress\n \n
\n
\n
\n
\n )}\n
\n
\n ) : (\n
\n \n {!isUploading ? (\n <>\n
\n Drag files here or click 'Select' to upload from desktop\n
\n
\n e.preventDefault()}>\n Select\n \n
\n \n ) : null}\n
\n
\n )}\n
\n
\n \n \n \n
\n );\n};\n\n// export default CloudinaryUploader;\nconst mapStateToProps = (state) => ({\n fileProgress: state.fileProgressUploads.fileProgress,\n uploadedFiles: state.fileProgressUploads.uploadedFiles,\n});\n\nexport default connect(mapStateToProps, null)(CloudinaryUploader);\n","// libraries\nimport React from 'react';\nimport {Row} from 'reactstrap';\n\n// components\nimport CloudinaryUploader from '../../../../Components/s3UploaderTool/CloudinaryUploader';\n\nexport default class WizardStep2 extends React.Component {\n constructor(props) {\n super(props);\n this.handlefileUploading = this.handlefileUploading.bind(this);\n this.handlefileUploaded = this.handlefileUploaded.bind(this);\n }\n handlefileUploading = (status) => {\n this.props.handlefileUploading(status);\n };\n\n handlefileUploaded = (img) => {\n this.props.handlefileUploaded(img)\n };\n\n render() {\n return (\n
\n
\n

\n {this.props.name}\n

\n
\n \n
\n
\n \n
\n
\n
\n
\n );\n }\n}\n","// libraries\nimport React from 'react';\nimport {Row} from 'reactstrap';\n\n// components\n\nexport default class WizardStep3 extends React.Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n return (\n
\n
\n

\n {this.props.name}\n

\n
\n \n
\n
\n Thanks for joining First Viewings. Please check your email to complete your sign up.\n
\n
\n
\n
\n );\n }\n}\n","// libraries\nimport React, {useState, useEffect, useRef} from 'react';\nimport {Button, Col, Row} from 'reactstrap';\nimport {AvForm} from 'availity-reactstrap-validation';\nimport {Loader} from 'react-loaders';\nimport {styled} from 'linaria/react';\nimport {useGoogleReCaptcha} from 'react-google-recaptcha-v3';\n\n// generics\nimport {LOG} from '../../../../helpers';\nimport './wizzard.css';\n\n// components\nimport FVIcon from '../../../Components/FVIcons';\nimport WizardStep from './Steps/Step0';\nimport WizardStep1 from './Steps/Step1';\nimport WizardStep2 from './Steps/Step2';\nimport WizardStep3 from './Steps/Step3';\nimport {Token} from 'react-bootstrap-typeahead';\n\nconst Steptemplate = styled.div`\n flex: 1 1 auto;\n padding: 3rem;\n padding-top: 0.2rem;\n background-color: #fff;\n`;\n\nexport const MultiStep = (props) => {\n const [isUploading, setIsUploading] = useState(false);\n const {executeRecaptcha} = useGoogleReCaptcha();\n const [firstName, setFirstName] = useState('');\n const [lastName, setLastName] = useState('');\n const [email, setEmail] = useState('');\n const [email2, setEmail2] = useState('');\n const [password, setPassword] = useState('');\n const [organizationName, setorganizationName] = useState('');\n const [locationName, setlocationName] = useState('');\n const [locationAddress, setlocationAddress] = useState('');\n const [locationEmail, setlocationEmail] = useState('');\n const [locationPhone, setlocationPhone] = useState('');\n const [logoUrl, setlogoUrl] = useState('');\n const [uploadedImgs, setUploadedImgs] = useState([]);\n const [token, setToken] = useState('');\n const [submitError, setSubmitError] = useState('');\n\n const handlefileUploading = (status) => {\n setIsUploading(status);\n };\n\n const handlefileUploaded = (img) => {\n setlogoUrl(img);\n var tmp = new Array();\n tmp = uploadedImgs;\n if (!tmp.includes(img)) {\n tmp.push(img);\n }\n setUploadedImgs(tmp);\n };\n\n const handleOrganizationSelect = (e) => {\n LOG(e);\n // enableNext();\n setorganizationName(e.target.value);\n // props.handleOrganizationSelect(textContent);\n };\n\n const handleLocationNameSelect = (e) => {\n LOG(e);\n // enableNext();\n setlocationName(e.target.value);\n // props.handleLocationNameSelect(textContent);\n };\n\n const handleLocationSelect = (val) => {\n LOG(val);\n // enableNext();\n setlocationAddress(val.formatted_address);\n // props.handleLocationSelect(val);\n // props.handleCountrySelectClick(val.address_components.pop().short_name);\n };\n\n const handleLocationEmailSelect = (e) => {\n LOG(e);\n // enableNext();\n setlocationEmail(e.target.value);\n // props.handleLocationEmailSelect(textContent);\n };\n\n const handleLocationPhoneSelect = (e) => {\n LOG(e);\n // enableNext();\n setlocationPhone(e.target.value);\n // props.handleLocationPhoneSelect(textContent);\n };\n\n const handleFirstNameSelect = (e) => {\n LOG(e);\n // enableNext();\n setFirstName(e);\n // props.handleFirstNameSelect(textContent);\n };\n\n const handleLastNameSelect = (e) => {\n LOG(e);\n // enableNext();\n setLastName(e);\n // props.handleLastNameSelect(textContent);\n };\n\n const handleEmailSelect = (e) => {\n LOG(e);\n // enableNext();\n setEmail(e);\n // props.handleEmailSelect(textContent);\n };\n\n const handleEmail2Select = (e) => {\n LOG(e);\n // enableNext();\n setEmail2(e);\n // props.handleEmailSelect(textContent);\n };\n\n const handlePasswordSelect = (e) => {\n LOG(e);\n // enableNext();\n setPassword(e);\n // props.handlePasswordSelect(textContent);\n };\n\n const initialSteps = (\n _organizationName,\n _locationName,\n _locationAddress,\n _locationEmail,\n _locationPhone,\n _firstName,\n _lastName,\n _email,\n _email2,\n _password,\n _logoUrl,\n _uploadedImgs,\n _prevStep\n ) => {\n LOG(_prevStep);\n return [\n {\n component: (\n \n ),\n },\n {\n component: (\n \n ),\n },\n {\n component: (\n \n ),\n },\n {\n component: (\n \n ),\n },\n ];\n };\n\n // Change view\n const nextAndSet = (_nextStep) => {\n if (_nextStep === 1) {\n setSteps(\n initialSteps(\n organizationName,\n locationName,\n locationAddress,\n locationEmail,\n locationPhone,\n firstName,\n lastName,\n email,\n email2,\n password,\n logoUrl,\n uploadedImgs,\n _nextStep - 1\n )\n );\n handleSubmit(false);\n props.setDisableBtn(true);\n props.setCompState(1);\n } else if (_nextStep === 2) {\n setSteps(\n initialSteps(\n organizationName,\n locationName,\n locationAddress,\n locationEmail,\n locationPhone,\n firstName,\n lastName,\n email,\n email2,\n password,\n logoUrl,\n uploadedImgs,\n _nextStep - 1\n )\n );\n handleSubmit(false);\n props.setDisableBtn(true);\n props.setCompState(2);\n } else if (_nextStep === 3) {\n setSteps(\n initialSteps(\n organizationName,\n locationName,\n locationAddress,\n locationEmail,\n locationPhone,\n firstName,\n lastName,\n email,\n email2,\n password,\n logoUrl,\n uploadedImgs,\n _nextStep - 1\n )\n );\n props.setSubmit(true);\n handleSubmit(true);\n props.setCompState(3);\n }\n };\n\n const previous = (e) => {\n if (props.compState === 2) {\n e !== undefined && e.preventDefault();\n }\n props.setPrevStep(props.compState);\n props.setCompState(props.compState - 1);\n };\n\n const next = (e) => {\n props.setPrevStep(props.compState);\n nextAndSet(props.compState + 1);\n };\n\n const [steps, setSteps] = useState(\n initialSteps(\n organizationName,\n locationName,\n locationAddress,\n locationEmail,\n locationPhone,\n firstName,\n lastName,\n email,\n email2,\n password,\n logoUrl,\n uploadedImgs,\n props.previousStep\n )\n );\n const [orgObjects, setOrgObjects] = useState({});\n const [showFormErrorAlert, setShowFormErrorAlert] = useState(false);\n\n const renderContent = () => {\n const disableNavStep1 =\n locationName === '' ||\n locationEmail === '' ||\n locationAddress === '' ||\n locationPhone === '' ||\n organizationName === '' ||\n token === '';\n const disableNavStep2 =\n firstName === '' || lastName === '' || email === '' || email2 === '' || password === '' || email !== email2;\n const disableNavStep3 = logoUrl === '';\n return (\n \n \n \n
\n {!props.isSubmitting ? (\n steps[props.compState].component\n ) : (\n
\n
\n
\n \n \n
\n
\n
Signing you up...
\n
\n
\n )}\n
\n \n
\n
\n {props.isSubmitting || isUploading ? (\n \n back\n \n ) : (\n <>\n
\n
\n \n Sign Up\n \n
\n
\n
\n \n By signing up, I agree to First Viewings‘{' '}\n \n Terms and Conditions\n \n \n
\n
\n
\n
\n \n back\n \n
\n
\n
\n
\n
\n
\n \n next \n \n
\n
\n \n )}\n
\n
\n
\n \n \n );\n };\n\n const handleSubmit = (isDone) => {\n const data = {};\n var orgObject = {};\n var _orgObjects = orgObjects;\n if (!isDone) {\n if (Object.keys(_orgObjects).length === 0) {\n // location values\n var locationObject = {};\n Object.entries(form.current._inputs).forEach(([key, value]) => {\n orgObject = {};\n if (key !== 'organizationName') {\n orgObject[key.replace('location', '').toLocaleLowerCase()] = value.value;\n Object.assign(locationObject, orgObject);\n } else {\n orgObject[key.replace('organization', '').toLocaleLowerCase()] = value.value;\n Object.assign(_orgObjects, orgObject);\n }\n });\n Object.assign(locationObject, {organizationId: 0});\n Object.assign(locationObject, {billingProviderId: 2});\n Object.assign(_orgObjects, {location: locationObject});\n setOrgObjects(_orgObjects);\n } else {\n // user values\n var userObject = {};\n Object.entries(form.current._inputs).forEach(([key, value]) => {\n orgObject = {};\n if (key === 'email2') {\n orgObject[key.replace('2', '')] = value.value;\n Object.assign(userObject, orgObject);\n\n orgObject = {};\n orgObject['userName'] = value.value;\n Object.assign(userObject, orgObject);\n } else {\n orgObject[key] = value.value;\n Object.assign(userObject, orgObject);\n }\n });\n Object.assign(userObject, {locationId: 0});\n Object.assign(_orgObjects, {user: userObject});\n setOrgObjects(_orgObjects);\n }\n } else {\n // logo, public_ids and token values\n orgObject = {};\n orgObject['logoUrl'] = logoUrl\n .replace('upload/', 'upload/fl_attachment/')\n .replace('w_150,c_scale/', 'w_150,c_scale/uploads/logos/');\n Object.assign(_orgObjects, orgObject);\n orgObject = {};\n orgObject['publicIds'] = uploadedImgs;\n Object.assign(_orgObjects, orgObject);\n orgObject = {};\n orgObject['token'] = token;\n Object.assign(_orgObjects, orgObject);\n setOrgObjects(_orgObjects);\n props.saveFormData(orgObjects);\n props.setShowSubmitConfirmAlert(false);\n }\n };\n\n const handleInvalidSubmit = (evt) => {\n evt.preventDefault();\n setShowFormErrorAlert(true);\n };\n\n useEffect(() => {\n if (!executeRecaptcha) {\n return;\n }\n grecaptcha.ready(() => {\n grecaptcha.render('rc2', {\n sitekey: `${process.env.REACT_APP_RECAPTCHA_KEY_V2}`,\n callback: async () => {\n const result = await executeRecaptcha('dynamicAction');\n LOG('Callback working token is: ' + result);\n setToken(result);\n },\n });\n });\n if (showFormErrorAlert) {\n props.swal({\n title: 'There was a problem registering you account, please review your input.',\n type: 'info',\n onConfirm: () => setShowFormErrorAlert(false),\n });\n }\n }, [showFormErrorAlert, executeRecaptcha]);\n\n const form = useRef();\n return
{{renderContent()}}
;\n};\n","// libraries\nimport React, {Fragment, Component} from 'react';\nimport {Col, Row} from 'reactstrap';\nimport {connect} from 'react-redux';\nimport {swal} from 'react-redux-sweetalert';\nimport {withRouter} from 'react-router-dom';\n\n// generics\nimport bg3 from '../../../assets/utils/images/bg_register.png';\nimport {setupActions} from '../../../redux/actions';\n\n// components\nimport {MultiStep} from './Components/Wizard';\n\nexport class Register extends Component {\n constructor(props) {\n super(props);\n this.state = {\n isSubmitting: false,\n validating: false,\n showSubmitConfirmAlert: false,\n compState: 0,\n selectedVideoTemplate: null,\n submitstate: false,\n submit: false,\n disableBtn: true,\n previousStep: 0,\n };\n\n this.nextAndSubmit = this.nextAndSubmit.bind(this);\n }\n\n nextAndSubmit = (data) => {\n this.setState({\n showSubmitConfirmAlert: false,\n isSubmitting: true,\n });\n this.props.saveOrganization(data).then((response) => {\n if (response) {\n this.setState({\n isSubmitting: false,\n compState: 3,\n submit: false,\n });\n } else {\n this.setState({\n isSubmitting: false,\n submit: false,\n showSubmitConfirmAlert: true,\n });\n }\n });\n };\n\n setSubmit = (submitstate) => {\n this.setState({submit: submitstate});\n };\n\n setDisableBtn = (val) => {\n this.setState({disableBtn: val});\n };\n\n setPrevStep = (prevStep) => {\n this.setState({previousStep: prevStep});\n };\n\n setShowSubmitConfirmAlert = (currentstate) => {\n this.setState({showSubmitConfirmAlert: currentstate});\n };\n\n setCompState = (currentstate) => {\n this.setState({compState: currentstate});\n };\n\n render() {\n let settings = {\n dots: true,\n infinite: true,\n speed: 500,\n arrows: true,\n slidesToShow: 1,\n slidesToScroll: 0,\n fade: false,\n initialSlide: 0,\n autoplay: false,\n adaptiveHeight: true,\n };\n return (\n \n
\n \n \n \n
\n \n \n \n \n
\n \n
\n \n \n \n
\n \n );\n }\n}\nconst actionCreators = {\n saveOrganization: setupActions.saveOrganization,\n swal: swal,\n};\n\nconst connectedRegister = connect(null, actionCreators)(Register);\nexport default withRouter(connectedRegister);\n","// libraries\nimport React, {Fragment, useEffect} from 'react';\nimport {Col} from 'reactstrap';\nimport {connect} from 'react-redux';\n\n// generics\nimport {userActions} from '../../../redux/actions';\nimport {useIsMounted} from '../../../customhooks';\n\n\nconst Confirm = (props) => {\n const isMounted = useIsMounted();\n\n useEffect(() => {\n if (isMounted.current) {\n const params = window.location.pathname\n .split('/')\n .slice(-1)\n .pop();\n\n props.confirm(params);\n }\n }, []);\n\n return (\n \n
\n
    \n
  • \n \n
  • \n
  • \n \n
  • \n
  • \n \n
  • \n
\n
\n \n
\n\n
\n
\n
\n
\n Your account has been confirmed.\n
\n Click Sign In to continue\n
\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n Copyright © FirstViewings {new Date().getFullYear()}\n
\n \n
\n
\n \n );\n};\n\nfunction mapState(state) {\n const {processing, processed, outcome} = state.recover;\n return {processing, processed, outcome};\n}\n\nconst actionCreators = {\n confirm: userActions.confirm,\n};\n\nconst connectedConfirm = connect(mapState, actionCreators)(Confirm);\nexport {connectedConfirm as Confirm};\n","import React, {Fragment} from 'react';\nimport {connect} from 'react-redux';\n\nimport Hamburger from 'react-hamburgers';\n\nimport cx from 'classnames';\n\nimport {faEllipsisV} from '@fortawesome/free-solid-svg-icons';\n\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\n\nimport {Button} from 'reactstrap';\n\nimport {setEnableMobileMenu, setEnableMobileMenuSmall} from '../../redux/reducers/ThemeOptions';\n\nclass AppMobileMenu extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n active: false,\n mobile: false,\n activeSecondaryMenuMobile: false,\n };\n }\n\n toggleMobileSidebar = () => {\n let {enableMobileMenu, setEnableMobileMenu} = this.props;\n setEnableMobileMenu(!enableMobileMenu);\n };\n\n toggleMobileSmall = () => {\n let {enableMobileMenuSmall, setEnableMobileMenuSmall} = this.props;\n setEnableMobileMenuSmall(!enableMobileMenuSmall);\n };\n\n state = {\n openLeft: false,\n openRight: false,\n relativeWidth: false,\n width: 280,\n noTouchOpen: false,\n noTouchClose: false,\n };\n\n render() {\n let {enableMobileMenu} = this.props;\n\n return (\n \n
\n
\n this.setState({activeMobile: !this.state.activeMobile})}\n />\n
\n
\n
\n \n this.setState({activeSecondaryMenuMobile: !this.state.activeSecondaryMenuMobile})}>\n
\n \n
\n \n
\n
\n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n closedSmallerSidebar: state.ThemeOptions.closedSmallerSidebar,\n enableMobileMenu: state.ThemeOptions.enableMobileMenu,\n enableMobileMenuSmall: state.ThemeOptions.enableMobileMenuSmall,\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n setEnableMobileMenu: (enable) => dispatch(setEnableMobileMenu(enable)),\n setEnableMobileMenuSmall: (enable) => dispatch(setEnableMobileMenuSmall(enable)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(AppMobileMenu);\n","// libraries\nimport React, {Fragment} from 'react';\nimport {connect} from 'react-redux';\nimport Hamburger from 'react-hamburgers';\n\n// generics\nimport {setEnableClosedSidebar, setEnableMobileMenu, setEnableMobileMenuSmall} from '../../redux/reducers/ThemeOptions';\n\n// components\nimport AppMobileMenu from '../AppMobileMenu';\n\nclass HeaderLogo extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n active: false,\n mobile: false,\n activeSecondaryMenuMobile: false,\n };\n }\n\n toggleEnableClosedSidebar = () => {\n let {enableClosedSidebar, setEnableClosedSidebar} = this.props;\n setEnableClosedSidebar(!enableClosedSidebar);\n };\n\n state = {\n openLeft: false,\n openRight: false,\n relativeWidth: false,\n width: 228,\n noTouchOpen: false,\n noTouchClose: false,\n };\n\n render() {\n let {enableClosedSidebar} = this.props;\n\n return (\n \n
\n
\n
\n
\n this.setState({active: !this.state.active})}\n />\n
\n
\n
\n \n \n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n enableClosedSidebar: state.ThemeOptions.enableClosedSidebar,\n enableMobileMenu: state.ThemeOptions.enableMobileMenu,\n enableMobileMenuSmall: state.ThemeOptions.enableMobileMenuSmall,\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n setEnableClosedSidebar: (enable) => dispatch(setEnableClosedSidebar(enable)),\n setEnableMobileMenu: (enable) => dispatch(setEnableMobileMenu(enable)),\n setEnableMobileMenuSmall: (enable) => dispatch(setEnableMobileMenuSmall(enable)),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(HeaderLogo);\n","import React, {Fragment} from 'react';\nimport {connect} from 'react-redux';\nimport {withRouter} from 'react-router-dom';\nimport {\n DropdownToggle,\n DropdownMenu,\n Nav,\n Button,\n NavItem,\n UncontrolledButtonDropdown,\n CustomInput,\n NavLink,\n} from 'reactstrap';\n\n// generics\nimport {userActions} from '../../../redux/actions';\n\n// components\nimport FVIcon from '../../../FVDashboard/Components/FVIcons';\n\nclass _UserBox extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n active: false,\n reset: false,\n };\n this.handleReset = this.handleReset.bind(this);\n }\n\n handleLogout = (event) => {\n event.preventDefault();\n this.props.logout();\n window.location.reload(true);\n };\n\n handleReset = (event) => {\n event.preventDefault();\n this.props.logout();\n this.props.history.push({\n pathname: '/pages/forgot-password-boxed',\n state: {reset: true},\n });\n };\n\n render() {\n const {user} = this.props;\n return (\n \n
\n
\n
\n
\n \n \n \n \n \n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
{user.firstName + ' ' + user.lastName}
\n
{user.roleName}
\n
\n
\n \n
\n
\n
\n
\n
\n
\n\n \n \n
\n
\n
\n
\n
\n
{user.firstName + ' ' + user.lastName}
\n
{user.roleName}
\n
\n
\n
\n
\n
\n );\n }\n}\n\nfunction mapState(state) {\n const {users, authentication} = state;\n const {user} = authentication;\n return {user, users};\n}\n\nconst actionCreators = {\n logout: userActions.logout,\n};\n\nconst UserBox = connect(mapState, actionCreators)(_UserBox);\nexport default withRouter(UserBox);\n","import React, { Fragment } from \"react\";\nimport cx from \"classnames\";\nimport { connect } from \"react-redux\";\nimport ReactCSSTransitionGroup from \"react-addons-css-transition-group\";\nimport HeaderLogo from \"../AppLogo\";\nimport UserBox from \"./Components/UserBox\";\n\nclass Header extends React.Component {\n render() {\n let {\n headerBackgroundColor,\n enableMobileMenuSmall,\n enableHeaderShadow,\n } = this.props;\n return (\n \n \n \n\n \n
\n \n
\n
\n \n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n enableHeaderShadow: state.ThemeOptions.enableHeaderShadow,\n closedSmallerSidebar: state.ThemeOptions.closedSmallerSidebar,\n headerBackgroundColor: state.ThemeOptions.headerBackgroundColor,\n enableMobileMenuSmall: state.ThemeOptions.enableMobileMenuSmall,\n});\n\nconst mapDispatchToProps = (dispatch) => ({});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Header);\n","import {useHistory} from 'react-router-dom';\nimport {Button} from 'reactstrap';\n\nimport FVIcon from '../../FVDashboard/Components/FVIcons';\nexport const SuperAdminDashboardNav = [\n {\n icon: 'fvicon fvicon-hammer-wrench',\n label: 'Super dashboard',\n to: '#',\n content: [\n {\n label: 'Old Video Management',\n to: '/dashboards/superadmin/VideoManagement/',\n },\n {\n label: 'New Video Management',\n to: '/dashboards/superadmin/NewVideoManagement/',\n },\n {\n label: 'User Management',\n to: '/dashboards/superadmin/UserManagement/',\n },\n {\n label: 'Org. Management',\n to: '/dashboards/superadmin/OrganizationManagement/',\n },\n {\n label: 'Create Template',\n to: '/dashboards/superadmin/TemplateManagement/',\n },\n ],\n },\n];\n\n// export const CreateVideoNav = [\n// {\n// icon: 'fvicon-play-circle-white',\n// label: 'New video',\n// to: '/dashboards/newlisting',\n// },\n// ];\n\nexport function CreateVideoNav() {\n const {push} = useHistory();\n return (\n push('/dashboards/newlisting')}\n color='success'\n className='pl-3 mr-1 mb-4 btn-shadow btn btn-success'\n style={{paddingRight: '2.8em', marginLeft: '1em', marginTop: '3em'}}>\n New video\n \n );\n}\n\nexport const WelcomeNav = [\n {\n icon: 'fvicon-list',\n label: 'Welcome',\n to: '/dashboards/welcome',\n },\n];\n\nexport const TemplatesNav = [\n {\n icon: 'fvicon-magnifier',\n label: 'Video templates',\n to: '/dashboards/newvideo',\n },\n];\n\nexport const VideoNav = [\n {\n icon: 'fvicon-play-circle-standard',\n label: 'Manage videos',\n content: [],\n },\n];\nexport const TrackNav = [\n {\n icon: 'fvicon-chart-growth3',\n label: 'Analytics',\n to: '/dashboards/analytics',\n },\n];\n// export const AccountNav = [\n// {\n// icon: \"fvicon-clipboard-text\",\n// label: \"Payment history\",\n// to: \"#\",\n// },\n// {\n// icon: \"fvicon-credit-card\",\n// label: \"Billing info\",\n// to: \"#\",\n// },\n// {\n// icon: \"fvicon-users\",\n// label: \"Manage team\",\n// to: \"#\",\n// },\n// ];\nexport const AccountNav = [\n {\n icon: 'fvicon-clipboard-text',\n label: 'Payment history',\n to: '#',\n },\n {\n icon: 'fvicon-credit-card',\n label: 'Billing info',\n to: '#',\n },\n];\nexport const AccountNav1 = [\n {\n icon: 'fvicon-users',\n label: 'Manage team',\n to: '/dashboards/manageteam',\n },\n];\n// export const FilmKitNav = [\n// {\n// icon: \"fvicon-cart\",\n// label: \"Shop\",\n// to: \"#\",\n// },\n// {\n// icon: \"fvicon-camera\",\n// label: \"Filming tutorials\",\n// to: \"/dashboards/tutorials\",\n// },\n// ];\nexport const FilmKitNav1 = [\n {\n icon: 'fvicon-cart',\n label: 'Shop',\n to: '#',\n },\n];\nexport const FilmKitNav2 = [\n {\n icon: 'fvicon-shutter2',\n label: 'Film school',\n to: '/dashboards/tutorials',\n },\n];\nexport const OldDashboardNav = [\n {\n icon: 'fvicon-launch',\n externalLink: true,\n label: 'Old Dashboard',\n to: 'https://dashboard.firstviewings.com/',\n },\n];\n","// libraries\nimport React, {Component, Fragment} from 'react';\nimport {withRouter} from 'react-router-dom';\nimport {connect} from 'react-redux';\nimport MetisMenu from 'react-metismenu';\n\n// generics\nimport '../../FVDashboard/Components/FVIcons/fvIconStyle.css';\n\n// components\nimport {\n SuperAdminDashboardNav,\n CreateVideoNav,\n WelcomeNav,\n TemplatesNav,\n TrackNav,\n AccountNav1,\n FilmKitNav2,\n OldDashboardNav,\n} from './NavItems';\nimport {Role, OldBranchLinks} from '../../helpers';\n\nclass Nav extends Component {\n constructor(props) {\n super(props);\n this.state = {\n videocontent: [],\n };\n }\n\n componentDidMount = () => {\n if (\n this.props.listingtypes.isLoaded &&\n this.props.listingtypes.items.videoTypes !== undefined &&\n this.state.videocontent.length === 0\n ) {\n let contentArray = [];\n let tmparr = [];\n for (let i = 0; i < this.props.listingtypes.items.videoTypes.length; i++) {\n tmparr = [];\n tmparr['label'] = this.props.listingtypes.items.videoTypes[i].name;\n tmparr['to'] = '/dashboards/listings?id=' + this.props.listingtypes.items.videoTypes[i].id;\n contentArray.push(tmparr);\n }\n this.setState({videocontent: contentArray});\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n if (\n this.props.listingtypes.isLoaded &&\n this.props.listingtypes.items &&\n this.props.listingtypes.items.videoTypes !== undefined &&\n this.state.videocontent.length === 0\n ) {\n let contentArray = [];\n let tmparr = [];\n for (let i = 0; i < this.props.listingtypes.items.videoTypes.length; i++) {\n tmparr = [];\n tmparr['label'] = this.props.listingtypes.items.videoTypes[i].name;\n tmparr['to'] = '/dashboards/listings?id=' + this.props.listingtypes.items.videoTypes[i].id;\n contentArray.push(tmparr);\n }\n this.setState({videocontent: contentArray});\n }\n }\n\n render() {\n const {user} = this.props;\n const DynamicVideoNav = [\n {\n icon: 'fvicon-play-circle-standard',\n label: 'Manage videos',\n content: this.state.videocontent,\n },\n ];\n const DynamicMetisMenu = () =>\n this.state.videocontent.length > 0 ? (\n \n ) : null;\n\n let userlocations = [];\n // let result = user.locations.reduce((accumulator, currentValue) => {\n // return userlocations.push(currentValue.locationId);\n // }, 0);\n const found = OldBranchLinks.some((r) => userlocations.indexOf(r) >= 0);\n return (\n \n {found && (\n \n )}\n {user.roleName === Role.SuperAdmin && (\n \n )}\n \n {/* */}\n
DASHBOARD
\n \n
TEMPLATES
\n \n
VIDEOS
\n \n
TRACK
\n \n {user.roleName === Role.ContentManager && (\n \n )}\n {/* \n {(user.roleName === Role.ContentManager ||\n user.roleName === Role.SuperAdmin) && (\n
\n ACCOUNT{\" \"}\n
\n coming soon\n
\n
\n )}\n {(user.roleName === Role.ContentManager ||\n user.roleName === Role.SuperAdmin) && (\n \n )}\n {(user.roleName === Role.ContentManager ||\n user.roleName === Role.SuperAdmin) && (\n \n )} */}\n
\n TRAINING\n {/* TRAINING
coming soon
*/}\n
\n {/* */}\n \n
\n );\n }\n\n isPathActive(path) {\n return this.props.location.pathname.startsWith(path);\n }\n}\nconst mapStateToProps = (state) => {\n const {users, authentication, listingtypes} = state;\n const {user} = authentication;\n return {\n enableClosedSidebar: state.ThemeOptions.enableClosedSidebar,\n user,\n users,\n listingtypes,\n };\n};\nexport default connect(mapStateToProps)(withRouter(Nav));\n","// libraries\nimport React, {Component, Fragment} from 'react';\nimport {connect} from 'react-redux';\nimport cx from 'classnames';\nimport ReactCSSTransitionGroup from 'react-addons-css-transition-group';\nimport PerfectScrollbar from 'react-perfect-scrollbar';\n\n// generics\nimport {setEnableMobileMenu} from '../../redux/reducers/ThemeOptions';\n\n// components\nimport Nav from '../AppNav/VerticalNavWrapper';\nimport HeaderLogo from '../AppLogo';\n\nclass AppSidebar extends Component {\n toggleMobileSidebar = () => {\n let {enableMobileMenu, setEnableMobileMenu} = this.props;\n setEnableMobileMenu(!enableMobileMenu);\n };\n\n render() {\n let {\n backgroundColor,\n enableBackgroundImage,\n enableSidebarShadow,\n backgroundImage,\n backgroundImageOpacity,\n } = this.props;\n\n return (\n \n
\n \n \n \n
\n
\n
\n
\n \n
\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n enableBackgroundImage: state.ThemeOptions.enableBackgroundImage,\n enableSidebarShadow: state.ThemeOptions.enableSidebarShadow,\n enableClosedSidebar: state.ThemeOptions.enableClosedSidebar,\n enableMobileMenu: state.ThemeOptions.enableMobileMenu,\n backgroundColor: state.ThemeOptions.backgroundColor,\n backgroundImage: state.ThemeOptions.backgroundImage,\n backgroundImageOpacity: state.ThemeOptions.backgroundImageOpacity,\n authentication: state.authentication,\n});\n\nconst actionCreators = {\n setEnableMobileMenu: setEnableMobileMenu,\n};\nexport default connect(mapStateToProps, actionCreators)(AppSidebar);\n","// libraries\nimport React, {Fragment, Suspense, lazy, useEffect} from 'react';\nimport {Route} from 'react-router-dom';\nimport Loader from 'react-loaders';\nimport {connect} from 'react-redux';\nimport {useParams} from 'react-router-dom';\n\n// Layout\nimport AppHeader from '../../Layout/AppHeader/';\nimport AppSidebar from '../../Layout/AppSidebar/';\nimport {Role} from '../../helpers/role';\nimport {userActions, listingActions} from '../../redux/actions';\n\nconst WelcomeDashboard = lazy(() => import('./Welcome/'));\nconst NewListingDashboard = lazy(() => import('./NewListing/'));\nconst NewVideoDashboard = lazy(() => import('./NewVideo/'));\nconst ListingTable = lazy(() => import('./Listings/'));\nconst Tutorials = lazy(() => import('./Tutorials/'));\nconst ManageTeam = lazy(() => import('./ManageTeam/'));\nconst Analytics = lazy(() => import('./Analytics/'));\nconst VideoManagement = lazy(() => import('./SuperAdmin/VideoManagement/'));\nconst NewVideoManagement = lazy(() => import('./SuperAdmin/NewVideoManagement/'));\nconst UserManagement = lazy(() => import('./SuperAdmin/UserManagement/'));\nconst OrganizationManagement = lazy(() => import('./SuperAdmin/OrganizationManagement/'));\nconst TemplateManagement = lazy(() => import('./SuperAdmin/TemplateManagement/'));\nconst NewOrg = lazy(() => import('./SuperAdmin/NewOrg/'));\nconst NewLocation = lazy(() => import('./SuperAdmin/NewLocation/'));\n\nconst Dashboards = (props) => {\n const {customerId} = useParams();\n useEffect(() => {\n if (!props.user.loggingIn) {\n let local = '';\n props.user.industrySectors.forEach((element) => {\n local += element.id + '_';\n });\n props.getListingTypeMeta(local);\n }\n }, [props.user]);\n return (\n \n \n
\n \n \n
\n
\n \n
\n
\n Please wait while we load your dashboard\n \n
\n
\n
\n }>\n
\n
\n \n \n \n \n \n \n \n {props.user.roleName === Role.SuperAdmin && (\n \n )}\n {props.user.roleName === Role.SuperAdmin && (\n \n )}\n {props.user.roleName === Role.SuperAdmin && (\n \n )}\n {props.user.roleName === Role.SuperAdmin && (\n \n )}\n {props.user.roleName === Role.SuperAdmin && (\n \n )}\n {props.user.roleName === Role.SuperAdmin && (\n \n )}\n {props.user.roleName === Role.SuperAdmin && (\n \n )}\n
\n
\n \n
\n
\n );\n};\n\nfunction mapState(state) {\n const {authentication} = state;\n const {user} = authentication;\n return {user};\n}\n\nconst actionCreators = {\n getUsers: userActions.getAll,\n getListingTypeMeta: listingActions.getListingMeta,\n};\nconst connectedHomePage = connect(mapState, actionCreators)(Dashboards);\nexport {connectedHomePage as Dashboards};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport {Provider} from 'react-redux';\n// import {Provider} from 'jotai-redux';\nimport {GoogleReCaptchaProvider} from 'react-google-recaptcha-v3';\n// import {Provider as JotaiProvider} from 'jotai';\n\nimport * as serviceWorker from './serviceWorker';\nimport {store} from './helpers';\nimport './assets/base.scss';\nimport Main from './FVDashboard/Main';\n\nconst rootElement = document.getElementById('root');\n\nconst renderApp = (Component) => {\n ReactDOM.render(\n // \n \n \n \n \n ,\n ,\n rootElement\n );\n};\n\nrenderApp(Main);\n\nif (module.hot) {\n module.hot.accept('./FVDashboard/Main', () => {\n const NextApp = require('./FVDashboard/Main').default;\n renderApp(NextApp);\n });\n}\nserviceWorker.unregister();\n","//libraries\nimport React, {Fragment} from 'react';\nimport {connect} from 'react-redux';\nimport cx from 'classnames';\nimport {Router, Route, Redirect} from 'react-router-dom';\nimport ResizeDetector from 'react-resize-detector';\nimport {swal} from 'react-redux-sweetalert';\nimport {ToastContainer, toast} from 'react-toastify';\n\n// generic\nimport {history} from '../../helpers';\nimport {alertActions} from '../../redux/actions';\nimport {config} from '../../config';\n\n// components\nimport {FVSweetAlert} from './Components/ReduxAlerts';\nimport {PrivateRoute} from './Components/PrivateRoute';\nimport {DevNote} from './Components/DevNote';\n\n// pages\nimport {LoginBoxed} from '../UserPages/LoginBoxed/';\nimport {ForgotPasswordBoxed} from '../UserPages/ForgotPasswordBoxed/';\nimport {ResetPasswordBoxed} from '../UserPages/ResetPasswordBoxed/';\nimport RegisterBoxed from '../UserPages/RegisterBoxed/';\nimport Register from '../UserPages/Register/';\nimport {Confirm} from '../UserPages/Confirm/';\nimport {Dashboards} from '../../FVDashboard/Dashboards/';\n\nclass Main extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n ...ToastContainer.defaultProps,\n transition: 'bounce',\n disableAutoClose: false,\n closedSmallerSidebar: false,\n };\n }\n\n // componentWillUpdate = (nextProps, nextState) => {\n // if (nextProps.processed) {\n // nextProps.swal({\n // html: true,\n // title: '',\n // text: nextProps.outcome\n // ? formater('', 'Your password has been successfuly reset, please log in to the system', false)\n // : formater(\n // '',\n // 'There was a problem trying to reset your password, please try to request an email again or contact us',\n // false\n // ),\n // showCancelButton: false,\n // onConfirm: () => {\n // nextProps.history.push({\n // pathname: '/pages/login-boxed',\n // state: {},\n // });\n // },\n // });\n // }\n // };\n\n componentDidUpdate(prevProps) {\n // if (prevProps.processed) {\n // prevProps.swal({\n // html: true,\n // title: '',\n // text: prevProps.outcome\n // ? formater('', 'Your password has been successfuly reset, please log in to the system', false)\n // : formater(\n // '',\n // 'There was a problem trying to reset your password, please try to request an email again or contact us',\n // false\n // ),\n // showCancelButton: false,\n // onConfirm: () => {\n // prevProps.history.push({\n // pathname: '/pages/login-boxed',\n // state: {},\n // });\n // },\n // });\n // }\n if (this.props.location !== prevProps.location) {\n this.onRouteChanged();\n }\n }\n\n onRouteChanged = () => {\n // clear alert on location change\n this.props.clearAlerts();\n this.clearAll();\n };\n\n getType = (type, message) => {\n switch (type) {\n case 'dismiss-all':\n toast.dismiss();\n break;\n case 'alert-success':\n if (!toast.isActive('success-toast')) {\n toast.success(message, {\n position: toast.POSITION.TOP_CENTER,\n toastId: 'success-toast',\n autoDismiss: true,\n });\n }\n break;\n case 'alert-danger':\n if (!toast.isActive('error-toast')) {\n toast.error(message, {\n position: toast.POSITION.TOP_CENTER,\n toastId: 'error-toast',\n });\n }\n break;\n case 'alert-info':\n if (!toast.isActive('info-toast')) {\n toast.info(message, {\n position: toast.POSITION.BOTTOM_CENTER,\n toastId: 'info-toast',\n });\n }\n break;\n case 'alert-warning':\n if (!toast.isActive('warn-toast')) {\n toast.warn(message, {\n position: toast.POSITION.TOP_CENTER,\n toastId: 'warn-toast',\n });\n }\n break;\n default:\n break;\n }\n };\n\n clearAll = () => toast.dismiss();\n\n handleAutoCloseDelay = (e) =>\n this.setState({\n autoClose: e.target.value > 0 ? parseInt(e.target.value, 10) : 1,\n });\n\n render() {\n let {\n colorScheme,\n enableFixedHeader,\n enableFixedSidebar,\n enableFixedFooter,\n enableClosedSidebar,\n closedSmallerSidebar,\n enableMobileMenu,\n enablePageTabsAlt,\n alert,\n } = this.props;\n return (\n (\n \n {config.s3Env !== 'fvproduction' ? : null}\n \n \n \n \n \n \n \n \n \n } />\n \n {/* {alert ? this.getType(alert.type, alert.message) : null} */}\n {/* */}\n \n
\n
\n )}\n />\n );\n }\n}\n\nconst actionCreators = {\n clearAlerts: alertActions.clear,\n swal: swal,\n};\n\nconst mapStateToProp = (state) => ({\n colorScheme: state.ThemeOptions.colorScheme,\n enableFixedHeader: state.ThemeOptions.enableFixedHeader,\n enableMobileMenu: state.ThemeOptions.enableMobileMenu,\n enableFixedFooter: state.ThemeOptions.enableFixedFooter,\n enableFixedSidebar: state.ThemeOptions.enableFixedSidebar,\n enableClosedSidebar: state.ThemeOptions.enableClosedSidebar,\n enablePageTabsAlt: state.ThemeOptions.enablePageTabsAlt,\n alert: state.alert,\n});\nexport default connect(mapStateToProp, actionCreators)(Main);\n"],"sourceRoot":""}