import Vue from 'vue';
import Vuex from 'vuex';

import TimeshareModule from './modules/timeshare/timeshare';
import UsersModule from './modules/users';
import StatusModule from './modules/timeshare/status';
import UnitConfigurationModule from './modules/timeshare/unitConfiguration';
import TimeshareBuyModule from './modules/timeshare/buyPage';
import SearchTabModule from './modules/searchTab';
import ResortModule from './modules/timeshare/resort';
import PropertyModule from './modules/property/property';
import WeekModule from './modules/timeshare/week';
import PropertyAdminModule from './modules/property/propertyAdmin';
import PropertyList from './modules/property/propertyLists';
import PropertyTypes from './modules/property/propertyTypes';
import Register from './modules/user/register';

Vue.use(Vuex);
/* eslint no-param-reassign: ["error", { "props": false }] */
export default new Vuex.Store({
  modules: {
    timeshare: TimeshareModule,
    users: UsersModule,
    status: StatusModule,
    unitConfiguration: UnitConfigurationModule,
    timeshareBuy: TimeshareBuyModule,
    searchTab: SearchTabModule,
    resort: ResortModule,
    property: PropertyModule,
    week: WeekModule,
    propertyAdmin: PropertyAdminModule,
    propertyList: PropertyList,
    propertyTypes: PropertyTypes,
    registerIndividual: Register,
    registerAgency: Register,
  },
});
