summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey V.Kosteltsev <AKosteltsev@IBS.RU>2022-06-09 18:07:17 +0300
committerAndrey V.Kosteltsev <AKosteltsev@IBS.RU>2022-06-21 13:25:19 +0300
commit25f4bac3f3ef5294980ac5389843b7b645d90304 (patch)
tree138159d60f8a0ac2214467339fb0b212bf3f0b6e
parentdb9c7f57aadf980dbfc462902689b5a0ab66c4e4 (diff)
downloadwebui-vue-25f4bac3f3ef5294980ac5389843b7b645d90304.tar.xz
IBS: env: fonts, styles, components, routers, store
-rw-r--r--src/env/assets/fonts/Inter/Inter-Black.woff2bin0 -> 105860 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-BlackItalic.woff2bin0 -> 111572 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-Bold.woff2bin0 -> 108176 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-BoldItalic.woff2bin0 -> 113768 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-ExtraBold.woff2bin0 -> 108392 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-ExtraBoldItalic.woff2bin0 -> 113760 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-ExtraLight.woff2bin0 -> 107360 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-ExtraLightItalic.woff2bin0 -> 113004 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-Italic.woff2bin0 -> 110428 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-Light.woff2bin0 -> 107560 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-LightItalic.woff2bin0 -> 112844 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-Medium.woff2bin0 -> 108116 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-MediumItalic.woff2bin0 -> 114304 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-Regular.woff2bin0 -> 104068 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-SemiBold.woff2bin0 -> 108300 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-SemiBoldItalic.woff2bin0 -> 113864 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-Thin.woff2bin0 -> 104572 bytes
-rw-r--r--src/env/assets/fonts/Inter/Inter-ThinItalic.woff2bin0 -> 110552 bytes
-rw-r--r--src/env/assets/styles/_ibs.scss42
-rw-r--r--src/env/components/AppNavigation/ibs.js182
-rw-r--r--src/env/router/ibs.js286
-rw-r--r--src/env/store/ibs.js10
22 files changed, 520 insertions, 0 deletions
diff --git a/src/env/assets/fonts/Inter/Inter-Black.woff2 b/src/env/assets/fonts/Inter/Inter-Black.woff2
new file mode 100644
index 00000000..0c0ce2a0
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-Black.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-BlackItalic.woff2 b/src/env/assets/fonts/Inter/Inter-BlackItalic.woff2
new file mode 100644
index 00000000..f8b95db3
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-BlackItalic.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-Bold.woff2 b/src/env/assets/fonts/Inter/Inter-Bold.woff2
new file mode 100644
index 00000000..0e3afead
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-Bold.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-BoldItalic.woff2 b/src/env/assets/fonts/Inter/Inter-BoldItalic.woff2
new file mode 100644
index 00000000..b222b218
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-BoldItalic.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-ExtraBold.woff2 b/src/env/assets/fonts/Inter/Inter-ExtraBold.woff2
new file mode 100644
index 00000000..6ae29e8e
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-ExtraBold.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-ExtraBoldItalic.woff2 b/src/env/assets/fonts/Inter/Inter-ExtraBoldItalic.woff2
new file mode 100644
index 00000000..90d7f7f9
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-ExtraBoldItalic.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-ExtraLight.woff2 b/src/env/assets/fonts/Inter/Inter-ExtraLight.woff2
new file mode 100644
index 00000000..e783e0db
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-ExtraLight.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-ExtraLightItalic.woff2 b/src/env/assets/fonts/Inter/Inter-ExtraLightItalic.woff2
new file mode 100644
index 00000000..807436e7
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-ExtraLightItalic.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-Italic.woff2 b/src/env/assets/fonts/Inter/Inter-Italic.woff2
new file mode 100644
index 00000000..180c134f
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-Italic.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-Light.woff2 b/src/env/assets/fonts/Inter/Inter-Light.woff2
new file mode 100644
index 00000000..06318982
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-Light.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-LightItalic.woff2 b/src/env/assets/fonts/Inter/Inter-LightItalic.woff2
new file mode 100644
index 00000000..923d3019
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-LightItalic.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-Medium.woff2 b/src/env/assets/fonts/Inter/Inter-Medium.woff2
new file mode 100644
index 00000000..4273a1b9
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-Medium.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-MediumItalic.woff2 b/src/env/assets/fonts/Inter/Inter-MediumItalic.woff2
new file mode 100644
index 00000000..ab1ae164
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-MediumItalic.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-Regular.woff2 b/src/env/assets/fonts/Inter/Inter-Regular.woff2
new file mode 100644
index 00000000..d65a1258
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-Regular.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-SemiBold.woff2 b/src/env/assets/fonts/Inter/Inter-SemiBold.woff2
new file mode 100644
index 00000000..0fbf61a3
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-SemiBold.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-SemiBoldItalic.woff2 b/src/env/assets/fonts/Inter/Inter-SemiBoldItalic.woff2
new file mode 100644
index 00000000..2121376f
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-SemiBoldItalic.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-Thin.woff2 b/src/env/assets/fonts/Inter/Inter-Thin.woff2
new file mode 100644
index 00000000..a74e113b
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-Thin.woff2
Binary files differ
diff --git a/src/env/assets/fonts/Inter/Inter-ThinItalic.woff2 b/src/env/assets/fonts/Inter/Inter-ThinItalic.woff2
new file mode 100644
index 00000000..3bb9d9a8
--- /dev/null
+++ b/src/env/assets/fonts/Inter/Inter-ThinItalic.woff2
Binary files differ
diff --git a/src/env/assets/styles/_ibs.scss b/src/env/assets/styles/_ibs.scss
new file mode 100644
index 00000000..81be70a5
--- /dev/null
+++ b/src/env/assets/styles/_ibs.scss
@@ -0,0 +1,42 @@
+@font-face {
+ font-family: 'Inter';
+ src: url('~@/env/assets/fonts/Inter/Inter-ExtraLight.woff2') format('woff2');
+ font-weight: 200;
+}
+@font-face {
+ font-family: 'Inter';
+ src: url('~@/env/assets/fonts/Inter/Inter-ExtraLightItalic.woff2') format('woff2');
+ font-weight: 200;
+ font-style: italic;
+}
+@font-face {
+ font-family: 'Inter';
+ src: url('~@/env/assets/fonts/Inter/Inter-Regular.woff2') format('woff2');
+ font-weight: 400;
+}
+@font-face {
+ font-family: 'Inter';
+ src: url('~@/env/assets/fonts/Inter/Inter-Italic.woff2') format('woff2');
+ font-weight: 400;
+ font-style: italic;
+}
+@font-face {
+ font-family: 'Inter';
+ src: url('~@/env/assets/fonts/Inter/Inter-Bold.woff2') format('woff2');
+ font-weight: 700;
+}
+@font-face {
+ font-family: 'Inter';
+ src: url('~@/env/assets/fonts/Inter/Inter-BoldItalic.woff2') format('woff2');
+ font-weight: 700;
+ font-style: italic;
+}
+
+// IBS uses Inter https://github.com/rsms/inter
+
+$font-family-base: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
+
+
+$dark: #1a3e5b;
+
+$navbar-color: $dark;
diff --git a/src/env/components/AppNavigation/ibs.js b/src/env/components/AppNavigation/ibs.js
new file mode 100644
index 00000000..bbbbb1ee
--- /dev/null
+++ b/src/env/components/AppNavigation/ibs.js
@@ -0,0 +1,182 @@
+import IconDashboard from '@carbon/icons-vue/es/dashboard/16';
+import IconTextLinkAnalysis from '@carbon/icons-vue/es/text-link--analysis/16';
+import IconDataCheck from '@carbon/icons-vue/es/data--check/16';
+import IconSettingsAdjust from '@carbon/icons-vue/es/settings--adjust/16';
+import IconSettings from '@carbon/icons-vue/es/settings/16';
+import IconSecurity from '@carbon/icons-vue/es/security/16';
+import IconChevronUp from '@carbon/icons-vue/es/chevron--up/16';
+import IconDataBase from '@carbon/icons-vue/es/data--base--alt/16';
+
+const AppNavigationMixin = {
+ components: {
+ iconOverview: IconDashboard,
+ iconLogs: IconTextLinkAnalysis,
+ iconHealth: IconDataCheck,
+ iconControl: IconSettingsAdjust,
+ iconSettings: IconSettings,
+ iconSecurityAndAccess: IconSecurity,
+ iconExpand: IconChevronUp,
+ iconResourceManagement: IconDataBase,
+ },
+ data() {
+ return {
+ navigationItems: [
+ {
+ id: 'overview',
+ label: this.$t('appNavigation.overview'),
+ route: '/',
+ icon: 'iconOverview',
+ },
+ {
+ id: 'logs',
+ label: this.$t('appNavigation.logs'),
+ icon: 'iconLogs',
+ children: [
+ {
+ id: 'event-logs',
+ label: this.$t('appNavigation.eventLogs'),
+ route: '/logs/event-logs',
+ },
+ {
+ id: 'post-code-logs',
+ label: this.$t('appNavigation.postCodeLogs'),
+ route: '/logs/post-code-logs',
+ },
+ ],
+ },
+ {
+ id: 'hardware-status',
+ label: this.$t('appNavigation.hardwareStatus'),
+ icon: 'iconHealth',
+ children: [
+ {
+ id: 'inventory',
+ label: this.$t('appNavigation.inventory'),
+ route: '/hardware-status/inventory',
+ },
+ {
+ id: 'sensors',
+ label: this.$t('appNavigation.sensors'),
+ route: '/hardware-status/sensors',
+ },
+ ],
+ },
+ {
+ id: 'operations',
+ label: this.$t('appNavigation.operations'),
+ icon: 'iconControl',
+ children: [
+ {
+ id: 'factory-reset',
+ label: this.$t('appNavigation.factoryReset'),
+ route: '/operations/factory-reset',
+ },
+ {
+ id: 'kvm',
+ label: this.$t('appNavigation.kvm'),
+ route: '/operations/kvm',
+ },
+ {
+ id: 'key-clear',
+ label: this.$t('appNavigation.keyClear'),
+ route: '/operations/key-clear',
+ },
+ {
+ id: 'firmware',
+ label: this.$t('appNavigation.firmware'),
+ route: '/operations/firmware',
+ },
+ {
+ id: 'reboot-bmc',
+ label: this.$t('appNavigation.rebootBmc'),
+ route: '/operations/reboot-bmc',
+ },
+ {
+ id: 'serial-over-lan',
+ label: this.$t('appNavigation.serialOverLan'),
+ route: '/operations/serial-over-lan',
+ },
+ {
+ id: 'server-power-operations',
+ label: this.$t('appNavigation.serverPowerOperations'),
+ route: '/operations/server-power-operations',
+ },
+ {
+ id: 'virtual-media',
+ label: this.$t('appNavigation.virtualMedia'),
+ route: '/operations/virtual-media',
+ },
+ ],
+ },
+ {
+ id: 'settings',
+ label: this.$t('appNavigation.settings'),
+ icon: 'iconSettings',
+ children: [
+ {
+ id: 'date-time',
+ label: this.$t('appNavigation.dateTime'),
+ route: '/settings/date-time',
+ },
+ {
+ id: 'network',
+ label: this.$t('appNavigation.network'),
+ route: '/settings/network',
+ },
+ {
+ id: 'power-restore-policy',
+ label: this.$t('appNavigation.powerRestorePolicy'),
+ route: '/settings/power-restore-policy',
+ },
+ ],
+ },
+ {
+ id: 'security-and-access',
+ label: this.$t('appNavigation.securityAndAccess'),
+ icon: 'iconSecurityAndAccess',
+ children: [
+ {
+ id: 'sessions',
+ label: this.$t('appNavigation.sessions'),
+ route: '/security-and-access/sessions',
+ },
+ {
+ id: 'ldap',
+ label: this.$t('appNavigation.ldap'),
+ route: '/security-and-access/ldap',
+ },
+ {
+ id: 'user-management',
+ label: this.$t('appNavigation.userManagement'),
+ route: '/security-and-access/user-management',
+ },
+ {
+ id: 'policies',
+ label: this.$t('appNavigation.policies'),
+ route: '/security-and-access/policies',
+ },
+ {
+ id: 'certificates',
+ label: this.$t('appNavigation.certificates'),
+ route: '/security-and-access/certificates',
+ },
+ ],
+ },
+ {
+ id: 'resource-management',
+ label: this.$t('appNavigation.resourceManagement'),
+ icon: 'iconResourceManagement',
+ children: [
+ {
+ id: 'power',
+ label: this.$t('appNavigation.power'),
+ route: '/resource-management/power',
+ },
+ ],
+ },
+ ],
+ };
+ },
+};
+
+export default AppNavigationMixin;
diff --git a/src/env/router/ibs.js b/src/env/router/ibs.js
new file mode 100644
index 00000000..bddff895
--- /dev/null
+++ b/src/env/router/ibs.js
@@ -0,0 +1,286 @@
+import AppLayout from '@/layouts/AppLayout.vue';
+import ChangePassword from '@/views/ChangePassword';
+import Sessions from '@/views/SecurityAndAccess/Sessions';
+import ConsoleLayout from '@/layouts/ConsoleLayout.vue';
+import DateTime from '@/views/Settings/DateTime';
+import EventLogs from '@/views/Logs/EventLogs';
+import Firmware from '@/views/Operations/Firmware';
+import FactoryReset from '@/views/Operations/FactoryReset';
+import Inventory from '@/views/HardwareStatus/Inventory';
+import Kvm from '@/views/Operations/Kvm';
+import KvmConsole from '@/views/Operations/Kvm/KvmConsole';
+import Ldap from '@/views/SecurityAndAccess/Ldap';
+import UserManagement from '@/views/SecurityAndAccess/UserManagement';
+import Login from '@/views/Login';
+import LoginLayout from '@/layouts/LoginLayout';
+import Network from '@/views/Settings/Network';
+import Overview from '@/views/Overview';
+import PageNotFound from '@/views/PageNotFound';
+import PostCodeLogs from '@/views/Logs/PostCodeLogs';
+import PowerRestorePolicy from '@/views/Settings/PowerRestorePolicy';
+import ProfileSettings from '@/views/ProfileSettings';
+import RebootBmc from '@/views/Operations/RebootBmc';
+import Policies from '@/views/SecurityAndAccess/Policies';
+import Sensors from '@/views/HardwareStatus/Sensors';
+import SerialOverLan from '@/views/Operations/SerialOverLan';
+import SerialOverLanConsole from '@/views/Operations/SerialOverLan/SerialOverLanConsole';
+import ServerPowerOperations from '@/views/Operations/ServerPowerOperations';
+import KeyClear from '@/views/Operations/KeyClear';
+import Certificates from '@/views/SecurityAndAccess/Certificates';
+import VirtualMedia from '@/views/Operations/VirtualMedia';
+import Power from '@/views/ResourceManagement/Power';
+import i18n from '@/i18n';
+
+const routes = [
+ {
+ path: '/login',
+ component: LoginLayout,
+ children: [
+ {
+ path: '',
+ name: 'login',
+ component: Login,
+ meta: {
+ title: i18n.t('appPageTitle.login'),
+ },
+ },
+ {
+ path: '/change-password',
+ name: 'change-password',
+ component: ChangePassword,
+ meta: {
+ title: i18n.t('appPageTitle.changePassword'),
+ requiresAuth: true,
+ },
+ },
+ ],
+ },
+ {
+ path: '/console',
+ component: ConsoleLayout,
+ meta: {
+ requiresAuth: true,
+ },
+ children: [
+ {
+ path: 'serial-over-lan-console',
+ name: 'serial-over-lan-console',
+ component: SerialOverLanConsole,
+ meta: {
+ title: i18n.t('appPageTitle.serialOverLan'),
+ },
+ },
+ {
+ path: 'kvm',
+ name: 'kvm-console',
+ component: KvmConsole,
+ meta: {
+ title: i18n.t('appPageTitle.kvm'),
+ },
+ },
+ ],
+ },
+ {
+ path: '/',
+ meta: {
+ requiresAuth: true,
+ },
+ component: AppLayout,
+ children: [
+ {
+ path: '',
+ name: 'overview',
+ component: Overview,
+ meta: {
+ title: i18n.t('appPageTitle.overview'),
+ },
+ },
+ {
+ path: '/profile-settings',
+ name: 'profile-settings',
+ component: ProfileSettings,
+ meta: {
+ title: i18n.t('appPageTitle.profileSettings'),
+ },
+ },
+ {
+ path: '/logs/event-logs',
+ name: 'event-logs',
+ component: EventLogs,
+ meta: {
+ title: i18n.t('appPageTitle.eventLogs'),
+ },
+ },
+ {
+ path: '/logs/post-code-logs',
+ name: 'post-code-logs',
+ component: PostCodeLogs,
+ meta: {
+ title: i18n.t('appPageTitle.postCodeLogs'),
+ },
+ },
+ {
+ path: '/hardware-status/inventory',
+ name: 'inventory',
+ component: Inventory,
+ meta: {
+ title: i18n.t('appPageTitle.inventory'),
+ },
+ },
+ {
+ path: '/hardware-status/sensors',
+ name: 'sensors',
+ component: Sensors,
+ meta: {
+ title: i18n.t('appPageTitle.sensors'),
+ },
+ },
+ {
+ path: '/security-and-access/sessions',
+ name: 'sessions',
+ component: Sessions,
+ meta: {
+ title: i18n.t('appPageTitle.sessions'),
+ },
+ },
+ {
+ path: '/security-and-access/ldap',
+ name: 'ldap',
+ component: Ldap,
+ meta: {
+ title: i18n.t('appPageTitle.ldap'),
+ },
+ },
+ {
+ path: '/security-and-access/user-management',
+ name: 'user-management',
+ component: UserManagement,
+ meta: {
+ title: i18n.t('appPageTitle.userManagement'),
+ },
+ },
+ {
+ path: '/security-and-access/policies',
+ name: 'policies',
+ component: Policies,
+ meta: {
+ title: i18n.t('appPageTitle.policies'),
+ },
+ },
+ {
+ path: '/security-and-access/certificates',
+ name: 'certificates',
+ component: Certificates,
+ meta: {
+ title: i18n.t('appPageTitle.certificates'),
+ },
+ },
+ {
+ path: '/settings/date-time',
+ name: 'date-time',
+ component: DateTime,
+ meta: {
+ title: i18n.t('appPageTitle.dateTime'),
+ },
+ },
+ {
+ path: '/operations/kvm',
+ name: 'kvm',
+ component: Kvm,
+ meta: {
+ title: i18n.t('appPageTitle.kvm'),
+ },
+ },
+ {
+ path: '/operations/firmware',
+ name: 'firmware',
+ component: Firmware,
+ meta: {
+ title: i18n.t('appPageTitle.firmware'),
+ },
+ },
+ {
+ path: '/settings/network',
+ name: 'network',
+ component: Network,
+ meta: {
+ title: i18n.t('appPageTitle.network'),
+ },
+ },
+ {
+ path: '/settings/power-restore-policy',
+ name: 'power-restore-policy',
+ component: PowerRestorePolicy,
+ meta: {
+ title: i18n.t('appPageTitle.powerRestorePolicy'),
+ },
+ },
+ {
+ path: '/resource-management/power',
+ name: 'power',
+ component: Power,
+ meta: {
+ title: i18n.t('appPageTitle.power'),
+ },
+ },
+ {
+ path: '/operations/factory-reset',
+ name: 'factory-reset',
+ component: FactoryReset,
+ meta: {
+ title: i18n.t('appPageTitle.factoryReset'),
+ },
+ },
+ {
+ path: '/operations/key-clear',
+ name: 'key-clear',
+ component: KeyClear,
+ meta: {
+ title: i18n.t('appPageTitle.keyClear'),
+ },
+ },
+ {
+ path: '/operations/reboot-bmc',
+ name: 'reboot-bmc',
+ component: RebootBmc,
+ meta: {
+ title: i18n.t('appPageTitle.rebootBmc'),
+ },
+ },
+ {
+ path: '/operations/serial-over-lan',
+ name: 'serial-over-lan',
+ component: SerialOverLan,
+ meta: {
+ title: i18n.t('appPageTitle.serialOverLan'),
+ },
+ },
+ {
+ path: '/operations/server-power-operations',
+ name: 'server-power-operations',
+ component: ServerPowerOperations,
+ meta: {
+ title: i18n.t('appPageTitle.serverPowerOperations'),
+ },
+ },
+ {
+ path: '/operations/virtual-media',
+ name: 'virtual-media',
+ component: VirtualMedia,
+ meta: {
+ title: i18n.t('appPageTitle.virtualMedia'),
+ },
+ },
+ {
+ path: '*',
+ name: 'page-not-found',
+ component: PageNotFound,
+ meta: {
+ title: i18n.t('appPageTitle.pageNotFound'),
+ },
+ },
+ ],
+ },
+];
+
+export default routes;
diff --git a/src/env/store/ibs.js b/src/env/store/ibs.js
new file mode 100644
index 00000000..d0834c3b
--- /dev/null
+++ b/src/env/store/ibs.js
@@ -0,0 +1,10 @@
+import store from '@/store';
+import KeyClearStore from '@/store/modules/Operations/KeyClearStore';
+
+store.registerModule('key-clear', KeyClearStore);
+
+// Use store.registerModule() to register env specific
+// store modules
+// https://vuex.vuejs.org/api/#registermodule
+
+export default store;