{"version":3,"sources":["utils/misc.js","components/core/MuiTheme/MuiTheme.js","components/core/utils/ScrollToTop/ScrollToTop.js","components/core/feedback/RichAlert.js","components/core/feedback/RichAlertTrans.js","components/core/input/Button.js","components/layout/ExpiredModal/ExpiredModal.js","context/UserContext.js","context/MenuContext.js","assets/img/shells_logo_horizontal_white.svg","components/RouteController/Factory.js","context/ModeContext.js","components/layout/Mode/ModeCheck.js","components/layout/Drawer/DrawerItem.js","components/layout/Drawer/DrawerContent.js","components/layout/ThemeSwitch/ThemeSwitch.js","components/layout/Drawer/DrawerMode.js","components/layout/Drawer/Drawer.js","components/layout/Drawer/Drawer.template.js","components/layout/Loader/Loader.js","components/core/utils/RouteTransition/MenuContextUpdater.js","components/core/utils/SetStatus/SetStatus.js","components/core/utils/ErrorPage/ErrorPage.js","components/core/feedback/State/Empty.js","assets/img/404.svg","components/layout/Container/PageContainer.js","components/core/utils/ErrorPage/APIErrorPage.js","components/core/utils/ErrorBoundary.js","assets/img/modeGraphic.svg","pages/System/PageWrongMode.js","utils/mode.js","components/core/utils/RouteTransition/RouteTransition.js","components/Login/ButtonsBuilder.js","components/Login/avatarEditorStyles.js","components/Login/AvatarImage.js","assets/img/default-avatar.svg","components/Login/AvatarEditor.js","components/common/Links/Link.js","components/Login/FormBuilder.js","components/Login/OauthBtnsBuilder.js","components/Login/Login.js","components/layout/Loader/PageLoader.js","components/core/utils/Redirect.js","assets/img/shells_logo_vertical_white.svg","pages/Login/Login.js","components/common/profile/RequestPasswordDialog.js","components/common/profile/ChangeEmail.js","components/core/typography/Title.js","components/common/profile/Account.js","components/common/profile/Information.js","components/common/profile/OAuth/OAuthItem.js","components/common/profile/OAuth/AddDialog.js","assets/img/oauthTokens.svg","components/common/profile/OAuth/table/Empty.js","components/core/data/table/TableDefinition.js","components/core/data/table/SortableCell.js","components/core/typography/PageTitle.js","components/core/typography/Toolbar.js","components/core/data/table/TableToolbar.js","components/core/data/table/Table.js","components/common/profile/OAuth/DeleteDialog.js","components/common/profile/OAuth/table/Table.js","components/common/profile/OAuth/OAuth.js","components/common/profile/Security.js","assets/img/otp_empty_list.svg","components/common/profile/OTP/table/Empty.js","components/layout/Container/tab/Panel.js","components/common/profile/OTP/AddDialog/StepCreate.js","components/common/profile/OTP/AddDialog/StepAssociate.js","components/common/profile/OTP/OtpActions.js","components/common/profile/OTP/AddDialog/StepActivate.js","components/common/profile/OTP/AddDialog/AddDialog.js","components/common/profile/OTP/DeleteDialog.js","components/common/profile/OTP/table/OtpTable.js","pages/Profile/Profile.js","components/common/Keychain/Form.js","components/common/Keychain/CreateDialog.js","components/core/data/Date/DateUtil.js","components/common/Keychain/KeychainTable.js","pages/Keychain/Keychains.js","components/common/Keychain/UpdateForm.js","components/common/Keychain/Key/DeleteDialog.js","components/core/input/DateTime.js","components/core/typography/TextWithIcon.js","components/common/Keychain/Key/KeyHashes.js","components/common/Keychain/Key/Form.js","utils/uuid.js","components/common/Keychain/Key/CreateDialog.js","components/common/Keychain/Key/KeyTable.js","utils/crypt.js","components/core/feedback/State/NotFound.js","pages/System/PageNotFound.js","pages/Keychain/KeychainEdit.js","components/common/Affiliate/Affiliate.js","components/common/Affiliate/AffiliatePayoutDetailsPaypal.js","components/common/Affiliate/AffiliatePayoutDetailsTransfer.js","components/common/Affiliate/AffiliatePayoutDetails.js","components/common/Affiliate/AffiliatePayoutDetailsDialog.js","components/common/Affiliate/Wallet/WalletTablePayout.js","components/common/Affiliate/Wallet/WalletsTable.js","components/core/input/YearSelector.js","context/SnackbarContext.js","hooks/useSnackbar.js","components/common/Affiliate/OrdersExport.js","components/common/Affiliate/PendingOrder.js","components/common/Affiliate/PendingPayout.js","pages/Partnership/Partnership.js","components/common/Order/order/OrderInfo.js","components/common/Order/order/OrderPaymentMethod.js","components/common/Order/order/OrderPaymentInfo.js","components/common/User/Location/UserLocation.js","components/common/Order/order/OrderTable.js","components/common/Order/order/Payments/PaymentMethodTab.js","components/common/Order/order/Payments/Methods/Bitpay.js","components/common/Order/order/Payments/Methods/Free.js","components/common/Order/order/Payments/Methods/OnFile.js","components/common/Order/order/Payments/Methods/Wallet.js","components/core/input/Stripe/StripeIntent.js","components/core/input/Stripe/Stripe.js","components/common/Order/order/Payments/Methods/Stripe.js","components/core/input/Paypal/Buttons.js","components/core/input/Paypal/Paypal.js","components/common/Order/order/Payments/Methods/Paypal.js","components/common/Order/order/Payments/PaymentMethodContent.js","components/common/Order/order/Payments/OrderPayments.js","hooks/useAutoRefresher.js","components/common/Order/order/OrderProcessingAlert.js","components/common/Order/order/OrderWithPayment.js","pages/Order/ViewOrder.js","components/common/Shell/Table/EmptyList.js","hooks/useIsMode.js","components/common/OperatingSystem/Selector/SourceTabs.js","hooks/useOperatingSystems.js","assets/img/shells_icon_white.svg","components/core/typography/Ellipsis.js","components/common/OperatingSystem/Selector/OSItem.style.js","hooks/useShellLicense.js","components/common/OperatingSystem/Selector/OSItemLicense.js","components/core/data/Image/Img.js","components/common/OperatingSystem/Selector/OSItemShellKernel.js","components/common/OperatingSystem/Selector/OSItem.js","components/core/input/OSPurposeSelector.js","components/common/OperatingSystem/Selector/OSFilters.js","components/common/OperatingSystem/Selector/OSList.js","components/common/OperatingSystem/Selector/InputSharedOS.js","components/core/input/ShellOsSelector.js","components/common/OperatingSystem/Selector/MobileOSSelector.js","components/common/OperatingSystem/Selector/SourceDisplay.js","components/common/OperatingSystem/Selector/OSDetailsDialog.js","components/common/OperatingSystem/Selector/OSSelector.js","components/common/Shell/Reinstall/SSHKeyWarning.js","components/core/input/ShellKeychainSelector.js","components/common/Shell/License/SelectOSLicenseInfo.js","assets/img/emptyCart.svg","components/common/Cart/Cart/EmptyCart.js","components/common/Cart/Cart/CartHeader.js","components/common/Cart/Cart/CartItem.js","components/common/Cart/Cart/CartItems.js","components/common/Cart/Cart/Prices/CartSubTotals.js","components/common/Cart/Cart/Prices/CartTotals.js","components/common/Cart/Cart/CartPrices.js","components/common/Cart/Cart/CartAddCoupon.js","components/core/input/CountrySelector.js","components/common/User/Location/Form.js","components/common/Cart/Cart/CreateOrder.js","components/common/Cart/Cart.js","components/common/Order/order/NewOrderDialog.js","components/common/Shell/ShellWindowsOSWarning.js","components/common/Shell/ShellSetInitialOSDialog.js","components/common/Shell/ShellOpenWrapper.js","components/core/data/Flag/Flag.js","utils/shell.js","assets/img/plans/lp-plan-01.png","assets/img/plans/lp-plan-02.png","assets/img/plans/lp-plan-03.png","assets/img/plans/lp-plan-04.png","assets/img/plans/lp-plan-05.png","hooks/useShells.js","components/common/Shell/ShellPicture/ShellStateIcon.js","components/common/Shell/ShellPicture/ShellPicture.js","components/common/Shell/ShellAction/ShellActionStart.js","components/common/Shell/ShellActionConfirmationDialog.js","components/common/Shell/ShellAction/ShellActionStop.js","components/common/Shell/ShellAction/ShellActionReboot.js","components/common/Shell/ShellAction/ShellAction.js","components/common/Shell/Subscription/ShellUsage.js","hooks/useUtils.js","components/common/Shell/Table/Action/ActionMenu.js","components/common/Shell/Table/Action/ShellTableAction.js","components/common/Shell/ShellExpireButton.js","components/common/Shell/Subscription/ShellExpiredMessage.js","components/common/Shell/Table/ShellListRow.js","components/common/Shell/ShellPicture/PlanBadge.js","components/common/Shell/Table/ShellsTable.js","pages/Shell/ShellList.js","components/common/Shell/ShellInfo.js","components/common/Shell/Plan/ShellPlanListItemPrice.js","components/common/Shell/Plan/ShellPlanListItem.js","components/common/Shell/Plan/ShellPlanCustomTooltip.js","components/common/Shell/Plan/ShellPlanDetails.js","assets/img/plans/chip.png","assets/img/plans/disk.png","assets/img/plans/memory.png","assets/img/plans/hours.png","assets/img/plans/maxPlans.svg","components/common/Shell/Plan/MaxPlan.js","components/common/Shell/Plan/ShellPlanSelectionDialog.js","components/common/Shell/ShellUpgradeButton.js","components/common/Shell/PreparingRefresh.js","components/common/Shell/Subscription/ShellCancelDialog.js","hooks/useUserBilling.js","components/common/Shell/Subscription/AutoRenewDialog/AutoRenewCreate.js","components/common/User/Billing/PaymentMethod.js","components/common/Shell/Subscription/AutoRenewDialog/AutoRenewSet.js","components/common/Shell/Subscription/AutoRenewDialog/ShellSetAutoRenewlDialog.js","components/common/Shell/ShellUpdateForm.js","components/common/Account/TwoStep/TwoStepDialog.js","components/common/Shell/Transfer/ShellTransfer.js","pages/Shell/Shell/SettingsTab.js","components/common/Shell/ShellConnection.js","components/common/Shell/DeleteIpDialog.js","components/core/utils/NotFound/NotFound.js","components/common/Shell/ShellIpPlan.js","components/common/Shell/ShellIpTable.js","assets/img/shell_licenses_empty_state.svg","components/common/Shell/License/Table/Empty.js","components/common/Shell/License/Table/ShellLicenseTable.js","pages/Shell/Shell/AdministrationTab.js","components/common/Shell/Snapshots/SnapshotRestoreDialog.js","components/common/Shell/Snapshots/SnapshotTableMobileRow.js","components/common/Shell/Snapshots/SnapshotsTable.js","pages/Shell/Shell/SnapshotsTab.js","components/core/input/ShellDatacenterSelector.js","components/common/Shell/Reinstall/StepSettings.js","components/common/Shell/Reinstall/StepValidation.js","components/common/Shell/Reinstall/ShellReinstallWizard.js","pages/Shell/Shell/ReinstallTab.js","components/core/input/ShellISOSelector.js","components/common/ISO/ISOMountDialog.js","components/common/ISO/ISOUnmountDialog.js","components/common/ISO/IsoMountTable.js","components/common/Shell/ISO/ShellISO.js","pages/Shell/Shell/ISOTab.js","components/core/input/ClipboardCopyTextField.js","components/common/Shell/DebugDialog.js","components/common/Shell/ShellDebugButton.js","pages/Shell/Shell/SupportTab.js","pages/Shell/Shell/ShellTabs.js","pages/Shell/Shell.js","components/common/Links/SolutionsForYou.js","components/common/Links/SolutionsForThem.js","components/common/Links/CommunityHelp.js","components/common/Links/Legal.js","components/common/Links/Navigation.js","components/common/Links/About.js","pages/Links/Links.js","components/common/OperatingSystem/OperatingSystemTable.js","components/core/input/ShellSelector.js","components/core/input/OSFamilySelector.js","components/core/input/OSBootSelector.js","components/core/input/OSPublicSelector.js","components/core/input/OSBetaSelector.js","components/core/input/OSCPUSelector.js","components/core/input/Picture.js","components/common/OperatingSystem/Form.js","components/core/feedback/LinearProgress.js","components/common/OperatingSystem/CreateDialog.js","pages/OperatingSystem/CustomOSList.js","components/common/OperatingSystem/OperatingSystemShare.js","components/common/OperatingSystem/EditForm.js","components/common/OperatingSystem/Image/AddVersionDialog.js","components/common/OperatingSystem/Image/OSImageTable.js","components/common/OperatingSystem/DeleteDialog.js","pages/OperatingSystem/CustomOSEdit.js","pages/Mode/SwitchMode.js","components/common/Order/OrderRowMobile.js","components/common/Order/OrdersTable.js","components/common/User/Billing/UpdateLocationForm.js","components/common/User/Billing/UpdatePaymentMethodForm.js","pages/Billing/UpdateBillingWrapper.js","components/common/User/Billing/NotFound.js","pages/Billing/Billing.js","pages/Billing/PaymentInfo.js","components/common/ISO/ISOTable.js","components/common/ISO/ISOCreateDialog.js","pages/ISO/ISOList.js","components/common/ISO/ISOInfo.js","components/common/ISO/ISODeleteDialog.js","pages/ISO/ISOEdit.js","components/common/Account/Warning/Text/TextWarning.js","components/common/Account/Warning/Text/TextWarnings.js","components/common/Account/Warning/User/UserWarning.js","components/common/Account/Warning/User/UserWarnings.js","components/common/Account/Warning/Shell/ShellWarning.js","components/common/Account/Warning/Shell/ShellWarnings.js","components/common/Account/Warning/Product/Plan.js","components/common/Account/Warning/Product/ProductWarning.js","components/common/Account/Warning/Product/ConcernedShellTable.js","components/common/Account/Warning/Product/ProductWarnings.js","components/common/Account/Warning/Os/OsWarning.js","components/common/Account/Warning/Os/OsWarnings.js","components/common/Account/Warning/Datacenter/DatacenterWarning.js","components/common/Account/Warning/Datacenter/DatacenterWarnings.js","pages/Warning/Warning.js","components/RouteController/Routes.js","components/RouteController/RouteController.js","components/layout/AccountWarnings/AccountWarnings.js","components/layout/Layout.js","components/layout/Snackbar/Snackbar.js","AppContextContainers.js","App.js","index.js","polyfills.js","../node_modules/moment/locale sync /^/.//.*$"],"names":["deepCopy","object","JSON","parse","stringify","isString","str","String","getCookiesOptions","date","Date","setFullYear","getFullYear","path","secure","expires","fileExtensionIs","file","extension","name","split","pop","isShellKernel","os","Boot","MuiTheme","children","useCookies","cookies","setCookie","prefersDarkMode","useMediaQuery","theme","useEffect","React","useMemo","createMuiTheme","palette","type","primary","light","main","dark","overrides","MuiPickersModal","dialogAction","color","lightBlue","MuiButton","textPrimary","MuiBadge","colorPrimary","MuiChip","MuiStepIcon","text","fill","ThemeProvider","CssBaseline","ScrollToTop","pathname","useLocation","window","setTimeout","scrollTo","useStyles","makeStyles","fixAlert","display","overflowWrap","RichAlert","rest","classes","Alert","className","RichAlertTrans","i18nKey","values","Trans","Button","forwardRef","ref","loading","disabled","endIcon","CircularProgress","thickness","size","displayName","withStyles","root","borderRadius","boxShadow","border","containedPrimary","background","ExpiredModal","open","t","useTranslation","location","useState","setLoading","Dialog","aria-labelledby","aria-describedby","DialogTitle","id","DialogContent","Grid","container","spacing","alignItems","justify","direction","item","severity","onClick","component","href","search","hash","variant","defaultUserContext","loggedIn","showExpiredModal","user","Display_Name","Email","Profile","Media_Image","Url","UserContext","createContext","UserContainer","setUser","useRest","getUserEndpoint","loggedUser","setLogoutUserCallback","useContext","RestContext","prev","userCtx","result","Provider","value","defaultMenuContext","route","MenuContext","MenuContextContainer","isMobile","noSsr","menu","Object","assign","setMenu","undefined","getShellViewRoute","getOrderViewRoute","getSSHKeychainEditRoute","getCustomOsEditRoute","getSwitchToModeRoute","mode","getISORoute","isoId","LITE_MODE","ADVANCED_MODE","defaultModeContext","ModeContext","ModeContainer","modeContext","setModeContext","setCookies","setMode","useCallback","getHostname","ModeCheck","forceHide","anyMode","lite","advanced","forbiddenComponent","propTypes","PropTypes","bool","oneOfType","arrayOf","node","isRequired","DrawerItem","title","tooltip","Icon","to","extraActive","toProps","liteMode","advancedMode","Tooltip","arrow","placement","ListItem","button","NavLink","activeStyle","backgroundColor","isActive","match","i","length","matchPath","ListItemIcon","ListItemText","DrawerContent","List","PaymentIcon","exact","AccountBalanceWalletIcon","VpnKeyIcon","SettingsSystemDaydreamIcon","AlbumIcon","ButtonComponent","TextComponent","etc","darkBtn","style","marginLeft","lightBtn","DrawerMode","returnTo","setReturnTo","encodeURIComponent","AllInclusiveIcon","toLowerCase","SpaIcon","Drawer","wrapperRef","useRef","useUserLogout","logout","logOut","params","setOpen","anchorEl","setAnchorEl","handleUserSubmenuClose","paper","src","Graphic","alt","disableGutters","rel","target","IconButton","width","strict","Divider","process","data","aria-controls","aria-haspopup","event","currentTarget","Menu","keepMounted","Boolean","onClose","ListSubheader","MenuItem","template","a","res","m","Loader","message","useTheme","align","version","xmlns","xmlnsXlink","x","y","viewBox","enableBackground","xmlSpace","stroke","secondary","strokeWidth","strokeMiterlimit","cx","cy","r","strokeLinecap","x1","y1","x2","y2","attributeName","dur","from","repeatCount","MenuContextUpdater","useParams","prevState","SetStatus","statusCode","render","staticContext","ErrorPage","errorID","Empty","textI18Key","action","graphic","xs","md","Typography","Link","wrapper","breakpoints","down","padding","PageContainer","Box","pt","Container","maxWidth","Paper","p","APIErrorPage","ErrorBoundary","props","state","hasError","hasAPIError","errorUUID","errorMessage","error","errorInfo","console","log","stack","messageData","getDebugLogJsErrorEndpoint","errorMsg","url","lineNumber","then","d","setState","this","context","restContext","setLastError","lastError","token","uuid","headers","get","Component","contextType","PageWrongMode","expectedLite","expectedAdvanced","getExpectedModeInfo","expectedModeToken","expectedModeHostname","expectedMode","Helmet","e","preventDefault","RouteTransition","loginRequired","encodeURI","SwitchTransition","CSSTransition","classNames","addEndListener","done","addEventListener","ButtonsBuilder","LoginContext","goBack","initialStep","Next","fullWidth","Div","styledComponents","div","Label","label","Figure","figure","Input","input","AvatarEditorRange","styled","margin","AvatarEditorImages","textAlign","AvatarEditorImagesInner","AvatarEditor","ReactAvatarEditor","height","AvatarImages","boxSizing","AvatarWrapper","AvatarBtnsWrapper","AvatarBtn","cursor","opacity","transition","AvatarBtnWrapper","marginRight","marginBottom","AvatarImage","defaultAvatar","editor","handleSetImage","handleScale","imgPath","image","scale","rotate","onPositionChange","onChange","min","max","step","defaultValue","field","fieldId","required","setAvatarImage","preview","img","croppieFileInput","current","getImageScaledToCanvas","toBlob","blob","param","parseFloat","accept","files","LinkTypo","FormBuilder","profilePicture","onInputChange","fields","map","idx","TextField","link","paragraph","checkbox","Checkbox","FormControlLabel","control","OAuth2Wrapper","justifyContent","OauthBtn","backgroundPosition","backgroundRepeat","backgroundAttachment","backgroundSize","overflow","textIndent","backgroundImage","logo","OauthBtnsBuilder","oauthFields","onOauthClicked","info","Name","Token_Name","Login","TitleComponent","handleSubmit","formTitle","onSubmit","PageLoader","Redirect","startsWith","isExternal","replace","fillHeight","paddingRight","paddingLeft","history","useHistory","Hidden","smDown","bgcolor","onValidated","push","getPrefix","RequestPasswordDialog","closeCallback","pwd","setPwd","DialogContentText","DialogActions","autoFocus","ChangeEmail","changingInfo","email","setEmail","requestPwdOpen","setRequestPwdOpen","saveEnabled","setSaveEnabled","useUserSetEmail","setNewEmail","loadingNewEmail","handleChangeEmail","tmp","Has_Password","styles","flex","Title","gutterBottom","Account","Information","username","setUsername","useUserProfileUpdate","updateProfile","OAuthItem","consumer","setSelected","selected","useConsumerLink","OAuth2_Consumer__","fetchConsumerLink","redirect_url","ListItemAvatar","Button_Style","inset","AddDialog","selectedConsumer","setSelectedConsumer","getOAuth2ConsumersEndpoint","consumers","TableDefinition","string","sortable","SortableCell","sort","sortHandlerDir","TableSortLabel","active","PageTitle","backButton","backButtonText","isBackBtnUrl","pb","tag","fontWeight","Toolbar","startAdornment","endAdornment","pageTitle","pageTitleProps","childItemProps","titleItemProps","toolbarProps","TableToolbar","searchKey","filters","changeFiltersAndPaging","searchCriteria","extra","showSearch","setShowSearch","searchText","setSearchText","showCriteria","currentCriterias","setCurrentCriterias","handleSearch","page_no","handleClear","onKeyPress","key","onKeyUp","InputProps","InputAdornment","position","top","filter","option","findIndex","c","select","updateCriteria","splice","unsetCriteria","forEach","cTable","Table","fetch","initialFilters","paperProps","emptyState","emptyText","RowComponent","TableRow","rowProps","paging","setPaging","setFilters","hasFilters","setHasFilters","changePageHandler","newPage","handleFiltersAndPagingChange","parseInt","queryString","keys","pK","sortHandler","property","dir","hasFilter","pNo","perPage","results_per_page","newPaging","pagingChangeHandler","filtersInUrl","refreshNeeded","k","cleaned","filtersChangeHandler","firstUpdate","changeFiltersHandler","currentParams","TableContainer","TableHead","Array","isArray","child","headerAlign","cellProps","finalAlign","TableCell","TableBody","list","colSpan","rowIdx","cellIdx","Skeleton","displayData","TableFooter","TablePagination","rowsPerPageOptions","count","rowsPerPage","page","labelRowsPerPage","SelectProps","inputProps","native","labelDisplayedRows","onChangePage","onChangeRowsPerPage","ActionsComponent","TablePaginationActions","DeleteDialog","onDeleted","useConsumerTokenUnlink","OAuth2_Consumer_Token__","unlinkToken","useConsumerTokens","tokens","showDelete","setShowDelete","elevation","OAuth2_Consumer","deleteHandler","startIcon","OAuth","addDialogOpened","setAddDialogOpened","Security","newPassword","setNewPassword","newPasswordRepeat","setNewPasswordRepeat","useUserChangePassword","changePassword","resetFields","handleSave","old","finally","helperText","Panel","index","boxProps","other","role","hidden","StepCreate","handleClose","setStep","setOtp","otpName","setOtpName","useUserOTPCreate","create","creating","trim","TAB_ASSOCIATE","StepAssociate","otp","refresh","otpConfirm","setOtpConfirm","useUserOTPAssociate","User_Otp__","associate","associating","keyB32","Key_base32","Key","TAB_ACTIVATE","ACTIONS","OtpActions","useUserOTPSetAction","set","setting","useUserOTPUnsetAction","unset","unsetting","isActivated","Actions","includes","createChangeHandler","checked","setHandler","unsetHandler","FormGroup","StepActivate","onEnter","Stepper","activeStep","Step","StepLabel","refreshList","refreshing","useUserOTPDelete","deleteKey","deleting","OtpTable","useUserOTPs","showCreate","setShowCreate","createSetOtpHandler","Form","setData","setIsValid","def","getValue","CreateDialog","useKeychainCreate","handleCreate","Keychain__","spacin","DateUtil","unixTime","klbDateObj","format","unixms","unix","moment","KeychainTable","useKeychains","keychains","keychain","Created","Keychains","UpdateForm","setKeychain","isValid","useKeychainUpdate","update","updating","keychainKey","useKeychainKeyDelete","Keychain_Key__","fingerprint","Fingerprint","locale","getLocale","require","DateTime","inputVariant","utils","MomentUtils","libInstance","DateTimePicker","TextWithIcon","KeyHashes","hashes","setIdx","setChecking","setHashes","validForm","setValidForm","useKeychainKeyCheck","check","toSet","splited","Data","handleError","Hash","catch","placeholder","multiline","rows","getDateValue","Expires","clearable","disablePast","dt","getTime","Math","random","floor","toString","validate","prefix","r1","exec","r2","useKeychainKeyCreate","isChecking","setIsChecking","formKey","setFormKey","KeyTable","useKeychainKeys","onSelected","formatExpires","slice","NotFound","PageNotFound","KeychainEdit","keychainId","useKeychain","Affiliate","affiliate","referral","setReferral","Type","Code","editable","maxLength","AffiliatePayoutDetailsPaypal","bankAccount","Meta","AffiliatePayoutDetailsPaypalTransfer","useMoneySwift","swift","aba","details","account_number","Institution_Name","country","Iso_Country_Code","AffiliatePayoutDetails","bankAccountId","useMoneyBankAccount","transfer_type","AffiliatePayoutDetailsTransfer","AffiliatePayoutDetailsDialog","moneyBankAccountId","WalletTablePayout","wallet","useUserWalletAutos","User_Wallet__","showPayoutDetails","setShowPayoutDetails","userWalletAuto","Money_Bank_Account__","Money_Bank_Account","User_Wallet_Auto__","WalletsTable","useUserWallets","wallets","Balance","YearSelector","setValue","interval","possibleValues","setPossibleValues","now","cleanedInterval","v","SnackbarValueContext","SnackbarSetContext","SnackbarProvider","memo","setSnackbar","SnackbarContainer","snackbar","setSnackMessageCallback","i18n","useSetSnackbar","OrdersExport","year","setYear","generating","setGenerating","useAffiliateExportOrder","Affiliate__","generate","setIntervalVar","clearInterval","j","setInterval","Job__","Finished","PendingOrder","useOrders","orders","Affiliate_Status","order","Invoice_Date","Affiliate_Total","PendingPayout","statuses","useMoneyBankWithdraws","withdraw","Status","w","Requested","toLocaleLowerCase","Amount","Partnership","useAffiliate","transferTab","setTransferTab","Tabs","scrollButtons","indicatorColor","textColor","newValue","Tab","Payout_Method","card","whiteSpace","OrderInfo","Card","CardContent","Paid","OrderPaymentMethod","Payment_Method","Payment_Class","OrderPaymentInfo","Payment_Last4","UserLocation","address","Display","join","Contact_Phone","fontSize","OrderTable","rowSpan","setRowSpan","Subtotals","shipping","value_int","discount","Items","row","Catalog_Product","Quantity","Price","Full_Price","Order_Item__","Total","Vat_Rate","Vat_Amount","Total_Vat","PaymentMethodTab","method","Bitpay","settings","setPaying","refreshOrder","setDialogActions","useOrderProcess","Order__","processOrder","bitpay_loading","bitpayListenerCallback","status","removeEventListener","session","snackMessageToken","loadBitpayScript","onLoad","existing","document","getElementById","bitpay","remove","scriptEl","createElement","setAttribute","async","onload","body","appendChild","resetScript","dispatchEvent","CustomEvent","detail","init","js","methods","_javascript","invoiceId","Bitpay_Invoice_Id","showInvoice","onModalWillLeave","handleLoading","handleProcess","Free","processingOrder","OnFile","billings","user_billing","billingId","User_Billing__","billing","Methods","exp","Expiration","Wallet","balance","StripeIntent","setStripe","setStripeElements","stripe","useStripe","stripeElements","useElements","options","layout","stripePromise","Stripe","setIntent","setStripePromise","paymentInfo","setPaymentInfo","clientSecret","setClientSecret","Promise","all","intentResult","infoResult","Setup","stripe_intent","attributes","client_secret","cc_token","Fields","account_id","stripeAccount","loadStripe","initStripe","stripe_account","appearance","setProcessingOrder","stripeError","setStripeError","URLSearchParams","retrievePaymentIntent","paymentIntent","confirmPayment","elements","redirect","confirmParams","payment_method_data","billing_details","Billing_User_Location","First_Name","Last_Name","User","Country__","postal_code","Zip","Province","city","City","line1","Address","line2","Address2","return_url","host","complete","Buttons","onApproved","onError","onCancel","onLoadFailed","fundingSource","FUNDING","PAYPAL","usePayPalScriptReducer","isPending","isRejected","createOrder","actions","onApprove","Paypal","clientId","onOrderCanceled","handleLoadFailed","handlePaymentCanceled","handlePaymentError","processing","handleComplete","order_id","orderID","_internal_finalize","client_id","PaymentMethodContent","selectedPaymentMethod","methodData","setComponent","OrderPayments","processResult","setProcessResult","paying","paymentMethod","setPaymentMethod","methods_order","MIN_REFRESH_INTERVAL","BACKGROUND_INTERVAL_REFRESH","useAutoRefresher","backGroundRefresh","timeoutId","lastRefresh","backGroundRefreshInterval","clear","clearTimeout","executeRefresh","restart","onFocus","visibilityState","OrderProcessingAlert","refresher","o","OrderWithPayment","onComplete","detectComplete","newOrder","ViewOrder","orderId","useOrder","number","Invoice_Number","lg","Shipping_User_Location","EmptyList","useIsMode","ok","setOk","OS_OFFICIAL","OS_PRIVATE","OS_SHARE","SourceTabs","tab","setTab","isAdvanced","icon","ICON_VARIATION","Ellipsis","actionArea","media","mediaLoading","borderColor","fade","selectedTitle","description","content","paddingTop","detailsBtb","right","zIndex","ribbon","textTransform","useShellHasLicense","shellId","useApiErrorHandler","catchRedirect","licenseKey","getShellLicenseEndpoint","OsItemLicense","shell","detailed","hasLicense","setHasLicense","Shell__","price","centered","loaded","transform","final","left","Img","loaderStyle","rootStyle","setCleaned","cleanedStyle","setCleanedStyle","OsItemShellKernel","OsItem","setShowDetailsFor","Beta","span","Description","Short_Description","CardActionArea","Variation","defaultIcon","Catalog_Product__","SHELL_OS_PURPOSE_LIST","SHELL_OS_PURPOSE_LITE_LIST","OSPurposeSelector","hideAll","OsFilters","handleChange","cpy","Purpose","FormControl","FormLabel","Radio","purpose","OsList","own","useOperatingSystems","Ready","image_variation","perRow","setPerRow","observe","useDimensions","sm","updateOnBreakpointChange","onResize","currentBreakpoint","Visible","Shell_OS__","page_max","InputSharedOS","shareInput","setShareInput","osId","getShellOsEndpoint","useFetchOperatingSystem","setError","Public","ShellOsSelector","allowEmpty","idToOsMap","setIdToOsMap","releasedOS","setReleasedOS","betaOs","setBetaOS","licenseOs","setLicenseOs","beta","license","nonBeta","s","first","MobileOSSelector","initialSource","source","setSource","SourceDisplay","mobile","OSDetailsDialog","Avatar","OSSelector","showDetailsFor","SSHKeyWarning","show","setShow","ShellKeychainSelector","SelectOsLicenseInfo","loadingLicense","handleBuyLicense","EmptyCart","CartHeader","CartItem","cartItem","refreshCart","useCatalogCartItemRemove","removing","quantity","raw","tax_rate","tax","CartItems","items","product","CartSubTotals","subtotals","regular","CartTotals","cart","total_no_coupon","total","total_vat_only","total_vat","CartPrices","CartAddCoupon","coupon","setCoupon","useCatalogCartProcess","processQuery","processingCart","query","CountrySelector","getCountriesEndpoint","countries","InputLabelProps","shrink","isEvent","CreateOrder","setOrder","setCreating","userContext","useCatalogCartCreateOrder","creatingOrder","useUserLocationCreate","createLocation","creatingLocation","useUserSetDefaultLocation","setDefaultLocation","settingDefaultLocation","setLocation","locationValid","setLocationValid","Default_Billing_User_Location__","handleCreateOrder","handleCreateOrderWithLocation","User_Location__","Cart","request","useCatalogCart","loadingCart","useCatalogCartReset","resetCart","resettingCart","newCart","products","NewOrderDialog","dialogActions","fullScreen","py","ShellWindowsOsWarning","isShellWindowsOSWarningNeeded","Family","ShellSetInitialOSDialog","setShell","useShellSetInitialOS","doSetOs","setOs","orderRequest","setOrderRequest","showOrder","setShowOrder","productId","urlParams","ShellOpenWrapper","callback","showSelectOs","setShowSelectOs","openShell","cloneElement","sizes","ratio","Flag","code","rounded","formatShellExpireDate","iso","isExpired","isShellValid","Timer_Enabled","Timer_Balance","isShellCanBeStarted","State","getPrice","forceShowMonthly","isCustom","unit","value_disp","isCustomPlan","plan","isYearly","SHELL_REBOOT_ENABLE_STATES","SHELL_START_ENABLE_STATES","SHELL_STOP_ENABLE_STATES","UNIT_CPU","UNIT_RAM","SHELL_OS_ICON_VARIATION","SHELL_PLANS_SEARCH_QUERY","isShellYearly","getShellGraphic","GRAPHIC_SHELL_LITE","GRAPHIC_SHELL_BASIC","GRAPHIC_SHELL_PLUS","GRAPHIC_SHELL_PRO","GRAPHIC_SHELL_CUSTOM","osIcon","ShellStateIcon","warning","enterDelay","ShellPicture","flagSize","stateSize","OS","Shell_Datacenter","Location","ShellActionStart","useShellStart","start","starting","aria-label","PlayArrow","ShellActionConfirmationDialog","actionName","ShellActionStop","useShellStop","stop","stopping","showConfirm","setShowConfirm","ShellActionReboot","useShellReboot","reboot","rebooting","buttonGroup","loader","bottom","ShellAction","ButtonGroup","ShellUsage","formatTime","timeInSeconds","secNum","hours","minutes","seconds","useHumanTimeFormatter","time","LinearProgress","Timer_Allowance","Timer_Next_Reset","ActionMenu","needHorizontal","menuAnchor","setMenuAnchor","closeMenu","ShellTableAction","ShellExpireButton","inMenu","handleRenew","ShellExpiredMessage","allowShortMode","isSmall","add","ShellListRow","createSetShellHandler","isXSmall","localStorage","getItem","Accordion","expended","setItem","storeState","expanded","AccordionSummary","expandIcon","Chip","AccordionDetails","PlanChip","badge","Badge","lineHeight","ShellsTable","useShells","shells","silent","tableDefStyle","borderBottom","ShellList","ShellInfo","Username","ShellPlanListItemPrice","setPrice","minHeight","oldPrice","textDecoration","discountWrapper","flexWrap","ShellPlanListItem","ShellPlanCustomTooltip","typography","pxToRem","tooltipImageWrapper","tooltipImage","marginTop","ShellPlanDetails","nbUnit","setNbUnit","minUnits","cpu","hdd","ram","tooltips","setTooltips","handleOpenTooltip","handleClickAway","onChangeHandler","getMinUnitsValue","Fragment","onMouseEnter","onMouseLeave","ClickAwayListener","onClickAway","disableFocusListener","ceil","buildVcpu","buildHdd","buildRam","buildTimeAllowance","buildOtherField","MaxPlan","ShellPlanSelectionDialog","plans","setPlans","useCatalogProductsSearch","fetchPlans","useShellPlans","monthlyPlans","setMonthlyPlans","yearlyPlans","setYearlyPlans","selectedTab","setSelectedTab","selectedPlan","setSelectedPlan","Size","selectedProduct","setSelectedProduct","setRequest","filtered","isShown","createSelectHandler","isSelected","ShellUpgradeButton","showDialog","setShowDialog","PreparingRefresh","counter","setCounter","isPreparing","timer","ShellCancelDialog","useShellCancelSubscription","cancel","cancelling","useFirstUserBilling","userId","useUserBillings","setBilling","useFirstPaymentMethod","useUserBillingMethods","setMethod","AutoRenewCreate","useShellCreateAndSetBilling","locationFormValid","setLocationFormValid","locationData","setLocationData","stripeIntent","setStripeIntent","stripeValid","setStripeValid","confirmSetup","billingLabel","billingMethod","billingMethodData","PaymentMethod","expiration","AutoRenewSet","useShellSetBilling","activate","activating","ShellSetAutoRenewDialog","ShellUpdateForm","setLabel","showCancel","setShowCancel","showAutoRenew","setShowAutoRenew","useShellUpdate","TwoStepDialog","useTwoStepValidation","validating","setCode","RegExp","test","ShellTransfer","useShellTransfer","transfer","transferring","showTwoStep","setShowTwoStep","setSession","SettingsTab","currentTab","SHELL_TAB_SETTINGS","ShellConnection","Host","IP","port","Ssh_Port","Keychain","DeleteIpDialog","shellIp","useShellDeleteIp","deleteIp","ShellIpPlan","useCatalogProduct","ShellIpTable","showDeleteIp","setShowDeleteIp","IPs","ip","Shell_IP__","ShellLicenseTable","useShellLicenses","licenses","AdministrationTab","SHELL_TAB_ADMINISTRATION","SnapshotRestoreDialog","snapshot","useShellVolumeSnapshotRestore","restore","restoring","Shell_Volume_Snapshot__","SnapshotTableMobileRow","onRestore","Snapshot_Id","fromNow","Shell_Volume","Shell_OS","SnapshotsTable","useShellVolumeSnapshots","snapshots","showRestore","setShowRestore","SnapshotsTab","SHELL_TAB_SNAPSHOTS","ShellDatacenterSelector","getShellDatacentersListEndpoint","datacenter","Shell_Datacenter__","StepSettings","next","nextEnabled","setNextEnabled","changeOSToggle","setChangeOSToggle","fetchLicense","erase","StepValidation","onFail","twoStepInfo","setTwoStepInfo","useShellReconfigure","reconfigure","reconfiguring","hasKeychainChanged","newShell","getDefaultState","keepPassword","ShellReinstallWizard","stepIndex","setStepIndex","ReinstallTab","SHELL_TAB_REINSTALL","ShellISOSelector","useShellISOs","isos","Shell_ISO__","Filename","IsoMountDialog","useShellMountISO","mount","mounting","IsoUnmountDialog","useShellISOMountUnmount","Shell_ISO_Mount__","unmount","unmounting","Shell_ISO","IsoMountTable","filterId","forShells","useShellISOMounts","Shell","ShellIso","ISOTab","SHELL_TAB_ISO","ClipboardCopyTextField","copied","setCopied","el","execCommand","removeChild","copyToClipboard","DebugDialog","useMetaObjectLinkAccess","getShareLink","loadingLink","setLink","disableEnforceFocus","ShellDebugButton","SupportTab","SHELL_TAB_SUPPORT","ShellTabs","useShell","tabIndex","setTabIndex","SolutionsForYou","my","SolutionsForThem","CommunityHelp","Legal","Navigation","About","Links","OperatingSystemTable","ShellSelector","idOnly","volumeRequired","idToShellMap","setIdToShellMap","result_per_page","Shell_Volume__","OSFamilySelector","OSBootSelector","OSPublicSelector","OSBetaSelector","OSCPUSelector","Picture","pictureEditedChanged","square","reverseDisplay","minWidth","previewStyle","defaultPicture","pictureSrc","setPictureSrc","pictureEdited","_setPictureEdited","pictureKey","setPictureKey","setPictureEdited","isSame","Media_Image__","fr","FileReader","Image","onRevertPicture","readAsDataURL","InputLabel","htmlFor","FormHelperText","rowsMax","Infinity","Progress","INITIAL_DATA","useOperatingSystemCreateFromFile","createFromFile","creatingFromFile","progress","useOperatingSystemCreateFromShell","createFromShell","creatingFromShell","useOperatingSystemCreateEmpty","createEmpty","creatingEmpty","setFile","fileKey","setFileKey","isFileValid","setIsFileValid","names","descriptions","shortDescriptions","family","boot","CPU","isPublic","CustomOSList","OperatingSystemShare","EditForm","useUpdateOperatingSystem","File","AddVersionDialog","canAddNewVersion","useOperatingSystemAddImageFromFile","useOperatingSystemAddImageFromShell","OSImageTable","useOperatingSystemImages","images","setCanAddNewVersion","hasValidImage","setHasValidImage","today","utc","canAdd","hasValid","Version","Source","clickable","useOperatingSystemDelete","deleteOs","CustomOsEdit","useOperatingSystem","Is_Deletable","SwitchMode","decodeURIComponent","toUpperCase","OrderRowMobile","componant","Invoice_Url","OrdersTable","UpdateLocationForm","formValid","setFormValid","useUserLocationUpdate","updateLocation","updatingLocation","useUserBillingUpdate","updateBilling","updatingBilling","toSave","UpdatePaymentMethodForm","useUserBillingMethodUpdate","User_Billing_Method__","setUpdating","showForm","setShowForm","Expired","Fail_Count_Reached","UpdateBillingWrapper","useUserLocation","refreshLocation","refreshMethod","Billing","PaymentInfo","ISOTable","IsoCreateDialog","useShellISOUpload","ISOList","IsoInfo","ISODeleteDialog","useShellISODelete","deleteISO","IsoEdit","useShellISO","Is_Mounted","TextWarning","AlertTitle","dangerouslySetInnerHTML","__html","TextWarnings","warnings","Shell_Warning__","UserWarning","UserWarnings","ShellWarning","MetaObject","ShellWarnings","Plan","getColor","v1","v2","getStyle","ProductWarning","Target_MetaObject__","Target_MetaObject","ConcernedShellTable","useShellProductChangeWarning","setShells","ProductWarnings","OsWarning","OsWarnings","DatacenterWarning","DatacenterWarnings","Warning","useShellAccountWarnings","textWarnings","setTextWarnings","productWarnings","setProductWarnings","userWarnings","setUserWarnings","shellWarnings","setShellWarnings","osWarnings","setOsWarnings","datacenterWarnings","setDatacenterWarnings","Routes","RouteController","darken","lighten","getBackgroundColor","AccountWarnings","setWanings","execute","found","Layout","titleTemplate","Snackbar","AppContextContainers","App","charset","i18nOpt","lng","initImmediate","load","interpolation","escapeValue","react","useSuspense","global","run","use","Backend","initReactI18next","prototype","fn","onFinally","resolve","reason","reject","webpackContext","req","webpackContextResolve","__webpack_require__","Error","module","exports"],"mappings":"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","file":"static/js/main.a9814cb9.chunk.js","sourcesContent":["export const isFunction = (obj) => {\n\treturn !!(obj && obj.constructor && obj.call && obj.apply);\n};\nexport const pad = (num, size) => {\n\tlet s = num + '';\n\twhile (s.length < size) s = '0' + s;\n\treturn s;\n};\n\nexport const deepCopy = (object) => {\n\treturn JSON.parse(JSON.stringify(object));\n};\n\nexport const copyToClipboard = str => {\n\tif (typeof document === 'undefined') return;\n\tconst el = document.createElement('textarea');\n\tel.value = str;\n\tdocument.body.appendChild(el);\n\tel.select();\n\tdocument.execCommand('copy');\n\tdocument.body.removeChild(el);\n};\n\nexport const isString = (str) => {\n\treturn typeof str === 'string' || str instanceof String;\n};\n\nexport const getCookiesOptions = () => {\n\tconst date = new Date();\n\tdate.setFullYear(new Date().getFullYear() + 1);\n\n\treturn {\n\t\tpath: '/',\n\t\tsecure: true,\n\t\texpires: date\n\t};\n};\n\nexport const fileExtensionIs = (file, extension) => {\n\tif (!file) return false;\n\treturn file.name.split('.').pop() === extension;\n};\n\nexport const isShellKernel = os => {\n\treturn os.Boot === 'guest-linux';\n};\n","import React, { useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\n\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport { createMuiTheme, ThemeProvider } from '@material-ui/core/styles';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nimport PropTypes from 'prop-types';\nimport lightBlue from '@material-ui/core/colors/lightBlue';\nimport { getCookiesOptions } from '../../../utils/misc';\n\nexport default function MuiTheme({ children }) {\n\tconst [cookies, setCookie] = useCookies(['theme']);\n\tlet prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');\n\tif (!cookies.theme)\n\t\tsetCookie('theme', prefersDarkMode ? 'dark' : 'light', getCookiesOptions());\n\n\t// Update cookies expiration\n\tuseEffect(() => {\n\t\tsetCookie('theme', cookies.theme ?? 'light', getCookiesOptions());\n\t}, []);\n\n\tconst theme = React.useMemo(\n\t\t() =>\n\t\t\tcreateMuiTheme({\n\t\t\t\tpalette: {\n\t\t\t\t\ttype: cookies.theme,\n\t\t\t\t\tprimary: {\n\t\t\t\t\t\tlight: '#72BA3E',\n\t\t\t\t\t\tmain: '#72BA3E',\n\t\t\t\t\t\tdark: '#72BA3E'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\toverrides: {\n\t\t\t\t\tMuiPickersModal: {\n\t\t\t\t\t\tdialogAction: {\n\t\t\t\t\t\t\tcolor: lightBlue['400'],\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tMuiButton: {\n\t\t\t\t\t\ttextPrimary: {\n\t\t\t\t\t\t\tcolor: cookies.theme === 'light' ? '#000' : '#fff',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMuiBadge: {\n\t\t\t\t\t\tcolorPrimary: {\n\t\t\t\t\t\t\tcolor: 'white',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMuiChip: {\n\t\t\t\t\t\tcolorPrimary: {\n\t\t\t\t\t\t\tcolor: 'white',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMuiStepIcon: {\n\t\t\t\t\t\ttext: {\n\t\t\t\t\t\t\tfill: 'white',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t[cookies],\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{children}\n\t\t\n\t);\n}\n\nMuiTheme.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired\n};\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router';\n\nconst ScrollToTop = () => {\n\tconst { pathname } = useLocation();\n\n\tuseEffect(() => {\n\t\tif (typeof window !== 'undefined')\n\t\t\tsetTimeout(() => window.scrollTo(0, 0), 500); // timeout to match the CSS transition between pages.\n\t}, [pathname]);\n\n\treturn null;\n};\n\nexport default ScrollToTop;\n","// dirty\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Alert from '@material-ui/lab/Alert';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst useStyles = makeStyles(() => {\n\treturn {\n\t\tfixAlert: {\n\t\t\t'& > .MuiAlert-message': {\n\t\t\t\tdisplay: 'block',\n\t\t\t},\n\t\t\toverflowWrap: 'anywhere'\n\t\t}\n\t};\n});\n\nconst RichAlert = ({ children, ...rest }) => {\n\tconst classes = useStyles();\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport default RichAlert;\n\nRichAlert.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Trans } from 'react-i18next';\nimport RichAlert from './RichAlert';\n\nconst RichAlertTrans = ({ i18nKey, values = {}, ...rest }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tsample
\n\t\t\t\tsample\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default RichAlertTrans;\n\nRichAlertTrans.propTypes = {\n\textra: PropTypes.object,\n\ti18nKey: PropTypes.string.isRequired,\n\tvalues: PropTypes.object\n};\n","import React, { forwardRef } from 'react';\nimport ReactButton from '@material-ui/core/Button';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport PropTypes from 'prop-types';\nimport withStyles from '@material-ui/core/styles/withStyles';\n\nconst Button = forwardRef(({ loading = false, children, ...rest }, ref) => {\n\tif (loading) {\n\t\trest.disabled = true;\n\t\trest.endIcon = ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n});\n\n\nButton.displayName = 'Button';\nButton.propTypes = {\n\tloading: PropTypes.bool,\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]),\n};\n\n\nexport default withStyles(() => {\n\treturn {\n\t\troot: {\n\t\t\tborderRadius: '0px',\n\t\t\tboxShadow: 'none',\n\t\t\t'&:hover': {\n\t\t\t\tboxShadow: 'none'\n\t\t\t},\n\t\t\t'&:disabled': {\n\t\t\t\tborder: '1px solid rgba(0, 0, 0, 0.12)'\n\t\t\t}\n\t\t},\n\t\tcontainedPrimary: {\n\t\t\tcolor: 'white',\n\t\t\tborder: '1px solid #72ba3e',\n\t\t\tbackground: '#72ba3e',\n\t\t\t'&:hover': {\n\t\t\t\tbackground: '#ffffff',\n\t\t\t\tcolor: '#72ba3e'\n\t\t\t}\n\t\t}\n\t};\n})(Button);\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport { useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { Grid } from '@material-ui/core';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\nimport RefreshIcon from '@material-ui/icons/Refresh';\nimport Button from '../../core/input/Button';\nimport { useLocation } from 'react-router';\n\nconst ExpiredModal = ({ open }) => {\n\tconst { t } = useTranslation();\n\tconst location = useLocation();\n\t// Just ui stuff to provide user feedback while the page is being refreshed\n\tconst [loading, setLoading] = useState(false);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_session_expired_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetLoading(true);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tcomponent='a'\n\t\t\t\t\t\t\thref={`${location.pathname}${location.search}${location.hash}`}\n\t\t\t\t\t\t\tendIcon={}\n\t\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('reload_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\n\t);\n};\n\nexport default ExpiredModal;\n\nExpiredModal.propTypes = {\n\topen: PropTypes.bool.isRequired\n};\n","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport { useRest } from '@karpeleslab/react-klbfw-hooks';\nimport PropTypes from 'prop-types';\nimport { getUserEndpoint, RestContext } from '@karpeleslab/klb-react-services';\nimport ExpiredModal from '../components/layout/ExpiredModal/ExpiredModal';\n\nexport const defaultUserContext = {\n\tloggedIn: false,\n\tloading: true,\n\tshowExpiredModal: false,\n\tuser: {\n\t\tDisplay_Name: null,\n\t\tEmail: null,\n\t\tProfile: {\n\t\t\tMedia_Image: {\n\t\t\t\tUrl: null\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport const UserContext = createContext(defaultUserContext);\n\nexport const UserContainer = ({ children }) => {\n\tconst [user, setUser] = useState(defaultUserContext);\n\n\tconst [loggedUser] = useRest(getUserEndpoint('@'));\n\n\tconst { setLogoutUserCallback } = useContext(RestContext);\n\n\tuseEffect(() => {\n\t\tsetLogoutUserCallback(() => {\n\t\t\tsetUser(prev => ({ ...prev, showExpiredModal: true }));\n\t\t});\n\t}, [setUser, setLogoutUserCallback]);\n\n\tuseEffect(() => {\n\t\tif (!loggedUser)\n\t\t\treturn;\n\n\t\tlet userCtx = {};\n\t\tif (loggedUser.result === 'success')\n\t\t\tuserCtx = { loggedIn: true, user: loggedUser };\n\n\t\tsetUser({ ...userCtx, loading: false });\n\n\t}, [loggedUser]);\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n};\n\nUserContainer.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired\n};\n","import React, { createContext, useEffect, useState } from 'react';\nimport { useCookies } from 'react-cookie';\nimport PropTypes from 'prop-types';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { getCookiesOptions } from '../utils/misc';\n\nexport const defaultMenuContext = { route: null, open: true };\nexport const MenuContext = createContext(defaultMenuContext);\n\nexport const MenuContextContainer = ({ children }) => {\n\tconst [cookies, setCookie] = useCookies(['menu']);\n\n\tconst isMobile = useMediaQuery('(max-width:768px)', { noSsr: true });\n\n\t// Cookies will remember the state of the drawer, for the first time we default to open on large screen and close on small resolution\n\tif (!cookies.menu)\n\t\tsetCookie('menu', (isMobile ? 'closed' : 'open'), getCookiesOptions());\n\n\tObject.assign(defaultMenuContext,\n\t\t{\n\t\t\topen: ((cookies.menu ?? (isMobile ? 'closed' : 'open')) === 'open')\n\t\t});\n\n\tconst [menu, setMenu] = useState(defaultMenuContext);\n\n\tuseEffect(() => {\n\t\tif (!cookies.menu === undefined) return;\n\t\tsetCookie('menu', menu.open ? 'open' : 'closed', getCookiesOptions());\n\t}, [menu]); //eslint-disable-line\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nMenuContextContainer.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired\n};\n","export default __webpack_public_path__ + \"static/media/shells_logo_horizontal_white.138ae39e.svg\";","export const getShellsRoute = () => '/';\nexport const getShellViewRoute = id => `/shells/${id !== undefined ? id : ':shellId'}`;\nexport const getLoginRoute = () => '/login';\nexport const getUserSettingsRoute = () => '/user-settings';\nexport const getOrderViewRoute = id => `/orders/${id !== undefined ? id : ':orderId'}`;\nexport const getPartnershipRoute = () => '/partnership';\nexport const getSSHKeychainRoute = () => '/keychains';\nexport const getBillingRoute = () => '/billing';\nexport const getLinksRoute = () => '/links';\nexport const getSSHKeychainEditRoute = id => `/keychains/${id !== undefined ? id : ':keychainId'}`;\nexport const getCustomOsEditRoute = id => `/os/${id !== undefined ? id : ':osId'}`;\nexport const getCustomOsRoute = () => '/os';\nexport const getSwitchToModeRoute = mode => `/mode/${mode !== undefined ? mode : ':mode'}`;\nexport const getISOsRoute = () => '/iso';\nexport const getISORoute = isoId => `/iso/${isoId !== undefined ? isoId : ':isoId'}`;\nexport const getAccountWarningRoute = () => '/notifications';\n","import React, { createContext, useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { getHostname } from '@karpeleslab/klbfw';\nimport { useCookies } from 'react-cookie';\nimport { getCookiesOptions } from '../utils/misc';\n\nexport const LITE_MODE = 'LITE_MODE';\nexport const ADVANCED_MODE = 'ADVANCED_MODE';\n\nexport const defaultModeContext = { mode: LITE_MODE };\nexport const ModeContext = createContext(defaultModeContext);\n\nexport const ModeContainer = ({ children }) => {\n\tconst [modeContext, setModeContext] = useState(defaultModeContext);\n\tconst [cookies, setCookies] = useCookies(['mode']);\n\tconst setMode = useCallback(mode => {\n\t\tsetModeContext({ mode: mode });\n\t}, [setModeContext]);\n\n\tuseEffect(() => {\n\t\tlet mode = LITE_MODE;\n\t\tswitch (getHostname()) {\n\t\t\t// Set here the mode based on the hostname (for school/business mode)\n\t\t\tdefault:\n\t\t\t\tmode = cookies.mode ? cookies.mode : LITE_MODE;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tsetMode(mode);\n\t\tsetCookies('mode', mode, getCookiesOptions());\n\t}, [setMode]); //eslint-disable-line\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nModeContainer.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useContext } from 'react';\nimport { ADVANCED_MODE, LITE_MODE, ModeContext } from '../../../context/ModeContext';\n\nconst ModeCheck = ({ children, forceHide = false, anyMode = false, lite = false, advanced = false, forbiddenComponent = null }) => {\n\tconst [mode] = useContext(ModeContext);\n\n\tif (!forceHide && (anyMode || lite && mode === LITE_MODE || advanced && mode === ADVANCED_MODE))\n\t\treturn children;\n\n\tif (forbiddenComponent) return forbiddenComponent;\n\treturn <>;\n};\n\nexport default ModeCheck;\n\nModeCheck.propTypes = {\n\tadvanced: PropTypes.bool,\n\tanyMode: PropTypes.bool,\n\tchildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n\tforbiddenComponent: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n\tforceHide: PropTypes.bool,\n\tlite: PropTypes.bool\n};\n","import React from 'react';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { NavLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport ModeCheck from '../Mode/ModeCheck';\nimport { matchPath } from 'react-router';\n\nconst DrawerItem = ({ title, tooltip, Icon, onClick, to, extraActive = [], toProps = {}, forceHide = false, anyMode = false, liteMode = false, advancedMode = false }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t {\n\t\t\t\t\t\t\t\tif (match) return true;\n\t\t\t\t\t\t\t\tfor (let i = 0; i < extraActive.length; i++) {\n\t\t\t\t\t\t\t\t\tif (matchPath(location.pathname, extraActive[i])) return true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t...toProps\n\t\t\t\t\t\t} : {})}\n\n\t\t\t\t\t\tonClick={onClick ? onClick : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{Icon && \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default DrawerItem;\n\nDrawerItem.propTypes = {\n\tIcon: PropTypes.any.isRequired,\n\tadvancedMode: PropTypes.bool,\n\tanyMode: PropTypes.bool,\n\textraActive: PropTypes.array,\n\tforceHide: PropTypes.bool,\n\tliteMode: PropTypes.bool,\n\tonClick: PropTypes.func,\n\ttitle: PropTypes.string.isRequired,\n\tto: PropTypes.string,\n\ttoProps: PropTypes.object,\n\ttooltip: PropTypes.string.isRequired\n};\n","import React from 'react';\nimport List from '@material-ui/core/List';\nimport { useTranslation } from 'react-i18next';\nimport DrawerItem from './DrawerItem';\nimport {\n\tgetBillingRoute,\n\tgetCustomOsRoute,\n\tgetISOsRoute,\n\tgetOrderViewRoute,\n\tgetPartnershipRoute,\n\tgetSSHKeychainRoute\n} from '../../RouteController/Factory';\nimport { Route } from 'react-router';\nimport VpnKeyIcon from '@material-ui/icons/VpnKey';\nimport AccountBalanceWalletIcon from '@material-ui/icons/AccountBalanceWallet';\nimport PaymentIcon from '@material-ui/icons/Payment';\nimport AlbumIcon from '@material-ui/icons/Album';\nimport SettingsSystemDaydreamIcon from '@material-ui/icons/SettingsSystemDaydream';\n\nconst DrawerContent = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DrawerContent;\n","import React from 'react';\nimport { useCookies } from 'react-cookie';\n\nimport Brightness2Icon from '@material-ui/icons/Brightness2';\nimport WbSunnyIcon from '@material-ui/icons/WbSunny';\n\nimport './ThemeSwitch.scss';\nimport { getCookiesOptions } from '../../../utils/misc';\n\nexport default ({ ButtonComponent, TextComponent, ...etc }) => {\n\tconst [cookies, setCookie] = useCookies(['theme']);\n\n\tconst darkBtn = (\n\t\t setCookie('theme', 'light', getCookiesOptions())}\n\t\t\t{...etc}\n\t\t>\n\t\t\t\n\t\t\t\n\t\t\n\t);\n\n\tconst lightBtn = (\n\t\t setCookie('theme', 'dark', getCookiesOptions())}\n\t\t\t{...etc}\n\t\t>\n\t\t\t\n\t\t\t\n\t\t\n\t);\n\n\treturn cookies.theme === 'dark' ? darkBtn : lightBtn;\n};\n","import React, { useEffect, useState } from 'react';\nimport List from '@material-ui/core/List';\nimport AllInclusiveIcon from '@material-ui/icons/AllInclusive';\nimport SpaIcon from '@material-ui/icons/Spa';\nimport { getSwitchToModeRoute } from '../../RouteController/Factory';\nimport DrawerItem from './DrawerItem';\nimport { useTranslation } from 'react-i18next';\nimport { ADVANCED_MODE, LITE_MODE } from '../../../context/ModeContext';\nimport { useLocation } from 'react-router';\n\nconst DrawerMode = () => {\n\tconst { t } = useTranslation();\n\tconst location = useLocation();\n\tconst [returnTo, setReturnTo] = useState('');\n\n\n\tuseEffect(() => {\n\t\tsetReturnTo(encodeURIComponent(`${location.pathname}${location.search}${location.hash}`));\n\t}, [location, setReturnTo]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DrawerMode;\n","import { useContext, useRef } from 'react';\nimport { UserContext } from '../../../context/UserContext';\nimport { MenuContext } from '../../../context/MenuContext';\nimport template from './Drawer.template';\nimport { useUserLogout } from '@karpeleslab/klb-react-services';\n\nconst Drawer = () => {\n\tconst [menu, setMenu] = useContext(MenuContext);\n\tconst [, setUser] = useContext(UserContext);\n\tconst wrapperRef = useRef(null);\n\tconst [logout] = useUserLogout();\n\n\tconst logOut = async () => {\n\t\tconst res = logout();\n\t\tsetUser({\n\t\t\tloggedIn: false,\n\t\t\tuser: {}\n\t\t});\n\t\treturn res;\n\t};\n\n\tconst onOpen = open => setMenu(m => ({ ...m, open }));\n\n\treturn template(logOut, menu.open, menu.route, onOpen, wrapperRef);\n};\n\nexport default Drawer;\n","import React, { useContext, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { NavLink } from 'react-router-dom';\n\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\nimport ArrowDropUpIcon from '@material-ui/icons/ArrowDropUp';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport Divider from '@material-ui/core/Divider';\nimport Drawer from '@material-ui/core/Drawer';\nimport HomeIcon from '@material-ui/icons/Home';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Menu from '@material-ui/core/Menu';\nimport MenuIcon from '@material-ui/icons/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport PowerSettingsNewIcon from '@material-ui/icons/PowerSettingsNew';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport ContactSupportOutlinedIcon from '@material-ui/icons/ContactSupportOutlined';\nimport Graphic from '../../../assets/img/shells_logo_horizontal_white.svg';\nimport FacebookIcon from '@material-ui/icons/Facebook';\nimport './Drawer.scss';\nimport { getLinksRoute, getShellsRoute, getUserSettingsRoute } from '../../RouteController/Factory';\nimport DrawerContent from './DrawerContent';\nimport TwitterIcon from '@material-ui/icons/Twitter';\nimport InstagramIcon from '@material-ui/icons/Instagram';\nimport RedditIcon from '@material-ui/icons/Reddit';\nimport { FaDiscord, FaProductHunt } from 'react-icons/fa';\nimport { IconButton } from '@material-ui/core';\nimport LinkIcon from '@material-ui/icons/Link';\nimport ThemeSwitch from './../ThemeSwitch/ThemeSwitch';\n\nimport { UserContext } from '../../../context/UserContext';\nimport ListSubheader from '@material-ui/core/ListSubheader';\nimport DrawerMode from './DrawerMode';\n\nexport default function template(logOut, open, params, setOpen, wrapperRef) {\n\tconst { t } = useTranslation();\n\tconst [user] = useContext(UserContext);\n\tconst [anchorEl, setAnchorEl] = useState(null);\n\n\tconst handleUserSubmenuClick = (event) => {\n\t\tsetAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleUserSubmenuClose = () => {\n\t\tsetAnchorEl(null);\n\t};\n\n\treturn (\n\t\t<>\n\n\t\t\t{!open &&\n\t\t\t
\n\t\t\t\t setOpen(!open)}/>\n\t\t\t
\n\t\t\t}\n\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setOpen(!open)}\n\t\t\t\t\t\tclassName={'c-drawer__menu-btn--wrapper'}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\topen ?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tShellsâ„¢\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} className={'c-drawer__text c-drawer__sns'}/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{user && user.user ? (user.user.data.Display_Name || user.user.data.Email) : t('navigation_account_user')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import { useTheme } from '@material-ui/core/styles';\nimport React from 'react';\nimport './Loader.scss';\nimport PropTypes from 'prop-types';\n\nimport Grid from '@material-ui/core/Grid';\nexport default function Loader({ message = '' }) {\n\tconst theme = useTheme();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{\n\t\t\t\t\tmessage.length > 0 ?

{message}

: ''\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n}\n\n\nLoader.propTypes = {\n\tmessage: PropTypes.string\n};\n","import React, { useContext, useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\n\nimport { MenuContext } from '../../../../context/MenuContext';\n\nexport default function MenuContextUpdater() {\n\tconst params = useParams();\n\tconst [, setMenu] = useContext(MenuContext);\n\n\tuseEffect(() => {\n\t\tsetMenu(prevState => ({ ...prevState, route: params }));\n\t}, [setMenu]); // eslint-disable-line\n\n\treturn <>;\n}\n","import React from 'react';\nimport { Route } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nconst SetStatus = ({ statusCode, children }) => {\n\treturn (\n\t\t {\n\t\t\t\tif (staticContext)\n\t\t\t\t\tstaticContext.statusCode = statusCode;\n\t\t\t\treturn children;\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nexport default SetStatus;\n\nSetStatus.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired,\n\tstatusCode: PropTypes.number.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Grid from '@material-ui/core/Grid';\nimport SetStatus from './../SetStatus/SetStatus';\n\nexport default function ErrorPage({ errorID }) {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

{t('error_fatal_title')}

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t

{t('error_fatal_description')}

\n\t\t\t\t
\n\t\t\t\t{errorID && <>\n\t\t\t\t\t\n\t\t\t\t\t\t

{t('error_fatal_error_id')}

\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t

{errorID}

\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n}\n\nErrorPage.propTypes = {\n\terrorID: PropTypes.string\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\nimport PropTypes from 'prop-types';\nimport Button from '../../input/Button';\n\n\nconst Empty = ({ title, text = '', textI18Key, action = null, graphic = null }) => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\n\t\t\t{graphic && \n\t\t\t\t{title}\n\t\t\t}\n\n\t\t\t\n\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{textI18Key ? t(textI18Key) : text}\n\t\t\t\t\t\n\t\t\t\t\t{action && \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{action.title}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Empty;\n\nEmpty.propTypes = {\n\tgraphic: PropTypes.string,\n\ttext: PropTypes.any,\n\ttitle: PropTypes.string,\n\ttextI18Key: PropTypes.string,\n\taction: PropTypes.object,\n};\n","export default __webpack_public_path__ + \"static/media/404.13468768.svg\";","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Paper from '@material-ui/core/Paper';\nimport { Grid } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport Container from '@material-ui/core/Container';\n\nimport makeStyles from '@material-ui/core/styles/makeStyles';\n\nconst useStyles = makeStyles(theme => ({\n\twrapper: {\n\t\t[theme.breakpoints.down('sm')]: {\n\t\t\tpadding: 0\n\t\t}\n\t}\n}));\n\nconst PageContainer = ({ children }) => {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PageContainer;\n\nPageContainer.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired,\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\n\nimport Grid from '@material-ui/core/Grid';\nimport SetStatus from './../SetStatus/SetStatus';\nimport Empty from '../../feedback/State/Empty';\nimport Graphic from '../../../../assets/img/404.svg';\nimport PageContainer from '../../../layout/Container/PageContainer';\n\nexport default function APIErrorPage({ message, errorID }) {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tgraphic={Graphic}\n\t\t\t\t\t\t\taction={\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcomponent: 'a',\n\t\t\t\t\t\t\t\t\ttitle: t('footer_link_contact'),\n\t\t\t\t\t\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\t\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\t\t\t\t\thref: process.env.REACT_APP_ZENDESK\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\nAPIErrorPage.propTypes = {\n\terrorID: PropTypes.string,\n\tmessage: PropTypes.string\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ErrorPage from './ErrorPage/ErrorPage';\nimport { rest } from '@karpeleslab/klbfw';\nimport { getDebugLogJsErrorEndpoint, RestContext } from '@karpeleslab/klb-react-services';\nimport APIErrorPage from './ErrorPage/APIErrorPage';\n\nclass ErrorBoundary extends React.Component {\n\tstatic contextType = RestContext;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { hasError: false, hasAPIError: false, errorUUID: null, errorMessage: null };\n\t}\n\n\tstatic getDerivedStateFromError(/*error*/) {\n\t\t// Update state so the next render will show the fallback UI.\n\t\treturn { hasError: true };\n\t}\n\n\tcomponentDidCatch(error, errorInfo) {\n\t\t// Can log error here\n\t\tconsole.log(error.message, errorInfo, error.stack, error.messageData);\n\t\trest(getDebugLogJsErrorEndpoint(), 'POST', {\n\t\t\terrorMsg: error.message,\n\t\t\turl: typeof window !== 'undefined' ? window.location.href : '',\n\t\t\tlineNumber: 0,\n\t\t\tstack: error.stack\n\t\t}).then(d => {\n\t\t\tthis.setState({ ...this.state, errorUUID: d.data.id });\n\t\t});\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { restContext, setLastError } = this.context;\n\n\t\tif (restContext.lastError && !this.state.hasAPIError) {\n\t\t\tif (('token' in restContext.lastError) && restContext.lastError.token !== 'unknown_error') return;\n\n\t\t\tconst uuid = restContext.lastError.headers ? restContext.lastError.headers.get('X-Request-Id') : '';\n\n\t\t\tthis.setState({\n\t\t\t\t...this.state,\n\t\t\t\thasAPIError: true,\n\t\t\t\terrorUUID: uuid,\n\t\t\t\terrorMessage: restContext.lastError.error\n\t\t\t});\n\n\t\t\tsetLastError(null); // error has been handled, revert it not clear the context and not having always the error displayed\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { setLastError } = this.context;\n\t\tsetLastError(null); // error has been handled, revert it not clear the context and not having always the error displayed\n\t}\n\n\trender() {\n\t\tif (this.state.hasAPIError) {\n\t\t\treturn ;\n\t\t}\n\n\t\tif (this.state.hasError) {\n\t\t\t// You can render any custom fallback UI\n\t\t\treturn ;\n\t\t}\n\n\t\treturn this.props.children;\n\t}\n}\n\nexport default ErrorBoundary;\n\nErrorBoundary.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]),\n};\n","export default __webpack_public_path__ + \"static/media/modeGraphic.ff89dd66.svg\";","import PropTypes from 'prop-types';\nimport React, { useContext } from 'react';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport Helmet from 'react-helmet';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { ModeContext } from '../../context/ModeContext';\nimport { Grid } from '@material-ui/core';\nimport Graphic from '../../assets/img/modeGraphic.svg';\nimport EmptyState from '../../components/core/feedback/State/Empty';\nimport { getExpectedModeInfo } from '../../utils/mode';\nimport { useLocation } from 'react-router';\nimport Link from '@material-ui/core/Link';\nimport { getHostname } from '@karpeleslab/klbfw';\n\nconst PageWrongMode = ({ expectedLite = false, expectedAdvanced = false }) => {\n\tconst { t } = useTranslation();\n\tconst [mode, setMode] = useContext(ModeContext);\n\tconst location = useLocation();\n\tconst [expectedModeToken, expectedModeHostname, expectedMode] = getExpectedModeInfo(expectedLite, expectedAdvanced);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{ /* https://devhints.io/html-meta */}\n\t\t\t\t{t('page_wrong_mode_title', { mode: t(`${mode.toLowerCase()}_label`) })}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgraphic={Graphic}\n\t\t\t\t\t\taction={{\n\t\t\t\t\t\t\tcomponent: Link,\n\t\t\t\t\t\t\tonClick: e => {\n\t\t\t\t\t\t\t\tif (getHostname() !== 'localhost') return;\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tsetMode(expectedMode);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\thref: `https://${expectedModeHostname}${location.pathname}${location.search}${location.hash}`,\n\t\t\t\t\t\t\ttitle: t('mode_change_btn', { mode: t(expectedModeToken) })\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default PageWrongMode;\n\nPageWrongMode.propTypes = {\n\texpectedAdvanced: PropTypes.bool,\n\texpectedLite: PropTypes.bool\n};\n","import { ADVANCED_MODE, LITE_MODE } from '../context/ModeContext';\n\nexport const getExpectedModeInfo = (lite = false, advanced = false) => {\n\tif (advanced) return [`${ADVANCED_MODE.toLowerCase()}_label`, process.env.REACT_APP_HOSTNAME, ADVANCED_MODE];\n\telse if (lite) return [`${LITE_MODE.toLowerCase()}_label`, process.env.REACT_APP_HOSTNAME, LITE_MODE];\n\n\treturn [`${LITE_MODE.toLowerCase()}_label`, process.env.REACT_APP_HOSTNAME, LITE_MODE];\n};\n","import React, { useContext } from 'react';\nimport { Redirect, Route } from 'react-router-dom';\nimport { CSSTransition, SwitchTransition } from 'react-transition-group';\n\nimport MenuContextUpdater from './MenuContextUpdater';\n\nimport { UserContext } from '../../../../context/UserContext';\nimport PropTypes from 'prop-types';\nimport { getLoginRoute } from '../../../RouteController/Factory';\nimport { useLocation } from 'react-router';\nimport ErrorBoundary from '../ErrorBoundary';\nimport ModeCheck from '../../../layout/Mode/ModeCheck';\nimport PageWrongMode from '../../../../pages/System/PageWrongMode';\n\n\nconst RouteTransition = ({ forceHide = false, anyMode = false, lite = false, advanced = false, loginRequired = false, Component = null, children, path, ...etc }) => {\n\tconst [user] = useContext(UserContext);\n\tconst location = useLocation();\n\n\tif (loginRequired && !user.loggedIn) {\n\t\tconst returnTo = `${location.pathname}${location.search}${location.hash}`;\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\tnode.addEventListener(\n\t\t\t\t\t\t'transitionend',\n\t\t\t\t\t\tdone,\n\t\t\t\t\t\tfalse\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{Component ? : children}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default RouteTransition;\n\nRouteTransition.propTypes = {\n\tComponent: PropTypes.any,\n\tadvanced: PropTypes.bool,\n\tanyMode: PropTypes.bool,\n\tchildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n\tforceHide: PropTypes.bool,\n\tlite: PropTypes.bool,\n\tloginRequired: PropTypes.bool,\n\tpath: PropTypes.string.isRequired\n};\n","import React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Button from '@material-ui/core/Button';\nimport Grid from '@material-ui/core/Grid';\nimport PropTypes from 'prop-types';\nimport { LoginContext } from '@karpeleslab/klb-react-services';\n\n\nconst ButtonsBuilder = ({ ButtonComponent = Button }) => {\n\tconst { goBack, initialStep } = useContext(LoginContext);\n\n\tconst { t } = useTranslation();\n\tconst Next = (\n\t\t\n\t\t\t{t('next_btn')}\n\t\t\n\t);\n\n\tif (initialStep)\n\t\treturn Next;\n\telse {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{Next}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('back_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n};\n\nexport default ButtonsBuilder;\n\nButtonsBuilder.propTypes = {\n\tButtonComponent: PropTypes.any,\n};\n","import styledComponents from 'styled-components';\nimport { styled } from '@material-ui/core/styles';\nimport ReactAvatarEditor from 'react-avatar-editor';\n\n\nconst Div = styledComponents.div``;\nconst Label = styledComponents.label``;\nconst Figure = styledComponents.figure``;\nconst Input = styledComponents.input``;\n\nexport const AvatarEditorRange = styled(Input)(() => ({\n\twidth: '170px',\n\tmargin: '0 auto'\n}));\n\nexport const AvatarEditorImages = styled(Div)(() => ({\n\ttextAlign: 'center'\n}));\n\nexport const AvatarEditorImagesInner = styled(Div)(() => ({\n\ttextAlign: 'center',\n\twidth: '100%',\n\tmaxWidth: '25rem',\n\tmargin: '0 auto'\n}));\n\nexport const AvatarEditor = styled(ReactAvatarEditor)(() => ({\n\twidth: '170px !important',\n\theight: '170px !important',\n\tmargin: '0 auto',\n\tbackground: '#484848'\n}));\n\nexport const AvatarImages = styled(Figure)(() => ({\n\twidth: '100%',\n\tmaxWidth: '25rem',\n\tmargin: '0 auto',\n\t'& > img': {\n\t\twidth: '170px !important',\n\t\theight: '170px !important',\n\t\tmargin: '0 auto',\n\t\tpadding: '1rem;',\n\t\tboxSizing: 'border-box',\n\t\tbackground: '#484848'\n\t}\n}));\n\nexport const AvatarWrapper = styled(Div)(() => ({\n\tmargin: '0 0 20px',\n\tpadding: '0',\n\ttextAlign: 'center'\n}));\n\n\nexport const AvatarBtnsWrapper = styled(Div)(() => ({\n\tmargin: '10px 0 0',\n\tdisplay: 'flex'\n}));\n\n\nexport const AvatarBtn = styled(Label)(() => ({\n\twidth: '100%',\n\tpadding: '9px 13px',\n\tboxSizing: 'border-box',\n\tdisplay: 'block',\n\tcolor: '#fff',\n\tbackground: '#555',\n\tborder: '1px solid #484848',\n\tborderRadius: '5px',\n\tcursor: 'pointer',\n\t'&:disabled': {\n\t\topacity: .4,\n\t\tcursor: 'not-allowed'\n\t},\n\t'&:hover': {\n\t\topacity: .4,\n\t\ttransition: 'all .2s ease'\n\t},\n\t'&.upload': {\n\t\tbackground: '#fff',\n\t\tcolor: '#333',\n\t\t'& > input': {\n\t\t\tdisplay: 'none'\n\t\t}\n\t},\n\t'&.save': {\n\t\tbackgroundColor: '#48c774',\n\t\tcolor: '#fff',\n\t\tborder: '1px solid #48c774'\n\t}\n}));\n\nexport const AvatarBtnWrapper = styled(Div)(() => ({\n\twidth: '48%',\n\tmarginRight: '2%',\n\tmarginBottom: '5px',\n\t'&:last-child': {\n\t\tmarginRight: 0\n\t}\n}));\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport {\n\tAvatarEditor as StyledAvatarEditor,\n\tAvatarEditorImages,\n\tAvatarEditorImagesInner,\n\tAvatarEditorRange,\n\tAvatarImages\n} from './avatarEditorStyles';\nimport PropTypes from 'prop-types';\n\nconst AvatarImage = ({ defaultAvatar, editor, handleSetImage, handleScale, state }) => {\n\tconst { t } = useTranslation();\n\n\tif (state.imgPath !== null) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t{t('default_avatar')}/\n\t\t\t\n\t\t);\n\t}\n};\n\nexport default AvatarImage;\n\nAvatarImage.propTypes = {\n\tdefaultAvatar: PropTypes.string,\n\teditor: PropTypes.object,\n\thandleSetImage: PropTypes.func,\n\thandleScale: PropTypes.func,\n\tstate: PropTypes.object,\n};\n","export default __webpack_public_path__ + \"static/media/default-avatar.11ff5406.svg\";","import React, { useEffect, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AvatarImage from './AvatarImage';\nimport defaultAvatar from './../../assets/img/default-avatar.svg';\nimport { AvatarBtn, AvatarBtnsWrapper, AvatarBtnWrapper, AvatarWrapper } from './avatarEditorStyles';\nimport PropTypes from 'prop-types';\n\nconst AvatarEditor = ({ field, fieldId, required = false, setAvatarImage }) => {\n\tconst [state, setState] = useState({\n\t\timgPath: null,\n\t\twidth: 170,\n\t\theight: 170,\n\t\tscale: 1,\n\t\tpreview: { img: null }\n\t});\n\tconst editor = useRef(null);\n\tconst croppieFileInput = useRef(null);\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\tif (editor && editor.current)\n\t\t\thandleSetImage();\n\t\t// eslint-disable-next-line\n\t}, [editor]);\n\n\tconst handleNewImage = e => setState({ ...state, imgPath: e.target.files[0] });\n\n\tconst handleRemove = () => {\n\t\tsetState({\n\t\t\t...state,\n\t\t\timgPath: null,\n\t\t\tscale: 1\n\t\t});\n\t\tcroppieFileInput.current.value = '';\n\t\tsetAvatarImage(field.name, defaultAvatar, field.param, field.target);\n\t};\n\n\tconst handleScale = e => {\n\t\tsetState({ ...state, scale: parseFloat(e.target.value) });\n\t\thandleSetImage();\n\t};\n\n\tconst handleSetImage = () => {\n\t\teditor.current.getImageScaledToCanvas().toBlob((blob) => {\n\t\t\tblob['name'] = 'avatar.png';\n\t\t\tsetAvatarImage(field.name, blob, field.param, field.target);\n\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('profile_upload_image')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('profile_delete_image')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default AvatarEditor;\n\nAvatarEditor.propTypes = {\n\tfield: PropTypes.object.isRequired,\n\tfieldId: PropTypes.string.isRequired,\n\trequired: PropTypes.bool,\n\tsetAvatarImage: PropTypes.func.isRequired,\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Typography } from '@material-ui/core';\nimport withStyles from '@material-ui/core/styles/withStyles';\n\n\nexport const LinkTypo = withStyles(theme => {\n\treturn {\n\t\troot: {\n\t\t\tcolor: theme.palette.type === 'light' ? undefined : 'white',\n\t\t},\n\t};\n})(Typography);\n\n\nconst Link = ({ children, href, ...rest }) => {\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nexport default Link;\n\nLink.propTypes = {\n\tchildren: PropTypes.any.isRequired,\n\thref: PropTypes.string.isRequired\n};\n","import React, { useContext } from 'react';\nimport AvatarEditor from './AvatarEditor';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\nimport { Typography } from '@material-ui/core';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Link from '../common/Links/Link';\nimport { LoginContext } from '@karpeleslab/klb-react-services';\n\n\nconst FormBuilder = ({ profilePicture = true }) => {\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\tconst { onInputChange, setAvatarImage, fields } = useContext(LoginContext);\n\n\tif (!fields)\n\t\treturn <>;\n\n\treturn fields.map((field, idx) => {\n\t\tconst fieldId = (field.name ?? 0) + idx;\n\t\tswitch (field.type) {\n\t\t\tcase 'text':\n\t\t\tcase 'password':\n\t\t\tcase 'phone':\n\t\t\tcase 'email':\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'label':\n\t\t\t\tif (field.link)\n\t\t\t\t\treturn {field.label};\n\n\t\t\t\t// only snackbar on mobile (https://git.atonline.com/shells/shells-cp/-/issues/31)\n\t\t\t\tif (field.style === 'error' && isMobile)\n\t\t\t\t\treturn <>;\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{field.label}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tcase 'checkbox': {\n\t\t\t\tconst checkbox = ;\n\n\t\t\t\tlet label = field.label;\n\n\t\t\t\tif (field.link)\n\t\t\t\t\tlabel = {field.label};\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'image':\n\t\t\t\tif (!profilePicture) return
;\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn
;\n\t\t}\n\t});\n};\n\nexport default FormBuilder;\n\nFormBuilder.propTypes = {\n\tprofilePicture: PropTypes.bool,\n};\n","import React, { useContext } from 'react';\n\nimport styledComponents from 'styled-components';\nimport { styled } from '@material-ui/core/styles';\nimport { LoginContext } from '@karpeleslab/klb-react-services';\n\nconst Div = styledComponents.div``;\nexport const OAuth2Wrapper = styled(Div)(style => {\n\treturn {\n\t\tdisplay: 'flex',\n\t\talignItems: 'center',\n\t\tjustifyContent: 'center',\n\t\t'& > *': {\n\t\t\tmargin: style.theme.spacing(4),\n\t\t},\n\t};\n});\nexport const OauthBtn = styled(Div)(style => {\n\treturn {\n\t\tborderRadius: '50%',\n\t\twidth: style.theme.spacing(7),\n\t\theight: style.theme.spacing(7),\n\t\tbackgroundPosition: '50%',\n\t\tbackgroundRepeat: 'no-repeat',\n\t\tbackgroundAttachment: 'scroll',\n\t\tbackgroundSize: '50%',\n\t\toverflow: 'hidden',\n\t\ttextIndent: '-1000px',\n\t\tcursor: style.button ? 'pointer' : 'inherit',\n\t\tbackgroundColor: style.backgroundColor,\n\t\tbackgroundImage: `url(${style.logo})`,\n\t\t'&:hover': {\n\t\t\topacity: style.button ? 0.4 : 1\n\t\t},\n\t\t'&.twitter': {\n\t\t\tbackgroundSize: '60%'\n\t\t},\n\t\t'&.line': {\n\t\t\tbackgroundSize: '70%'\n\t\t},\n\t\t'&.facebook': {\n\t\t\tbackgroundSize: '30%'\n\t\t}\n\t};\n});\n\nconst OauthBtnsBuilder = () => {\n\tconst { oauthFields, onOauthClicked } = useContext(LoginContext);\n\tif (!oauthFields)\n\t\treturn <>;\n\n\treturn (\n\t\t\n\t\t\t{\n\t\t\t\toauthFields.map(\n\t\t\t\t\t(field) => (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tonOauthClicked(field.id);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\talt={field.info.Name}\n\t\t\t\t\t\t\tclassName={field.info.Token_Name}\n\t\t\t\t\t\t\tbackgroundColor={field.button['background-color']}\n\t\t\t\t\t\t\tlogo={field.button['logo']}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default OauthBtnsBuilder;\n\nOauthBtnsBuilder.propTypes = {};\n","import React, { useContext } from 'react';\nimport { CSSTransition, SwitchTransition } from 'react-transition-group';\nimport Grid from '@material-ui/core/Grid';\nimport Loader from './../layout/Loader/Loader';\nimport ButtonsBuilder from './ButtonsBuilder';\nimport FormBuilder from './FormBuilder';\nimport OauthBtnsBuilder from './OauthBtnsBuilder';\nimport PropTypes from 'prop-types';\nimport { Button } from '@material-ui/core';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { LoginContext } from '@karpeleslab/klb-react-services';\n\n\nconst Login = ({ TitleComponent = 'h2', ButtonComponent = Button, profilePicture = true }) => {\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('sm'));\n\n\tconst { loading, handleSubmit, formTitle } = useContext(LoginContext);\n\n\treturn (\n\t\t\n\t\t\t node.addEventListener('transitionend', done, false)}\n\t\t\t\tclassNames={isMobile ? 'u-transition--zoom' : 'u-transition--lateral'}\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t!loading ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{formTitle}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t) : (\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default Login;\n\nLogin.propTypes = {\n\tTitleComponent: PropTypes.node,\n\tButtonComponent: PropTypes.any,\n\tprofilePicture: PropTypes.bool,\n};\n","import React from 'react';\nimport PageContainer from '../Container/PageContainer';\nimport Loader from './Loader';\nimport PropTypes from 'prop-types';\n\nconst PageLoader = ({ message = '' }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PageLoader;\n\nPageLoader.propTypes = {\n\tmessage: PropTypes.string\n};\n","import React, { useEffect, useState } from 'react';\nimport { Redirect as ReactRedirect } from 'react-router-dom';\nimport PageLoader from '../../layout/Loader/PageLoader';\nimport PropTypes from 'prop-types';\n\nconst Redirect = ({ target }) => {\n\tconst [isExternal] = useState(target.startsWith('http'));\n\n\tuseEffect(() => {\n\t\tif (!isExternal || typeof window === 'undefined') return;\n\t\twindow.location.replace(target);\n\t}, [isExternal, target]);\n\n\tif (isExternal) return ;\n\treturn ;\n};\n\nexport default Redirect;\n\nRedirect.propTypes = {\n\ttarget: PropTypes.string.isRequired\n};\n","export default __webpack_public_path__ + \"static/media/shells_logo_vertical_white.9a0f9cbb.svg\";","import React, { useContext } from 'react';\nimport LoginComponent from './../../components/Login/Login';\nimport Helmet from 'react-helmet';\nimport { useHistory } from 'react-router';\nimport { useTranslation } from 'react-i18next';\nimport { getPrefix } from '@karpeleslab/klbfw';\nimport { UserContext } from '../../context/UserContext';\nimport { getShellsRoute } from '../../components/RouteController/Factory';\nimport Redirect from '../../components/core/utils/Redirect';\nimport Grid from '@material-ui/core/Grid';\nimport Hidden from '@material-ui/core/Hidden';\nimport Box from '@material-ui/core/Box';\nimport Graphic from '../../assets/img/shells_logo_vertical_white.svg';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Button from '../../components/core/input/Button';\nimport { LoginContextContainer } from '@karpeleslab/klb-react-services';\n\nconst useStyles = makeStyles((theme) => {\n\treturn {\n\t\tfillHeight: {\n\t\t\theight: '100vh',\n\t\t},\n\t\tcontainer: {\n\t\t\twidth: '100%',\n\t\t\t[theme.breakpoints.down('sm')]: {\n\t\t\t\tpaddingRight: '12px',\n\t\t\t\tpaddingLeft: '12px',\n\t\t\t\tmargin: '0px'\n\t\t\t}\n\t\t},\n\n\t};\n});\n\nconst Login = () => {\n\tconst [user, setUser] = useContext(UserContext);\n\tconst history = useHistory();\n\tconst { t } = useTranslation();\n\tconst classes = useStyles();\n\n\tconst onValidated = (data) => {\n\t\tsetUser({\n\t\t\tloggedIn: true,\n\t\t\tuser: { data: data.user }\n\t\t});\n\t\thistory.push(data.Redirect.replace(getPrefix(), ''));\n\t};\n\n\tif (user.loggedIn)\n\t\treturn ;\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t{ /* https://devhints.io/html-meta */}\n\t\t\t\t{t('login')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tShellsâ„¢\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default Login;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\nimport Button from '../../core/input/Button';\n\nconst RequestPasswordDialog = ({ open, setOpen, closeCallback }) => {\n\tconst { t } = useTranslation();\n\tconst [pwd, setPwd] = useState('');\n\tconst handleUnlock = () => {\n\t\tsetOpen(false);\n\t\tcloseCallback(pwd);\n\t};\n\n\tuseEffect(() => {\n\t\tsetPwd('');\n\t}, [open]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('security_password_required_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('security_password_required_description')}\n\t\t\t\t\n\t\t\t\t setPwd(e.target.value)}\n\t\t\t\t\tvariant=\"outlined\"\n\t\t\t\t\ttype='password'\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t setOpen(false)}\n\t\t\t\t>\n\t\t\t\t\t{t('back_btn')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('unlock_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default RequestPasswordDialog;\n\nRequestPasswordDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tcloseCallback: PropTypes.func.isRequired\n};\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid, TextField } from '@material-ui/core';\nimport RequestPasswordDialog from './RequestPasswordDialog';\nimport { UserContext } from '../../../context/UserContext';\nimport PropTypes from 'prop-types';\nimport Button from '../../core/input/Button';\nimport { useUserSetEmail } from '@karpeleslab/klb-react-services';\n\nconst ChangeEmail = ({ changingInfo = false }) => {\n\tconst [user, setUser] = useContext(UserContext);\n\tconst [email, setEmail] = useState(user.user.data.Email);\n\tconst [requestPwdOpen, setRequestPwdOpen] = useState(false);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [setNewEmail, loadingNewEmail] = useUserSetEmail('@');\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\tif (email !== user.user.data.Email && !loadingNewEmail) {\n\t\t\tsetSaveEnabled(true);\n\t\t\treturn;\n\t\t}\n\t\tsetSaveEnabled(false);\n\t}, [email, user, loadingNewEmail]);\n\n\tconst handleChangeEmail = pwd => {\n\t\tsetNewEmail(email, pwd)\n\t\t\t.then(res => {\n\t\t\t\tif (res) {\n\t\t\t\t\tconst tmp = { ...user };\n\t\t\t\t\ttmp.user.data = res;\n\t\t\t\t\tsetUser(tmp);\n\t\t\t\t}\n\t\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setEmail(e.target.value)}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (user.user.data.Has_Password)\n\t\t\t\t\t\t\t\tsetRequestPwdOpen(true);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\thandleChangeEmail(null);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\t{user.user.data.Has_Password &&\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default ChangeEmail;\n\nChangeEmail.propTypes = {\n\tchangingInfo: PropTypes.bool,\n};\n","import React from 'react';\nimport Typography from '@material-ui/core/Typography';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport PropTypes from 'prop-types';\n\nconst styles = makeStyles(() => ({\n\ttitle: {\n\t\tflex: '1 1 100%',\n\t},\n}));\nexport const Title = ({ children }) => {\n\tconst classes = styles();\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n};\n\nTitle.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t])\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport ChangeEmail from './ChangeEmail';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../core/typography/Title';\n\nconst Account = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('profile_account')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Account;\n","import React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid, TextField } from '@material-ui/core';\nimport { Title } from '../../core/typography/Title';\nimport { UserContext } from '../../../context/UserContext';\nimport Button from '../../core/input/Button';\nimport { useUserProfileUpdate } from '@karpeleslab/klb-react-services';\n\nconst Information = () => {\n\tconst { t } = useTranslation();\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [user, setUser] = useContext(UserContext);\n\tconst [username, setUsername] = useState(user.user.data.Profile.Display_Name);\n\tconst [updateProfile, changingInfo] = useUserProfileUpdate('@');\n\n\n\tuseEffect(() => {\n\t\tif (username !== user.user.data.Profile.Display_Name) {\n\t\t\tsetSaveEnabled(true);\n\t\t\treturn;\n\t\t}\n\n\t\tsetSaveEnabled(false);\n\t}, [username, user]);\n\n\tconst handleSave = () => {\n\t\tlet p = {\n\t\t\tDisplay_Name: username\n\t\t};\n\n\t\tupdateProfile(p)\n\t\t\t.then(res => {\n\t\t\t\tif (res) {\n\t\t\t\t\tconst tmp = { ...user };\n\t\t\t\t\ttmp.user.data.Profile = res;\n\t\t\t\t\tsetUser(tmp);\n\t\t\t\t}\n\t\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('profile_information')}\n\t\t\t\n\t\t\t\n\t\t\t\t setUsername(e.target.value)}\n\t\t\t\t/>\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Information;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport { OauthBtn } from '../../../Login/OauthBtnsBuilder';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport ListItem from '@material-ui/core/ListItem';\nimport { useConsumerLink } from '@karpeleslab/klb-react-services';\n\nconst OAuthItem = ({ consumer, setSelected, disabled = false, selected = false }) => {\n\tconst [fetchConsumerLink] = useConsumerLink(consumer.OAuth2_Consumer__);\n\n\tconst handleConsumerClick = () => {\n\t\tsetSelected(consumer);\n\t\tfetchConsumerLink(window.location.href)\n\t\t\t.then(d => window.location = d.redirect_url);\n\t};\n\n\treturn (\n\t\t handleConsumerClick(consumer)}\n\t\t\tkey={consumer.OAuth2_Consumer__}\n\t\t\tselected={selected}\n\t\t>\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t{selected && }\n\t\t\n\t);\n};\n\nexport default OAuthItem;\n\nOAuthItem.propTypes = {\n\tconsumer: PropTypes.object.isRequired,\n\tdisabled: PropTypes.bool,\n\tselected: PropTypes.bool,\n\tsetSelected: PropTypes.func.isRequired\n};\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useRest } from '@karpeleslab/react-klbfw-hooks';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Grid from '@material-ui/core/Grid';\nimport List from '@material-ui/core/List';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport PropTypes from 'prop-types';\nimport Button from '../../../core/input/Button';\nimport OAuthItem from './OAuthItem';\nimport { getOAuth2ConsumersEndpoint } from '@karpeleslab/klb-react-services';\n\nconst AddDialog = ({ open, setOpen }) => {\n\tconst { t } = useTranslation();\n\tconst [selectedConsumer, setSelectedConsumer] = useState(null);\n\tconst [consumers] = useRest(getOAuth2ConsumersEndpoint());\n\n\treturn (\n\t\t\n\t\t\t{t('link_service')}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('link_service_description')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{selectedConsumer && }\n\t\t\t\t\t\t{!selectedConsumer &&\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tconsumers && consumers.data && consumers.data.map(\n\t\t\t\t\t\t\t\t\tconsumer => {\n\t\t\t\t\t\t\t\t\t\tconst selected = selectedConsumer && selectedConsumer.OAuth2_Consumer__ === consumer.OAuth2_Consumer__;\n\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t setOpen(false)} disabled={!!selectedConsumer}\n\t\t\t\t>\n\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AddDialog;\n\nAddDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n};\n","export default __webpack_public_path__ + \"static/media/oauthTokens.5687e287.svg\";","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\n\nimport EmptyState from './../../../../core/feedback/State/Empty';\nimport Graphic from './../../../../../assets/img/oauthTokens.svg';\n\nconst Empty = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\tsample
\n\t\t\t\tsample\n\t\t\t}\n\t\t\tgraphic={Graphic}\n\t\t/>\n\t);\n\n};\n\nexport default Empty;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst TableDefinition = () => {\n\treturn (<>);\n};\n\nexport default TableDefinition;\n\nTableDefinition.propTypes = {\n\tname: PropTypes.string.isRequired,\n\tlabel: PropTypes.string,\n\tsortable: PropTypes.bool,\n};\n","import TableSortLabel from '@material-ui/core/TableSortLabel';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default function SortableCell({ sort, field, label, onClick }) {\n\tlet direction = 'asc';\n\tlet sortHandlerDir = 'asc';\n\n\tif (sort && field in sort) {\n\t\tdirection = sort[field].toLowerCase();\n\t\tif (direction === 'asc') sortHandlerDir = 'DESC';\n\t\telse if (direction === 'desc') sortHandlerDir = 'ASC';\n\t}\n\n\treturn (\n\t\t {\n\t\t\t\tonClick(field, sortHandlerDir);\n\t\t\t}}\n\t\t\tactive={sort && field in sort}\n\t\t\tdirection={direction}>{label}\n\t);\n}\n\nSortableCell.propTypes = {\n\tsort: PropTypes.object,\n\tfield: PropTypes.string.isRequired,\n\tlabel: PropTypes.string,\n\tonClick: PropTypes.func.isRequired,\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\n\nimport Box from '@material-ui/core/Box';\nimport Typography from '@material-ui/core/Typography';\nimport PropTypes from 'prop-types';\nimport Button from '../input/Button';\nimport Helmet from 'react-helmet';\nimport { useHistory } from 'react-router';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst PageTitle = ({ backButton = false, backButtonText = null, children, title }) => {\n\tconst { t } = useTranslation();\n\tconst history = useHistory();\n\tconst isBackBtnUrl = typeof backButton === 'string' || backButton instanceof String;\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{ /* https://devhints.io/html-meta */}\n\t\t\t\t{title}\n\t\t\t\n\t\t\t{\n\t\t\t\tbackButton &&\n\t\t\t\t\n\t\t\t\t\t history.goBack() }\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{backButtonText || t('back_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\t{children ?? title}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PageTitle;\n\nPageTitle.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]),\n\tbackButton: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.bool\n\t]),\n\tbackButtonText: PropTypes.string,\n\ttitle: PropTypes.string,\n};\n","import React from 'react';\nimport { Title } from './Title';\nimport { Toolbar as MUToolbar } from '@material-ui/core';\nimport Grid from '@material-ui/core/Grid';\nimport PropTypes from 'prop-types';\nimport PageTitle from './PageTitle';\n\n\nconst Toolbar = ({ title, children, disableGutters = false, justify = 'space-between', alignItems = 'stretch', startAdornment = null, endAdornment = null, pageTitle = false, pageTitleProps = {}, childItemProps = {}, titleItemProps = {}, toolbarProps = {} }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{startAdornment && {startAdornment}}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{!pageTitle && {title}}\n\t\t\t\t\t\t\t{pageTitle && }\n\t\t\t\t\t\t\n\t\t\t\t\t\t{endAdornment && {endAdornment}}\n\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{children && {children}}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Toolbar;\n\nToolbar.propTypes = {\n\talignItems: PropTypes.string,\n\tchildItemProps: PropTypes.object,\n\tchildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n\tdisableGutters: PropTypes.bool,\n\tendAdornment: PropTypes.node,\n\tjustify: PropTypes.string,\n\tpageTitle: PropTypes.bool,\n\tpageTitleProps: PropTypes.object,\n\tstartAdornment: PropTypes.node,\n\ttitle: PropTypes.any,\n\ttitleItemProps: PropTypes.object,\n\ttoolbarProps: PropTypes.object\n};\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Box from '@material-ui/core/Box';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport ClearIcon from '@material-ui/icons/Clear';\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\nimport Grid from '@material-ui/core/Grid';\nimport { IconButton } from '@material-ui/core';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport SearchIcon from '@material-ui/icons/Search';\nimport TextField from '@material-ui/core/TextField';\nimport Toolbar from '../../typography/Toolbar';\nimport PropTypes from 'prop-types';\nimport Button from '../../input/Button';\n\nconst TableToolbar = (\n\t{\n\t\ttitle,\n\t\tloading,\n\t\tsearch,\n\t\tsearchKey,\n\t\tfilters,\n\t\tchangeFiltersAndPaging,\n\t\tsearchCriteria = [], // [{ field: string, value: ''|[value1, value2, ...] }]\n\t\textra = [], //Array of extra element that will be append at the right of the search icon (used to add button etc)\n\t\ttoolbarProps = {}\n\t}\n) => {\n\tconst { t } = useTranslation();\n\tconst [showSearch, setShowSearch] = useState(false);\n\tconst [searchText, setSearchText] = useState('');\n\tconst [showCriteria, setShowCriteria] = useState(false);\n\tconst [currentCriterias, setCurrentCriterias] = useState([]);\n\n\tuseEffect(() => {\n\t\tif (searchKey in filters) {\n\t\t\tsetShowSearch(true);\n\n\t\t\tif (searchText !== filters[searchKey])\n\t\t\t\tsetSearchText(filters[searchKey]['$prefix']);\n\t\t}\n\t\t// eslint-disable-next-line\n\t}, [filters]);\n\n\tconst handleAdvancedSearch = () => {\n\t\tconst params = {};\n\t\tcurrentCriterias.forEach(c => {\n\t\t\tif (c.value.length > 0)\n\t\t\t\tparams[c.field] = c.value;\n\t\t});\n\t\tchangeFiltersAndPaging(params, { page_no: 1 });\n\t};\n\n\tconst handleSearch = () => {\n\t\tchangeFiltersAndPaging({ [searchKey]: { '$prefix': searchText } }, { page_no: 1 });\n\t};\n\n\tconst handleClear = () => {\n\t\tsetSearchText('');\n\t\tsetShowSearch(false);\n\t\tchangeFiltersAndPaging({}, { page_no: 1 });\n\t};\n\n\tconst handleSearchKeyPress = e => {\n\t\tif (e.key !== 'Enter') return;\n\t\thandleSearch();\n\t};\n\n\tconst handleSearchKeyUp = e => {\n\t\tif (e.key !== 'Escape') return;\n\t\tsetShowSearch(false);\n\t\thandleClear();\n\t};\n\n\tconst newCriteria = (e) => {\n\t\tsetCurrentCriterias([...currentCriterias, {\n\t\t\tfield: e.target.value,\n\t\t\tvalue: ''\n\t\t}]);\n\t};\n\n\tconst unsetCriteria = field => {\n\t\tconst idx = currentCriterias.findIndex(c => c.field === field);\n\t\tif (idx < 0)\n\t\t\treturn;\n\n\t\tconst tmp = [...currentCriterias];\n\t\ttmp.splice(idx, 1);\n\t\tsetCurrentCriterias(tmp);\n\t};\n\n\tconst updateCriteria = (field, value) => {\n\t\tconst idx = currentCriterias.findIndex(c => c.field === field);\n\t\tif (idx < 0)\n\t\t\treturn;\n\n\t\tconst tmp = [...currentCriterias];\n\t\ttmp[idx] = { field, value };\n\t\tsetCurrentCriterias(tmp);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t setSearchText(e.target.value)}\n\t\t\t\t\t\tonKeyPress={handleSearchKeyPress}\n\t\t\t\t\t\tonKeyUp={handleSearchKeyUp}\n\t\t\t\t\t\tInputProps={\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tendAdornment: (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tstartAdornment: (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t handleSearch()} size='small'>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t/> :\n\t\t\t\t\ttitle}\n\t\t\t\tendAdornment={\n\t\t\t\t\tloading ?\n\t\t\t\t\t\t :\n\t\t\t\t\t\tnull\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{/* remove 'false' in the following condition to display the advanced search */}\n\t\t\t\t\t{searchCriteria.length > 0 && false &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t{search &&\n\t\t\t\t\t\n\t\t\t\t\t\t setShowSearch(!showSearch)}>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t{extra && extra.map((e, idx) => {e})}\n\t\t\t\t\n\n\t\t\t\n\t\t\t{showCriteria &&\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{searchCriteria.filter(option => currentCriterias.findIndex(c => c.field === option.field) < 0).length > 0 &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{searchCriteria.filter(option => currentCriterias.findIndex(c => c.field === option.field) < 0).map(option => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t(`label_criteria_${option.field.replace('.', '_')}`)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tcurrentCriterias.map(c => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t updateCriteria(c.field, e.target.value)}\n\t\t\t\t\t\t\t\t\tvalue={c.value}\n\t\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\t\tfullWidth\n\t\t\t\t\t\t\t\t\tInputProps={{\n\t\t\t\t\t\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t unsetCriteria(c.field)}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))\n\t\t\t\t\t}\n\t\t\t\t\t{\n\t\t\t\t\t\tcurrentCriterias.length > 0 &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t c.value.length > 0).length <= 0}\n\t\t\t\t\t\t\t\tonClick={handleAdvancedSearch}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('search')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default TableToolbar;\n\nTableToolbar.propTypes = {\n\tchangeFiltersAndPaging: PropTypes.func.isRequired,\n\textra: PropTypes.array,\n\tfilters: PropTypes.object.isRequired,\n\tloading: PropTypes.bool,\n\tsearch: PropTypes.bool,\n\tsearchCriteria: PropTypes.array,\n\tsearchKey: PropTypes.string,\n\ttitle: PropTypes.string,\n\ttoolbarProps: PropTypes.object\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport SortableCell from './SortableCell';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableFooter from '@material-ui/core/TableFooter';\nimport { Table as MUITable } from '@material-ui/core';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport TablePaginationActions from '@material-ui/core/TablePagination/TablePaginationActions';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport { Skeleton } from '@material-ui/lab';\nimport queryString from 'query-string';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport Paper from '@material-ui/core/Paper';\nimport Grid from '@material-ui/core/Grid';\nimport TableToolbar from './TableToolbar';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles(theme => ({\n\tcTable: {\n\t\t'& a:not([role=\"button\"])': {\n\t\t\tcolor: `${theme.palette.text.primary} !important`\n\t\t}\n\t}\n}));\n\nconst Table = ({ title, data, loading = false, fetch, children, search = true, searchKey, initialFilters = {}, paperProps = {}, searchCriteria = [], extra = [], emptyState = null, emptyText = null, RowComponent = TableRow, rowProps = {}, toolbarProps = {}, ...etc }) => {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst { t } = useTranslation();\n\tconst classes = useStyles();\n\n\tconst [paging, setPaging] = useState({});\n\tconst [filters, setFilters] = useState(initialFilters);\n\tconst [hasFilters, setHasFilters] = useState(false);\n\n\tconst displayData = () => {\n\t\tconst list = loading ?\n\t\t\t[...Array(paging.results_per_page ?? 10).keys()] :\n\t\t\t(data ? data.data ?? [] : []);\n\n\t\tif (list.length < 1) { // empty\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{emptyText ?? t('table_empty_text')}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn list.map((d, rowIdx) =>\n\t\t\t\n\t\t\t\t{(Array.isArray(children) ? children : [children]).map(\n\t\t\t\t\t(child, cellIdx) => {\n\t\t\t\t\t\tif (!child)\n\t\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t\tconst { name, label, sortable, children, ...cellProps } = child.props;\n\n\t\t\t\t\t\treturn \n\t\t\t\t\t\t\t{loading && }\n\t\t\t\t\t\t\t{!loading && (children ?\n\t\t\t\t\t\t\t\tchildren(d, rowIdx, cellIdx) :\n\t\t\t\t\t\t\t\td[name])\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t;\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t};\n\n\tconst changePageHandler = (e, newPage) => {\n\t\t// The pagination component start at 0;...\n\t\tif (loading) return;\n\t\thandleFiltersAndPagingChange(null, { ...paging, page_no: parseInt(newPage) + 1 });\n\t};\n\n\tconst changeResultPerPageHandler = e => {\n\t\tif (loading) return;\n\t\thandleFiltersAndPagingChange(null, { ...paging, results_per_page: e.target.value });\n\t};\n\n\tconst changeFiltersHandler = filters => {\n\t\tif (loading) return;\n\t\tconst currentParams = queryString.parse(location.search);\n\t\tconst params = {};\n\t\t// We remove all existing filters\n\t\tObject.keys(currentParams ?? {}).forEach(pK => {\n\t\t\tif (pK.startsWith('f-')) return;\n\t\t\tparams[pK] = currentParams[pK];\n\t\t});\n\n\t\tObject.keys(filters ?? {}).forEach(key => {\n\t\t\tif (key === searchKey && '$prefix' in filters[key])\n\t\t\t\tparams[`f-${key}`] = filters[key]['$prefix'];\n\t\t\telse\n\t\t\t\tparams[`f-${key}`] = filters[key];\n\t\t});\n\n\n\t\thistory.push(location.pathname + '?' + queryString.stringify(params));\n\t};\n\n\n\tconst handleFiltersAndPagingChange = (filters, paging) => {\n\t\tif (loading) return;\n\n\t\tlet params = queryString.parse(location.search);\n\n\t\tif (filters !== null) { // We have some filter changes\n\t\t\t// We remove all existing filters\n\t\t\tObject.keys({ ...(params ?? {}) }).forEach(pK => {\n\t\t\t\tif (!pK.startsWith('f-')) return;\n\t\t\t\tdelete params[pK];\n\t\t\t});\n\n\t\t\t// We add the new filters\n\t\t\tObject.keys(filters ?? {}).forEach(key => {\n\t\t\t\tif (key === searchKey && '$prefix' in filters[key])\n\t\t\t\t\tparams[`f-${key}`] = filters[key]['$prefix'];\n\t\t\t\telse\n\t\t\t\t\tparams[`f-${key}`] = filters[key];\n\t\t\t});\n\n\t\t}\n\n\t\tif (paging !== null) {\n\t\t\tparams = { ...params, ...paging }; // we replace the paging information\n\t\t}\n\n\t\thistory.push(location.pathname + '?' + queryString.stringify(params));\n\t};\n\n\tconst sortHandler = (property, dir) => {\n\t\tlet p = { ...filters };\n\t\t// only 1 sort\n\t\tp.sort = {};\n\t\tp.sort[property] = dir;\n\t\tsetFilters(p);\n\t};\n\n\tconst pagingChangeHandler = params => {\n\t\tconst pNo = 'page_no' in params ? parseInt(params.page_no) : 1;\n\t\tconst perPage = 'results_per_page' in params ? parseInt(params.results_per_page) : 10;\n\t\tlet newPaging = null;\n\t\tif (paging.page_no !== pNo)\n\t\t\tnewPaging = { ...(newPaging ?? {}), page_no: pNo };\n\t\tif (paging.results_per_page !== perPage)\n\t\t\tnewPaging = { ...(newPaging ?? {}), results_per_page: perPage };\n\n\t\tif (newPaging) {\n\t\t\tsetPaging({ ...paging, ...newPaging });\n\t\t}\n\t};\n\n\tconst filtersChangeHandler = params => {\n\t\t// We need to compare the filters set in the url and the one we have.\n\t\t// We keep the sort filters, and the initial filters\n\t\t// We refresh only if a change occurred\n\t\tconst filtersInUrl = {};\n\t\tlet refreshNeeded = false;\n\n\t\t// We extract the filters in the url, all the table filter will begin by f-\n\t\t// We also use this to detect if an existing filter as changed\n\t\t// With this we can detect if filters has been added to the url, or changed\n\t\tObject.keys(params).forEach(k => {\n\t\t\tif (!k.startsWith('f-')) return;\n\t\t\tconst cleaned = k.replace('f-', '');\n\t\t\tfiltersInUrl[cleaned] = cleaned === searchKey ? { '$prefix': params[k] } : params[k];\n\t\t\t// Detect changes\n\t\t\tif (!(k in filters)) {\n\t\t\t\trefreshNeeded = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (cleaned === searchKey && filters[k]['$prefix'] !== params[k]['$prefix'])\n\t\t\t\trefreshNeeded = true;\n\t\t\telse if (cleaned !== searchKey && filters[k] !== params[k]) refreshNeeded = true;\n\t\t});\n\n\t\t//We need now to detect a filters has been removed from the url\n\t\tObject.keys(filters).forEach(k => {\n\t\t\tif (k in initialFilters) return; // this is an initial filters we don't touch it\n\t\t\tif (k === 'sort') return; // We don't handle sort filter here\n\n\t\t\t// There is a filter in the filters list but not in the url,\n\t\t\t// this means a filter has been deleted, we need to update the filter list\n\t\t\tif (!(k in filtersInUrl)) refreshNeeded = true;\n\t\t});\n\n\t\tif (refreshNeeded)\n\t\t\tsetFilters({ ...initialFilters, ...(filters.sort ?? {}), ...filtersInUrl });\n\t};\n\n\tuseEffect(() => {\n\t\tlet hasFilter = false;\n\t\tObject.keys(filters ?? {}).forEach(key => {\n\t\t\tif (key in (initialFilters ?? {}) || key === 'sort') return;\n\t\t\thasFilter = true;\n\t\t});\n\n\t\tsetHasFilters(hasFilter);\n\t}, [filters, setHasFilters]);\n\n\tuseEffect(() => {\n\t\tconst params = queryString.parse(location.search);\n\n\t\t// Change paging\n\t\tpagingChangeHandler(params);\n\n\t\t// Change filters\n\t\tfiltersChangeHandler(params);\n\n\n\t\t// eslint-disable-next-line\n\t}, [location]);\n\n\tconst firstUpdate = useRef(true);\n\n\t// Detect filter or paging changes\n\tuseEffect(() => {\n\t\t// Do not fetch on first render\n\t\t// The system will get the paging info from the url that will trigger the initial fetch\n\t\tif (firstUpdate.current) {\n\t\t\tfirstUpdate.current = false;\n\t\t\treturn;\n\t\t}\n\n\t\tfetch(filters, paging);\n\t\t// eslint-disable-next-line\n\t}, [filters, paging]);\n\n\treturn (\n\t\t\n\t\t\t{(loading || (data ? data.data ?? [] : []).length > 0 || (!emptyState || hasFilters)) &&\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{(Array.isArray(children) ? children : [children]).map(\n\t\t\t\t\t\t\t\t\t\t(child, idx) => {\n\t\t\t\t\t\t\t\t\t\t\tif (!child)\n\t\t\t\t\t\t\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t\t\t\t\t\t\tconst { name, label, sortable, headerAlign, align, ...cellProps } = child.props;\n\n\t\t\t\t\t\t\t\t\t\t\tconst finalAlign = headerAlign ?? (align ?? undefined);\n\n\t\t\t\t\t\t\t\t\t\t\treturn \n\t\t\t\t\t\t\t\t\t\t\t\t{!sortable ? label :\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{displayData()}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t !!c).length}\n\t\t\t\t\t\t\t\t\t\tcount={(data && data.paging) ? parseInt(data.paging.count ?? 0) : 10}\n\t\t\t\t\t\t\t\t\t\trowsPerPage={parseInt(paging.results_per_page ?? 10)}\n\t\t\t\t\t\t\t\t\t\tpage={paging ? parseInt(paging.page_no ?? 1) - 1 : 0}\n\t\t\t\t\t\t\t\t\t\tlabelRowsPerPage={t('rows_per_page')}\n\t\t\t\t\t\t\t\t\t\tSelectProps={{\n\t\t\t\t\t\t\t\t\t\t\tinputProps: { 'aria-label': t('rows_per_page') },\n\t\t\t\t\t\t\t\t\t\t\tnative: true,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tlabelDisplayedRows={\n\t\t\t\t\t\t\t\t\t\t\t({ from, to, count }) => t(count !== -1 ? 'table_paging' : 'table_paging_more', {\n\t\t\t\t\t\t\t\t\t\t\t\tfrom: from,\n\t\t\t\t\t\t\t\t\t\t\t\tto: to,\n\t\t\t\t\t\t\t\t\t\t\t\tcount: count\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonChangePage={changePageHandler}\n\t\t\t\t\t\t\t\t\t\tonChangeRowsPerPage={changeResultPerPageHandler}\n\t\t\t\t\t\t\t\t\t\tActionsComponent={TablePaginationActions}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\t{(emptyState && !loading && (data ? data.data ?? [] : []).length < 1 && !hasFilters) && emptyState}\n\t\t\n\t);\n};\n\nexport default Table;\n\nTable.propTypes = {\n\tRowComponent: PropTypes.any,\n\tchildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n\tdata: PropTypes.object,\n\temptyState: PropTypes.any,\n\temptyText: PropTypes.string,\n\textra: PropTypes.array,\n\tfetch: PropTypes.func,\n\tinitialFilters: PropTypes.object,\n\tloading: PropTypes.bool,\n\tpaperProps: PropTypes.object,\n\trowProps: PropTypes.object,\n\tsearch: PropTypes.bool,\n\tsearchCriteria: PropTypes.array,\n\tsearchKey: PropTypes.string,\n\ttitle: PropTypes.string,\n\ttoolbarProps: PropTypes.object\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Typography from '@material-ui/core/Typography';\n\nimport PropTypes from 'prop-types';\nimport Button from '../../../core/input/Button';\nimport { useConsumerTokenUnlink } from '@karpeleslab/klb-react-services';\n\nconst DeleteDialog = ({ open, setOpen, token, onDeleted }) => {\n\tconst { t } = useTranslation();\n\tconst [unlinkToken, loading] = useConsumerTokenUnlink(token.OAuth2_Consumer_Token__);\n\n\tconst handleDelete = () => unlinkToken().then(onDeleted);\n\n\treturn (\n\t\t\n\t\t\t{t('confirm_delete_token_title')}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('confirm_delete_token_desc')}\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t{t('are_you_sure')}\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t setOpen(false)}\n\t\t\t\t\tdisabled={loading}\n\t\t\t\t>\n\t\t\t\t\t{t('back_btn')}\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\tonClick={handleDelete}\n\t\t\t\t>\n\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DeleteDialog;\n\n\nDeleteDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\ttoken: PropTypes.object,\n\tonDeleted: PropTypes.func.isRequired,\n};\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Empty from './Empty';\nimport TableDefinition from '../../../../core/data/table/TableDefinition';\nimport { OauthBtn } from '../../../../Login/OauthBtnsBuilder';\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\nimport Button from '../../../../core/input/Button';\nimport CoreTable from '../../../../core/data/table/Table';\nimport DeleteDialog from '../DeleteDialog';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useConsumerTokens } from '@karpeleslab/klb-react-services';\n\nconst Table = () => {\n\tconst { t } = useTranslation();\n\n\tconst [tokens, fetch, loading] = useConsumerTokens();\n\tconst [selected, setSelected] = useState();\n\tconst [showDelete, setShowDelete] = useState(false);\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tconst deleteHandler = token => {\n\t\tsetSelected(token);\n\t\tsetShowDelete(true);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{token => }\n\t\t\t\t\n\n\t\t\t\t{!isMobile && }\n\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{token => deleteHandler(token)}\n\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t{selected && {\n\t\t\t\t\tfetch();\n\t\t\t\t\tsetSelected(null);\n\t\t\t\t\tsetShowDelete(false);\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default Table;\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport AddDialog from './AddDialog';\nimport AddIcon from '@material-ui/icons/Add';\nimport Alert from '@material-ui/lab/Alert';\nimport Grid from '@material-ui/core/Grid';\nimport Table from './table/Table';\nimport Toolbar from './../../../core/typography/Toolbar';\nimport Button from '../../../core/input/Button';\n\nconst OAuth = () => {\n\tconst { t } = useTranslation();\n\tconst [addDialogOpened, setAddDialogOpened] = useState(false);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\tonClick={() => setAddDialogOpened(true)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('add_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('profile_oauth_desc')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OAuth; \n","import React, { useContext, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport { Grid } from '@material-ui/core';\nimport TextField from '@material-ui/core/TextField';\nimport { Title } from '../../core/typography/Title';\nimport RequestPasswordDialog from './RequestPasswordDialog';\nimport { UserContext } from '../../../context/UserContext';\nimport Button from '../../core/input/Button';\nimport { useUserChangePassword } from '@karpeleslab/klb-react-services';\n\nconst Security = () => {\n\tconst { t } = useTranslation();\n\tconst [newPassword, setNewPassword] = useState('');\n\tconst [newPasswordRepeat, setNewPasswordRepeat] = useState('');\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [requestPwdOpen, setRequestPwdOpen] = useState(false);\n\tconst [user] = useContext(UserContext);\n\tconst [changePassword, changingInfo] = useUserChangePassword('@');\n\n\tconst resetFields = () => {\n\t\tsetNewPassword('');\n\t\tsetNewPasswordRepeat('');\n\t};\n\n\tuseEffect(() => {\n\t\tif (newPassword === '') {\n\t\t\tsetSaveEnabled(false);\n\t\t\treturn;\n\t\t}\n\n\t\tif (newPassword !== newPasswordRepeat) {\n\t\t\tsetSaveEnabled(false);\n\t\t\treturn;\n\t\t}\n\n\t\tsetSaveEnabled(true);\n\t}, [newPassword, newPasswordRepeat]);\n\n\tconst handleSave = old => {\n\t\tchangePassword(old, newPassword)\n\t\t\t.finally(resetFields);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('profile_security')}\n\t\t\t\n\t\t\t\n\t\t\t\t setNewPassword(e.target.value)}\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\ttype='password'\n\t\t\t\t\tdisabled={changingInfo}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t setNewPasswordRepeat(e.target.value)}\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\ttype='password'\n\t\t\t\t\terror={newPasswordRepeat !== newPassword}\n\t\t\t\t\thelperText={newPasswordRepeat !== newPassword ? t('confirm_password_not_match') : ''}\n\t\t\t\t\tdisabled={changingInfo}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (user.user.data.Has_Password)\n\t\t\t\t\t\t\t\tsetRequestPwdOpen(true);\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\thandleSave(null);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\t{user.user.data.Has_Password &&\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default Security;\n","export default __webpack_public_path__ + \"static/media/otp_empty_list.3896558a.svg\";","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\n\nimport EmptyState from './../../../../core/feedback/State/Empty';\nimport Graphic from './../../../../../assets/img/otp_empty_list.svg';\n\nconst Empty = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\tsample
\n\t\t\t\tsample\n\t\t\t}\n\t\t\tgraphic={Graphic}\n\t\t/>\n\t);\n};\n\nexport default Empty;\n","import React from 'react';\nimport Typography from '@material-ui/core/Typography';\nimport Box from '@material-ui/core/Box';\nimport PropTypes from 'prop-types';\n\nconst Panel = ({ children, value, index, boxProps = { p: 3 }, ...other }) => {\n\treturn (\n\t\t\n\t\t\t{value === index && {children}}\n\t\t\n\t);\n};\n\nexport default Panel;\n\nPanel.propTypes = {\n\tboxProps: PropTypes.object,\n\tchildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n\tindex: PropTypes.any.isRequired,\n\tvalue: PropTypes.any.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport TextField from '@material-ui/core/TextField';\nimport { useTranslation } from 'react-i18next';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../../../core/input/Button';\nimport { useUserOTPCreate } from '@karpeleslab/klb-react-services';\nimport { TAB_ASSOCIATE } from './AddDialog';\n\nconst StepCreate = ({ handleClose, setStep, setOtp, setLoading }) => {\n\tconst { t } = useTranslation();\n\tconst [otpName, setOtpName] = useState();\n\tconst [create, creating] = useUserOTPCreate();\n\n\tuseEffect(() => {\n\t\tsetLoading(creating);\n\t}, [creating]);\n\n\tconst handleCreate = () => {\n\t\tcreate(otpName.trim())\n\t\t\t.then(res => {\n\t\t\t\tsetOtp(res);\n\t\t\t\tsetStep(TAB_ASSOCIATE);\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setOtpName(e.target.value)}\n\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\tdisabled={creating}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('otp_step_create_btn')}\n\t\t\t\t\n\n\t\t\t\n\t\t\n\t);\n};\n\nexport default StepCreate;\n\nStepCreate.propTypes = {\n\thandleClose: PropTypes.func.isRequired,\n\tsetLoading: PropTypes.func.isRequired,\n\tsetOtp: PropTypes.func.isRequired,\n\tsetStep: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Grid from '@material-ui/core/Grid';\nimport RichAlert from '../../../../core/feedback/RichAlert';\nimport { Trans, useTranslation } from 'react-i18next';\nimport QRCode from 'qrcode.react';\nimport { Typography } from '@material-ui/core';\nimport TextField from '@material-ui/core/TextField';\nimport { useUserOTPAssociate } from '@karpeleslab/klb-react-services';\nimport { TAB_ACTIVATE } from './AddDialog';\nimport Button from '../../../../core/input/Button';\n\nconst buildOtpUrl = (name, keyB32) => {\n\treturn `otpauth://totp/${encodeURIComponent(`Shellsâ„¢:${name}`)}?secret=${keyB32}&issuer=${encodeURIComponent('Shellsâ„¢')}&digits=6&period=30`;\n};\n\nconst StepAssociate = ({ otp, handleClose, setStep, refresh, setLoading }) => {\n\tconst { t } = useTranslation();\n\tconst [otpConfirm, setOtpConfirm] = useState();\n\tconst [associate, associating] = useUserOTPAssociate(otp.User_Otp__);\n\n\tuseEffect(() => {\n\t\tsetLoading(associating);\n\t}, [associating]);\n\n\tconst handleAssociate = () => {\n\t\tassociate(otpConfirm, otp.Name)\n\t\t\t.then(() => {\n\t\t\t\trefresh();\n\t\t\t\tsetStep(TAB_ACTIVATE);\n\t\t\t});\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('otp_b16_key', { key: otp.Key })}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('otp_b32_key', { key: otp.Key_base32 })}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t setOtpConfirm(e.target.value)}\n\t\t\t\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t\t\tdisabled={associating}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('otp_step_associate_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default StepAssociate;\n\nStepAssociate.propTypes = {\n\thandleClose: PropTypes.func.isRequired,\n\totp: PropTypes.object.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tsetLoading: PropTypes.func.isRequired,\n\tsetStep: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { Grid } from '@material-ui/core';\nimport { useUserOTPSetAction, useUserOTPUnsetAction } from '@karpeleslab/klb-react-services';\n\nconst ACTIONS = ['login'];\n\nconst OtpActions = ({ otp, refresh }) => {\n\tconst { t } = useTranslation();\n\tconst [set, setting] = useUserOTPSetAction(otp.User_Otp__);\n\tconst [unset, unsetting] = useUserOTPUnsetAction(otp.User_Otp__);\n\n\tconst setHandler = action => {\n\t\tset(action).then(refresh);\n\t};\n\n\tconst unsetHandler = action => {\n\t\tunset(action).then(refresh);\n\t};\n\n\tconst isActivated = action => {\n\t\treturn (otp.Actions ?? []).includes(action);\n\t};\n\n\tconst createChangeHandler = action => e => {\n\t\tif (e.target.checked) setHandler(action);\n\t\telse unsetHandler(action);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{ACTIONS.map(a =>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={t(`opt_action_${a}`)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OtpActions;\n\nOtpActions.propTypes = {\n\totp: PropTypes.object,\n\trefresh: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Grid from '@material-ui/core/Grid';\nimport RichAlert from '../../../../core/feedback/RichAlert';\nimport { Trans, useTranslation } from 'react-i18next';\nimport OtpActions from '../OtpActions';\nimport Button from '../../../../core/input/Button';\n\nconst StepActivate = ({ otp, handleClose, refresh, setOtp }) => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\trefresh();\n\t\t\t\t\t\t\tsetOtp(otp);\n\t\t\t\t\t\t}}/>\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default StepActivate;\n\nStepActivate.propTypes = {\n\thandleClose: PropTypes.func.isRequired,\n\totp: PropTypes.object.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tsetOtp: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Grid from '@material-ui/core/Grid';\nimport Step from '@material-ui/core/Step';\nimport StepLabel from '@material-ui/core/StepLabel';\nimport Stepper from '@material-ui/core/Stepper';\nimport Panel from '../../../../layout/Container/tab/Panel';\nimport StepCreate from './StepCreate';\nimport StepAssociate from './StepAssociate';\nimport StepActivate from './StepActivate';\n\nexport const TAB_CREATE = 0;\nexport const TAB_ASSOCIATE = 1;\nexport const TAB_ACTIVATE = 2;\n\nconst AddDialog = ({ open, setOpen, refresh }) => {\n\tconst { t } = useTranslation();\n\tconst [step, setStep] = useState(TAB_CREATE);\n\tconst [otp, setOtp] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\n\tconst handleClose = () => setOpen(false);\n\n\n\tconst init = () => {\n\t\tsetStep(TAB_CREATE);\n\t\tsetOtp(null);\n\t};\n\n\treturn (\n\t\t {\n\t\t\t\tinit();\n\t\t\t}}\n\t\t>\n\t\t\t{t('add_otp_title')}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('add_otp_description')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('step_otp_config')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('step_otp_associate')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('step_otp_activate')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{otp && }\n\t\t\t\n\t\t\t\n\t\t\t\t{otp && }\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AddDialog;\n\nAddDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import React from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport Button from '../../../core/input/Button';\nimport PropTypes from 'prop-types';\nimport { useUserOTPDelete } from '@karpeleslab/klb-react-services';\n\nconst DeleteDialog = ({ otp, open, setOpen, refreshList, refreshing }) => {\n\tconst { t } = useTranslation();\n\tconst [deleteKey, deleting] = useUserOTPDelete(otp.User_Otp__);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleDelete = e => {\n\t\te.preventDefault();\n\n\t\tdeleteKey()\n\t\t\t.then(() => refreshList())\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_delete_opt_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('dialog_delete_opt_desc', {\n\t\t\t\t\t\t\tname: otp?.Name,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DeleteDialog;\n\nDeleteDialog.propTypes = {\n\totp: PropTypes.object,\n\topen: PropTypes.bool.isRequired,\n\trefreshList: PropTypes.func.isRequired,\n\trefreshing: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Empty from './Empty';\nimport TableDefinition from '../../../../core/data/table/TableDefinition';\nimport DeleteForeverIcon from '@material-ui/icons/DeleteForever';\nimport Button from '../../../../core/input/Button';\nimport CoreTable from '../../../../core/data/table/Table';\nimport { Grid } from '@material-ui/core';\nimport Toolbar from '../../../../core/typography/Toolbar';\nimport AddIcon from '@material-ui/icons/Add';\nimport Alert from '@material-ui/lab/Alert';\nimport AddDialog from '../AddDialog/AddDialog';\nimport OtpActions from '../OtpActions';\nimport DeleteDialog from '../DeleteDialog';\nimport { useUserOTPs } from '@karpeleslab/klb-react-services';\n\nconst OtpTable = () => {\n\tconst { t } = useTranslation();\n\n\tconst [tokens, fetch, loading, setOtp] = useUserOTPs();\n\tconst [showCreate, setShowCreate] = useState(false);\n\tconst [showDelete, setShowDelete] = useState(false);\n\tconst [selected, setSelected] = useState(null);\n\n\tconst createSetOtpHandler = idx => otp => {\n\t\tsetOtp(idx, otp);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\tonClick={() => setShowCreate(true)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('add_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('profile_otp_desc')}\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t}\n\t\t\t\t>\n\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{(otp, idx) => }\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{otp =>\n\t\t\t\t\t\t\t(otp.Actions ?? []).length < 1 ? }\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tsetSelected(otp);\n\t\t\t\t\t\t\t\t\tsetShowDelete(true);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\t\t\t : <>\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t{selected && \n\t\t\t}\n\t\t\n\t);\n};\n\nexport default OtpTable;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Account from './../../components/common/profile/Account';\nimport Grid from '@material-ui/core/Grid';\nimport Helmet from 'react-helmet';\nimport Information from './../../components/common/profile/Information';\nimport OAuth from './../../components/common/profile/OAuth/OAuth';\nimport Security from './../../components/common/profile/Security';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport OtpTable from '../../components/common/profile/OTP/table/OtpTable';\nimport ModeCheck from '../../components/layout/Mode/ModeCheck';\n\nconst Profile = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('navigation_settings')}\n\t\t\t\n\t\t\t\n\t\t\t\t{ /* TBD add helmet */}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Profile;\n","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport Grid from '@material-ui/core/Grid';\nimport PropTypes from 'prop-types';\n\nconst Form = ({ data, setData, setIsValid, disabled = false }) => {\n\tconst { t } = useTranslation();\n\n\tconst createChangeHandler = key => e => {\n\t\tsetData({ ...data, [key]: e.target.value });\n\t};\n\n\tconst getValue = (key, def = '') => {\n\t\tif (!(key in (data ?? {}))) return def;\n\t\treturn data[key];\n\t};\n\n\tuseEffect(() => {\n\t\tif (!('Label' in (data ?? {}))) setIsValid(false);\n\t\telse setIsValid(true);\n\t}, [data, setIsValid]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Form;\n\nForm.propTypes = {\n\tdata: PropTypes.object.isRequired,\n\tsetData: PropTypes.func.isRequired,\n\tsetIsValid: PropTypes.func.isRequired,\n\tdisabled: PropTypes.bool,\n};\n","import React, { useState } from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport { useHistory } from 'react-router-dom';\nimport Form from './Form';\nimport PropTypes from 'prop-types';\nimport { getSSHKeychainEditRoute } from '../../RouteController/Factory';\nimport Grid from '@material-ui/core/Grid';\nimport Button from '../../core/input/Button';\nimport { useKeychainCreate } from '@karpeleslab/klb-react-services';\n\nconst CreateDialog = ({ open, setOpen }) => {\n\tconst { t } = useTranslation();\n\tconst history = useHistory();\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [data, setData] = useState({});\n\tconst [create, creating] = useKeychainCreate();\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleCreate = e => {\n\t\te.preventDefault();\n\t\tcreate(data.Label)\n\t\t\t.then(d => history.push(getSSHKeychainEditRoute(d.Keychain__)));\n\t};\n\n\treturn (\n\t\t setData({})}\n\t\t>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{t('dialog_create_keychain_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('account_keychains_description')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('create_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CreateDialog;\n\nCreateDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n};\n","import React from 'react';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\n\nconst DateUtil = ({ klbDateObj, format = 'YYYY-MM-DD HH:mm:ss' }) => {\n\tlet unixTime;\n\n\tif (klbDateObj && klbDateObj.unixms) unixTime = parseInt(klbDateObj.unixms);\n\telse if (klbDateObj && klbDateObj.unix)\n\t\tunixTime = parseInt(klbDateObj.unix) * 1000;\n\n\treturn <>{unixTime ? moment(unixTime).format(format) : 'N/A'};\n};\n\nexport default DateUtil;\n\n\nDateUtil.propTypes = {\n\tformat: PropTypes.string,\n\tklbDateObj: PropTypes.object,\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Table from '../../core/data/table/Table';\nimport TableDefinition from '../../core/data/table/TableDefinition';\nimport DateUtil from '../../core/data/Date/DateUtil';\nimport Button from '../../core/input/Button';\nimport { getSSHKeychainEditRoute } from '../../RouteController/Factory';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { Link } from 'react-router-dom';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useKeychains } from '@karpeleslab/klb-react-services';\n\nconst KeychainTable = () => {\n\tconst [keychains, fetch, loading] = useKeychains();\n\tconst { t } = useTranslation();\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{!isMobile && \n\t\t\t\t{keychain => }\n\t\t\t}\n\n\t\t\t\n\t\t\t\t{keychain =>\n\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('edit_btn')}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default KeychainTable;\n","import React, { useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport Button from '../../components/core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport AddIcon from '@material-ui/icons/Add';\nimport CreateDialog from '../../components/common/Keychain/CreateDialog';\nimport KeychainTable from '../../components/common/Keychain/KeychainTable';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport Toolbar from '../../components/core/typography/Toolbar';\n\nconst Keychains = () => {\n\tconst { t } = useTranslation();\n\tconst [showCreate, setShowCreate] = useState(false);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setShowCreate(true)}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant=\"contained\"\n\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('create_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t

{t('account_keychains_description')}

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Keychains;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Form from './Form';\nimport { deepCopy } from '../../../utils/misc';\nimport Button from '../../core/input/Button';\nimport Grid from '@material-ui/core/Grid';\nimport PropTypes from 'prop-types';\nimport { useKeychainUpdate } from '@karpeleslab/klb-react-services';\n\n\nconst UpdateForm = ({ keychain, setKeychain }) => {\n\tconst { t } = useTranslation();\n\tconst [data, setData] = useState(deepCopy(keychain));\n\tconst [isValid, setIsValid] = useState(false);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [update, updating] = useKeychainUpdate(keychain.Keychain__);\n\n\tuseEffect(() => {\n\t\tsetData(deepCopy(keychain));\n\t}, [keychain, setData]);\n\n\tuseEffect(() => {\n\t\tif (!isValid) {\n\t\t\tsetSaveEnabled(false);\n\t\t\treturn;\n\t\t}\n\n\t\tsetSaveEnabled(keychain.Label !== (data.Label ?? '').trim());\n\t}, [isValid, data, keychain, setSaveEnabled]);\n\n\tconst saveHandler = () => {\n\t\tupdate(data).then(setKeychain);\n\t};\n\n\treturn (\n\t\t\n\t\t\t{t('keychain_update_title')}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default UpdateForm;\n\nUpdateForm.propTypes = {\n\tkeychain: PropTypes.object.isRequired,\n\tsetKeychain: PropTypes.func.isRequired\n};\n","import React from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport Button from '../../../core/input/Button';\nimport PropTypes from 'prop-types';\nimport { useKeychainKeyDelete } from '@karpeleslab/klb-react-services';\n\nconst DeleteDialog = ({ keychainKey, open, setOpen, refreshList, refreshing }) => {\n\tconst { t } = useTranslation();\n\tconst [deleteKey, deleting] = useKeychainKeyDelete(keychainKey?.Keychain_Key__);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleDelete = e => {\n\t\te.preventDefault();\n\n\t\tdeleteKey()\n\t\t\t.then(() => refreshList())\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_delete_keychain_key_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('dialog_delete_keychain_key_description', {\n\t\t\t\t\t\t\tlabel: keychainKey?.Label,\n\t\t\t\t\t\t\tfingerprint: keychainKey?.Fingerprint\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DeleteDialog;\n\nDeleteDialog.propTypes = {\n\tkeychainKey: PropTypes.object,\n\topen: PropTypes.bool.isRequired,\n\trefreshList: PropTypes.func.isRequired,\n\trefreshing: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import React from 'react';\nimport { DateTimePicker, MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport MomentUtils from '@date-io/moment';\nimport { getLocale } from '@karpeleslab/klbfw';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\n\nconst locale = getLocale().split('-')[0];\nif (locale !== 'en')\n\trequire('moment/locale/' + locale);\n\nmoment.locale(locale);\n\nconst DateTime = ({ variant, ...props }) => {\n\tif (variant) props.inputVariant = variant;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DateTime;\n\nDateTime.propTypes = {\n\tvariant: PropTypes.string,\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Grid from '@material-ui/core/Grid';\n\nconst TextWithIcon = ({ startIcon, endIcon, text }) => {\n\treturn (\n\t\t\n\t\t\t{startIcon && \n\t\t\t\t{startIcon}\n\t\t\t}\n\t\t\t\n\t\t\t\t{text}\n\t\t\t\n\t\t\t{endIcon && \n\t\t\t\t{endIcon}\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default TextWithIcon;\n\nTextWithIcon.propTypes = {\n\tendIcon: PropTypes.element,\n\tstartIcon: PropTypes.element,\n\ttext: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { IconButton } from '@material-ui/core';\nimport TextWithIcon from '../../../core/typography/TextWithIcon';\nimport LoopIcon from '@material-ui/icons/Loop';\n\nconst KeyHashes = ({ hashes }) => {\n\tconst [idx, setIdx] = useState(0);\n\n\tuseEffect(() => {\n\t\tsetIdx(0);\n\t}, [hashes]);\n\n\tconst handleClick = () => {\n\t\tsetIdx(idx + 1 >= hashes.length ? 0 : idx + 1);\n\t};\n\n\tif (hashes.length < 1) return <>;\n\treturn (\n\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t/>\n\t);\n};\n\nexport default KeyHashes;\n\nKeyHashes.propTypes = {\n\thashes: PropTypes.array.isRequired\n};\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport moment from 'moment';\nimport DateTime from '../../../core/input/DateTime';\nimport Grid from '@material-ui/core/Grid';\nimport PropTypes from 'prop-types';\nimport { useKeychainKeyCheck } from '@karpeleslab/klb-react-services';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport KeyHashes from './KeyHashes';\n\nconst Form = ({ data, setData, setIsValid, setChecking, disabled = false }) => {\n\tconst { t } = useTranslation();\n\n\tconst [hashes, setHashes] = useState(null);\n\tconst [validForm, setValidForm] = useState(false);\n\n\tconst [check, loading] = useKeychainKeyCheck();\n\n\tuseEffect(() => {\n\t\tsetChecking(loading);\n\t}, [setChecking, loading]);\n\n\tconst createChangeHandler = key => e => {\n\t\tlet toSet = { ...data, [key]: e.target.value };\n\n\t\tif (key === 'Data' && !getValue('Label')) {\n\t\t\tconst splited = toSet.Data.split(' ');\n\t\t\tif (splited.length >= 3) {\n\t\t\t\ttoSet.Label = splited[2];\n\t\t\t}\n\t\t}\n\n\t\tsetData(toSet);\n\t};\n\n\tconst getValue = (key, def = '') => {\n\t\tif (!(key in (data ?? {}))) return def;\n\t\treturn data[key];\n\t};\n\n\tconst getDateValue = (key, def = undefined) => {\n\t\tconst value = getValue(key, def);\n\t\tif (!value) return value;\n\t\tif (value instanceof moment) return value;\n\t\treturn moment(parseInt(data[key].unixms));\n\t};\n\n\tuseEffect(() => {\n\t\tsetIsValid(validForm && hashes !== 'error' && Array.isArray(hashes));\n\t}, [setIsValid, hashes, validForm]);\n\n\tuseEffect(() => {\n\t\tif (!('Data' in (data ?? {}))) {\n\t\t\tsetHashes('error');\n\n\t\t} else {\n\t\t\tcheck(data.Data, { handleError: false })\n\t\t\t\t.then(({ Hash }) => {\n\t\t\t\t\tsetHashes(Hash);\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\tsetHashes('error');\n\t\t\t\t});\n\t\t}\n\t}, [data, setHashes]);\n\n\tuseEffect(() => {\n\n\t\tif (!('Label' in (data ?? {})) || !('Data' in (data ?? {})))\n\t\t\tsetValidForm(false);\n\t\telse {\n\t\t\tsetValidForm(true);\n\n\t\t}\n\t}, [data, setValidForm]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t setData({ ...data, Expires: d })}\n\t\t\t\t\tclearable={true}\n\t\t\t\t\thelperText={t('keychain_key_expires_helperText')}\n\t\t\t\t\tfullWidth\n\t\t\t\t\tdisablePast\n\t\t\t\t/>\n\t\t\t\n\t\t\t{hashes === 'error' &&\n\t\t\t\n\t\t\t\t\n\t\t\t}\n\n\t\t\t{Array.isArray(hashes) && \n\t\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default Form;\n\nForm.propTypes = {\n\tdata: PropTypes.object.isRequired,\n\tdisabled: PropTypes.bool,\n\tsetChecking: PropTypes.func.isRequired,\n\tsetData: PropTypes.func.isRequired,\n\tsetIsValid: PropTypes.func.isRequired\n};\n","export default () => {\n\tlet dt = new Date().getTime();\n\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n\t\tlet r = (dt + Math.random() * 16) % 16 | 0;\n\t\tdt = Math.floor(dt / 16);\n\t\treturn (c === 'x' ? r : ((r & 0x3) | 0x8)).toString(16);\n\t});\n};\n\nexport const validate = (uuid, prefix= null) => {\n\tconst r1 = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;\n\tif (r1.exec(uuid) !== null) return true;\n\n\tif(prefix && !uuid.startsWith(prefix)) return false;\n\n\tconst r2 = /[a-z2-7]{6}-[a-z2-7]{4}-[a-z2-7]{4}-[a-z2-7]{4}-[a-z2-7]{8}$/;\n\treturn r2.exec(uuid) !== null;\n};\n","import React, { useEffect, useState } from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Form from './Form';\nimport moment from 'moment';\nimport Button from '../../../core/input/Button';\nimport Grid from '@material-ui/core/Grid';\nimport PropTypes from 'prop-types';\nimport { useKeychainKeyCreate } from '@karpeleslab/klb-react-services';\nimport uuid from '../../../../utils/uuid';\n\nconst CreateDialog = ({ keychain, open, setOpen, refresh, refreshing }) => {\n\tconst { t } = useTranslation();\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [data, setData] = useState({});\n\tconst [create, creating] = useKeychainKeyCreate(keychain.Keychain__);\n\tconst [isValid, setIsValid] = useState(false);\n\tconst [isChecking, setIsChecking] = useState(false);\n\tconst [formKey, setFormKey] = useState(uuid()); // Because form as an internal state, use the key to reinitialize it.\n\n\tuseEffect(() => {\n\t\tsetSaveEnabled(isValid && !isChecking);\n\t}, [isValid, isChecking, setSaveEnabled]);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleCreate = e => {\n\t\te.preventDefault();\n\t\tlet expires = null;\n\n\t\tif (data.Expires && data.Expires instanceof moment) {\n\t\t\texpires = '@' + data.Expires.unix();\n\t\t}\n\n\t\tcreate(data.Label.trim(), data.Data.trim(), expires)\n\t\t\t.then(() => refresh())\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t {\n\t\t\t\tsetFormKey(uuid());\n\t\t\t\tsetData({});\n\t\t\t}}\n\t\t>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{t('dialog_create_keychain_key_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('account_keychains_description')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('add_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default CreateDialog;\n\nCreateDialog.propTypes = {\n\tkeychain: PropTypes.object.isRequired,\n\topen: PropTypes.bool.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\trefreshing: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport DeleteDialog from './DeleteDialog';\nimport Table from '../../../core/data/table/Table';\nimport TableDefinition from '../../../core/data/table/TableDefinition';\nimport DateUtil from '../../../core/data/Date/DateUtil';\nimport Button from '../../../core/input/Button';\nimport moment from 'moment';\nimport DeleteIcon from '@material-ui/icons/DeleteForever';\nimport PropTypes from 'prop-types';\nimport { Grid, IconButton } from '@material-ui/core';\nimport Toolbar from '../../../core/typography/Toolbar';\nimport AddIcon from '@material-ui/icons/Add';\nimport CreateDialog from './CreateDialog';\nimport { formatFingerprint } from '../../../../utils/crypt';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useKeychainKeys } from '@karpeleslab/klb-react-services';\nimport KeyHashes from './KeyHashes';\n\nconst KeyTable = ({ keychain }) => {\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tconst [keys, fetch, loading] = useKeychainKeys(keychain.Keychain__);\n\tconst { t } = useTranslation();\n\n\tconst [selected, setSelected] = useState(null);\n\tconst [showDelete, setShowDelete] = useState(false);\n\tconst [showCreate, setShowCreate] = useState(false);\n\n\tconst onSelected = key => {\n\t\tsetSelected(key);\n\t\tsetShowDelete(true);\n\t};\n\n\tconst formatExpires = key => {\n\t\tconst expires = key.Expires ? moment(parseInt(key.Expires.unixms)) : null;\n\t\tif (!expires) return t('keychain_key_expires_never');\n\t\tif (expires && expires > moment()) return expires.format('LLL');\n\t\tif (expires && expires <= moment()) return t('keychain_key_expires_expired', { date: expires.format('LLL') });\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setShowCreate(true)}\n\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('add_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{key => {\n\t\t\t\t\t\t\tif (!isMobile) return key.Label;\n\t\t\t\t\t\t\treturn <>\n\t\t\t\t\t\t\t\t{key.Label}
\n\t\t\t\t\t\t\t\t{formatFingerprint(key.Fingerprint)}
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{`${t('tablecell_key_expires')}: ${formatExpires(key)}`}
\n\t\t\t\t\t\t\t\t\t onSelected(key)}\n\t\t\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\t\t\tcolor='secondary'\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t;\n\t\t\t\t\t\t}}\n\t\t\t\t\t
\n\n\t\t\t\t\t{!isMobile &&\n\t\t\t\t\t\n\t\t\t\t\t\t{key => }\n\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t{!isMobile &&\n\t\t\t\t\t\n\t\t\t\t\t\t{key => formatExpires(key)}\n\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t{!isMobile &&\n\t\t\t\t\t\n\t\t\t\t\t\t{key => }\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t{!isMobile &&\n\t\t\t\t\t\n\t\t\t\t\t\t{key =>\n\t\t\t\t\t\t\t onSelected(key)}\n\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\tcolor='secondary'\n\t\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default KeyTable;\n\nKeyTable.propTypes = {\n\tkeychain: PropTypes.object.isRequired\n};\n","export const sha1 = str => {\n\t// discuss at: https://locutus.io/php/sha1/\n\t// original by: Webtoolkit.info (https://www.webtoolkit.info/)\n\t// improved by: Michael White (https://getsprink.com)\n\t// improved by: Kevin van Zonneveld (https://kvz.io)\n\t// input by: Brett Zamir (https://brett-zamir.me)\n\t// note 1: Keep in mind that in accordance with PHP, the whole string is buffered and then\n\t// note 1: hashed. If available, we'd recommend using Node's native crypto modules directly\n\t// note 1: in a steaming fashion for faster and more efficient hashing\n\t// example 1: sha1('Kevin van Zonneveld')\n\t// returns 1: '54916d2e62f65b3afa6e192e6a601cdbe5cb5897'\n\n\tvar hash;\n\ttry {\n\t\tvar crypto = require('crypto');\n\t\tvar sha1sum = crypto.createHash('sha1');\n\t\tsha1sum.update(str);\n\t\thash = sha1sum.digest('hex');\n\t} catch (e) {\n\t\thash = undefined;\n\t}\n\n\tif (hash !== undefined) {\n\t\treturn hash;\n\t}\n\n\tvar _rotLeft = function (n, s) {\n\t\tvar t4 = (n << s) | (n >>> (32 - s));\n\t\treturn t4;\n\t};\n\n\tvar _cvtHex = function (val) {\n\t\tvar str = '';\n\t\tvar i;\n\t\tvar v;\n\n\t\tfor (i = 7; i >= 0; i--) {\n\t\t\tv = (val >>> (i * 4)) & 0x0f;\n\t\t\tstr += v.toString(16);\n\t\t}\n\t\treturn str;\n\t};\n\n\tvar blockstart;\n\tvar i, j;\n\tvar W = new Array(80);\n\tvar H0 = 0x67452301;\n\tvar H1 = 0xefcdab89;\n\tvar H2 = 0x98badcfe;\n\tvar H3 = 0x10325476;\n\tvar H4 = 0xc3d2e1f0;\n\tvar A, B, C, D, E;\n\tvar temp;\n\n\t// utf8_encode\n\tstr = unescape(encodeURIComponent(str));\n\tvar strLen = str.length;\n\n\tvar wordArray = [];\n\tfor (i = 0; i < strLen - 3; i += 4) {\n\t\tj =\n\t\t\t(str.charCodeAt(i) << 24) |\n\t\t\t(str.charCodeAt(i + 1) << 16) |\n\t\t\t(str.charCodeAt(i + 2) << 8) |\n\t\t\tstr.charCodeAt(i + 3);\n\t\twordArray.push(j);\n\t}\n\n\tswitch (strLen % 4) {\n\t\tcase 0:\n\t\t\ti = 0x080000000;\n\t\t\tbreak;\n\t\tcase 1:\n\t\t\ti = (str.charCodeAt(strLen - 1) << 24) | 0x0800000;\n\t\t\tbreak;\n\t\tcase 2:\n\t\t\ti =\n\t\t\t\t(str.charCodeAt(strLen - 2) << 24) |\n\t\t\t\t(str.charCodeAt(strLen - 1) << 16) |\n\t\t\t\t0x08000;\n\t\t\tbreak;\n\t\tcase 3:\n\t\t\ti =\n\t\t\t\t(str.charCodeAt(strLen - 3) << 24) |\n\t\t\t\t(str.charCodeAt(strLen - 2) << 16) |\n\t\t\t\t(str.charCodeAt(strLen - 1) << 8) |\n\t\t\t\t0x80;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\twordArray.push(i);\n\n\twhile (wordArray.length % 16 !== 14) {\n\t\twordArray.push(0);\n\t}\n\n\twordArray.push(strLen >>> 29);\n\twordArray.push((strLen << 3) & 0x0ffffffff);\n\n\tfor (blockstart = 0; blockstart < wordArray.length; blockstart += 16) {\n\t\tfor (i = 0; i < 16; i++) {\n\t\t\tW[i] = wordArray[blockstart + i];\n\t\t}\n\t\tfor (i = 16; i <= 79; i++) {\n\t\t\tW[i] = _rotLeft(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\t\t}\n\n\t\tA = H0;\n\t\tB = H1;\n\t\tC = H2;\n\t\tD = H3;\n\t\tE = H4;\n\n\t\tfor (i = 0; i <= 19; i++) {\n\t\t\ttemp =\n\t\t\t\t(_rotLeft(A, 5) + ((B & C) | (~B & D)) + E + W[i] + 0x5a827999) &\n\t\t\t\t0x0ffffffff;\n\t\t\tE = D;\n\t\t\tD = C;\n\t\t\tC = _rotLeft(B, 30);\n\t\t\tB = A;\n\t\t\tA = temp;\n\t\t}\n\n\t\tfor (i = 20; i <= 39; i++) {\n\t\t\ttemp =\n\t\t\t\t(_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0x6ed9eba1) & 0x0ffffffff;\n\t\t\tE = D;\n\t\t\tD = C;\n\t\t\tC = _rotLeft(B, 30);\n\t\t\tB = A;\n\t\t\tA = temp;\n\t\t}\n\n\t\tfor (i = 40; i <= 59; i++) {\n\t\t\ttemp =\n\t\t\t\t(_rotLeft(A, 5) +\n\t\t\t\t\t((B & C) | (B & D) | (C & D)) +\n\t\t\t\t\tE +\n\t\t\t\t\tW[i] +\n\t\t\t\t\t0x8f1bbcdc) &\n\t\t\t\t0x0ffffffff;\n\t\t\tE = D;\n\t\t\tD = C;\n\t\t\tC = _rotLeft(B, 30);\n\t\t\tB = A;\n\t\t\tA = temp;\n\t\t}\n\n\t\tfor (i = 60; i <= 79; i++) {\n\t\t\ttemp =\n\t\t\t\t(_rotLeft(A, 5) + (B ^ C ^ D) + E + W[i] + 0xca62c1d6) & 0x0ffffffff;\n\t\t\tE = D;\n\t\t\tD = C;\n\t\t\tC = _rotLeft(B, 30);\n\t\t\tB = A;\n\t\t\tA = temp;\n\t\t}\n\n\t\tH0 = (H0 + A) & 0x0ffffffff;\n\t\tH1 = (H1 + B) & 0x0ffffffff;\n\t\tH2 = (H2 + C) & 0x0ffffffff;\n\t\tH3 = (H3 + D) & 0x0ffffffff;\n\t\tH4 = (H4 + E) & 0x0ffffffff;\n\t}\n\n\ttemp = _cvtHex(H0) + _cvtHex(H1) + _cvtHex(H2) + _cvtHex(H3) + _cvtHex(H4);\n\treturn temp.toLowerCase();\n};\n\nexport const formatFingerprint = fingerprint => {\n\treturn fingerprint.replace(/(.{2})/g, '$1:').slice(0, -1);\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport EmptyState from './Empty';\nimport Graphic from './../../../../assets/img/404.svg';\n\nconst NotFound = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t);\n};\n\nexport default NotFound;\n","import React from 'react';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport NotFound from '../../components/core/feedback/State/NotFound';\nimport Helmet from 'react-helmet';\nimport { useTranslation } from 'react-i18next';\n\nconst PageNotFound = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{ /* https://devhints.io/html-meta */}\n\t\t\t\t{t('page_notfound_title')}\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PageNotFound;\n","import React from 'react';\nimport { Grid } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport Toolbar from '../../components/core/typography/Toolbar';\nimport { useParams } from 'react-router';\nimport PageLoader from '../../components/layout/Loader/PageLoader';\nimport UpdateForm from '../../components/common/Keychain/UpdateForm';\nimport KeyTable from '../../components/common/Keychain/Key/KeyTable';\nimport PageNotFound from '../System/PageNotFound';\nimport { getSSHKeychainRoute } from '../../components/RouteController/Factory';\nimport { useKeychain } from '@karpeleslab/klb-react-services';\n\nconst KeychainEdit = () => {\n\tconst { t } = useTranslation();\n\tconst { keychainId } = useParams();\n\tconst [keychain, refresh] = useKeychain(keychainId);\n\n\tif (!keychain) return ;\n\tif (!keychain.data) return ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default KeychainEdit;\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport { Trans, useTranslation } from 'react-i18next';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Grid from '@material-ui/core/Grid';\nimport Alert from '@material-ui/lab/Alert';\nimport HelpOutlineIcon from '@material-ui/icons/HelpOutline';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nconst Affiliate = ({ affiliate }) => {\n\tconst { t } = useTranslation();\n\tconst [referral, setReferral] = useState('');\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t(`partnership_rate_${affiliate.Type.toLowerCase()}`)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t} : undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t setReferral(e.target.value)}\n\t\t\t\t\tvariant='outlined'\n\t\t\t\t\tfullWidth\n\t\t\t\t\tinputProps={{\n\t\t\t\t\t\tmaxLength: 64,\n\t\t\t\t\t}}\n\t\t\t\t\tInputProps={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tplacement='top'\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Affiliate;\n\nAffiliate.propTypes = {\n\taffiliate: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Typography from '@material-ui/core/Typography';\nimport { Grid } from '@material-ui/core';\n\nconst AffiliatePayoutDetailsPaypal = ({ bankAccount }) => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('partnership_transfer_paypal_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{bankAccount.Meta.email}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AffiliatePayoutDetailsPaypal;\n\nAffiliatePayoutDetailsPaypal.propTypes = {\n\tbankAccount: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Typography from '@material-ui/core/Typography';\nimport { Skeleton } from '@material-ui/lab';\nimport { useMoneySwift } from '@karpeleslab/klb-react-services';\nimport { Grid } from '@material-ui/core';\n\nconst AffiliatePayoutDetailsPaypalTransfer = ({ bankAccount }) => {\n\tconst { t } = useTranslation();\n\tconst [details] = useMoneySwift(bankAccount.Meta.swift ?? bankAccount.Meta.aba, !!bankAccount.Meta.aba);\n\n\tif (!details || !details.data) {\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('partnership_transfer_bank_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{bankAccount.Meta.account_number}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('partnership_bank_info_name', { value: bankAccount.Meta.name })}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tt(`partnership_bank_info_${bankAccount.Meta.swift ? 'swift' : 'aba'}`,\n\t\t\t\t\t\t\t{ value: bankAccount.Meta.swift ?? bankAccount.Meta.aba }\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('partnership_bank_institution', {\n\t\t\t\t\t\tvalue: details.data.Institution_Name,\n\t\t\t\t\t\tcountry: details.data.Iso_Country_Code\n\t\t\t\t\t})}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AffiliatePayoutDetailsPaypalTransfer;\n\nAffiliatePayoutDetailsPaypalTransfer.propTypes = {\n\tbankAccount: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport AffiliatePayoutDetailsPaypal from './AffiliatePayoutDetailsPaypal';\nimport AffiliatePayoutDetailsTransfer from './AffiliatePayoutDetailsTransfer';\nimport { useMoneyBankAccount } from '@karpeleslab/klb-react-services';\n\nconst AffiliatePayoutDetails = ({ bankAccountId }) => {\n\tconst [bankAccount] = useMoneyBankAccount(bankAccountId);\n\n\tif (!bankAccount || !bankAccount.data)\n\t\treturn ;\n\n\tif (bankAccount.data.Meta.transfer_type === 'paypal')\n\t\treturn ;\n\n\treturn ;\n};\n\nexport default AffiliatePayoutDetails;\n\nAffiliatePayoutDetails.propTypes = {\n\tbankAccountId: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../core/input/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport { useTranslation } from 'react-i18next';\nimport AffiliatePayoutDetails from './AffiliatePayoutDetails';\n\nconst AffiliatePayoutDetailsDialog = ({ open, setOpen, moneyBankAccountId }) => {\n\tconst { t } = useTranslation();\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_payout_details_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AffiliatePayoutDetailsDialog;\n\nAffiliatePayoutDetailsDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tmoneyBankAccountId: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { useUserWalletAutos } from '@karpeleslab/klb-react-services';\nimport Grid from '@material-ui/core/Grid';\nimport { Skeleton } from '@material-ui/lab';\nimport { useTranslation } from 'react-i18next';\nimport Button from '../../../core/input/Button';\nimport AffiliatePayoutDetailsDialog from '../AffiliatePayoutDetailsDialog';\n\nconst WalletTablePayout = ({ wallet }) => {\n\tconst { t } = useTranslation();\n\n\tconst [list, fetch, loading] = useUserWalletAutos(wallet.User_Wallet__);\n\tconst [showPayoutDetails, setShowPayoutDetails] = useState(false);\n\tconst [selected, setSelected] = useState(null);\n\n\tuseEffect(() => {\n\t\t// We are not making a table but directly displaying everything\n\t\t// There will be usually 0 or 1 User Wallet Auto per wallet, so querying 100 per page is far enough\n\t\tfetch({ results_per_page: 100 });\n\t\t// eslint-disable-next-line\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{(loading || !list) && }\n\t\t\t\t{(!loading && !!list && list.data.length < 1) && t('affiliate_no_user_wallet_payout')}\n\t\t\t\t{(!loading && !!list && list.data.length > 0) &&\n\t\t\t\t\n\t\t\t\t\t{list.data.map(userWalletAuto =>\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetSelected(userWalletAuto.Money_Bank_Account__);\n\t\t\t\t\t\t\t\t\t\tsetShowPayoutDetails(true);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{userWalletAuto.Money_Bank_Account.Label}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t{/*Not really optimized as this component is called in a Table, so if will include several time the dialog,\n\t\t\t but the table itself will contains 1 entries most of the time*/}\n\t\t\t{selected && }\n\t\t\n\t);\n};\n\nexport default WalletTablePayout;\n\nWalletTablePayout.propTypes = {\n\twallet: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useUserWallets } from '@karpeleslab/klb-react-services';\nimport TableDefinition from '../../../core/data/table/TableDefinition';\nimport Table from '../../../core/data/table/Table';\nimport WalletTablePayout from './WalletTablePayout';\n\nconst WalletsTable = (props) => {\n\tconst { t } = useTranslation();\n\tconst [wallets, fetch, loading] = useUserWallets('@');\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{wallet => }\n\t\t\t\n\t\t\t\n\t\t\t\t{wallet => wallet.Balance.display}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default WalletsTable;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport { isString } from '../../../utils/misc';\n\nconst YearSelector = ({ value, setValue, interval = [-3, 0], disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [possibleValues, setPossibleValues] = useState([]);\n\n\tuseEffect(() => {\n\t\tconst now = parseInt(moment().format('YYYY'));\n\t\tlet cleanedInterval = interval;\n\t\tif(cleanedInterval.length < 1) cleanedInterval.push(0);\n\t\tif(cleanedInterval.length === 1) cleanedInterval.push(0);\n\t\tconst tmp = [];\n\n\t\tconst from = isString(cleanedInterval[0]) ? parseInt(cleanedInterval[0]) : now + cleanedInterval[0];\n\t\tconst to = isString(cleanedInterval[1]) ? parseInt(cleanedInterval[1]) : now + cleanedInterval[1];\n\n\t\tfor (let i = to; i >= from; i--) {\n\t\t\ttmp.push(i);\n\t\t}\n\n\t\tsetPossibleValues(tmp);\n\t}, [setPossibleValues]);\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tdisabled={disabled}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{possibleValues.map(v => )}\n\t\t\n\t);\n};\n\nexport default YearSelector;\n\nYearSelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\tinterval: PropTypes.number,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string\n};\n","import React, { createContext, memo, useContext, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { RestContext } from '@karpeleslab/klb-react-services';\nimport { useTranslation } from 'react-i18next';\n\nexport const SnackbarValueContext = createContext({});\nexport const SnackbarSetContext = createContext(() => {\n});\n\nconst SnackbarProvider = memo(({ setSnackbar, children }) => {\n\tconst handleSnackbarSet = (message, type = 'default') => {\n\t\tsetSnackbar({ message, type });\n\t};\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t);\n});\n\nSnackbarProvider.displayName = 'SnackbarProvider';\nSnackbarProvider.propTypes = {\n\tsetSnackbar: PropTypes.func.isRequired,\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired\n};\n\nexport const SnackbarContainer = ({ children }) => {\n\tconst { t } = useTranslation();\n\tconst [snackbar, setSnackbar] = useState({\n\t\tmessage: '',\n\t\ttype: 'default'\n\t});\n\n\tconst { setSnackMessageCallback } = useContext(RestContext);\n\n\tuseEffect(() => {\n\t\tsetSnackMessageCallback((message, type, i18n) => {\n\t\t\t// Ignore this message as now a proper modal is shown when the user's session (PR 162)\n\t\t\tif (message === 'error_login_required') return;\n\t\t\tsetSnackbar({ message: i18n ? t(message) : message, type });\n\t\t});\n\t}, [setSnackbar, setSnackMessageCallback]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t\n\t);\n};\n\n\nSnackbarContainer.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]).isRequired\n};\n","import { useContext } from 'react';\nimport { SnackbarSetContext, SnackbarValueContext } from '../context/SnackbarContext';\n\nconst useSetSnackbar = () => useContext(SnackbarSetContext);\nconst useGetSnackbar = () => useContext(SnackbarValueContext);\nconst useSnackbar = () => {\n\tconst setSnackbar = useContext(SnackbarSetContext);\n\tconst snackbar = useContext(SnackbarValueContext);\n\n\treturn {\n\t\tsetSnackbar,\n\t\tsnackbar\n\t};\n};\n\nexport {\n\tuseGetSnackbar,\n\tuseSetSnackbar,\n\tuseSnackbar\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport YearSelector from '../../core/input/YearSelector';\nimport Button from '../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport { useAffiliateExportOrder } from '@karpeleslab/klb-react-services';\nimport { rest } from '@karpeleslab/klbfw';\nimport { useSetSnackbar } from '../../../hooks/useSnackbar';\n\nconst OrdersExport = ({ affiliate }) => {\n\tconst [year, setYear] = useState(new Date().getFullYear());\n\tconst [generating, setGenerating] = useState(false);\n\tconst [generate] = useAffiliateExportOrder(affiliate.Affiliate__);\n\tconst [interval, setIntervalVar] = useState(null);\n\tconst setSnackbar = useSetSnackbar();\n\n\tconst { t } = useTranslation();\n\n\tconst handleExport = () => {\n\t\tsetGenerating(true);\n\t\tgenerate().then(j => {\n\t\t\t// This is dirty AF but we don't have realtime management stuff to handle the job so we pull it every 5 sec;\n\t\t\t// One day maybe once we will take this we will clean that\n\t\t\tconst interval = setInterval(() => {\n\t\t\t\trest(`Job/${j.Job__}`)\n\t\t\t\t\t.then(d => d.data)\n\t\t\t\t\t.then(j => {\n\t\t\t\t\t\tif (!j.Finished) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclearInterval(interval);\n\t\t\t\t\t\tsetIntervalVar(null);\n\t\t\t\t\t\tsetGenerating(false);\n\t\t\t\t\t\tsetSnackbar(t('affiliate_export_order_success'), 'success');\n\t\t\t\t\t});\n\t\t\t}, 5000);\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (!interval) return;\n\t\treturn () => clearInterval(interval);\n\t}, [interval]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('affiliate_order_export_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\n\t);\n};\n\nexport default OrdersExport;\n\nOrdersExport.propTypes = {\n\taffiliate: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Table from '../../core/data/table/Table';\nimport { useTranslation } from 'react-i18next';\nimport TableDefinition from '../../core/data/table/TableDefinition';\nimport DateUtil from '../../core/data/Date/DateUtil';\nimport { useOrders } from '@karpeleslab/klb-react-services';\nimport OrdersExport from './OrdersExport';\n\nconst PendingOrder = ({ affiliate }) => {\n\tconst { t } = useTranslation();\n\tconst [orders, fetch, loading] = useOrders();\n\n\treturn (\n\t\t\n\t\t\t]}\n\t\t>\n\t\t\t\n\t\t\t\t{order => }\n\t\t\t\n\n\t\t\t\n\n\t\t\t\n\t\t\t\t{order => order.Affiliate_Total.display ?? '-'}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PendingOrder;\n\nPendingOrder.propTypes = {\n\taffiliate: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Table from '../../core/data/table/Table';\nimport TableDefinition from '../../core/data/table/TableDefinition';\nimport DateUtil from '../../core/data/Date/DateUtil';\nimport { useMoneyBankWithdraws } from '@karpeleslab/klb-react-services';\n\nconst PendingPayout = ({ affiliate, statuses = [] }) => {\n\tconst { t } = useTranslation();\n\tconst [withdraw, fetch, loading] = useMoneyBankWithdraws();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{w => }\n\t\t\t\n\n\t\t\t\n\t\t\t\t{() => affiliate.Money_Bank_Account ? affiliate.Money_Bank_Account.Label : '-'}\n\t\t\t\n\n\t\t\t\n\t\t\t\t{w => t(`partnership_payout_status_${w.Status.toLocaleLowerCase()}`)}\n\t\t\t\n\n\t\t\t\n\t\t\t\t{w => w.Amount.display ?? '-'}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PendingPayout;\n\nPendingPayout.propTypes = {\n\taffiliate: PropTypes.object.isRequired,\n\tstatuses: PropTypes.array\n};\n","import React, { useState } from 'react';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport PageTitle from '../../components/core/typography/PageTitle';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport Affiliate from '../../components/common/Affiliate/Affiliate';\nimport WalletsTable from '../../components/common/Affiliate/Wallet/WalletsTable';\nimport PageLoader from '../../components/layout/Loader/PageLoader';\nimport Tabs from '@material-ui/core/Tabs';\nimport Tab from '@material-ui/core/Tab';\nimport Panel from '../../components/layout/Container/tab/Panel';\nimport PendingOrder from '../../components/common/Affiliate/PendingOrder';\nimport PendingPayout from '../../components/common/Affiliate/PendingPayout';\nimport PageNotFound from '../System/PageNotFound';\nimport { useAffiliate } from '@karpeleslab/klb-react-services';\n\nconst TRANSFER_TAB_ORDER_PENDING = 0;\nconst TRANSFER_TAB_BANK_PENDING = 1;\n\nconst Partnership = () => {\n\tconst { t } = useTranslation();\n\tconst [affiliate] = useAffiliate('@');\n\tconst [transferTab, setTransferTab] = useState(TRANSFER_TAB_ORDER_PENDING);\n\n\tconst handleTabChange = (event, newValue) => {\n\t\tsetTransferTab(newValue);\n\t};\n\n\tif (!affiliate) return ;\n\tif (!affiliate.data) return ;\n\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{affiliate.data.Payout_Method === 'transfer' &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{affiliate.data.Payout_Method === 'transfer' &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Partnership;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport PropTypes from 'prop-types';\nimport DateUtil from '../../../core/data/Date/DateUtil';\n\nconst useStyles = makeStyles(() => ({\n\tcard: {\n\t\twhiteSpace: 'pre-wrap',\n\t\theight: '100%'\n\t}\n}));\n\n\nconst OrderInfo = ({ order, elevation = 0 }) => {\n\tconst classes = useStyles();\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('details')}\n\t\t\t\t\n\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('order_payment_status')}:\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\torder &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('order_status_' + order.Status)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{!order && }\n\t\t\t\t\t\n\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('label_order_date')}:\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\torder && }\n\t\t\t\t\t\t{!order && }\n\t\t\t\t\t\n\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('label_paid_date')}:\n\t\t\t\t\t\n\n\n\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\torder && \n\t\t\t\t\t\t}\n\t\t\t\t\t\t{!order && }\n\t\t\t\t\t\n\n\t\t\t\t
\n\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OrderInfo;\n\nOrderInfo.propTypes = {\n\televation: PropTypes.number,\n\torder: PropTypes.number\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst OrderPaymentMethod = ({ order }) => {\n\treturn (\n\t\t\n\t\t\t{(order.Payment_Method && order.Payment_Class) && order.Payment_Method + ' - ' + order.Payment_Class}\n\t\t\t{(!order.Payment_Method && order.Payment_Class) && order.Payment_Class}\n\t\t\t{(order.Payment_Method && !order.Payment_Class) && order.Payment_Method}\n\t\t\n\t);\n};\n\nexport default OrderPaymentMethod;\n\nOrderPaymentMethod.propTypes = {\n\torder: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { useTranslation } from 'react-i18next';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Grid from '@material-ui/core/Grid';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport Card from '@material-ui/core/Card';\nimport OrderPaymentMethod from './OrderPaymentMethod';\nimport PropTypes from 'prop-types';\n\n\nconst useStyles = makeStyles(() => ({\n\tcard: {\n\t\twhiteSpace: 'pre-wrap',\n\t\theight: '100%'\n\t}\n}));\n\n\nconst OrderPaymentInfo = ({ order, elevation = 0 }) => {\n\tconst classes = useStyles();\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('order_payment_info')}\n\t\t\t\t\n\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('order_payment_method')}:\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\torder &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{!order && }\n\t\t\t\t\t\n\n\n\t\t\t\t\t{(order && order.Payment_Last4) &&\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('order_payment_card')}:\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{`${order.Payment_Method}⋯${order.Payment_Last4}`}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t
\n\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OrderPaymentInfo;\n\nOrderPaymentInfo.propTypes = {\n\televation: PropTypes.number,\n\torder: PropTypes.object\n};\n","import React from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport PhoneIcon from '@material-ui/icons/Phone';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles(() => ({\n\tcard: {\n\t\twhiteSpace: 'pre-wrap',\n\t\theight: '100%'\n\t}\n}));\n\nconst UserLocation = ({ title, address, elevation = 0 }) => {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{title}\n\n\t\t\t\t{!address && }\n\t\t\t\t{\n\t\t\t\t\taddress &&\n\t\t\t\t\t\n\t\t\t\t\t\t{address.Display.join('\\n')}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t{\n\t\t\t\t\t(address && address.Contact_Phone) &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{address.Contact_Phone}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default UserLocation;\n\nUserLocation.propTypes = {\n\taddress: PropTypes.bool,\n\televation: PropTypes.number,\n\ttitle: PropTypes.string\n};\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport Table from '@material-ui/core/Table';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableBody from '@material-ui/core/TableBody';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport Paper from '@material-ui/core/Paper';\nimport PropTypes from 'prop-types';\n\nconst OrderTable = ({ order, elevation = 0 }) => {\n\tconst [rowSpan, setRowSpan] = useState(3);\n\tconst { t } = useTranslation();\n\tuseEffect(() => {\n\t\tif (!order) return;\n\t\tlet c = 3;\n\t\tif (parseInt(order.Subtotals.shipping.value_int)) c += 1;\n\t\tif (parseInt(order.Subtotals.discount.value_int)) c += 1;\n\n\t\tsetRowSpan(c);\n\n\t}, [order]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('details')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('order_detail_price')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('order_detail_description')}\n\t\t\t\t\t\t\t{t('order_detail_quantity')}\n\t\t\t\t\t\t\t{t('order_detail_unit')}\n\t\t\t\t\t\t\t{t('order_detail_sum')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{order && order.Items.map(row => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{row.Catalog_Product['Basic.Name']}\n\t\t\t\t\t\t\t\t{row.Quantity}\n\t\t\t\t\t\t\t\t{row.Price.display}\n\t\t\t\t\t\t\t\t{row.Full_Price.display}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t!order &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('order_detail_subtotal')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{order && order.Total.display}\n\t\t\t\t\t\t\t\t{!order && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t(order && parseInt(order.Subtotals.shipping.value_int) !== 0) &&\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('order_detail_shipping')}\n\t\t\t\t\t\t\t\t{order.Subtotals.shipping.display}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('order_detail_tax')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{order && order.Vat_Rate + '%'}\n\t\t\t\t\t\t\t\t{!order && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{order && order.Vat_Amount.display}\n\t\t\t\t\t\t\t\t{!order && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t(order && parseInt(order.Subtotals.discount.value_int) !== 0) &&\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('order_detail_discount')}\n\t\t\t\t\t\t\t\t{order.Subtotals.discount.display}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('order_detail_total')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{order && order.Total_Vat.display}\n\t\t\t\t\t\t\t\t{!order && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default OrderTable;\n\nOrderTable.propTypes = {\n\televation: PropTypes.number,\n\torder: PropTypes.object\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Tab from '@material-ui/core/Tab';\nimport { useTranslation } from 'react-i18next';\n\nconst PaymentMethodTab = ({ method, ...rest }) => {\n\tconst { t } = useTranslation();\n\n\tswitch (method) {\n\t\tcase 'Bitpay':\n\t\tcase 'Free':\n\t\tcase 'OnFile':\n\t\tcase 'Wallet':\n\t\tcase 'Stripe':\n\t\tcase 'Paypal':\n\t\t\treturn ;\n\t\tdefault:\n\t\t\treturn null;\n\t}\n};\n\nexport default PaymentMethodTab;\n\nPaymentMethodTab.propTypes = {\n\tdisabled: PropTypes.bool.isRequired,\n\tmethod: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useOrderProcess } from '@karpeleslab/klb-react-services';\nimport Grid from '@material-ui/core/Grid';\nimport Button from '../../../../../core/input/Button';\nimport { useSetSnackbar } from '../../../../../../hooks/useSnackbar';\nimport RichAlertTrans from '../../../../../core/feedback/RichAlertTrans';\n\nconst Bitpay = ({ order, settings, setPaying, refreshOrder, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\n\tconst [processOrder] = useOrderProcess(order.Order__);\n\n\t// Setting the bitpay script will set this var\n\tconst [loading, setLoading] = useState(!!window.bitpay_loading);\n\n\tconst setSnackbar = useSetSnackbar();\n\n\tconst bitpayListenerCallback = useCallback((e) => {\n\t\tif (e.data.status !== 'paid') return;\n\n\t\twindow.removeEventListener('message', bitpayListenerCallback);\n\t\t// Doing so will refresh the order data\n\t\t// handleError: false because bitpay is crap\n\t\tprocessOrder(settings.session, settings.method, {}, { snackMessageToken: 'order_paid', handleError: false })\n\t\t\t.then(d => refreshOrder(d.order));\n\t}, []);\n\n\tconst loadBitpayScript = (src, onLoad) => {\n\t\tconst existing = document.getElementById('bitpay-script');\n\t\tif (existing) {\n\t\t\tdelete window.bitpay;\n\t\t\texisting.remove();\n\t\t}\n\n\t\tconst scriptEl = document.createElement('script');\n\t\tscriptEl.setAttribute('id', 'bitpay-script');\n\t\tscriptEl.async = false;\n\t\tscriptEl.src = src;\n\t\tscriptEl.onload = onLoad;\n\t\tdocument.body.appendChild(scriptEl);\n\t};\n\n\tconst resetScript = useCallback(() => {\n\t\tconst existing = document.getElementById('bitpay-script');\n\t\tif (existing) {\n\t\t\tdelete window.bitpay;\n\t\t\texisting.remove();\n\t\t}\n\t\twindow.dispatchEvent(new CustomEvent('loadingChange', { detail: false }));\n\t}, []);\n\n\n\tconst init = async () => {\n\t\tconst process = await processOrder(settings.session, settings.method, {}, { handleError: false });\n\n\t\tif (!process) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst js = process.methods.Bitpay.fields._javascript;\n\t\tconst invoiceId = process.methods.Bitpay.fields.Bitpay_Invoice_Id;\n\n\t\tif (!js) {\n\t\t\treturn false;\n\t\t}\n\n\t\tloadBitpayScript(js, () => {\n\t\t\tif (process) refreshOrder(process.order);\n\n\t\t\twindow.dispatchEvent(new CustomEvent('loadingChange', { detail: true }));\n\t\t\twindow.bitpay.showInvoice(invoiceId);\n\t\t\twindow.bitpay.onModalWillLeave(resetScript);\n\t\t});\n\n\t\treturn true;\n\t};\n\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined' || order.Status === 'pending') {\n\t\t\treturn;\n\t\t}\n\t\t// Bitpay is sometimes crap and the event 'message' is not trigger\n\t\t// So we use an active pulling just in case to check if the order is paid\n\t\tconst interval = setInterval(() => {\n\t\t\t// handleError: false because bitpay is crap\n\t\t\tprocessOrder(settings.session, settings.method, {}, { handleError: false })\n\t\t\t\t.then(process => {\n\t\t\t\t\tif (!process.order.Paid) return;\n\t\t\t\t\t// We need to set the confirmation message manually\n\t\t\t\t\tsetSnackbar(t('order_paid'), 'success');\n\t\t\t\t\trefreshOrder(process.order);\n\t\t\t\t});\n\t\t}, 60 * 1000);\n\n\t\treturn () => {\n\t\t\tclearInterval(interval);\n\t\t};\n\t}, [order]);\n\n\t// Listen for bitpay events\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined')\n\t\t\treturn;\n\n\t\twindow.addEventListener('message', bitpayListenerCallback);\n\n\t\treturn () => {\n\t\t\twindow.removeEventListener('message', bitpayListenerCallback);\n\t\t};\n\t}, [bitpayListenerCallback]);\n\n\tconst handleLoading = useCallback(event => {\n\t\twindow.bitpay_loading = event.detail;\n\t\tsetLoading(event.detail);\n\t}, []);\n\n\tuseEffect(() => {\n\t\twindow.addEventListener('loadingChange', handleLoading);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('loadingChange', handleLoading);\n\t\t};\n\n\t}, []);\n\n\n\t// The button is only use the first time, when the payment method hasn't been set\n\tconst handleProcess = async () => {\n\t\tif (typeof window === 'undefined') return;\n\n\t\t// We simply at maximum the process, always reload bitpay completely,\n\t\t// It will be slower, but if will simplify A LOT the process\n\t\tsetPaying(true); // Will block all other payment method\n\n\t\twindow.dispatchEvent(new CustomEvent('loadingChange', { detail: true }));\n\n\t\tconst result = await init();\n\t\tif (!result) {\n\t\t\tsetPaying(false);\n\t\t\twindow.dispatchEvent(new CustomEvent('loadingChange', { detail: false }));\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!setDialogActions) return;\n\t\tsetDialogActions((\n\t\t\t\n\t\t\t\t{t(order.Status !== 'pending' ? 'continue_with_bitpay_btn' : 'checkout_with_bitpay_btn')}\n\t\t\t\n\t\t));\n\t}, [setDialogActions, loading, order]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{order.Status !== 'pending' &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t{order.Status === 'pending' &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t{!setDialogActions && \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(order.Status !== 'pending' ? 'continue_with_bitpay_btn' : 'checkout_with_bitpay_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Bitpay;\n\nBitpay.propTypes = {\n\trefreshOrder: PropTypes.func.isRequired,\n\tsetPaying: PropTypes.func.isRequired,\n\tsettings: PropTypes.object.isRequired,\n\torder: PropTypes.object.isRequired,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useOrderProcess } from '@karpeleslab/klb-react-services';\nimport Grid from '@material-ui/core/Grid';\nimport { Typography } from '@material-ui/core';\nimport Button from '../../../../../core/input/Button';\n\nconst Free = ({ order, settings, setPaying, refreshOrder, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\n\tconst [processOrder, processingOrder] = useOrderProcess(order.Order__);\n\n\tuseEffect(() => {\n\t\tsetPaying(processingOrder);\n\t}, [processingOrder]);\n\n\tconst handleProcess = () => {\n\t\tprocessOrder(settings.session, settings.method, {}, { snackMessageToken: 'order_paid' })\n\t\t\t.then(d => refreshOrder(d.order));\n\t};\n\n\tuseEffect(() => {\n\t\tif (!setDialogActions) return;\n\t\tsetDialogActions((\n\t\t\t\n\t\t\t\t{t('free_order_btn')}\n\t\t\t\n\t\t));\n\n\t}, [setDialogActions, processingOrder]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('free_order_text')}\n\t\t\t\n\t\t\t{!setDialogActions && \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('free_order_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default Free;\n\nFree.propTypes = {\n\trefreshOrder: PropTypes.func.isRequired,\n\tsetPaying: PropTypes.func.isRequired,\n\tsettings: PropTypes.object.isRequired,\n\torder: PropTypes.object.isRequired,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useOrderProcess } from '@karpeleslab/klb-react-services';\nimport { Grid } from '@material-ui/core';\nimport Button from '../../../../../core/input/Button';\nimport TextField from '@material-ui/core/TextField';\n\nconst OnFile = ({ order, settings, setPaying, refreshOrder, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\tconst [selected, setSelected] = useState();\n\n\tconst [processOrder, processingOrder] = useOrderProcess(order.Order__);\n\n\tuseEffect(() => {\n\t\tsetPaying(processingOrder);\n\t}, [processingOrder]);\n\n\tuseEffect(() => {\n\t\tconst billings = settings.fields.user_billing.values;\n\t\tconst billingId = billings.length > 0 ? billings[0].User_Billing__ : null;\n\t\tsetSelected(billingId);\n\t}, [settings, setSelected]);\n\n\tconst handleProcess = () => {\n\t\tprocessOrder(settings.session, settings.method, { user_billing: selected }, { snackMessageToken: 'order_paid' })\n\t\t\t.then(d => refreshOrder(d.order));\n\t};\n\n\tuseEffect(() => {\n\t\tif (!setDialogActions) return;\n\t\tsetDialogActions((\n\t\t\t\n\t\t\t\t{t('onfile_checkout_btn')}\n\t\t\t\n\t\t));\n\t}, [setDialogActions, processingOrder, selected]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setSelected(e.target.value)}\n\t\t\t\t\tdisabled={processingOrder}\n\t\t\t\t\tSelectProps={{\n\t\t\t\t\t\tnative: true\n\t\t\t\t\t}}\n\t\t\t\t\tinputProps={{\n\t\t\t\t\t\tid: 'billing-select'\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\n\t\t\t{!setDialogActions && \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('onfile_checkout_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default OnFile;\n\nOnFile.propTypes = {\n\trefreshOrder: PropTypes.func.isRequired,\n\tsetPaying: PropTypes.func.isRequired,\n\tsettings: PropTypes.object.isRequired,\n\torder: PropTypes.object.isRequired,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { useOrderProcess } from '@karpeleslab/klb-react-services';\nimport { Grid } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport Alert from '@material-ui/lab/Alert';\nimport Button from '../../../../../core/input/Button';\n\nconst Wallet = ({ order, settings, setPaying, refreshOrder, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\n\tconst [processOrder, processingOrder] = useOrderProcess(order.Order__);\n\n\tuseEffect(() => {\n\t\tsetPaying(processingOrder);\n\t}, [processingOrder]);\n\n\tconst handleProcess = () => {\n\t\tprocessOrder(settings.session, settings.method, {}, { snackMessageToken: 'order_paid' })\n\t\t\t.then(d => refreshOrder(d.order));\n\t};\n\n\tuseEffect(() => {\n\t\tif (!setDialogActions) return;\n\n\t\tsetDialogActions((\n\t\t\t\n\t\t\t\t{t('wallet_checkout_btn')}\n\t\t\t\n\t\t));\n\t}, [setDialogActions, processingOrder]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('wallet_balance', { balance: settings.fields.Wallet.Balance.display })}\n\t\t\t\t\n\t\t\t\n\t\t\t{!setDialogActions && \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('wallet_checkout_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default Wallet;\n\nWallet.propTypes = {\n\trefreshOrder: PropTypes.func.isRequired,\n\tsetPaying: PropTypes.func.isRequired,\n\tsettings: PropTypes.object.isRequired,\n\torder: PropTypes.object.isRequired,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import React, {useEffect,} from 'react';\nimport {PaymentElement, useElements, useStripe} from '@stripe/react-stripe-js';\nimport PropTypes from 'prop-types';\n\n\nexport default function StripeIntent({setStripe, setStripeElements, onChange}) {\n\tconst stripe = useStripe();\n\tconst stripeElements = useElements();\n\n\tuseEffect(() => {\n\t\tsetStripe(stripe);\n\t\tsetStripeElements(stripeElements);\n\t}, [setStripe, setStripeElements, stripe, stripeElements]);\n\n\tconst paymentElementOptions = {\n\t\tlayout: 'tabs'\n\t};\n\n\treturn (\n\t\t\n\t);\n}\n\nStripeIntent.propTypes = {\n\tonChange: PropTypes.func.isRequired,\n\tsetStripe: PropTypes.func.isRequired,\n\tsetStripeElements: PropTypes.func.isRequired,\n};\n","import PropTypes from 'prop-types';\nimport React, {useEffect, useState} from 'react';\nimport {loadStripe} from '@stripe/stripe-js';\nimport {Elements} from '@stripe/react-stripe-js';\nimport Loader from '../../../layout/Loader/Loader';\nimport {rest} from '@karpeleslab/klbfw';\nimport StripeIntent from './StripeIntent';\n\nlet stripePromise = null;\nconst initStripe = (token, account_id = undefined) => {\n\n\tif (!stripePromise) {\n\t\tconst options = account_id ? {stripeAccount: account_id} : undefined;\n\t\tstripePromise = loadStripe(token, options);\n\t}\n\treturn stripePromise;\n};\n\nconst Stripe = ({setStripe, setStripeElements, onChange, settings = null, setIntent = null}) => {\n\tconst [stripePromise, setStripePromise] = useState(null);\n\tconst [paymentInfo, setPaymentInfo] = useState(settings);\n\tconst [clientSecret, setClientSecret] = useState('');\n\n\tuseEffect(() => {\n\t\tif (settings) return;\n\n\t\tPromise.all([\n\t\t\trest('Realm/PaymentMethod:setup', 'POST', {method: 'stripe'}),\n\t\t\trest('Order/Payment:methodInfo', 'GET', {method: 'stripe'})\n\t\t]).then(d => {\n\t\t\tconst intentResult = d[0].data;\n\t\t\tconst infoResult = d[1].data;\n\t\t\tif (setIntent) {\n\t\t\t\tsetIntent(intentResult.Setup);\n\t\t\t}\n\t\t\tsetPaymentInfo({\n\t\t\t\tstripe_intent: {attributes: {client_secret: intentResult.Setup.client_secret}},\n\t\t\t\tcc_token: infoResult.Fields.cc_token\n\t\t\t});\n\t\t});\n\t}, [setPaymentInfo, settings, setIntent]);\n\n\tuseEffect(() => {\n\t\tif (!paymentInfo) return;\n\t\tsetClientSecret(paymentInfo.stripe_intent.attributes.client_secret);\n\t\tsetStripePromise(initStripe(paymentInfo.cc_token.attributes.key, paymentInfo.cc_token.attributes.options.stripe_account));\n\t}, [paymentInfo, setStripePromise]);\n\n\tif (!stripePromise || !clientSecret) return ;\n\n\tconst appearance = {\n\t\ttheme: 'stripe',\n\t};\n\n\tconst options = {\n\t\tclientSecret,\n\t\tappearance,\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Stripe;\nStripe.propTypes = {\n\tsettings: PropTypes.object,\n\tsetIntent: PropTypes.func,\n\tonChange: PropTypes.func.isRequired,\n\tsetStripe: PropTypes.func.isRequired,\n\tsetStripeElements: PropTypes.func.isRequired,\n\tspacing: PropTypes.number\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { useOrderProcess } from '@karpeleslab/klb-react-services';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport Alert from '@material-ui/lab/Alert';\nimport Button from '../../../../../core/input/Button';\nimport StripeForm from '../../../../../core/input/Stripe/Stripe';\nimport {getOrderViewRoute} \t\t\t from '../../../../../RouteController/Factory';\n\nconst Stripe = ({ order, settings, setPaying, refreshOrder, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\n\tconst [processingOrder, setProcessingOrder] = useState(false);\n\tconst [processOrder] = useOrderProcess(order.Order__);\n\n\tconst [stripe, setStripe] = useState(null);\n\tconst [stripeElements, setStripeElements] = useState(null);\n\tconst [stripeError, setStripeError] = useState(null);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\n\n\tuseEffect(() => {\n\t\tif (!stripe) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst clientSecret = new URLSearchParams(window.location.search).get('payment_intent_client_secret');\n\n\t\tif (!clientSecret) {\n\t\t\treturn;\n\t\t}\n\n\t\tstripe.retrievePaymentIntent(clientSecret).then(({paymentIntent}) => {\n\t\t\tswitch (paymentIntent.status) {\n\t\t\t\tcase 'succeeded':\n\t\t\t\t\tprocessOrder(settings.session, settings.method, {stripe_intent: 1})\n\t\t\t\t\t\t.then(d => {\n\t\t\t\t\t\t\tsetProcessingOrder(false);\n\t\t\t\t\t\t\trefreshOrder(d.order);\n\t\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'processing':\n\t\t\t\t\tsetStripeError(t('payment_processing'));\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'requires_payment_method':\n\t\t\t\t\tsetStripeError(t('requires_payment_method'));\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsetStripeError(t('unexpected_error'));\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\t\t// eslint-disable-next-line\n\t}, [stripe, setStripeError, processOrder, setProcessingOrder]);\n\n\n\n\tuseEffect(() => {\n\t\tsetPaying(processingOrder);\n\t}, [processingOrder]);\n\n\tconst onStripeChange = e => {\n\t\tsetSaveEnabled(e.complete === true);\n\t};\n\n\tconst handleProcess = async () => {\n\t\tif (!stripe || !stripeElements)\n\t\t\treturn; // stripe not loaded yet\n\n\t\tsetProcessingOrder(true);\n\n\t\tconst result = await stripe.confirmPayment({\n\t\t\telements: stripeElements,\n\t\t\tredirect: 'if_required',\n\t\t\tconfirmParams: {\n\t\t\t\t//setup_future_usage: ccRemember ? 'off_session' : undefined,\n\t\t\t\tpayment_method_data: {\n\t\t\t\t\tbilling_details: {\n\t\t\t\t\t\tname: `${order.Billing_User_Location.First_Name} ${order.Billing_User_Location.Last_Name}`,\n\t\t\t\t\t\temail: order.User.Email,\n\t\t\t\t\t\taddress: {\n\t\t\t\t\t\t\tcountry: order.Billing_User_Location.Country__,\n\t\t\t\t\t\t\tpostal_code: order.Billing_User_Location.Zip,\n\t\t\t\t\t\t\tstate: order.Billing_User_Location.Province ? order.Billing_User_Location.Province : '',\n\t\t\t\t\t\t\tcity: order.Billing_User_Location.City ? order.Billing_User_Location.City : '',\n\t\t\t\t\t\t\tline1: order.Billing_User_Location.Address ? order.Billing_User_Location.Address : '',\n\t\t\t\t\t\t\tline2: order.Billing_User_Location.Address2 ? order.Billing_User_Location.Address2 : '',\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}, // Make sure to change this to your payment completion page\n\t\t\t\treturn_url: `https://${window.location.host}${getOrderViewRoute(order.Order__)}`,\n\t\t\t},\n\t\t});\n\n\t\tif (result.error) {\n\t\t\tif (result.error.type === 'card_error' || result.error.type === 'validation_error') {\n\t\t\t\tsetStripeError(result.error.message);\n\t\t\t} else {\n\t\t\t\tsetStripeError(t('unexpected_error'));\n\t\t\t}\n\n\t\t\tsetProcessingOrder(false);\n\t\t\treturn;\n\t\t}\n\n\t\tprocessOrder(settings.session, settings.method, {stripe_intent: 1})\n\t\t\t.then(d => {\n\t\t\t\tsetProcessingOrder(false);\n\t\t\t\trefreshOrder(d.order);\n\t\t\t}).finally(() => {\n\t\t\t\tsetProcessingOrder(false);\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (!setDialogActions) return;\n\t\tsetDialogActions((\n\t\t\t\n\t\t\t\t{t('purchase_btn')}\n\t\t\t\n\t\t));\n\n\t}, [setDialogActions, processingOrder, stripe, stripeElements, saveEnabled]);\n\n\treturn (\n\t\t\n\t\t\t{stripeError && \n\t\t\t\t\n\t\t\t\t\t{stripeError}\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t{!setDialogActions && \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('purchase_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default Stripe;\n\nStripe.propTypes = {\n\trefreshOrder: PropTypes.func.isRequired,\n\tsetPaying: PropTypes.func.isRequired,\n\tsettings: PropTypes.object.isRequired,\n\torder: PropTypes.object.isRequired,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { FUNDING, PayPalButtons, usePayPalScriptReducer } from '@paypal/react-paypal-js';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { useTranslation } from 'react-i18next';\n\nconst Buttons = ({ order, onApproved, onError = undefined, disabled = false, onCancel = undefined, onLoadFailed, fundingSource = FUNDING.PAYPAL }) => {\n\tconst { t } = useTranslation();\n\n\tconst [{ isPending, isRejected }] = usePayPalScriptReducer();\n\n\n\tuseEffect(() => {\n\t\tif (!isRejected) return;\n\t\tonLoadFailed();\n\t}, [isRejected]);\n\n\tif (isPending) return ;\n\tif (isRejected) return t('paypal_load_failed_label');\n\n\treturn (\n\t\t actions.order.create(order) : undefined}\n\t\t\tonApprove={(data) => {\n\t\t\t\tonApproved(data);\n\t\t\t\t//return actions.order.capture().then(onComplete);\n\t\t\t}}\n\t\t\tonCancel={onCancel}\n\t\t\tonError={onError}\n\t\t/>\n\t);\n};\n\nexport default Buttons;\n\nButtons.propTypes = {\n\tdisabled: PropTypes.bool,\n\tfundingSource: PropTypes.oneOf([Object.values(FUNDING)]),\n\tonCancel: PropTypes.func,\n\tonApproved: PropTypes.func.isRequired,\n\tonError: PropTypes.func,\n\tonLoadFailed: PropTypes.func,\n\torder: PropTypes.object.isRequired\n};\n","import React, { useCallback } from 'react';\nimport { FUNDING, PayPalScriptProvider } from '@paypal/react-paypal-js';\nimport Buttons from './Buttons';\nimport PropTypes from 'prop-types';\nimport { useSetSnackbar } from '../../../../hooks/useSnackbar';\nimport { useTranslation } from 'react-i18next';\n\nconst Paypal = ({ clientId, order, onApproved, style = {}, disabled = false, onOrderCanceled = undefined, fundingSource = FUNDING.PAYPAL }) => {\n\tconst { t } = useTranslation();\n\tconst setSnackbar = useSetSnackbar();\n\n\tconst handleLoadFailed = useCallback(() => {\n\t\tsetSnackbar(t('paypal_load_failed_alert'), 'error');\n\t}, []);\n\n\tconst handlePaymentCanceled = useCallback(() => {\n\t\tif (onOrderCanceled) onOrderCanceled();\n\t}, []);\n\n\tconst handlePaymentError = useCallback(() => {\n\t\tsetSnackbar(t('paypal_error_alert'), 'error');\n\t\tif (onOrderCanceled) onOrderCanceled();\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Paypal;\n\nPaypal.propTypes = {\n\tclientId: PropTypes.string.isRequired,\n\tdisabled: PropTypes.bool,\n\tfundingSource: PropTypes.oneOf([Object.values(FUNDING)]),\n\tonApproved: PropTypes.func.isRequired,\n\tonOrderCanceled: PropTypes.func,\n\torder: PropTypes.object.isRequired,\n\tstyle: PropTypes.object\n};\n","import React, { useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport PaypalPayment from '../../../../../core/input/Paypal/Paypal';\nimport Grid from '@material-ui/core/Grid';\nimport RichAlertTrans from '../../../../../core/feedback/RichAlertTrans';\nimport { useOrderProcess } from '@karpeleslab/klb-react-services';\nimport Button from '../../../../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\n\nconst Paypal = ({ order, setPaying, settings, refreshOrder, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\n\tconst [processOrder, processing] = useOrderProcess(order.Order__);\n\n\tconst handleComplete = useCallback((data) => {\n\t\tprocessOrder(\n\t\t\tsettings.session,\n\t\t\tsettings.method,\n\t\t\t{ order_id: data.orderID }\n\t\t\t, { snackMessageToken: 'order_paid', handleError: false })\n\t\t\t.then(d => refreshOrder(d.order));\n\t}, []);\n\n\tuseEffect(() => {\n\t\tsetPaying(processing);\n\t}, [setPaying, processing]);\n\n\tuseEffect(() => {\n\t\tif (!setDialogActions) return;\n\t\tif (processing) {\n\t\t\tsetDialogActions(\n\t\t\t\t\n\t\t\t\t\t{t('processing_order_btn')}\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\tsetDialogActions(\n\t\t\t\t);\n\t\t}\n\n\t}, [setDialogActions, processing]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{(!setDialogActions && !processing) && \n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\t{(!setDialogActions && processing) && \n\t\t\t\t\n\t\t\t\t\t{t('processing_order_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default Paypal;\n\nPaypal.propTypes = {\n\torder: PropTypes.object.isRequired,\n\trefreshOrder: PropTypes.func.isRequired,\n\tsetDialogActions: PropTypes.func,\n\tsetPaying: PropTypes.func.isRequired,\n\tsettings: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport Panel from '../../../../layout/Container/tab/Panel';\nimport Bitpay from './Methods/Bitpay';\nimport Free from './Methods/Free';\nimport OnFile from './Methods/OnFile';\nimport Wallet from './Methods/Wallet';\nimport Stripe from './Methods/Stripe';\nimport Paypal from './Methods/Paypal';\n\nconst PaymentMethodContent = ({ order, selectedPaymentMethod, method, methodData, setPaying, refreshOrder, setDialogActions = null }) => {\n\tconst [component, setComponent] = useState(null);\n\n\tuseEffect(() => {\n\t\tswitch (method) {\n\t\t\tcase 'Bitpay':\n\t\t\t\tsetComponent(\n\t\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Free':\n\t\t\t\tsetComponent(\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'OnFile':\n\t\t\t\tsetComponent(\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Wallet':\n\t\t\t\tsetComponent(\n\t\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Stripe':\n\t\t\t\tsetComponent(\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'Paypal':\n\t\t\t\tsetComponent(\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn <>;\n\t\t}\n\n\t}, [setComponent, methodData]);\n\n\tif (!component) return <>;\n\n\treturn (\n\t\t\n\t\t\t{component}\n\t\t\n\t);\n};\n\nexport default PaymentMethodContent;\n\nPaymentMethodContent.propTypes = {\n\tmethod: PropTypes.string.isRequired,\n\tmethodData: PropTypes.object.isRequired,\n\torder: PropTypes.object.isRequired,\n\tselectedPaymentMethod: PropTypes.string.isRequired,\n\tsetPaying: PropTypes.func.isRequired,\n\trefreshOrder: PropTypes.func.isRequired,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../../core/typography/Title';\nimport { useTranslation } from 'react-i18next';\nimport { useOrderProcess } from '@karpeleslab/klb-react-services';\nimport Loader from '../../../../layout/Loader/Loader';\nimport Tabs from '@material-ui/core/Tabs';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport PaymentMethodTab from './PaymentMethodTab';\nimport PaymentMethodContent from './PaymentMethodContent';\n\nconst OrderPayments = ({ order, refresh, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\tconst [processOrder, processingOrder] = useOrderProcess(order.Order__);\n\tconst [processResult, setProcessResult] = useState(null);\n\n\tconst [paying, setPaying] = useState(false);\n\n\tconst [paymentMethod, setPaymentMethod] = useState();\n\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tconst handleTabChange = (event, newValue) => {\n\t\tsetPaymentMethod(newValue);\n\t};\n\n\tuseEffect(() => {\n\t\tprocessOrder().then(setProcessResult);\n\t}, [processOrder, setProcessResult]);\n\n\n\tuseEffect(() => {\n\t\tif (paymentMethod || !processResult) return;\n\n\t\tconst clientSecret = new URLSearchParams(window.location.search).get('payment_intent_client_secret');\n\n\t\tif (clientSecret) {\n\t\t\t// If we are redirected to the order page from stripe, select the stripe payment method;\n\t\t\tsetPaymentMethod('Stripe');\n\t\t\treturn;\n\t\t}\n\n\t\t// Select default payment method\n\t\tif (processResult.methods_order.includes('OnFile')) {\n\t\t\tsetPaymentMethod('OnFile');\n\t\t} else {\n\t\t\tsetPaymentMethod(processResult.methods_order[0]);\n\t\t}\n\t}, [processResult, setPaymentMethod]);\n\n\tif (processingOrder || !processResult) {\n\t\treturn (\n\t\t\t\n\t\t\t\t \n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('order_payment_methods')}\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{processResult.methods_order.map(method => )}\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t{processResult.methods_order.map(method => )}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OrderPayments;\n\nOrderPayments.propTypes = {\n\torder: PropTypes.object.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\nconst MIN_REFRESH_INTERVAL = 30 * 1000; // minimum 30 seconds between refresh;\nconst BACKGROUND_INTERVAL_REFRESH = 60 * 1000 * 30; // Background refresh every 30 minutes;\n\nexport const useAutoRefresher = (refresh, backGroundRefresh = BACKGROUND_INTERVAL_REFRESH) => {\n\tconst timeoutId = useRef(null);\n\tconst lastRefresh = useRef(0);\n\tconst [backGroundRefreshInterval] = useState(backGroundRefresh < MIN_REFRESH_INTERVAL? MIN_REFRESH_INTERVAL : backGroundRefresh);\n\n\tconst clear = useCallback(() => {\n\t\tclearTimeout(timeoutId.current);\n\t}, []);\n\n\tconst executeRefresh = useCallback(() => {\n\t\tif (Date.now() - lastRefresh.current < MIN_REFRESH_INTERVAL) return false;\n\t\tlastRefresh.current = Date.now();\n\t\trefresh();\n\t\treturn true;\n\t}, [refresh]);\n\n\n\tconst restart = useCallback(() => {\n\t\tif (timeoutId.current) clear();\n\t\ttimeoutId.current = setTimeout(() => {\n\t\t\texecuteRefresh();\n\t\t\trestart(); // Timer as reached the end, restart it.\n\t\t}, backGroundRefreshInterval);\n\t}, [executeRefresh]);\n\n\tconst onFocus = useCallback(() => {\n\t\tif (document.visibilityState === 'hidden') return;\n\t\t// Only restart the timer if the refresh has been done to reset it to BACKGROUND_INTERVAL_REFRESH\n\t\tif (executeRefresh())\n\t\t\trestart();\n\t}, [executeRefresh, restart]);\n\n\tuseEffect(() => {\n\t\trestart();\n\n\t\treturn () => {\n\t\t\tif (timeoutId.current) clear();\n\t\t};\n\t}, [restart, clear]);\n\n\tuseEffect(() => {\n\t\tif (typeof document === 'undefined') return;\n\n\t\tdocument.removeEventListener('visibilitychange', onFocus);\n\t\tdocument.removeEventListener('focus', onFocus);\n\n\t\tdocument.addEventListener('visibilitychange', onFocus);\n\t\tdocument.addEventListener('focus', onFocus);\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('visibilitychange', onFocus);\n\t\t\tdocument.removeEventListener('focus', onFocus);\n\t\t};\n\t}, [onFocus]);\n};\n","import PropTypes from 'prop-types';\nimport React, { useCallback } from 'react';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport { useAutoRefresher } from '../../../../hooks/useAutoRefresher';\nimport { useSetSnackbar } from '../../../../hooks/useSnackbar';\nimport { useTranslation } from 'react-i18next';\n\nconst OrderProcessingAlert = ({ refresh }) => {\n\tconst setSnackbar = useSetSnackbar();\n\tconst { t } = useTranslation();\n\n\tconst refresher = useCallback(() => {\n\t\trefresh().then(o => {\n\t\t\tif (o.data.Status !== 'completed') return;\n\t\t\tsetSnackbar(t('order_completed_success'), 'success');\n\t\t});\n\t}, []);\n\n\tuseAutoRefresher(refresher, 60 * 1000);\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default OrderProcessingAlert;\n\nOrderProcessingAlert.propTypes = {\n\trefresh: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useCallback, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../core/typography/Title';\nimport OrderTable from './OrderTable';\nimport OrderPayments from './Payments/OrderPayments';\nimport OrderProcessingAlert from './OrderProcessingAlert';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\n\nconst OrderWithPayment = ({ order, refresh, onComplete, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\n\tconst detectComplete = useCallback(newOrder => {\n\t\tif (order.Status !== newOrder.Status &&\n\t\t\tnewOrder.Status === 'completed' &&\n\t\t\tonComplete) {\n\t\t\tonComplete(newOrder);\n\t\t}\n\n\t\trefresh(newOrder);\n\t}, [order]);\n\n\tuseEffect(() => {\n\t\t// This will remove the pay action button once the order is paid\n\t\tif (!order.Paid || !setDialogActions) return;\n\t\tsetDialogActions(null);\n\t}, [order, setDialogActions]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('order_details')}\n\t\t\t\t\n\t\t\t\n\n\t\t\t{(order.Paid && order.Status !== 'completed') &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\n\t\t\t{(order.Status === 'completed') &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t{(!order.Paid && order.Status !== 'completed') &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default OrderWithPayment;\n\nOrderWithPayment.propTypes = {\n\torder: PropTypes.object.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tonComplete: PropTypes.func,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import React from 'react';\nimport { Grid } from '@material-ui/core';\nimport Toolbar from '../../components/core/typography/Toolbar';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router';\nimport PageLoader from '../../components/layout/Loader/PageLoader';\nimport OrderInfo from '../../components/common/Order/order/OrderInfo';\nimport OrderPaymentInfo from '../../components/common/Order/order/OrderPaymentInfo';\nimport UserLocation from '../../components/common/User/Location/UserLocation';\nimport PageNotFound from '../System/PageNotFound';\nimport { useOrder } from '@karpeleslab/klb-react-services';\nimport { getBillingRoute } from '../../components/RouteController/Factory';\nimport OrderWithPayment from '../../components/common/Order/order/OrderWithPayment';\n\n\nconst ViewOrder = () => {\n\tconst { t } = useTranslation();\n\tconst { orderId } = useParams();\n\tconst [order, refresh] = useOrder(orderId);\n\n\tif (!order) return ;\n\tif (!order.data) return ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ViewOrder;\n","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Empty from '../../../core/feedback/State/Empty';\nimport Graphic from '../../../../assets/img/shells_logo_vertical_white.svg';\nimport AddIcon from '@material-ui/icons/Add';\n\nconst EmptyList = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\t\tsample
\n\t\t\t\t\tsample\n\t\t\t\t\n\t\t\t}\n\t\t\tgraphic={Graphic}\n\t\t\taction={\n\t\t\t\t{\n\t\t\t\t\tcomponent: 'a',\n\t\t\t\t\ttitle: t('order_new_shell_btn'),\n\t\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\t\tendIcon: ,\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\thref: `${process.env.REACT_APP_SHELL_URL}/join`\n\t\t\t\t}\n\t\t\t}\n\t\t/>\n\t);\n};\n\nexport default EmptyList;\n","import { useContext, useEffect, useState } from 'react';\nimport { ModeContext } from '../context/ModeContext';\n\nexport const useIsMode = mode => {\n\tconst [modeContext] = useContext(ModeContext);\n\tconst [ok, setOk] = useState(modeContext === mode);\n\n\tuseEffect(() => {\n\t\tsetOk(modeContext === mode);\n\t}, [mode, modeContext, setOk]);\n\n\treturn ok;\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Tab from '@material-ui/core/Tab';\nimport Tabs from '@material-ui/core/Tabs';\nimport AlbumIcon from '@material-ui/icons/Album';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport ShareIcon from '@material-ui/icons/Share';\nimport { useIsMode } from '../../../../hooks/useIsMode';\nimport { ADVANCED_MODE } from '../../../../context/ModeContext';\n\nexport const OS_OFFICIAL = 'official';\nexport const OS_PRIVATE = 'private';\nexport const OS_SHARE = 'share';\n\nconst SourceTabs = ({ tab, setTab, setValue, disabled = false }) => {\n\tconst { t } = useTranslation();\n\tconst isAdvanced = useIsMode(ADVANCED_MODE);\n\n\tconst handleTabChange = (event, newValue) => {\n\t\tsetTab(newValue);\n\t\tsetValue(null);\n\t};\n\n\treturn (\n\t\t\n\t\t\t} value={OS_OFFICIAL} label={t('shell_os_tab_official')} disabled={disabled}/>\n\n\t\t\t{isAdvanced &&\n\t\t\t} value={OS_PRIVATE} label={t('shell_os_tab_my')} disabled={disabled}/>}\n\n\t\t\t{isAdvanced &&\n\t\t\t} value={OS_SHARE} label={t('shell_os_tab_share')} disabled={disabled}/>}\n\t\t\n\t);\n};\n\nexport default SourceTabs;\n\nSourceTabs.propTypes = {\n\tdisabled: PropTypes.bool,\n\tsetTab: PropTypes.func.isRequired,\n\tsetValue: PropTypes.func.isRequired,\n\ttab: PropTypes.any\n};\n","import { useCallback } from 'react';\nimport { rest } from '@karpeleslab/klbfw';\nimport { getShellOsEndpoint, useApiErrorHandler } from '@karpeleslab/klb-react-services';\n\nexport const ICON_VARIATION = 'strip&scale_crop=40x40&format=png';\n\nexport const useFetchOperatingSystem = () => {\n\tconst [catchRedirect] = useApiErrorHandler();\n\n\tconst fetch = useCallback(\n\t\t(osId, params) => {\n\t\t\treturn rest(getShellOsEndpoint(osId), 'GET', params)\n\t\t\t\t.then(catchRedirect)\n\t\t\t\t.then(d => d);\n\t\t}\n\t\t, []); //eslint-disable-line\n\n\treturn [fetch];\n};\n","export default __webpack_public_path__ + \"static/media/shells_icon_white.6ab594e5.svg\";","import PropTypes from 'prop-types';\nimport React from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\n\nconst useStyles = makeStyles(() => ({\n\troot: {\n\t\tdisplay: '-webkit-box',\n\t\t'-webkit-line-clamp': props => props.row,\n\t\t'-webkit-box-orient': 'vertical',\n\t\toverflow: 'hidden',\n\t}\n}));\n\nconst Ellipsis = ({ children, row = 2 }) => {\n\tconst classes = useStyles({ row: row });\n\treturn (\n\t\t
\n\t\t\t{children}\n\t\t
\n\t);\n};\n\nexport default Ellipsis;\n\nEllipsis.propTypes = {\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t]),\n\trow: PropTypes.number\n};\n","import makeStyles from '@material-ui/core/styles/makeStyles';\nimport { fade } from '@material-ui/core/styles/colorManipulator';\n\nexport const useStyles = makeStyles(theme => {\n\treturn {\n\t\troot: {\n\t\t\tposition: 'relative',\n\t\t\theight: '100%'\n\t\t},\n\t\tactionArea: {\n\t\t\theight: '100%'\n\t\t},\n\t\tmedia: {\n\t\t\tmargin: theme.spacing(2),\n\t\t\tmarginLeft: 'auto',\n\t\t\tmarginRight: 'auto'\n\t\t},\n\t\tmediaLoading: {\n\t\t\theight: '75px',\n\t\t\twidth: '75px',\n\t\t\tmargin: theme.spacing(0),\n\t\t\tmarginLeft: 'auto',\n\t\t\tmarginRight: 'auto'\n\t\t},\n\t\tselected: {\n\t\t\tborderColor: theme.palette.primary.light,\n\t\t\tbackgroundColor: fade(theme.palette.primary.light, 0.18),\n\t\t},\n\t\tselectedTitle: {\n\t\t\tfontWeight: 'bold',\n\t\t\tcolor: theme.palette.primary.dark,\n\t\t},\n\t\tdescription: {\n\t\t\tfontSize: '0.75rem'\n\t\t},\n\t\tcontent: {\n\t\t\tpaddingTop: theme.spacing(1),\n\t\t},\n\t\tdetailsBtb: {\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\tright: 0,\n\t\t\tzIndex: 1,\n\t\t},\n\t\tribbon: {\n\t\t\tbackgroundColor: 'transparent',\n\t\t\tposition: 'absolute',\n\t\t\tcolor: theme.palette.secondary.light,\n\t\t\tborder: `1px solid ${theme.palette.secondary.light}`,\n\t\t\twidth: 150,\n\t\t\tzIndex: 3,\n\t\t\ttextAlign: 'center',\n\t\t\ttextTransform: 'uppercase',\n\t\t\tpadding: 5,\n\t\t\t[theme.breakpoints.down('sm')]: {\n\t\t\t\tpadding: 2,\n\t\t\t},\n\t\t\t'&::before': {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tzIndex: -1,\n\t\t\t\tcontent: '',\n\t\t\t\tdisplay: 'block',\n\t\t\t\tborder: `5px solid ${theme.palette.secondary.light}`,\n\t\t\t},\n\t\t\t'&::after': {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tzIndex: -1,\n\t\t\t\tcontent: '',\n\t\t\t\tdisplay: 'block',\n\t\t\t\tborder: `5px solid ${theme.palette.secondary.dark}`,\n\t\t\t},\n\t\t\ttransform: 'rotate(-45deg)',\n\t\t\ttop: theme.spacing(2),\n\t\t\tmarginLeft: -40,\n\t\t},\n\t};\n});\n","import { useCallback, useState } from 'react';\nimport { rest } from '@karpeleslab/klbfw';\nimport { getShellLicenseEndpoint, useApiErrorHandler } from '@karpeleslab/klb-react-services';\n\nexport const useShellHasLicense = (shellId) => {\n\tconst [catchRedirect] = useApiErrorHandler();\n\tconst [loading, setLoading] = useState(true);\n\n\tconst fetch = useCallback(\n\t\t(licenseKey) => {\n\t\t\tsetLoading(true);\n\t\t\treturn rest(getShellLicenseEndpoint(licenseKey, shellId))\n\t\t\t\t.then(catchRedirect)\n\t\t\t\t.then(d => {\n\t\t\t\t\treturn !!d.data;\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\treturn false;\n\t\t\t\t})\n\t\t\t\t.finally(() => {\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t});\n\t\t}\n\t\t, [shellId]); //eslint-disable-line\n\n\treturn [fetch, loading];\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { Skeleton } from '@material-ui/lab';\nimport { useShellHasLicense } from '../../../../hooks/useShellLicense';\nimport { Trans } from 'react-i18next';\nimport { Typography } from '@material-ui/core';\nimport RichAlert from '../../../core/feedback/RichAlert';\n\nconst OsItemLicense = ({ shell, os, detailed = false }) => {\n\tconst [hasLicense, setHasLicense] = useState(false);\n\tconst [fetch, loading] = useShellHasLicense(shell.Shell__);\n\n\tuseEffect(() => {\n\t\tfetch(os.Catalog_Product['Shell.LicenseType']).then(setHasLicense);\n\t}, [os]);\n\n\n\tif (loading) return ;\n\tif (hasLicense) return <>;\n\n\tif (!detailed) {\n\t\treturn \n\t\t\t\n\t\t\t\tA X license is required\n\t\t\t\n\t\t;\n\t}\n\n\treturn \n\t\t\n\t\t\tA X license is required\n\t\t\n\t;\n};\n\nexport default OsItemLicense;\n\nOsItemLicense.propTypes = {\n\tdetailed: PropTypes.bool,\n\tos: PropTypes.object.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\n\nconst useStyles = makeStyles(() => ({\n\troot: {\n\t\tposition: 'relative',\n\t\ttextAlign: props => props.centered ? 'center' : 'inherit',\n\t\t'&::after': {\n\t\t\ttop: 0,\n\t\t\tdisplay: props => props.loaded ? 'none' : 'block',\n\t\t\tcontent: '\"\"',\n\t\t\tposition: 'absolute',\n\t\t\twidth: '100%',\n\t\t\theight: '100%',\n\t\t\ttransform: 'translateX(-100%)',\n\t\t\t//background: '-webkit-gradient(linear, left top, right top, from(transparent), color-stop(rgba(255, 255, 255, 0.2)), to(transparent))',\n\t\t\t'background': 'linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent)',\n\t\t\t'animation': '$loading 0.8s infinite',\n\t\t}\n\t},\n\n\t/* Loading Animation */\n\t'@keyframes loading': {\n\t\t'100%': {\n\t\t\ttransform: 'translateX(100%)',\n\t\t}\n\t},\n\n\tplaceholder: {\n\t\t'-webkit-transition': 'opacity 0.2s ease-in-out',\n\t\t'-moz-transition': 'opacity 0.2s ease-in-out',\n\t\t'-o-transition': 'opacity 0.2s ease-in-out',\n\t\t'transition': 'opacity 0.2s ease-in-out',\n\t\tfilter: 'grayscale(0.7)',\n\t\t'opacity': props => props.loaded ? '0' : '1',\n\t},\n\n\tfinal: {\n\t\tleft: props => props.centered && !props.cleaned ? '50%' : '0',\n\t\ttransform: props => props.centered && !props.cleaned ? 'translate(-50%, 0%)' : 'unset',\n\t\tposition: 'absolute',\n\t\t'-webkit-transition': 'opacity 0.2s ease-in-out',\n\t\t'-moz-transition': 'opacity 0.2s ease-in-out',\n\t\t'-o-transition': 'opacity 0.2s ease-in-out',\n\t\t'transition': 'opacity 0.2s ease-in-out',\n\t\t'opacity': props => props.loaded ? '1' : '0',\n\t}\n}));\n\nconst Img = ({ loaderStyle = {}, rootStyle = {}, centered = false, ...rest }) => {\n\tconst [loading, setLoading] = useState(true);\n\t// Use the remove all reference to the loader image and lighten the dom\n\tconst [cleaned, setCleaned] = useState(false);\n\tconst classes = useStyles({ loaded: !loading, cleaned: cleaned, centered: centered });\n\tconst [cleanedStyle, setCleanedStyle] = useState({});\n\n\tuseEffect(() => {\n\t\tif (loading) return;\n\t\tconst t = setTimeout(() => {\n\t\t\tsetCleanedStyle({\n\t\t\t\tposition: 'inherit',\n\t\t\t\ttransform: 'unset',\n\t\t\t\tleft: 'unset',\n\t\t\t});\n\t\t\tsetCleaned(true);\n\t\t}, 1000);\n\t\treturn () => {\n\t\t\tclearTimeout(t);\n\t\t};\n\t}, [loading, setCleaned, setCleanedStyle]);\n\n\treturn (\n\t\t
\n\t\t\t{!cleaned && }\n\n\t\t\t setLoading(false)}\n\t\t\t/>\n\t\t
\n\t);\n};\n\nexport default Img;\n\nImg.propTypes = {\n\tloaderStyle: PropTypes.object,\n\trootStyle: PropTypes.object,\n\tstyle: PropTypes.any,\n\tcentered: PropTypes.bool\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport HelpOutlineIcon from '@material-ui/icons/HelpOutline';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nconst OsItemShellKernel = ({ detailed = false }) => {\n\tconst { t } = useTranslation();\n\n\tif (detailed) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{t('os_powered_by_shell_desc')}\n\t\t\t\n\t\t);\n\t}\n\treturn (\n\t\t\n\t\t\t{t('os_powered_by_shell_title')}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OsItemShellKernel;\n\nOsItemShellKernel.propTypes = {\n\tdetailed: PropTypes.bool\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport { ICON_VARIATION } from '../../../../hooks/useOperatingSystems';\nimport defaultIcon from '../../../../assets/img/shells_icon_white.svg';\nimport { useTranslation } from 'react-i18next';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Ellipsis from '../../../core/typography/Ellipsis';\nimport { Box, Grid } from '@material-ui/core';\nimport { Skeleton } from '@material-ui/lab';\nimport { useStyles } from './OSItem.style';\nimport IconButton from '@material-ui/core/IconButton';\nimport OsItemLicense from './OSItemLicense';\nimport InfoIcon from '@material-ui/icons/Info';\nimport Img from '../../../core/data/Image/Img';\nimport { isShellKernel } from '../../../../utils/misc';\nimport OsItemShellKernel from './OSItemShellKernel';\n\nconst OsItem = ({ shell, setSelected, setShowDetailsFor, selected = false, disabled = false, loading = true, os = null }) => {\n\tconst { t } = useTranslation();\n\tconst classes = useStyles();\n\n\tconst handleClick = () => {\n\t\tif (loading || selected) return;\n\t\tsetSelected(os);\n\t};\n\n\tconst handleDetailsClick = () => {\n\t\tsetShowDetailsFor(os);\n\t};\n\n\treturn (\n\t\t\n\t\t\t{(!loading && os.Beta === 'Y') &&\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{t('shell_os_beta_mark')}\n\t\t\t\t\n\t\t\t
\n\t\t\t}\n\t\t\t
\n\t\t\t\t{(!loading && (!!os.Description || !!os.Short_Description)) &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{!loading && \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{loading && }\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{!loading &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{os.Name}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{loading && }\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{loading && }\n\t\t\t\t\t\t\t{!loading && \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{os.Short_Description}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{((!loading && (os.Catalog_Product__ || isShellKernel(os)))) &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{os.Catalog_Product__ && }\n\t\t\t\t\t\t\t\t{isShellKernel(os) && }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default OsItem;\n\nOsItem.propTypes = {\n\tdisabled: PropTypes.bool,\n\tloading: PropTypes.bool,\n\tos: PropTypes.object,\n\tselected: PropTypes.bool,\n\tsetSelected: PropTypes.func.isRequired,\n\tsetShowDetailsFor: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\n\nexport const SHELL_OS_PURPOSE_LIST = [\n\t'desktop',\n\t'server',\n\t'mobile',\n\t'unknown'\n];\n\nexport const SHELL_OS_PURPOSE_LITE_LIST = [\n\t'desktop',\n];\n\nconst OSPurposeSelector = ({ value, setValue, disabled = false, required = false, hideAll = false, list = SHELL_OS_PURPOSE_LIST, ...rest }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t setValue(e.target.value === 'all' ? null : e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tdisabled={disabled}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{!hideAll && }\n\t\t\t{list.map(p => )}\n\t\t\n\t);\n};\n\nexport default OSPurposeSelector;\n\nOSPurposeSelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\thideAll: PropTypes.bool,\n\tlist: PropTypes.array,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid, Radio } from '@material-ui/core';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { useTranslation } from 'react-i18next';\nimport FormLabel from '@material-ui/core/FormLabel';\nimport FormControl from '@material-ui/core/FormControl';\nimport { SHELL_OS_PURPOSE_LIST, SHELL_OS_PURPOSE_LITE_LIST } from '../../../core/input/OSPurposeSelector';\nimport { useIsMode } from '../../../../hooks/useIsMode';\nimport { ADVANCED_MODE } from '../../../../context/ModeContext';\n\nconst OsFilters = ({ filters, setFilters, spacing, disabled = false }) => {\n\tconst { t } = useTranslation();\n\tconst isAdvanced = useIsMode(ADVANCED_MODE);\n\n\tconst handleBeta = e => {\n\t\tconst checked = e.target.checked;\n\t\tconst cpy = { ...filters };\n\t\tchecked ? delete cpy.Beta : cpy.Beta = 'N';\n\t\tsetFilters(cpy);\n\t};\n\n\tconst handleChange = e => {\n\t\tconst checked = e.target.checked;\n\t\tconst value = e.target.value;\n\t\tconst cpy = { ...filters };\n\t\tif (!checked) return;\n\n\t\tif (value === 'all') {\n\t\t\tdelete cpy.Purpose;\n\t\t} else {\n\t\t\tcpy.Purpose = value;\n\t\t}\n\n\t\tsetFilters(cpy);\n\t};\n\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('shell_os_filter_title')}\n\t\t\t\t\n\n\t\t\t\t{isAdvanced && \n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={t('shell_os_filter_all')}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t{\n\t\t\t\t\t(isAdvanced ? SHELL_OS_PURPOSE_LIST : SHELL_OS_PURPOSE_LITE_LIST).map(\n\t\t\t\t\t\tpurpose => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={t(`shell_os_filter_${purpose}`)}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={t('shell_os_filter_beta')}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OsFilters;\n\nOsFilters.propTypes = {\n\tdisabled: PropTypes.bool,\n\tfilters: PropTypes.object.isRequired,\n\tsetFilters: PropTypes.func.isRequired,\n\tspacing: PropTypes.number.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { ICON_VARIATION } from '../../../../hooks/useOperatingSystems';\nimport { useTranslation } from 'react-i18next';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { Grid, Typography } from '@material-ui/core';\nimport TablePaginationActions from '@material-ui/core/TablePagination/TablePaginationActions';\nimport TablePagination from '@material-ui/core/TablePagination';\nimport { useOperatingSystems } from '@karpeleslab/klb-react-services';\nimport OsItem from './OSItem';\nimport OsFilters from './OSFilters';\nimport useDimensions from 'react-cool-dimensions';\nimport useTheme from '@material-ui/core/styles/useTheme';\n\nconst OsList = ({ shell, value, setValue, setShowDetailsFor, own = false, disabled = false, spacing = 3, initialFilters = { Beta: 'N' } }) => {\n\tconst { t } = useTranslation();\n\tconst [os, fetch] = useOperatingSystems();\n\tconst [loading, setLoading] = useState(true);\n\tconst [filters, setFilters] = useState({\n\t\tReady: 'Y',\n\t\timage_variation: [ICON_VARIATION],\n\t\t...initialFilters\n\t});\n\tconst [paging, setPaging] = useState({ results_per_page: 12, page_no: 1 });\n\tconst theme = useTheme();\n\tconst [perRow, setPerRow] = useState(6);\n\n\tconst { observe } = useDimensions({\n\t\tbreakpoints: {\n\t\t\t'2': theme.breakpoints.values.xs,\n\t\t\t'3': theme.breakpoints.values.sm,\n\t\t\t'4': theme.breakpoints.values.md,\n\t\t\t'6': theme.breakpoints.values.lg\n\t\t},\n\t\tupdateOnBreakpointChange: true,\n\t\tonResize: ({ currentBreakpoint }) => {\n\t\t\tsetPerRow(parseInt(currentBreakpoint));\n\t\t},\n\t});\n\n\tuseEffect(() => {\n\t\tconst params = { ...filters };\n\t\tparams.Visible = own ? 'N' : 'Y';\n\n\t\tsetLoading(true);\n\t\tsetValue(null);\n\t\tfetch(params, paging).then(() => setLoading(false));\n\t}, [own, filters, paging, setLoading]);\n\n\tconst changePageHandler = (e, newPage) => {\n\t\tsetPaging({ ...paging, page_no: parseInt(newPage) + 1 });\n\t};\n\n\tif (!loading && !os) return ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t{\n\t\t\t\t(\n\t\t\t\t\t(!loading && os) ? os.data : [...Array(4).keys()]\n\t\t\t\t).map(\n\t\t\t\t\to => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t setValue(o)}\n\t\t\t\t\t\t\t\t\tselected={loading ? false : (value ? value.Shell_OS__ === o.Shell_OS__ : false)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t\t{(!loading && os && os.data.length < 1) &&\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('shell_os_filter_no_result')}\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\t{(!loading && os && os.paging.page_max > 1) &&\n\t\t\t\n\t\t\t\t t(count !== -1 ? 'table_paging' : 'table_paging_more', {\n\t\t\t\t\t\t\tfrom: from,\n\t\t\t\t\t\t\tto: to,\n\t\t\t\t\t\t\tcount: count\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t\tonChangePage={changePageHandler}\n\t\t\t\t\tActionsComponent={TablePaginationActions}\n\t\t\t\t/>\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default OsList;\n\nOsList.propTypes = {\n\tdisabled: PropTypes.bool,\n\tinitialFilters: PropTypes.object,\n\town: PropTypes.bool,\n\tsetShowDetailsFor: PropTypes.func.isRequired,\n\tsetValue: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired,\n\tspacing: PropTypes.number,\n\tvalue: PropTypes.any\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport TextField from '@material-ui/core/TextField';\nimport { validate } from '../../../../utils/uuid';\nimport { useTranslation } from 'react-i18next';\nimport { ICON_VARIATION, useFetchOperatingSystem } from '../../../../hooks/useOperatingSystems';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport OsItem from './OSItem';\n\nconst InputSharedOS = ({ shell, value, setValue, setShowDetailsFor, disabled = false, spacing = 3 }) => {\n\tconst { t } = useTranslation();\n\tconst [shareInput, setShareInput] = useState('');\n\tconst [fetch] = useFetchOperatingSystem();\n\tconst [loading, setLoading] = useState(false);\n\tconst [error, setError] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (!validate(shareInput, 'shlos')) return;\n\t\tsetLoading(true);\n\t\tconst params = { image_variation: [ICON_VARIATION] };\n\t\tfetch(shareInput, params)\n\t\t\t.then(os => {\n\t\t\t\tif (os.data.Ready !== 'Y') {\n\t\t\t\t\tsetError(true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (os.data.Visible !== 'Y' && os.data.Public !== 'Y') {\n\t\t\t\t\tsetError(true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetValue(os.data);\n\t\t\t\tsetError(false);\n\t\t\t})\n\t\t\t.catch(() => setError(true))\n\t\t\t.finally(() => setLoading(false));\n\t}, [shareInput, setLoading, fetch]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t setShareInput(e.target.value)}\n\t\t\t\t\tInputProps={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tendAdornment: (\n\t\t\t\t\t\t\t\tloading ?\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{value &&\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tloading={loading}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tos={loading ? null : value}\n\t\t\t\t\tsetShowDetailsFor={setShowDetailsFor}\n\t\t\t\t\tselected={true}\n\t\t\t\t/>\n\t\t\t\n\t\t\t}\n\t\t\t{(shareInput && error) &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default InputSharedOS;\n\nInputSharedOS.propTypes = {\n\tdisabled: PropTypes.bool,\n\tsetShowDetailsFor: PropTypes.func.isRequired,\n\tsetValue: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired,\n\tspacing: PropTypes.number,\n\tvalue: PropTypes.object\n};\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport PropTypes from 'prop-types';\nimport { ICON_VARIATION } from '../../../hooks/useOperatingSystems';\nimport { useOperatingSystems } from '@karpeleslab/klb-react-services';\n\nconst ShellOsSelector = ({ value, setValue, own = false, label = null, allowEmpty = false, emptyText = null, helperText = null, disabled = false, required = false, purpose = null, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [os, fetch, loading] = useOperatingSystems();\n\tconst [idToOsMap, setIdToOsMap] = useState();\n\n\tconst [releasedOS, setReleasedOS] = useState([]);\n\tconst [betaOs, setBetaOS] = useState([]);\n\tconst [licenseOs, setLicenseOs] = useState([]);\n\n\tuseEffect(() => {\n\t\tconst params = { Ready: 'Y', Visible: own ? 'N' : 'Y', image_variation: [ICON_VARIATION] };\n\t\tif (purpose) params.Purpose = purpose;\n\n\t\tfetch(params, { results_per_page: 100 });\n\t}, [purpose]); // eslint-disable-line\n\n\tuseEffect(() => {\n\t\tif (!os) return;\n\t\tconst map = {};\n\t\tconst beta = [];\n\t\tconst license = [];\n\t\tconst nonBeta = [];\n\t\tos.data.forEach(s => {\n\t\t\tif (s.Catalog_Product__) license.push(s);\n\t\t\telse if (s.Beta === 'Y') beta.push(s);\n\t\t\telse nonBeta.push(s);\n\t\t\tmap[s.Shell_OS__] = s;\n\t\t});\n\t\tif (value === null) {\n\t\t\tconst first = nonBeta[0] || beta[0];\n\t\t\tif (first) {\n\t\t\t\tsetValue(first);\n\t\t\t}\n\t\t}\n\t\tsetBetaOS(beta);\n\t\tsetReleasedOS(nonBeta);\n\t\tsetLicenseOs(license);\n\t\tsetIdToOsMap(map);\n\t}, [os, setIdToOsMap, setBetaOS, setReleasedOS, setLicenseOs]);\n\n\treturn (\n\t\t setValue(idToOsMap[e.target.value] ?? 'none')}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tdisabled={disabled || !os}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tInputProps={loading ?\n\t\t\t\t{\n\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t} : undefined\n\t\t\t}\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{(os && os.data.length < 1 && !loading) && }\n\t\t\t{(os && os.data.length > 0 && allowEmpty) &&\n\t\t\t\n\t\t\t}\n\n\t\t\t{(releasedOS.length > 0 && !loading) &&\n\t\t\t\n\t\t\t\t{releasedOS.map(\n\t\t\t\t\tos => \n\t\t\t\t\t\t{os.Name}\n\t\t\t\t\t)}\n\t\t\t\n\t\t\t}\n\n\t\t\t{(licenseOs.length > 0 && !loading) &&\n\t\t\t\n\t\t\t\t{licenseOs.map(\n\t\t\t\t\tos => \n\t\t\t\t\t\t{os.Name}\n\t\t\t\t\t)}\n\t\t\t\n\t\t\t}\n\n\t\t\t{(betaOs.length > 0 && !loading) &&\n\t\t\t\n\t\t\t\t{betaOs.map(\n\t\t\t\t\tos => \n\t\t\t\t\t\t{os.Name}\n\t\t\t\t\t)}\n\t\t\t\n\t\t\t}\n\n\t\t\n\t);\n};\n\nexport default ShellOsSelector;\n\nShellOsSelector.propTypes = {\n\tallowEmpty: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\temptyText: PropTypes.any,\n\thelperText: PropTypes.string,\n\tlabel: PropTypes.string,\n\town: PropTypes.bool,\n\tpurpose: PropTypes.string,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.object\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport ShellOsSelector from '../../../core/input/ShellOsSelector';\nimport OSPurposeSelector, {\n\tSHELL_OS_PURPOSE_LIST,\n\tSHELL_OS_PURPOSE_LITE_LIST\n} from '../../../core/input/OSPurposeSelector';\nimport { useIsMode } from '../../../../hooks/useIsMode';\nimport { ADVANCED_MODE } from '../../../../context/ModeContext';\nimport { isShellKernel } from '../../../../utils/misc';\nimport OsItemShellKernel from './OSItemShellKernel';\n\nconst MobileOSSelector = ({ value, setValue, own = false, spacing = 2, initialSource = null }) => {\n\tconst [source, setSource] = useState(initialSource);\n\tconst isAdvanced = useIsMode(ADVANCED_MODE);\n\n\tuseEffect(() => {\n\t\tif (value !== null) {\n\t\t\tsetValue(null);\n\t\t}\n\t\t// eslint-disable-next-line\n\t}, [source]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{(value && isShellKernel(value)) &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default MobileOSSelector;\n\nMobileOSSelector.propTypes = {\n\tinitialSource: PropTypes.string,\n\town: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tspacing: PropTypes.number,\n\tvalue: PropTypes.object,\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Panel from '../../../layout/Container/tab/Panel';\nimport { OS_OFFICIAL, OS_PRIVATE, OS_SHARE } from './SourceTabs';\nimport OsList from './OSList';\nimport InputSharedOS from './InputSharedOS';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport { Grid } from '@material-ui/core';\nimport MobileOSSelector from './MobileOSSelector';\n\nconst SourceDisplay = ({ shell, tab, value, setValue, setShowDetailsFor, disabled = false, mobile = false, spacing = 3 }) => {\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{mobile &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t{!mobile && \n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{mobile &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t{!mobile && \n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n\n};\n\nexport default SourceDisplay;\n\nSourceDisplay.propTypes = {\n\tdisabled: PropTypes.bool,\n\tmobile: PropTypes.bool,\n\tsetShowDetailsFor: PropTypes.func.isRequired,\n\tsetValue: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired,\n\tspacing: PropTypes.number,\n\ttab: PropTypes.string.isRequired,\n\tvalue: PropTypes.any\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport Grid from '@material-ui/core/Grid';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../../core/input/Button';\nimport { Typography } from '@material-ui/core';\nimport Avatar from '@material-ui/core/Avatar';\nimport { ICON_VARIATION } from '../../../../hooks/useOperatingSystems';\nimport defaultIcon from '../../../../assets/img/shells_icon_white.svg';\nimport OsItemLicense from './OSItemLicense';\nimport { isShellKernel } from '../../../../utils/misc';\nimport OsItemShellKernel from './OSItemShellKernel';\n\nconst OSDetailsDialog = ({ shell, os, setShowDetailsFor }) => {\n\tconst { t } = useTranslation();\n\n\tconst handleClose = () => {\n\t\tsetShowDetailsFor(null);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{os.Name + (os.Beta === 'Y' ? ` (${t('shell_os_beta_mark')})` : '')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{isShellKernel(os) &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t{os.Short_Description &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{os.Short_Description}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t{os.Catalog_Product__ &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t{os.Description &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{os.Description}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OSDetailsDialog;\n\nOSDetailsDialog.propTypes = {\n\tos: PropTypes.object.isRequired,\n\tsetShowDetailsFor: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport SourceTabs, { OS_OFFICIAL } from './SourceTabs';\nimport SourceDisplay from './SourceDisplay';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport OSDetailsDialog from './OSDetailsDialog';\n\n\nconst OSSelector = ({ shell, value, setValue, disabled = false, spacing = 3 }) => {\n\tconst [tab, setTab] = useState(OS_OFFICIAL);\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'), { noSsr: true });\n\tconst [showDetailsFor, setShowDetailsFor] = useState(null);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{showDetailsFor &&\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default OSSelector;\n\nOSSelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired,\n\tspacing: PropTypes.number,\n\tvalue: PropTypes.any\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport { Trans } from 'react-i18next';\nimport { getSSHKeychainRoute } from '../../../RouteController/Factory';\n\nconst SSHKeyWarning = ({ os, keychain }) => {\n\tconst [show, setShow] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (!os || os.Purpose !== 'server') {\n\t\t\tsetShow(false);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!keychain || keychain === 'none') {\n\t\t\tsetShow(true);\n\t\t\treturn;\n\t\t}\n\n\t\tsetShow(false);\n\n\t}, [setShow, os, keychain]);\n\n\tif (!show) return <>;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tsample
\n\t\t\t\tsample\n\t\t\t\tsample\n\t\t\t\t\n\t\t\t\t\tsample\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default SSHKeyWarning;\n\nSSHKeyWarning.propTypes = {\n\tkeychain: PropTypes.string,\n\tos: PropTypes.object\n};\n","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport PropTypes from 'prop-types';\nimport { useKeychains } from '@karpeleslab/klb-react-services';\n\nconst ShellKeychainSelector = ({ value, setValue, label = null, helperText = null, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [keychains, fetch, loading] = useKeychains();\n\n\tuseEffect(() => {\n\t\tfetch({}, { results_per_page: 100 });\n\t}, []); // eslint-disable-line\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tdisabled={disabled || !keychains}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tInputProps={loading ?\n\t\t\t\t{\n\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t} : undefined\n\t\t\t}\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t\n\t\t\t{!loading && keychains && keychains.data.map(\n\t\t\t\tkeychain => \n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ShellKeychainSelector;\n\nShellKeychainSelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\thelperText: PropTypes.string,\n\tlabel: PropTypes.string,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Button from '../../../core/input/Button';\n\nconst SelectOsLicenseInfo = ({ os, loadingLicense, hasLicense, handleBuyLicense }) => {\n\tconst {t} = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{(loadingLicense || hasLicense) &&\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\t{(!loadingLicense && !hasLicense) &&\n\t\t\t\t\n\t\t\t\t\t\t\t{t('buy_license_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\tsample
\n\t\t\t\t\t\tsample\n\t\t\t\t\t\tsample\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default SelectOsLicenseInfo;\n\nSelectOsLicenseInfo.propTypes = {\n\thandleBuyLicense: PropTypes.func.isRequired,\n\thasLicense: PropTypes.bool.isRequired,\n\tloadingLicense: PropTypes.bool.isRequired,\n\tos: PropTypes.object.isRequired,\n};\n","export default __webpack_public_path__ + \"static/media/emptyCart.498b68fd.svg\";","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport EmptyState from '../../../core/feedback/State/Empty';\nimport Graphic from '../../../../assets/img/emptyCart.svg';\n\nconst EmptyCart = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\tsample
\n\t\t\t\tsample\n\t\t\t}\n\t\t\tgraphic={Graphic}\n\t\t/>\n\t);\n};\n\nexport default EmptyCart;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableHead from '@material-ui/core/TableHead';\n\nconst CartHeader = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('cart_item_name')}\n\t\t\t\t{t('cart_item_quantity')}\n\t\t\t\t{t('cart_item_price_raw')}\n\t\t\t\t{t('cart_item_vat_rate')}\n\t\t\t\t{t('cart_item_total')}\n\t\t\t\t{t('cart_item_action')}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CartHeader;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableRow from '@material-ui/core/TableRow';\nimport { IconButton } from '@material-ui/core';\nimport DeleteForeverOutlinedIcon from '@material-ui/icons/DeleteForeverOutlined';\nimport { useCatalogCartItemRemove } from '@karpeleslab/klb-react-services';\n\nconst CartItem = ({ cartItem, refreshCart }) => {\n\tconst [remove, removing] = useCatalogCartItemRemove(cartItem.key);\n\n\tconst handleDelete = () => {\n\t\tremove().then(refreshCart);\n\t};\n\n\treturn (\n\t\t\n\t\t\t{cartItem.data['Basic.Name']}\n\t\t\t{cartItem.quantity}\n\t\t\t{cartItem.price.raw.display}\n\t\t\t{`${cartItem.price.tax_rate}%`}\n\t\t\t{cartItem.price.tax.display}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CartItem;\n\nCartItem.propTypes = {\n\tcartItem: PropTypes.object.isRequired,\n\trefreshCart: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport CartItem from './CartItem';\n\nconst CartItems = ({ items, refreshCart }) => {\n\treturn (\n\t\t<>\n\t\t\t{items.map(product => )}\n\t\t\n\t);\n};\n\nexport default CartItems;\n\nCartItems.propTypes = {\n\titems: PropTypes.array.isRequired,\n\trefreshCart: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { TableBody } from '@material-ui/core';\nimport Table from '@material-ui/core/Table';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport { useTranslation } from 'react-i18next';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableHead from '@material-ui/core/TableHead';\nimport { Title } from '../../../../core/typography/Title';\n\nconst CartSubTotals = ({ subtotals }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('cart_sub_totals')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t('cart_sub_total_cart')}\n\t\t\t\t\t\t{subtotals.regular.display}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t('cart_sub_total_shipping')}\n\t\t\t\t\t\t{subtotals.shipping.display}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t('cart_sub_total_discount')}\n\t\t\t\t\t\t{subtotals.discount.display}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t('cart_sub_total_other_tax')}\n\t\t\t\t\t\t{subtotals.tax.display}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default CartSubTotals;\n\nCartSubTotals.propTypes = {\n\tsubtotals: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport Table from '@material-ui/core/Table';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport { TableBody } from '@material-ui/core';\nimport { Title } from '../../../../core/typography/Title';\n\nconst CartTotals = ({ cart }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('cart_totals')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t('cart_total_before_discount')}\n\t\t\t\t\t\t{cart.total_no_coupon.display}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t('cart_total_after_discount')}\n\t\t\t\t\t\t{cart.total.display}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t('cart_total_vat_only')}\n\t\t\t\t\t\t{cart.total_vat_only.display}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{t('cart_total_vat')}\n\t\t\t\t\t\t{cart.total_vat.display}\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default CartTotals;\n\nCartTotals.propTypes = {\n\tcart: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport CartSubTotals from './Prices/CartSubTotals';\nimport CartTotals from './Prices/CartTotals';\n\nconst CartPrices = ({ cart }) => {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CartPrices;\n\nCartPrices.propTypes = {\n\tcart: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport TextField from '@material-ui/core/TextField';\nimport { useTranslation } from 'react-i18next';\nimport { useCatalogCartProcess } from '@karpeleslab/klb-react-services';\nimport AddShoppingCartIcon from '@material-ui/icons/AddShoppingCart';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport IconButton from '@material-ui/core/IconButton';\n\nconst CartAddCoupon = ({ refresh }) => {\n\tconst { t } = useTranslation();\n\tconst [coupon, setCoupon] = useState('');\n\tconst [processQuery, processingCart] = useCatalogCartProcess();\n\n\tconst handleAdd = () => {\n\t\tconst query = `coupon,coupon_code=${coupon.trim()}`;\n\t\tprocessQuery(query, { snackMessageToken: null })\n\t\t\t.then(cart => {\n\t\t\t\tsetCoupon('');\n\t\t\t\trefresh(cart);\n\t\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setCoupon(e.target.value)}\n\t\t\t\t\tInputProps={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t\t\t(\n\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CartAddCoupon;\n\nCartAddCoupon.propTypes = {\n\trefresh: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport { useTranslation } from 'react-i18next';\nimport { useRest } from '@karpeleslab/react-klbfw-hooks';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { getCountriesEndpoint } from '@karpeleslab/klb-react-services';\n\nconst CountrySelector = ({ value, setValue, label = null, helperText = null, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [countries] = useRest(getCountriesEndpoint());\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tdisabled={disabled || !countries}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tInputProps={!countries ?\n\t\t\t\t{\n\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t} : undefined\n\t\t\t}\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default CountrySelector;\n\nCountrySelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\thelperText: PropTypes.string,\n\tlabel: PropTypes.string,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport Grid from '@material-ui/core/Grid';\nimport TextField from '@material-ui/core/TextField';\nimport CountrySelector from '../../../core/input/CountrySelector';\n\nconst Form = ({ data, setData, setIsValid, disabled = false }) => {\n\tconst { t } = useTranslation();\n\n\tconst createChangeHandler = (key, isEvent = true) => e => {\n\t\tsetData({ ...data, [key]: isEvent ? e.target.value : e });\n\t};\n\n\tconst getValue = (key, def = '') => {\n\t\tif (!(key in (data ?? {}))) return def;\n\t\treturn data[key];\n\t};\n\n\tuseEffect(() => {\n\t\tif (!('First_Name' in (data ?? {})) || !getValue('First_Name').trim()) setIsValid(false);\n\t\telse if (!('Last_Name' in (data ?? {})) || !getValue('Last_Name').trim()) setIsValid(false);\n\t\telse if (!('Zip' in (data ?? {})) || !getValue('Zip').trim()) setIsValid(false);\n\t\telse if (!('Country__' in (data ?? {})) || !getValue('Country__')) setIsValid(false);\n\t\telse setIsValid(true);\n\t}, [data, setIsValid]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Form;\n\nForm.propTypes = {\n\tdata: PropTypes.object.isRequired,\n\tdisabled: PropTypes.bool,\n\tsetData: PropTypes.func.isRequired,\n\tsetIsValid: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { UserContext } from '../../../../context/UserContext';\nimport { Grid } from '@material-ui/core';\nimport Button from '../../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport {\n\tuseCatalogCartCreateOrder,\n\tuseUserLocationCreate,\n\tuseUserSetDefaultLocation\n} from '@karpeleslab/klb-react-services';\nimport Form from '../../User/Location/Form';\nimport { Title } from '../../../core/typography/Title';\n\n\nconst CreateOrder = ({ setOrder, setCreating, setDialogActions = null }) => {\n\tconst { t } = useTranslation();\n\n\tconst [userContext] = useContext(UserContext);\n\tconst [createOrder, creatingOrder] = useCatalogCartCreateOrder();\n\tconst [createLocation, creatingLocation] = useUserLocationCreate('@');\n\tconst [setDefaultLocation, settingDefaultLocation] = useUserSetDefaultLocation('@');\n\n\tconst [location, setLocation] = useState({});\n\tconst [locationValid, setLocationValid] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (!setCreating) return;\n\t\tsetCreating(creatingOrder || creatingLocation || settingDefaultLocation);\n\t}, [setCreating, creatingOrder, creatingLocation, settingDefaultLocation]);\n\n\tuseEffect(() => {\n\t\tif (!setDialogActions) return;\n\t\tif (userContext.user.data.Default_Billing_User_Location__) {\n\t\t\tsetDialogActions((\n\t\t\t\t\n\t\t\t\t\t{t('create_order_btn')}\n\t\t\t\t\n\t\t\t));\n\t\t} else {\n\t\t\tsetDialogActions((\n\t\t\t\t\n\t\t\t\t\t{t('create_order_btn')}\n\t\t\t\t\n\t\t\t));\n\t\t}\n\n\t}, [setDialogActions, creatingLocation, settingDefaultLocation, creatingOrder, locationValid]);\n\n\tconst handleCreateOrder = () => {\n\t\tcreateOrder().then(setOrder);\n\t};\n\n\tconst handleCreateOrderWithLocation = e => {\n\t\te.preventDefault();\n\n\t\tcreateLocation(location, { snackMessageToken: null })\n\t\t\t.then(location => setDefaultLocation(location.User_Location__, 'Billing', { snackMessageToken: null }))\n\t\t\t.then(handleCreateOrder);\n\t};\n\n\tif (userContext.user.data.Default_Billing_User_Location__) {\n\t\t// Button is added to the dialog with useEffect above\n\t\tif (setDialogActions) return <>;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('create_order_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('cart_billing_location_create')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{!setDialogActions && \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('create_order_btn')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default CreateOrder;\n\nCreateOrder.propTypes = {\n\tsetOrder: PropTypes.func.isRequired,\n\tsetCreating: PropTypes.func,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport { useCatalogCart, useCatalogCartProcess, useCatalogCartReset } from '@karpeleslab/klb-react-services';\nimport Loader from '../../layout/Loader/Loader';\nimport { Grid } from '@material-ui/core';\nimport EmptyCart from './Cart/EmptyCart';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport { useTranslation } from 'react-i18next';\nimport CartHeader from './Cart/CartHeader';\nimport CartItems from './Cart/CartItems';\nimport CartPrices from './Cart/CartPrices';\nimport CartAddCoupon from './Cart/CartAddCoupon';\nimport { Title } from '../../core/typography/Title';\nimport CreateOrder from './Cart/CreateOrder';\n\nconst Cart = ({ request = null, setOrder, setCreating, setDialogActions = null }) => {\n\tconst [cart, refresh, loadingCart] = useCatalogCart();\n\tconst [processQuery, processingCart] = useCatalogCartProcess();\n\tconst [resetCart, resettingCart] = useCatalogCartReset();\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\tif (!request) return;\n\n\t\tresetCart()\n\t\t\t.then(() => processQuery(request, { snackMessageToken: null }))\n\t\t\t.then(newCart => refresh(newCart));\n\n\t}, [request, refresh, resetCart]);\n\n\n\tif (!cart || loadingCart || processingCart || resettingCart) {\n\t\treturn ;\n\t}\n\n\tif (cart.data.products.length < 1) {\n\t\treturn ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('cart_title')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{setOrder &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t
\n\t);\n};\n\nexport default Cart;\n\nCart.propTypes = {\n\trequest: PropTypes.string,\n\tsetCreating: PropTypes.func,\n\tsetOrder: PropTypes.func,\n\tsetDialogActions: PropTypes.func // Used when the component is used in a dialog in order to integrate the action into the dialog actions\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport Box from '@material-ui/core/Box';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport Grid from '@material-ui/core/Grid';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport Cart from '../../Cart/Cart';\nimport OrderWithPayment from './OrderWithPayment';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst NewOrderDialog = ({ open, setOpen, request, onComplete, onClose }) => {\n\tconst { t } = useTranslation();\n\tconst [creating, setCreating] = useState(false);\n\tconst [order, setOrder] = useState(null);\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'), { noSsr: true });\n\n\tconst [dialogActions, setDialogActions] = useState(null);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t\tif (onClose) onClose();\n\t};\n\n\tconst reset = () => {\n\t\tsetDialogActions(null);\n\t};\n\n\tconst onCompleteHandler = order => {\n\t\tonComplete(order);\n\t};\n\n\treturn (\n\t\t reset()}\n\t\t\tmaxWidth='lg'\n\t\t\tfullScreen={isMobile}\n\t\t\tfullWidth\n\t\t>\n\t\t\t\n\t\t\t\t{t('new_order_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{!order &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{order && \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{dialogActions}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default NewOrderDialog;\n\nNewOrderDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\trequest: PropTypes.string.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tonComplete: PropTypes.func.isRequired,\n\tonClose: PropTypes.func\n};\n","import React from 'react';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\n\nconst ShellWindowsOsWarning = () => {\n\treturn (\n\t\t\n\t);\n};\n\nexport default ShellWindowsOsWarning;\n\nexport const isShellWindowsOSWarningNeeded = (shell, os) => {\n\t// Only for windows\n\tif(!os) return false;\n\tif (os.Family !== 'windows') return false;\n\n\t// Only if the shell has basic, lite, or none plan\n\treturn !(!!shell && !['lite', 'basic'].includes(shell.Catalog_Product['Description.AuthorCode']));\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../core/input/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { Grid, Typography } from '@material-ui/core';\nimport { useShellSetInitialOS } from '@karpeleslab/klb-react-services';\nimport OSSelector from '../OperatingSystem/Selector/OSSelector';\nimport ModeCheck from '../../layout/Mode/ModeCheck';\nimport SSHKeyWarning from './Reinstall/SSHKeyWarning';\nimport ShellKeychainSelector from '../../core/input/ShellKeychainSelector';\nimport { useShellHasLicense } from '../../../hooks/useShellLicense';\nimport SelectOsLicenseInfo from './License/SelectOSLicenseInfo';\nimport NewOrderDialog from '../Order/order/NewOrderDialog';\nimport ShellWindowsOsWarning, { isShellWindowsOSWarningNeeded } from './ShellWindowsOSWarning';\n\nconst ShellSetInitialOSDialog = ({ open, setOpen, shell, setShell, onComplete }) => {\n\tconst { t } = useTranslation();\n\tconst [doSetOs, loading] = useShellSetInitialOS(shell.Shell__);\n\tconst [os, setOs] = useState(null);\n\tconst [keychain, setKeychain] = useState('none');\n\tconst [hasLicense, setHasLicense] = useState(false);\n\tconst [fetch, loadingLicense] = useShellHasLicense(shell.Shell__);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\n\t// Used when an order is needed\n\tconst [orderRequest, setOrderRequest] = useState(null);\n\tconst [showOrder, setShowOrder] = useState(false);\n\n\tuseEffect(() => {\n\t\tif (!os || !os.Catalog_Product__) {\n\t\t\tsetHasLicense(true);\n\t\t\treturn;\n\t\t}\n\n\t\t// Used to reset the state of the selected license\n\t\tsetHasLicense(false);\n\n\t\tfetch(os.Catalog_Product['Shell.LicenseType']).then(setHasLicense);\n\t}, [setHasLicense, os]);\n\n\tuseEffect(() => {\n\t\tif (!os || os === 'none') {\n\t\t\tsetSaveEnabled(false);\n\t\t\treturn;\n\t\t}\n\n\t\t// Check for license\n\t\tif (os.Catalog_Product) {\n\t\t\tif (loadingLicense || !hasLicense) {\n\t\t\t\tsetSaveEnabled(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\t// We need to require an keychain has been set only when the OS is a server\n\t\tif (os.Purpose !== 'server') {\n\t\t\tsetSaveEnabled(true);\n\t\t\treturn;\n\t\t}\n\n\t\tsetSaveEnabled(!!keychain && keychain !== 'none');\n\n\t}, [os, keychain, setSaveEnabled, loadingLicense, hasLicense]);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst onOrderComplete = () => {\n\t\tsetShowOrder(false);\n\t\tsetOrderRequest(null);\n\n\t\tfetch(os.Catalog_Product['Shell.LicenseType']).then(setHasLicense);\n\t};\n\n\tconst handleBuyLicense = e => {\n\t\te.preventDefault();\n\t\tconst productId = os.Catalog_Product__;\n\t\tconst shellId = shell.Shell__;\n\n\t\tconst urlParams = `${productId},shell=${shellId}`;\n\n\t\tsetOrderRequest(urlParams);\n\t\tsetShowOrder(true);\n\t};\n\n\tconst handleConfirm = () => {\n\t\tconst k = keychain === 'none' ? null : keychain;\n\n\t\tdoSetOs(os.Shell_OS__, k)\n\t\t\t.then(shell => {\n\t\t\t\tsetShell(shell);\n\t\t\t\treturn shell;\n\t\t\t})\n\t\t\t.then(onComplete)\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tsample
\n\t\t\t\t\t\tsample\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shell_os_selector_label')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{isShellWindowsOSWarningNeeded(shell, os) &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t{(os && os.Catalog_Product__) &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('shell_initial_config_ssh_title')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{orderRequest &&\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default ShellSetInitialOSDialog;\n\nShellSetInitialOSDialog.propTypes = {\n\tonComplete: PropTypes.func.isRequired,\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { cloneElement, useState } from 'react';\nimport ShellSetInitialOSDialog from './ShellSetInitialOSDialog';\n\nconst ShellOpenWrapper = ({ shell, setShell, children, disabled = false, callback }) => {\n\tconst [showSelectOs, setShowSelectOs] = useState(false);\n\n\tconst openShell = s => {\n\t\tif (callback) callback(s);\n\t\telse window.open(`${process.env.REACT_APP_VIEW_SHELL_URL}/?id=${shell.Shell__}`);\n\t};\n\n\tconst onClickHandler = () => {\n\t\tif (disabled) return;\n\t\tif (shell.Shell_OS__)\n\t\t\topenShell(shell);\n\t\telse\n\t\t\tsetShowSelectOs(true);\n\n\t};\n\treturn (\n\t\t<>\n\t\t\t{cloneElement(children, { onClick: onClickHandler })}\n\t\t\t{shell && }\n\t\t\n\t);\n};\n\nexport default ShellOpenWrapper;\n\nShellOpenWrapper.propTypes = {\n\tcallback: PropTypes.func,\n\tchildren: PropTypes.node.isRequired,\n\tdisabled: PropTypes.bool,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles(() => {\n\tconst variants = [\n\t\t{ variant: '1x1', ratio: 1 },\n\t\t{ variant: '4x3', ratio: 1.3333 },\n\t];\n\n\tconst sizes = [\n\t\t{ size: 'small', height: 16 },\n\t\t{ size: 'medium', height: 32 },\n\t\t{ size: 'large', height: 48 },\n\t\t{ size: 'x-large', height: 64 }\n\t];\n\n\tlet c = {\n\t\t'wrapper': {\n\t\t\tposition: 'relative',\n\t\t}\n\t};\n\tvariants.forEach((v) => {\n\t\tsizes.forEach((s) => {\n\t\t\tc['flag-' + v.variant + '-' + s.size] = {\n\t\t\t\twidth: (s.height * v.ratio) + 'px',\n\t\t\t\theight: s.height + 'px',\n\t\t\t\tborder: '1px solid #cacaca;',\n\t\t\t\t'&.disabled': {\n\t\t\t\t\tfilter: 'grayscale(100%)'\n\t\t\t\t},\n\t\t\t\t'&.rounded': {\n\t\t\t\t\tborderRadius: '50%',\n\t\t\t\t}\n\t\t\t};\n\t\t\tc['wrapper-' + v.variant + '-' + s.size] = {\n\t\t\t\twidth: (s.height * v.ratio) + 'px',\n\t\t\t\theight: s.height + 'px',\n\t\t\t\t'&.rounded': {\n\t\t\t\t\toverflow: 'hidden'\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t});\n\n\treturn c;\n\n});\n\n\nconst Flag = React.forwardRef((props, ref) => {\n\tconst { code, ratio = '4x3', size = 'medium', disabled = false, rounded = false, alt = null } = props;\n\tconst classes = useStyles();\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t);\n});\n\nFlag.propTypes = {\n\tcode: PropTypes.string.isRequired,\n\talt: PropTypes.string,\n\tratio: PropTypes.oneOf(['4x3', '1x1']),\n\tsize: PropTypes.oneOf(['small', 'medium', 'large', 'x-large']),\n\tdisabled: PropTypes.bool,\n\trounded: PropTypes.bool,\n};\n\nFlag.displayName = 'Flag';\n\nexport default Flag;\n","import moment from 'moment';\n\nexport const formatShellExpireDate = (shell) => {\n\tif (!shell.Created || !shell.Expires.iso) {\n\t\treturn '';\n\t}\n\treturn moment(shell.Expires.iso).format('ll');\n};\n\n\nexport const isExpired = (shell) => {\n\tif (shell.Status === 'expired') return true;\n\treturn !!(shell.Expires && moment(parseInt(shell.Expires.unixms)) < moment());\n};\n\nexport const isShellValid = (shell) => {\n\tif (shell.Timer_Enabled && shell.Timer_Balance <= 0) return false;\n\treturn !isExpired(shell);\n};\n\nexport const isShellCanBeStarted = (shell) => {\n\treturn isShellValid(shell) && shell.State !== 'preparing';\n};\n\nexport const getPrice = (item, forceShowMonthly, isCustom, unit) => {\n\tlet p = item[forceShowMonthly ? 'Price.Monthly' : 'Price'];\n\tif (isCustom) {\n\t\tp = '$' + p.value_disp * unit;\n\t} else {\n\t\tp = p.display;\n\t}\n\n\treturn p;\n};\n\nexport const isCustomPlan = (plan) => {\n\treturn plan['Description.AuthorCode'] === 'custom';\n};\n\nexport const isYearly = (plan) => {\n\treturn plan['Basic.ServiceLifetime'] === '1y';\n};\n\nexport const isSamePlanType = (p1, p2) => {\n\treturn p1['Description.AuthorCode'] === p2['Description.AuthorCode'];\n};\n","export default __webpack_public_path__ + \"static/media/lp-plan-01.ef6cdff0.png\";","export default __webpack_public_path__ + \"static/media/lp-plan-02.c39f7a7c.png\";","export default __webpack_public_path__ + \"static/media/lp-plan-03.655f65c2.png\";","export default __webpack_public_path__ + \"static/media/lp-plan-04.adfcd1d7.png\";","export default __webpack_public_path__ + \"static/media/lp-plan-05.177aa524.png\";","import { useCallback, useEffect, useState } from 'react';\nimport { useCatalogProductsSearch } from '@karpeleslab/klb-react-services';\nimport GRAPHIC_SHELL_LITE from '../assets/img/plans/lp-plan-01.png';\nimport GRAPHIC_SHELL_BASIC from '../assets/img/plans/lp-plan-02.png';\nimport GRAPHIC_SHELL_PRO from '../assets/img/plans/lp-plan-03.png';\nimport GRAPHIC_SHELL_PLUS from '../assets/img/plans/lp-plan-04.png';\nimport GRAPHIC_SHELL_CUSTOM from '../assets/img/plans/lp-plan-05.png';\nimport { isYearly } from '../utils/shell';\n\nexport const CATALOG_PRODUCT_SHELL_IP = 'cpr-stzkrd-q5lr-cwdb-4dir-kwfpjn6m';\n\nexport const SHELL_REBOOT_ENABLE_STATES = ['running', 'paused'];\nexport const SHELL_START_ENABLE_STATES = ['paused', 'crashed', 'shutoff', 'shutdown', 'nostate', 'pmsuspended', 'unknown'];\nexport const SHELL_STOP_ENABLE_STATES = ['running', 'paused', 'crashed'];\n\nexport const UNIT_CPU = 0.25;\nexport const UNIT_RAM = 512;\nexport const UNIT_HDD = 10;\n\nexport const SHELL_OS_ICON_VARIATION = 'strip&scale_crop=285x285&format=png';\n\nexport const SHELL_PLANS_SEARCH_QUERY = {\n\tquery: {\n\t\t'Description.Type': 'shells_plan'\n\t},\n\tsort: 'Basic.Priority:asc'\n};\n\nexport const isShellYearly = (shell) => {\n\treturn isYearly(shell.Catalog_Product);\n};\n\nexport const getShellGraphic = type => {\n\tswitch (type) {\n\t\tcase 'lite':\n\t\t\treturn GRAPHIC_SHELL_LITE;\n\t\tcase 'basic':\n\t\t\treturn GRAPHIC_SHELL_BASIC;\n\t\tcase 'plus':\n\t\t\treturn GRAPHIC_SHELL_PLUS;\n\t\tcase 'pro':\n\t\t\treturn GRAPHIC_SHELL_PRO;\n\t\tcase 'custom':\n\t\t\treturn GRAPHIC_SHELL_CUSTOM;\n\t\tdefault :\n\t\t\treturn GRAPHIC_SHELL_LITE;\n\t}\n};\n\nexport const useShellPlans = () => {\n\tconst [plans, setPlans] = useState(null);\n\tconst [, fetchPlans] = useCatalogProductsSearch();\n\n\tconst refresh = useCallback(\n\t\tdata => {\n\t\t\tif (data) {\n\t\t\t\tsetPlans({ ...(plans ?? {}), data: data });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn fetchPlans(SHELL_PLANS_SEARCH_QUERY)\n\t\t\t\t.then(({ data }) => {\n\t\t\t\t\tsetPlans(data);\n\t\t\t\t})\n\t\t\t\t.catch(e => {\n\t\t\t\t\tsetPlans({ error: e });\n\t\t\t\t});\n\t\t}\n\t\t, [plans]); //eslint-disable-line\n\n\tuseEffect(() => {\n\t\trefresh();\n\t}, []); //eslint-disable-line\n\n\treturn [plans, refresh];\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { SHELL_STOP_ENABLE_STATES } from '../../../../hooks/useShells';\nimport PowerSettingsNewIcon from '@material-ui/icons/PowerSettingsNew';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport ReportIcon from '@material-ui/icons/Report';\nimport { isExpired, isShellValid } from '../../../../utils/shell';\nimport { useTheme } from '@material-ui/core';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { useTranslation } from 'react-i18next';\n\n\nconst useStyles = makeStyles(() => {\n\treturn {\n\t\tosIcon: {\n\t\t\t'&:hover':\n\t\t\t\t{\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\topacity: '0.7',\n\t\t\t\t}\n\t\t}\n\t};\n});\n\nconst ShellStateIcon = ({ shell, size = 'medium' }) => {\n\tconst classes = useStyles();\n\tconst theme = useTheme();\n\tconst { t } = useTranslation();\n\tlet component = null;\n\tlet title = '';\n\n\tif (!isShellValid(shell)) {\n\t\tcomponent = ;\n\n\t\ttitle = isExpired(shell) ? t('shell_expired_tooltip') : t('shell_time_allowance_tooltip');\n\t} else if (SHELL_STOP_ENABLE_STATES.includes(shell.State)) {\n\t\tcomponent = ;\n\t\ttitle = t(`shell_status_${shell.State}`);\n\t} else if (shell.State !== 'preparing') {\n\t\tcomponent = ;\n\t\ttitle = t('shell_status_shutdown');\n\t} else {\n\t\tcomponent = ;\n\t\ttitle = t('shell_preparing_tooltip');\n\n\t}\n\n\treturn (\n\t\t\n\t\t\t{component}\n\t\t);\n};\n\nexport default ShellStateIcon;\n\nShellStateIcon.propTypes = {\n\tshell: PropTypes.object.isRequired,\n\tsize: PropTypes.string\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport ShellOpenWrapper from '../ShellOpenWrapper';\nimport Flag from '../../../core/data/Flag/Flag';\nimport { useHistory } from 'react-router';\nimport { getShellViewRoute } from '../../../RouteController/Factory';\nimport { isShellCanBeStarted } from '../../../../utils/shell';\nimport Grid from '@material-ui/core/Grid';\nimport defaultIcon from '../../../../assets/img/shells_icon_white.svg';\nimport ShellStateIcon from './ShellStateIcon';\nimport { useTranslation } from 'react-i18next';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { SHELL_OS_ICON_VARIATION } from '../../../../hooks/useShells';\nimport Img from '../../../core/data/Image/Img';\n\n\nconst useStyles = makeStyles(() => {\n\treturn {\n\t\tosIcon: {\n\t\t\t'&:hover':\n\t\t\t\t{\n\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\topacity: '0.7',\n\t\t\t\t}\n\t\t}\n\t};\n});\n\nconst ShellPicture = ({ shell, setShell, flagSize = 'medium', disabled = false, stateSize = undefined, ...rest }) => {\n\tconst classes = useStyles();\n\tconst { t } = useTranslation();\n\n\tconst history = useHistory();\n\n\tconst getPicture = () => {\n\t\tif (!shell || !shell.OS || !shell.OS.Media_Image)\n\t\t\treturn defaultIcon; // Todo, replace with an appropriate image\n\n\t\tif (SHELL_OS_ICON_VARIATION in shell.OS.Media_Image)\n\t\t\treturn shell.OS.Media_Image[SHELL_OS_ICON_VARIATION];\n\n\t\treturn shell.OS.Media_Image.Url;\n\t};\n\n\tconst onOSSet = shell => {\n\t\tif (shell.State === 'preparing') {\n\t\t\t// We need to force to go the shell page to display the message\n\t\t\thistory.push(getShellViewRoute(shell.Shell__));\n\t\t} else {\n\t\t\twindow.open(`${process.env.REACT_APP_VIEW_SHELL_URL}/?id=${shell.Shell__}`);\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellPicture;\n\nShellPicture.propTypes = {\n\tdisabled: PropTypes.bool,\n\tflagSize: PropTypes.string,\n\tsetShell: PropTypes.func,\n\tshell: PropTypes.object,\n\tstateSize: PropTypes.any\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport ShellOpenWrapper from '../ShellOpenWrapper';\nimport { IconButton } from '@material-ui/core';\nimport { PlayArrow } from '@material-ui/icons';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { useTranslation } from 'react-i18next';\nimport { useShellStart } from '@karpeleslab/klb-react-services';\nimport { SHELL_START_ENABLE_STATES } from '../../../../hooks/useShells';\n\nconst ShellActionStart = ({ setShell, shell, setLoading, disabled = false }) => {\n\tconst { t } = useTranslation();\n\tconst [start, starting] = useShellStart(shell.Shell__);\n\n\tuseEffect(() => {\n\t\tsetLoading(starting);\n\t}, [starting]);\n\n\tconst startHandler = s => {\n\t\tstart().then(() => setShell({ ...s, State: 'running' }));\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellActionStart;\n\nShellActionStart.propTypes = {\n\tdisabled: PropTypes.bool,\n\tsetLoading: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport { Trans, useTranslation } from 'react-i18next';\nimport RichAlert from '../../core/feedback/RichAlert';\nimport Button from '../../core/input/Button';\n\n\nconst ShellActionConfirmationDialog = ({ open, setOpen, actionName, action, loading }) => {\n\tconst { t } = useTranslation();\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleConfirm = () => {\n\t\taction(actionName)\n\t\t\t.finally(() => {\n\t\t\t\thandleClose();\n\t\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t(`shell_action_${actionName}_title`)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('back_btn')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t(`${actionName}_btn`)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellActionConfirmationDialog;\n\nShellActionConfirmationDialog.propTypes = {\n\taction: PropTypes.func,\n\tactionName: PropTypes.string,\n\tloading: PropTypes.bool.isRequired,\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { IconButton } from '@material-ui/core';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { useTranslation } from 'react-i18next';\nimport { useShellStop } from '@karpeleslab/klb-react-services';\nimport StopIcon from '@material-ui/icons/Stop';\nimport ShellActionConfirmationDialog from '../ShellActionConfirmationDialog';\nimport { SHELL_STOP_ENABLE_STATES } from '../../../../hooks/useShells';\n\nconst ShellActionStop = ({ setShell, shell, setLoading, disabled = false }) => {\n\tconst { t } = useTranslation();\n\tconst [stop, stopping] = useShellStop(shell.Shell__);\n\tconst [showConfirm, setShowConfirm] = useState(false);\n\n\tuseEffect(() => {\n\t\tsetLoading(stopping);\n\t}, [stopping]);\n\n\tconst stopHandler = () => {\n\t\treturn stop().then(() => setShell({ ...shell, State: 'shutoff' }));\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setShowConfirm(true)}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellActionStop;\n\nShellActionStop.propTypes = {\n\tdisabled: PropTypes.bool,\n\tsetLoading: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { IconButton } from '@material-ui/core';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { useTranslation } from 'react-i18next';\nimport { useShellReboot } from '@karpeleslab/klb-react-services';\nimport ShellActionConfirmationDialog from '../ShellActionConfirmationDialog';\nimport { SHELL_REBOOT_ENABLE_STATES } from '../../../../hooks/useShells';\nimport ReplayIcon from '@material-ui/icons/Replay';\n\nconst ShellActionReboot = ({ setShell, shell, setLoading, disabled = false }) => {\n\tconst { t } = useTranslation();\n\tconst [reboot, rebooting] = useShellReboot(shell.Shell__);\n\tconst [showConfirm, setShowConfirm] = useState(false);\n\n\tuseEffect(() => {\n\t\tsetLoading(rebooting);\n\t}, [rebooting]);\n\n\tconst rebootHandler = () => {\n\t\treturn reboot().then(() => setShell({ ...shell, State: 'running' }));\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t setShowConfirm(true)}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellActionReboot;\n\nShellActionReboot.propTypes = {\n\tdisabled: PropTypes.bool,\n\tsetLoading: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport ButtonGroup from '@material-ui/core/ButtonGroup';\nimport { useTranslation } from 'react-i18next';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport ShellActionStart from './ShellActionStart';\nimport ShellActionStop from './ShellActionStop';\nimport ShellActionReboot from './ShellActionReboot';\n\n\nconst useStyles = makeStyles(theme => {\n\treturn {\n\t\tbuttonGroup: {\n\t\t\t'border': `solid 1px ${theme.palette.primary.main}`,\n\t\t\t'border-radius': '25px',\n\t\t},\n\t\tcontainer: {\n\t\t\tposition: 'relative'\n\t\t},\n\t\tloader: {\n\t\t\tposition: 'absolute',\n\t\t\ttop: 0,\n\t\t\tleft: 0,\n\t\t\tright: 0,\n\t\t\tbottom: 0,\n\t\t\tmargin: 'auto'\n\t\t}\n\t};\n});\n\nconst ShellAction = ({ shell, setShell, disabled = false }) => {\n\tconst { t } = useTranslation();\n\tconst classes = useStyles();\n\tconst [loading, setLoading] = useState(false);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{loading && }\n\t\t\n\t);\n};\n\nexport default ShellAction;\n\nShellAction.propTypes = {\n\tdisabled: PropTypes.bool,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport { useTranslation } from 'react-i18next';\nimport moment from 'moment';\nimport { useHumanTimeFormatter } from '../../../../hooks/useUtils';\nimport AllInclusiveOutlinedIcon from '@material-ui/icons/AllInclusiveOutlined';\n\nconst ShellUsage = ({ shell, light = false }) => {\n\tconst { t } = useTranslation();\n\n\tconst formatTime = useHumanTimeFormatter();\n\n\tif (!shell.Timer_Enabled)\n\t\treturn light ?\n\t\t\t'' :\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('shell_unlimited_usage')}\n\t\t\t\t\n\t\t\t;\n\n\n\treturn (\n\t\t(\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shell_timer_remaining', {\n\t\t\t\t\t\t\ttime: formatTime(shell.Timer_Balance)\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\t{!light && }\n\t\t\t\t\t{!light && \n\t\t\t\t\t\t{t('shell_timer_next_reset', {\n\t\t\t\t\t\t\tdate: shell.Timer_Next_Reset\n\t\t\t\t\t\t\t\t? moment(parseInt(shell.Timer_Next_Reset.unixms)).format('LL')\n\t\t\t\t\t\t\t\t: 'N/A'\n\t\t\t\t\t\t})}\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t)\n\t);\n};\n\nexport default ShellUsage;\n\nShellUsage.propTypes = {\n\tlight: PropTypes.bool,\n\tshell: PropTypes.object.isRequired\n};\n","import { useTranslation } from 'react-i18next';\n\nexport const useHumanTimeFormatter = () => {\n\tconst { t } = useTranslation();\n\treturn timeInSeconds => {\n\t\tconst secNum = parseInt(timeInSeconds, 10);\n\t\tlet hours = Math.floor((secNum ) / 3600);\n\t\tlet minutes = Math.floor((secNum - hours * 3600) / 60);\n\t\tlet seconds = secNum - hours * 3600 - minutes * 60;\n\n\t\tif (hours > 0)\n\t\t\treturn t('remaining_time_hours', { hours: hours, minutes: minutes });\n\t\tif (minutes > 0)\n\t\t\treturn t('remaining_time_minutes', {\n\t\t\t\tminutes: minutes,\n\t\t\t\tseconds: seconds\n\t\t\t});\n\t\tif (seconds > 0) return t('remaining_time_seconds', { seconds: seconds });\n\t\treturn t('remaining_time_none', { seconds: seconds });\n\t};\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport IconButton from '@material-ui/core/IconButton';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { NavLink } from 'react-router-dom';\nimport { getShellViewRoute } from '../../../../RouteController/Factory';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport { useTranslation } from 'react-i18next';\nimport AutorenewIcon from '@material-ui/icons/Autorenew';\nimport NewOrderDialog from '../../../Order/order/NewOrderDialog';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst ActionMenu = ({ shell, refresh }) => {\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('sm'), { noSsr: true });\n\tconst needHorizontal = useMediaQuery('(max-width:1666px)', { noSsr: true });\n\n\n\tconst { t } = useTranslation();\n\tconst [menuAnchor, setMenuAnchor] = React.useState(null);\n\n\tconst [showOrder, setShowOrder] = useState(false);\n\n\tconst handleRenew = () => {\n\t\tsetShowOrder(true);\n\t};\n\n\tconst handleComplete = () => {\n\t\trefresh();\n\t\tcloseMenu();\n\t};\n\n\tconst openMenu = (event) => {\n\t\tsetMenuAnchor(event.currentTarget);\n\t};\n\n\tconst closeMenu = () => {\n\t\tsetMenuAnchor(null);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{(!isMobile && needHorizontal) ? : }\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{!shell.User_Billing__ &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t{\n\t\t\t\tshowOrder &&\n\t\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default ActionMenu;\n\nActionMenu.propTypes = {\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport Button from '../../../../core/input/Button';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport { useTranslation } from 'react-i18next';\nimport ShellOpenWrapper from '../../ShellOpenWrapper';\nimport ActionMenu from './ActionMenu';\nimport { isShellCanBeStarted } from '../../../../../utils/shell';\n\nconst ShellTableAction = ({ shell, setShell, refresh, justify = 'flex-end', light = false }) => {\n\tconst { t } = useTranslation();\n\n\n\treturn (\n\t\t\n\t\t\t{!light && \n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('view_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellTableAction;\n\nShellTableAction.propTypes = {\n\tjustify: PropTypes.string,\n\tlight: PropTypes.bool,\n\tsetShell: PropTypes.func.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport Button from '../../core/input/Button';\nimport { formatShellExpireDate } from '../../../utils/shell';\nimport NewOrderDialog from '../Order/order/NewOrderDialog';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport AutorenewIcon from '@material-ui/icons/Autorenew';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport MenuItem from '@material-ui/core/MenuItem';\n\nconst ShellExpireButton = ({ shell, refresh, light = false, inMenu = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [showOrder, setShowOrder] = useState(false);\n\n\tif (shell.User_Billing__) {\n\t\treturn <>;\n\t}\n\n\tconst handleRenew = e => {\n\t\tsetShowOrder(true);\n\t\tif (rest.onClick) rest.onClick(e);\n\t};\n\n\tconst handleComplete = () => {\n\t\trefresh();\n\t};\n\n\tif (inMenu) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{\n\t\t\t\t\tshowOrder &&\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\t!light ? t('shell_expire_renew_btn', { date: formatShellExpireDate(shell) }) : t('renew_btn')\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t{\n\t\t\t\tshowOrder &&\n\t\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default ShellExpireButton;\n\nShellExpireButton.propTypes = {\n\tinMenu: PropTypes.bool,\n\tlight: PropTypes.bool,\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport { Trans } from 'react-i18next';\nimport moment from 'moment';\nimport { Grid } from '@material-ui/core';\nimport ShellExpireButton from '../ShellExpireButton';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst ShellExpiredMessage = ({ shell, refresh, allowShortMode = false }) => {\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('sm'));\n\tconst isSmall = useMediaQuery(theme => theme.breakpoints.down('md'));\n\n\t// This is an edge case where the normal alert message wouldn't have space to be displayed\n\tif (!isMobile && isSmall && allowShortMode) {\n\t\treturn \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tsample
\n\t\t\t\t\t\tsample\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t{refresh ?\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t : undefined}\n\t\t
;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t : undefined}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\tsample
\n\t\t\t\t\t\tsample\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ShellExpiredMessage;\n\nShellExpiredMessage.propTypes = {\n\tallowShortMode: PropTypes.bool,\n\trefresh: PropTypes.func,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { TableRow, Typography } from '@material-ui/core';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport TableCell from '@material-ui/core/TableCell';\nimport ShellUsage from '../Subscription/ShellUsage';\nimport Grid from '@material-ui/core/Grid';\nimport ShellTableAction from './Action/ShellTableAction';\nimport ShellExpireButton from '../ShellExpireButton';\nimport Accordion from '@material-ui/core/Accordion';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport Chip from '@material-ui/core/Chip';\nimport ShellPicture from '../ShellPicture/ShellPicture';\nimport ShellAction from '../ShellAction/ShellAction';\nimport { useTranslation } from 'react-i18next';\nimport { formatShellExpireDate, isExpired } from '../../../../utils/shell';\nimport ShellExpiredMessage from '../Subscription/ShellExpiredMessage';\nimport ModeCheck from '../../../layout/Mode/ModeCheck';\n\nconst ShellListRow = ({ data, children, loading, idx, createSetShellHandler, refresh, ...rest }) => {\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('sm'), { noSsr: true });\n\tconst isXSmall = useMediaQuery('(max-width:433px)', { noSsr: true });\n\tconst [state, setState] = useState(JSON.parse(localStorage.getItem('shell-mobile-accordion-state') ?? '{}'));\n\tconst { t } = useTranslation();\n\n\tif (!isMobile || loading) {\n\t\treturn \n\t\t\t{children}\n\t\t;\n\t}\n\n\tconst storeState = data => {\n\t\tlocalStorage.setItem('shell-mobile-accordion-state', JSON.stringify(data));\n\t\tsetState(data);\n\t};\n\n\tconst changeHandler = (e, expended) => {\n\t\tconst newState = {\n\t\t\t...JSON.parse(localStorage.getItem('shell-mobile-accordion-state') ?? '{}'),\n\t\t\t[data.Shell__]: expended\n\t\t};\n\t\tstoreState(newState);\n\t};\n\n\tconst isExpended = () => {\n\t\treturn data.Shell__ in state && state[data.Shell__] === true;\n\t};\n\n\treturn \n\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\taria-controls={`panel${idx}a-content`}\n\t\t\t\t\tid={`panel${idx}a-header`}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{data.Label}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{isExpired(data) && }\n\t\t\t\t\t\t{!isExpired(data) && <>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{!data.User_Billing__ && \n\t\t\t\t\t\t\t\t{t('shell_expire_text', { date: formatShellExpireDate(data) })}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t;\n};\n\nexport default ShellListRow;\n\nShellListRow.propTypes = {\n\tchildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n\tcreateSetShellHandler: PropTypes.func,\n\trefresh: PropTypes.func,\n\tdata: PropTypes.object.isRequired,\n\tidx: PropTypes.number,\n\tloading: PropTypes.bool\n};\n","import withStyles from '@material-ui/core/styles/withStyles';\nimport Badge from '@material-ui/core/Badge';\nimport { Chip } from '@material-ui/core';\n\nexport const PlanBadge = withStyles(() => ({\n\tbadge: {\n\t\tbottom: '0',\n\t\tright: 'unset',\n\t\tleft: '50%',\n\t\ttransform: 'translate(-50%, -50%)',\n\t},\n}))(Badge);\n\n\nexport const PlanChip = withStyles(() => ({\n\troot: {\n\t\theight: '20px',\n\t},\n\tlabel: {\n\t\tfontSize: '0.75rem',\n\t\tfontWeight: '500',\n\t\tlineHeight: 1\n\t}\n}))(Chip);\n","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TableDefinition from '../../../core/data/table/TableDefinition';\nimport Table from '../../../core/data/table/Table';\nimport EmptyList from './EmptyList';\nimport ShellPicture from '../ShellPicture/ShellPicture';\nimport { Grid } from '@material-ui/core';\nimport ShellAction from '../ShellAction/ShellAction';\nimport ShellUsage from '../Subscription/ShellUsage';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport ShellListRow from './ShellListRow';\nimport ShellTableAction from './Action/ShellTableAction';\nimport { formatShellExpireDate, isExpired } from '../../../../utils/shell';\nimport ShellExpiredMessage from '../Subscription/ShellExpiredMessage';\nimport { ADVANCED_MODE } from '../../../../context/ModeContext';\nimport { useIsMode } from '../../../../hooks/useIsMode';\nimport { useShells } from '@karpeleslab/klb-react-services';\nimport { useAutoRefresher } from '../../../../hooks/useAutoRefresher';\nimport { PlanChip } from '../ShellPicture/PlanBadge';\nimport { SHELL_OS_ICON_VARIATION } from '../../../../hooks/useShells';\n\nconst ShellsTable = () => {\n\tconst { t } = useTranslation();\n\tconst [shells, fetch, loading, setShell] = useShells();\n\n\tconst refresher = useCallback(() => {\n\t\tfetch(null, null, { silent: true });\n\t}, [fetch]);\n\n\n\tuseAutoRefresher(refresher);\n\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('sm'));\n\tconst isAdvanced = useIsMode(ADVANCED_MODE);\n\n\tconst createSetShellHandler = idx => shell => {\n\t\tsetShell(idx, shell);\n\t};\n\n\tconst tableDefStyle = {\n\t\twidth: isMobile ? '100%' : '150px',\n\t\t...(isMobile ? { borderBottom: 'unset', padding: '0px' } : {})\n\t};\n\n\treturn (\n\t\t}\n\t\t\tinitialFilters={\n\t\t\t\t{\n\t\t\t\t\tStatus: { '$in': ['valid', 'expired'] },\n\t\t\t\t\tsort: { Label: 'ASC', Created: 'ASC' },\n\t\t\t\t\timage_variation: [SHELL_OS_ICON_VARIATION]\n\t\t\t\t}\n\t\t\t}\n\t\t\tsearchKey='Label'\n\t\t\trowProps={{\n\t\t\t\trefresh: refresher,\n\t\t\t\tcreateSetShellHandler: createSetShellHandler\n\t\t\t}}\n\t\t\tRowComponent={ShellListRow}\n\t\t>\n\t\t\t\n\t\t\t\t{(shell, idx) => \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t
\n\n\t\t\t{(!isMobile && isAdvanced) && \n\t\t\t\t{(shell, idx) =>\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t
\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{(shell) => \n\t\t\t\t\t\n\t\t\t\t\t\t{shell.Label}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{!isMobile &&\n\t\t\t\n\t\t\t\t{shell => {\n\t\t\t\t\tif (isExpired(shell))\n\t\t\t\t\t\treturn ;\n\t\t\t\t\telse\n\t\t\t\t\t\treturn \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{!shell.User_Billing__ && t('shell_expire_text', { date: formatShellExpireDate(shell) })}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{(shell, idx) => }\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default ShellsTable;\n","import React from 'react';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { Grid } from '@material-ui/core';\nimport Toolbar from '../../components/core/typography/Toolbar';\nimport { useTranslation } from 'react-i18next';\nimport AddIcon from '@material-ui/icons/Add';\nimport Button from '../../components/core/input/Button';\nimport ShellsTable from '../../components/common/Shell/Table/ShellsTable';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst ShellList = () => {\n\tconst { t } = useTranslation();\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('order_new_shell_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellList;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport PowerSettingsNewIcon from '@material-ui/icons/PowerSettingsNew';\nimport RoomIcon from '@material-ui/icons/Room';\nimport AlbumIcon from '@material-ui/icons/Album';\nimport PersonIcon from '@material-ui/icons/Person';\nimport { PlanChip } from './ShellPicture/PlanBadge';\nimport CardMembershipIcon from '@material-ui/icons/CardMembership';\n\nconst ShellInfo = ({ shell }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('shell_plan')}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}/>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellInfo;\n\nShellInfo.propTypes = {\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { getPrice } from '../../../../utils/shell';\n\nconst useStyles = makeStyles(() => ({\n\tprice: {\n\t\tfontSize: '17px',\n\t\tmargin: '0 0 5px',\n\t},\n}));\n\nconst ShellPlanListItemPrice = ({ item, unit, forceShowMonthly = false, isCustom = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst classes = useStyles();\n\tconst [price, setPrice] = useState(null);\n\n\tuseEffect(() => {\n\t\tsetPrice(getPrice(item, forceShowMonthly, isCustom, unit));\n\t}, [item, unit, isCustom, forceShowMonthly, setPrice]);\n\n\treturn (\n\t\t
\n\t\t\t{price}\n\t\t\t{t('shell_price_by_month')}\n\t\t
\n\t);\n};\n\nexport default ShellPlanListItemPrice;\n\nShellPlanListItemPrice.propTypes = {\n\tforceShowMonthly: PropTypes.bool,\n\tisCustom: PropTypes.bool,\n\titem: PropTypes.object,\n\tunit: PropTypes.number\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport ShellPlanListItemPrice from './ShellPlanListItemPrice';\nimport { isCustomPlan } from '../../../../utils/shell';\n\nconst useStyles = makeStyles(theme => ({\n\n\troot: {\n\t\tborder: '1px solid #B0E170',\n\t\tpadding: theme.spacing(2),\n\t\tmarginBottom: theme.spacing(1),\n\t\t// background: 'white',\n\t\tminHeight: '105px',\n\t},\n\tdisabled: {\n\t\tfilter: 'grayscale(1)'\n\t},\n\tselected: {\n\t\tbackground: '#B0E170!important',\n\t},\n\n\toldPrice: {\n\t\tcolor: theme.palette.secondary.main,\n\t\ttextDecoration: 'line-through',\n\t\tfontSize: '14px',\n\t\t'fontWeight': 400,\n\t},\n\tdiscountWrapper: {\n\t\tdisplay: 'flex',\n\t\ttextAlign: 'center',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t\tflexWrap: 'wrap'\n\t},\n\tdiscount: {\n\t\tbackground: '#fddce0',\n\t\tpadding: '0 4px',\n\t\tborderRadius: '6px',\n\t\tfontSize: '12px',\n\t\tfontWeight: 400,\n\t\tmargin: 0,\n\t\tcolor: '#f64f64'\n\t}\n}));\n\n\nconst ShellPlanListItem = ({ plan, unit = 1, graphic, forceShowMonthly = false, ...rest }) => {\n\tconst classes = useStyles();\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default ShellPlanListItem;\n\nShellPlanListItem.propTypes = {\n\tforceShowMonthly: PropTypes.bool,\n\tgraphic: PropTypes.string.isRequired,\n\tplan: PropTypes.object.isRequired,\n\tselected: PropTypes.bool,\n\tunit: PropTypes.number\n};\n","import { withStyles } from '@material-ui/core';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nexport const ShellPlanCustomTooltip = withStyles(theme => ({\n\ttooltip: {\n\t\tbackgroundColor: '#f5f5f9',\n\t\tcolor: 'rgba(0, 0, 0, 0.87)',\n\t\tmaxWidth: 220,\n\t\tfontSize: theme.typography.pxToRem(12),\n\t\tborder: '1px solid #dadde9'\n\t}\n}))(Tooltip);\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { useTranslation } from 'react-i18next';\nimport Grid from '@material-ui/core/Grid';\n\nimport cpuImg from '../../../../assets/img/plans/chip.png';\nimport hddImg from '../../../../assets/img/plans/disk.png';\nimport ramImg from '../../../../assets/img/plans/memory.png';\nimport timeAllowanceImg from '../../../../assets/img/plans/hours.png';\nimport ClickAwayListener from '@material-ui/core/ClickAwayListener';\nimport { ShellPlanCustomTooltip } from './ShellPlanCustomTooltip';\nimport Typography from '@material-ui/core/Typography';\nimport { UNIT_CPU, UNIT_HDD, UNIT_RAM } from '../../../../hooks/useShells';\nimport HelpOutlineOutlinedIcon from '@material-ui/icons/HelpOutlineOutlined';\nimport * as NumericInput from 'react-numeric-input';\nimport { Box } from '@material-ui/core';\nimport { useTheme } from '@material-ui/styles';\nimport { isCustomPlan } from '../../../../utils/shell';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tcolor: theme.palette.type === 'light' ? '#03222D' : '#fff',\n\t\tfontWeight: 'bold',\n\t\ttextAlign: 'center',\n\t\tmarginBottom: '12px',\n\t\tbackground: 'rgba(0, 0, 0, .1)'\n\t},\n\ttooltipImageWrapper: {\n\t\tcolor: theme.palette.type === 'light' ? '#03222D' : '#fff',\n\t\tfontWeight: 'bold',\n\t\tbackground: 'transparent',\n\t\tposition: 'relative'\n\t},\n\ttooltipImage: {\n\t\tfontSize: '14px',\n\t\tmarginTop: '-8px',\n\t\tposition: 'absolute',\n\t\ttop: '50%',\n\t\tright: '-15px',\n\t\tcolor: '#B0E170'\n\t},\n}));\n\nconst ShellPlanDetails = ({ selected, nbUnit, setNbUnit, minUnits, disabled = false }) => {\n\tconst { t } = useTranslation();\n\tconst classes = useStyles();\n\tconst theme = useTheme();\n\n\tconst [tooltips, setTooltips] = useState({\n\t\tcpu: false,\n\t\thdd: false,\n\t\tram: false,\n\t\ttime: false\n\t});\n\n\tconst handleOpenTooltip = tooltip =>\n\t\tsetTooltips({ ...tooltips, [tooltip]: true });\n\tconst handleClickAway = tooltip =>\n\t\tsetTooltips({ ...tooltips, [tooltip]: false });\n\n\tconst buildVcpu = selected => {\n\t\tswitch (selected['Description.AuthorCode']) {\n\t\t\tcase 'custom':\n\t\t\t\treturn Math.ceil(UNIT_CPU * nbUnit);\n\t\t\tdefault:\n\t\t\t\treturn Math.ceil(selected['Shell.Size'] * UNIT_CPU);\n\t\t}\n\t};\n\n\tconst buildTimeAllowance = selected => {\n\t\treturn parseInt(selected['Shell.Timer_Allowance']) / 3600;\n\t};\n\n\tconst buildHdd = selected => {\n\t\tswitch (selected['Description.AuthorCode']) {\n\t\t\tcase 'custom':\n\t\t\t\treturn UNIT_HDD * nbUnit;\n\t\t\tdefault:\n\t\t\t\treturn selected['Shell.Size'] * UNIT_HDD;\n\t\t}\n\t};\n\n\tconst buildRam = selected => {\n\t\tswitch (selected['Description.AuthorCode']) {\n\t\t\tcase 'custom':\n\t\t\t\treturn UNIT_RAM * nbUnit;\n\t\t\tdefault:\n\t\t\t\treturn selected['Shell.Size'] * UNIT_RAM;\n\t\t}\n\t};\n\n\tconst onChangeHandler = event => {\n\t\tsetNbUnit(event);\n\t};\n\n\tconst getMinUnitsValue = () => {\n\t\t// Minimum unit is 8 or the current plan number of unit\n\t\tif (!selected) {\n\t\t\treturn 1;\n\t\t}\n\n\t\tif (minUnits !== undefined)\n\t\t\treturn minUnits < 8 ? 8 : minUnits;\n\n\t\treturn isCustomPlan(selected) ? 8 : 1;\n\t};\n\n\n\tconst buildOtherField = selected => {\n\t\tswitch (selected['Description.AuthorCode']) {\n\t\t\tcase 'custom':\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('custom_shell_title')}\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\t{t('order_choose_number_units')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('order_choose_number_units_desc')}\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{selected['Basic.Name']}\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{selected['Description.CatchPhrase']}\n\t\t\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t{t('selected_plan_vm_custom_following_specs')}\n\t\t\t\t\t

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tcpu\n\t\t\t\t\t\t\n\t\t\t\t\t\t handleOpenTooltip('cpu')}\n\t\t\t\t\t\t\tonMouseEnter={() => handleOpenTooltip('cpu')}\n\t\t\t\t\t\t\tonMouseLeave={() => handleClickAway('cpu')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t handleClickAway('cpu')}>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('cpu_tooltip')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('cpu_tooltip_desc')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\tVCPU\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{buildVcpu(selected)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\n\t\t\t\t handleOpenTooltip('hdd')}\n\t\t\t\t\tonMouseEnter={() => handleOpenTooltip('hdd')}\n\t\t\t\t\tonMouseLeave={() => handleClickAway('hdd')}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\thdd\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleClickAway('hdd')}>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('hdd_tooltip')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('hdd_tooltip_desc')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\tSSD\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{buildHdd(selected)} GB\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tram\n\t\t\t\t\t\t\n\t\t\t\t\t\t handleOpenTooltip('ram')}\n\t\t\t\t\t\t\tonMouseEnter={() => handleOpenTooltip('ram')}\n\t\t\t\t\t\t\tonMouseLeave={() => handleClickAway('ram')}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t handleClickAway('ram')}>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('ram_tooltip')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{t('ram_tooltip_desc')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\tRAM\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{buildRam(selected)} MB\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{selected['Shell.Timer_Allowance'] && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\ttime allowance\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t handleOpenTooltip('time')}\n\t\t\t\t\t\t\t\tonMouseEnter={() => handleOpenTooltip('time')}\n\t\t\t\t\t\t\t\tonMouseLeave={() => handleClickAway('time')}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t handleClickAway('time')}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{t('time_allowance_tooltip')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('time_allowance_tooltip_desc')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\tTime allowance\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shell_time_allowance', {\n\t\t\t\t\t\t\t\t\ttime: buildTimeAllowance(selected)\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t{buildOtherField(selected)}\n\t\t\t\t\n\t\t\t\n\n\t\t
\n\t);\n};\n\nexport default ShellPlanDetails;\n\nShellPlanDetails.propTypes = {\n\tdisabled: PropTypes.bool,\n\tminUnits: PropTypes.number.isRequired,\n\tnbUnit: PropTypes.number.isRequired,\n\tselected: PropTypes.object.isRequired,\n\tsetNbUnit: PropTypes.func.isRequired\n};\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/maxPlans.ffd048ef.svg\";","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Graphic from '../../../../assets/img/plans/maxPlans.svg';\nimport Empty from '../../../core/feedback/State/Empty';\n\nconst MaxPlan = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\t\tsample
\n\t\t\t\t\tsample\n\t\t\t\t\n\t\t\t}\n\t\t\tgraphic={Graphic}\n\t\t\taction={\n\t\t\t\t{\n\t\t\t\t\tcomponent: 'a',\n\t\t\t\t\ttitle: t('footer_link_contact'),\n\t\t\t\t\trel: 'noopener noreferrer',\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\thref: process.env.REACT_APP_ZENDESK\n\t\t\t\t}\n\t\t\t}\n\t\t/>);\n};\n\nexport default MaxPlan;\n","import PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../../core/input/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport { useTranslation } from 'react-i18next';\nimport { getShellGraphic, isShellYearly, useShellPlans } from '../../../../hooks/useShells';\nimport Loader from '../../../layout/Loader/Loader';\nimport Grid from '@material-ui/core/Grid';\nimport Tab from '@material-ui/core/Tab';\nimport Tabs from '@material-ui/core/Tabs';\nimport Panel from '../../../layout/Container/tab/Panel';\nimport { List } from '@material-ui/core';\nimport ShellPlanListItem from './ShellPlanListItem';\nimport ShellPlanDetails from './ShellPlanDetails';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { isCustomPlan, isYearly } from '../../../../utils/shell';\nimport MaxPlan from './MaxPlan';\nimport NewOrderDialog from '../../Order/order/NewOrderDialog';\n\n\nconst MONTHLY_TAB = 1;\nconst YEARLY_TAB = 0;\n\nconst ShellPlanSelectionDialog = ({ open, setOpen, shell, refresh }) => {\n\tconst { t } = useTranslation();\n\tconst [plans, fetchPlans] = useShellPlans();\n\n\t// We will use slightly more RAM but it will be easier to change the UI is there is plans or not, and be less cpu intensive\n\tconst [monthlyPlans, setMonthlyPlans] = useState([]);\n\tconst [yearlyPlans, setYearlyPlans] = useState([]);\n\n\tconst [selectedTab, setSelectedTab] = useState(isShellYearly(shell) ? YEARLY_TAB : MONTHLY_TAB);\n\tconst [selectedPlan, setSelectedPlan] = useState(null);\n\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tconst [nbUnit, setNbUnit] = useState(Math.max(8, shell.Size));\n\tconst [selectedProduct, setSelectedProduct] = useState(null);\n\n\t// Related to the cart\n\tconst [showOrder, setShowOrder] = useState(false);\n\tconst [request, setRequest] = useState(null);\n\n\t// Calling refresh() will change the shell and will trigger the plans to refresh thus to reconstruct the available list\n\t// refresh() is called when an upgrade payment is completed (see handleComplete)\n\tuseEffect(() => {\n\t\tfetchPlans();\n\t}, [shell]);\n\n\tuseEffect(() => {\n\t\tif (!plans || !plans.data) return;\n\t\tconst filtered = plans.data.filter(p => p.Catalog_Product__ === selectedPlan);\n\t\tif (!filtered || filtered.length < 1) setSelectedProduct(null);\n\t\telse setSelectedProduct(filtered[0]);\n\t}, [setSelectedProduct, plans, selectedPlan]);\n\n\tuseEffect(() => {\n\t\tif (!plans || !plans.data) return;\n\n\t\tsetMonthlyPlans(plans.data.filter(p => !isYearly(p) && isShown(p)));\n\t\tsetYearlyPlans(plans.data.filter(p => isYearly(p) && isShown(p)));\n\n\t}, [plans, setMonthlyPlans, setYearlyPlans]);\n\n\tconst init = useCallback(() => {\n\t\tsetShowOrder(false);\n\t\tsetRequest(null);\n\t\tsetSelectedPlan(null);\n\t\tsetSelectedTab(isShellYearly(shell) ? YEARLY_TAB : MONTHLY_TAB);\n\t}, [shell, setSelectedTab, setSelectedPlan]);\n\n\tuseEffect(() => {\n\t\tinit();\n\t}, [init]);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleTabChange = (event, newValue) => {\n\t\tsetSelectedTab(newValue);\n\t};\n\n\tconst createSelectHandler = product => () => {\n\t\tsetSelectedPlan(product);\n\t};\n\n\tconst isSelected = product => {\n\t\treturn product === selectedPlan;\n\t};\n\n\tconst isShown = plan => {\n\t\tif (isCustomPlan(plan)) return true;\n\n\t\tif (plan['Shell.Size'] < shell.Size) return false;\n\n\t\t// Special hardcoded rule, that prevent to be able to upgrade to lite yearly when we are in basic monthly\n\t\t// Technically we could do it (because basic and lite plan are the same),\n\t\t// but in term of UX/marketing we consider the lite plan as an inferior plan\n\t\tif (\n\t\t\tplan['Description.AuthorCode'] === 'lite' &&\n\t\t\tisYearly(plan) &&\n\t\t\t!isShellYearly(shell) &&\n\t\t\tshell.Catalog_Product['Description.AuthorCode'] === 'basic'\n\t\t)\n\t\t\treturn false;\n\n\t\treturn parseFloat(plan['Price.Price'].value) > parseFloat(shell.Catalog_Product['Price.Price'].value);\n\t};\n\n\tconst handleRenew = () => {\n\t\tconst productId = selectedPlan;\n\t\tconst shellId = shell.Shell__;\n\n\t\tconst isCustom = isCustomPlan(selectedProduct);\n\n\t\tconst urlParams = `${productId},shell=${shellId}${\n\t\t\tisCustom ? `,shell_size=${nbUnit}` : ''\n\t\t},mode=upgrade`;\n\n\t\tsetRequest(urlParams);\n\t\tsetShowOrder(true);\n\t};\n\n\tconst handleComplete = () => {\n\t\trefresh();\n\t\thandleClose();\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('renew_shell_title')}\n\t\t\t\n\t\t\t
\n\t\t\t\t{!plans && }\n\t\t\t\t{plans && \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{(yearlyPlans.length > 0) &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t{(!isShellYearly(shell) && monthlyPlans.length > 0) &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{yearlyPlans.length < 1 && }\n\t\t\t\t\t\t\t\t\t{yearlyPlans.length > 0 && \n\t\t\t\t\t\t\t\t\t\t{yearlyPlans.map(plan =>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{(!isShellYearly(shell) && monthlyPlans.length > 0) &&\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{monthlyPlans.map(plan =>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t!!selectedProduct && \n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t}\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\n\t\t\t\t{(yearlyPlans.length > 0 || !isShellYearly(shell)) &&\n\t\t\t\t\n\t\t\t\t\t{t('select_plan_bt')}\n\t\t\t\t}\n\t\t\t\n\n\t\t\t{\n\t\t\t\t(showOrder && request) &&\n\t\t\t\t\n\t\t\t}\n\n\t\t\n\t);\n};\n\nexport default ShellPlanSelectionDialog;\n\nShellPlanSelectionDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport Button from '../../core/input/Button';\nimport PublishIcon from '@material-ui/icons/Publish';\nimport ShellPlanSelectionDialog from './Plan/ShellPlanSelectionDialog';\n\nconst ShellUpgradeButton = ({ shell, refresh }) => {\n\tconst { t } = useTranslation();\n\tconst [showDialog, setShowDialog] = useState(false);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\tsize='small'\n\t\t\t\t\tcolor='primary'\n\t\t\t\t\tvariant='contained'\n\t\t\t\t\tonClick={() => setShowDialog(true)}\n\t\t\t\t>\n\t\t\t\t\t{t('upgrade_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellUpgradeButton;\n\nShellUpgradeButton.propTypes = {\n\tshell: PropTypes.object.isRequired,\n\trefresh: PropTypes.func.isRequired,\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\n\nconst TIMER_VALUE = 15; // in seconds\n\nconst PreparingRefresh = ({ shell, refresh }) => {\n\t// We use this method instead of just at setTimeout so we can have the number of seconds left before refresh and display it\n\tconst [counter, setCounter] = useState(TIMER_VALUE);\n\n\tconst isPreparing = () => shell.State === 'preparing';\n\n\tuseEffect(() => {\n\t\tif (!isPreparing()) return;\n\n\t\tconst timer = setInterval(() => {\n\t\t\tsetCounter(prev => prev - 1);\n\t\t}, 1000);\n\t\treturn () => clearInterval(timer);\n\t\t// eslint-disable-next-line\n\t}, [shell, setCounter]);\n\n\tuseEffect(() => {\n\t\tif (counter > 0) return;\n\t\trefresh()\n\t\t\t.then(() => setCounter(TIMER_VALUE));\n\t\t// eslint-disable-next-line\n\t}, [counter]);\n\n\tif (!isPreparing()) return null;\n\n\treturn ;\n};\n\nexport default PreparingRefresh;\n\nPreparingRefresh.propTypes = {\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../../core/input/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { useShellCancelSubscription } from '@karpeleslab/klb-react-services';\n\nconst ShellCancelDialog = ({ open, setOpen, shell, setShell }) => {\n\tconst { t } = useTranslation();\n\tconst [cancel, cancelling] = useShellCancelSubscription(shell.Shell__);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleCancel = () => {\n\t\tcancel()\n\t\t\t.then(setShell)\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('confirm_cancel_shell_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('cancel_subscription_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellCancelDialog;\n\nShellCancelDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import { useCallback, useEffect, useState } from 'react';\nimport {\n\tgetOrderPaymentMethodInfoEndpoint,\n\tuseUserBillingMethods,\n\tuseUserBillings\n} from '@karpeleslab/klb-react-services';\nimport { useRest } from '@karpeleslab/react-klbfw-hooks';\n\nexport const useFirstUserBilling = userId => {\n\tconst [, fetch] = useUserBillings(userId);\n\tconst [billing, setBilling] = useState(null);\n\n\tconst refresh = useCallback(\n\t\tdata => {\n\t\t\tif (data) {\n\t\t\t\tsetBilling({ ...(billing ?? {}), data: data });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfetch()\n\t\t\t\t.then(d => (d.data && d.data.length > 0) ? setBilling({ data: d.data[0] }) : setBilling({ data: null }))\n\t\t\t\t.catch(e => {\n\t\t\t\t\tsetBilling({ error: e });\n\t\t\t\t});\n\t\t}\n\t\t, [billing]); //eslint-disable-line\n\n\tuseEffect(() => {\n\t\trefresh();\n\t}, []); //eslint-disable-line\n\n\n\treturn [billing, refresh];\n};\n\nexport const useFirstPaymentMethod = billingId => {\n\tconst [, fetch] = useUserBillingMethods(billingId);\n\tconst [method, setMethod] = useState(null);\n\n\tconst refresh = useCallback(\n\t\tdata => {\n\t\t\tif (data) {\n\t\t\t\tsetMethod({ ...(method ?? {}), data: data });\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tfetch()\n\t\t\t\t.then(d => (d.data && d.data.length > 0) ? setMethod({ data: d.data[0] }) : setMethod({ data: null }))\n\t\t\t\t.catch(e => {\n\t\t\t\t\tsetMethod({ error: e });\n\t\t\t\t});\n\t\t}\n\t\t, [method]); //eslint-disable-line\n\n\tuseEffect(() => {\n\t\trefresh();\n\t}, []); //eslint-disable-line\n\n\n\treturn [method, refresh];\n};\n\nexport const usePaymentMethodInfo = method => {\n\treturn useRest(getOrderPaymentMethodInfoEndpoint(), { method: method });\n};\n","import PropTypes from 'prop-types';\nimport React, {useContext, useEffect, useState} from 'react';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport { useShellCreateAndSetBilling } from '@karpeleslab/klb-react-services';\nimport { Grid } from '@material-ui/core';\nimport Form from '../../../User/Location/Form';\nimport { Title } from '../../../../core/typography/Title';\nimport { useTranslation } from 'react-i18next';\nimport Stripe from '../../../../core/input/Stripe/Stripe';\nimport Alert from '@material-ui/lab/Alert';\nimport Button from '../../../../core/input/Button';\nimport {UserContext} \t\t\t\t from '../../../../../context/UserContext';\n\nconst AutoRenewCreate = ({ shell, setShell, handleClose }) => {\n\tconst { t } = useTranslation();\n\n\tconst [create] = useShellCreateAndSetBilling(shell.Shell__);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [creating, setCreating] = useState(false);\n\n\tconst [locationFormValid, setLocationFormValid] = useState(false);\n\tconst [locationData, setLocationData] = useState({});\n\n\tconst [stripe, setStripe] = useState(null);\n\tconst [stripeIntent, setStripeIntent] = useState(null);\n\tconst [stripeElements, setStripeElements] = useState(null);\n\tconst [stripeValid, setStripeValid] = useState(false);\n\tconst [error, setError] = useState(null);\n\tconst [userContext] = useContext(UserContext);\n\n\n\tconst onStripeChange = e => {\n\t\tsetStripeValid(e.complete === true);\n\t};\n\n\tconst handleCreate = async () => {\n\t\tif (!stripe || !stripeElements)\n\t\t\treturn; // stripe not loaded yet\n\n\t\tsetCreating(true);\n\t\t\n\t\tconst result = await stripe.confirmSetup({\n\t\t\telements: stripeElements,\n\t\t\tredirect: 'if_required',\n\t\t\tconfirmParams: {\n\t\t\t\tpayment_method_data: {\n\t\t\t\t\tbilling_details: {\n\t\t\t\t\t\tname: `${locationData.First_Name} ${locationData.Last_Name}`,\n\t\t\t\t\t\temail: userContext.user.data.Email,\n\t\t\t\t\t\taddress: {\n\t\t\t\t\t\t\tcountry: locationData.Country__,\n\t\t\t\t\t\t\tpostal_code: locationData.Zip,\n\t\t\t\t\t\t\tstate: locationData.Province ? locationData.Province : '',\n\t\t\t\t\t\t\tcity: locationData.City ? locationData.City : '',\n\t\t\t\t\t\t\tline1: locationData.Address ? locationData.Address : '',\n\t\t\t\t\t\t\tline2: locationData.Address2 ? locationData.Address2 : '',\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t});\n\n\t\tif (result.error) {\n\t\t\tif (result.error.type === 'card_error' || result.error.type === 'validation_error') {\n\t\t\t\tsetError(result.error.message);\n\t\t\t} else {\n\t\t\t\tsetError(t('unexpected_error'));\n\t\t\t}\n\n\t\t\tsetCreating(false);\n\t\t\treturn;\n\t\t}\n\n\t\tcreate(locationData, {\n\t\t\tbillingLabel: 'Shells',\n\t\t\tbillingMethod: 'Stripe',\n\t\t\tbillingMethodData: { stripe_intent: stripeIntent.stripe_intent }\n\t\t})\n\t\t\t.then(setShell)\n\t\t\t.then(handleClose)\n\t\t\t.finally(() => setCreating(false));\n\t};\n\n\tuseEffect(() => {\n\t\tsetSaveEnabled(locationFormValid && stripeValid);\n\t}, [locationFormValid, stripeValid, setSaveEnabled]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('billing_user_location_create_title')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('billing_method_create_title')}\n\t\t\t\t\t\n\n\t\t\t\t\t{error && \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{error}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('activate_auto_renew_btn')}\n\t\t\t\t\n\t\t\t\n\n\t\t\n\t);\n};\n\nexport default AutoRenewCreate;\n\nAutoRenewCreate.propTypes = {\n\thandleClose: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport { useTranslation } from 'react-i18next';\n\nconst PaymentMethod = ({ method }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('payment_method_name', { name: method.Name })}\n\t\t\t\n\n\t\t\t\n\t\t\t\t{t('payment_method_expiration', { expiration: method.Expiration })}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PaymentMethod;\n\nPaymentMethod.propTypes = {\n\tmethod: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useFirstPaymentMethod } from '../../../../../hooks/useUserBilling';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport Button from '../../../../core/input/Button';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport { useTranslation } from 'react-i18next';\nimport { useShellSetBilling } from '@karpeleslab/klb-react-services';\nimport { Grid } from '@material-ui/core';\nimport PaymentMethod from '../../../User/Billing/PaymentMethod';\nimport Alert from '@material-ui/lab/Alert';\nimport Loader from '../../../../layout/Loader/Loader';\nimport Typography from '@material-ui/core/Typography';\n\nconst AutoRenewSet = ({ billing, shell, setShell, handleClose }) => {\n\tconst { t } = useTranslation();\n\tconst [method] = useFirstPaymentMethod(billing.User_Billing__);\n\tconst [activate, activating] = useShellSetBilling(shell.Shell__);\n\n\tconst handleActivate = () => {\n\t\tactivate(billing.User_Billing__)\n\t\t\t.then(setShell)\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{(!method || !method.data) && }\n\t\t\t\t{(method && method.data) && \n\t\t\t\t\t\n\t\t\t\t\t\t{t('activate_auto_renew_billing')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('activate_auto_renew_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AutoRenewSet;\n\nAutoRenewSet.propTypes = {\n\tbilling: PropTypes.object.isRequired,\n\thandleClose: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport Dialog from '@material-ui/core/Dialog';\nimport { useTranslation } from 'react-i18next';\nimport RichAlertTrans from '../../../../core/feedback/RichAlertTrans';\nimport { useFirstUserBilling } from '../../../../../hooks/useUserBilling';\nimport Loader from '../../../../layout/Loader/Loader';\nimport AutoRenewCreate from './AutoRenewCreate';\nimport { isExpired } from '../../../../../utils/shell';\nimport AutoRenewSet from './AutoRenewSet';\n\nconst ShellSetAutoRenewDialog = ({ open, setOpen, shell, setShell }) => {\n\tconst { t } = useTranslation();\n\tconst [billing, refresh] = useFirstUserBilling('@');\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\treturn (\n\t\t {\n\t\t\t\trefresh();\n\t\t\t}}\n\t\t>\n\t\t\t\n\t\t\t\t{t('activate_auto_renew_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{(!!billing && isExpired(shell)) &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\n\t\t\t{!billing && }\n\t\t\t{(billing && !!billing.data) && }\n\t\t\t{(billing && !billing.data) && }\n\t\t\n\t);\n};\n\nexport default ShellSetAutoRenewDialog;\n\nShellSetAutoRenewDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport TextField from '@material-ui/core/TextField';\nimport Button from '../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport ShellCancelDialog from './Subscription/ShellCancelDialog';\nimport { useShellUpdate } from '@karpeleslab/klb-react-services';\nimport ShellSetAutoRenewDialog from './Subscription/AutoRenewDialog/ShellSetAutoRenewlDialog';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst ShellUpdateForm = ({ shell, refresh }) => {\n\tconst { t } = useTranslation();\n\n\tconst [label, setLabel] = useState(shell.Label);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [showCancel, setShowCancel] = useState(false);\n\tconst [showAutoRenew, setShowAutoRenew] = useState(false);\n\n\tconst [update, updating] = useShellUpdate(shell.Shell__);\n\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tuseEffect(() => {\n\t\tsetLabel(shell.Label);\n\t}, [setLabel, shell]);\n\n\tuseEffect(() => {\n\t\tsetSaveEnabled(label.trim() && label.trim() !== shell.Label);\n\t}, [shell, label, setSaveEnabled]);\n\n\tconst saveHandler = () => {\n\t\tupdate({ Label: label.trim() })\n\t\t\t.then(d => refresh(d));\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t setLabel(e.target.value)}\n\t\t\t\t/>\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{shell.User_Billing__ &&\n\t\t\t\t\t\n\t\t\t\t\t\t setShowCancel(true)}\n\t\t\t\t\t\t\tloading={updating}\n\t\t\t\t\t\t\tdisabled={updating}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('cancel_subscription_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t{!shell.User_Billing__ &&\n\t\t\t\t\t\n\t\t\t\t\t\t setShowAutoRenew(true)}\n\t\t\t\t\t\t\tloading={updating}\n\t\t\t\t\t\t\tdisabled={updating}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('auto_renew_subscription_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellUpdateForm;\n\nShellUpdateForm.propTypes = {\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { useTwoStepValidation } from '@karpeleslab/klb-react-services';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport Grid from '@material-ui/core/Grid';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../../core/input/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport { useTranslation } from 'react-i18next';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport TextField from '@material-ui/core/TextField';\n\nconst TwoStepDialog = ({ open, setOpen, session, onComplete, extra = null, snackMessageToken = null }) => {\n\tconst [validate, validating] = useTwoStepValidation();\n\tconst [code, setCode] = useState('');\n\tconst { t } = useTranslation();\n\n\tconst reset = () => setCode('');\n\tconst handleClose = () => setOpen(false);\n\n\tconst handleValidate = (e) => {\n\t\te.preventDefault();\n\n\t\tconst p = {};\n\t\tif (snackMessageToken) p['snackMessageToken'] = snackMessageToken;\n\t\tvalidate(session, code, p).then(d => {\n\t\t\tif (onComplete) onComplete(d);\n\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{t('dialog_two_step_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{extra && \n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t setCode(e.target.value)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('confirm_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default TwoStepDialog;\n\nTwoStepDialog.propTypes = {\n\tonComplete: PropTypes.func,\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tsnackMessageToken: PropTypes.string,\n\tsession: PropTypes.string.isRequired,\n\textra: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node\n\t])\n};\n","import PropTypes from 'prop-types';\nimport React, { useCallback, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../core/typography/Title';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from 'react-router';\nimport { getShellsRoute } from '../../../RouteController/Factory';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport TextField from '@material-ui/core/TextField';\nimport Button from '../../../core/input/Button';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useShellTransfer } from '@karpeleslab/klb-react-services';\nimport TwoStepDialog from '../../Account/TwoStep/TwoStepDialog';\n\nconst ShellTransfer = ({ shell }) => {\n\tconst { t } = useTranslation();\n\n\tconst [transfer, transferring] = useShellTransfer(shell.Shell__);\n\n\tconst [showTwoStep, setShowTwoStep] = useState(false);\n\tconst [session, setSession] = useState();\n\tconst [email, setEmail] = useState();\n\tconst history = useHistory();\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tconst onComplete = useCallback(() => {\n\t\thistory.push(getShellsRoute());\n\t}, []);\n\n\tconst handleSubmit = e => {\n\t\te.preventDefault();\n\t\ttransfer(email).then((session) => {\n\t\t\tsetSession(session);\n\t\t\tsetShowTwoStep(true);\n\t\t});\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shell_transfer_title')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setEmail(e.target.value)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('transfer_btn')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\n\n\n\t\t\t\t\n\t\t\t
\n\t\t\t}\n\t\t\t/>\n\t\t\n\t);\n};\n\nexport default ShellTransfer;\n\nShellTransfer.propTypes = {\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport ShellUpdateForm from '../../../components/common/Shell/ShellUpdateForm';\nimport Panel from '../../../components/layout/Container/tab/Panel';\nimport { Grid } from '@material-ui/core';\nimport ModeCheck from '../../../components/layout/Mode/ModeCheck';\nimport ShellTransfer from '../../../components/common/Shell/Transfer/ShellTransfer';\n\nconst SettingsTab = ({ currentTab, shell, refresh }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SettingsTab;\nexport const SHELL_TAB_SETTINGS = 0;\n\nSettingsTab.propTypes = {\n\tcurrentTab: PropTypes.number.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport PublicIcon from '@material-ui/icons/Public';\nimport DnsIcon from '@material-ui/icons/Dns';\nimport { Trans, useTranslation } from 'react-i18next';\nimport PersonIcon from '@material-ui/icons/Person';\nimport { Title } from '../../core/typography/Title';\nimport TextWithIcon from '../../core/typography/TextWithIcon';\nimport VpnKeyIcon from '@material-ui/icons/VpnKey';\nimport { Link } from 'react-router-dom';\nimport { getSSHKeychainEditRoute } from '../../RouteController/Factory';\n\nconst ShellConnection = ({ shell }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('shell_connection')}\n\t\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\t/>\n\n\t\t\t\n\t\t\t\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{shell.Keychain__ &&\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tstartIcon={}\n\t\t\t\t/>\n\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default ShellConnection;\n\nShellConnection.propTypes = {\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\n\nimport RichAlert from '../../core/feedback/RichAlert';\nimport Button from '../../core/input/Button';\nimport { useShellDeleteIp } from '@karpeleslab/klb-react-services';\n\nconst DeleteIpDialog = ({ shell, shellIp, open, setOpen, setShell }) => {\n\tconst { t } = useTranslation();\n\tconst [deleteIp, deleting] = useShellDeleteIp(shell.Shell__);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleDelete = e => {\n\t\te.preventDefault();\n\n\t\tdeleteIp(shellIp)\n\t\t\t.then(d => setShell(d))\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_delete_ip_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('dialog_delete_ip_desc')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DeleteIpDialog;\n\nDeleteIpDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired,\n\tshellIp: PropTypes.object\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\n\nimport Grid from '@material-ui/core/Grid';\nimport SetStatus from './../SetStatus/SetStatus';\n\nexport default function NotFound() {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t

{t('error_content_not_found_title')}

\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t

{t('error_content_not_found_description')}

\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Typography } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport { CATALOG_PRODUCT_SHELL_IP } from '../../../hooks/useShells';\nimport Loader from '../../layout/Loader/Loader';\nimport NotFound from '../../core/utils/NotFound/NotFound';\nimport Grid from '@material-ui/core/Grid';\nimport Button from '../../core/input/Button';\nimport { useCatalogProduct } from '@karpeleslab/klb-react-services';\nimport NewOrderDialog from '../Order/order/NewOrderDialog';\n\nconst ShellIpPlan = ({ shell, refresh }) => {\n\tconst { t } = useTranslation();\n\tconst [plan] = useCatalogProduct(CATALOG_PRODUCT_SHELL_IP);\n\tconst [showOrder, setShowOrder] = useState(false);\n\n\tif (!plan) return ;\n\tif (!plan.data) return ;\n\n\tconst handleComplete = () => {\n\t\trefresh();\n\t};\n\n\tconst handleOrderCreate = () => {\n\t\tsetShowOrder(true);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{plan.data['Basic.Name']}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{plan.data['Price.Price'].display}\n\t\t\t\t\t\t\t\t/mo\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('add_ip_btn')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{\n\t\t\t\tshowOrder &&\n\t\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\n\nexport default ShellIpPlan;\n\nShellIpPlan.propTypes = {\n\tshell: PropTypes.object.isRequired,\n\trefresh: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport Table from '@material-ui/core/Table';\nimport TableHead from '@material-ui/core/TableHead';\nimport TableCell from '@material-ui/core/TableCell';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableBody from '@material-ui/core/TableBody';\nimport DeleteIcon from '@material-ui/icons/DeleteForever';\nimport Button from '../../core/input/Button';\nimport DeleteIpDialog from './DeleteIpDialog';\nimport { Grid } from '@material-ui/core';\nimport RichAlert from '../../core/feedback/RichAlert';\nimport ShellIpPlan from './ShellIpPlan';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport IconButton from '@material-ui/core/IconButton';\nimport { Title } from '../../core/typography/Title';\n\nconst ShellIpTable = ({ shell, setShell }) => {\n\tconst { t } = useTranslation();\n\tconst [selected, setSelected] = useState(null);\n\tconst [showDeleteIp, setShowDeleteIp] = useState(false);\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tif (shell.IPs.length < 1) {\n\t\treturn \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tsample
\n\t\t\t\t\t\tsample\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('shell_ips')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {t('tablecell_ip_address')}\n\t\t\t\t\t\t\t\t{t('tablecell_ip_address_type')}\n\t\t\t\t\t\t\t\t{t('tablecell_actions')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{shell.IPs.map(ip => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{ip.IP}\n\t\t\t\t\t\t\t\t\t{ip.Type}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{(isMobile && ip.Type !== 'anycast') && {\n\t\t\t\t\t\t\t\t\t\t\t\tsetSelected(ip);\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowDeleteIp(true);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\t\t\t\tcolor='secondary'\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t{(!isMobile && ip.Type !== 'anycast') && {\n\t\t\t\t\t\t\t\t\t\t\t\tsetSelected(ip);\n\t\t\t\t\t\t\t\t\t\t\t\tsetShowDeleteIp(true);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\t\t\t\tcolor='secondary'\n\t\t\t\t\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ShellIpTable;\n\nShellIpTable.propTypes = {\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","export default __webpack_public_path__ + \"static/media/shell_licenses_empty_state.9aef65f9.svg\";","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport EmptyState from '../../../../core/feedback/State/Empty';\nimport Graphic from '../../../../../assets/img/shell_licenses_empty_state.svg';\n\nconst Empty = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\tsample
\n\t\t\t\tsample\n\t\t\t}\n\t\t\tgraphic={Graphic}\n\t\t/>\n\t);\n};\n\nexport default Empty;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useShellLicenses } from '@karpeleslab/klb-react-services';\nimport Table from '../../../../core/data/table/Table';\nimport TableDefinition from '../../../../core/data/table/TableDefinition';\nimport Empty from './Empty';\n\nconst ShellLicenseTable = ({ shell }) => {\n\tconst { t } = useTranslation();\n\tconst [licenses, fetch, loading] = useShellLicenses(shell.Shell__);\n\n\treturn (\n\t\t}\n\t\t\tpaperProps={{ elevation: 0 }}\n\t\t>\n\t\t\t\n\t\t\t\t{license => license.Catalog_Product['Basic.Name']}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellLicenseTable;\n\nShellLicenseTable.propTypes = {\n\tshell: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport { Grid } from '@material-ui/core';\nimport ShellConnection from '../../../components/common/Shell/ShellConnection';\nimport ModeCheck from '../../../components/layout/Mode/ModeCheck';\nimport ShellIpTable from '../../../components/common/Shell/ShellIpTable';\nimport { Title } from '../../../components/core/typography/Title';\nimport ShellLicenseTable from '../../../components/common/Shell/License/Table/ShellLicenseTable';\nimport Panel from '../../../components/layout/Container/tab/Panel';\nimport { useTranslation } from 'react-i18next';\nimport PropTypes from 'prop-types';\n\nconst AdministrationTab = ({ currentTab, shell, refresh }) => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{t('shell_license_table')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AdministrationTab;\nexport const SHELL_TAB_ADMINISTRATION = 1;\n\nAdministrationTab.propTypes = {\n\tcurrentTab: PropTypes.number.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { Trans, useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport Button from '../../../core/input/Button';\nimport { useShellVolumeSnapshotRestore } from '@karpeleslab/klb-react-services';\nimport moment from 'moment';\n\nconst SnapshotRestoreDialog = ({ open, setOpen, snapshot, shell, setShell, refresh, refreshing }) => {\n\tconst { t } = useTranslation();\n\tconst [restore, restoring] = useShellVolumeSnapshotRestore(shell.Shell__);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleRestore = e => {\n\t\te.preventDefault();\n\t\trestore(snapshot.Shell_Volume_Snapshot__)\n\t\t\t.then(shell => setShell(shell))\n\t\t\t.then(() => refresh())\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_restore_snapshot_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('restore_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SnapshotRestoreDialog;\n\nSnapshotRestoreDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\trefreshing: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired,\n\tsnapshot: PropTypes.object\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport { useTranslation } from 'react-i18next';\nimport DateUtil from '../../../core/data/Date/DateUtil';\nimport RestoreIcon from '@material-ui/icons/Restore';\nimport Button from '../../../core/input/Button';\nimport moment from 'moment';\n\nconst SnapshotTableMobileRow = ({ snapshot, onRestore }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t{snapshot.Snapshot_Id}\n\t\t\t{t(`shell_snapshot_type_${snapshot.Type}`)}\n\t\t\t{t('tablecell_snapshot_date')}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{snapshot.Created && moment(parseInt(snapshot.Created.unixms)).fromNow()}\n\t\t\t\t\n\t\t\t\n\t\t\t{t('tablecell_snapshot_os')}\n\t\t\t{snapshot.Shell_Volume.Shell_OS.Name}\n\t\t\t{t('tablecell_snapshot_datacenter')}\n\t\t\t{\n\t\t\t\tsnapshot.Shell_Volume.Shell_Datacenter ? `${snapshot.Shell_Volume.Shell_Datacenter.Location} - ${snapshot.Shell_Volume.Shell_Datacenter.Name}` : ''\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t\t onRestore(snapshot)}\n\t\t\t\t\tstartIcon={}\n\t\t\t\t>\n\t\t\t\t\t{t('restore_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SnapshotTableMobileRow;\n\nSnapshotTableMobileRow.propTypes = {\n\tonRestore: PropTypes.func.isRequired,\n\tsnapshot: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Typography } from '@material-ui/core';\nimport TableDefinition from '../../../core/data/table/TableDefinition';\nimport DateUtil from '../../../core/data/Date/DateUtil';\nimport Button from '../../../core/input/Button';\nimport Table from '../../../core/data/table/Table';\nimport RestoreIcon from '@material-ui/icons/Restore';\nimport moment from 'moment';\nimport Grid from '@material-ui/core/Grid';\nimport SnapshotRestoreDialog from './SnapshotRestoreDialog';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport SnapshotTableMobileRow from './SnapshotTableMobileRow';\nimport { useShellVolumeSnapshots } from '@karpeleslab/klb-react-services';\n\nconst SnapshotsTable = ({ shell, setShell }) => {\n\tconst { t } = useTranslation();\n\tconst [snapshots, fetch, loading] = useShellVolumeSnapshots(shell.Shell__);\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tconst [selected, setSelected] = useState(null);\n\tconst [showRestore, setShowRestore] = useState(false);\n\n\tconst onRestore = snapshot => {\n\t\tsetSelected(snapshot);\n\t\tsetShowRestore(true);\n\t};\n\n\treturn <>\n\t\t\n\t\t\t\n\t\t\t\t{snapshot => {\n\t\t\t\t\tif (!isMobile) return snapshot.Snapshot_Id;\n\t\t\t\t\treturn ;\n\t\t\t\t}}\n\t\t\t\n\n\t\t\t{!isMobile && \n\t\t\t\t{snapshot => t(`shell_snapshot_type_${snapshot.Type}`)}\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{snapshot => snapshot.Shell_Volume.Shell_OS.Name}\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{snapshot => snapshot.Shell_Volume.Shell_Datacenter ? `${snapshot.Shell_Volume.Shell_Datacenter.Location} - ${snapshot.Shell_Volume.Shell_Datacenter.Name}` : '-'}\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{snapshot =>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{snapshot.Created && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{moment(parseInt(snapshot.Created.unixms)).fromNow()}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{snapshot =>\n\t\t\t\t\t onRestore(snapshot)}\n\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('restore_btn')}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\n\t\t\n\t;\n\n};\n\nexport default SnapshotsTable;\n\nSnapshotsTable.propTypes = {\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Panel from '../../../components/layout/Container/tab/Panel';\nimport { Grid } from '@material-ui/core';\nimport RichAlert from '../../../components/core/feedback/RichAlert';\nimport { Trans } from 'react-i18next';\nimport SnapshotsTable from '../../../components/common/Shell/Snapshots/SnapshotsTable';\n\nconst SnapshotsTab = ({ currentTab, shell, refresh }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default SnapshotsTab;\nexport const SHELL_TAB_SNAPSHOTS = 2;\n\nSnapshotsTab.propTypes = {\n\tcurrentTab: PropTypes.number.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useRest } from '@karpeleslab/react-klbfw-hooks';\nimport TextField from '@material-ui/core/TextField';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport PropTypes from 'prop-types';\nimport { getShellDatacentersListEndpoint } from '@karpeleslab/klb-react-services';\n\nconst ShellDatacenterSelector = ({ value, setValue, label = null, allowEmpty = false, helperText = null, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [datacenter] = useRest(getShellDatacentersListEndpoint(), { results_per_page: 100 });\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tdisabled={disabled || !datacenter}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tInputProps={!datacenter ?\n\t\t\t\t{\n\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t} : undefined\n\t\t\t}\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{allowEmpty &&\n\t\t\t\n\t\t\t}\n\t\t\t{datacenter && datacenter.data.map(\n\t\t\t\td => \n\t\t\t\t\t{`${d.Location} - ${d.Name}`}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ShellDatacenterSelector;\n\nShellDatacenterSelector.propTypes = {\n\tallowEmpty: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\thelperText: PropTypes.string,\n\tlabel: PropTypes.string,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { Trans, useTranslation } from 'react-i18next';\nimport { Title } from '../../../core/typography/Title';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport ShellKeychainSelector from '../../../core/input/ShellKeychainSelector';\nimport Button from '../../../core/input/Button';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport ShellDatacenterSelector from '../../../core/input/ShellDatacenterSelector';\nimport Link from '../../Links/Link';\nimport ModeCheck from '../../../layout/Mode/ModeCheck';\nimport OSSelector from '../../OperatingSystem/Selector/OSSelector';\nimport SSHKeyWarning from './SSHKeyWarning';\nimport { useShellHasLicense } from '../../../../hooks/useShellLicense';\nimport SelectOsLicenseInfo from '../License/SelectOSLicenseInfo';\nimport NewOrderDialog from '../../Order/order/NewOrderDialog';\nimport ShellWindowsOsWarning, { isShellWindowsOSWarningNeeded } from '../ShellWindowsOSWarning';\n\nconst StepSettings = ({ data, setData, shell, next }) => {\n\tconst { t } = useTranslation();\n\tconst [nextEnabled, setNextEnabled] = useState(false);\n\tconst [changeOSToggle, setChangeOSToggle] = useState(false);\n\n\t// Related to OS license\n\tconst [hasLicense, setHasLicense] = useState(false);\n\tconst [fetchLicense, loadingLicense] = useShellHasLicense(shell.Shell__);\n\n\t// Used when an order is needed\n\tconst [orderRequest, setOrderRequest] = useState(null);\n\tconst [showOrder, setShowOrder] = useState(false);\n\n\tconst createChangeHandler = (key, property = 'value') => e => {\n\t\tsetData({ ...data, [key]: (property ? e.target[property] : e) });\n\t};\n\n\tconst getValue = (key, def = '') => {\n\t\tif (!(key in (data ?? {}))) return def;\n\t\treturn data[key];\n\t};\n\n\tuseEffect(() => {\n\t\tconst os = getValue('os', null);\n\t\tif (!os || !os.Catalog_Product__) {\n\t\t\tsetHasLicense(true);\n\t\t\treturn;\n\t\t}\n\n\t\t// Used to reset the state of the selected license\n\t\tsetHasLicense(false);\n\n\t\tfetchLicense(os.Catalog_Product['Shell.LicenseType']).then(setHasLicense);\n\t}, [setHasLicense, data, fetchLicense]);\n\n\tuseEffect(() => {\n\n\t\t// We must select an OS\n\t\tif (!getValue('os', null)) {\n\t\t\tsetNextEnabled(false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst os = getValue('os');\n\n\t\t// Check for license\n\t\tif (os.Catalog_Product) {\n\t\t\tif (loadingLicense || !hasLicense) {\n\t\t\t\tsetNextEnabled(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (os.Purpose === 'server') {\n\t\t\tconst keychain = getValue('keychain', 'none');\n\t\t\tif (!keychain || keychain === 'none') {\n\t\t\t\tsetNextEnabled(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (getValue('os').Shell_OS__ !== (shell.Shell_OS__) ||\n\t\t\tgetValue('datacenter', 'none') !== (shell.Shell_Datacenter__ ?? 'datacenter') ||\n\t\t\tgetValue('keychain', 'none') !== (shell.Keychain__ ?? 'none') ||\n\t\t\tgetValue('erase', false)\n\t\t) {\n\t\t\tsetNextEnabled(true);\n\t\t\treturn;\n\t\t}\n\n\t\tsetNextEnabled(false);\n\n\t}, [data, setNextEnabled, loadingLicense, hasLicense]);\n\n\tconst onOrderComplete = () => {\n\t\tsetShowOrder(false);\n\t\tsetOrderRequest(null);\n\n\t\tconst os = getValue('os', null);\n\t\tif (!os) return;\n\t\tfetchLicense(os.Catalog_Product['Shell.LicenseType']).then(setHasLicense);\n\t};\n\n\tconst handleBuyLicense = e => {\n\t\te.preventDefault();\n\t\tconst os = getValue('os', null);\n\t\tif (!os) return;\n\t\tconst productId = os.Catalog_Product__;\n\t\tconst shellId = shell.Shell__;\n\n\t\tconst urlParams = `${productId},shell=${shellId}`;\n\n\t\tsetOrderRequest(urlParams);\n\t\tsetShowOrder(true);\n\t};\n\n\tconst erase = getValue('erase', false) ||\n\t\t(\n\t\t\tgetValue('os') ?\n\t\t\t\tgetValue('os', {}).Shell_OS__ !== shell.Shell_OS__ :\n\t\t\t\tfalse\n\t\t) ||\n\t\tgetValue('datacenter') !== (shell.Shell_Datacenter__ ?? 'datacenter') ||\n\t\tgetValue('keychain') !== (shell.Keychain__ ?? 'none');\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('shell_reinstall_erase')}\n\t\t\t\n\t\t\t{erase &&\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tsample
\n\t\t\t\t\t\tsample\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tlabel={t('shell_reinstall_erase_text')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t{t('shell_reinstall_os')}\n\t\t\t\n\t\t\t\n\t\t\t\t{(!changeOSToggle && shell.Shell_OS__ !== null) &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{shell.OS.Name}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setChangeOSToggle(true)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('change_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\t{(changeOSToggle || shell.Shell_OS__ === null) &&\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\n\t\t\t{(getValue('os', null) && getValue('os', null).Catalog_Product__) &&\n\t\t\t\n\t\t\t\t\n\t\t\t}\n\n\t\t\t{isShellWindowsOSWarningNeeded(shell, getValue('os', null)) &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('shell_reinstall_keychain')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('shell_reinstall_datacenter')}\n\t\t\t\t\n\t\t\t\t{shell.IPs.length > 0 &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t 0}\n\t\t\t\t\t\tvalue={getValue('datacenter')}\n\t\t\t\t\t\tsetValue={createChangeHandler('datacenter', null)}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('next_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t{orderRequest &&\n\t\t\t\n\t\t\t}\n\t\t
\n\t);\n};\n\nexport default StepSettings;\n\nStepSettings.propTypes = {\n\tdata: PropTypes.object.isRequired,\n\tnext: PropTypes.func.isRequired,\n\tsetData: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport Loader from '../../../layout/Loader/Loader';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../core/typography/Title';\nimport { useTranslation } from 'react-i18next';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport TextField from '@material-ui/core/TextField';\nimport Button from '../../../core/input/Button';\nimport { useSetSnackbar } from '../../../../hooks/useSnackbar';\nimport { useShellReconfigure, useTwoStepValidation } from '@karpeleslab/klb-react-services';\n\nconst StepValidation = ({ shell, data, onComplete, onFail }) => {\n\tconst { t } = useTranslation();\n\tconst [twoStepInfo, setTwoStepInfo] = useState();\n\tconst [reconfigure, reconfiguring] = useShellReconfigure(shell.Shell__);\n\tconst [validate, validating] = useTwoStepValidation();\n\tconst [code, setCode] = useState('');\n\tconst setSnackbar = useSetSnackbar();\n\n\tuseEffect(() => {\n\t\tconst hasKeychainChanged = shell.Keychain__ !== (data.keychain === 'none' ? null : data.keychain);\n\t\treconfigure({\n\t\t\terase: (data.erase ?? false) ||\n\t\t\t\tdata.os.Shell_OS__ !== shell.Shell_OS__ ||\n\t\t\t\thasKeychainChanged,\n\t\t\tShell_OS__: !data.os ? null : data.os.Shell_OS__,\n\t\t\tShell_Datacenter__: data.datacenter === 'none' ? null : data.datacenter,\n\t\t\tKeychain__: data.keychain === 'none' ? '' : (data.keychain ?? null),\n\t\t}).then(session => {\n\t\t\tif (session && session.done) {\n\t\t\t\tsetSnackbar(t('shell_reinstall_done'), 'success');\n\t\t\t\tonComplete(shell);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetTwoStepInfo(session);\n\t\t}).catch(onFail);\n\t}, [setTwoStepInfo]);// eslint-disable-line\n\n\tconst handleCodeSubmit = () => {\n\t\tvalidate(twoStepInfo, code)\n\t\t\t.then(newShell => {\n\t\t\t\tsetSnackbar(t('shell_reinstall_done'), 'success');\n\t\t\t\tonComplete(newShell);\n\t\t\t});\n\t};\n\n\tif (reconfiguring || !twoStepInfo || validating)\n\t\treturn ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('shell_reinstall_validation_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('shell_reinstall_validation_desc')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t setCode(e.target.value)}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('confirm_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n\nexport default StepValidation;\n\nStepValidation.propTypes = {\n\tdata: PropTypes.object.isRequired,\n\tonComplete: PropTypes.func.isRequired,\n\tonFail: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport Stepper from '@material-ui/core/Stepper';\nimport Step from '@material-ui/core/Step';\nimport StepLabel from '@material-ui/core/StepLabel';\nimport StepSettings from './StepSettings';\nimport StepValidation from './StepValidation';\n\nconst getDefaultState = s => {\n\treturn {\n\t\tkeepPassword: true,\n\t\tos: s.OS ?? null,\n\t\tdatacenter: s.Shell_Datacenter__ ?? 'none',\n\t\tkeychain: s.Keychain__ ?? 'none',\n\t\terase: false,\n\t};\n};\n\nconst ShellReinstallWizard = ({ shell, setShell }) => {\n\tconst { t } = useTranslation();\n\tconst [stepIndex, setStepIndex] = useState(0);\n\n\tconst [data, setData] = useState(getDefaultState(shell));\n\n\tconst next = () => {\n\t\tsetStepIndex(stepIndex + 1);\n\t};\n\n\tconst onFail = () => {\n\t\tsetStepIndex(0);\n\t};\n\n\tconst onComplete = s => {\n\t\tsetData(getDefaultState(s));\n\t\tsetStepIndex(0);\n\t\tsetShell(s);\n\t\twindow.scrollTo(0, 0); // This will display clearly the warning 'preparing' state message\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shell_reinstall_step_settings')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('shell_reinstall_step_validation')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{stepIndex === 0 && }\n\t\t\t\t{stepIndex === 1 && }\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellReinstallWizard;\n\nShellReinstallWizard.propTypes = {\n\tsetShell: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Panel from '../../../components/layout/Container/tab/Panel';\nimport { Grid } from '@material-ui/core';\nimport RichAlert from '../../../components/core/feedback/RichAlert';\nimport { Trans } from 'react-i18next';\nimport ShellReinstallWizard from '../../../components/common/Shell/Reinstall/ShellReinstallWizard';\n\nconst ReinstallTab = ({ currentTab, shell, refresh }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ReinstallTab;\nexport const SHELL_TAB_REINSTALL = 3;\n\nReinstallTab.propTypes = {\n\tcurrentTab: PropTypes.number.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import React, { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport PropTypes from 'prop-types';\nimport { useShellISOs } from '@karpeleslab/klb-react-services';\n\nconst ShellISOSelector = ({ value, setValue, label = null, allowEmpty = false, helperText = null, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [isos, fetch, loading] = useShellISOs();\n\n\tuseEffect(() => {\n\t\tfetch({ Status: 'valid' }, { results_per_page: 100 });\n\t}, [fetch]);\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tdisabled={disabled || !isos}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tInputProps={loading ?\n\t\t\t\t{\n\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t} : undefined\n\t\t\t}\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{allowEmpty &&\n\t\t\t\n\t\t\t}\n\t\t\t{isos && isos.data.map(\n\t\t\t\td => \n\t\t\t\t\t{d.Filename}\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ShellISOSelector;\n\nShellISOSelector.propTypes = {\n\tallowEmpty: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\thelperText: PropTypes.string,\n\tlabel: PropTypes.string,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport Grid from '@material-ui/core/Grid';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport { useShellMountISO } from '@karpeleslab/klb-react-services';\nimport ShellISOSelector from '../../core/input/ShellISOSelector';\n\n\nconst IsoMountDialog = ({ open, setOpen, shellId, refresh }) => {\n\tconst { t } = useTranslation();\n\tconst [selected, setSelected] = useState(null);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\n\tconst [mount, mounting] = useShellMountISO(selected);\n\n\tuseEffect(() => {\n\t\tsetSaveEnabled(!!selected);\n\t}, [selected, setSaveEnabled]);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleSave = (e) => {\n\t\te.preventDefault();\n\t\tmount(shellId)\n\t\t\t.then(() => refresh())\n\t\t\t.then(handleClose);\n\t};\n\n\tconst reset = () => {\n\t\tsetSelected(null);\n\t};\n\n\treturn (\n\t\t reset()}\n\t\t\tmaxWidth='lg'\n\t\t\tfullWidth\n\t\t>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{t('dialog_mount_iso_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('mount_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default IsoMountDialog;\n\nIsoMountDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tshellId: PropTypes.string.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport { useShellISOMountUnmount } from '@karpeleslab/klb-react-services';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\nimport DialogContentText from '@material-ui/core/DialogContentText';\n\n\nconst IsoUnmountDialog = ({ open, setOpen, mount, refresh }) => {\n\tconst { t } = useTranslation();\n\tconst [unmount, unmounting] = useShellISOMountUnmount(mount.Shell_ISO_Mount__);\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleUnmount = (e) => {\n\t\te.preventDefault();\n\t\tunmount()\n\t\t\t.then(() => refresh())\n\t\t\t.then(handleClose);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_unmount_iso_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{t('unmount_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default IsoUnmountDialog;\n\nIsoUnmountDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tmount: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useShellISOMounts } from '@karpeleslab/klb-react-services';\nimport TableDefinition from '../../core/data/table/TableDefinition';\nimport Grid from '@material-ui/core/Grid';\nimport Button from '../../core/input/Button';\nimport { Link } from 'react-router-dom';\nimport { getISORoute, getShellViewRoute } from '../../RouteController/Factory';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport Table from '../../core/data/table/Table';\nimport AddIcon from '@material-ui/icons/Add';\nimport IsoMountDialog from './ISOMountDialog';\nimport IsoUnmountDialog from './ISOUnmountDialog';\n\nconst IsoMountTable = ({ filterId, forShells = false }) => {\n\tconst { t } = useTranslation();\n\tconst [mount, fetch, loading] = useShellISOMounts();\n\tconst [showCreate, setShowCreate] = useState(false);\n\tconst [showDelete, setShowDelete] = useState(false);\n\tconst [selected, setSelected] = useState(null);\n\n\tconst initialFilters = forShells ? { Shell__: filterId } : { Shell_ISO__: filterId };\n\n\treturn (\n\t\t<>\n\t\t\t setShowCreate(true)}\n\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('mount_new_iso_btn')}\n\t\t\t\t\t)\n\t\t\t\t]}\n\t\t\t\tinitialFilters={initialFilters}\n\t\t\t\ttitle={t(forShells ? 'shell_mounted_iso' : 'iso_mounted_title')}\n\t\t\t\tfetch={fetch}\n\t\t\t\tdata={mount}\n\t\t\t\tsearch={false}\n\t\t\t\tloading={loading}\n\t\t\t\tpaperProps={{ elevation: 0 }}\n\t\t\t\ttoolbarProps={{ style: { paddingLeft: 0 } }}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{mount => !forShells ?\n\t\t\t\t\t\t{mount.Shell.Label}\n\t\t\t\t\t\t:\n\t\t\t\t\t\t{mount.Shell_ISO.Filename}\n\t\t\t\t\t}\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t{mount =>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetSelected(mount);\n\t\t\t\t\t\t\t\t\t\tsetShowDelete(true);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tvariant='outlined'\n\t\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\t\tcolor='secondary'\n\t\t\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{t('unmount_btn')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\t{forShells && \n\t\t\t}\n\t\t\t{selected && }\n\t\t\n\t);\n};\n\nexport default IsoMountTable;\n\nIsoMountTable.propTypes = {\n\tfilterId: PropTypes.string.isRequired,\n\tforShells: PropTypes.bool\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport IsoMountTable from '../../ISO/IsoMountTable';\n\nconst ShellIso = ({ shell }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellIso;\n\nShellIso.propTypes = {\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Panel from '../../../components/layout/Container/tab/Panel';\nimport { Grid } from '@material-ui/core';\nimport RichAlertTrans from '../../../components/core/feedback/RichAlertTrans';\nimport ShellIso from '../../../components/common/Shell/ISO/ShellISO';\nimport ModeCheck from '../../../components/layout/Mode/ModeCheck';\n\nconst ISOTab = ({ currentTab, shell }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ISOTab;\nexport const SHELL_TAB_ISO = 4;\n\nISOTab.propTypes = {\n\tcurrentTab: PropTypes.number.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport TextField from '@material-ui/core/TextField';\nimport FileCopyIcon from '@material-ui/icons/FileCopy';\nimport { copyToClipboard } from '../../../utils/misc';\nimport IconButton from '@material-ui/core/IconButton';\nimport CheckIcon from '@material-ui/icons/Check';\nimport { useTranslation } from 'react-i18next';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { Typography } from '@material-ui/core';\n\nconst ClipboardCopyTextField = ({ value, ...rest }) => {\n\tconst [copied, setCopied] = useState(false);\n\tconst { t } = useTranslation();\n\n\tuseEffect(() => {\n\t\tlet timer = null;\n\t\tif (copied) {\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tsetCopied(false);\n\t\t\t}, 1000);\n\t\t}\n\t\treturn () => {\n\t\t\tif (timer) clearTimeout(timer);\n\t\t};\n\t}, [copied]);\n\n\tconst handleCopy = () => {\n\t\tif (copied) return;\n\t\tcopyToClipboard(value);\n\t\tsetCopied(true);\n\t};\n\n\treturn (\n\t\t\n\n\t\t\t\t\t\t\t{!copied && \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t{copied && <>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('clipboard_copy_confirm')}\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t{...rest}\n\t\t/>\n\t);\n};\n\nexport default ClipboardCopyTextField;\n\nClipboardCopyTextField.propTypes = {\n\tvalue: PropTypes.string\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport Grid from '@material-ui/core/Grid';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../core/input/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport { useTranslation } from 'react-i18next';\nimport BugReportIcon from '@material-ui/icons/BugReport';\nimport ClipboardCopyTextField from '../../core/input/ClipboardCopyTextField';\nimport { useMetaObjectLinkAccess } from '@karpeleslab/klb-react-services';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\n\nconst DebugDialog = ({ open, setOpen, shell }) => {\n\tconst { t } = useTranslation();\n\n\tconst [getShareLink, loadingLink] = useMetaObjectLinkAccess(shell.Shell__);\n\tconst [link, setLink] = useState();\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleGet = () => {\n\t\tgetShareLink('A', '+24 hour').then(setLink);\n\t};\n\n\treturn (\n\t\t\n\n\t\t\t\n\t\t\t\t{t('shell_debug')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{!link && }\n\t\t\t\t\t\t\tloading={loadingLink}\n\t\t\t\t\t\t\tonClick={handleGet}\n\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('shell_debug_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{link &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DebugDialog;\n\nDebugDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport Button from '../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport BugReportIcon from '@material-ui/icons/BugReport';\nimport DebugDialog from './DebugDialog';\n\nconst ShellDebugButton = ({ shell, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [show, setShow] = useState(false);\n\n\treturn (\n\t\t<>\n\t\t\t}\n\t\t\t\tonClick={() => setShow(true)}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{t('shell_debug_btn')}\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellDebugButton;\n\nShellDebugButton.propTypes = {\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Panel from '../../../components/layout/Container/tab/Panel';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../components/core/typography/Title';\nimport ShellDebugButton from '../../../components/common/Shell/ShellDebugButton';\nimport { useTranslation } from 'react-i18next';\nimport ClipboardCopyTextField from '../../../components/core/input/ClipboardCopyTextField';\nimport RichAlertTrans from '../../../components/core/feedback/RichAlertTrans';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst SupportTab = ({ currentTab, shell }) => {\n\tconst { t } = useTranslation();\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('sm'), { noSsr: true });\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('shell_debug_title')}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SupportTab;\nexport const SHELL_TAB_SUPPORT = 5;\n\nSupportTab.propTypes = {\n\tcurrentTab: PropTypes.number.isRequired,\n\tshell: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect } from 'react';\nimport Tab from '@material-ui/core/Tab';\nimport { SHELL_TAB_SETTINGS } from './SettingsTab';\nimport { SHELL_TAB_ADMINISTRATION } from './AdministrationTab';\nimport { isExpired } from '../../../utils/shell';\nimport { SHELL_TAB_SNAPSHOTS } from './SnapshotsTab';\nimport { SHELL_TAB_REINSTALL } from './ReinstallTab';\nimport { SHELL_TAB_ISO } from './ISOTab';\nimport Tabs from '@material-ui/core/Tabs';\nimport { getShellViewRoute } from '../../../components/RouteController/Factory';\nimport queryString from 'query-string';\nimport { useHistory, useLocation } from 'react-router';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useTranslation } from 'react-i18next';\nimport { useIsMode } from '../../../hooks/useIsMode';\nimport { ADVANCED_MODE } from '../../../context/ModeContext';\nimport { SHELL_TAB_SUPPORT } from './SupportTab';\n\nconst ShellTabs = ({ shell, value, setValue }) => {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst { t } = useTranslation();\n\n\tconst isMobile = useMediaQuery('(max-width:608px)', { noSsr: true });\n\tconst isAdvanced = useIsMode(ADVANCED_MODE);\n\n\tconst handleTabChange = (event, newValue) => {\n\t\thistory.push(`${getShellViewRoute(shell.Shell__)}?t=${newValue}`);\n\t};\n\n\tuseEffect(() => {\n\t\tconst currentParams = queryString.parse(location.search);\n\t\tconst index = parseInt(currentParams.t ?? 0) ?? 0;\n\n\t\tsetValue(index);\n\t}, [location]); //eslint-disable-line\n\n\tuseEffect(() => {\n\t\t// Reinstall tab disabled when shell is expired\n\t\tconst currentParams = queryString.parse(location.search);\n\t\tconst index = parseInt(currentParams.t ?? 0) ?? 0;\n\n\t\tif (index === SHELL_TAB_REINSTALL && isExpired(shell)) {\n\t\t\thistory.push(`${getShellViewRoute(shell.Shell__)}?t=${SHELL_TAB_SETTINGS}`);\n\t\t}\n\t}, [shell, location]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t{(isAdvanced && 0) &&\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ShellTabs;\n\nShellTabs.propTypes = {\n\tsetValue: PropTypes.func.isRequired,\n\tshell: PropTypes.object.isRequired,\n\tvalue: PropTypes.number.isRequired\n};\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router';\nimport PageLoader from '../../components/layout/Loader/PageLoader';\nimport PageNotFound from '../System/PageNotFound';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { Box, Grid } from '@material-ui/core';\nimport PageTitle from '../../components/core/typography/PageTitle';\nimport { getShellsRoute } from '../../components/RouteController/Factory';\nimport ShellPicture from '../../components/common/Shell/ShellPicture/ShellPicture';\nimport ShellAction from '../../components/common/Shell/ShellAction/ShellAction';\nimport ShellUsage from '../../components/common/Shell/Subscription/ShellUsage';\nimport ShellExpireButton from '../../components/common/Shell/ShellExpireButton';\nimport ShellInfo from '../../components/common/Shell/ShellInfo';\nimport ShellUpgradeButton from '../../components/common/Shell/ShellUpgradeButton';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport PreparingRefresh from '../../components/common/Shell/PreparingRefresh';\nimport { isExpired } from '../../utils/shell';\nimport ShellExpiredMessage from '../../components/common/Shell/Subscription/ShellExpiredMessage';\nimport ModeCheck from '../../components/layout/Mode/ModeCheck';\nimport { useShell } from '@karpeleslab/klb-react-services';\nimport { useAutoRefresher } from '../../hooks/useAutoRefresher';\nimport { SHELL_OS_ICON_VARIATION } from '../../hooks/useShells';\nimport SettingsTab from './Shell/SettingsTab';\nimport AdministrationTab from './Shell/AdministrationTab';\nimport SnapshotsTab from './Shell/SnapshotsTab';\nimport ReinstallTab from './Shell/ReinstallTab';\nimport ISOTab from './Shell/ISOTab';\nimport ShellTabs from './Shell/ShellTabs';\nimport SupportTab from './Shell/SupportTab';\nimport ShellWindowsOsWarning, { isShellWindowsOSWarningNeeded } from '../../components/common/Shell/ShellWindowsOSWarning';\n\nconst Shell = () => {\n\tconst { t } = useTranslation();\n\tconst { shellId } = useParams();\n\tconst [params] = useState({ image_variation: [SHELL_OS_ICON_VARIATION] });\n\tconst [shell, refresh] = useShell(shellId, params);\n\tuseAutoRefresher(refresh);\n\n\tconst [tabIndex, setTabIndex] = useState(0);\n\n\tconst isMobile = useMediaQuery('(max-width:608px)', { noSsr: true });\n\tconst isSmall = useMediaQuery(theme => theme.breakpoints.down('md'), { noSsr: true });\n\n\tif (!shell) return ;\n\tif (!shell.data) return ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t{isExpired(shell.data) &&\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t{isShellWindowsOSWarningNeeded(shell.data, shell.data.OS) &&\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{!isExpired(shell.data) &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Shell;\n","import React from 'react';\nimport { Grid, Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport Box from '@material-ui/core/Box';\nimport Link from './Link';\n\nconst SolutionsForYou = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_why_shells_header_1')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t12')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t13')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t14')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t15')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t16')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t17')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t2')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t3')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t4')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t8')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t10')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_you_t0')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SolutionsForYou;\n","import React from 'react';\nimport { Grid, Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport Box from '@material-ui/core/Box';\nimport Link from './Link';\n\nconst SolutionsForThem = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_why_shells_header_2')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_business_t9')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_business_t18')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_solutions_for_business_t19')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default SolutionsForThem;","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid, Typography } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport Link from './Link';\n\nconst CommunityHelp = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_com')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_com_t3')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_com_t4')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('support_title')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CommunityHelp;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid, Typography } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport Link from './Link';\n\nconst Legal = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_legal')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_terms_conditions')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_privacy_policy')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Legal;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid, Typography } from '@material-ui/core';\nimport Box from '@material-ui/core/Box';\nimport Link from './Link';\n\nconst Navigation = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_nav')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_link_os')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_link_download')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_link_affiliates')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_link_contact')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_link_network')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Navigation;\n","import React from 'react';\nimport { Grid, Typography } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport Box from '@material-ui/core/Box';\nimport Link from './Link';\n\nconst About = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_about')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_about_t0')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_nav_about_t1')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_link_careers')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default About;","import React from 'react';\nimport { Grid } from '@material-ui/core';\nimport PageTitle from '../../components/core/typography/PageTitle';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { useTranslation } from 'react-i18next';\nimport SolutionsForYou from '../../components/common/Links/SolutionsForYou';\nimport SolutionsForThem from '../../components/common/Links/SolutionsForThem';\nimport CommunityHelp from '../../components/common/Links/CommunityHelp';\nimport Legal from '../../components/common/Links/Legal';\nimport Navigation from '../../components/common/Links/Navigation';\nimport About from '../../components/common/Links/About';\n\nconst Links = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('footer_copyright', { year: (new Date()).getFullYear() })}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Links;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TableDefinition from '../../core/data/table/TableDefinition';\nimport Table from '../../core/data/table/Table';\nimport Button from '../../core/input/Button';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport { Link } from 'react-router-dom';\nimport { getCustomOsEditRoute } from '../../RouteController/Factory';\nimport Grid from '@material-ui/core/Grid';\nimport { ICON_VARIATION } from '../../../hooks/useOperatingSystems';\nimport DateUtil from '../../core/data/Date/DateUtil';\nimport { useOperatingSystems } from '@karpeleslab/klb-react-services';\nimport Avatar from '@material-ui/core/Avatar';\nimport defaultIcon from '../../../assets/img/shells_icon_white.svg';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nconst OperatingSystemTable = () => {\n\tconst { t } = useTranslation();\n\tconst [os, fetch, loading] = useOperatingSystems();\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('sm'));\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{os => }\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t{os => t(`custom_os_public_${os.Public.toLowerCase()}`)}\n\t\t\t\n\n\t\t\t{!isMobile && \n\t\t\t\t{os => t(`custom_os_family_${os.Family.toLowerCase()}`)}\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{os => }\n\t\t\t}\n\n\t\t\t\n\t\t\t\t{os =>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('view_btn')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\n\n\t\t\n\t);\n};\n\nexport default OperatingSystemTable;\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport { useShells } from '@karpeleslab/klb-react-services';\n\nconst ShellSelector = ({ value, setValue, idOnly = true, volumeRequired = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\tconst [shells, fetch, loading] = useShells();\n\tconst [idToShellMap, setIdToShellMap] = useState();\n\n\tuseEffect(() => {\n\t\tfetch({}, { result_per_page: 100, page_no: 1 });\n\t}, []); // eslint-disable-line\n\n\tuseEffect(() => {\n\t\tif (idOnly || !shells) return;\n\t\tconst map = {};\n\t\tshells.data.forEach(s => map[s.Shell__] = s);\n\t\tsetIdToShellMap(map);\n\t}, [shells, setIdToShellMap, idOnly]);\n\n\treturn (\n\t\t setValue(idOnly ? e.target.value : idToShellMap[e.target.value])}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tvariant='outlined'\n\t\t\tInputProps={loading ?\n\t\t\t\t{\n\t\t\t\t\tendAdornment:\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t} : undefined\n\t\t\t}\n\t\t\tSelectProps={{\n\t\t\t\tnative: true,\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ShellSelector;\n\nShellSelector.propTypes = {\n\tidOnly: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string,\n\tvolumeRequired: PropTypes.bool\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\n\nconst OSFamilySelector = ({ value, setValue, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tdisabled={disabled}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OSFamilySelector;\n\nOSFamilySelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\n\nconst OSBootSelector = ({ value, setValue, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tdisabled={disabled}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OSBootSelector;\n\nOSBootSelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\n\nconst OSPublicSelector = ({ value, setValue, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tdisabled={disabled}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OSPublicSelector;\n\nOSPublicSelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\n\nconst OSBetaSelector = ({ value, setValue, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tdisabled={disabled}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OSBetaSelector;\n\nOSBetaSelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TextField from '@material-ui/core/TextField';\nimport PropTypes from 'prop-types';\n\nconst OSCPUSelector = ({ value, setValue, disabled = false, required = false, ...rest }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t setValue(e.target.value)}\n\t\t\tselect\n\t\t\tfullWidth\n\t\t\tInputLabelProps={{ shrink: !!value }}\n\t\t\tdisabled={disabled}\n\t\t\trequired={required}\n\t\t\tvariant='outlined'\n\t\t\tSelectProps={{\n\t\t\t\tnative: true\n\t\t\t}}\n\t\t\t{...rest}\n\t\t>\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OSCPUSelector;\n\nOSCPUSelector.propTypes = {\n\tdisabled: PropTypes.bool,\n\trequired: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tvalue: PropTypes.string\n};\n","import PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { Avatar, Grid } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport uuid from '../../../utils/uuid';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Input from '@material-ui/core/Input';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport Button from './Button';\nimport defaultPicture from '../../../assets/img/shells_icon_white.svg';\nimport { useSetSnackbar } from '../../../hooks/useSnackbar';\n\nconst Picture = ({ value, setValue, defaultValue, label, disabled, pictureEditedChanged, square = false, required = false, reverseDisplay = false, helperText, minWidth = null, minHeight = null, previewStyle = {} }) => {\n\tconst { t } = useTranslation();\n\tconst setSnackbar = useSetSnackbar();\n\tconst [pictureSrc, setPictureSrc] = useState(defaultPicture);\n\tconst [pictureEdited, _setPictureEdited] = useState(false);\n\tconst [pictureKey, setPictureKey] = useState(uuid());\n\n\t// eslint-disable-next-line no-undef\n\tconst setPictureEdited = useCallback((v) => {\n\t\t_setPictureEdited(v);\n\t\tif (pictureEditedChanged)\n\t\t\tpictureEditedChanged(v);\n\t}, [_setPictureEdited, pictureEditedChanged]);\n\n\t// Update img src tag\n\tuseEffect(() => {\n\t\tconst isSame = value === defaultValue || (value && 'Media_Image__' in value && defaultValue && value.Media_Image__ === defaultValue.Media_Image__);\n\n\t\tif (value === null || 'Media_Image__' in value) {\n\t\t\tif (defaultValue && 'Url' in defaultValue)\n\t\t\t\tsetPictureSrc(defaultValue.Url);\n\t\t\telse {\n\t\t\t\tif (!defaultValue && value && 'Url' in value) {\n\t\t\t\t\tsetPictureSrc(value.Url);\n\t\t\t\t} else\n\t\t\t\t\tsetPictureSrc(defaultPicture);\n\t\t\t}\n\n\t\t\tif (isSame) {\n\t\t\t\tsetPictureEdited(false);\n\t\t\t\tsetPictureKey(uuid());\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst fr = new FileReader();\n\t\tfr.onload = function () {\n\t\t\tconst img = new Image();\n\n\t\t\timg.onload = function () {\n\t\t\t\tlet error = null;\n\t\t\t\tif ((minWidth && minHeight) && (img.width < minWidth || img.height < minHeight)) {\n\t\t\t\t\terror = ['picture_chooser_invalid_size', { minHeight: minHeight, minWidth: minWidth }];\n\t\t\t\t} else if (minWidth && img.width < minWidth) {\n\t\t\t\t\terror = ['picture_chooser_invalid_size_width', { minWidth: minWidth }];\n\t\t\t\t} else if (minHeight && img.height < minHeight) {\n\t\t\t\t\terror = ['picture_chooser_invalid_size_height', { minHeight: minHeight }];\n\t\t\t\t} else if (square && img.width !== img.height) {\n\t\t\t\t\terror = ['picture_chooser_invalid_square'];\n\t\t\t\t}\n\n\t\t\t\tif (error) {\n\t\t\t\t\tsetSnackbar(t(...error), 'error');\n\t\t\t\t\tonRevertPicture();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetPictureSrc(fr.result);\n\t\t\t};\n\n\t\t\timg.src = fr.result; // is the data URL because called with readAsDataURL\n\n\t\t};\n\t\tfr.readAsDataURL(value);\n\n\t\t// eslint-disable-next-line\n\t}, [value, defaultValue, setPictureEdited, minWidth, minHeight]);\n\n\tconst onPictureChange = (e) => {\n\t\tif (e.target.files.length < 1) {\n\t\t\tsetValue(defaultValue);\n\t\t} else {\n\t\t\tsetValue(e.target.files[0]);\n\t\t}\n\n\t\tsetPictureEdited(true);\n\t};\n\n\tconst onRevertPicture = () => {\n\t\tsetValue(defaultValue);\n\t\tsetPictureEdited(false);\n\t\tsetPictureKey(uuid());\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{label}\n\t\t\t\t\t\n\t\t\t\t\t{helperText && {helperText}}\n\t\t\t\t\n\t\t\t\t{pictureEdited &&\n\t\t\t\t}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Picture;\n\nPicture.propTypes = {\n\tdefaultValue: PropTypes.any,\n\tdisabled: PropTypes.any,\n\thelperText: PropTypes.any,\n\tlabel: PropTypes.any,\n\tminHeight: PropTypes.number,\n\tminWidth: PropTypes.number,\n\tpictureEditedChanged: PropTypes.any,\n\tpreviewStyle: PropTypes.object,\n\trequired: PropTypes.bool,\n\treverseDisplay: PropTypes.bool,\n\tsetValue: PropTypes.func.isRequired,\n\tsquare: PropTypes.bool,\n\tvalue: PropTypes.any\n};\n","import PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport React, { useEffect } from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport TextField from '@material-ui/core/TextField';\nimport OSFamilySelector from '../../core/input/OSFamilySelector';\nimport OSBootSelector from '../../core/input/OSBootSelector';\nimport OSPublicSelector from '../../core/input/OSPublicSelector';\nimport OSBetaSelector from '../../core/input/OSBetaSelector';\nimport OSCPUSelector from '../../core/input/OSCPUSelector';\nimport Picture from '../../core/input/Picture';\nimport OSPurposeSelector from '../../core/input/OSPurposeSelector';\n\nconst Form = ({ data, setData, setIsValid, disabled = false }) => {\n\tconst { t } = useTranslation();\n\n\tconst createChangeHandler = (key, property = 'value') => e => {\n\t\tsetData({ ...data, [key]: (property ? e.target[property] : e) });\n\t};\n\n\tconst getValue = (key, def = '') => {\n\t\tif (!(key in (data ?? {}))) return def;\n\t\treturn data[key];\n\t};\n\n\tuseEffect(() => {\n\t\tif (!('Name' in data ?? {}) || !data['Name'].trim()) setIsValid(false);\n\t\telse if (!('CPU' in data ?? {}) || !data['CPU']) setIsValid(false);\n\t\telse if (!('Boot' in data ?? {}) || !data['Boot']) setIsValid(false);\n\t\telse if (!('Family' in data ?? {}) || !data['Family']) setIsValid(false);\n\t\telse if ((!('Public' in data ?? {}) || !data['Public'])) setIsValid(false);\n\t\telse setIsValid(true);\n\t}, [data, setIsValid]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Form;\n\nForm.propTypes = {\n\tdata: PropTypes.object.isRequired,\n\tdisabled: PropTypes.bool,\n\tsetData: PropTypes.func.isRequired,\n\tsetIsValid: PropTypes.func.isRequired\n};\n","import Progress from '@material-ui/core/LinearProgress';\nimport withStyles from '@material-ui/core/styles/withStyles';\n\nexport default withStyles(() => ({\n\troot: {\n\t\twidth: '100%',\n\t\theight: 10,\n\t},\n}))(Progress);\n","import PropTypes from 'prop-types';\nimport React, {\n\tuseEffect,\n\tuseState\n} from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport Grid from '@material-ui/core/Grid';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../core/input/Button';\nimport {\n\tTrans,\n\tuseTranslation\n} from 'react-i18next';\nimport { getCustomOsEditRoute } from '../../RouteController/Factory';\nimport { useHistory } from 'react-router-dom';\nimport uuid from '../../../utils/uuid';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Input from '@material-ui/core/Input';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport { getLocale } from '@karpeleslab/klbfw';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\nimport Tab from '@material-ui/core/Tab';\nimport Tabs from '@material-ui/core/Tabs';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Panel from '../../layout/Container/tab/Panel';\nimport ShellSelector from '../../core/input/ShellSelector';\nimport Form from './Form';\nimport {\n\tuseOperatingSystemCreateEmpty,\n\tuseOperatingSystemCreateFromFile,\n\tuseOperatingSystemCreateFromShell\n} from '@karpeleslab/klb-react-services';\nimport LinearProgress from '../../core/feedback/LinearProgress';\nimport RichAlert from '../../core/feedback/RichAlert';\nimport { fileExtensionIs } from '../../../utils/misc';\n\nconst FROM_SHELL_TAB = 0;\nconst FROM_FILE_TAB = 1;\nconst EMPTY_OS_TAB = 2;\n\nconst INITIAL_DATA = { Purpose: 'unknown', Beta: 'Y' };\n\nconst CreateDialog = ({ open, setOpen }) => {\n\tconst { t } = useTranslation();\n\tconst history = useHistory();\n\n\tconst [createFromFile, creatingFromFile, progress] = useOperatingSystemCreateFromFile();\n\tconst [createFromShell, creatingFromShell] = useOperatingSystemCreateFromShell();\n\tconst [createEmpty, creatingEmpty] = useOperatingSystemCreateEmpty();\n\n\tconst [tab, setTab] = useState(FROM_SHELL_TAB);\n\n\tconst [file, setFile] = useState(null);\n\tconst [fileKey, setFileKey] = useState(uuid());\n\tconst [shell, setShell] = useState();\n\t// This will control, the input to display it red if the file is not a .shells,\n\t// We default to true, because when there is no selected file we don't want to have the 'red' error outline to the input\n\tconst [isFileValid, setIsFileValid] = useState(true);\n\n\tconst [data, setData] = useState(INITIAL_DATA);\n\n\tconst [isValid, setIsValid] = useState(false);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tconst handleTabChange = (event, newValue) => {\n\t\tsetTab(newValue);\n\t};\n\n\tconst reset = () => {\n\t\tsetTab(FROM_SHELL_TAB);\n\t\tsetShell(undefined);\n\t\tsetFileKey(uuid());\n\t\tsetFile(null);\n\t\tsetData(INITIAL_DATA);\n\t\tsetIsFileValid(true);\n\t};\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleFile = e => {\n\t\tif (e.target.files.length > 0)\n\t\t\tsetFile(e.target.files[0]);\n\t};\n\n\tuseEffect(() => {\n\t\tif (!file) setIsFileValid(true); // No file so we default to true\n\t\telse setIsFileValid(fileExtensionIs(file, 'shells'));\n\t}, [file, setIsFileValid]);\n\n\tconst handleCreate = e => {\n\t\te.preventDefault();\n\t\tlet promise;\n\n\t\tconst names = { [getLocale()]: data['Name'].trim() };\n\t\tconst descriptions = { [getLocale()]: (data['Description'] ?? '').trim() };\n\t\tconst shortDescriptions = { [getLocale()]: (data['Short_Description'] ?? '').trim() };\n\t\tconst family = data.Family;\n\t\tconst boot = data.Boot;\n\t\tconst cpu = data.CPU;\n\t\tconst icon = data['New_Media_Image'] ?? null;\n\t\tconst isPublic = data['Public'] ?? 'N';\n\t\tconst purpose = data['Purpose'] ?? 'unknown';\n\t\tconst beta = data['Beta'] ?? 'Y';\n\n\t\tif (tab === FROM_FILE_TAB) {\n\t\t\tpromise = createFromFile(file, names, family, boot, cpu, isPublic, descriptions, shortDescriptions, purpose, beta, icon);\n\t\t} else if (tab === FROM_SHELL_TAB) {\n\t\t\tpromise = createFromShell(shell.Shell_Volume__, names, family, boot, cpu, isPublic, descriptions, shortDescriptions, purpose, beta, icon);\n\t\t} else {\n\t\t\tpromise = createEmpty(names, family, boot, cpu, isPublic, descriptions, shortDescriptions, purpose, beta, icon);\n\t\t}\n\n\t\tpromise.then(d => history.push(getCustomOsEditRoute(d.Shell_OS__)));\n\t};\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t!isValid ||\n\t\t\t(tab === FROM_SHELL_TAB && !shell) ||\n\t\t\t(tab === FROM_FILE_TAB && (!file || !isFileValid))\n\t\t) {\n\t\t\tsetSaveEnabled(false);\n\t\t\treturn;\n\t\t}\n\n\t\tsetSaveEnabled(true);\n\t}, [setSaveEnabled, file, data, isValid, shell, isFileValid]);\n\n\treturn (\n\t\t reset()}\n\t\t\tmaxWidth='xl'\n\t\t\tfullWidth\n\t\t>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{t('dialog_create_os_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('custom_os_file_label')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t(isFileValid ? 'custom_os_file_helperText' : 'custom_os_file_error_helperText')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{creatingFromFile && }\n\t\t\t\t\t\n\t\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('create_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t
\n\n\t\t\n\t);\n};\n\nexport default CreateDialog;\n\nCreateDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import React, { useState } from 'react';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport OperatingSystemTable from '../../components/common/OperatingSystem/OperatingSystemTable';\nimport Button from '../../components/core/input/Button';\nimport AddIcon from '@material-ui/icons/Add';\nimport Toolbar from '../../components/core/typography/Toolbar';\nimport CreateDialog from '../../components/common/OperatingSystem/CreateDialog';\n\nconst CustomOSList = () => {\n\tconst { t } = useTranslation();\n\tconst [showCreate, setShowCreate] = useState(false);\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setShowCreate(true)}\n\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('create_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default CustomOSList;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\nimport ClipboardCopyTextField from '../../core/input/ClipboardCopyTextField';\n\nconst OperatingSystemShare = ({ os }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t{os.Public !== 'Y' &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OperatingSystemShare;\n\nOperatingSystemShare.propTypes = {\n\tos: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport { deepCopy } from '../../../utils/misc';\nimport Form from './Form';\nimport Button from '../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport { getLocale } from '@karpeleslab/klbfw';\nimport { useUpdateOperatingSystem } from '@karpeleslab/klb-react-services';\n\nconst EditForm = ({ os, refresh }) => {\n\tconst [data, setData] = useState(deepCopy(os));\n\tconst [isValid, setIsValid] = useState(false);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst { t } = useTranslation();\n\tconst [update, updating] = useUpdateOperatingSystem(os.Shell_OS__);\n\n\tuseEffect(() => {\n\t\tsetData(deepCopy(os));\n\t}, [os, setData]);\n\n\tconst saveHandler = () => {\n\t\t// We need to format the name\n\t\t// because on the backend it use multilingual input that is not supported yet on the frontend\n\t\tconst icon = data['New_Media_Image'] ?? null;\n\t\tconst cpy = deepCopy(data);\n\t\tcpy['Name'] = { [getLocale()]: cpy.Name.trim() };\n\t\tcpy['Description'] = { [getLocale()]: (cpy.Description ?? '').trim() };\n\t\tcpy['Short_Description'] = { [getLocale()]: (cpy.Short_Description ?? '').trim() };\n\t\tupdate(cpy, icon).then(refresh);\n\t};\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t(!!data['New_Media_Image'] && data['New_Media_Image'] instanceof File) ||\n\t\t\tdata['Public'] !== os['Public'] ||\n\t\t\tdata['Name'] !== os['Name'] ||\n\t\t\tdata['Description'] !== os['Description'] ||\n\t\t\tdata['Short_Description'] !== os['Short_Description'] ||\n\t\t\tdata['Family'] !== os['Family'] ||\n\t\t\tdata['Boot'] !== os['Boot'] ||\n\t\t\tdata['CPU'] !== os['CPU'] ||\n\t\t\tdata['Purpose'] !== os['Purpose'] ||\n\t\t\tdata['Beta'] !== os['Beta']\n\t\t)\n\t\t\tsetSaveEnabled(true);\n\t\telse\n\t\t\tsetSaveEnabled(false);\n\t}, [data, os, setSaveEnabled]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default EditForm;\n\nEditForm.propTypes = {\n\tos: PropTypes.object.isRequired,\n\trefresh: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport Grid from '@material-ui/core/Grid';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport { Trans, useTranslation } from 'react-i18next';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Input from '@material-ui/core/Input';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport Tab from '@material-ui/core/Tab';\nimport Tabs from '@material-ui/core/Tabs';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport uuid from '../../../../utils/uuid';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport Panel from '../../../layout/Container/tab/Panel';\nimport ShellSelector from '../../../core/input/ShellSelector';\nimport Button from '../../../core/input/Button';\nimport {\n\tuseOperatingSystemAddImageFromFile,\n\tuseOperatingSystemAddImageFromShell\n} from '@karpeleslab/klb-react-services';\nimport LinearProgress from '../../../core/feedback/LinearProgress';\nimport RichAlert from '../../../core/feedback/RichAlert';\nimport { fileExtensionIs } from '../../../../utils/misc';\n\nconst FROM_SHELL_TAB = 0;\nconst FROM_FILE_TAB = 1;\n\nconst AddVersionDialog = ({ open, setOpen, os, refresh, canAddNewVersion = true }) => {\n\tconst { t } = useTranslation();\n\n\tconst [createFromFile, creatingFromFile, progress] = useOperatingSystemAddImageFromFile(os?.Shell_OS__);\n\tconst [createFromShell, creatingFromShell] = useOperatingSystemAddImageFromShell(os?.Shell_OS__);\n\n\tconst [tab, setTab] = useState(FROM_SHELL_TAB);\n\n\tconst [file, setFile] = useState(null);\n\tconst [fileKey, setFileKey] = useState(uuid());\n\tconst [shell, setShell] = useState();\n\t// This will control, the input to display it red if the file is not a .shells,\n\t// We default to true, because when there is no selected file we don't want to have the 'red' error outline to the input\n\tconst [isFileValid, setIsFileValid] = useState(true);\n\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\tconst handleTabChange = (event, newValue) => {\n\t\tsetTab(newValue);\n\t};\n\n\tconst reset = () => {\n\t\tsetTab(FROM_SHELL_TAB);\n\t\tsetShell(undefined);\n\t\tsetFileKey(uuid());\n\t\tsetFile(null);\n\t\tsetIsFileValid(true);\n\t};\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleFile = e => {\n\t\tif (e.target.files.length > 0)\n\t\t\tsetFile(e.target.files[0]);\n\t};\n\n\tconst handleCreate = e => {\n\t\te.preventDefault();\n\n\t\tlet promise;\n\t\tif (tab === FROM_FILE_TAB) {\n\t\t\tpromise = createFromFile(file);\n\t\t} else {\n\t\t\tpromise = createFromShell(shell.Shell_Volume__);\n\t\t}\n\n\t\tpromise.then(() => refresh()).then(handleClose);\n\t};\n\n\tuseEffect(() => {\n\t\tif (!file) setIsFileValid(true); // No file so we default to true\n\t\telse setIsFileValid(fileExtensionIs(file, 'shells'));\n\t}, [file, setIsFileValid]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\t(tab === FROM_SHELL_TAB && !shell) ||\n\t\t\t(tab === FROM_FILE_TAB && (!file || !isFileValid))\n\t\t) {\n\t\t\tsetSaveEnabled(false);\n\t\t\treturn;\n\t\t}\n\n\t\tsetSaveEnabled(true);\n\t}, [setSaveEnabled, file, tab, shell, isFileValid]);\n\n\treturn (\n\t\t reset()}\n\t\t\tmaxWidth='lg'\n\t\t\tfullWidth\n\t\t>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{t('dialog_os_add_version_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{!canAddNewVersion &&\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{canAddNewVersion && \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{canAddNewVersion && \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t('custom_os_file_label')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{t(isFileValid ? 'custom_os_file_helperText' : 'custom_os_file_error_helperText')}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{creatingFromFile && }\n\t\t\t\t\t\n\t\t\t\t\t{canAddNewVersion && \n\t\t\t\t\t\t{t('create_btn')}\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default AddVersionDialog;\n\nAddVersionDialog.propTypes = {\n\tcanAddNewVersion: PropTypes.bool,\n\topen: PropTypes.bool.isRequired,\n\tos: PropTypes.object.isRequired,\n\trefresh: PropTypes.func.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport { useTranslation } from 'react-i18next';\nimport React, { useEffect, useState } from 'react';\nimport Table from '../../../core/data/table/Table';\nimport TableDefinition from '../../../core/data/table/TableDefinition';\nimport DateUtil from '../../../core/data/Date/DateUtil';\nimport AddIcon from '@material-ui/icons/Add';\nimport Button from '../../../core/input/Button';\nimport AddVersionDialog from './AddVersionDialog';\nimport moment from 'moment';\nimport { Grid } from '@material-ui/core';\nimport RichAlertTrans from '../../../core/feedback/RichAlertTrans';\nimport Chip from '@material-ui/core/Chip';\nimport { getShellViewRoute } from '../../../RouteController/Factory';\nimport { useOperatingSystemImages } from '@karpeleslab/klb-react-services';\n\nconst OSImageTable = ({ os }) => {\n\tconst { t } = useTranslation();\n\tconst [images, fetch, loading] = useOperatingSystemImages(os.Shell_OS__);\n\tconst [showCreate, setShowCreate] = useState(false);\n\n\n\tconst [canAddNewVersion, setCanAddNewVersion] = useState(false);\n\tconst [hasValidImage, setHasValidImage] = useState(false);\n\n\t// The Image disk version is formatted as follow: YYYYMMDD (UTC)\n\t// It should be unique in the database, it means we can only add 1 Disk Image per UTC day\n\tuseEffect(() => {\n\t\tif (!images) return;\n\t\tconst today = moment.utc().format('YYYYMMDD');\n\n\t\tlet canAdd = true;\n\t\tlet hasValid = false;\n\t\tfor (let i = 0; i < (images.data ?? []).length; i++) {\n\t\t\tif (images.data[i].Version === today) {\n\t\t\t\tcanAdd = false;\n\t\t\t}\n\t\t\tif (images.data[i].Status === 'valid') hasValid = true;\n\t\t}\n\t\tsetCanAddNewVersion(canAdd);\n\t\tsetHasValidImage(hasValid);\n\t}, [images]);\n\n\treturn (\n\t\t\n\t\t\t{!hasValidImage && \n\t\t\t\t\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\t setShowCreate(true)}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tvariant=\"contained\"\n\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('add_os_image_version_btn')}\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t\ttitle={t('custom_os_image_title')}\n\t\t\t\t\tfetch={fetch}\n\t\t\t\t\tdata={images}\n\t\t\t\t\tsearch={false}\n\t\t\t\t\tloading={loading}\n\t\t\t\t\tpaperProps={{ elevation: 0 }}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{image => {\n\t\t\t\t\t\t\tif (image.Source !== 'volume' || !image.Shell_Volume) return image.Filename;\n\t\t\t\t\t\t\tif (!image.Shell_Volume.Shell)\n\t\t\t\t\t\t\t\treturn ;\n\t\t\t\t\t\t\treturn ;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{image =>\n\t\t\t\t\t\t\timage.Hash ?\n\t\t\t\t\t\t\t\timage.Hash :\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{image => }\n\t\t\t\t\t\n\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\n\t);\n};\n\nexport default OSImageTable;\n\nOSImageTable.propTypes = {\n\tos: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport PropTypes from 'prop-types';\nimport { useHistory } from 'react-router';\nimport { getCustomOsRoute } from '../../RouteController/Factory';\nimport Button from '../../core/input/Button';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\nimport { useOperatingSystemDelete } from '@karpeleslab/klb-react-services';\n\nconst DeleteDialog = ({ os, open, setOpen }) => {\n\tconst { t } = useTranslation();\n\tconst [deleteOs, deleting] = useOperatingSystemDelete(os.Shell_OS__);\n\tconst history = useHistory();\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleDelete = e => {\n\t\te.preventDefault();\n\n\t\tdeleteOs()\n\t\t\t.then(handleClose)\n\t\t\t.then(() => history.push(getCustomOsRoute()));\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_delete_os_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default DeleteDialog;\n\nDeleteDialog.propTypes = {\n\tos: PropTypes.object,\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router';\nimport PageLoader from '../../components/layout/Loader/PageLoader';\nimport PageNotFound from '../System/PageNotFound';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { Grid } from '@material-ui/core';\nimport Toolbar from '../../components/core/typography/Toolbar';\nimport { getCustomOsRoute } from '../../components/RouteController/Factory';\nimport OperatingSystemShare from '../../components/common/OperatingSystem/OperatingSystemShare';\nimport EditForm from '../../components/common/OperatingSystem/EditForm';\nimport OSImageTable from '../../components/common/OperatingSystem/Image/OSImageTable';\nimport { useOperatingSystem } from '@karpeleslab/klb-react-services';\nimport Button from '../../components/core/input/Button';\nimport DeleteDialog from '../../components/common/OperatingSystem/DeleteDialog';\n\nconst CustomOsEdit = () => {\n\tconst { t } = useTranslation();\n\tconst { osId } = useParams();\n\tconst [os, refresh] = useOperatingSystem(osId);\n\tconst [showDelete, setShowDelete] = useState(false);\n\n\tif (!os) return ;\n\tif (!os.data) return ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{os.data.Is_Deletable &&\n\t\t\t\t\n\t\t\t\t\t setShowDelete(true)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\t\t\t{os.data.Is_Deletable && }\n\t\t\n\t);\n};\n\nexport default CustomOsEdit;\n","import React, { useContext, useEffect, useState } from 'react';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport Helmet from 'react-helmet';\nimport { Grid } from '@material-ui/core';\nimport EmptyState from '../../components/core/feedback/State/Empty';\nimport { Trans, useTranslation } from 'react-i18next';\nimport Graphic from '../../assets/img/modeGraphic.svg';\nimport { ModeContext } from '../../context/ModeContext';\nimport { useHistory, useLocation, useParams } from 'react-router';\nimport { getShellsRoute } from '../../components/RouteController/Factory';\nimport { useSetSnackbar } from '../../hooks/useSnackbar';\nimport { useCookies } from 'react-cookie';\nimport queryString from 'query-string';\nimport { getCookiesOptions } from '../../utils/misc';\n\nconst SwitchMode = () => {\n\tconst [, setCookie] = useCookies(['mode']);\n\tconst { mode } = useParams();\n\tconst { t } = useTranslation();\n\tconst [, setMode] = useContext(ModeContext);\n\tconst history = useHistory();\n\tconst setSnackbar = useSetSnackbar();\n\tconst [returnTo, setReturnTo] = useState(getShellsRoute());\n\tconst location = useLocation();\n\n\n\tuseEffect(() => {\n\t\tconst params = queryString.parse(location.search);\n\t\tif (!params.to) setReturnTo(getShellsRoute());\n\t\telse setReturnTo(decodeURIComponent(params.to));\n\n\t}, [location, setReturnTo]);\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{ /* https://devhints.io/html-meta */}\n\t\t\t\t{t('mode_switch_title', { mode: t(`${mode.toLowerCase()}_label`) })}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\t
  • sample
  • \n\t\t\t\t\t\t\t\t
\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tgraphic={Graphic}\n\t\t\t\t\t\taction={{\n\t\t\t\t\t\t\ttitle: t('mode_change_btn', { mode: t(`${mode.toLowerCase()}_label`) }),\n\t\t\t\t\t\t\tonClick: e => {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tsetCookie('mode', mode.toUpperCase(), getCookiesOptions());\n\t\t\t\t\t\t\t\tsetMode(mode.toUpperCase());\n\t\t\t\t\t\t\t\tsetSnackbar(t('switched_to_mode', { mode: t(`${mode.toLowerCase()}_label`) }), 'success');\n\t\t\t\t\t\t\t\thistory.push(returnTo);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default SwitchMode;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Grid from '@material-ui/core/Grid';\nimport DateUtil from '../../core/data/Date/DateUtil';\nimport { IconButton } from '@material-ui/core';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport { Link } from 'react-router-dom';\nimport { getOrderViewRoute } from '../../RouteController/Factory';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport { useTranslation } from 'react-i18next';\n\nconst OrderRowMobile = ({ order }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t{order.Invoice_Number}\n\t\t\t{`${order.Status ?? '-'}`}\n\n\t\t\t{t('history_order_date')}\n\t\t\t\n\t\t\t{t('history_paid_date')}\n\t\t\t\n\t\t\t{`${order.Total.display ?? '-'}`}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n\n};\n\nexport default OrderRowMobile;\n\nOrderRowMobile.propTypes = {\n\torder: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TableDefinition from '../../core/data/table/TableDefinition';\nimport Table from '../../core/data/table/Table';\nimport Button from '../../core/input/Button';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport { Link } from 'react-router-dom';\nimport { getOrderViewRoute } from '../../RouteController/Factory';\nimport DateUtil from '../../core/data/Date/DateUtil';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport Grid from '@material-ui/core/Grid';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport OrderRowMobile from './OrderRowMobile';\nimport { useOrders } from '@karpeleslab/klb-react-services';\n\nconst OrdersTable = () => {\n\tconst { t } = useTranslation();\n\tconst [orders, fetch, loading] = useOrders();\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'));\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{order => {\n\t\t\t\t\tif (!isMobile) return order.Invoice_Number;\n\t\t\t\t\treturn ;\n\t\t\t\t}}\n\t\t\t\n\n\t\t\t{!isMobile && \n\t\t\t\t{order => }\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{order => }\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{order => order.Status ?? '-'}\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{order => order.Total.display ?? '-'}\n\t\t\t}\n\n\t\t\t{!isMobile && \n\t\t\t\t{order =>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('history_dl_pdf')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('view_btn')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\n\t\t\n\t);\n};\n\nexport default OrdersTable;\n","import PropTypes from 'prop-types';\nimport React, { useEffect, useState } from 'react';\nimport { deepCopy } from '../../../../utils/misc';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../core/typography/Title';\nimport Form from '../Location/Form';\nimport Button from '../../../core/input/Button';\nimport { useTranslation } from 'react-i18next';\nimport { useUserBillingUpdate, useUserLocationUpdate } from '@karpeleslab/klb-react-services';\n\n\nconst UpdateLocationForm = ({ billing, setBilling, location, setLocation }) => {\n\tconst { t } = useTranslation();\n\tconst [formValid, setFormValid] = useState(false);\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [data, setData] = useState(deepCopy(location));\n\tconst [updateLocation, updatingLocation] = useUserLocationUpdate(location.User_Location__);\n\tconst [updateBilling, updatingBilling] = useUserBillingUpdate(billing.User_Billing__);\n\n\tuseEffect(() => {\n\t\tsetData(deepCopy(location));\n\t}, [location, setData]);\n\n\tuseEffect(() => {\n\t\tif (formValid && (\n\t\t\tlocation.First_Name !== (data.First_Name ?? '').trim() ||\n\t\t\tlocation.Last_Name !== (data.Last_Name ?? '').trim() ||\n\t\t\tlocation.Zip !== (data.Zip ?? '').trim() ||\n\t\t\tlocation.Country__ !== (data.Country__ ?? '').trim()\n\t\t))\n\t\t\tsetSaveEnabled(true);\n\t\telse\n\n\t\t\tsetSaveEnabled(false);\n\t}, [location, data, formValid, setSaveEnabled]);\n\n\tconst saveHandler = () => {\n\t\tconst toSave = {\n\t\t\tFirst_Name: data.First_Name.trim(),\n\t\t\tLast_Name: data.Last_Name.trim(),\n\t\t\tZip: data.Zip.trim(),\n\t\t\tCountry__: data.Country__,\n\t\t};\n\t\tupdateLocation(toSave)\n\t\t\t.then(location => {\n\t\t\t\tsetLocation(location);\n\t\t\t\treturn location;\n\t\t\t})\n\t\t\t.then(location => {\n\t\t\t\treturn updateBilling({ User_Location__: location.User_Location__ });\n\t\t\t})\n\t\t\t.then(billing => {\n\t\t\t\tsetBilling(billing);\n\t\t\t});\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('billing_user_location_update_title')}\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default UpdateLocationForm;\n\nUpdateLocationForm.propTypes = {\n\tbilling: PropTypes.object.isRequired,\n\tlocation: PropTypes.object.isRequired,\n\tsetBilling: PropTypes.func.isRequired,\n\tsetLocation: PropTypes.func.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React, {useContext, useState} from 'react';\nimport {Grid} from '@material-ui/core';\nimport {Title} from '../../../core/typography/Title';\nimport {useTranslation} from 'react-i18next';\nimport Button from '../../../core/input/Button';\nimport Stripe from '../../../core/input/Stripe/Stripe';\nimport Alert from '@material-ui/lab/Alert';\nimport {useUserBillingMethodUpdate} from '@karpeleslab/klb-react-services';\nimport PaymentMethod from './PaymentMethod';\nimport {UserContext} from '../../../../context/UserContext';\n\n\n// We only support Stripe for now\nconst UpdatePaymentMethodForm = ({method, setMethod, location}) => {\n\tconst {t} = useTranslation();\n\tconst [update] = useUserBillingMethodUpdate(method.User_Billing_Method__);\n\tconst [updating, setUpdating] = useState(false);\n\n\tconst [userContext] = useContext(UserContext);\n\n\tconst [showForm, setShowForm] = useState(false);\n\tconst [stripe, setStripe] = useState(null);\n\tconst [stripeIntent, setStripeIntent] = useState(null);\n\tconst [stripeElements, setStripeElements] = useState(null);\n\n\tconst [saveEnabled, setSaveEnabled] = useState(false);\n\tconst [error, setError] = useState(null);\n\n\tconst onStripeChange = e => {\n\t\tsetSaveEnabled(e.complete === true);\n\t};\n\n\tconst handleSave = async () => {\n\t\tif (!stripe || !stripeElements)\n\t\t\treturn; // stripe not loaded yet\n\n\t\tsetUpdating(true);\n\n\t\tconst result = await stripe.confirmSetup({\n\t\t\telements: stripeElements,\n\t\t\tredirect: 'if_required',\n\t\t\tconfirmParams: {\n\t\t\t\tpayment_method_data: {\n\t\t\t\t\tbilling_details: {\n\t\t\t\t\t\tname: `${location.First_Name} ${location.Last_Name}`,\n\t\t\t\t\t\temail: userContext.user.data.Email,\n\t\t\t\t\t\taddress: {\n\t\t\t\t\t\t\tcountry: location.Country__,\n\t\t\t\t\t\t\tpostal_code: location.Zip,\n\t\t\t\t\t\t\tstate: location.Province ? location.Province : '',\n\t\t\t\t\t\t\tcity: location.City ? location.City : '',\n\t\t\t\t\t\t\tline1: location.Address ? location.Address : '',\n\t\t\t\t\t\t\tline2: location.Address2 ? location.Address2 : '',\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t});\n\n\t\tif (result.error) {\n\t\t\tif (result.error.type === 'card_error' || result.error.type === 'validation_error') {\n\t\t\t\tsetError(result.error.message);\n\t\t\t} else {\n\t\t\t\tsetError(t('unexpected_error'));\n\t\t\t}\n\n\t\t\tsetUpdating(false);\n\t\t\treturn;\n\t\t}\n\n\t\tupdate({stripe_intent: stripeIntent.stripe_intent, method: 'Stripe'})\n\t\t\t.then(setMethod)\n\t\t\t.then(() => setShowForm(false))\n\t\t\t.finally(() => setUpdating(false));\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('billing_payment_method_update_title')}\n\t\t\t\n\t\t\t{!showForm &&\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t setShowForm(true)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('edit_btn')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\n\t\t\t{showForm &&\n\t\t\t\t<>\n\n\t\t\t\t\t{method.Expired && \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('billing_method_expired')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t{method.Fail_Count_Reached && \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('billing_method_failed')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t{error && \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{error}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('save_btn')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t}\n\t\t\n\t);\n};\n\nexport default UpdatePaymentMethodForm;\n\nUpdatePaymentMethodForm.propTypes = {\n\tmethod: PropTypes.object.isRequired,\n\tsetMethod: PropTypes.func.isRequired,\n\tlocation: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useFirstPaymentMethod } from '../../hooks/useUserBilling';\nimport NotFound from '../../components/core/feedback/State/NotFound';\nimport { Grid } from '@material-ui/core';\nimport UpdateLocationForm from '../../components/common/User/Billing/UpdateLocationForm';\nimport UpdatePaymentMethodForm from '../../components/common/User/Billing/UpdatePaymentMethodForm';\nimport { useUserLocation } from '@karpeleslab/klb-react-services';\nimport Loader from '../../components/layout/Loader/Loader';\n\nconst UpdateBillingWrapper = ({ billing, setBilling }) => {\n\tconst [location, refreshLocation] = useUserLocation(billing.User_Location__);\n\tconst [method, refreshMethod] = useFirstPaymentMethod(billing.User_Billing__);\n\n\tif (!location || !method)\n\t\treturn ;\n\n\tif (!method.data || !location.data)\n\t\treturn ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default UpdateBillingWrapper;\n\nUpdateBillingWrapper.propTypes = {\n\tbilling: PropTypes.object.isRequired,\n\tsetBilling: PropTypes.func.isRequired\n};\n","import React from 'react';\nimport { Trans, useTranslation } from 'react-i18next';\nimport EmptyState from '../../../core/feedback/State/Empty';\nimport Graphic from '../../../../assets/img/404.svg';\n\nconst NotFound = () => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t\tsample
\n\t\t\t\tsample\n\t\t\t}\n\t\t\tgraphic={Graphic}\n\t\t/>\n\t);\n};\n\nexport default NotFound;\n","import React from 'react';\nimport { useFirstUserBilling } from '../../hooks/useUserBilling';\nimport UpdateBillingWrapper from './UpdateBillingWrapper';\nimport Loader from '../../components/layout/Loader/Loader';\nimport NotFound from '../../components/common/User/Billing/NotFound';\n\nconst Billing = () => {\n\tconst [billing, refresh] = useFirstUserBilling('@');\n\n\tif (!billing) return ;\n\tif (!billing.data) return ;\n\n\treturn (\n\t\t\n\t);\n};\n\nexport default Billing;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport PageTitle from '../../components/core/typography/PageTitle';\nimport OrdersTable from '../../components/common/Order/OrdersTable';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { Title } from '../../components/core/typography/Title';\nimport Billing from './Billing';\n\nconst PaymentInfo = () => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('order_history_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default PaymentInfo;\n","import React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport TableDefinition from '../../core/data/table/TableDefinition';\nimport Table from '../../core/data/table/Table';\nimport Button from '../../core/input/Button';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport { Link } from 'react-router-dom';\nimport { getISORoute } from '../../RouteController/Factory';\nimport Grid from '@material-ui/core/Grid';\nimport DateUtil from '../../core/data/Date/DateUtil';\nimport { useShellISOs } from '@karpeleslab/klb-react-services';\nimport Chip from '@material-ui/core/Chip';\n\nconst ISOTable = () => {\n\tconst { t } = useTranslation();\n\tconst [isos, fetch, loading] = useShellISOs();\n\n\treturn (\n\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t{iso =>\n\t\t\t\t\tiso.Hash ?\n\t\t\t\t\t\tiso.Hash :\n\t\t\t\t\t\t}\n\t\t\t\n\n\t\t\t\n\t\t\t\t{iso => }\n\t\t\t\n\n\t\t\t\n\t\t\t\t{iso =>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{t('view_btn')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\n\n\n\t\t\n\t);\n};\n\nexport default ISOTable;\n","import PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport LinearProgress from '../../core/feedback/LinearProgress';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport Grid from '@material-ui/core/Grid';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Input from '@material-ui/core/Input';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '../../core/input/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport { useTranslation } from 'react-i18next';\nimport uuid from '../../../utils/uuid';\nimport { useShellISOUpload } from '@karpeleslab/klb-react-services';\nimport { useHistory } from 'react-router';\nimport { getISORoute } from '../../RouteController/Factory';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\n\nconst IsoCreateDialog = ({ open, setOpen }) => {\n\tconst { t } = useTranslation();\n\n\tconst history = useHistory();\n\n\tconst [create, creating, progress] = useShellISOUpload();\n\n\tconst [file, setFile] = useState(null);\n\tconst [fileKey, setFileKey] = useState(uuid());\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst reset = () => {\n\t\tsetFileKey(uuid());\n\t\tsetFile(null);\n\t};\n\n\tconst handleFile = e => {\n\t\tif (e.target.files.length > 0)\n\t\t\tsetFile(e.target.files[0]);\n\t};\n\n\tconst handleCreate = () => {\n\t\tcreate(file).then((iso) => history.push(getISORoute(iso.Shell_ISO__)));\n\t};\n\n\treturn (\n\t\t reset()}\n\t\t\tmaxWidth='lg'\n\t\t\tfullWidth\n\t\t>\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{t('dialog_create_iso_title')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{t('iso_file_label')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('custom_os_file_helperText')}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{creating && }\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('create_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default IsoCreateDialog;\n\nIsoCreateDialog.propTypes = {\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import React, { useState } from 'react';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport Button from '../../components/core/input/Button';\nimport AddIcon from '@material-ui/icons/Add';\nimport Toolbar from '../../components/core/typography/Toolbar';\nimport ISOTable from '../../components/common/ISO/ISOTable';\nimport IsoCreateDialog from '../../components/common/ISO/ISOCreateDialog';\n\nconst ISOList = () => {\n\tconst { t } = useTranslation();\n\tconst [showCreate, setShowCreate] = useState(false);\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setShowCreate(true)}\n\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\tvariant='contained'\n\t\t\t\t\t\t\tcolor='primary'\n\t\t\t\t\t\t\tstartIcon={}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{t('create_btn')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\n\t\t\n\t);\n};\n\nexport default ISOList;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid, Typography } from '@material-ui/core';\nimport Chip from '@material-ui/core/Chip';\nimport { useTranslation } from 'react-i18next';\nimport { Title } from '../../core/typography/Title';\n\nconst IsoInfo = ({ iso }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('iso_info_filename')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{iso.Filename}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{t('iso_info_hash')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default IsoInfo;\n\nIsoInfo.propTypes = {\n\tiso: PropTypes.object.isRequired\n};\n","import React from 'react';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTranslation } from 'react-i18next';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport PropTypes from 'prop-types';\nimport { useHistory } from 'react-router';\nimport { getISOsRoute } from '../../RouteController/Factory';\nimport Button from '../../core/input/Button';\nimport RichAlertTrans from '../../core/feedback/RichAlertTrans';\nimport { useShellISODelete } from '@karpeleslab/klb-react-services';\n\nconst ISODeleteDialog = ({ iso, open, setOpen }) => {\n\tconst { t } = useTranslation();\n\tconst [deleteISO, deleting] = useShellISODelete(iso.Shell_ISO__);\n\tconst history = useHistory();\n\n\tconst handleClose = () => {\n\t\tsetOpen(false);\n\t};\n\n\tconst handleDelete = e => {\n\t\te.preventDefault();\n\n\t\tdeleteISO()\n\t\t\t.then(handleClose)\n\t\t\t.then(() => history.push(getISOsRoute()));\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('dialog_delete_iso_title')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('close_btn')}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ISODeleteDialog;\n\nISODeleteDialog.propTypes = {\n\tiso: PropTypes.object,\n\topen: PropTypes.bool.isRequired,\n\tsetOpen: PropTypes.func.isRequired\n};\n","import React, { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useParams } from 'react-router';\nimport { useShellISO } from '@karpeleslab/klb-react-services';\nimport PageLoader from '../../components/layout/Loader/PageLoader';\nimport PageNotFound from '../System/PageNotFound';\nimport { Grid } from '@material-ui/core';\nimport Toolbar from '../../components/core/typography/Toolbar';\nimport { getISOsRoute } from '../../components/RouteController/Factory';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport IsoInfo from '../../components/common/ISO/ISOInfo';\nimport IsoMountTable from '../../components/common/ISO/IsoMountTable';\nimport Button from '../../components/core/input/Button';\nimport ISODeleteDialog from '../../components/common/ISO/ISODeleteDialog';\n\nconst IsoEdit = () => {\n\tconst { t } = useTranslation();\n\tconst { isoId } = useParams();\n\tconst [iso] = useShellISO(isoId);\n\tconst [showDelete, setShowDelete] = useState(false);\n\n\tif (!iso) return ;\n\tif (!iso.data) return ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{!iso.data.Is_Mounted &&\n\t\t\t\t\n\t\t\t\t\t setShowDelete(true)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{t('delete_btn')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t}\n\t\t\t\t{!iso.data.Is_Mounted && }\n\t\t\t\n\t\t\n\t);\n};\n\nexport default IsoEdit;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Alert from '@material-ui/lab/Alert';\nimport AlertTitle from '@material-ui/lab/AlertTitle';\nimport { useTranslation } from 'react-i18next';\n\nconst TextWarning = ({ warning }) => {\n\tconst { t } = useTranslation();\n\treturn (\n\t\t\n\t\t\t{t('warning_global_title')}\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default TextWarning;\n\nTextWarning.propTypes = {\n\twarning: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Grid } from '@material-ui/core';\nimport TextWarning from './TextWarning';\n\nconst TextWarnings = ({ warnings = [] }) => {\n\tif (warnings.length < 1) return <>;\n\n\treturn (\n\t\t\n\t\t\t{warnings.map(w =>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default TextWarnings;\n\nTextWarnings.propTypes = {\n\twarnings: PropTypes.array.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Alert from '@material-ui/lab/Alert';\nimport AlertTitle from '@material-ui/lab/AlertTitle';\nimport { useTranslation } from 'react-i18next';\n\nconst UserWarning = ({ warning }) => {\n\tconst {t} = useTranslation();\n\treturn (\n\t\t\n\t\t\t{t('warning_user_title')}\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default UserWarning;\n\nUserWarning.propTypes = {\n\twarning: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../../core/typography/Title';\nimport UserWarning from './UserWarning';\n\nconst UserWarnings = ({ warnings = [] }) => {\n\tconst { t } = useTranslation();\n\n\tif (warnings.length < 1) return <>;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('account_warning_user')}\n\t\t\t\n\t\t\t{warnings.map(w =>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default UserWarnings;\n\nUserWarnings.propTypes = {\n\twarnings: PropTypes.array.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Alert from '@material-ui/lab/Alert';\nimport AlertTitle from '@material-ui/lab/AlertTitle';\nimport { Trans } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport { getShellViewRoute } from '../../../../RouteController/Factory';\n\nconst ShellWarning = ({ warning }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tsample\n\t\t\t\t\tsample\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default ShellWarning;\n\nShellWarning.propTypes = {\n\twarning: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../../core/typography/Title';\nimport ShellWarning from './ShellWarning';\n\nconst ShellWarnings = ({ warnings = [] }) => {\n\tconst { t } = useTranslation();\n\n\tif (warnings.length < 1) return <>;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('account_warning_shell')}\n\t\t\t\n\t\t\t{warnings.map(w =>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default ShellWarnings;\n\nShellWarnings.propTypes = {\n\twarnings: PropTypes.array.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport { UNIT_CPU, UNIT_HDD, UNIT_RAM } from '../../../../../hooks/useShells';\nimport Card from '@material-ui/core/Card';\nimport ShellPlanListItemPrice from '../../../Shell/Plan/ShellPlanListItemPrice';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport { getPrice, isCustomPlan } from '../../../../../utils/shell';\n\nconst Plan = ({ product, from = null }) => {\n\tconst { t } = useTranslation();\n\n\tconst getColor = (v1, v2) => {\n\t\treturn v1 !== v2 ? 'red' : 'inherit';\n\t};\n\tconst getStyle = (v1, v2) => {\n\t\treturn { color: getColor(v1, v2) };\n\t};\n\n\tconst forceShowMonthly = (p) => {\n\t\treturn p['Basic.ServiceLifetime'] === '1y' || p['Description.AuthorCode'] === 'custom';\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{product['Basic.Name']}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{Math.ceil(product['Shell.Size'] * UNIT_CPU)}\n\t\t\t\t\t\t\t VCPU\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{product['Shell.Size'] * UNIT_HDD}\n\t\t\t\t\t\t\t HDD\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{product['Shell.Size'] * UNIT_RAM} GB\n\t\t\t\t\t\t\t RAM\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{product['Shell.Timer_Allowance'] &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shell_time_allowance', {\n\t\t\t\t\t\t\t\t\ttime: parseInt(product['Shell.Timer_Allowance']) / 3600\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{!product['Shell.Timer_Allowance'] &&\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{t('shell_unlimited_usage')}\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t

\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Plan;\n\nPlan.propTypes = {\n\tfrom: PropTypes.object,\n\tproduct: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport Plan from './Plan';\nimport AlertTitle from '@material-ui/lab/AlertTitle';\nimport Alert from '@material-ui/lab/Alert';\nimport ForwardIcon from '@material-ui/icons/Forward';\nimport DateUtil from '../../../../core/data/Date/DateUtil';\n\nconst ProductWarning = ({ warning }) => {\n\tconst { t } = useTranslation();\n\n\treturn (\n\t\t\n\t\t\t{warning.Data &&\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('warning_product_title')}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t{warning.Target_MetaObject__ &&\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t(warning.Expires ? 'warning_will_change_the' : 'warning_will_change_to')}\n\t\t\t\t\t\n\t\t\t\t\t{warning.Expires &&\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\n\t\t\t}\n\t\t\t{warning.Target_MetaObject__ &&\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t}\n\n\t\t\n\t);\n};\n\nexport default ProductWarning;\n\nProductWarning.propTypes = {\n\twarning: PropTypes.object.isRequired\n};\n","import React, { useEffect, useState } from 'react';\nimport Table from '@material-ui/core/Table';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport ShellPicture from '../../../Shell/ShellPicture/ShellPicture';\nimport { getShellViewRoute } from '../../../../RouteController/Factory';\nimport { formatShellExpireDate, isExpired } from '../../../../../utils/shell';\nimport ShellExpiredMessage from '../../../Shell/Subscription/ShellExpiredMessage';\nimport { Grid } from '@material-ui/core';\nimport ShellUsage from '../../../Shell/Subscription/ShellUsage';\nimport TableContainer from '@material-ui/core/TableContainer';\nimport { useShellProductChangeWarning } from '@karpeleslab/klb-react-services';\nimport { useTranslation } from 'react-i18next';\nimport Loader from '../../../../layout/Loader/Loader';\nimport { Link } from 'react-router-dom';\n\nconst ConcernedShellTable = () => {\n\tconst { t } = useTranslation();\n\tconst [fetch] = useShellProductChangeWarning();\n\tconst [shells, setShells] = useState([]);\n\n\tuseEffect(() => {\n\t\tfetch().then(setShells);\n\t}, [fetch, setShells]);\n\n\tif (shells.length < 1) return ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{shells.map(s =>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{s.Label}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{isExpired(s) && }\n\t\t\t\t\t\t\t\t{!isExpired(s) &&\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{!s.User_Billing__ && t('shell_expire_text', { date: formatShellExpireDate(s) })}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default ConcernedShellTable;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid, Typography } from '@material-ui/core';\nimport { Title } from '../../../../core/typography/Title';\nimport ProductWarning from './ProductWarning';\nimport ConcernedShellTable from './ConcernedShellTable';\n\nconst ProductWarnings = ({ warnings = [] }) => {\n\tconst { t } = useTranslation();\n\n\tif (warnings.length < 1) return <>;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('account_warning_product')}\n\t\t\t\n\t\t\t{warnings.map(w =>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t{t('account_warning_product_shells')}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ProductWarnings;\n\nProductWarnings.propTypes = {\n\twarnings: PropTypes.array.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Alert from '@material-ui/lab/Alert';\nimport AlertTitle from '@material-ui/lab/AlertTitle';\nimport { Trans } from 'react-i18next';\n\nconst OsWarning = ({ warning }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tsample\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default OsWarning;\n\nOsWarning.propTypes = {\n\twarning: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../../core/typography/Title';\nimport OsWarning from './OsWarning';\n\nconst OsWarnings = ({ warnings = [] }) => {\n\tconst { t } = useTranslation();\n\n\tif (warnings.length < 1) return <>;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('account_warning_os')}\n\t\t\t\n\t\t\t{warnings.map(w =>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default OsWarnings;\n\nOsWarnings.propTypes = {\n\twarnings: PropTypes.array.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport Alert from '@material-ui/lab/Alert';\nimport AlertTitle from '@material-ui/lab/AlertTitle';\nimport { Trans } from 'react-i18next';\n\nconst DatacenterWarning = ({ warning }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tsample\n\t\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default DatacenterWarning;\n\nDatacenterWarning.propTypes = {\n\twarning: PropTypes.object.isRequired\n};\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Grid } from '@material-ui/core';\nimport { Title } from '../../../../core/typography/Title';\nimport DatacenterWarning from './DatacenterWarning';\n\nconst DatacenterWarnings = ({ warnings = [] }) => {\n\tconst { t } = useTranslation();\n\n\tif (warnings.length < 1) return <>;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('account_warning_datacenter')}\n\t\t\t\n\t\t\t{warnings.map(w =>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n\nexport default DatacenterWarnings;\n\nDatacenterWarnings.propTypes = {\n\twarnings: PropTypes.array.isRequired\n};\n","import React, { useEffect, useState } from 'react';\nimport PageContainer from '../../components/layout/Container/PageContainer';\nimport { useShellAccountWarnings } from '@karpeleslab/klb-react-services';\nimport PageLoader from '../../components/layout/Loader/PageLoader';\nimport PageTitle from '../../components/core/typography/PageTitle';\nimport { Grid } from '@material-ui/core';\nimport { useTranslation } from 'react-i18next';\nimport TextWarnings from '../../components/common/Account/Warning/Text/TextWarnings';\nimport UserWarnings from '../../components/common/Account/Warning/User/UserWarnings';\nimport ShellWarnings from '../../components/common/Account/Warning/Shell/ShellWarnings';\nimport ProductWarnings from '../../components/common/Account/Warning/Product/ProductWarnings';\nimport OsWarnings from '../../components/common/Account/Warning/Os/OsWarnings';\nimport DatacenterWarnings from '../../components/common/Account/Warning/Datacenter/DatacenterWarnings';\n\nconst Warning = () => {\n\tconst { t } = useTranslation();\n\n\tconst [fetch, loading] = useShellAccountWarnings();\n\tconst [textWarnings, setTextWarnings] = useState([]);\n\tconst [productWarnings, setProductWarnings] = useState([]);\n\tconst [userWarnings, setUserWarnings] = useState([]);\n\tconst [shellWarnings, setShellWarnings] = useState([]);\n\tconst [osWarnings, setOsWarnings] = useState([]);\n\tconst [datacenterWarnings, setDatacenterWarnings] = useState([]);\n\n\tuseEffect(() => {\n\t\tfetch()\n\t\t\t.then(warnings => {\n\t\t\t\tsetTextWarnings(warnings.filter(w => w.Type === 'text'));\n\t\t\t\tsetProductWarnings(warnings.filter(w => w.Type === 'product'));\n\t\t\t\tsetUserWarnings(warnings.filter(w => w.Type === 'user'));\n\t\t\t\tsetShellWarnings(warnings.filter(w => w.Type === 'shell'));\n\t\t\t\tsetOsWarnings(warnings.filter(w => w.Type === 'shell_os'));\n\t\t\t\tsetDatacenterWarnings(warnings.filter(w => w.Type === 'datacenter'));\n\t\t\t});\n\t}, [fetch, setTextWarnings, setProductWarnings, setUserWarnings, setShellWarnings, setOsWarnings, setDatacenterWarnings]);\n\n\tif (loading) return ;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Warning;\n","import React from 'react';\nimport { Switch, useLocation } from 'react-router-dom';\nimport { default as Route } from '../core/utils/RouteTransition/RouteTransition';\nimport Login from '../../pages/Login/Login';\nimport {\n\tgetAccountWarningRoute,\n\tgetBillingRoute,\n\tgetCustomOsEditRoute,\n\tgetCustomOsRoute,\n\tgetISORoute,\n\tgetISOsRoute,\n\tgetLinksRoute,\n\tgetLoginRoute,\n\tgetOrderViewRoute,\n\tgetPartnershipRoute,\n\tgetShellsRoute,\n\tgetShellViewRoute,\n\tgetSSHKeychainEditRoute,\n\tgetSSHKeychainRoute,\n\tgetSwitchToModeRoute,\n\tgetUserSettingsRoute\n} from './Factory';\nimport Profile from '../../pages/Profile/Profile';\nimport Keychains from '../../pages/Keychain/Keychains';\nimport KeychainEdit from '../../pages/Keychain/KeychainEdit';\nimport PageNotFound from '../../pages/System/PageNotFound';\nimport Partnership from '../../pages/Partnership/Partnership';\nimport ViewOrder from '../../pages/Order/ViewOrder';\nimport ShellList from '../../pages/Shell/ShellList';\nimport Shell from '../../pages/Shell/Shell';\nimport Links from '../../pages/Links/Links';\nimport CustomOSList from '../../pages/OperatingSystem/CustomOSList';\nimport CustomOsEdit from '../../pages/OperatingSystem/CustomOSEdit';\nimport SwitchMode from '../../pages/Mode/SwitchMode';\nimport PaymentInfo from '../../pages/Billing/PaymentInfo';\nimport ISOList from '../../pages/ISO/ISOList';\nimport IsoEdit from '../../pages/ISO/ISOEdit';\nimport Warning from '../../pages/Warning/Warning';\n\n\nconst Routes = () => {\n\tconst location = useLocation();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\n\t);\n};\n\n\nexport default Routes;\n","import React, { useContext } from 'react';\nimport { CSSTransition, SwitchTransition } from 'react-transition-group';\nimport Loader from './../layout/Loader/Loader';\nimport { UserContext } from '../../context/UserContext';\nimport Routes from './Routes';\n\nconst RouteController = () => {\n\tconst [user] = useContext(UserContext);\n\n\treturn (\n\t\t\n\t\t\t node.addEventListener('transitionend', done, false)}\n\t\t\t\tclassNames=\"u-transition--vertical\"\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t(!user || !user.loading) ? :\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\n\t\t
\n\t);\n};\n\nexport default RouteController;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport makeStyles from '@material-ui/core/styles/makeStyles';\nimport { Trans } from 'react-i18next';\nimport { Link, useLocation } from 'react-router-dom';\nimport { getAccountWarningRoute } from '../../RouteController/Factory';\nimport { Typography } from '@material-ui/core';\nimport Ellipsis from '../../core/typography/Ellipsis';\nimport { darken, lighten } from '@material-ui/core/styles';\nimport Paper from '@material-ui/core/Paper';\nimport Grid from '@material-ui/core/Grid';\nimport ReportProblemOutlinedIcon from '@material-ui/icons/ReportProblemOutlined';\nimport { LinkTypo } from '../../common/Links/Link';\nimport { useShellAccountWarnings } from '@karpeleslab/klb-react-services';\n\nconst useStyles = makeStyles(theme => {\n\t// based on https://github.com/mui-org/material-ui/blob/master/packages/material-ui-lab/src/Alert/Alert.js\n\tconst getColor = theme.palette.type === 'light' ? darken : lighten;\n\tconst getBackgroundColor = theme.palette.type === 'light' ? lighten : darken;\n\n\treturn {\n\t\troot: {\n\t\t\tpadding: theme.spacing(3),\n\t\t\tjustifyContent: 'center',\n\t\t\tcolor: getColor(theme.palette.warning.main, 0.6),\n\t\t\tbackgroundColor: getBackgroundColor(theme.palette.warning.main, 0.9),\n\t\t},\n\t\ticon: {\n\t\t\tcolor: theme.palette.warning.main,\n\t\t},\n\t\tmessage: {\n\t\t\ttextAlign: 'center'\n\t\t},\n\t\taction: {\n\t\t\tmarginLeft: 'unset',\n\t\t}\n\t};\n});\n\nconst AccountWarnings = () => {\n\tconst classes = useStyles();\n\n\tconst [fetch] = useShellAccountWarnings();\n\tconst [warnings, setWanings] = useState(null);\n\tconst location = useLocation();\n\n\tconst execute = useCallback(() => {\n\t\tfetch()\n\t\t\t.then(warnings => {\n\t\t\t\tlet found = {};\n\t\t\t\tlet result = [];\n\t\t\t\t// We only keep 1 warning of each type, and counting the number of time they occured\n\t\t\t\twarnings.forEach(w => {\n\t\t\t\t\tif (w.Type in found) {\n\t\t\t\t\t\tresult[found[w.Type]].count += 1;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tresult.push({ ...w, count: 1 });\n\t\t\t\t\tfound[w.Type] = result.length - 1;\n\t\t\t\t});\n\n\t\t\t\tsetWanings(result);\n\t\t\t});\n\t}, [fetch, setWanings]);\n\n\tuseEffect(() => {\n\t\texecute();\n\t}, [fetch, setWanings, location]);\n\n\tuseEffect(() => {\n\t\tconst interval = setInterval(() => {\n\t\t\texecute();\n\t\t}, 1000 * 60 * 5); // every 5 minutes\n\t\treturn () => {\n\t\t\tclearInterval(interval);\n\t\t};\n\t}, [execute]);\n\n\tif (location.pathname === getAccountWarningRoute() || !warnings || warnings.length < 1) return <>;\n\n\t// This is a custom warning alert basically\n\n\t// icon | title | action\n\t// warnings\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{warnings.map(w =>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t]+)>)/ig, '') }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tsample
\n\t\t\t\t\t\t\t\t\t\tsample\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\n\t\t
);\n};\n\nexport default AccountWarnings;\n","import React, { useContext } from 'react';\n\nimport Drawer from './Drawer/Drawer';\nimport Helmet from 'react-helmet';\nimport RouteController from '../RouteController/RouteController';\n\nimport { UserContext } from '../../context/UserContext';\nimport { MenuContext } from '../../context/MenuContext';\n\nimport './Layout.scss';\nimport AccountWarnings from './AccountWarnings/AccountWarnings';\n\nconst Layout = () => {\n\tconst [user] = useContext(UserContext);\n\tconst [menu] = useContext(MenuContext);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t{ /* https://devhints.io/html-meta */}\n\t\t\t\n\t\t\t{user && user.loggedIn ? : ''}\n\t\t\t{user && user.loggedIn ? : ''}\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n};\n\nexport default Layout;\n","import React, { useEffect } from 'react';\nimport { CSSTransition, SwitchTransition } from 'react-transition-group';\n\nimport { useSetSnackbar, useSnackbar } from '../../../hooks/useSnackbar';\nimport CloseIcon from '@material-ui/icons/Close';\nimport Grid from '@material-ui/core/Grid';\nimport Box from '@material-ui/core/Box';\n\nimport './Snackbar.scss';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n\nexport default function Snackbar() {\n\tconst { snackbar } = useSnackbar();\n\tconst { message, type } = snackbar;\n\tconst isMobile = useMediaQuery(theme => theme.breakpoints.down('xs'), { noSsr: true });\n\n\tconst setSnackbar = useSetSnackbar();\n\tconst handleClose = () => {\n\t\tsetSnackbar(null);\n\t};\n\n\tuseEffect(() => {\n\t\tif (message) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (message)\n\t\t\t\t\tsetSnackbar(null);\n\t\t\t}, 5000);\n\t\t}\n\t}, [message, setSnackbar]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t node.addEventListener('transitionend', done, false)}\n\t\t\t\t\tclassNames='u-transition--vertical'\n\t\t\t\t>\n\t\t\t\t\t{message ?\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{message}\n\t\t\t\t\t\t\t\t handleClose()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t:\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { SnackbarContainer } from './context/SnackbarContext';\nimport { UserContainer } from './context/UserContext';\nimport { RestContextContainer } from '@karpeleslab/klb-react-services';\nimport { MenuContextContainer } from './context/MenuContext';\n\nconst AppContextContainers = ({ children }) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{children}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default AppContextContainers;\n\nAppContextContainers.propTypes = {\n\tchildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n};\n","import MuiTheme from './components/core/MuiTheme/MuiTheme';\nimport React from 'react';\nimport ScrollToTop from './components/core/utils/ScrollToTop/ScrollToTop';\nimport Helmet from 'react-helmet';\nimport Layout from './components/layout/Layout';\nimport Snackbar from './components/layout/Snackbar/Snackbar';\nimport AppContextContainers from './AppContextContainers';\nimport { ModeContainer } from './context/ModeContext';\n\nfunction App() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nexport default App;\n","import './polyfills';\n\nimport React from 'react';\nimport App from './App';\n\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport { getLocale, rest } from '@karpeleslab/klbfw';\nimport { Backend } from '@karpeleslab/i18next-klb-backend';\nimport { run } from '@karpeleslab/react-klbfw-hooks';\n\nimport './assets/styles/main.scss';\n\nlet i18nOpt = {\n\tlng: getLocale(),\n\tinitImmediate: false,\n\tload: 'currentOnly',\n\tinterpolation: { escapeValue: false },\n\treact: { useSuspense: false }\n};\n\nglobal.rest = rest;\n\nrun(\n\t,\n\t[i18n.use(Backend).use(initReactI18next).init(i18nOpt)]\n);\n","Promise.prototype.finally = Promise.prototype.finally || {\n\tfinally (fn) {\n\t\tconst onFinally = callback => Promise.resolve(fn()).then(callback);\n\t\treturn this.then(\n\t\t\tresult => onFinally(() => result),\n\t\t\treason => onFinally(() => Promise.reject(reason))\n\t\t);\n\t}\n}.finally;\n","var map = {\n\t\"./af\": 317,\n\t\"./af.js\": 317,\n\t\"./ar\": 318,\n\t\"./ar-dz\": 319,\n\t\"./ar-dz.js\": 319,\n\t\"./ar-kw\": 320,\n\t\"./ar-kw.js\": 320,\n\t\"./ar-ly\": 321,\n\t\"./ar-ly.js\": 321,\n\t\"./ar-ma\": 322,\n\t\"./ar-ma.js\": 322,\n\t\"./ar-sa\": 323,\n\t\"./ar-sa.js\": 323,\n\t\"./ar-tn\": 324,\n\t\"./ar-tn.js\": 324,\n\t\"./ar.js\": 318,\n\t\"./az\": 325,\n\t\"./az.js\": 325,\n\t\"./be\": 326,\n\t\"./be.js\": 326,\n\t\"./bg\": 327,\n\t\"./bg.js\": 327,\n\t\"./bm\": 328,\n\t\"./bm.js\": 328,\n\t\"./bn\": 329,\n\t\"./bn-bd\": 330,\n\t\"./bn-bd.js\": 330,\n\t\"./bn.js\": 329,\n\t\"./bo\": 331,\n\t\"./bo.js\": 331,\n\t\"./br\": 332,\n\t\"./br.js\": 332,\n\t\"./bs\": 333,\n\t\"./bs.js\": 333,\n\t\"./ca\": 334,\n\t\"./ca.js\": 334,\n\t\"./cs\": 335,\n\t\"./cs.js\": 335,\n\t\"./cv\": 336,\n\t\"./cv.js\": 336,\n\t\"./cy\": 337,\n\t\"./cy.js\": 337,\n\t\"./da\": 338,\n\t\"./da.js\": 338,\n\t\"./de\": 339,\n\t\"./de-at\": 340,\n\t\"./de-at.js\": 340,\n\t\"./de-ch\": 341,\n\t\"./de-ch.js\": 341,\n\t\"./de.js\": 339,\n\t\"./dv\": 342,\n\t\"./dv.js\": 342,\n\t\"./el\": 343,\n\t\"./el.js\": 343,\n\t\"./en-au\": 344,\n\t\"./en-au.js\": 344,\n\t\"./en-ca\": 345,\n\t\"./en-ca.js\": 345,\n\t\"./en-gb\": 346,\n\t\"./en-gb.js\": 346,\n\t\"./en-ie\": 347,\n\t\"./en-ie.js\": 347,\n\t\"./en-il\": 348,\n\t\"./en-il.js\": 348,\n\t\"./en-in\": 349,\n\t\"./en-in.js\": 349,\n\t\"./en-nz\": 350,\n\t\"./en-nz.js\": 350,\n\t\"./en-sg\": 351,\n\t\"./en-sg.js\": 351,\n\t\"./eo\": 352,\n\t\"./eo.js\": 352,\n\t\"./es\": 353,\n\t\"./es-do\": 354,\n\t\"./es-do.js\": 354,\n\t\"./es-mx\": 355,\n\t\"./es-mx.js\": 355,\n\t\"./es-us\": 356,\n\t\"./es-us.js\": 356,\n\t\"./es.js\": 353,\n\t\"./et\": 357,\n\t\"./et.js\": 357,\n\t\"./eu\": 358,\n\t\"./eu.js\": 358,\n\t\"./fa\": 359,\n\t\"./fa.js\": 359,\n\t\"./fi\": 360,\n\t\"./fi.js\": 360,\n\t\"./fil\": 361,\n\t\"./fil.js\": 361,\n\t\"./fo\": 362,\n\t\"./fo.js\": 362,\n\t\"./fr\": 363,\n\t\"./fr-ca\": 364,\n\t\"./fr-ca.js\": 364,\n\t\"./fr-ch\": 365,\n\t\"./fr-ch.js\": 365,\n\t\"./fr.js\": 363,\n\t\"./fy\": 366,\n\t\"./fy.js\": 366,\n\t\"./ga\": 367,\n\t\"./ga.js\": 367,\n\t\"./gd\": 368,\n\t\"./gd.js\": 368,\n\t\"./gl\": 369,\n\t\"./gl.js\": 369,\n\t\"./gom-deva\": 370,\n\t\"./gom-deva.js\": 370,\n\t\"./gom-latn\": 371,\n\t\"./gom-latn.js\": 371,\n\t\"./gu\": 372,\n\t\"./gu.js\": 372,\n\t\"./he\": 373,\n\t\"./he.js\": 373,\n\t\"./hi\": 374,\n\t\"./hi.js\": 374,\n\t\"./hr\": 375,\n\t\"./hr.js\": 375,\n\t\"./hu\": 376,\n\t\"./hu.js\": 376,\n\t\"./hy-am\": 377,\n\t\"./hy-am.js\": 377,\n\t\"./id\": 378,\n\t\"./id.js\": 378,\n\t\"./is\": 379,\n\t\"./is.js\": 379,\n\t\"./it\": 380,\n\t\"./it-ch\": 381,\n\t\"./it-ch.js\": 381,\n\t\"./it.js\": 380,\n\t\"./ja\": 382,\n\t\"./ja.js\": 382,\n\t\"./jv\": 383,\n\t\"./jv.js\": 383,\n\t\"./ka\": 384,\n\t\"./ka.js\": 384,\n\t\"./kk\": 385,\n\t\"./kk.js\": 385,\n\t\"./km\": 386,\n\t\"./km.js\": 386,\n\t\"./kn\": 387,\n\t\"./kn.js\": 387,\n\t\"./ko\": 388,\n\t\"./ko.js\": 388,\n\t\"./ku\": 389,\n\t\"./ku.js\": 389,\n\t\"./ky\": 390,\n\t\"./ky.js\": 390,\n\t\"./lb\": 391,\n\t\"./lb.js\": 391,\n\t\"./lo\": 392,\n\t\"./lo.js\": 392,\n\t\"./lt\": 393,\n\t\"./lt.js\": 393,\n\t\"./lv\": 394,\n\t\"./lv.js\": 394,\n\t\"./me\": 395,\n\t\"./me.js\": 395,\n\t\"./mi\": 396,\n\t\"./mi.js\": 396,\n\t\"./mk\": 397,\n\t\"./mk.js\": 397,\n\t\"./ml\": 398,\n\t\"./ml.js\": 398,\n\t\"./mn\": 399,\n\t\"./mn.js\": 399,\n\t\"./mr\": 400,\n\t\"./mr.js\": 400,\n\t\"./ms\": 401,\n\t\"./ms-my\": 402,\n\t\"./ms-my.js\": 402,\n\t\"./ms.js\": 401,\n\t\"./mt\": 403,\n\t\"./mt.js\": 403,\n\t\"./my\": 404,\n\t\"./my.js\": 404,\n\t\"./nb\": 405,\n\t\"./nb.js\": 405,\n\t\"./ne\": 406,\n\t\"./ne.js\": 406,\n\t\"./nl\": 407,\n\t\"./nl-be\": 408,\n\t\"./nl-be.js\": 408,\n\t\"./nl.js\": 407,\n\t\"./nn\": 409,\n\t\"./nn.js\": 409,\n\t\"./oc-lnc\": 410,\n\t\"./oc-lnc.js\": 410,\n\t\"./pa-in\": 411,\n\t\"./pa-in.js\": 411,\n\t\"./pl\": 412,\n\t\"./pl.js\": 412,\n\t\"./pt\": 413,\n\t\"./pt-br\": 414,\n\t\"./pt-br.js\": 414,\n\t\"./pt.js\": 413,\n\t\"./ro\": 415,\n\t\"./ro.js\": 415,\n\t\"./ru\": 416,\n\t\"./ru.js\": 416,\n\t\"./sd\": 417,\n\t\"./sd.js\": 417,\n\t\"./se\": 418,\n\t\"./se.js\": 418,\n\t\"./si\": 419,\n\t\"./si.js\": 419,\n\t\"./sk\": 420,\n\t\"./sk.js\": 420,\n\t\"./sl\": 421,\n\t\"./sl.js\": 421,\n\t\"./sq\": 422,\n\t\"./sq.js\": 422,\n\t\"./sr\": 423,\n\t\"./sr-cyrl\": 424,\n\t\"./sr-cyrl.js\": 424,\n\t\"./sr.js\": 423,\n\t\"./ss\": 425,\n\t\"./ss.js\": 425,\n\t\"./sv\": 426,\n\t\"./sv.js\": 426,\n\t\"./sw\": 427,\n\t\"./sw.js\": 427,\n\t\"./ta\": 428,\n\t\"./ta.js\": 428,\n\t\"./te\": 429,\n\t\"./te.js\": 429,\n\t\"./tet\": 430,\n\t\"./tet.js\": 430,\n\t\"./tg\": 431,\n\t\"./tg.js\": 431,\n\t\"./th\": 432,\n\t\"./th.js\": 432,\n\t\"./tk\": 433,\n\t\"./tk.js\": 433,\n\t\"./tl-ph\": 434,\n\t\"./tl-ph.js\": 434,\n\t\"./tlh\": 435,\n\t\"./tlh.js\": 435,\n\t\"./tr\": 436,\n\t\"./tr.js\": 436,\n\t\"./tzl\": 437,\n\t\"./tzl.js\": 437,\n\t\"./tzm\": 438,\n\t\"./tzm-latn\": 439,\n\t\"./tzm-latn.js\": 439,\n\t\"./tzm.js\": 438,\n\t\"./ug-cn\": 440,\n\t\"./ug-cn.js\": 440,\n\t\"./uk\": 441,\n\t\"./uk.js\": 441,\n\t\"./ur\": 442,\n\t\"./ur.js\": 442,\n\t\"./uz\": 443,\n\t\"./uz-latn\": 444,\n\t\"./uz-latn.js\": 444,\n\t\"./uz.js\": 443,\n\t\"./vi\": 445,\n\t\"./vi.js\": 445,\n\t\"./x-pseudo\": 446,\n\t\"./x-pseudo.js\": 446,\n\t\"./yo\": 447,\n\t\"./yo.js\": 447,\n\t\"./zh-cn\": 448,\n\t\"./zh-cn.js\": 448,\n\t\"./zh-hk\": 449,\n\t\"./zh-hk.js\": 449,\n\t\"./zh-mo\": 450,\n\t\"./zh-mo.js\": 450,\n\t\"./zh-tw\": 451,\n\t\"./zh-tw.js\": 451\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 712;"],"sourceRoot":""}