{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/views/Companies.vue?04a3","webpack:///src/views/Companies.vue","webpack:///./src/views/Companies.vue?07c3","webpack:///./src/views/Companies.vue","webpack:///./src/assets/luxpro/avatar1.svg","webpack:///./node_modules/@aws-amplify/ui-components/dist/esm-es5 lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack:///./src/App.vue?920a","webpack:///./src/mixins/load-entities.js","webpack:///./src/components/toolbar/ToolbarUser.vue?a0c6","webpack:///src/components/toolbar/ToolbarUser.vue","webpack:///./src/components/toolbar/ToolbarUser.vue?934e","webpack:///./src/components/toolbar/ToolbarUser.vue","webpack:///./src/components/toolbar/ToolbarLanguage.vue?cf71","webpack:///./src/components/toolbar/FlagIcon.vue?28be","webpack:///src/components/toolbar/FlagIcon.vue","webpack:///./src/components/toolbar/FlagIcon.vue?dae7","webpack:///./src/components/toolbar/FlagIcon.vue?4064","webpack:///./src/locale/index.js","webpack:///src/components/toolbar/ToolbarLanguage.vue","webpack:///./src/components/toolbar/ToolbarLanguage.vue?a7f8","webpack:///./src/components/toolbar/ToolbarLanguage.vue","webpack:///src/App.vue","webpack:///./src/App.vue?60d0","webpack:///./src/App.vue","webpack:///./src/router/index.js","webpack:///./src/store/companies.js","webpack:///./src/store/domains.js","webpack:///./src/store/visitors.js","webpack:///./src/store/products.js","webpack:///./src/store/campaigns.js","webpack:///./src/store/variants.js","webpack:///./src/store/contacts.js","webpack:///./src/store/forms.js","webpack:///./src/store/newsletter-templates.js","webpack:///./src/store/auth.js","webpack:///./src/aws-exports.js","webpack:///./src/store/ui.js","webpack:///./src/store/imports.js","webpack:///./src/store/helpdesk.js","webpack:///./src/store/index.js","webpack:///./src/locale/amplify.js","webpack:///./src/plugins/i18n.js","webpack:///./src/plugins/icons.js","webpack:///./src/components/ActionButton.vue?42f5","webpack:///src/components/ActionButton.vue","webpack:///./src/components/ActionButton.vue?0d53","webpack:///./src/components/ActionButton.vue","webpack:///./src/components/TooltipIcon.vue?f259","webpack:///src/components/TooltipIcon.vue","webpack:///./src/components/TooltipIcon.vue?72c9","webpack:///./src/components/TooltipIcon.vue","webpack:///./src/plugins/theme.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/plugins/apexcharts.js","webpack:///./src/main.js","webpack:///./src/components/toolbar/FlagIcon.vue?fb89","webpack:///./src/mixins/drawer.js","webpack:///./src/components/ConfirmDialog.vue?90dd","webpack:///src/components/ConfirmDialog.vue","webpack:///./src/components/ConfirmDialog.vue?9f5b","webpack:///./src/components/ConfirmDialog.vue","webpack:///./src/mixins/countries.js","webpack:///./src/mixins/formatters.js","webpack:///./src/mixins/parse-route.js","webpack:///./src/mixins/domain-status.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","_v","_s","$t","list","_l","id","getStatus","color","replace","staticStyle","icon","text","isOwner","item","active","params","company","_e","formatAddress","formatCountry","country","class","getVisitorsColor","stats","monthlyUsers","activeSubscription","monthlyUserLimit","formatDate","to","Array","staticRenderFns","component","VAlert","VCard","VCardTitle","VCol","VContainer","VIcon","VList","VListItem","VListItemAction","VListItemContent","VListItemIcon","VListItemSubtitle","VListItemTitle","VRow","VSkeletonLoader","VSpacer","map","webpackAsyncContext","req","ids","keys","wizard","on","$event","stopPropagation","drawer","$vuetify","breakpoint","mobile","iconOnly","exact","scopedSlots","_u","fn","ref","_g","_b","authState","notificationData","notification","model","callback","$$v","expression","initialAuthState","entityEndpoints","entityTree","children","computed","watch","$route","loadEntities","methods","getStoreModule","entity","loadEntity","node","sm","$store","state","commit","dispatch","forEach","csm","user","index","link","disabled","logout","menu","VAvatar","VBadge","VBtn","VDivider","VImg","VMenu","smAndDown","currentLocale","flag","directives","rawName","mdAndUp","showLabel","rtl","label","locale","setLocale","round","props","String","default","Boolean","messages","cs","customcs","en","customen","dateTimeFormats","short","year","month","day","long","hour","minute","getLang","navigator","languages","split","find","components","FlagIcon","showArrow","availableLocales","$i18n","lang","current","mixins","ToolbarUser","ToolbarLanguage","ui","set","initProductFruits","debug","productFruitsUser","w","productFruits","language","a","prefill","shopifyPrefill","created","$router","authData","attributes","email","phone_number","beforeDestroy","VApp","VAppBar","VAppBarNavIcon","VMain","VSnackbar","VToolbarItems","VToolbar","Vue","use","VueRouter","routes","path","Companies","meta","dialog","redirect","platform","xchildren","medium","router","scrollBehavior","x","y","namespaced","nextToken","mutations","payload","append","concat","assign","getters","isActive","isTrial","hasStripeSubscription","hasManualInvoicing","isDowngraded","paymentInformation","activePlan","isBlocked","subscription","from","dreamroiSales","actions","context","API","graphql","graphqlOperation","getCompany","listCompanys","items","root","Date","now","reqparams","accessRightsSecret","input","createCompany","remove","dq","domains","updateFields","fields","getRegistrarInfo","businessRegistrarInfo","createSubscription","getStripePortalLink","stripePortalLink","changePlan","plans","JSON","parse","stripePlans","getBillingHistory","history","platformSettings","platforms","currencies","itemStats","statsCache","productCategories","isIncomplete","isCancelled","hasProducts","products","productsUpdated","substring","productFeedError","hasRecommendations","recommendationsUpdated","canAllowWebbox","hasCampaigns","campaignsUpdated","currenciesList","sign","getDomain","filter","companyId","companyID","eq","listDomains","boxTemplate","domMode","domId","boxComponents","contain","newTab","visibleProducts","loadedProducts","gap","height","linkColor","buttonText","customArrowStyle","customCardStyle","customSplideConfig","googleAnalytics","googleAdWords","sklik","facebook","retention","visit","scroll","score","time","image","cart","purchase","mail","imageClass","imageID","segments","percentile","visitors","allow","feed","tracker","viewProduct","signIn","showBox","addToCart","dkim","spf","linkDomain","orders","utm","source","campaign","template","eventsPurged","leadscoresUpdated","editors","recommenderStatus","recommenderComputation","defaultSale","firstDayOfWeek","totalEmailRecipients","trackingIds","leadscoringSettings","capabilities","boxesAllowed","cookieCheck","homeBox","productBox","cartBox","stringify","createDomain","condition","getProductCategories","domainId","warn","getDNSRecords","dnsRecords","getStats","allowCache","updated","valueOf","period","unit","amount","parseInt","setDate","getDate","setMonth","getMonth","setHours","q","sales","noStore","createTag","domainID","owner","createACDeal","log","shopifyCreateTags","store","shopifyRedirect","shopifyGetDroiIds","shopifyGetThemes","themes","shopifyThemes","getRecommendationsArray","rec","url","personalized","scoreIncrement","v","vr","getVisitor","parsedRecommendations","recommendations","visitorsByDomainActivity","getProduct","productsByDomainPopularity","getPreview","HtmlPart","prepareCampaignForSave","f","segment","evaluationPeriod","schedule","templateUnlayer","templateSES","encodeURIComponent","preview","stateOrdering","existingDesigns","loadRecipients","listAutomatic","scheduleType","listBtc","listSwu","listWelcome","listScheduled","sort","b","findIndex","start","localeCompare","getCampaign","variants","decodeURIComponent","templatePreview","campaigns","campaignsByDomainPriority","specs","recommendationsCount","price","sale","description","originalPrice","saleTemplate","originalPriceTemplate","domain","stripDescription","friendlyFrom","replyTo","templateSpecs","vinput","campaignID","createCampaign","templateSpecsNew","templateSpecsCategories","cr","subjects","updateCampaign","deleteCampaign","sortDirection","duplicate","priority","noState","upperPriority","lowerPriority","Math","ceil","localizedTitle","fieldsOverride","createdAt","templates","getCampaignVariant","updateDomain","uploadAsset","Storage","put","file","level","acl","contentType","mime","cacheControl","substr","indexOf","sendTestEmail","listCampaigns","sortDesigns","campaignVariantsByCampaignName","fromCharCode","charCodeAt","createCampaignVariant","updateVariant","updateCampaignVariant","listCampaignVariants","tags","visitorsCache","loadVisitors","listTags","isSelected","isArray","selected","getTag","visitorCount","leadFormsByDomainName","getLeadForm","tagID","optinFriendlyFrom","optinFrom","optinReplyTo","createLeadForm","listDirty","previewImage","publicOnly","order","nst","getNewsletterTemplate","grapesJSData","unlayerData","public","limit","listNewsletterTemplates","createNewsletterTemplate","uploadPreview","ext","content","getS3Link","isHelpdesk","signInUserSession","accessToken","includes","username","generateSecret","handler","random","btoa","getAccessToken","accessRightsToken","requestAccess","token","revokeAccess","signOut","Auth","createACContact","changePassword","currentAuthenticatedUser","oldPassword","newPassword","awsmobile","drawerHidden","savedDrawerState","wizards","title","route","stepMatchRegex","optional","editable","wizardEntryPoints","dynamicEntryPoint","lastEditableStep","keepDrawer","baseUrl","process","mediaUrl","awsconfig","pixelUrl","api","endpoint","trackerUrl","shopifyUrl","shopifyBoxesVideoOS2","VUE_APP_SHOPIFY_BOXES_VIDEO_OS2","step","test","ds","wizardType","wt","some","wizardEntryPoint","nextStep","notify","uploadProgress","job","uploadFile","progressCallback","progress","loaded","total","max","s3result","currentUserCredentials","credentials","identityId","full","original","gqresult","analyzeCustomerImportFile","analyzeOrderImportFile","createJob","config","updateJob","jobStatus","reset","unsubscribe","deleteCustomer","dlist","clist","rclist","dnextToken","cnextToken","updateCompany","getRunningCampaigns","queries","entries","results","qarr","nq","campaignsByScheduleTypeState","fromEntries","Vuex","Store","auth","companies","contacts","forms","imports","nstemplates","helpdesk","I18n","putVocabularies","amplifyDict","VueI18n","fallbackLocale","pluralizationRules","choice","importCustomers","mdiAccountMultiplePlusOutline","add","mdiPlus","up","mdiArrowUpBoldOutline","ok","mdiCheckBold","nok","mdiCloseThick","ok_outline","mdiCheckOutline","nok_outline","mdiCloseOutline","mdiExclamationThick","paymentDue","mdiCreditCardClockOutline","mdiSync","inactive","mdiSyncOff","purged","mdiDeleteOutline","mdiTableArrowRight","dashboard","mdiViewDashboardOutline","tracking","mdiAccountGroupOutline","box","mdiStarOutline","mailing","mdiAt","mdiCurrencyUsd","mdiChartBoxOutline","access","mdiLockOutline","mdiAccountGroup","productFeed","mdiCloudTags","recommendationsUpdate","mdiCalendarStar","productsUpdate","mdiCalendarRefresh","profile","mdiAccount","mdiStoreOutline","mdiCartOutline","billing","mdiCreditCardOutline","business","mdiDomain","settings","mdiCogOutline","home","mdiHome","save","mdiContentSaveOutline","help","mdiHelp","mdiFormTextbox","currency","mdiCash","timezone","mdiMapClockOutline","integrations","required","mdiAsterisk","view","mdiEyeOutline","mdiLogin","mdiCartCheck","copy","mdiContentCopy","address","mdiMapMarker","mdiEarth","plan","mdiApplication","fb","mdiFacebook","ganalytics","mdiGoogleAnalytics","gadwords","mdiGoogleAds","mdiAlphaSCircle","upList","mdiChevronUp","downList","mdiChevronDown","mdiCurrencyEur","mdiImage","button","mdiCard","mdiMagnify","mdiFormatTitle","empty","mdiInbox","advanced","mdiCogs","basic","mdiCog","colorPreview","mdiCheckboxBlankCircle","shareAccess","mdiLinkLock","send","mdiEmailSendOutline","street","mdiOfficeBuildingMarkerOutline","city","mdiHomeCityOutline","zip","mdiMailboxOutline","refresh","visitor","mdiAccountOutline","next","mdiChevronRight","openInNew","mdiOpenInNew","hash","mdiPound","rows","mdiFormatListNumbered","upload","mdiUpload","mdiSale","textAlignLeft","mdiFormatAlignLeft","textAlignRight","mdiFormatAlignRight","textAlignCenter","mdiFormatAlignCenter","textAlignJustify","mdiFormatAlignJustify","textBold","mdiFormatBold","textItalic","mdiFormatItalic","textUnderline","mdiFormatUnderline","collapseLeft","mdiChevronLeft","expandRight","setup","settingsDark","clear","mdiEraser","lockVertical","mdiArrowVerticalLock","lockHorizontal","mdiArrowHorizontalLock","percent","mdiPercentOutline","extendDown","mdiChevronDoubleDown","dnsDomain","mdiWeb","dnsMailFrom","dnsTracking","mdiCursorDefaultClickOutline","pending","mdiUpdate","newsletterTemplate","mdiEmailNewsletter","locked","unlocked","mdiLockOpenOutline","generate","scheduled","mdiCalendarClockOutline","choose","rename","calendarChoose","mdiCalendarCursor","calendarFrom","mdiCalendarStart","calendarTo","mdiCalendarEnd","templateGallery","mdiImageMultipleOutline","pause","mdiPauseOctagonOutline","filterInactive","mdiCheckboxBlankCircleOutline","filterActive","mdiCheckboxMarkedCircleOutline","num1","mdiNumeric1","num2","mdiNumeric2","num3","mdiNumeric3","num4","mdiNumeric4","num5","mdiNumeric5","num6","mdiNumeric6","num7","mdiNumeric7","num8","mdiNumeric8","num9","mdiNumeric9","num0","mdiNumeric0","recommendation","segmentFrom","mdiArrowExpandDown","segmentTo","mdiArrowExpandUp","date","mdiCalendar","mdiClockOutline","messageFrequency","mdiEmailSyncOutline","messageDelay","mdiSendClockOutline","premium","mdiDiamondStone","changePriority","mdiUnfoldMoreHorizontal","notifications","mdiBellOutline","password","mdiFormTextboxPassword","todo","mdiFormatListCheckbox","mdiLogout","showPassword","mdiEye","hidePassword","mdiEyeOff","overview","mdiFormatListChecks","trendUp","mdiArrowTopRight","trendDown","mdiArrowBottomRight","archive","mdiArchiveOutline","leadscoreHot","mdiThermometerHigh","leadscoreWarm","mdiThermometer","leadscoreCold","mdiThermometerLow","json","mdiCodeBraces","refreshed","sentTotal","mdiEmailMultipleOutline","unsubscribed","mdiEmailRemoveOutline","importOrders","mdiReceipt","crNo","mdiNumeric","search","blocked","mdiCancel","collapse","plus","minus","mdiMinus","phone","mdiPhone","customizations","mdiTranslate","tab","mdiTab","heading","mdiText","swu","mdiFire","cookie","mdiCookieCheckOutline","trackingCode","mdiCodeTags","runningCampaigns","mdiEmailFastOutline","emailRecipients","welcome","mdiHumanGreeting","mdiTagOutline","form","mdiProtocol","unsubscribeBatch","mdiAccountMultipleRemoveOutline","mdiAccountRemoveOutline","mdiPalette","supportChat","mdiChatQuestion","mdiDotsVertical","mdiAbTesting","subject","mdiTagTextOutline","campaignVariantA","mdiAlphaABox","campaignVariantB","mdiAlphaBBox","campaignVariantC","mdiAlphaCBox","campaignVariantD","mdiAlphaDBox","campaignVariantE","mdiAlphaEBox","campaignVariantF","mdiAlphaFBox","campaignVariantG","mdiAlphaGBox","campaignVariantH","mdiAlphaHBox","campaignVariantI","mdiAlphaIBox","campaignVariantJ","mdiAlphaJBox","campaignVariantK","mdiAlphaKBox","campaignVariantM","mdiAlphaMBox","campaignVariantN","mdiAlphaNBox","campaignVariantO","mdiAlphaOBox","campaignVariantP","mdiAlphaPBox","campaignVariantQ","mdiAlphaQBox","campaignVariantR","mdiAlphaRBox","campaignVariantS","mdiAlphaSBox","campaignVariantT","mdiAlphaTBox","campaignVariantU","mdiAlphaUBox","campaignVariantV","mdiAlphaVBox","campaignVariantW","mdiAlphaWBox","campaignVariantX","mdiAlphaXBox","campaignVariantY","mdiAlphaYBox","campaignVariantZ","mdiAlphaZBox","tooltip","buttonClass","fab","noIconAttr","light","dark","$emit","$attrs","activator","VTooltip","large","xLarge","small","left","right","globalTheme","menuTheme","toolbarTheme","isToolbarDetached","isContentBoxed","isRTL","background","surface","primary","secondary","accent","info","success","warning","Vuetify","ActionButton","TooltipIcon","ConfirmDialog","i18n","icons","iconfont","values","Icons","theme","options","customProperties","VueApexCharts","VueClipboard","VueGtm","vueRouter","Amplify","configure","productionTip","vuetify","h","App","$mount","switchWarning","_t","buttonColor","saving","buttonIcon","buttonCaption","VCardActions","VCardText","VDialog","countries","Countries","getNames","select","k","mapState","registerLocale","require","formatNumber","fixed","toFixed","formatCurrency","formatCurrencyAmount","formatPrice","isCurrencyPrefix","format","formatTimezone","tz","dateOnly","noValueText","$d","formatBoolean","getCampaignStateColor","toUpperCase","getCampaignStateText","states","formatPlatform","toLowerCase","formatTimeWindow","ratio","product","nstemplate","variant","hasCompany","breadcrumbs","cn","dn","baseurl","buildUrl","subpath","status","isItemIncomplete"],"mappings":"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","file":"js/app.35599e3e.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"add-company~add-domain~business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~ca~d61baac5\":\"add-company~add-domain~business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~ca~d61baac5\",\"business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~campaign-setup-mail~campa~896bb207\":\"business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~campaign-setup-mail~campa~896bb207\",\"campaign-design-mail~campaign-design-mail-legacy~stats~webboxes-cart~webboxes-home~webboxes-product\":\"campaign-design-mail~campaign-design-mail-legacy~stats~webboxes-cart~webboxes-home~webboxes-product\",\"campaign-design-mail-legacy~newsletter-template\":\"campaign-design-mail-legacy~newsletter-template\",\"campaign-design-mail-legacy\":\"campaign-design-mail-legacy\",\"form~tracking-exitshop~tracking-other~tracking-shopify~tracking-shoptet~tracking-woocommerce~webboxe~cfc625d3\":\"form~tracking-exitshop~tracking-other~tracking-shopify~tracking-shoptet~tracking-woocommerce~webboxe~cfc625d3\",\"tracking-exitshop~tracking-shopify~tracking-shoptet~tracking-woocommerce\":\"tracking-exitshop~tracking-shopify~tracking-shoptet~tracking-woocommerce\",\"tracking-exitshop\":\"tracking-exitshop\",\"tracking-shopify\":\"tracking-shopify\",\"tracking-shoptet\":\"tracking-shoptet\",\"tracking-woocommerce\":\"tracking-woocommerce\",\"stats\":\"stats\",\"campaigns\":\"campaigns\",\"newsletter-template\":\"newsletter-template\",\"campaign-design-mail\":\"campaign-design-mail\",\"campaign-setup-mail\":\"campaign-setup-mail\",\"customizations\":\"customizations\",\"feeds-shopify\":\"feeds-shopify\",\"form\":\"form\",\"tracking-other\":\"tracking-other\",\"integrations\":\"integrations\",\"mailing\":\"mailing\",\"campaigns-type\":\"campaigns-type\",\"add-company\":\"add-company\",\"add-domain~campaign-detail\":\"add-domain~campaign-detail\",\"add-domain\":\"add-domain\",\"business\":\"business\",\"campaign-segment\":\"campaign-segment\",\"campaign-summary-mail\":\"campaign-summary-mail\",\"feeds\":\"feeds\",\"webboxes\":\"webboxes\",\"add-form\":\"add-form\",\"campaign-detail\":\"campaign-detail\",\"billing\":\"billing\",\"campaigns-automatic\":\"campaigns-automatic\",\"campaigns-btc\":\"campaigns-btc\",\"campaigns-scheduled\":\"campaigns-scheduled\",\"campaigns-swu\":\"campaigns-swu\",\"campaigns-welcome\":\"campaigns-welcome\",\"company-access~domain-access\":\"company-access~domain-access\",\"company-access\":\"company-access\",\"domain-access\":\"domain-access\",\"newsletter-templates\":\"newsletter-templates\",\"products\":\"products\",\"visitor\":\"visitor\",\"visitors\":\"visitors\",\"domain-dashboard\":\"domain-dashboard\",\"webboxes-cart\":\"webboxes-cart\",\"webboxes-home\":\"webboxes-home\",\"webboxes-product\":\"webboxes-product\",\"import-contacts~import-orders\":\"import-contacts~import-orders\",\"import-contacts\":\"import-contacts\",\"import-orders\":\"import-orders\",\"contacts\":\"contacts\",\"profile\":\"profile\",\"segment\":\"segment\",\"company\":\"company\",\"domain\":\"domain\",\"domains\":\"domains\",\"webboxes-data\":\"webboxes-data\",\"polyfills-core-js\":\"polyfills-core-js\",\"polyfills-css-shim\":\"polyfills-css-shim\",\"polyfills-dom\":\"polyfills-dom\",\"redirect\":\"redirect\",\"schedule\":\"schedule\",\"tracking\":\"tracking\"}[chunkId]||chunkId) + \".\" + {\"add-company~add-domain~business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~ca~d61baac5\":\"d4e0321a\",\"business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~campaign-setup-mail~campa~896bb207\":\"e57ded9e\",\"campaign-design-mail~campaign-design-mail-legacy~stats~webboxes-cart~webboxes-home~webboxes-product\":\"4be3f1bb\",\"campaign-design-mail-legacy~newsletter-template\":\"4c833ff1\",\"campaign-design-mail-legacy\":\"b1c91966\",\"form~tracking-exitshop~tracking-other~tracking-shopify~tracking-shoptet~tracking-woocommerce~webboxe~cfc625d3\":\"d69302c5\",\"tracking-exitshop~tracking-shopify~tracking-shoptet~tracking-woocommerce\":\"f490dedc\",\"tracking-exitshop\":\"6cd65151\",\"tracking-shopify\":\"bfde9cea\",\"tracking-shoptet\":\"36a122cb\",\"tracking-woocommerce\":\"b0799769\",\"stats\":\"4dc1cdd5\",\"campaigns\":\"54e40bd4\",\"chunk-04e47511\":\"7b05afdd\",\"chunk-2d0abfcf\":\"8417852b\",\"chunk-2d0b26e6\":\"efd57bbd\",\"chunk-2d0b2d3b\":\"01f52a37\",\"chunk-2d0b722b\":\"ddbb227b\",\"chunk-2d0bad0a\":\"c62fafa7\",\"chunk-2d0c9398\":\"ed1d4c2f\",\"chunk-2d0cf6e3\":\"ca5d3357\",\"chunk-2d0d7c42\":\"fe545ae1\",\"chunk-2d0dd0bc\":\"b5c4bb06\",\"chunk-2d208de0\":\"04efcebb\",\"chunk-2d217172\":\"79dae23a\",\"chunk-2d21d0be\":\"9d5dd782\",\"chunk-2d228cf2\":\"2eb22644\",\"chunk-2d22c8fe\":\"51558486\",\"chunk-2d22dbc9\":\"ce4f25cf\",\"chunk-2d23154f\":\"8621d2da\",\"chunk-2d238683\":\"8858ddfe\",\"chunk-352d5568\":\"c806752b\",\"chunk-39a2e022\":\"3b72f05c\",\"chunk-44156b03\":\"02635c90\",\"chunk-51db419a\":\"7aff3800\",\"chunk-5991115b\":\"3ca97a2d\",\"chunk-5c027579\":\"7b1fe7e3\",\"chunk-746c6a55\":\"fcefd551\",\"chunk-76f19ef7\":\"a1a162a0\",\"chunk-da894b26\":\"09e21269\",\"chunk-e3629c4c\":\"7938aa4b\",\"newsletter-template\":\"7bd046a7\",\"campaign-design-mail\":\"4dc12167\",\"campaign-setup-mail\":\"535bf48a\",\"customizations\":\"02bd8b20\",\"feeds-shopify\":\"4fb80db4\",\"form\":\"10548240\",\"tracking-other\":\"8c33bd5e\",\"integrations\":\"4b2ea6c3\",\"mailing\":\"d3e653e8\",\"campaigns-type\":\"d351cd09\",\"chunk-6874d9ca\":\"c6c35113\",\"add-company\":\"7edc1944\",\"add-domain~campaign-detail\":\"a62064ab\",\"add-domain\":\"423e688d\",\"business\":\"24d37a41\",\"campaign-segment\":\"2aeeb30f\",\"campaign-summary-mail\":\"ba0da7ee\",\"feeds\":\"60b7b9db\",\"webboxes\":\"0c6b5d8e\",\"add-form\":\"7c5716ca\",\"chunk-6e419ad6\":\"85e30a25\",\"campaign-detail\":\"30023874\",\"billing\":\"92de5280\",\"campaigns-automatic\":\"ff0c9eb0\",\"campaigns-btc\":\"7fff51c3\",\"campaigns-scheduled\":\"ad100f3a\",\"campaigns-swu\":\"0d39dfa0\",\"campaigns-welcome\":\"0056a771\",\"chunk-3080ace7\":\"d4b00d24\",\"chunk-7f3f8891\":\"c458d420\",\"company-access~domain-access\":\"ab185e1d\",\"company-access\":\"e3d81d3f\",\"domain-access\":\"fac96c38\",\"newsletter-templates\":\"44a757b4\",\"products\":\"4071e61e\",\"visitor\":\"ada98e58\",\"visitors\":\"f5c10ae2\",\"domain-dashboard\":\"9d870b24\",\"webboxes-cart\":\"427f4546\",\"webboxes-home\":\"0317d6ca\",\"webboxes-product\":\"44003ba9\",\"import-contacts~import-orders\":\"88ab8f49\",\"import-contacts\":\"0222358f\",\"import-orders\":\"58a75774\",\"contacts\":\"80ab220a\",\"profile\":\"b84c4acd\",\"segment\":\"9e8794d2\",\"chunk-e5e547a4\":\"16131496\",\"chunk-f993edd8\":\"d87498c4\",\"company\":\"4666cab2\",\"domain\":\"e8f356c0\",\"domains\":\"60547b6d\",\"webboxes-data\":\"711b7c7c\",\"polyfills-core-js\":\"c802f76e\",\"polyfills-css-shim\":\"ac087954\",\"polyfills-dom\":\"e01853a0\",\"redirect\":\"ce83417f\",\"schedule\":\"d1ba6deb\",\"tracking\":\"cb485cb9\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"add-company~add-domain~business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~ca~d61baac5\":1,\"campaign-design-mail~campaign-design-mail-legacy~stats~webboxes-cart~webboxes-home~webboxes-product\":1,\"campaign-design-mail-legacy\":1,\"tracking-exitshop~tracking-shopify~tracking-shoptet~tracking-woocommerce\":1,\"tracking-shoptet\":1,\"chunk-e3629c4c\":1,\"newsletter-template\":1,\"campaign-design-mail\":1,\"campaign-setup-mail\":1,\"customizations\":1,\"form\":1,\"tracking-other\":1,\"mailing\":1,\"chunk-6874d9ca\":1,\"add-company\":1,\"add-domain\":1,\"business\":1,\"campaign-segment\":1,\"campaign-summary-mail\":1,\"feeds\":1,\"webboxes\":1,\"add-form\":1,\"chunk-6e419ad6\":1,\"campaign-detail\":1,\"billing\":1,\"campaigns-automatic\":1,\"chunk-3080ace7\":1,\"company-access~domain-access\":1,\"company-access\":1,\"newsletter-templates\":1,\"domain-dashboard\":1,\"webboxes-cart\":1,\"webboxes-home\":1,\"webboxes-product\":1,\"import-contacts~import-orders\":1,\"contacts\":1,\"segment\":1,\"company\":1,\"domain\":1,\"webboxes-data\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"add-company~add-domain~business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~ca~d61baac5\":\"add-company~add-domain~business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~ca~d61baac5\",\"business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~campaign-setup-mail~campa~896bb207\":\"business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~campaign-setup-mail~campa~896bb207\",\"campaign-design-mail~campaign-design-mail-legacy~stats~webboxes-cart~webboxes-home~webboxes-product\":\"campaign-design-mail~campaign-design-mail-legacy~stats~webboxes-cart~webboxes-home~webboxes-product\",\"campaign-design-mail-legacy~newsletter-template\":\"campaign-design-mail-legacy~newsletter-template\",\"campaign-design-mail-legacy\":\"campaign-design-mail-legacy\",\"form~tracking-exitshop~tracking-other~tracking-shopify~tracking-shoptet~tracking-woocommerce~webboxe~cfc625d3\":\"form~tracking-exitshop~tracking-other~tracking-shopify~tracking-shoptet~tracking-woocommerce~webboxe~cfc625d3\",\"tracking-exitshop~tracking-shopify~tracking-shoptet~tracking-woocommerce\":\"tracking-exitshop~tracking-shopify~tracking-shoptet~tracking-woocommerce\",\"tracking-exitshop\":\"tracking-exitshop\",\"tracking-shopify\":\"tracking-shopify\",\"tracking-shoptet\":\"tracking-shoptet\",\"tracking-woocommerce\":\"tracking-woocommerce\",\"stats\":\"stats\",\"campaigns\":\"campaigns\",\"newsletter-template\":\"newsletter-template\",\"campaign-design-mail\":\"campaign-design-mail\",\"campaign-setup-mail\":\"campaign-setup-mail\",\"customizations\":\"customizations\",\"feeds-shopify\":\"feeds-shopify\",\"form\":\"form\",\"tracking-other\":\"tracking-other\",\"integrations\":\"integrations\",\"mailing\":\"mailing\",\"campaigns-type\":\"campaigns-type\",\"add-company\":\"add-company\",\"add-domain~campaign-detail\":\"add-domain~campaign-detail\",\"add-domain\":\"add-domain\",\"business\":\"business\",\"campaign-segment\":\"campaign-segment\",\"campaign-summary-mail\":\"campaign-summary-mail\",\"feeds\":\"feeds\",\"webboxes\":\"webboxes\",\"add-form\":\"add-form\",\"campaign-detail\":\"campaign-detail\",\"billing\":\"billing\",\"campaigns-automatic\":\"campaigns-automatic\",\"campaigns-btc\":\"campaigns-btc\",\"campaigns-scheduled\":\"campaigns-scheduled\",\"campaigns-swu\":\"campaigns-swu\",\"campaigns-welcome\":\"campaigns-welcome\",\"company-access~domain-access\":\"company-access~domain-access\",\"company-access\":\"company-access\",\"domain-access\":\"domain-access\",\"newsletter-templates\":\"newsletter-templates\",\"products\":\"products\",\"visitor\":\"visitor\",\"visitors\":\"visitors\",\"domain-dashboard\":\"domain-dashboard\",\"webboxes-cart\":\"webboxes-cart\",\"webboxes-home\":\"webboxes-home\",\"webboxes-product\":\"webboxes-product\",\"import-contacts~import-orders\":\"import-contacts~import-orders\",\"import-contacts\":\"import-contacts\",\"import-orders\":\"import-orders\",\"contacts\":\"contacts\",\"profile\":\"profile\",\"segment\":\"segment\",\"company\":\"company\",\"domain\":\"domain\",\"domains\":\"domains\",\"webboxes-data\":\"webboxes-data\",\"polyfills-core-js\":\"polyfills-core-js\",\"polyfills-css-shim\":\"polyfills-css-shim\",\"polyfills-dom\":\"polyfills-dom\",\"redirect\":\"redirect\",\"schedule\":\"schedule\",\"tracking\":\"tracking\"}[chunkId]||chunkId) + \".\" + {\"add-company~add-domain~business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~ca~d61baac5\":\"9da25359\",\"business~campaign-design-mail~campaign-design-mail-legacy~campaign-segment~campaign-setup-mail~campa~896bb207\":\"31d6cfe0\",\"campaign-design-mail~campaign-design-mail-legacy~stats~webboxes-cart~webboxes-home~webboxes-product\":\"256c7125\",\"campaign-design-mail-legacy~newsletter-template\":\"31d6cfe0\",\"campaign-design-mail-legacy\":\"0e086bd4\",\"form~tracking-exitshop~tracking-other~tracking-shopify~tracking-shoptet~tracking-woocommerce~webboxe~cfc625d3\":\"31d6cfe0\",\"tracking-exitshop~tracking-shopify~tracking-shoptet~tracking-woocommerce\":\"3ed50b19\",\"tracking-exitshop\":\"31d6cfe0\",\"tracking-shopify\":\"31d6cfe0\",\"tracking-shoptet\":\"e0a049f6\",\"tracking-woocommerce\":\"31d6cfe0\",\"stats\":\"31d6cfe0\",\"campaigns\":\"31d6cfe0\",\"chunk-04e47511\":\"31d6cfe0\",\"chunk-2d0abfcf\":\"31d6cfe0\",\"chunk-2d0b26e6\":\"31d6cfe0\",\"chunk-2d0b2d3b\":\"31d6cfe0\",\"chunk-2d0b722b\":\"31d6cfe0\",\"chunk-2d0bad0a\":\"31d6cfe0\",\"chunk-2d0c9398\":\"31d6cfe0\",\"chunk-2d0cf6e3\":\"31d6cfe0\",\"chunk-2d0d7c42\":\"31d6cfe0\",\"chunk-2d0dd0bc\":\"31d6cfe0\",\"chunk-2d208de0\":\"31d6cfe0\",\"chunk-2d217172\":\"31d6cfe0\",\"chunk-2d21d0be\":\"31d6cfe0\",\"chunk-2d228cf2\":\"31d6cfe0\",\"chunk-2d22c8fe\":\"31d6cfe0\",\"chunk-2d22dbc9\":\"31d6cfe0\",\"chunk-2d23154f\":\"31d6cfe0\",\"chunk-2d238683\":\"31d6cfe0\",\"chunk-352d5568\":\"31d6cfe0\",\"chunk-39a2e022\":\"31d6cfe0\",\"chunk-44156b03\":\"31d6cfe0\",\"chunk-51db419a\":\"31d6cfe0\",\"chunk-5991115b\":\"31d6cfe0\",\"chunk-5c027579\":\"31d6cfe0\",\"chunk-746c6a55\":\"31d6cfe0\",\"chunk-76f19ef7\":\"31d6cfe0\",\"chunk-da894b26\":\"31d6cfe0\",\"chunk-e3629c4c\":\"ce124327\",\"newsletter-template\":\"9d47b8c5\",\"campaign-design-mail\":\"a7194883\",\"campaign-setup-mail\":\"25960574\",\"customizations\":\"8dc5784a\",\"feeds-shopify\":\"31d6cfe0\",\"form\":\"f625fac5\",\"tracking-other\":\"be9af83f\",\"integrations\":\"31d6cfe0\",\"mailing\":\"3466e5bb\",\"campaigns-type\":\"31d6cfe0\",\"chunk-6874d9ca\":\"686e544a\",\"add-company\":\"297d45b6\",\"add-domain~campaign-detail\":\"31d6cfe0\",\"add-domain\":\"297d45b6\",\"business\":\"ea6459d8\",\"campaign-segment\":\"181bc3e2\",\"campaign-summary-mail\":\"25abfaf8\",\"feeds\":\"83a21907\",\"webboxes\":\"26f725f6\",\"add-form\":\"297d45b6\",\"chunk-6e419ad6\":\"e32161de\",\"campaign-detail\":\"51e90648\",\"billing\":\"157cb4fb\",\"campaigns-automatic\":\"1114e93f\",\"campaigns-btc\":\"31d6cfe0\",\"campaigns-scheduled\":\"31d6cfe0\",\"campaigns-swu\":\"31d6cfe0\",\"campaigns-welcome\":\"31d6cfe0\",\"chunk-3080ace7\":\"943e1cbe\",\"chunk-7f3f8891\":\"31d6cfe0\",\"company-access~domain-access\":\"3e15719e\",\"company-access\":\"ea6459d8\",\"domain-access\":\"31d6cfe0\",\"newsletter-templates\":\"8dc5784a\",\"products\":\"31d6cfe0\",\"visitor\":\"31d6cfe0\",\"visitors\":\"31d6cfe0\",\"domain-dashboard\":\"6635aa41\",\"webboxes-cart\":\"1178444b\",\"webboxes-home\":\"1178444b\",\"webboxes-product\":\"1178444b\",\"import-contacts~import-orders\":\"4f6112e1\",\"import-contacts\":\"31d6cfe0\",\"import-orders\":\"31d6cfe0\",\"contacts\":\"cd0fea9d\",\"profile\":\"31d6cfe0\",\"segment\":\"ff55ad5d\",\"chunk-e5e547a4\":\"31d6cfe0\",\"chunk-f993edd8\":\"31d6cfe0\",\"company\":\"5978b408\",\"domain\":\"24601252\",\"domains\":\"31d6cfe0\",\"webboxes-data\":\"e0a049f6\",\"polyfills-core-js\":\"31d6cfe0\",\"polyfills-css-shim\":\"31d6cfe0\",\"polyfills-dom\":\"31d6cfe0\",\"redirect\":\"31d6cfe0\",\"schedule\":\"31d6cfe0\",\"tracking\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('h2',{staticClass:\"text-h4\"},[_vm._v(_vm._s(_vm.$t('companies.title')))]),_c('v-spacer'),_c('action-button',{attrs:{\"to\":\"/add-company\",\"icon\":\"$add\",\"tooltip\":_vm.$t('companies.add.action'),\"color\":\"success\",\"fab\":\"\",\"small\":\"\",\"dark\":\"\"}})],1),(_vm.list && _vm.list.length)?_c('v-row',{attrs:{\"id\":\"pfid1618854588\"}},_vm._l((_vm.list),function(c){return _c('v-col',{key:c.id,attrs:{\"xs\":\"12\",\"md\":\"6\",\"lg\":\"4\",\"xl\":\"3\"}},[_c('v-card',{attrs:{\"to\":(\"/companies/\" + (c.id)),\"color\":_vm.getStatus(c).color.replace('success','primary')}},[_c('v-card-title',[_c('v-icon',{attrs:{\"dark\":\"\",\"left\":\"\"}},[_vm._v(\"$company\")]),_c('span',{staticClass:\"white--text overflow-hidden text-no-wrap\",staticStyle:{\"width\":\"85%\"}},[_vm._v(_vm._s(c.name))])],1),_c('v-list',[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":_vm.getStatus(c).color}},[_vm._v(_vm._s(_vm.getStatus(c).icon))])],1),_c('v-list-item-content',[_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.$t('domains.status.title')))]),_c('v-list-item-title',[_vm._v(_vm._s(_vm.getStatus(c).text))])],1),(_vm.isOwner({ item: c }))?_c('v-list-item-action',[(c.active == 'PAYMENT_DUE')?_c('action-button',{attrs:{\"tooltip\":_vm.$t('companies.reviewPaymentInfo'),\"to\":{ name: 'billing', params: {company: c.id} },\"icon\":\"$billing\"}}):(c.active == 'OVER_LIMIT')?_c('action-button',{attrs:{\"tooltip\":_vm.$t('companies.selectPlan'),\"to\":{ name: 'plan', params: {company: c.id} },\"icon\":\"$plan\"}}):_vm._e()],1):_vm._e()],1),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"$address\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('companies.address')))]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.formatAddress(c)))])],1)],1),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"$country\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('companies.country')))]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.formatCountry(c.country)))])],1)],1),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"$plan\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('companies.visitors')))]),_c('v-list-item-subtitle',[_c('span',{class:_vm.getVisitorsColor(c.stats.monthlyUsers, c.activeSubscription ? c.activeSubscription.monthlyUserLimit : null)},[_vm._v(_vm._s(c.stats.monthlyUsers))]),_vm._v(\" / \"+_vm._s((c.activeSubscription ? c.activeSubscription.monthlyUserLimit : null)))])],1)],1),_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"$subscription\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('companies.subscription')))]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.formatDate(c.activeSubscription ? c.activeSubscription.to : null, true)))])],1)],1)],1)],1)],1)}),1):(_vm.list)?_c('v-row',[_c('v-alert',{staticClass:\"mt-5\",attrs:{\"type\":\"success\",\"border\":\"left\",\"width\":\"100%\",\"colored-border\":\"\"}},[_vm._v(_vm._s(_vm.$t('companies.emptyList')))])],1):_c('v-row',_vm._l((Array(12)),function(n,i){return _c('v-col',{key:i,attrs:{\"xs\":\"12\",\"md\":\"4\",\"lg\":\"3\",\"xl\":\"2\"}},[_c('v-card',[_c('v-skeleton-loader',{attrs:{\"type\":\"card-heading, list-item-avatar@4\"}})],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Companies.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Companies.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Companies.vue?vue&type=template&id=2b4b3160&\"\nimport script from \"./Companies.vue?vue&type=script&lang=js&\"\nexport * from \"./Companies.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VCard,VCardTitle,VCol,VContainer,VIcon,VList,VListItem,VListItemAction,VListItemContent,VListItemIcon,VListItemSubtitle,VListItemTitle,VRow,VSkeletonLoader,VSpacer})\n","module.exports = __webpack_public_path__ + \"img/avatar1.06b0a70e.svg\";","var map = {\n\t\"./amplify-amazon-button_5.entry.js\": [\n\t\t\"77e1\",\n\t\t\"chunk-2d0d7c42\"\n\t],\n\t\"./amplify-auth-container.entry.js\": [\n\t\t\"398f\",\n\t\t\"chunk-2d0bad0a\"\n\t],\n\t\"./amplify-auth-fields_9.entry.js\": [\n\t\t\"2689\",\n\t\t\"chunk-2d0b2d3b\"\n\t],\n\t\"./amplify-authenticator.entry.js\": [\n\t\t\"b836\",\n\t\t\"chunk-04e47511\"\n\t],\n\t\"./amplify-button_3.entry.js\": [\n\t\t\"efa9\",\n\t\t\"chunk-2d23154f\"\n\t],\n\t\"./amplify-chatbot.entry.js\": [\n\t\t\"9b2c\",\n\t\t\"chunk-39a2e022\"\n\t],\n\t\"./amplify-checkbox.entry.js\": [\n\t\t\"db86\",\n\t\t\"chunk-2d228cf2\"\n\t],\n\t\"./amplify-confirm-sign-in_7.entry.js\": [\n\t\t\"e862\",\n\t\t\"chunk-5991115b\"\n\t],\n\t\"./amplify-container.entry.js\": [\n\t\t\"a72f\",\n\t\t\"chunk-2d208de0\"\n\t],\n\t\"./amplify-federated-buttons_2.entry.js\": [\n\t\t\"644c\",\n\t\t\"chunk-2d0cf6e3\"\n\t],\n\t\"./amplify-federated-sign-in.entry.js\": [\n\t\t\"a81f9\",\n\t\t\"chunk-76f19ef7\"\n\t],\n\t\"./amplify-form-field_4.entry.js\": [\n\t\t\"f988\",\n\t\t\"chunk-2d22dbc9\"\n\t],\n\t\"./amplify-greetings.entry.js\": [\n\t\t\"57dd\",\n\t\t\"chunk-2d0c9398\"\n\t],\n\t\"./amplify-icon-button.entry.js\": [\n\t\t\"182d\",\n\t\t\"chunk-2d0abfcf\"\n\t],\n\t\"./amplify-icon.entry.js\": [\n\t\t\"b8f5\",\n\t\t\"chunk-e5e547a4\"\n\t],\n\t\"./amplify-link.entry.js\": [\n\t\t\"f482\",\n\t\t\"chunk-2d22c8fe\"\n\t],\n\t\"./amplify-nav_2.entry.js\": [\n\t\t\"23a0\",\n\t\t\"chunk-2d0b26e6\"\n\t],\n\t\"./amplify-photo-picker.entry.js\": [\n\t\t\"c4f1\",\n\t\t\"chunk-2d217172\"\n\t],\n\t\"./amplify-picker.entry.js\": [\n\t\t\"d040\",\n\t\t\"chunk-2d21d0be\"\n\t],\n\t\"./amplify-radio-button_3.entry.js\": [\n\t\t\"97a4\",\n\t\t\"chunk-5c027579\"\n\t],\n\t\"./amplify-s3-album.entry.js\": [\n\t\t\"4e6f\",\n\t\t\"chunk-352d5568\"\n\t],\n\t\"./amplify-s3-image-picker.entry.js\": [\n\t\t\"b90a\",\n\t\t\"chunk-51db419a\"\n\t],\n\t\"./amplify-s3-image.entry.js\": [\n\t\t\"76ad\",\n\t\t\"chunk-da894b26\"\n\t],\n\t\"./amplify-s3-text-picker.entry.js\": [\n\t\t\"5af2\",\n\t\t\"chunk-44156b03\"\n\t],\n\t\"./amplify-s3-text.entry.js\": [\n\t\t\"dce0\",\n\t\t\"chunk-746c6a55\"\n\t],\n\t\"./amplify-select-mfa-type.entry.js\": [\n\t\t\"fef4\",\n\t\t\"chunk-2d238683\"\n\t],\n\t\"./amplify-sign-in-button.entry.js\": [\n\t\t\"7358\",\n\t\t\"chunk-f993edd8\"\n\t],\n\t\"./amplify-tooltip.entry.js\": [\n\t\t\"1faa\",\n\t\t\"chunk-2d0b722b\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"521b\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('v-app-bar',{attrs:{\"app\":\"\",\"clipped-right\":\"\",\"color\":undefined}},[_c('v-app-bar-nav-icon',{attrs:{\"disabled\":!_vm.company || _vm.wizard},on:{\"click\":function($event){$event.stopPropagation();_vm.drawer = !_vm.drawer}}}),(!_vm.$vuetify.breakpoint.mobile)?_c('v-toolbar-items',{staticClass:\"ml-5\"},[_vm._l((_vm.breadcrumbs),function(i){return _c('v-btn',{key:i.to,attrs:{\"to\":i.to,\"icon\":i.iconOnly,\"text\":!i.iconOnly,\"exact\":i.exact}},[(i.icon)?_c('v-icon',{attrs:{\"left\":!i.iconOnly}},[_vm._v(_vm._s(i.icon))]):_vm._e(),(!i.iconOnly)?_c('span',[_vm._v(_vm._s(i.text))]):_vm._e()],1)}),(_vm.isHelpdesk)?_c('v-menu',{attrs:{\"bottom\":\"\",\"close-delay\":\"100\",\"content-class\":\"rounded\",\"right\":\"\",\"max-height\":\"500\",\"offset-y\":\"\",\"open-delay\":\"60\",\"open-on-hover\":\"\",\"transition\":\"slide-y-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"text\":\"\"}},'v-btn',attrs,false),on),[_vm._v(_vm._s(_vm.$t('helpdesk.title'))),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"$dropdown\")])],1)]}}],null,false,1598007955)},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{attrs:{\"to\":\"/helpdesk\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"$helpdesk\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('allProjects.title'))+\" \")])],1)],1),_c('v-list-item',{attrs:{\"to\":\"/running-campaigns\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"$runningCampaigns\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('campaigns.running.title'))+\" \")])],1)],1),_c('v-list-item',{attrs:{\"to\":\"/newsletter-templates\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"$newsletterTemplate\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t('newsletterTemplates.title'))+\" \")])],1)],1)],1)],1):_vm._e()],2):_vm._e(),_c('v-spacer'),_c('toolbar-language'),_c('v-btn',{attrs:{\"id\":\"pfid1618817866\",\"icon\":\"\"}},[_c('v-icon',[_vm._v(\"$notifications\")])],1),_c('v-btn',{attrs:{\"href\":\"https://www.dreamroi.com/knowledgebase/\",\"target\":\"_blank\",\"icon\":\"\"}},[_c('v-icon',[_vm._v(\"$help\")])],1),(_vm.authState == 'signedin')?_c('toolbar-user'):_vm._e()],1),_c('v-snackbar',{attrs:{\"app\":\"\",\"timeout\":_vm.notificationData.timeout || 10000,\"color\":_vm.notificationData.error ? 'error' : 'success'},scopedSlots:_vm._u([{key:\"action\",fn:function(ref){\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._b({attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.notification = false}}},'v-btn',attrs,false),[_vm._v(\" \"+_vm._s(_vm.$t('dialog.close'))+\" \")])]}}]),model:{value:(_vm.notification),callback:function ($$v) {_vm.notification=$$v},expression:\"notification\"}},[_vm._v(\" \"+_vm._s(_vm.notificationData.text)+\" \")]),_c('v-main',[(_vm.showConfirmInstructions)?_c('v-alert',{staticClass:\"mx-3 mt-8 mb-n8\",attrs:{\"colored-border\":\"\",\"border\":\"left\",\"type\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.$t('auth.verification'))+\" \")]):_vm._e(),(_vm.authState !== 'signedin')?_c('amplify-authenticator',{attrs:{\"initial-auth-state\":_vm.initialAuthState,\"username-alias\":\"email\"}}):_vm._e(),(_vm.authState == 'signedin')?[_c('router-view')]:_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// expects to be linked in together with the parse route\n\nexport default {\n data() {\n return {\n entityEndpoints: {\n 'company': 'companies'\n },\n entityTree: {\n children: [{\n name: 'company', \n children: [\n { \n name: 'domain', \n children: [\n {name: 'product' },\n {name: 'visitor' },\n {name: 'campaign', children: [ { name: 'variant' } ]},\n {name: 'form'}\n ]\n }\n ]\n },\n {\n name: 'nstemplate'\n }]\n }\n }\n },\n computed: {\n },\n watch: {\n $route() {\n //console.debug('route changed, loading entities');\n this.loadEntities();\n }\n },\n methods: {\n getStoreModule(entity) {\n return this.entityEndpoints[entity] || `${entity}s`;\n },\n loadEntity(node) {\n // this is the root, just run on children\n if(!node.name) {\n node.children.forEach(c => this.loadEntity(c));\n return;\n }\n\n if(!this[node.name]) {\n return;\n }\n // if url contains the entity parameter\n // check if any item is loaded\n var sm = this.getStoreModule(node.name);\n \n var item = this.$store.state[sm].item;\n \n var nc = node.children || [];\n\n // if the current item is loaded, do nothing\n if(!(item && item.id == this[node.name])) {\n //console.debug(`Dispatching get for ${node.name} with id ${this[node.name]} from ${this.$options.name}`);\n // reset the value so skeletons are shown when loading\n this.$store.commit(`${sm}/item`, {value: null});\n this.$store.dispatch(`${sm}/get`, { id: this[node.name] });\n nc.forEach(c => {\n // remove lists if present \n // (this cant be done for the entity itself in the loadEntity as it would unncecessarily erase loaded list when traversing the tree) \n var csm = this.getStoreModule(c.name);\n var list = this.$store.state[csm].list;\n //console.debug(`Erasing list for ${csm}`);\n if(list) {\n this.$store.commit(`${csm}/list`, {value: null});\n this.$store.commit(`${csm}/nextToken`, {value: null});\n }\n })\n }\n \n // in any case, run loadEntity on each children\n nc.forEach(c => this.loadEntity(c));\n },\n loadEntities() {\n //console.debug('loading entities');\n // this mixin is used in the App component where user is mapped from store\n if(this.user) {\n this.loadEntity(this.entityTree);\n }\n \n },\n /*\n companyLoad() {\n if(this.company) {\n this.$store.dispatch('companies/get', { id: this.company });\n }\n },\n domainLoad() {\n if(this.domain) {\n this.$store.dispatch('domains/get', { id: this.domain });\n }\n }\n */\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"offset-y\":\"\",\"left\":\"\",\"transition\":\"slide-y-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"elevation-2\",attrs:{\"id\":\"pfid1618817882\",\"icon\":\"\"}},on),[_c('v-badge',{attrs:{\"color\":\"success\",\"dot\":\"\",\"bordered\":\"\",\"offset-x\":\"10\",\"offset-y\":\"10\"}},[_c('v-avatar',{attrs:{\"size\":\"40\"}},[_c('v-img',{attrs:{\"src\":require('@/assets/luxpro/avatar1.svg')}})],1)],1)],1)]}}])},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},[_vm._l((_vm.menu),function(item,index){return _c('v-list-item',{key:index,attrs:{\"to\":item.link,\"exact\":item.exact,\"disabled\":item.disabled,\"link\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',{class:{ 'grey--text': item.disabled }},[_vm._v(_vm._s(item.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(item.text))])],1)],1)}),_c('v-divider',{staticClass:\"my-1\"}),_c('v-list-item',{attrs:{\"link\":\"\"},on:{\"click\":_vm.logout}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"$logout\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('toolbar.logOut')))])],1)],1)],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolbarUser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolbarUser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToolbarUser.vue?vue&type=template&id=729228d3&\"\nimport script from \"./ToolbarUser.vue?vue&type=script&lang=js&\"\nexport * from \"./ToolbarUser.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VAvatar,VBadge,VBtn,VDivider,VIcon,VImg,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"offset-y\":\"\",\"left\":\"\",\"transition\":\"slide-y-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"id\":\"pfid1618667458\",\"text\":\"\",\"icon\":_vm.$vuetify.breakpoint.smAndDown}},on),[_c('flag-icon',{attrs:{\"round\":_vm.$vuetify.breakpoint.smAndDown,\"flag\":_vm.currentLocale.flag}}),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$vuetify.breakpoint.mdAndUp && _vm.showLabel),expression:\"$vuetify.breakpoint.mdAndUp && showLabel\"}],class:[_vm.$vuetify.rtl ? 'mr-1' : 'ml-1']},[_vm._v(_vm._s(_vm.currentLocale.label))]),(_vm.showArrow)?_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-chevron-down\")]):_vm._e()],1)]}}])},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},_vm._l((_vm.availableLocales),function(locale){return _c('v-list-item',{key:locale.code,on:{\"click\":function($event){return _vm.setLocale(locale.code)}}},[_c('flag-icon',{class:[_vm.$vuetify.rtl ? 'ml-1' : 'mr-1'],attrs:{\"flag\":locale.flag}}),_c('v-list-item-title',[_vm._v(_vm._s(locale.label))])],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"flag-icon\",class:[(\"flag-icon-\" + _vm.flag), { 'flag-round': _vm.round }]})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlagIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlagIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FlagIcon.vue?vue&type=template&id=1582de78&scoped=true&\"\nimport script from \"./FlagIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./FlagIcon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FlagIcon.vue?vue&type=style&index=0&id=1582de78&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1582de78\",\n null\n \n)\n\nexport default component.exports","import { en, cs } from 'vuetify/lib/locale'\nimport customcs from './cs.json'\nimport customen from './en.json'\n\nexport const messages = { cs: { ...customcs, $vuetify: cs }, en: { ...customen, $vuetify: en } };\nexport const list = [\n {\n code: 'en',\n flag: 'us',\n label: 'English'\n },\n {\n code: 'cs',\n flag: 'cz',\n label: 'Česky'\n }\n];\n\nexport const dateTimeFormats = {\n 'en': {\n short: {\n year: 'numeric',\n month: 'short',\n day: 'numeric'\n },\n long: {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n //weekday: 'long',\n hour: 'numeric',\n minute: 'numeric'\n }\n },\n 'cs': {\n short: {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric'\n },\n long: {\n year: 'numeric',\n month: 'numeric',\n day: 'numeric',\n //weekday: 'long',\n hour: 'numeric',\n minute: 'numeric'\n }\n }\n}\n\n\nexport const getLang = () => navigator?.languages?.map(e => e.split('-')[0]).find(e=> !!messages[e]) || 'en'\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolbarLanguage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolbarLanguage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ToolbarLanguage.vue?vue&type=template&id=ddb9be74&\"\nimport script from \"./ToolbarLanguage.vue?vue&type=script&lang=js&\"\nexport * from \"./ToolbarLanguage.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemTitle,VMenu})\n","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=334d7aae&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VApp,VAppBar,VAppBarNavIcon,VBtn,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VMain,VMenu,VSnackbar,VSpacer,VToolbarItems})\n","import Vue from 'vue'\nimport VueRouter from 'vue-router'\n//import Home from '../views/Home.vue'\n\nimport Companies from '../views/Companies.vue'\n\nVue.use(VueRouter)\n\nconst routes = [\n {\n path: '/',\n name: 'home',\n component: Companies\n },\n {\n path: '/register',\n name: 'register',\n component: Companies\n },\n {\n path: '/register/shopify/:shopifyStore',\n name: 'register-shopify',\n component: Companies\n },\n {\n path: '/redirect/:type/:id/:path',\n name: 'plredirect',\n component: () => import(/* webpackChunkName: \"redirect\" */ '../views/Redirect.vue')\n },\n {\n path: '/profile',\n name: 'profile',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"profile\" */ '../views/Profile.vue')\n },\n {\n path: '/token/:token',\n name: 'token',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"profile\" */ '../views/Token.vue')\n },\n {\n path: '/companies',\n name: 'companies',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"companies\" */ '../views/Companies.vue')\n },\n {\n path: '/add-company',\n name: 'add-company',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"add-company\" */ '../views/AddCompany.vue')\n },\n {\n path: '/companies/:company',\n //name: '',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"company\" */ '../views/company/Index.vue'),\n children: [\n {\n name: 'domains',\n path: '', component: () => import(/* webpackChunkName: \"domains\" */ '../views/company/Domains.vue'),\n },\n {\n name: 'company-access',\n path: 'access', component: () => import(/* webpackChunkName: \"company-access\" */ '../views/company/Access.vue'),\n },\n {\n name: 'billing',\n path: 'billing', component: () => import(/* webpackChunkName: \"billing\" */ '../views/company/Billing.vue'),\n },\n {\n name: 'plan',\n path: 'plan', component: () => import(/* webpackChunkName: \"billing\" */ '../views/company/Plan.vue'),\n },\n {\n name: 'business',\n path: 'business', component: () => import(/* webpackChunkName: \"business\" */ '../views/company/Business.vue'),\n },\n {\n name: 'add-domain',\n path: 'add-domain', component: () => import(/* webpackChunkName: \"add-domain\" */ '../views/company/AddDomain.vue'),\n },\n ]\n },\n {\n path: '/companies/:company/domains/:domain',\n //name: 'domain',\n // route level code-splitting\n // this generates a separate chunk (about.[hash].js) for this route\n // which is lazy-loaded when the route is visited.\n component: () => import(/* webpackChunkName: \"domain\" */ '../views/domain/Index.vue'),\n children: [\n {\n name: 'domain-dashboard',\n path: '', component: () => import(/* webpackChunkName: \"domain-dashboard\" */ '../views/domain/Dashboard.vue'),\n },\n {\n name: 'domain-overview',\n path: 'setup/overview', component: () => import(/* webpackChunkName: \"feeds\" */ '../views/domain/overview/Index.vue'),\n children: [\n {\n name: 'contact-import',\n path: 'contact-import',\n meta: { dialog: true },\n component: () => import(/* webpackChunkName: \"import-contacts\" */ '../views/domain/contacts/ContactImport.vue')\n },\n {\n name: 'order-import',\n path: 'order-import',\n meta: { dialog: true },\n component: () => import(/* webpackChunkName: \"import-orders\" */ '../views/domain/contacts/OrderImport.vue')\n }\n ]\n },\n {\n name: 'feeds',\n path: 'setup/feeds', component: () => import(/* webpackChunkName: \"feeds\" */ '../views/domain/Feeds.vue'),\n },\n {\n name: 'feeds-shopify',\n path: 'setup/feeds/shopify/verify', component: () => import(/* webpackChunkName: \"feeds-shopify\" */ '../views/domain/Feeds.vue'),\n },\n {\n name: 'integrations',\n path: 'setup/integrations', component: () => import(/* webpackChunkName: \"integrations\" */ '../views/domain/Integrations.vue'),\n },\n {\n name: 'tracking',\n path: 'setup/tracking', component: () => import(/* webpackChunkName: \"tracking\" */ '../views/domain/tracking/Index.vue'),\n children: [\n {\n name: 'tracking-dynamic',\n path: 'dynamic/:platform', redirect: to => { return { name: `tracking-${to.params.platform}` } }\n },\n {\n name: 'tracking-shoptet',\n path: 'shoptet', component: () => import(/* webpackChunkName: \"tracking-shoptet\" */ '../views/domain/tracking/Shoptet.vue'),\n },\n {\n name: 'tracking-shopify',\n path: 'shopify', component: () => import(/* webpackChunkName: \"tracking-shopify\" */ '../views/domain/tracking/Shopify.vue'),\n },\n {\n name: 'tracking-exitshop',\n path: 'exitshop', component: () => import(/* webpackChunkName: \"tracking-exitshop\" */ '../views/domain/tracking/ExitShop.vue'),\n },\n {\n name: 'tracking-woocommerce',\n path: 'woocommerce', component: () => import(/* webpackChunkName: \"tracking-woocommerce\" */ '../views/domain/tracking/WooCommerce.vue'),\n },\n {\n name: 'tracking-other',\n path: 'other', component: () => import(/* webpackChunkName: \"tracking-other\" */ '../views/domain/tracking/Other.vue'),\n },\n ]\n },\n {\n path: 'webboxes/:platform?', name: 'webboxes', component: () => import(/* webpackChunkName: \"webboxes\" */ '../views/domain/webboxes/Index.vue'),\n \n xchildren: [\n {\n name: 'webboxes',\n path: '', redirect: 'home',\n },\n {\n name: 'webboxes-home',\n path: 'home', component: () => import(/* webpackChunkName: \"webboxes-home\" */ '../views/domain/webboxes/Home.vue'),\n },\n {\n name: 'webboxes-product',\n path: 'product', component: () => import(/* webpackChunkName: \"webboxes-product\" */ '../views/domain/webboxes/Product.vue'),\n },\n {\n name: 'webboxes-cart',\n path: 'cart', component: () => import(/* webpackChunkName: \"webboxes-cart\" */ '../views/domain/webboxes/Cart.vue'),\n },\n {\n name: 'webboxes-data',\n path: 'data', component: () => import(/* webpackChunkName: \"webboxes-data\" */ '../views/domain/webboxes/RawData.vue'),\n },\n ]\n \n },\n {\n path: 'campaigns/automatic', name: 'campaigns-automatic', component: () => import(/* webpackChunkName: \"campaigns-automatic\" */ '../views/domain/campaigns/Automatic.vue'),\n },\n {\n path: 'campaigns/btc', name: 'campaigns-btc', component: () => import(/* webpackChunkName: \"campaigns-btc\" */ '../views/domain/campaigns/BackToCart.vue'),\n },\n {\n path: 'campaigns/swu', name: 'campaigns-swu', component: () => import(/* webpackChunkName: \"campaigns-swu\" */ '../views/domain/campaigns/SmartWarmUp.vue'),\n },\n {\n path: 'campaigns/scheduled', name: 'campaigns-scheduled', component: () => import(/* webpackChunkName: \"campaigns-scheduled\" */ '../views/domain/campaigns/Scheduled.vue'),\n },\n {\n path: 'campaigns/welcome', name: 'campaigns-welcome', component: () => import(/* webpackChunkName: \"campaigns-welcome\" */ '../views/domain/campaigns/Welcome.vue'),\n },\n {\n path: 'campaigns/add/:type?', component: () => import(/* webpackChunkName: \"campaigns-add\" */ '../views/domain/campaigns/Index.vue'),\n children: [\n {\n name: 'add-campaign',\n path: '', component: () => import(/* webpackChunkName: \"campaigns-type\" */ '../views/domain/campaigns/Type.vue'),\n }\n ]\n },\n {\n //name: 'camapigns',\n path: 'campaigns/:campaign', component: () => import(/* webpackChunkName: \"campaigns\" */ '../views/domain/campaigns/Index.vue'),\n children: [\n {\n name: 'campaign-detail',\n // TODO remove index, add detail?\n path: '', component: () => import(/* webpackChunkName: \"campaign-detail\" */ '../views/domain/campaigns/Detail.vue'),\n },\n {\n name: 'campaign-edit',\n path: 'edit', redirect: 'segment',\n },\n \n //{\n // name: 'campaign-type',\n // path: 'type', component: () => import(/* webpackChunkName: \"campaign-type\" */ '../views/domain/campaigns/Type.vue'),\n //},\n {\n name: 'campaign-segment',\n path: 'segment', component: () => import(/* webpackChunkName: \"campaign-segment\" */ '../views/domain/campaigns/Segment.vue'),\n },\n {\n name: 'campaign-setup-dynamic',\n path: 'setup-dynamic/:medium', redirect: to => { return { name: `campaign-setup-${to.params.medium}` } }\n },\n {\n name: 'campaign-setup-email',\n path: 'setup/mail', component: () => import(/* webpackChunkName: \"campaign-setup-mail\" */ '../views/domain/campaigns/email/Setup.vue'),\n },\n {\n name: 'campaign-design-dynamic',\n path: 'design-dynamic/:medium', redirect: to => { return { name: `campaign-design-${to.params.medium}` } }\n },\n {\n name: 'campaign-design-email',\n path: 'design/mail', component: () => import(/* webpackChunkName: \"campaign-design-mail\" */ '../views/domain/campaigns/email/Design.vue'),\n },\n {\n name: 'campaign-design-email-legacy',\n path: 'design/mail/legacy', component: () => import(/* webpackChunkName: \"campaign-design-mail-legacy\" */ '../views/domain/campaigns/email/DesignLegacy.vue'),\n },\n {\n name: 'campaign-design-email-variant',\n path: 'design/mail/variant/:variant', component: () => import(/* webpackChunkName: \"campaign-design-mail\" */ '../views/domain/campaigns/email/Design.vue'),\n },\n {\n name: 'campaign-summary-dynamic',\n path: 'summary-dynamic/:medium', redirect: to => { return { name: `campaign-summary-${to.params.medium}` } }\n },\n {\n name: 'campaign-summary-email',\n path: 'summary/mail', component: () => import(/* webpackChunkName: \"campaign-summary-mail\" */ '../views/domain/campaigns/email/Summary.vue'),\n }\n ]\n },\n {\n path: 'contacts', component: () => import(/* webpackChunkName: \"contacts\" */ '../views/domain/contacts/Index.vue'),\n children: [\n {\n name: 'contacts',\n path: '',\n component: () => import(/* webpackChunkName: \"segment\" */ '../views/domain/contacts/Segments.vue'),\n children: [\n { name: 'segment', \n path: 'segments/:segment', \n component: () => import(/* webpackChunkName: \"segment\" */ '../views/domain/contacts/Segment.vue')\n }\n ]\n },\n {\n name: 'contacts-c-import',\n path: 'contact-import/:segment?',\n component: () => import(/* webpackChunkName: \"import-contacts\" */ '../views/domain/contacts/ContactImport.vue')\n },\n {\n name: 'contacts-o-import',\n path: 'order-import/:segment?',\n component: () => import(/* webpackChunkName: \"import-orders\" */ '../views/domain/contacts/OrderImport.vue')\n },\n {\n name: 'contacts-unsubscribe',\n path: 'contacts-unsubscribe',\n component: () => import(/* webpackChunkName: \"import-orders\" */ '../views/domain/contacts/ContactUnsubscribe.vue')\n },\n ]\n },\n {\n name: 'forms',\n path: 'forms', component: () => import(/* webpackChunkName: \"contacts\" */ '../views/domain/forms/Index.vue'),\n children: [\n {\n name: 'add-form',\n path: 'add/:segment?',\n component: () => import(/* webpackChunkName: \"add-form\" */ '../views/domain/forms/Add.vue')\n },\n {\n name: 'form',\n path: ':form',\n component: () => import(/* webpackChunkName: \"form\" */ '../views/domain/forms/Edit.vue')\n }\n ]\n },\n {\n name: 'mailing',\n path: 'setup/mailing', component: () => import(/* webpackChunkName: \"mailing\" */ '../views/domain/Mailing.vue'),\n },\n {\n name: 'customizations',\n path: 'setup/customizations', component: () => import(/* webpackChunkName: \"customizations\" */ '../views/domain/Customizations.vue'),\n },\n {\n name: 'domain-access',\n path: 'access', component: () => import(/* webpackChunkName: \"domain-access\" */ '../views/domain/Access.vue'),\n },\n {\n //name: 'domain-stats',\n path: 'insights', component: () => import(/* webpackChunkName: \"stats\" */ '../views/domain/insights/Index.vue'),\n children: [\n {\n name: 'domain-schedule',\n path: '', component: () => import(/* webpackChunkName: \"schedule\" */ '../views/domain/insights/Schedule.vue'),\n },\n {\n name: 'domain-visitors',\n path: 'visitors', component: () => import(/* webpackChunkName: \"visitors\" */ '../views/domain/insights/Visitors.vue'),\n },\n {\n name: 'domain-products',\n path: 'products', component: () => import(/* webpackChunkName: \"products\" */ '../views/domain/insights/Products.vue'),\n },\n {\n name: 'visitor',\n path: 'visitors/:visitor',\n component: () => import(/* webpackChunkName: \"visitor\" */ '../views/domain/insights/Visitor.vue')\n },\n ]\n },\n ]\n },\n {\n name: 'newsletter-templates',\n path: '/newsletter-templates', component: () => import(/* webpackChunkName: \"newsletter-templates\" */ '../views/newsletter-template/List.vue')\n },\n {\n name: 'newsletter-template',\n path: '/newsletter-templates/:nstemplate', component: () => import(/* webpackChunkName: \"newsletter-template\" */ '../views/newsletter-template/Designer.vue'),\n },\n {\n name: 'helpdesk',\n path: '/helpdesk', component: () => import('../views/Helpdesk.vue'),\n },\n {\n name: 'running-campaigns',\n path: '/running-campaigns', component: () => import('../views/RunningCampaigns.vue'),\n },\n]\n\nconst router = new VueRouter({\n mode: 'history',\n routes,\n scrollBehavior() { //(to, from, savedPosition) {\n return { x: 0, y: 0 }\n }\n})\n\nexport default router\n","import { API, graphqlOperation } from 'aws-amplify';\n//import { createCompany, updateCompany, deleteCompany } from './graphql/mutations';\n//import { listCompanys } from './graphql/queries';\n\nexport default {\n namespaced:true,\n state: {\n entity: 'Company',\n list: null,\n item: null,\n nextToken: null,\n prefill: {}\n },\n mutations: {\n list: (state, payload) => { state.list = payload.append ? (state.list || []).concat(payload.value) : payload.value },\n item: (state, payload) => { state.item = payload.value },\n nextToken: (state, payload) => { state.nextToken = payload.value },\n prefill: (state, payload) => { state.prefill = Object.assign(state.prefill, payload)}\n },\n getters: {\n isActive: (state) => state.item ? state.item.active == 'ACTIVE' : true,\n isTrial: (state) => state.item?.active == 'ACTIVE' && !state.item?.hasStripeSubscription && !state.item?.hasManualInvoicing,\n isDowngraded: (state) => state.item?.activeSubscription?.monthlyUserLimit > state.item?.paymentInformation?.activePlan,\n isBlocked: (state) => state.item?.active == 'PAYMENT_DUE' || state.item?.active == 'OVER_LIMIT',\n subscription: (state) => state.item?.activeSubscription ?? { from: null, to: null, monthlyUserLimit: null },\n stats: (state) => state.item?.stats ?? { monthlyUsers: null, dreamroiSales: null }\n\n },\n actions: {\n async get(context, payload) {\n const c = await API.graphql(graphqlOperation(/* GraphQL */ ` query GetCompany($id: ID!) {\n getCompany(id: $id) {\n id\n name\n email\n phone\n street\n city\n active\n zip\n country\n crNo\n vatNo\n vatPayer\n owner\n editors\n accessRights {\n cognitoID\n email\n role\n }\n activeSubscription {\n from\n to\n monthlyUserLimit\n }\n stats {\n monthlyUsers\n dreamroiSales\n }\n hasStripeSubscription\n #payment information is queried separately due to access rights\n #paymentInformation {\n # activePlan\n #}\n hasManualInvoicing\n createdAt\n }}\n `, { id: payload.id }));\n \n context.commit('item', {value: c.data.getCompany });\n\n },\n \n async list(context, payload) {\n const c = await API.graphql(graphqlOperation(`\n query ListCompanies(\n $filter: ModelCompanyFilterInput\n $limit: Int\n $nextToken: String\n ) {\n listCompanys(filter: $filter, limit: $limit, nextToken: $nextToken) {\n items {\n id\n email\n name\n active\n street\n city\n zip\n country\n owner\n activeSubscription {\n from\n to\n monthlyUserLimit\n }\n stats {\n monthlyUsers\n dreamroiSales\n }\n }\n nextToken\n }\n }\n `, payload));\n context.commit('list', {value: c.data.listCompanys.items, append: !!payload?.nextToken });\n context.commit('nextToken', {value: c.data.listCompanys.nextToken });\n if(context.state.nextToken) {\n await context.dispatch('list', { nextToken: context.state.nextToken });\n }\n },\n\n async create(context, payload) {\n var reqparams = {\n accessRightsSecret: await context.dispatch('generateSecret', null, {root: true}),\n active: 'ACTIVE',\n activeSubscription: {\n from: new Date(),\n to: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),\n monthlyUserLimit: 10000\n },\n stats: {\n monthlyUsers: 0,\n dreamroiSales: 0\n }\n }\n Object.assign(payload, reqparams);\n var r = await API.graphql(graphqlOperation(`\n mutation CreateCompany(\n $input: CreateCompanyInput!\n $condition: ModelCompanyConditionInput\n ) {\n createCompany(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: payload}));\n return r.data.createCompany;\n },\n\n async remove(context, payload) {\n let dq = await API.graphql(graphqlOperation(/* GraphQL */ `\n query GetCompany($id: ID!) {\n getCompany(id: $id) {\n id\n domains {\n items {\n id\n }\n }\n }\n }\n `, { id: payload.id }));\n if(dq.data.getCompany.domains.items.length > 0) {\n return;\n }\n await API.graphql(graphqlOperation(/* GraphQL */ `\n mutation DeleteCompany(\n $input: DeleteCompanyInput!\n $condition: ModelCompanyConditionInput\n ) {\n deleteCompany(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: { id: payload.id } }));\n },\n\n async updateFields(context, payload) {\n await API.graphql(graphqlOperation(`\n mutation UpdateCompany(\n $input: UpdateCompanyInput!\n $condition: ModelCompanyConditionInput\n ) {\n updateCompany(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: Object.assign({ id: context.state.item.id }, payload.fields )}));\n return context.dispatch('get', { id: context.state.item.id });\n //return r.data.updateDomain;\n },\n\n async getRegistrarInfo(context, payload) {\n const c = await API.graphql(graphqlOperation(`query GetRegistrarInfo($input: BusinessInfoInput!) {\n businessRegistrarInfo(input: $input) {\n name\n street\n city\n zip\n country\n crNo\n vatNo\n vatPayer\n }\n }\n `, { input: payload }));\n return c.data.businessRegistrarInfo;\n },\n\n async createSubscription(context, payload) {\n const c = await API.graphql(graphqlOperation(`mutation CreateSubscription($input: StripeSubscriptionInput!) {\n createSubscription(input:$input)\n }`, { input: payload }));\n \n return c.data.createSubscription;\n },\n\n async getStripePortalLink(context, payload) {\n const c = await API.graphql(graphqlOperation(`query GetCompany($id: ID!) {\n getCompany(id: $id) {\n stripePortalLink\n }\n }`, { id: payload.id}));\n\n return c.data.getCompany.stripePortalLink;\n },\n\n async changePlan(context, payload) {\n await API.graphql(graphqlOperation(`mutation ChangePlan($input: StripeSubscriptionInput!) {\n changePlan(input:$input)\n }`, { input: payload }));\n \n return context.dispatch('get', { id: context.state.item.id });\n },\n\n async plans(context, payload) {\n const c = await API.graphql(graphqlOperation(`query GetCompany($id: ID!) {\n getCompany(id: $id) {\n stripePlans\n }\n }`, { id: payload.id}));\n /*\n console.debug('raw plans', c.data.getCompany.stripePlans);\n console.debug('parsed plans', JSON.parse(c.data.getCompany.stripePlans));\n console.debug('parsed parsed plans', JSON.parse(JSON.parse(c.data.getCompany.stripePlans)));\n */\n return JSON.parse(c.data.getCompany.stripePlans);\n },\n\n // payment information is queried separately due to access rights\n async paymentInformation(context, payload) {\n const c = await API.graphql(graphqlOperation(`query GetCompany($id: ID!) {\n getCompany(id: $id) {\n paymentInformation {\n activePlan\n }\n }\n }`, { id: payload.id}));\n \n return c.data.getCompany.paymentInformation;\n },\n\n async getBillingHistory(context, payload) {\n const c = await API.graphql(graphqlOperation(`query GetCompany($id: ID!) {\n getCompany(id: $id) {\n history {\n subscription {\n from\n to\n monthlyUserLimit\n }\n stats {\n monthlyUsers\n dreamroiSales\n }\n }\n }\n }`, { id: payload.id}));\n let m = Object.assign(context.state.item, c.data.getCompany);\n if(!m.history) {\n m.history = [];\n }\n context.commit('item', { value: m });\n }\n \n }\n}","import { API, graphqlOperation } from 'aws-amplify';\nimport { currencies } from 'dreamroi-currencies';\n\nexport default {\n namespaced:true,\n state: {\n entity: 'Domain',\n list: null,\n item: null,\n nextToken: null,\n platformSettings: {\n 'EXITSHOP': {\n 'imageClass': 'product_detail',\n 'imageID': null\n },\n 'SHOPTET': {\n 'imageClass': 'p-main-image',\n 'imageID': null\n },\n 'WOOCOMMERCE': {\n 'imageClass': 'zoomImg',\n 'imageID': null\n },\n 'SHOPIFY': {\n 'imageClass': null,\n 'imageID': null\n }\n },\n platforms: ['EXITSHOP',\n 'SHOPTET',\n 'SHOPIFY',\n 'WOOCOMMERCE',\n 'OTHER',\n ],\n currencies, \n /*[\n {text: 'Česká koruna', sign: 'Kč', value: 'CZK' },\n {text: 'Euro (€)', sign: '€', value: 'EUR', },\n {text: 'US Dollar ($)', sign: '$', value: 'USD', format: (amount) => `$${amount}`},\n {text: 'Polsky złoty', sign: 'zł', value: 'PL'},\n {text: 'Magyar forint', sign: 'Ft', value: 'HUF'}\n ],\n */\n itemStats: null,\n statsCache: {},\n productCategories: null,\n //shopifyStore: null,\n prefill: {}\n },\n mutations: {\n list: (state, payload) => { state.list = payload.append ? (state.list || []).concat(payload.value) : payload.value },\n item: (state, payload) => { state.item = payload.value },\n nextToken: (state, payload) => { state.nextToken = payload.value },\n itemStats: (state, payload) => { state.itemStats = payload },\n statsCache: (state, payload) => { state.statsCache[payload.id] = payload },\n productCategories: (state, payload) => { state.productCategories = payload.value },\n //shopifyStore: (state, payload) => { state.shopifyStore = payload.value },\n prefill: (state, payload) => { state.prefill = Object.assign(state.prefill, payload)}\n },\n getters: {\n platformSettings: (state) => (platform) => {\n return state.platformSettings[platform];\n },\n isActive: (state) => state.item ? state.item.active == 'ACTIVE' : true,\n isIncomplete: (state) => state.item ? state.item.active == 'INCOMPLETE': true,\n isCancelled: (state) => state.item ? state.item.active == 'CANCELLED' || state.item.active == 'PURGED' : true,\n hasProducts: (state) => state.item ? (state.item.stats?.products > 0 && state.item?.productsUpdated?.substring(0,4) != '1970') : true,\n productFeedError: (state) => state.item ? (state.item.stats?.products == 0 && state.item?.productsUpdated?.substring(0,4) != '1970') : true,\n hasRecommendations: (state) => state.item ? state.item?.recommendationsUpdated?.substring(0,4) != '1970' : true,\n canAllowWebbox: (state) => state.item?.stats?.products > 0 && state.item?.recommendationsUpdated?.substring(0,4) != '1970',\n hasCampaigns: (state) => !!state.item?.campaignsUpdated,\n currenciesList: (state) => state.currencies.map(c => ({ text: `${c.text} (${c.sign}) - ${c.value}`, value: c.value}))\n },\n actions: {\n async get(context, payload) {\n const c = await API.graphql(graphqlOperation(`query GetDomain($id: ID!) {\n getDomain(id: $id) {\n id\n name\n currency\n timezone\n defaultSale\n productFeedURL\n orderFeedURL\n categoriesFeedURL\n productsUpdated\n leadscoresUpdated\n eventsPurged\n recommendationsUpdated\n campaignsUpdated\n companyID\n active\n platform\n dnsName\n mailFrom\n from\n friendlyFrom\n replyTo\n boxesAllowed\n cookieCheck\n shopifyStore\n totalEmailRecipients\n owner\n editors\n accessRights {\n cognitoID\n email\n role\n }\n leadscoringSettings {\n retention\n visit\n scroll {\n value\n score\n }\n time {\n value\n score\n }\n image\n imageClass\n imageID\n cart\n purchase\n mail\n segments {\n percentile\n name\n score\n visitors\n }\n }\n trackingIds {\n googleAnalytics\n googleAdWords\n sklik\n facebook\n }\n homeBox { ...box }\n cartBox { ...box }\n productBox { ...box }\n capabilities {\n allow\n feed\n tracker\n viewProduct\n signIn\n purchase\n #showBox\n addToCart\n dkim\n spf\n linkDomain\n #orders\n }\n stats {\n monthlyUsers\n products\n dreamroiSales\n }\n unsubscribeSetup {\n title\n heading\n text\n }\n }\n }\n \n\t\t\t\t fragment box on WebBox {\n boxComponents\n config\n }\n `, { id: payload.id }));\n \n context.commit('item', {value: c.data.getDomain });\n context.commit('itemStats', null);\n\n },\n \n\n async list(context, payload) {\n var filter = payload.companyId ? { companyID: { eq : payload.companyId } } : null;\n //console.dir(filter);\n const c = await API.graphql(graphqlOperation(`\n query ListDomains(\n $filter: ModelDomainFilterInput\n $limit: Int\n $nextToken: String\n ) {\n listDomains(filter: $filter, limit: $limit, nextToken: $nextToken) {\n items {\n id\n name\n productsUpdated\n leadscoresUpdated\n eventsPurged\n recommendationsUpdated\n companyID\n active\n currency\n owner\n stats {\n monthlyUsers\n products\n dreamroiSales\n }\n }\n nextToken\n }\n }\n `, { filter, nextToken: payload.nextToken }));\n context.commit('list', {value: c.data.listDomains.items, append: !!payload.nextToken });\n context.commit('nextToken', {value: c.data.listDomains.nextToken });\n if(context.state.nextToken) {\n await context.dispatch('list', { nextToken: context.state.nextToken, companyId: payload.companyId });\n }\n },\n\n async create(context, payload) {\n var boxTemplate = {\n domMode: 'AFTER',\n domId: null,\n boxComponents: ['IMAGE', 'NAME', 'PRICE'],\n contain: true,\n newTab: false,\n visibleProducts: 5,\n loadedProducts: null,\n gap: null,\n height: null,\n linkColor: '#0000FF',\n buttonText: 'Button',\n customArrowStyle: false,\n customCardStyle: false,\n customSplideConfig: false\n };\n var template = {\n productsUpdated: new Date('1970-01-01'),\n recommendationsUpdated: new Date('1970-01-01'),\n eventsPurged: new Date('1970-01-01'),\n leadscoresUpdated: new Date('1970-01-01'),\n companyID: this.company,\n editors: null,\n accessRightsSecret: await context.dispatch('generateSecret', null, {root: true}),\n active: 'INCOMPLETE',\n recommenderStatus: 'LEARNING',\n recommenderComputation: 'UPTODATE',\n defaultSale: 0,\n firstDayOfWeek: 1,\n totalEmailRecipients: 0,\n stats: {\n monthlyUsers: 0,\n products: 0\n },\n trackingIds: {\n googleAnalytics: null,\n googleAdWords: null,\n sklik: null,\n facebook: null\n },\n leadscoringSettings: {\n retention: 14,\n visit: 1,\n scroll: [{value: 25, score: 0 }, {value: 50, score: 2 }, {value: 75, score: 2 }, { value: 100, score: 2 }],\n time: [{value: 30, score: 1 }, {value: 60, score: 1 }, {value: 300, score: 1 }, { value: 900, score: 0 }, { value: 1800, score: 0 }],\n image: 3,\n cart: 5,\n purchase: 5,\n mail: 1,\n imageClass: null,\n imageID: null,\n segments: [{percentile: 0, score: 0, name: 'COLD', visitors: 0 }, {percentile: 50, score: 1, name: 'WARM', visitors: 0 }, {percentile: 75, score: 2, name: 'HOT', visitors: 0 }]\n },\n capabilities: {\n allow: false, // changed below\n feed: false,\n tracker: false,\n viewProduct: false,\n signIn: false,\n purchase: false,\n showBox: false,\n addToCart: false,\n dkim: false,\n spf: false,\n linkDomain: false,\n orders: false\n },\n boxesAllowed: false,\n cookieCheck: true,\n // initialize webboxes\n homeBox: Object.assign({\n utm: {\n source: 'dreamroi',\n campaign: 'home',\n medium: 'webbox'\n }\n }, boxTemplate),\n productBox: Object.assign({\n utm: {\n source: 'dreamroi',\n campaign: 'product',\n medium: 'webbox'\n }\n }, boxTemplate),\n cartBox: Object.assign({\n utm: {\n source: 'dreamroi',\n campaign: 'cart',\n medium: 'webbox'\n }\n }, boxTemplate)\n }; \n \n Object.assign(template.capabilities, payload.capabilities);\n delete payload.capabilities;\n Object.assign(template, payload);\n // based on platform, fill in leadscoring parameters\n Object.assign(template.leadscoringSettings, context.getters.platformSettings(template.platform));\n console.debug('Creating domain', template);\n console.debug(JSON.stringify(template));\n var r = await API.graphql(graphqlOperation(`\n mutation CreateDomain(\n $input: CreateDomainInput!\n $condition: ModelDomainConditionInput\n ) {\n createDomain(input: $input, condition: $condition) {\n id\n companyID\n }\n }\n `, { input: template}));\n context.dispatch('list', { companyId: r.data.createDomain.companyID })\n return r.data.createDomain;\n },\n \n async remove(context, payload) {\n await API.graphql(graphqlOperation(/* GraphQL */ `\n mutation DeleteDomain(\n $input: DeleteDomainInput!\n $condition: ModelDomainConditionInput\n ) {\n deleteDomain(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: { id: payload.id }, condition: { active: {eq: 'PURGED'}} }));\n },\n\n async updateFields(context, payload) {\n await API.graphql(graphqlOperation(`\n mutation UpdateDomain(\n $input: UpdateDomainInput!\n $condition: ModelDomainConditionInput\n ) {\n updateDomain(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: Object.assign({ id: context.state.item.id }, payload.fields )}));\n return context.dispatch('get', { id: context.state.item.id });\n //return r.data.updateDomain;\n },\n\n async getProductCategories(context, payload) {\n console.debug('Store loading product categories...');\n const c = await API.graphql(graphqlOperation(`query GetDomain($id: ID!) {\n getDomain(id: $id) {\n productCategories(limit: 1000) {\n items {\n id\n name\n }\n nextToken\n }\n }\n }`, { id: context.state.item?.id ?? payload.domainId }));\n \n if(c.data.getDomain.productCategories.nextToken) {\n console.warn('Not all categories are loaded!');\n }\n console.debug('categories response', c);\n let items = c.data.getDomain.productCategories.items\n .filter(c => c.name != 'droiNewProducts')\n .map(c => ({ value: c.id, label: c.name}));\n \n context.commit('productCategories', {value: items });\n },\n\n async getDNSRecords(context /*, payload */) {\n const c = await API.graphql(graphqlOperation(`query GetDomain($id: ID!) {\n getDomain(id: $id) {\n dnsRecords\n }\n }`, { id: context.state.item.id }));\n \n // de-JSONify result\n c.data.getDomain.dnsRecords = JSON.parse(c.data.getDomain.dnsRecords);\n if(c.data.getDomain.dnsRecords.Error && c.data.getDomain.dnsRecords.Error == 'Duplicate') {\n throw c.data.getDomain.dnsRecords;\n }\n context.commit('item', {value: Object.assign(context.state.item, c.data.getDomain) });\n },\n\n async getStats(context, payload) {\n if(payload.allowCache) {\n console.debug('cache allowed');\n if(context.state.statsCache[payload.id]?.updated.valueOf() > (Date.now() - 60 * 60 * 1000)) {\n console.debug('cache hit');\n context.commit('itemStats', context.state.statsCache[payload.id]);\n return context.state.statsCache[payload.id];\n }\n }\n console.debug('cache not allowed');\n let from = null;\n if(payload.period) {\n \n let unit = payload.period[payload.period.length - 1];\n let amount = parseInt(payload.period.substring(0,payload.period.length - 1));\n //console.debug(`Has period ${payload.period} unit ${unit} amount ${amount}`);\n from = new Date();\n if(unit == 'd') {\n from.setDate(from.getDate() - (amount - 1));\n }\n if(unit == 'm') {\n from.setMonth(from.getMonth() - amount);\n }\n from.setHours(0,0,0,0);\n }\n //console.debug(from);\n //return;\n const q = await API.graphql(graphqlOperation(`\n query GetDomain($id: ID!, $from: AWSDateTime) {\n getDomain(id: $id) {\n sales(from: $from) {\n total {\n sales\n orders\n }\n media {\n sales\n orders\n category\n }\n days {\n media {\n sales\n orders\n category\n }\n day\n }\n }\n }\n }\n `, { id: payload.id, from: from }));\n let stats = { id: payload.id, data: q.data.getDomain.sales, updated: new Date() };\n if(!payload.noStore) {\n context.commit('statsCache', stats);\n context.commit('itemStats', stats);\n }\n return stats;\n },\n\n createTag: async(context, payload) => {\n let tag = await API.graphql(graphqlOperation(`\n mutation CreateTag(\n $input: CreateTagInput!\n ) {\n createTag(input: $input) {\n id\n name\n }\n }\n `, { input: { ...payload, \n domainID: context.state.item?.id, \n editors: [context.state.item.owner, ...(context.state.item.editors || [])],\n }}));\n return tag.data.createTag;\n },\n\n createACDeal: async(context, payload) => {\n /*\n\n contactEmail: String!\n contactId: Int\n companyId: ID!\n domainId: ID\n name: String!\n billingCurrency: String! \n projectCurrency: String!\n platform: String!\n registered: AWSDateTime\n companyRegistered: AWSDateTime\n */\n // disable, ac account is not active\n console.log('disabled ac deal', context, payload);\n return;\n \n // let deal = await API.graphql(graphqlOperation(`mutation CreateDeal($input:ACCreateDealInput!) {\n // ACCreateDeal(input: $input)\n // }`, { input: payload }));\n \n // await API.graphql(graphqlOperation(`\n // mutation UpdateDomain($input: UpdateDomainInput!) {\n // updateDomain(input: $input) {\n // id\n // }\n // }\n // `, { input: { id: payload.domainId, acDealId: deal.data.ACCreateDeal }}));\n \n // let contactsq = await API.graphql(graphqlOperation(/* GraphQL */ `\n // query GetDomain($id: ID!) {\n // getDomain(id: $id) {\n // accessRights {\n // cognitoID\n // email\n // role\n // }\n // }\n // }\n // `, { id: payload.domainId }));\n \n // let contacts = contactsq.data.getDomain.accessRights.filter(e=> e.role != 'OWNER').map(e => e.email);\n // for(let i = 0; i < contacts.length; i++) {\n // await API.graphql(graphqlOperation(`mutation AddContact($input:ACContactDealInput!) {\n // ACAddContactToDeal(input: $input)\n // }`, { input: { dealId: deal.data.ACCreateDeal, contactEmail: contacts[i] } }));\n // }\n \n },\n\n shopifyCreateTags: async(context, payload) => {\n let result = await API.graphql(graphqlOperation(`mutation CreateShopifyTags($store:String!) {\n shopifyCreateScriptTag(shopifyStore: $store)\n }`, { store: payload.store }));\n return result;\n },\n\n\n shopifyRedirect: async(context, payload) => {\n let result = await API.graphql(graphqlOperation(/* GraphQL */ `query GetDroiIDs($store:String!) {\n shopifyGetDroiIds(shopifyStore: $store) {\n companyID\n domainID\n }\n }`, { store: payload.store }));\n return result.data?.shopifyGetDroiIds;\n },\n\n shopifyGetThemes: async(context, payload) => {\n let themes = await API.graphql(graphqlOperation(/* GraphQL */ `\n query GetDomain($id: ID!) {\n getDomain(id: $id) {\n shopifyThemes\n }\n }\n `, { id: payload.id }));\n return JSON.parse(themes.data.getDomain.shopifyThemes);\n }\n }\n}","import { API, graphqlOperation } from 'aws-amplify';\n//import { createCompany, updateCompany, deleteCompany } from './graphql/mutations';\n//import { listCompanys } from './graphql/queries';\n\nconst getRecommendationsArray = function(rec) {\n if(!rec) {\n return [];\n }\n var products = [];\n for(var i = 0; i < rec.score; i++) {\n /* cant be used until Amplify allows nullable connections */\n if(rec[`product${i}`] && rec[`product${i}`].url) {\n var p = rec[`product${i}`];\n p.personalized = true;\n p.scoreIncrement = rec.score - i;\n products.push(p);\n }\n \n }\n return products;\n}\n\nexport default {\n namespaced:true,\n state: {\n list: null,\n item: null,\n nextToken: null,\n },\n mutations: {\n list: (state, payload) => { state.list = payload.append ? (state.list || []).concat(payload.value) : payload.value },\n item: (state, payload) => { state.item = payload.value },\n nextToken: (state, payload) => { state.nextToken = payload.value }\n },\n getters: {\n \n },\n actions: {\n async get(context, payload) {\n const v = await API.graphql(graphqlOperation(`query GetVisitor($id: ID!) {\n getVisitor(id: $id) {\n id\n activity\n lastAction\n recommendations(sortDirection: DESC) {\n items {\n id\n score\n product0 {\n ...product\n }\n product1 {\n ...product\n }\n product2 {\n ...product\n }\n product3 {\n ...product\n }\n product4 {\n ...product\n }\n product5 {\n ...product\n }\n product6 {\n ...product\n }\n product7 {\n ...product\n }\n product8 {\n ...product\n }\n product9 {\n ...product\n }\n }\n nextToken\n }\n events(sortDirection:DESC) {\n items {\n id\n productID\n product {\n ...product\n }\n scoreIncrement\n }\n nextToken\n }\n }\n }\n\n fragment product on Product {\n id\n url\n name\n }\n `, { id: payload.id }));\n var vr = v.data.getVisitor;\n vr.parsedRecommendations = getRecommendationsArray(vr.recommendations.items[0]); \n context.commit('item', {value: v.data.getVisitor });\n\n },\n \n async list(context, payload) {\n //console.dir(payload);\n const c = await API.graphql(graphqlOperation(`\n query VisitorsByDomainActivity(\n $domainID: ID\n $activity: ModelIntKeyConditionInput\n $sortDirection: ModelSortDirection\n $filter: ModelVisitorFilterInput\n $limit: Int\n $nextToken: String\n ) {\n visitorsByDomainActivity(\n domainID: $domainID\n activity: $activity\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n email\n lastAction\n registered\n activity\n }\n nextToken\n }\n }\n `, payload ));\n context.commit('list', {value: c.data.visitorsByDomainActivity.items, append: true });\n context.commit('nextToken', {value: c.data.visitorsByDomainActivity.nextToken });\n },\n\n }\n}","import { API, graphqlOperation } from 'aws-amplify';\n//import { createCompany, updateCompany, deleteCompany } from './graphql/mutations';\n//import { listCompanys } from './graphql/queries';\n\nexport default {\n namespaced:true,\n state: {\n list: null,\n item: null,\n nextToken: null,\n },\n mutations: {\n list: (state, payload) => { state.list = payload.append ? (state.list || []).concat(payload.value) : payload.value },\n item: (state, payload) => { state.item = payload.value },\n nextToken: (state, payload) => { state.nextToken = payload.value }\n },\n getters: {\n \n },\n actions: {\n async get(context, payload) {\n const v = await API.graphql(graphqlOperation(`query GetProduct($id: ID!) {\n getProduct(id: $id) {\n id\n url\n name\n popularity\n }\n }\n `, { id: payload.id }));\n \n context.commit('item', {value: v.data.getProduct });\n\n },\n \n async list(context, payload) {\n //console.dir(payload);\n const c = await API.graphql(graphqlOperation(`\n query productsByDomainPopularity(\n $domainID: ID\n $popularity: ModelIntKeyConditionInput\n $sortDirection: ModelSortDirection\n $filter: ModelProductFilterInput\n $limit: Int\n $nextToken: String\n ) {\n productsByDomainPopularity(\n domainID: $domainID\n popularity: $popularity\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n url\n name\n popularity\n }\n nextToken\n }\n }\n `, payload ));\n context.commit('list', {value: c.data.productsByDomainPopularity.items, append: true });\n context.commit('nextToken', {value: c.data.productsByDomainPopularity.nextToken });\n },\n\n }\n}","import { API, graphqlOperation, Storage } from 'aws-amplify';\n//import unlayer from '@/util/unlayer-options';\n\nconst getPreview = (template) => {\n let t = null;\n if(typeof(template) === 'string') {\n t = JSON.parse(template);\n } else {\n t = template;\n }\n if(!t) {\n return null;\n }\n let p = t.HtmlPart;\n //console.debug('Getting campaign preview...', p);\n p = p.replace(/{{ ?PRODUCT_IMAGE_?C?[a-z0-9-]{0,40}_\\d+ ?}}/gi, 'https://via.placeholder.com/200x200?text=PRODUCT+IMAGE');\n p = p.replace(/\"\"/gi, '');\n return p;\n}\n\nconst prepareCampaignForSave = (f) => {\n if(f.segment) {\n f.segment = JSON.stringify(f.segment);\n }\n if(f.evaluationPeriod) {\n f.evaluationPeriod = JSON.stringify(f.evaluationPeriod);\n }\n if(f.schedule) {\n f.schedule = JSON.stringify(f.schedule);\n }\n if(f.templateUnlayer) {\n f.templateUnlayer = JSON.stringify(f.templateUnlayer);\n }\n if(f.templateSES) {\n f.templateSES = JSON.stringify(f.templateSES);\n }\n \n if(f.utm?.campaign) {\n f.utm.campaign = encodeURIComponent(f.utm.campaign);\n }\n return f;\n}\n\nexport default {\n namespaced:true,\n state: {\n entity: 'Campaign',\n list: null,\n item: null,\n preview: null,\n nextToken: null,\n stateOrdering: ['INCOMPLETE', 'WAITING', 'COMPUTING', 'SENDING', 'COMPLETED', 'DISABLED'],\n existingDesigns: null,\n itemStats: null,\n statsCache: {}\n },\n mutations: {\n list: (state, payload) => { state.list = payload.append ? (state.list || []).concat(payload.value) : payload.value },\n item: (state, payload) => { state.item = payload.value },\n preview: (state, payload) => { state.preview = payload.value },\n nextToken: (state, payload) => { state.nextToken = payload.value },\n loadRecipients: (state, payload) => { Object.assign(state.item, payload) },\n existingDesigns: (state, payload) => {state.existingDesigns = payload.append ? (state.existingDesigns || []).concat(payload.value) : payload.value},\n itemStats: (state, payload) => { state.itemStats = payload },\n statsCache: (state, payload) => { state.statsCache[payload.id] = payload },\n },\n getters: {\n listAutomatic: (state) => state.list?.filter(c => c.scheduleType == 'AUTOMATIC'),\n listBtc: (state) => state.list?.filter(c => c.scheduleType == 'BACK_TO_CART'),\n listSwu: (state) => state.list?.filter(c => c.scheduleType == 'SMART_WARM_UP'),\n listWelcome: (state) => state.list?.filter(c => c.scheduleType == 'WELCOME'),\n listScheduled: (state) => state.list?.filter(c => c.scheduleType == 'SCHEDULED').sort((a,b)=> { \n let r = state.stateOrdering.findIndex(v => v == a.state) - state.stateOrdering.findIndex(v => v == b.state);\n // the same state\n if(!r && (a.schedule?.start == null || a.schedule.start > b.schedule?.start)) {\n r = -1;\n } else if(!r && (b.schedule?.start == null || a.schedule?.start < b.schedule.start)) {\n r = 1;\n }\n // the same schedule\n if(!r) {\n r = a.name.localeCompare(b.name);\n }\n return r;\n }),\n //itemStats: (state) => state.stats[state.item?.id]\n },\n actions: {\n async get(context, payload) {\n const q = await API.graphql(graphqlOperation( /* GraphQL */`\n query GetCampaign($id: ID!) {\n getCampaign(id: $id) {\n id\n domainID\n name\n medium\n state\n from\n friendlyFrom\n replyTo\n scheduleType\n schedule\n segmentationType\n segment\n priority\n force\n \n evaluationPeriod\n utm {\n source\n medium\n campaign\n }\n domain {\n dnsName\n currency\n firstDayOfWeek\n timezone\n }\n createdAt\n\n # legacy campaigns\n subjects\n templateSES\n templatePreview\n templateUnlayer\n textVersion\n templateSpecs { ...specs }\n templateSpecsNew { ...specs }\n templateSpecsCategories {\n productCategoryID\n specs { ...specs }\n }\n\n # campaign variants\n variants(limit: 1000) {\n items {\n id\n name\n subject\n active\n # used for summary stats\n templateSpecs {\n ...specs\n }\n templateSpecsNew {\n ...specs\n }\n templateSpecsCategories {\n productCategoryID\n specs {...specs }\n }\n }\n }\n }\n }\n\n fragment specs on TemplateRecommendationsSpecs {\n recommendationsCount\n name\n price\n image\n sale\n description\n originalPrice\n stripDescription\n defaultSale\n saleTemplate\n originalPriceTemplate\n }\n\n `, { id: payload.id }));\n let c = q.data.getCampaign;\n c.segment = JSON.parse(c.segment); \n c.evaluationPeriod = JSON.parse(c.evaluationPeriod); \n c.schedule = JSON.parse(c.schedule);\n c.templateUnlayer = JSON.parse(c.templateUnlayer);\n c.templateSES = JSON.parse(c.templateSES);\n c.variants = c.variants.items;\n if(c.utm?.campaign) {\n c.utm.campaign = decodeURIComponent(c.utm.campaign);\n }\n if(!payload.noStore) {\n context.commit('itemStats', null);\n context.commit('item', {value: c });\n context.commit('preview', {value: getPreview(c.templateSES || c.templatePreview) });\n }\n return c;\n },\n \n async list(context, payload) {\n const c = await API.graphql(graphqlOperation(/* GraphQL */`\n query CampaignsByDomainPriority(\n $domainID: ID\n $priority: ModelIntKeyConditionInput\n $sortDirection: ModelSortDirection\n $filter: ModelCampaignFilterInput\n $limit: Int\n $nextToken: String\n ) {\n campaignsByDomainPriority(\n domainID: $domainID\n priority: $priority\n sortDirection: $sortDirection\n filter: $filter\n limit: $limit\n nextToken: $nextToken\n ) {\n items {\n id\n name\n medium\n state\n scheduleType\n schedule\n segmentationType\n segment\n priority\n force\n evaluationPeriod\n subjects # why were they here? Anyway, now it is used to distinguish legacy campaigns\n createdAt\n updatedAt\n }\n nextToken\n }\n }\n `, payload ));\n let campaigns = c.data.campaignsByDomainPriority.items;\n campaigns.forEach(c => { c.segment = JSON.parse(c.segment); c.evaluationPeriod = JSON.parse(c.evaluationPeriod); c.schedule = JSON.parse(c.schedule) });\n context.commit('list', {value: campaigns, append: !!payload?.nextToken });\n context.commit('nextToken', {value: c.data.campaignsByDomainPriority.nextToken });\n if(context.state.nextToken) {\n await context.dispatch('list', { ...payload, nextToken: context.state.nextToken });\n }\n },\n\n async create(context, payload) {\n // get domain object from payload\n /* moved to variant */\n let specs = {\n recommendationsCount: 0,\n name: false,\n price: false,\n image: false,\n sale: false,\n description: false,\n originalPrice: false,\n saleTemplate: '-{}%',\n originalPriceTemplate: '{}',\n defaultSale: payload.domain.defaultSale || 0,\n stripDescription: 0\n }\n \n if(payload.fields.segment) {\n payload.fields.segment = JSON.stringify(payload.fields.segment);\n }\n let input = Object.assign({\n state: 'INCOMPLETE',\n domainID: payload.domain.id,\n //owner: payload.domain.owner, \n editors: [payload.domain.owner, ...(payload.domain.editors || [])],\n from: payload.domain.from,\n friendlyFrom: payload.domain.friendlyFrom,\n replyTo: payload.domain.replyTo,\n utm: {\n source: 'dreamroi',\n medium: 'email',\n campaign: encodeURIComponent(payload.fields.name)\n },\n /* moved to variants\n subjects: [],\n templateSpecs: specs,\n templateSpecsNew: {...specs},\n templateSpecsCategories: [],\n textVersion: true\n */\n templateSpecs: specs, // this is kept here because of the global saleTemplate, originalPrice template specs\n }, payload.fields);\n var r = await API.graphql(graphqlOperation(`\n mutation CreateCampaign(\n $input: CreateCampaignInput!\n $condition: ModelCampaignConditionInput\n ) {\n createCampaign(input: $input, condition: $condition) {\n id\n }\n }\n `, { input }));\n // creating the first variant\n let vinput = {\n active: false,\n name: 'A',\n campaignID: r.data.createCampaign.id,\n //owner: payload.domain.owner, \n editors: [payload.domain.owner, ...(payload.domain.editors || [])],\n templateSpecs: specs,\n templateSpecsNew: {...specs},\n templateSpecsCategories: [],\n };\n await API.graphql(graphqlOperation(`\n mutation CreateCampaignVariant(\n $input: CreateCampaignVariantInput!\n $condition: ModelCampaignVariantConditionInput\n ) {\n createCampaignVariant(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: vinput })); \n\n await context.dispatch('list', { domainID: payload.domain.id });\n return r.data.createCampaign;\n },\n\n async remove(context, payload) {\n let cr = context.state.list.find(c => c.id == payload.id);\n if(!cr.subjects?.length > 0) {\n // we have variants, delete them\n let variants = await API.graphql(graphqlOperation( /* GraphQL */`\n query GetCampaign($id: ID!) {\n getCampaign(id: $id) {\n # campaign variants\n variants(limit: 1000) {\n items {\n id\n }\n }\n }\n }\n `, { id: payload.id }));\n await Promise.all(variants.data.getCampaign.variants.items.map(v => API.graphql(graphqlOperation(`\n mutation DeleteCampaignVariant(\n $input: DeleteCampaignVariantInput!\n $condition: ModelCampaignVariantConditionInput\n ) {\n deleteCampaignVariant(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: { id: v.id } }))));\n }\n let r = await API.graphql(graphqlOperation(`\n mutation DeleteCampaign(\n $input: DeleteCampaignInput!\n $condition: ModelCampaignConditionInput\n ) {\n deleteCampaign(input: $input, condition: $condition) {\n id\n domainID\n }\n }\n `, { input: { id: payload.id } }));\n \n if(cr.scheduleType == 'AUTOMATIC' && cr.state == 'SENDING') {\n context.dispatch('updateDomain', { id: payload.id, domainID: r.data.updateCampaign.domainID });\n }\n await context.dispatch('list', { domainID: r.data.deleteCampaign.domainID });\n },\n\n async updateFields(context, payload) {\n let f = payload.fields;\n prepareCampaignForSave(f);\n let r = await API.graphql(graphqlOperation(`\n mutation UpdateCampaign(\n $input: UpdateCampaignInput!\n $condition: ModelCampaignConditionInput\n ) {\n updateCampaign(input: $input, condition: $condition) {\n id\n domainID\n }\n }\n `, { input: Object.assign({ id: context.state.item.id }, f )}));\n // update domain - campaignsUpdated if automatic\n if (f.state != context.state.item.state) {\n context.dispatch('updateDomain', { domainID: r.data.updateCampaign.domainID });\n await context.dispatch('list', { domainID: r.data.updateCampaign.domainID });\n }\n return context.dispatch('get', { id: context.state.item.id });\n //return r.data.updateDomain;\n },\n \n async updateCampaign(context, payload) {\n let r = await API.graphql(graphqlOperation(`\n mutation UpdateCampaign(\n $input: UpdateCampaignInput!\n $condition: ModelCampaignConditionInput\n ) {\n updateCampaign(input: $input, condition: $condition) {\n id\n domainID\n }\n }\n `, { input: payload }));\n // update domain - campaignsUpdated\n let cr = context.state.list.find(c => c.id == payload.id);\n if(cr.scheduleType == 'AUTOMATIC' && (payload.state || cr.state == 'SENDING')) {\n context.dispatch('updateDomain', { id: payload.id, domainID: r.data.updateCampaign.domainID });\n }\n await context.dispatch('list', { domainID: r.data.updateCampaign.domainID, sortDirection: 'DESC' });\n },\n\n async duplicate(context, payload) {\n let index = context.state.list.findIndex(c => c.id == payload.id);\n let priority = 0;\n let campaign = await context.dispatch('get', {id: context.state.list[index].id, noState: true}); \n let variants = campaign.variants;\n let editors = [payload.domain.owner, ...(payload.domain.editors || [])];\n if(campaign.scheduleType == 'AUTOMATIC') {\n let upperPriority = context.state.list[index].priority;\n let lowerPriority = context.state.list[index+1]?.priority || 0;\n priority = Math.ceil((upperPriority + lowerPriority) / 2);\n }\n let name = `${campaign.name} (${payload.localizedTitle || 'Copy'})`;\n let fieldsOverride = {\n name, \n priority,\n state: 'INCOMPLETE',\n editors,\n /*\n templateSpecs: {\n recommendationsCount: 0,\n name: false,\n price: false,\n image: false,\n sale: false,\n description: false,\n originalPrice: false,\n defaultSale: campaign.templateSpecs.defaultSale || 0,\n saleTemplate: campaign.templateSpecs.saleTemplate || '-{}%',\n originalPriceTemplate: campaign.templateSpecs.originalPriceTemplate || '{}',\n stripDescription: campaign.templateSpecs.stripDescription || 0\n },\n */\n };\n console.debug('fieldsOverride', fieldsOverride);\n Object.assign(campaign, fieldsOverride);\n delete(campaign.id);\n delete(campaign.domain);\n delete(campaign.templateSES);\n delete(campaign.createdAt);\n delete(campaign.schedule);\n delete(campaign.variants);\n prepareCampaignForSave(campaign);\n var r = await API.graphql(graphqlOperation(`\n mutation CreateCampaign(\n $input: CreateCampaignInput!\n $condition: ModelCampaignConditionInput\n ) {\n createCampaign(input: $input, condition: $condition) {\n id\n domainID\n }\n }\n `, { input: campaign }));\n // copy campaign variants\n if(variants) {\n // create SES templates? or force users to go through all the variants? that's probably easier\n await Promise.all(\n variants.map(v => (async () => {\n // get each variant id and obtain additional attributes - templateUnlayer\n let templates = await API.graphql(graphqlOperation( /* GraphQL */`\n query GetCampaignVariant($id: ID!) {\n getCampaignVariant(id: $id) { \n templateUnlayer\n templateSES\n templatePreview\n }\n }\n `, { id: v.id }));\n v = {...v, ...templates.data.getCampaignVariant, /*active: false, */ campaignID: r.data.createCampaign.id, editors };\n delete(v.id);\n if(v.templatePreview && !v.templateSES) {\n v.templateSES = v.templatePreview;\n }\n delete(v.templatePreview);\n await API.graphql(graphqlOperation(`\n mutation CreateCampaignVariant(\n $input: CreateCampaignVariantInput!\n $condition: ModelCampaignVariantConditionInput\n ) {\n createCampaignVariant(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: v }));\n })()\n ));\n \n\n }\n await context.dispatch('list', { domainID: r.data.createCampaign.domainID });\n return r.data.createCampaign;\n },\n\n async updateDomain(context,payload) {\n\n await API.graphql(graphqlOperation(`\n mutation UpdateDomain(\n $input: UpdateDomainInput!\n $condition: ModelDomainConditionInput\n ) {\n updateDomain(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: { id: payload.domainID, campaignsUpdated: new Date() } }));\n },\n\n async uploadAsset(context, payload) {\n var result = await Storage.put(`campaigns/${payload.campaign}/${payload.name}`, payload.file, {\n level: 'public',\n // HOWTO: https://github.com/aws-amplify/amplify-js/issues/960\n acl: 'public-read',\n contentType: payload.mime,\n // cache for a week\n cacheControl: 'public, max-age=15768000'\n });\n console.debug(result);\n /*\n return {\n data: [\n require('@/assets/product-image-placeholder.svg')\n ]\n }\n */\n //return `${result.key}`\n var url = await Storage.get(result.key);\n return url.substr(0, url.indexOf('?'));\n },\n async sendTestEmail(context, payload) {\n let r = await API.graphql(graphqlOperation(`\n mutation SendTestEmail($input: TestEmailInput!) {\n sendTestEmail(input: $input)\n }\n `, { input: payload }));\n return r.data.sendTestEmail;\n },\n\n async loadRecipients(context) {\n const q = await API.graphql(graphqlOperation(`\n query GetCampaign($id: ID!) {\n getCampaign(id: $id) {\n expectedRecipients\n }\n }\n `, { id: context.state.item.id }));\n let c = q.data.getCampaign;\n context.commit('loadRecipients', c);\n },\n\n async existingDesigns(context, payload) {\n // TODO add medium - email\n const c = await API.graphql(graphqlOperation(`\n query ExistingDesigns(\n $nextToken: String\n ) {\n listCampaigns(\n filter: {not: {and: {templatePreview: {attributeType: _null}, templateSES: {attributeType: _null}}}}\n nextToken: $nextToken\n ) {\n items {\n id\n name\n domain {\n name\n }\n state\n scheduleType\n templateSES\n templatePreview\n templateUnlayer\n }\n nextToken\n }\n }\n `, payload ));\n let campaigns = c.data.listCampaigns.items;\n campaigns.filter(c => !!c).forEach(c => { c.templateUnlayer = JSON.parse(c.templateUnlayer); c.preview = getPreview(c.templateSES || c.templatePreview); delete(c.templateSES); delete(c.templatePreview) });\n context.commit('existingDesigns', {value: campaigns.filter(c => !!c.preview), append: !!payload.nextToken });\n if(c.data.listCampaigns.nextToken) {\n await context.dispatch('existingDesigns', { nextToken: c.data.listCampaigns.nextToken });\n }\n },\n\n /*\n async getUnlayerPreview(context, payload) {\n \n let mt = {};\n Object.values(unlayer.mergeTags).forEach(v => mt[v.value] = v.sample);\n \n // TODO move to backend so API key is not available in source code (custom mutation or sestemplatehandler - but there is a need to provide merge tags, co custom mutation is probably better)\n const options = {\n method: 'POST',\n headers: {'Content-Type': 'application/json', 'Authorization': 'Basic ' + btoa(`xPXplkWPdWrpA12YditslGqTsxZLtRbwb1kpNgxhhA3Igfx6pAK3f5WN0G3GvxfN:`)},\n body: JSON.stringify({\n displayMode: 'email',\n design: payload.template,\n mergeTags: mt\n })\n };\n \n let response = await (await fetch('https://api.unlayer.com/v2/export/image', options)).json();\n console.debug('preview response', response);\n let url = response.data.url;\n\n },\n */\n async getStats(context, payload) {\n if(payload.allowCache) {\n if(context.state.statsCache[payload.id]?.updated.valueOf() > (Date.now() - 60 * 60 * 1000)) {\n context.commit('itemStats', context.state.statsCache[payload.id]);\n return context.state.statsCache[payload.id];\n }\n }\n \n let from = null;\n if(payload.period && payload.period != 'all') {\n \n let unit = payload.period[payload.period.length - 1];\n let amount = parseInt(payload.period.substring(0,payload.period.length - 1));\n //console.debug(`Has period ${payload.period} unit ${unit} amount ${amount}`);\n from = new Date();\n if(unit == 'd') {\n from.setDate(from.getDate() - (amount - 1));\n }\n if(unit == 'm') {\n from.setMonth(from.getMonth() - amount);\n }\n from.setHours(0,0,0,0);\n }\n console.debug(`Loading campaign stats from: ${from}`);\n //return;\n const q = await API.graphql(graphqlOperation(`\n query GetCampaign($id: ID!, $from: AWSDateTime) {\n getCampaign(id: $id) {\n stats(from: $from) {\n globalRates {\n clicked\n opened\n sent\n }\n heatmap {\n friday\n monday\n saturday\n sunday\n thursday\n tuesday\n wednesday\n }\n globalSales {\n sales\n orders\n }\n daySales {\n sales\n orders\n category\n }\n subjectRates {\n clicked\n opened\n sent\n category\n }\n variantRates {\n clicked\n opened\n sent\n category\n }\n dayRates {\n clicked\n opened\n sent\n category\n }\n unsubscribes\n }\n }\n }\n `, { id: payload.id, from: from }));\n let stats = { id: payload.id, data: q.data.getCampaign.stats, updated: new Date() };\n if(!payload.noStore) {\n context.commit('statsCache', stats);\n context.commit('itemStats', stats);\n }\n return stats;\n }\n }\n}","import { API, graphqlOperation } from 'aws-amplify';\n\nconst getPreview = (template) => {\n let t = null;\n if(typeof(template) === 'string') {\n t = JSON.parse(template);\n } else {\n t = template;\n }\n if(!t) {\n return null;\n }\n let p = t.HtmlPart;\n console.debug('Getting variant preview...')\n p = p.replace(/{{ ?PRODUCT_IMAGE_?C?[a-z0-9-]{0,40}\\d+ ?}}/gi, 'https://via.placeholder.com/200x200?text=PRODUCT+IMAGE');\n p = p.replace(/\"\"/gi, '');\n return p;\n }\n\nconst sortDesigns = (a,b) => {\n return a.campaign.name.localeCompare(b.campaign.name) || a.name.localeCompare(b.name);\n \n}\n\nexport default {\n namespaced: true,\n state: {\n entity: 'CampaignVariant',\n list: null,\n item: null,\n nextToken: null,\n existingDesigns: null,\n preview: null\n },\n mutations: {\n list: (state, payload) => { state.list = payload.append ? (state.list || []).concat(payload.value) : payload.value },\n item: (state, payload) => { state.item = payload.value },\n preview: (state, payload) => { state.preview = payload.value },\n nextToken: (state, payload) => { state.nextToken = payload.value },\n existingDesigns: (state, payload) => {state.existingDesigns = (payload.append ? (state.existingDesigns || []).concat(payload.value) : payload.value).sort(sortDesigns)},\n },\n getters: {\n },\n actions: {\n async get(context, payload) {\n const q = await API.graphql(graphqlOperation( /* GraphQL */`\n query GetCampaignVariant($id: ID!) {\n getCampaignVariant(id: $id) {\n id\n campaignID\n name\n active\n subject\n templateSES\n templatePreview\n templateUnlayer\n templateSpecs { ...specs }\n templateSpecsNew { ...specs }\n templateSpecsCategories {\n productCategoryID\n specs { ...specs }\n }\n }\n }\n\n fragment specs on TemplateRecommendationsSpecs {\n recommendationsCount\n name\n price\n image\n sale\n description\n originalPrice\n stripDescription\n defaultSale\n saleTemplate\n originalPriceTemplate\n }\n\n `, { id: payload.id }));\n let v = q.data.getCampaignVariant;\n \n v.templateUnlayer = JSON.parse(v.templateUnlayer);\n v.templateSES = JSON.parse(v.templateSES);\n v.preview = getPreview(v.templateSES || v.templatePreview)\n if(!payload.noStore) {\n context.commit('item', {value: v });\n // this is probably never used\n context.commit('preview', {value: v.preview });\n }\n return v;\n },\n \n\n // not used yet\n async list(context, payload) {\n const v = await API.graphql(graphqlOperation(/* GraphQL */`\n query CampaignsVariants(\n $campaignID: ID\n $nextToken: String\n ) {\n campaignVariantsByCampaignName(\n campaignID: $campaignID\n sortDirection: ASC\n limit: 1000\n nextToken: $nextToken\n ) {\n items {\n id\n name\n active\n subject\n templateSES\n templatePreview # just load it, optimize later...\n }\n nextToken\n }\n }\n `, payload ));\n let variants = v.data.campaignVariantsByCampaignName.items;\n variants.forEach(v => v.preview = getPreview(v.templateSES || v.templatePreview))\n context.commit('list', {value: variants, append: !!payload?.nextToken });\n context.commit('nextToken', {value: v.data.campaignVariantsByCampaignName.nextToken });\n if(context.state.nextToken) {\n await context.dispatch('list', { ...payload, nextToken: context.state.nextToken });\n }\n },\n\n async create(context, payload) {\n console.debug('variants/create payload', payload);\n // get domain object from payload\n \n // copy global settings from campaign\n let specs = {...payload.campaign.templateSpecs}; \n \n let name = String.fromCharCode(payload.campaign.variants[payload.campaign.variants.length - 1].name.charCodeAt(0) + 1);\n let input = Object.assign({\n active: false,\n name,\n campaignID: payload.campaign.id,\n //owner: payload.domain.owner, \n editors: [payload.domain.owner, ...(payload.domain.editors || [])],\n templateSpecs: specs,\n templateSpecsNew: {...specs},\n templateSpecsCategories: [],\n }, payload.fields);\n var r = await API.graphql(graphqlOperation(`\n mutation CreateCampaignVariant(\n $input: CreateCampaignVariantInput!\n $condition: ModelCampaignVariantConditionInput\n ) {\n createCampaignVariant(input: $input, condition: $condition) {\n id\n }\n }\n `, { input }));\n await context.dispatch('list', { campaignID: payload.campaign.id });\n return r.data.createCampaignVariant;\n },\n\n async updateFields(context, payload) {\n let f = payload.fields;\n \n if(f.templateUnlayer) {\n f.templateUnlayer = JSON.stringify(f.templateUnlayer);\n }\n \n if(f.templateSES) {\n f.templateSES = JSON.stringify(f.templateSES);\n }\n\n await API.graphql(graphqlOperation(`\n mutation UpdateCampaignVariant(\n $input: UpdateCampaignVariantInput!\n $condition: ModelCampaignVariantConditionInput\n ) {\n updateCampaignVariant(input: $input, condition: $condition) {\n id\n campaignID\n }\n }\n `, { input: Object.assign({ id: context.state.item.id }, f )}));\n \n return context.dispatch('get', { id: context.state.item.id });\n //return r.data.updateDomain;\n },\n\n async updateVariant(context, payload) {\n \n if(payload.templateUnlayer) {\n payload.templateUnlayer = JSON.stringify(payload.templateUnlayer);\n }\n \n if(payload.templateSES) {\n payload.templateSES = JSON.stringify(payload.templateSES);\n }\n\n let r = await API.graphql(graphqlOperation(`\n mutation UpdateCampaignVariant(\n $input: UpdateCampaignVariantInput!\n $condition: ModelCampaignVariantConditionInput\n ) {\n updateCampaignVariant(input: $input, condition: $condition) {\n id\n campaignID\n }\n }\n `, { input: payload}));\n \n //return context.dispatch('get', { id: context.state.item.id });\n return r.data.updateCampaignVariant;\n },\n\n async existingDesigns(context, payload) {\n // TODO filter is not working - maybe it is needed to creatwe the attributes with the null walue for this to work\n // filtered agian below\n const c = await API.graphql(graphqlOperation(/* GraphQL */ `\n query ExistingDesignsV($nextToken: String) {\n listCampaignVariants(filter: {not: {and: {templatePreview: {attributeType: _null}, templateSES: {attributeType: _null}}}}, nextToken: $nextToken) {\n items {\n id\n name\n campaign {\n name\n state\n scheduleType\n domain {\n name\n createdAt\n }\n }\n templateSES\n templatePreview\n }\n nextToken\n }\n }\n \n `, payload ));\n let campaigns = c.data.listCampaignVariants.items;\n campaigns.filter(c => !!c).forEach(c => { c.preview = getPreview(c.templateSES || c.templatePreview); delete(c.templateSES); delete(c.templatePreview) });\n context.commit('existingDesigns', {value: campaigns.filter(c => c.preview), append: !!payload.nextToken });\n if(c.data.listCampaignVariants.nextToken) {\n await context.dispatch('existingDesigns', { nextToken: c.data.listCampaignVariants.nextToken });\n }\n },\n }\n}","import { API, graphqlOperation } from 'aws-amplify';\n\nexport default {\n namespaced: true,\n state: {\n tags: [],\n visitorsCache: {}\n },\n mutations: {\n tags: (state, payload) => { state.tags = payload.value },\n loadVisitors: (state, payload) => { state.visitorsCache = Object.assign(state.visitorsCache, payload)},\n },\n actions: {\n\n async listTags(context, payload) {\n console.debug('Store loading tags...');\n if(!payload.domainID) {\n console.error('Domain is not provided in payload')\n return;\n }\n const t = await API.graphql(graphqlOperation(/* GraphQL */ `query GetDomain($id: ID!) {\n getDomain(id: $id) {\n tags(limit: 1000) {\n items {\n id\n name\n }\n nextToken\n }\n }\n }`, { id: payload.domainID }));\n \n if(t.data.getDomain.tags.nextToken) {\n console.warn('Not all tags are loaded!');\n }\n console.debug('tags response', t);\n const isSelected = (t) => {\n if(Array.isArray(payload.selected)) {\n return !!payload.selected.find(s => s.id == t.id);\n } else {\n return payload.selected == t.id;\n }\n };\n let items = t.data.getDomain.tags.items.map(t => ({...t, selected: isSelected(t) }));\n \n context.commit('tags', {value: items });\n },\n\n async loadVisitors(context, payload) {\n const q = await API.graphql(graphqlOperation(`\n query GetTag($id: ID!) {\n getTag(id: $id) {\n id\n visitorCount\n }\n }\n `, { id: payload.id }));\n let r = q.data.getTag;\n context.commit('loadVisitors', { [r.id]: r.visitorCount });\n },\n }\n}","import { API, graphqlOperation } from 'aws-amplify';\n\nexport default {\n namespaced: true,\n state: {\n list: null,\n item: null,\n nextToken: null\n },\n mutations: {\n list: (state, payload) =>{ state.list = payload.append ? (state.list || []).concat(payload.value) : payload.value },\n item: (state, payload) => { state.item = payload.value },\n nextToken: (state, payload) => { state.nextToken = payload.value },\n },\n actions: {\n async list(context, payload) {\n const f = await API.graphql(graphqlOperation(/* GraphQL */ `\n query ($domainID: ID!) {\n leadFormsByDomainName(domainID: $domainID) {\n items {\n id\n name\n tagID\n }\n nextToken\n }\n }`, payload));\n \n let items = f.data.leadFormsByDomainName.items;\n \n context.commit('list', {value: items, append: !!payload?.nextToken });\n context.commit('nextToken', {value: f.data.leadFormsByDomainName.nextToken });\n if(context.state.nextToken) {\n await context.dispatch('list', { ...payload, nextToken: context.state.nextToken });\n }\n },\n\n async get(context, payload) {\n const f = await API.graphql(graphqlOperation(/* GraphQL */ `\n query GetForm($id: ID!) {\n getLeadForm(id: $id) {\n id\n name\n tag {\n id\n name\n }\n optinFriendlyFrom\n optinFrom\n optinReplyTo\n optinEmail {\n buttonColor\n buttonText\n heading\n logo\n text\n title\n }\n optinRedirect\n optinPage {\n heading\n logo\n text\n title\n }\n \n thxRedirect\n thxPage {\n heading\n logo\n text\n title\n }\n config\n }\n }`, { id: payload.id }));\n context.commit('item', { value: f.data.getLeadForm });\n },\n\n async create(context, payload) {\n let tag = await API.graphql(graphqlOperation(`\n mutation CreateLeadForm(\n $input: CreateLeadFormInput!\n ) {\n createLeadForm(input: $input) {\n id\n name\n }\n }\n `, { input: { name: payload.name,\n tagID: payload.tag, \n domainID: payload.domain.id,\n optinFriendlyFrom: payload.domain.friendlyFrom,\n optinFrom: payload.domain.from,\n optinReplyTo: payload.domain.replyTo, \n editors: [payload.domain.owner, ...(payload.domain.editors || [])],\n }}));\n await context.dispatch('list', { domainID: payload.domain.id });\n return tag.data.createLeadForm;\n },\n\n async updateFields(context, payload) {\n await API.graphql(graphqlOperation(`\n mutation UpdateLeadForm(\n $input: UpdateLeadFormInput!\n $condition: ModelLeadFormConditionInput\n ) {\n updateLeadForm(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: Object.assign({ id: context.state.item.id }, payload.fields )}));\n return context.dispatch('get', { id: context.state.item.id });\n //return r.data.updateDomain;\n },\n }\n}","import { API, graphqlOperation, Storage } from 'aws-amplify';\n//import unlayer from '@/util/unlayer-options';\n\nexport default {\n namespaced:true,\n state: {\n entity: 'NewsletterTemplate',\n list: null,\n listDirty: false,\n item: null,\n nextToken: null,\n previewImage: null,\n publicOnly: null,\n },\n mutations: {\n list: (state, payload) => { state.list = payload.append ? (state.list || []).concat(payload.value) : payload.value; state.list.sort((a,b) => a.order - b.order) },\n listDirty: (state, payload) => { state.listDirty = payload.value },\n item: (state, payload) => { state.item = payload.value },\n nextToken: (state, payload) => { state.nextToken = payload.value },\n publicOnly: (state, payload) => {state.publicOnly = payload.value }\n },\n getters: {\n },\n actions: {\n \n async get(context, payload) {\n const c = await API.graphql(graphqlOperation(`query GetNewsletterTemplate($id: ID!) {\n getNewsletterTemplate(id: $id) {\n id\n name\n public\n unlayerData\n preview\n order\n }}\n `, { id: payload.id }));\n \n let nst = c.data.getNewsletterTemplate;\n if(nst.grapesJSData) {\n nst.grapesJSData = JSON.parse(nst.grapesJSData);\n }\n if(nst.unlayerData) {\n nst.unlayerData = JSON.parse(nst.unlayerData);\n }\n if(nst.preview) {\n nst.preview = await Storage.get(nst.preview);\n }\n if(!payload.noState) {\n context.commit('item', {value: nst });\n }\n return nst;\n },\n \n async list(context, payload) {\n let filter = null; \n if(payload?.public) {\n filter = { public: { eq: true } };\n }\n const c = await API.graphql(graphqlOperation(`\n query ListNewsletterTemplates(\n $filter: ModelNewsletterTemplateFilterInput\n $limit: Int\n $nextToken: String\n ) {\n listNewsletterTemplates(filter: $filter, limit: $limit, nextToken: $nextToken) {\n items {\n id\n name\n public\n preview\n order\n }\n nextToken\n }\n }\n `, { filter, nextToken: payload?.nextToken, limit: 100 }));\n\n let items = c.data.listNewsletterTemplates.items;\n for(let i = 0; i < items.length; i++) {\n let item = items[i];\n if(item.preview) {\n item.preview = await Storage.get(item.preview);\n }\n }\n context.commit('list', {value: items, append: !!payload?.nextToken });\n context.commit('listDirty', {value: false});\n context.commit('publicOnly', {value: payload?.public || false });\n context.commit('nextToken', {value: c.data.listNewsletterTemplates.nextToken });\n if(context.state.nextToken) {\n await context.dispatch('list', {public: payload?.public, nextToken: context.state.nextToken });\n }\n },\n\n async create(context, payload) {\n var reqparams = {\n public: false\n }\n Object.assign(payload, reqparams);\n var r = await API.graphql(graphqlOperation(`\n mutation CreateNewsletterTemplate(\n $input: CreateNewsletterTemplateInput!\n $condition: ModelNewsletterTemplateConditionInput\n ) {\n createNewsletterTemplate(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: payload}));\n context.commit('listDirty', {value: true});\n return r.data.createNewsletterTemplate;\n },\n \n async duplicate(context, payload) {\n let t = await context.dispatch('get', { id: payload.id, noState: true });\n delete(t.id);\n delete(t.preview);\n delete(t.order);\n t.name += ` (${payload.localizedTitle || 'Copy'})`;\n if(t.unlayerData) {\n t.unlayerData = JSON.stringify(t.unlayerData);\n }\n return await context.dispatch('create', t);\n },\n\n async updateFields(context, payload) {\n if(payload.fields.grapesJSData) {\n payload.fields.grapesJSData = JSON.stringify(payload.fields.grapesJSData);\n }\n if(payload.fields.unlayerData) {\n payload.fields.unlayerData = JSON.stringify(payload.fields.unlayerData);\n }\n await API.graphql(graphqlOperation(`\n mutation UpdateNewsletterTemplate(\n $input: UpdateNewsletterTemplateInput!\n $condition: ModelNewsletterTemplateConditionInput\n ) {\n updateNewsletterTemplate(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: Object.assign({ id: context.state.item.id }, payload.fields )}));\n context.commit('listDirty', {value: true});\n return await context.dispatch('get', { id: context.state.item.id });\n //return r.data.updateDomain;\n },\n\n async remove(context, payload) {\n await API.graphql(graphqlOperation(`\n mutation DeleteNewsletterTemplate(\n $input: DeleteNewsletterTemplateInput!\n $condition: ModelNewsletterTemplateConditionInput\n ) {\n deleteNewsletterTemplate(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: { id: payload.id } }));\n await context.dispatch('list');\n //return r.data.updateDomain;\n },\n\n async uploadPreview(context, payload) {\n //console.dir(payload);\n let segments = payload.file.name.split('.');\n let ext = segments[segments.length-1]; \n var result = await Storage.put(`campaigns/common/template-${context.state.item.id}-preview.${ext}`, payload.content ?? payload.file, {\n level: 'public',\n acl: 'public-read',\n contentType: payload.file.type,\n // cache for a long time\n cacheControl: 'public, max-age=15768000'\n });\n return result.key;\n },\n\n /*\n async getUnlayerPreview(context, payload) {\n \n let mt = {};\n Object.values(unlayer.mergeTags).forEach(v => mt[v.value] = v.sample);\n\n // TODO move to backend so API key is not available in source code (add to ses template handler?)\n const options = {\n method: 'POST',\n headers: {'Content-Type': 'application/json', 'Authorization': 'Basic ' + btoa(`xPXplkWPdWrpA12YditslGqTsxZLtRbwb1kpNgxhhA3Igfx6pAK3f5WN0G3GvxfN:`)},\n body: JSON.stringify({\n displayMode: 'email',\n design: payload.template,\n mergeTags: mt\n })\n };\n \n let response = await (await fetch('https://api.unlayer.com/v2/export/image', options)).json();\n console.debug('preview response', response);\n return response.data.url;\n },\n */\n async getS3Link(context, payload) {\n var url = await Storage.get(payload.key);\n return url.substr(0, url.indexOf('?'));\n }\n }\n}","import { API, graphqlOperation, Auth } from 'aws-amplify';\n\nexport default {\n namespaced:true,\n state: {\n user: null,\n authState: null\n },\n mutations: {\n user: (state, payload) => { state.user = payload.value },\n authState: (state, payload) => { state.authState = payload.value }\n },\n getters: {\n email: (state) => state.user ? state.user.attributes.email : null,\n isHelpdesk: (state) => state.user?.signInUserSession?.accessToken && Array.isArray(state.user.signInUserSession.accessToken.payload[\"cognito:groups\"]) ? state.user.signInUserSession.accessToken.payload[\"cognito:groups\"].includes('helpdesk') : false,\n isOwner: (state) => (payload) => {\n if(!state.user || !payload.item) {\n return false;\n }\n return state.user.username == payload.item.owner;\n }\n },\n actions: {\n generateSecret: {\n root: true,\n handler() {\n var m = Math.random();\n var n = Math.random();\n return `${btoa(m)}${btoa(m+n)}${btoa(n)}`;\n }\n },\n\n getAccessToken: async(context,payload) => {\n const c = await API.graphql(graphqlOperation(`query Get${payload.entity}($id: ID!, $editors: [String!]!) {\n get${payload.entity}(id: $id) {\n accessRightsToken(editors: $editors)\n }}\n `, { id: payload.id, editors: payload.editors }));\n \n return c.data[`get${payload.entity}`].accessRightsToken;\n },\n\n requestAccess: async(context,payload) => {\n const c = await API.graphql(graphqlOperation(`mutation GetAccess($token: String!) {\n requestAccess(token:$token)\n }`, { token: payload.token }));\n \n return c.data.requestAccess;\n },\n revokeAccess: async(context,payload) => {\n const c = await API.graphql(graphqlOperation(`mutation RevokeAccess($input: RevokeAccessInput!) {\n revokeAccess(input:$input)\n }`, { input: payload }));\n \n return c.data.revokeAccess;\n },\n signOut: async() => {\n try {\n await Auth.signOut();\n } catch (error) {\n console.error('error signing out: ', error);\n }\n },\n\n createACContact: async(context, payload) => {\n await API.graphql(graphqlOperation(`mutation CreateContact($input:ACCreateContactInput!) {\n ACCreateContact(input: $input)\n }`, { input: payload }));\n },\n\n changePassword: async (context, payload) => {\n let user = await Auth.currentAuthenticatedUser();\n console.debug('authenticated user', user);\n let result = await Auth.changePassword(user, payload.oldPassword, payload.newPassword);\n return result;\n }\n }\n}","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n \"aws_project_region\": \"eu-central-1\",\n \"aws_cloud_logic_custom\": [\n {\n \"name\": \"dreamroipixel\",\n \"endpoint\": \"https://818afnx723.execute-api.eu-central-1.amazonaws.com/production\",\n \"region\": \"eu-central-1\"\n },\n {\n \"name\": \"dreamroishopifyauthorizer\",\n \"endpoint\": \"https://hen78jhl5d.execute-api.eu-central-1.amazonaws.com/production\",\n \"region\": \"eu-central-1\"\n },\n {\n \"name\": \"dreamroistripeapi\",\n \"endpoint\": \"https://v1o3y9h870.execute-api.eu-central-1.amazonaws.com/production\",\n \"region\": \"eu-central-1\"\n },\n {\n \"name\": \"dreamroitrackerapi\",\n \"endpoint\": \"https://tiezvnm91h.execute-api.eu-central-1.amazonaws.com/production\",\n \"region\": \"eu-central-1\"\n }\n ],\n \"aws_appsync_graphqlEndpoint\": \"https://ximqbyxhqvfddlb3kqukg6a7uu.appsync-api.eu-central-1.amazonaws.com/graphql\",\n \"aws_appsync_region\": \"eu-central-1\",\n \"aws_appsync_authenticationType\": \"AMAZON_COGNITO_USER_POOLS\",\n \"aws_cognito_identity_pool_id\": \"eu-central-1:e8ecf032-f557-47d6-b0b1-52f9dd55263c\",\n \"aws_cognito_region\": \"eu-central-1\",\n \"aws_user_pools_id\": \"eu-central-1_yt8jVAfmn\",\n \"aws_user_pools_web_client_id\": \"2aker026vrhck4s6giednjpkqk\",\n \"oauth\": {},\n \"aws_cognito_username_attributes\": [\n \"EMAIL\"\n ],\n \"aws_cognito_social_providers\": [],\n \"aws_cognito_signup_attributes\": [\n \"PHONE_NUMBER\"\n ],\n \"aws_cognito_mfa_configuration\": \"OFF\",\n \"aws_cognito_mfa_types\": [\n \"SMS\"\n ],\n \"aws_cognito_password_protection_settings\": {\n \"passwordPolicyMinLength\": 8,\n \"passwordPolicyCharacters\": []\n },\n \"aws_cognito_verification_mechanisms\": [\n \"EMAIL\"\n ],\n \"aws_content_delivery_bucket\": \"dreamroifrontend-production\",\n \"aws_content_delivery_bucket_region\": \"eu-central-1\",\n \"aws_content_delivery_url\": \"https://deh3ivoznayyq.cloudfront.net\",\n \"aws_user_files_s3_bucket\": \"dreamroirecommenderproductmedia231118-production\",\n \"aws_user_files_s3_bucket_region\": \"eu-central-1\"\n};\n\n\nexport default awsmobile;\n","import awsconfig from '@/aws-exports';\nimport {getLang} from '@/locale'\n\nexport default {\n namespaced:true,\n state: {\n locale: getLang(),\n drawer: null,\n drawerHidden: null,\n notification: false,\n notificationData: { error: false,\n text: 'Operation finished sucessfully',\n },\n wizard: false,\n savedDrawerState: null,\n wizards: {\n company: [\n { title: 'companies.wizard.create', route: 'add-company' },\n { title: 'companies.wizard.business', route: 'business' },\n { title: 'companies.wizard.project', route: 'domains' }\n ],\n domain: [\n { title: 'domains.wizard.basic', route: 'add-domain' },\n { title: 'domains.wizard.feeds', route: 'feeds' },\n { title: 'domains.wizard.tracking', route: 'tracking-dynamic', stepMatchRegex: /tracking/ },\n //{ title: 'webboxes.title', route: 'webboxes', stepMatchRegex: /webboxes/ },\n { title: 'mailing.title', route: 'mailing' },\n { title: 'integrations.title', optional: true, route: 'integrations' },\n { title: 'domains.wizard.review', route: 'domain-overview' }\n ],\n campaign: [\n { title: 'campaigns.wizard.type', route: 'add-campaign' },\n { title: 'campaigns.wizard.contacts', route: 'campaign-segment', editable: true },\n { title: 'campaigns.wizard.setup', route: 'campaign-setup-dynamic', stepMatchRegex: /campaign-setup/, editable: true },\n { title: 'campaigns.wizard.design', route: 'campaign-design-dynamic', stepMatchRegex: /campaign-design/, editable: true },\n { title: 'campaigns.wizard.summary', route: 'campaign-summary-dynamic', stepMatchRegex: /campaign-summary/, editable: true },\n { title: 'campaigns.wizard.start', route: true, editable: true },\n ]\n },\n wizardEntryPoints: {\n company: 'companies',\n domain: 'domains',\n campaign: 'domain-dashboard'\n },\n \n dynamicEntryPoint: null,\n lastEditableStep: null\n },\n mutations: {\n drawer: (state, payload) => { state.drawer = payload.value },\n locale: (state, payload) => { state.locale = payload.value },\n wizard: (state, payload) => { \n if(payload.value == state.wizard) {\n // do not overwrite saved drawer state etc.\n return;\n }\n state.wizard = payload.value; \n /* not working in some situations */\n if(state.wizard && !payload.keepDrawer) {\n state.savedDrawerState = state.drawer;\n state.drawer = false;\n state.drawerHidden = true; \n } else if(state.drawerHidden) {\n // if state was null, drawer was not initialized yet - open it\n state.drawer = state.savedDrawerState == null ? true : state.savedDrawerState;\n state.drawerHidden = null;\n state.lastEditableStep = null;\n }\n },\n lastEditableStep: (state, payload) => { state.lastEditableStep = payload.value },\n dynamicEntryPoint: (state, payload) => {state.dynamicEntryPoint = payload.value },\n notification: (state, payload) => { state.notification = payload.value },\n notificationData: (state, payload) => { state.notificationData = payload.value },\n },\n getters: {\n baseUrl: () => process.env.VUE_APP_PUBLIC_URL || awsconfig[\"aws_content_delivery_url\"],\n mediaUrl: () => `${awsconfig['aws_user_files_s3_bucket']}.s3.${awsconfig['aws_user_files_s3_bucket_region']}.amazonaws.com`, //http://dreamroirecommenderproductmedia125240-dev.s3.eu-central-1.amazonaws.com/products/932f9ce9-2efb-4966-85ef-0708333ca030/9b16293a-cf85-4327-8f55-b448fb921419.jpg\n pixelUrl: () => `${awsconfig['aws_cloud_logic_custom'].find(api => api.name == 'dreamroipixel').endpoint}/pixel/message/{{ MESSAGE_ID }}/pixel.png`,\n trackerUrl: () => `${awsconfig['aws_cloud_logic_custom'].find(api => api.name == 'dreamroitrackerapi').endpoint}`,\n shopifyUrl: () => process.env.VUE_APP_SHOPIFY_STORE_URL,\n shopifyBoxesVideoOS2: () => `https://www.youtube.com/embed/${process.env.VUE_APP_SHOPIFY_BOXES_VIDEO_OS2}`,\n step: (state) => (r) => {\n var cs = state.wizards.company.findIndex(s => s.route == r || (s.stepMatchRegex && s.stepMatchRegex.test(r)));\n if (cs!=-1) {\n return cs;\n } \n var ds = state.wizards.domain.findIndex(s => s.route == r || (s.stepMatchRegex && s.stepMatchRegex.test(r)));\n if(ds != -1) {\n return ds;\n }\n return state.wizards.campaign.findIndex(s => s.route == r || (s.stepMatchRegex && s.stepMatchRegex.test(r)));\n },\n wizardType: (state) => (r) => {\n return Object.keys(state.wizards).find(wt => state.wizards[wt].some(s => s.route == r || (s.stepMatchRegex && s.stepMatchRegex.test(r))));\n },\n wizardEntryPoint: (state, getters) => (r) => {\n return { name: state.dynamicEntryPoint || state.wizardEntryPoints[getters.wizardType(r)] };\n },\n nextStep: (state, getters) => (r) => {\n var s = getters.step(r);\n var wt = getters.wizardType(r);\n if(s == state.wizards[wt].length - 1) {\n // this is the last step of the wizard\n // return getters.wizardEntryPoint(r);\n return null;\n }\n return state.wizards[wt][s+1].route;\n }\n },\n actions: {\n notify(context, payload) {\n context.commit('notificationData', { value: payload });\n context.commit('notification', { value: true });\n }\n }\n}","import { API, graphqlOperation, Storage, Auth } from 'aws-amplify';\n\nexport default {\n namespaced:true,\n state: {\n key: null,\n domain: null,\n stats: null,\n uploadProgress: 0,\n job: null,\n type: null\n },\n mutations: {\n key: (state, payload) => { state.key = payload.value },\n domain: (state, payload) => { state.domain = payload.value },\n stats: (state, payload) => { state.stats = payload.value },\n uploadProgress: (state, payload) => { state.uploadProgress = payload.value },\n job: (state, payload) => { state.job = payload.value },\n type: (state, payload) => { state.type = payload.value}\n },\n getters: {\n \n },\n actions: {\n async uploadFile(context, payload) {\n // todo get filename?\n context.commit('domain', { value: payload.domain });\n var s3result = await Storage.put(`${payload.type}/${payload.domain}/${Date.now()}.csv`, payload.file, {\n level: 'private',\n contentType: payload.mime,\n progressCallback(progress) {\n console.debug(`Uploaded: ${progress.loaded}/${progress.total}`);\n context.commit('uploadProgress', { value: Math.max(95, progress.loaded/(progress.total / 100))});\n },\n });\n //console.dir(s3result);\n const credentials = await Auth.currentUserCredentials();\n //console.dir(credentials);\n // the files are saved to dirs for each user\n // https://docs.amplify.aws/lib/storage/configureaccess/q/platform/js\n let key = `private/${credentials.identityId}/${s3result.key}`;\n context.commit('key', { value: { full: key, original: s3result.key } });\n context.commit('type', { value: payload.type });\n if(payload.type == 'contacts' || payload.type == 'delete') {\n const gqresult = await API.graphql(graphqlOperation(`\n query AnalyzeFile($input: ImportJobInput!) {\n analyzeCustomerImportFile(input: $input) {\n rows\n emails\n file\n }\n }\n `, { input: { domainID: payload.domain, key}}));\n context.commit('stats', { value: gqresult.data.analyzeCustomerImportFile });\n } else if(payload.type == 'orders') {\n const gqresult = await API.graphql(graphqlOperation(`\n query AnalyzeFile($input: ImportJobInput!) {\n analyzeOrderImportFile(input: $input) {\n orders\n total\n emails\n from\n to\n file\n }\n }\n `, { input: { domainID: payload.domain, key}}));\n context.commit('stats', { value: gqresult.data.analyzeOrderImportFile });\n } \n \n context.commit('uploadProgress', { value: 100 });\n \n return true;\n },\n\n async createJob(context, payload) {\n let q = 'createCustomerImportJob';\n if(context.state.type == 'orders') {\n q = 'createOrderImportJob';\n }\n if(context.state.type =='delete') {\n q = 'createCustomerDeletionJob';\n }\n const result = await API.graphql(graphqlOperation(`\n mutation CreateJob($input: ImportJobInput!) {\n ${q}(input: $input) {\n progress\n timestamp\n data\n result\n }\n }\n `, { input: { domainID: context.state.domain, key: context.state.key.full, file: context.state.stats.file, tags: payload.tags/*?.map(t => t.id)*/, config: JSON.stringify(payload.config) }}));\n let job = result.data[q];\n if(job.data) {\n job.data = JSON.parse(job.data);\n }\n context.commit('job', { value: job });\n return context.state.job;\n },\n\n async updateJob(context) {\n const result = await API.graphql(graphqlOperation(`\n query GetJob($id: ID!) {\n getDomain(id: $id) {\n jobStatus {\n progress\n timestamp\n data\n result \n }\n }\n }\n `, { id: context.state.domain }));\n let job = result.data.getDomain.jobStatus;\n if(job.data) {\n job.data = JSON.parse(job.data);\n }\n context.commit('job', { value: job });\n return context.state.job;\n },\n\n async reset(context) {\n context.commit('domain', {value: null});\n context.commit('stats', {value: null});\n context.commit('job', {value: null});\n context.commit('uploadProgress', {value: 0});\n if(context.state.key) {\n await Storage.remove(context.state.key.original, { level: 'private' });\n }\n context.commit('key', {value: null});\n },\n\n async unsubscribe(context, payload) {\n const result = await API.graphql(graphqlOperation(`\n mutation ($domainId: ID! , $email: String!) {\n deleteCustomer(input: {domainID: $domainId, email: $email})\n }\n \n `, payload ));\n return result.data.deleteCustomer;\n }\n }\n}","import { API, graphqlOperation } from 'aws-amplify';\n\nexport default {\n namespaced:true,\n state: {\n dlist: null,\n clist: null,\n rclist: null,\n dnextToken: null,\n cnextToken: null,\n },\n mutations: {\n dlist: (state, payload) => { state.dlist = payload.append ? (state.dlist || []).concat(payload.value) : payload.value },\n clist: (state, payload) => { state.clist = payload.append ? (state.clist || []).concat(payload.value) : payload.value },\n rclist: (state, payload) => { state.rclist = payload.append ? (state.rclist || []).concat(payload.value) : payload.value },\n dnextToken: (state, payload) => { state.dnextToken = payload.value },\n cnextToken: (state, payload) => { state.dnextToken = payload.value }\n },\n getters: {\n },\n actions: {\n async list(context) {\n await Promise.all([context.dispatch('clist'),context.dispatch('dlist')]);\n },\n async dlist(context, payload) {\n var filter = payload?.companyId ? { companyID: { eq : payload.companyId } } : null;\n //console.dir(filter);\n const c = await API.graphql(graphqlOperation(`\n query ListDomains(\n $filter: ModelDomainFilterInput\n $limit: Int\n $nextToken: String\n ) {\n listDomains(filter: $filter, limit: $limit, nextToken: $nextToken) {\n items {\n id\n createdAt\n name\n platform\n productsUpdated\n leadscoresUpdated\n eventsPurged\n recommendationsUpdated\n bounces\n complaints\n active\n companyID\n stats {\n monthlyUsers\n products\n dreamroiSales\n }\n capabilities {\n allow\n feed\n tracker\n viewProduct\n signIn\n purchase\n #showBox\n addToCart\n dkim\n spf\n linkDomain\n #orders\n }\n ordersImported\n contactsImported\n totalEmailRecipients\n }\n nextToken\n }\n }\n `, { filter, nextToken: payload?.nextToken }));\n context.commit('dlist', {value: c.data.listDomains.items, append: !!payload?.nextToken });\n context.commit('dnextToken', {value: c.data.listDomains.nextToken });\n if(context.state.dnextToken) {\n await context.dispatch('dlist', { nextToken: context.state.dnextToken });\n }\n },\n\n async clist(context, payload) {\n var filter = null;\n //console.dir(filter);\n const c = await API.graphql(graphqlOperation(`\n query ListCompanies(\n $filter: ModelCompanyFilterInput\n $limit: Int\n $nextToken: String\n ) {\n listCompanys(filter: $filter, limit: $limit, nextToken: $nextToken) {\n items {\n id\n email\n phone\n name\n active\n activeSubscription {\n from\n to\n monthlyUserLimit\n }\n stats {\n monthlyUsers\n dreamroiSales\n }\n hasManualInvoicing\n hasStripeSubscription\n }\n nextToken\n }\n }\n `, { filter, nextToken: payload?.nextToken }));\n context.commit('clist', {value: c.data.listCompanys.items, append: !!payload?.nextToken });\n context.commit('cnextToken', {value: c.data.listCompanys.nextToken });\n if(context.state.cnextToken) {\n await context.dispatch('clist', { nextToken: context.state.cnextToken });\n }\n },\n\n async updateDomain(context, payload) {\n await API.graphql(graphqlOperation(`\n mutation UpdateDomain(\n $input: UpdateDomainInput!\n $condition: ModelDomainConditionInput\n ) {\n updateDomain(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: payload }));\n //return context.dispatch('list');\n //return r.data.updateDomain;\n },\n\n async updateCompany(context, payload) {\n await API.graphql(graphqlOperation(`\n mutation UpdateCompany(\n $input: UpdateCompanyInput!\n $condition: ModelCompanyConditionInput\n ) {\n updateCompany(input: $input, condition: $condition) {\n id\n }\n }\n `, { input: payload }));\n //return context.dispatch('list');\n //return r.data.updateDomain;\n },\n\n async getRunningCampaigns(context, payload) {\n let q = /* GraphQL */ `\n query RunningCampaigns($nextToken: String, $scheduleType: CamapaignScheduleType!, $state: String) {\n campaignsByScheduleTypeState(limit: 1000, nextToken: $nextToken, scheduleType: $scheduleType, state: {eq: $state}) {\n nextToken\n items {\n id\n schedule\n scheduleType\n name\n domain {\n id\n companyID\n name\n }\n state\n dailyStats(limit: 1, sortDirection: DESC) {\n items {\n sent\n date\n }\n }\n messages(limit: 1, sortDirection: DESC) {\n items {\n sent\n visitor {\n email\n }\n email\n }\n }\n }\n }\n }\n `;\n let append = !!payload?.queries || payload?.append;\n let queries = payload?.queries ?? {\n 'SCHEDULED': null,\n 'AUTOMATIC': null,\n 'BACK_TO_CART': null,\n 'SMART_WARM_UP': null,\n 'WELCOME': null\n };\n let promises = Object.entries(queries).map(([scheduleType, nextToken]) => API.graphql(graphqlOperation(q, { scheduleType, nextToken, state: payload?.state ?? 'SENDING' })));\n let results = await Promise.all(promises);\n\n let qarr = Object.keys(queries);\n let nq = false;\n results.forEach((r,i) => { \n nq = nq || r.data.campaignsByScheduleTypeState.nextToken; \n queries[qarr[i]] = r.data.campaignsByScheduleTypeState.nextToken; \n context.commit('rclist', {value: r.data.campaignsByScheduleTypeState.items, append: append || i > 0 });\n });\n if(nq) {\n /*eslint-disable no-unused-vars*/\n await context.dispatch('getRunningCampaigns', { queries: Object.fromEntries(Object.entries(queries).filter(([_k,v]) => !!v)), state: payload?.state });\n /*eslint-enable no-unused-vars */\n }\n }\n }\n}","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport companies from './companies'\nimport domains from './domains'\nimport visitors from './visitors'\nimport products from './products'\nimport campaigns from './campaigns'\nimport variants from './variants'\nimport contacts from './contacts'\nimport forms from './forms'\nimport nstemplates from './newsletter-templates'\nimport auth from './auth'\nimport ui from './ui'\nimport imports from './imports'\nimport helpdesk from './helpdesk'\n\n\nVue.use(Vuex)\n\n\n\nexport default new Vuex.Store({\n state: {\n },\n mutations: {\n },\n actions: {\n },\n modules: {\n auth,\n ui,\n companies,\n domains,\n visitors,\n products,\n campaigns,\n contacts,\n forms,\n imports,\n nstemplates,\n helpdesk,\n variants\n }\n})\n","// All strings:\n// https://github.com/aws-amplify/amplify-js/blob/main/packages/amplify-ui-components/src/common/Translations.ts\n\nexport default {\n 'cs': {\n 'Sign in to your account': 'Přihlašte se do svého účtu',\n 'Email Address *': 'E-mailová adresa *',\n 'Enter your email address': 'Zadejte svůj e-mail',\n 'Enter your Username': 'Zadejte svůj e-mail',\n 'Enter your password': 'Zadejte své heslo',\n 'Enter your code': 'Vložte Váš kód',\n 'User is not confirmed.': 'Účet není potvrzen',\n 'Sign in': 'Přihlásit se',\n 'Sign In': 'Přihlásit se',\n 'Password *': 'Heslo *',\n 'Password': 'Heslo',\n 'Phone Number *': 'Telefon',\n 'No account?': 'Nemáte ještě účet?',\n 'Create a new account': 'Vytvořit nový účet',\n 'Forgot your password?': 'Zapomněli jste své heslo?',\n 'Reset password': 'Obnovit heslo',\n 'New password': 'Nové heslo',\n 'Name': 'Jméno',\n 'Have an account?': 'Máte už účet?',\n 'Create account': 'Vytvořit',\n 'Create Account': 'Vytvořit účet',\n 'Reset your password': 'Obnovit zapomenuté heslo',\n 'Back to Sign In': 'Zpět na přihlášení',\n 'Send code': 'Poslat kód',\n 'Send Code': 'Poslat kód',\n 'User does not exist.': 'Uživatel neexistuje nebo heslo není platné.',\n 'Confirm Sign up': 'Potvrdit přihlášení',\n 'Confirmation code': 'Potvrzovací kód (byl Vám zaslán na e-mail)',\n 'Confirmation Code': 'Potvrzovací kód (byl Vám zaslán na e-mail)',\n 'Lost your code?': 'Kód Vám nedorazil?',\n 'Resend Code': 'Znovu zaslat',\n 'Confirm': 'Potvrdit',\n 'Incorrect username or password.': 'Neplatné jméno nebo heslo.',\n 'Password did not conform with policy: Password not long enough': 'Heslo nesplňuje požadavky: Nedostatečně dlouhé',\n 'An account with the given email already exists.': 'Účet s tímto e-mailem už existuje.',\n 'Enter code': 'Vložte kód z e-mailu',\n 'Enter your new password': 'Vložte nové heslo'\n }\n};","/* RegExp to find localization messages in source files to generate the file: */\n// \\$t\\('[\\w\\d.\\]+', ?\\{[\\w :',]+\\}? ?\\) ?/\\* ?[\\w \\{\\}']+ ?\\*/\n\nimport Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport { I18n } from 'aws-amplify';\nimport { messages, getLang, dateTimeFormats } from '@/locale'\nimport amplifyDict from '@/locale/amplify'\n\n\nI18n.putVocabularies(amplifyDict);\n\nVue.use(VueI18n)\n\nexport default new VueI18n({\n locale: getLang(), // set locale\n fallbackLocale: 'en',\n messages, // set locale messages\n dateTimeFormats,\n pluralizationRules: {\n 'cs': function(choice /*, choicesLength */) {\n // produkt | produkty | produktů \n if(choice == 1) {\n return 0;\n }\n if(choice > 1 && choice < 5) {\n return 1;\n } else {\n return 2;\n }\n }\n }\n })\n","import { mdiAccountMultiplePlusOutline, mdiCheckBold, mdiCloseThick, mdiExclamationThick, mdiCreditCardClockOutline,\n mdiSyncOff, mdiDeleteOutline, mdiTableArrowRight, mdiArrowUpBoldOutline, mdiViewDashboardOutline, mdiAccountGroupOutline,\n mdiStarOutline, mdiAt, mdiEmailSendOutline, mdiChartBoxOutline, mdiLockOutline, mdiAccountGroup,mdiStoreOutline,mdiCalendarStar,\n mdiCalendarRefresh, mdiAccount, mdiPlus, mdiCartOutline, mdiCreditCardOutline, mdiDomain, mdiCogOutline, mdiCheckOutline, mdiCloseOutline,\n mdiHome, mdiContentSaveOutline, mdiHelp, mdiFormTextbox, mdiCash, mdiMapClockOutline, mdiSync, mdiAsterisk, mdiEyeOutline, \n mdiLogin, mdiCloudTags, mdiCartCheck, mdiContentCopy, mdiMapMarker, mdiEarth, mdiApplication, mdiFacebook, mdiGoogleAnalytics, mdiGoogleAds,\n mdiAlphaSCircle,\n mdiChevronUp,\n mdiChevronDown,\n mdiCurrencyEur,\n mdiImage,\n mdiCard,\n mdiMagnify,\n mdiFormatTitle,\n mdiInbox,\n mdiCog,\n mdiCogs,\n mdiCheckboxBlankCircle,\n mdiLinkLock,\n mdiHomeCityOutline,\n mdiOfficeBuildingMarkerOutline,\n mdiMailboxOutline,\n mdiAccountOutline,\n mdiChevronRight,\n mdiOpenInNew,\n mdiPound,\n mdiFormatListNumbered,\n mdiUpload,\n mdiSale,\n mdiFormatAlignLeft,\n mdiFormatAlignRight,\n mdiFormatAlignCenter,\n mdiFormatAlignJustify,\n mdiFormatBold,\n mdiFormatItalic,\n mdiFormatUnderline,\n mdiChevronLeft,\n mdiEraser,\n mdiArrowVerticalLock,\n mdiArrowHorizontalLock,\n mdiPercentOutline,\n mdiChevronDoubleDown,\n mdiWeb,\n mdiCursorDefaultClickOutline,\n mdiUpdate,\n mdiEmailNewsletter,\n mdiLockOpenOutline,\n mdiCalendarClockOutline,\n mdiCalendarCursor,\n mdiCalendarStart,\n mdiCalendarEnd,\n mdiImageMultipleOutline,\n mdiCurrencyUsd,\n mdiPauseOctagonOutline,\n mdiCheckboxMarkedCircleOutline,\n mdiCheckboxBlankCircleOutline,\n mdiNumeric1,\n mdiNumeric2,\n mdiNumeric3,\n mdiNumeric4,\n mdiNumeric5,\n mdiNumeric6,\n mdiNumeric7,\n mdiNumeric8,\n mdiNumeric9,\n mdiNumeric0,\n mdiArrowExpandUp,\n mdiArrowExpandDown,\n mdiCalendar,\n mdiClockOutline,\n mdiEmailSyncOutline,\n mdiDiamondStone,\n mdiSendClockOutline,\n mdiUnfoldMoreHorizontal,\n mdiBellOutline,\n mdiFormatListCheckbox,\n mdiFormTextboxPassword,\n mdiLogout,\n mdiEye,\n mdiEyeOff,\n mdiFormatListChecks,\n mdiArrowTopRight,\n mdiArrowBottomRight,\n mdiArchiveOutline,\n mdiThermometerHigh,\n mdiThermometer,\n mdiThermometerLow,\n mdiCodeBraces,\n mdiEmailMultipleOutline,\n mdiEmailRemoveOutline,\n mdiReceipt,\n mdiNumeric,\n mdiCancel,\n mdiMinus,\n mdiPhone,\n mdiTranslate,\n mdiTab,\n mdiText,\n mdiFire,\n mdiCookieCheckOutline,\n mdiCodeTags,\n mdiEmailFastOutline,\n mdiHumanGreeting,\n mdiTagOutline,\n mdiProtocol,\n mdiAccountMultipleRemoveOutline,\n mdiAccountRemoveOutline,\n mdiPalette,\n mdiChatQuestion,\n mdiDotsVertical,\n mdiAbTesting,\n mdiTagTextOutline,\n mdiAlphaABox,\n mdiAlphaBBox,\n mdiAlphaCBox,\n mdiAlphaDBox,\n mdiAlphaEBox,\n mdiAlphaFBox,\n mdiAlphaGBox,\n mdiAlphaHBox,\n mdiAlphaIBox,\n mdiAlphaJBox,\n mdiAlphaKBox,\n mdiAlphaMBox,\n mdiAlphaNBox,\n mdiAlphaOBox,\n mdiAlphaPBox,\n mdiAlphaQBox,\n mdiAlphaRBox,\n mdiAlphaSBox,\n mdiAlphaTBox,\n mdiAlphaUBox,\n mdiAlphaVBox,\n mdiAlphaWBox,\n mdiAlphaXBox,\n mdiAlphaYBox,\n mdiAlphaZBox\n} from '@mdi/js';\n\n\nexport default {\n importCustomers: mdiAccountMultiplePlusOutline,\n add: mdiPlus,\n up: mdiArrowUpBoldOutline,\n ok: mdiCheckBold,\n nok: mdiCloseThick,\n ok_outline: mdiCheckOutline,\n nok_outline: mdiCloseOutline,\n warn: mdiExclamationThick,\n paymentDue: mdiCreditCardClockOutline,\n active: mdiSync,\n inactive: mdiSyncOff,\n purged: mdiDeleteOutline,\n feed: mdiTableArrowRight,\n dashboard: mdiViewDashboardOutline,\n tracking: mdiAccountGroupOutline,\n box: mdiStarOutline,\n mailing: mdiAt,\n campaign: mdiCurrencyUsd,\n stats: mdiChartBoxOutline,\n access: mdiLockOutline,\n visitors: mdiAccountGroup,\n productFeed: mdiCloudTags,\n recommendationsUpdate: mdiCalendarStar,\n productsUpdate: mdiCalendarRefresh,\n profile: mdiAccount,\n domain: mdiStoreOutline,\n cart: mdiCartOutline,\n billing: mdiCreditCardOutline,\n business: mdiDomain,\n settings: mdiCogOutline,\n company: mdiDomain,\n home: mdiHome,\n save: mdiContentSaveOutline,\n help: mdiHelp,\n name: mdiFormTextbox,\n currency: mdiCash,\n sales: mdiCash,\n timezone: mdiMapClockOutline,\n integrations: mdiSync,\n required: mdiAsterisk,\n optional: mdiHelp,\n view: mdiEyeOutline,\n signIn: mdiLogin,\n purchase: mdiCartCheck,\n copy: mdiContentCopy,\n address: mdiMapMarker,\n country: mdiEarth,\n plan: mdiAccountGroupOutline,\n subscription: mdiCreditCardClockOutline,\n platform: mdiApplication,\n fb: mdiFacebook,\n ganalytics: mdiGoogleAnalytics,\n gadwords: mdiGoogleAds,\n sklik: mdiAlphaSCircle,\n upList: mdiChevronUp,\n downList: mdiChevronDown,\n price: mdiCurrencyEur,\n image: mdiImage,\n button: mdiCard,\n description: mdiMagnify,\n title: mdiFormatTitle,\n empty: mdiInbox,\n advanced: mdiCogs,\n basic: mdiCog,\n colorPreview: mdiCheckboxBlankCircle,\n remove: mdiDeleteOutline,\n shareAccess: mdiLinkLock,\n send: mdiEmailSendOutline,\n street: mdiOfficeBuildingMarkerOutline,\n city: mdiHomeCityOutline,\n zip: mdiMailboxOutline,\n refresh: mdiSync,\n visitor: mdiAccountOutline,\n next: mdiChevronRight,\n openInNew: mdiOpenInNew,\n hash: mdiPound,\n rows: mdiFormatListNumbered,\n upload: mdiUpload,\n sale: mdiSale,\n textAlignLeft: mdiFormatAlignLeft,\n textAlignRight: mdiFormatAlignRight,\n textAlignCenter: mdiFormatAlignCenter,\n textAlignJustify: mdiFormatAlignJustify,\n textBold: mdiFormatBold,\n textItalic: mdiFormatItalic,\n textUnderline: mdiFormatUnderline,\n collapseLeft: mdiChevronLeft,\n expandRight: mdiChevronRight,\n setup: mdiCogs,\n settingsDark: mdiCog,\n clear: mdiEraser,\n lockVertical:mdiArrowVerticalLock,\n lockHorizontal:mdiArrowHorizontalLock,\n percent:mdiPercentOutline,\n extendDown:mdiChevronDoubleDown,\n dnsDomain: mdiWeb,\n dnsMailFrom: mdiEmailSendOutline,\n dnsTracking: mdiCursorDefaultClickOutline,\n pending: mdiUpdate,\n newsletterTemplate: mdiEmailNewsletter,\n locked: mdiLockOutline,\n unlocked: mdiLockOpenOutline,\n generate: mdiCogs,\n scheduled: mdiCalendarClockOutline,\n choose: mdiCheckOutline,\n selected: mdiCheckBold,\n rename: mdiFormTextbox,\n calendarChoose: mdiCalendarCursor,\n calendarFrom: mdiCalendarStart,\n calendarTo: mdiCalendarEnd,\n templateGallery: mdiImageMultipleOutline,\n pause: mdiPauseOctagonOutline,\n filterInactive: mdiCheckboxBlankCircleOutline,\n filterActive: mdiCheckboxMarkedCircleOutline,\n num1: mdiNumeric1,\n num2: mdiNumeric2,\n num3: mdiNumeric3,\n num4: mdiNumeric4,\n num5: mdiNumeric5,\n num6: mdiNumeric6,\n num7: mdiNumeric7,\n num8: mdiNumeric8,\n num9: mdiNumeric9,\n num0: mdiNumeric0,\n recommendation: mdiStarOutline,\n segmentFrom: mdiArrowExpandDown,\n segmentTo: mdiArrowExpandUp,\n segment: mdiAccountGroupOutline,\n date: mdiCalendar,\n time: mdiClockOutline,\n messageFrequency: mdiEmailSyncOutline,\n messageDelay: mdiSendClockOutline,\n premium: mdiDiamondStone,\n changePriority: mdiUnfoldMoreHorizontal,\n notifications: mdiBellOutline,\n password: mdiFormTextboxPassword,\n todo: mdiFormatListCheckbox,\n logout: mdiLogout,\n showPassword: mdiEye,\n hidePassword: mdiEyeOff,\n overview: mdiFormatListChecks,\n trendUp: mdiArrowTopRight,\n trendDown: mdiArrowBottomRight,\n archive: mdiArchiveOutline,\n leadscoreHot: mdiThermometerHigh,\n leadscoreWarm: mdiThermometer,\n leadscoreCold: mdiThermometerLow,\n json: mdiCodeBraces,\n refreshed: mdiUpdate,\n sentTotal: mdiEmailMultipleOutline,\n unsubscribed: mdiEmailRemoveOutline,\n importOrders: mdiReceipt,\n crNo: mdiNumeric,\n search: mdiMagnify,\n blocked: mdiCancel,\n helpdesk: mdiFormatListChecks,\n collapse: mdiChevronUp,\n //expand: mdiChevronDown,\n plus: mdiPlus,\n minus: mdiMinus,\n phone: mdiPhone,\n customizations: mdiTranslate,\n tab: mdiTab,\n heading:mdiFormatTitle,\n text:mdiText,\n swu:mdiFire,\n cookie: mdiCookieCheckOutline,\n trackingCode: mdiCodeTags,\n runningCampaigns: mdiEmailFastOutline,\n emailRecipients: mdiEmailFastOutline,\n welcome: mdiHumanGreeting,\n tag: mdiTagOutline,\n form: mdiFormTextbox,\n url: mdiProtocol,\n unsubscribeBatch: mdiAccountMultipleRemoveOutline,\n unsubscribe: mdiAccountRemoveOutline,\n color: mdiPalette,\n supportChat: mdiChatQuestion,\n menu: mdiDotsVertical,\n variants: mdiAbTesting,\n subject: mdiTagTextOutline,\n campaignVariantA: mdiAlphaABox,\n campaignVariantB: mdiAlphaBBox,\n campaignVariantC: mdiAlphaCBox,\n campaignVariantD: mdiAlphaDBox,\n campaignVariantE: mdiAlphaEBox,\n campaignVariantF: mdiAlphaFBox,\n campaignVariantG: mdiAlphaGBox,\n campaignVariantH: mdiAlphaHBox,\n campaignVariantI: mdiAlphaIBox,\n campaignVariantJ: mdiAlphaJBox,\n campaignVariantK: mdiAlphaKBox,\n campaignVariantM: mdiAlphaMBox,\n campaignVariantN: mdiAlphaNBox,\n campaignVariantO: mdiAlphaOBox,\n campaignVariantP: mdiAlphaPBox,\n campaignVariantQ: mdiAlphaQBox,\n campaignVariantR: mdiAlphaRBox,\n campaignVariantS: mdiAlphaSBox,\n campaignVariantT: mdiAlphaTBox,\n campaignVariantU: mdiAlphaUBox,\n campaignVariantV: mdiAlphaVBox,\n campaignVariantW: mdiAlphaWBox,\n campaignVariantX: mdiAlphaXBox,\n campaignVariantY: mdiAlphaYBox,\n campaignVariantZ: mdiAlphaZBox,\n\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar tooltip = ref.on;\nreturn [_c('v-btn',_vm._g(_vm._b({class:_vm.buttonClass,attrs:{\"to\":_vm.to,\"icon\":!_vm.fab && !_vm.noIconAttr,\"fab\":_vm.fab,\"light\":_vm.light,\"dark\":_vm.dark,\"exact\":!!_vm.to},on:{\"click\":function($event){return _vm.$emit('click')}}},'v-btn',_vm.$attrs,false),Object.assign({}, tooltip, _vm.activator)),[_c('v-icon',{attrs:{\"light\":_vm.light,\"dark\":_vm.dark}},[_vm._v(_vm._s(_vm.icon))])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActionButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ActionButton.vue?vue&type=template&id=07bb982f&\"\nimport script from \"./ActionButton.vue?vue&type=script&lang=js&\"\nexport * from \"./ActionButton.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"large\":_vm.large,\"x-large\":_vm.xLarge,\"small\":_vm.small,\"light\":_vm.light,\"dark\":_vm.dark,\"left\":_vm.left,\"right\":_vm.right,\"color\":_vm.color}},on),[_vm._v(_vm._s(_vm.icon))])]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipIcon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipIcon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TooltipIcon.vue?vue&type=template&id=2f05c857&\"\nimport script from \"./TooltipIcon.vue?vue&type=script&lang=js&\"\nexport * from \"./TooltipIcon.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VIcon,VTooltip})\n","export default {\n // global theme for the app\n globalTheme: 'light', // light | dark\n\n // side menu theme, use global theme or custom\n menuTheme: 'global', // global | light | dark\n\n // toolbar theme, use global theme or custom\n toolbarTheme: 'global', // global | light | dark\n\n // show toolbar detached from top\n isToolbarDetached: false,\n\n // wrap pages content with a max-width\n isContentBoxed: false,\n\n // application is right to left\n isRTL: false,\n\n // dark theme colors\n dark: {\n background: '#05090c',\n surface: '#111b27',\n primary: '#0096c7',\n secondary: '#829099',\n accent: '#82B1FF',\n error: '#FF5252',\n info: '#2196F3',\n success: '#4CAF50',\n warning: '#FFC107'\n },\n\n // light theme colors\n light: {\n background: '#ffffff',\n surface: '#f2f5f8',\n primary: '#0096c7',\n secondary: '#a0b9c8',\n accent: '#048ba8',\n error: '#ef476f',\n info: '#2196F3',\n success: '#06d6a0',\n warning: '#ffd166'\n }\n}\n","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib';\nimport Icons from './icons';\nimport ActionButton from '@/components/ActionButton'\n//import SidebarHelp from '@/components/SidebarHelp'\nimport TooltipIcon from '@/components/TooltipIcon'\n//import NextStepButton from '@/components/NextStepButton'\nimport ConfirmDialog from '@/components/ConfirmDialog'\nimport theme from './theme'\n\nimport * as directives from 'vuetify/lib/directives'\n\nVue.use(Vuetify, directives);\n\nVue.component('action-button', ActionButton);\n//Vue.component('sidebar-help', SidebarHelp);\nVue.component('tooltip-icon', TooltipIcon);\n//Vue.component('next-step-button', NextStepButton);\nVue.component('confirm-dialog', ConfirmDialog);\n\n// https://coolors.co/50514f-f25f5c-ffe066-247ba0-70c1b3\n\nexport default (i18n) => new Vuetify({\n lang: {\n t: (key, ...params) => i18n.t(key, params),\n }, \n icons: {\n iconfont: 'mdiSvg',\n values: Icons\n },\n /*\n theme: {\n options: { customProperties: true, variations: false },\n themes: {\n light: {\n primary: '#F25F5C',\n secondary: '#70C1B3',\n accent: '#247BA0',\n },\n },\n },\n */\n theme: {\n dark: theme.globalTheme === 'dark',\n options: {\n customProperties: true\n },\n themes: {\n dark: theme.dark,\n light: theme.light\n }\n },\n });\n","import Vue from 'vue';\nimport VueApexCharts from 'vue-apexcharts'\nVue.use(VueApexCharts)\n\nVue.component('apexchart', VueApexCharts)\n","\n\nimport Vue from 'vue'\nimport App from './App.vue'\n//import './registerServiceWorker'\nimport router from './router'\nimport store from './store'\n\nimport i18n from './plugins/i18n'\nimport vuetify from './plugins/vuetify'\n\n// LuxPro STYLES\n// Main Theme SCSS\nimport './assets/luxpro/scss/theme.scss'\n\n// Amplify UI custom styling\nimport './assets/amplify/style.css'\n\nimport '@aws-amplify/ui-vue';\nimport Amplify from 'aws-amplify';\nimport awsconfig from './aws-exports';\n\nimport VueClipboard from 'vue-clipboard2'\nimport VueGtm from '@gtm-support/vue2-gtm';\n\nimport './plugins/apexcharts'\n\n\nVue.use(VueClipboard)\n\n//console.debug(`Initiating GTAG with ID ${process.env.VUE_APP_GTAG}`);\nif(process.env.VUE_APP_GTAG && process.env.VUE_APP_GTAG != 'disable') {\nVue.use(VueGtm, {\n id: process.env.VUE_APP_GTAG, \n vueRouter: router\n});\n}\n\nAmplify.configure(awsconfig);\n\nVue.config.productionTip = false\n\nnew Vue({\n i18n,\n vuetify: vuetify(i18n),\n router,\n store,\n render: h => h(App)\n}).$mount('#app')\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FlagIcon.vue?vue&type=style&index=0&id=1582de78&lang=scss&scoped=true&\"","export default {\n computed: {\n drawer: {\n get() {\n return this.$store.state.ui.drawer;\n },\n set(value) {\n this.$store.commit('ui/drawer', { value });\n }\n }\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":_vm.$vuetify.breakpoint.mobile ? '100%' : '30%'},model:{value:(_vm.switchWarning),callback:function ($$v) {_vm.switchWarning=$$v},expression:\"switchWarning\"}},[_c('v-card',[_c('v-card-title',[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"warning\"}},[_vm._v(\"$warn\")]),_vm._v(\" \"+_vm._s(_vm.$t(_vm.title)))],1),_c('v-card-text',[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.$t('dialog.dangerous.text')))]})],2),_c('v-card-actions',[_c('v-btn',{attrs:{\"id\":\"pfid1618852432\",\"text\":_vm.buttonText,\"color\":_vm.buttonColor,\"loading\":_vm.saving},on:{\"click\":function($event){return _vm.$emit('confirm')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(_vm._s(_vm.buttonIcon))]),_vm._v(\" \"+_vm._s(_vm.$t(_vm.buttonCaption)))],1),_c('v-btn',{attrs:{\"id\":\"pfid1618852436\",\"text\":\"\"},on:{\"click\":function($event){_vm.switchWarning = false; _vm.$emit('cancel')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"$close\")]),_vm._v(_vm._s(_vm.$t('dialog.cancel')))],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=e1ab8bee&\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VIcon})\n","import Countries from 'i18n-iso-countries'\nimport { mapState } from 'vuex'\n\nexport default {\n data() {\n return {\n /*\n countries: [\n { text: 'Česko', value: 'CZE' },\n { text: 'European Union', value: 'EUR' },\n { text: 'United States of America', value: 'USA' },\n { text: 'Other', value: 'OTHER' },\n ]\n */\n }\n },\n computed: {\n countries() {\n return Object.entries(Countries.getNames(this.locale.substring(0,2), {select: \"official\"})).map(([k,v]) => ({ text: v, value: k}));\n },\n ...mapState('ui', ['locale'])\n },\n methods: {\n },\n created() {\n Countries.registerLocale(require(\"i18n-iso-countries/langs/en.json\"));\n Countries.registerLocale(require(\"i18n-iso-countries/langs/cs.json\"));\n //console.debug('countries', Countries.getNames(this.locale.substring(0,2), {select: \"official\"}))\n }\n}","import { formatPrice } from 'dreamroi-currencies';\n\nexport default {\n methods: {\n formatAddress({street, city, zip}) {\n return `${street || this.$t('common.notSet')}, ${city || this.$t('common.notSet')}, ${zip || this.$t('common.notSet')}`;\n },\n formatNumber(n, fixed) {\n if(!n) {\n return '0';\n }\n if(fixed != null) {\n return n.toFixed(fixed);\n }\n return n;\n // TODO use Numeral.js to format nubers according to locale\n },\n formatCurrency(c, sign) {\n /*\n switch(c) {\n case 'CZK':\n return `Kč (${c})`;\n case 'EUR':\n return `€ (${c})`;\n case 'USD':\n return `$ (${c})`;\n default:\n return c;\n }\n */\n let currency = this.$store.state.domains.currencies.find(cr => cr.value == c);\n return sign ? currency.sign : currency.text; \n },\n formatCurrencyAmount(value, currency, fixed) {\n /*\n let c = this.$store.state.domains.currencies.find(cr => cr.value == currency);\n if(c.format) {\n return c.format(value);\n }\n return `${this.formatNumber(value, fixed)} ${c.sign}`;\n */\n return formatPrice(currency, this.formatNumber(value, fixed));\n },\n\n isCurrencyPrefix(currency) {\n return typeof(this.$store.state.domains.currencies.find(cr => cr.value == currency)?.format) == 'function';\n },\n\n formatTimezone(tz) {\n //return `UTC${tz >= 0 ? '+' : ''}${tz/60}:00`\n return tz.replace(/_/g, ' ');\n },\n formatCountry(v) {\n if(!this.countries) {\n console.error('formatCountry: COUNTRIES MIXIN REQUIRED');\n return v;\n }\n return (this.countries.find(c => c.value == v))?.text;\n },\n formatDate(d, dateOnly, noValueText = this.$t('common.never')) {\n if(!d) {\n return noValueText;\n }\n if(typeof(d) === 'string' || typeof(d) === 'number') {\n d = new Date(d);\n }\n if(d.valueOf() == 0) {\n return noValueText;\n }\n //return dateOnly ? d.toLocaleDateString() : d.toLocaleString();\n return dateOnly ? this.$d(d, 'short') : this.$d(d, 'long');\n },\n formatBoolean(v) {\n return v ? this.$t('common.boolean.true') : this.$t('common.boolean.false');\n },\n getCampaignStateColor(state, type) {\n // INCOMPLETE, WAITING, COMPUTING, SENDING, COMPLETED, DISABLED\n if(!type) {\n type = this.type;\n }\n switch(state) {\n case 'INCOMPLETE': \n return 'orange';\n case 'WAITING': \n case 'COMPUTING':\n case 'SENDING':\n return ['SCHEDULED','SWU', 'SMART_WARM_UP'].includes(type?.toUpperCase()) ? 'blue' : 'green';\n case 'COMPLETED':\n return 'green';\n case 'DISABLED':\n return 'red';\n case 'ARCHIVED':\n return 'grey';\n }\n },\n getCampaignStateText(state) {\n \n let states = [{ title: this.$t('campaigns.state.incomplete'), value: 'INCOMPLETE' },\n { title: this.$t('campaigns.state.waiting'), value: 'WAITING' },\n { title: this.$t('campaigns.state.computing'), value: 'COMPUTING' },\n { title: this.$t('campaigns.state.sending'), value: 'SENDING' },\n { title: this.$t('campaigns.state.completed'), value: 'COMPLETED' },\n { title: this.$t('campaigns.state.paused'), value: 'DISABLED' },\n { title: this.$t('campaigns.state.archived'), value: 'ARCHIVED' }];\n return states.find(s => s.value == state)?.title;\n },\n formatPlatform(p) {\n if(!p) {\n return this.$t('common.platform.noPlatform');\n }\n switch(p) {\n case 'WOOCOMMERCE': return 'WooCommerce';\n case 'OTHER': return this.$t('common.platform.other');\n default: return `${p[0]}${p.substr(1).toLowerCase()}`;\n } \n },\n formatTimeWindow(window) {\n /*\n switch(window) {\n case '7d': return 'Last 7 days';\n case '14d': return 'Last 14 days';\n case '1m': return 'Last month';\n case '3m': return 'Last 3 months';\n case '6m': return 'Last 6 months';\n case '12m': return 'Last year';\n }\n */\n return this.$t(`common.periods.${window}`);\n },\n getVisitorsColor(visitors, limit) {\n if(!limit) {\n return null;\n }\n let ratio = visitors / limit;\n if(ratio < 0.8) {\n return 'green--text';\n } else if(ratio < 1) {\n return 'orange--text';\n } else {\n return 'red--text';\n }\n }\n }\n}","export default {\n data() {\n return {\n }\n },\n computed: {\n company() {\n return this.$route.params.company;\n },\n domain() {\n return this.$route.params.domain;\n },\n visitor() {\n return this.$route.params.visitor;\n },\n product(){\n return this.$route.params.product;\n },\n campaign() {\n return this.$route.params.campaign;\n },\n form() {\n return this.$route.params.form;\n },\n nstemplate() {\n return this.$route.params.nstemplate;\n },\n variant() {\n return this.$route.params.variant;\n },\n hasCompany (){\n return this.company != null;\n },\n breadcrumbs() {\n var b = [{ text: 'My companies', to: '/companies', icon: '$home', iconOnly: true, exact: true }];\n \n if(this.company) {\n var cn = this.$store.state.companies.item ? this.$store.state.companies.item.name : this.company;\n b.push({ text: cn, to: `/companies/${this.company}`, icon: '$company', exact: true })\n }\n if(this.domain) {\n var dn = this.$store.state.domains.item ? this.$store.state.domains.item.name : this.domain;\n b.push({ text: dn, to: `/companies/${this.company}/domains/${this.domain}`, icon: '$domain', exact: true })\n }\n \n if(this.campaign) {\n //b.push({text: 'Visitors', to: `/companies/${this.company}/domains/${this.domain}/stats/visitors`, exact: true })\n b.push({ text: `${this.$store.state.campaigns.item?.name ?? this.campaign}`, to: `/companies/${this.company}/domains/${this.domain}/campaigns/${this.campaign}`, icon: '$campaign', exact: false })\n }\n \n if(this.visitor) {\n //b.push({text: 'Visitors', to: `/companies/${this.company}/domains/${this.domain}/stats/visitors`, exact: true })\n b.push({ text: `Visitor ${this.visitor}`, to: `/companies/${this.company}/domains/${this.domain}/stats/visitors/${this.visitor}`, icon: '$visitor', exact: true })\n }\n b[b.length - 1].exact = false;\n return b;\n },\n baseurl() {\n var url = '';\n if(this.company) {\n url += '/companies/' + this.company;\n }\n if(this.domain) {\n url += '/domains/' + this.domain;\n }\n if(this.campaign) {\n url += '/campaigns/' + this.campaign;\n }\n //console.debug(url);\n return url;\n }\n },\n methods: {\n buildUrl(subpath) {\n //console.debug(`${this.baseurl}/${subpath}`);\n /*\n var url = '';\n if(this.company) {\n url += '/companies/' + this.company;\n }\n if(this.domain) {\n url += '/domains/' + this.domain;\n }\n */\n //console.debug(`${url}/${subpath}`);\n return `${this.baseurl}/${subpath}`;\n },\n },\n created() {\n }\n}","export default {\n computed: {\n status() {\n return this.getStatus(this.item);\n }\n },\n methods: {\n getStatus(item) {\n if(!item) {\n return {color: 'error', icon:'$warn', text: 'No project' };\n }\n switch(item.active) {\n case 'ACTIVE': return {color: 'success', icon: '$ok', text: this.$t('domains.status.active'), active: true };\n case 'INCOMPLETE': return {color: 'warning', icon: '$nok', text: this.$t('domains.status.incomplete')};\n case 'OVER_LIMIT': return {color: 'error', icon: '$warn', text: this.$t('domains.status.overLimit')};\n case 'PAYMENT_DUE': return {color: 'error', icon:'$paymentDue', text: this.$t('domains.status.paymentDue')};\n case 'CANCELLED': return {color: 'error', icon:'$inactive', text: this.$t('domains.status.cancelled')};\n case 'PURGED': return {color: 'error', icon:'$purged', text: this.$t('domains.status.purged')};\n case 'BLOCKED_AUTOMATIC': return {color: 'error', icon:'$blocked', text: this.$t('domains.status.blockedAutomatic')};\n case 'BLOCKED_MANUAL': return {color: 'error', icon:'$blocked', text: this.$t('domains.status.blockedManual')};\n case 'MARKED_FOR_PURGE': return {color: 'warning', icon:'$purged', text: this.$t('domains.status.markedForPurge')};\n default: return {color: 'error', icon:'$warn', text: item.active };\n }\n },\n isItemIncomplete(item) {\n return item?.active == 'INCOMPLETE';\n }\n }\n}"],"sourceRoot":""}