File: D:/HostingSpaces/SBogers10/shop.komma.nl/resources/js/app.js
/** ==========================================================================
* Import ES6 Modules (https://webpack.js.org/api/module-methods/)
* =========================================================================*/
// We first import Sentry and trigger it if the sentry dsn is defined
// Because then all errors are logged
import * as Sentry from '@sentry/browser';
if(window.sentry_dsn !== undefined) Sentry.init({ dsn: window.sentry_dsn });
import { ValidationService } from "./components/validationService";
import { AddressFormController } from "./components/addressFormController";
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
import { register as shopVueRegister, boot as shopVueBoot } from './shopVueRegistrations';
import { register as siteUsersVueRegister, boot as siteUsersVueBoot } from './siteUsers';
/** ==========================================================================
* Dependencies
* =========================================================================*/
/**
* External
*/
require('hammerjs');
require('objectFitPolyfill');
/**
* Global / Shared with KMS
*/
require('./global/polyfills/eventPolyFill');
require('./global/polyfills/isInteger');
require('./global/polyfills/promise');
/** ==========================================================================
* Global functionalities
* =========================================================================*/
require('./global/helpers'); // Should be first
require('./global/browserHandler');
// require('./global/pagetransitionHandler');
// require('./global/resizeHandler');
require('./global/scrollHandler');
/** ==========================================================================
* Component functionalities
* =========================================================================*/
require('./components/chocolateFactory');
require('./components/cookieHandler');
// require('./components/InputHandler');
require('./components/mapsHandler');
require('./components/overlayMenuHandler');
require('./components/projectorHandler');
require('./components/scrollToHandler');
// require('./components/searchHandler');
// require('./components/shareButtonsHandler');
require('./components/youtubeHandler');
/** ==========================================================================
* Shop Component functions
* =========================================================================*/
// const checkoutFormElement = document.querySelector('.js-checkout-form');
const addressForm = document.querySelector('.js-address-form');
if(addressForm) new AddressFormController(addressForm, new ValidationService());
//Create a Vuex store to centralize data for vue components.
let store = new Vuex.Store({ namespaced: true });
siteUsersVueBoot(store);
shopVueBoot(store);
siteUsersVueRegister(store);
shopVueRegister(store);