diff --git a/app/javascript/packs/vue/design_system/modals.js b/app/javascript/packs/vue/design_system/modals.js
index 66f138567..477dbc000 100644
--- a/app/javascript/packs/vue/design_system/modals.js
+++ b/app/javascript/packs/vue/design_system/modals.js
@@ -2,6 +2,7 @@ import { createApp } from 'vue/dist/vue.esm-bundler.js';
import { shallowRef } from 'vue';
import WizardModal from '../../../vue/shared/wizard_modal.vue';
+import InfoModal from '../../../vue/shared/info_modal.vue';
import Step1 from './wizard_steps/step_1.vue';
import Step2 from './wizard_steps/step_2.vue';
import Step3 from './wizard_steps/step_3.vue';
@@ -20,6 +21,7 @@ const app = createApp({
},
data() {
return {
+ // Wizard modal
wizardConfig: {
title: 'Wizard steps',
subtitle: 'Wizard subtitle description',
@@ -47,10 +49,51 @@ const app = createApp({
wizardParams: {
text: 'Some text'
},
- showWizard: false
+ showWizard: false,
+
+ // Info modal
+ infoParams: {
+ componentTitle: 'Guide for updating the inventory',
+ modalTitle: 'Update inventory',
+ helpText: 'Help',
+ elements: [
+ {
+ id: 'el1',
+ icon: 'sn-icon sn-icon-export',
+ label: 'Export inventory',
+ subtext: "Before making edits, we advise you to export the latest inventory information. If you're only adding new items, consider exporting empty inventory."
+ },
+ {
+ id: 'el2',
+ icon: 'sn-icon sn-icon-edit',
+ label: 'Edit your data',
+ subtext: 'Make sure to include header names in first row, followed by item data.'
+ },
+ {
+ id: 'el3',
+ icon: 'sn-icon sn-icon-import',
+ label: 'Import new or update items',
+ subtext: 'Upload your data using .xlsx, .csv or .txt files.'
+ },
+ {
+ id: 'el4',
+ icon: 'sn-icon sn-icon-tables',
+ label: 'Merge your data',
+ subtext: 'Complete the process by merging the columns you want to update.'
+ },
+ {
+ id: 'el5',
+ icon: 'sn-icon sn-icon-open',
+ label: 'Learn more',
+ linkTo: 'https://knowledgebase.scinote.net/en/knowledge/how-to-add-items-to-an-inventory'
+ }
+ ]
+ },
+ showInfo: false
};
}
});
app.component('WizardModal', WizardModal);
+app.component('InfoModal', InfoModal);
app.config.globalProperties.i18n = window.I18n;
mountWithTurbolinks(app, '#modals');
diff --git a/app/javascript/vue/shared/info_component.vue b/app/javascript/vue/shared/info_component.vue
new file mode 100644
index 000000000..8ff4bd3c7
--- /dev/null
+++ b/app/javascript/vue/shared/info_component.vue
@@ -0,0 +1,39 @@
+
+ {{ params.componentTitle }}
+