From 2134b33d61598b139e841cca5f12b733bb9dcdb1 Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Thu, 2 May 2024 19:19:33 +0530 Subject: [PATCH 01/10] Implemented: UI for the create and list product store page (#1) --- src/locales/en.json | 13 ++++++ src/router/index.ts | 10 ++++- src/theme/variables.css | 5 +++ src/views/CreateProductStore.vue | 65 +++++++++++++++++++++++++++++ src/views/ProductStore.vue | 71 ++++++++++++++++++++++++++++++++ src/views/Tabs.vue | 6 ++- 6 files changed, 168 insertions(+), 2 deletions(-) create mode 100644 src/views/CreateProductStore.vue create mode 100644 src/views/ProductStore.vue diff --git a/src/locales/en.json b/src/locales/en.json index 598f678..25574f7 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1,20 +1,33 @@ { + "Add": "Add", "App": "App", "Built:": "Built: {builtTime}", "Change": "Change", "Click the backdrop to dismiss.": "Click the backdrop to dismiss.", + "Company name": "Company name", + "Create a new product store": "Create a new product store", + "Create new product store": "Create new product store", + "Create product store": "Create product store", "Fetching time zones": "Fetching time zones", "Go to OMS": "Go to OMS", + "ID": "ID", "Login": "Login", "Logging in...": "Logging in...", "Logout": "Logout", + "Manage configurations": "Manage configurations", + "Name": "Name", + "No product store found.": "No product store found.", "No time zone found": "No time zone found", "OMS": "OMS", "OMS instance": "OMS instance", + "Operating countries": "Operating countries", "Password": "Password", + "Product store": "Product store", + "Product store represents a brand in OMS": "Product store represents a brand in OMS", "Search time zones": "Search time zones", "Select time zone": "Select time zone", "Settings": "Settings", + "The name of the parent organization that owns all brands deployed on the OMS": "The name of the parent organization that owns all brands deployed on the OMS", "The timezone you select is used to ensure automations you schedule are always accurate to the time you select.": "The timezone you select is used to ensure automations you schedule are always accurate to the time you select.", "This is the name of the OMS you are connected to right now. Make sure that you are connected to the right instance before proceeding.": "This is the name of the OMS you are connected to right now. Make sure that you are connected to the right instance before proceeding.", "Time zone updated successfully": "Time zone updated successfully", diff --git a/src/router/index.ts b/src/router/index.ts index 7a2c434..580a3fd 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -31,7 +31,15 @@ const routes: Array = [ children: [ { path: "", - redirect: "/settings" + redirect: "/product-store" + }, + { + path: "product-store", + component: () => import("@/views/ProductStore.vue") + }, + { + path: "create-product-store", + component: () => import("@/views/CreateProductStore.vue") }, { path: "settings", diff --git a/src/theme/variables.css b/src/theme/variables.css index c4dafed..3a60b78 100644 --- a/src/theme/variables.css +++ b/src/theme/variables.css @@ -245,6 +245,11 @@ http://ionicframework.com/docs/theming/ */ } } +body { + /** Border variable **/ + --border-medium: 1px solid var(--ion-color-medium); +} + .empty-state { max-width: 100%; display: flex; diff --git a/src/views/CreateProductStore.vue b/src/views/CreateProductStore.vue new file mode 100644 index 0000000..c13fcbd --- /dev/null +++ b/src/views/CreateProductStore.vue @@ -0,0 +1,65 @@ + + + + + \ No newline at end of file diff --git a/src/views/ProductStore.vue b/src/views/ProductStore.vue new file mode 100644 index 0000000..041cc7b --- /dev/null +++ b/src/views/ProductStore.vue @@ -0,0 +1,71 @@ + + + + + \ No newline at end of file diff --git a/src/views/Tabs.vue b/src/views/Tabs.vue index 95e568e..7a23970 100644 --- a/src/views/Tabs.vue +++ b/src/views/Tabs.vue @@ -3,6 +3,10 @@ + + + {{ translate("Product store") }} + {{ translate("Settings") }} @@ -15,7 +19,7 @@ + + \ No newline at end of file diff --git a/src/views/CreateProductStore.vue b/src/views/CreateProductStore.vue index c13fcbd..6980d34 100644 --- a/src/views/CreateProductStore.vue +++ b/src/views/CreateProductStore.vue @@ -37,7 +37,7 @@ - + {{ translate("Manage configurations") }} @@ -50,7 +50,13 @@ import { IonBackButton, IonButton, IonChip, IonContent, IonHeader, IonIcon, IonInput, IonItem, IonLabel, IonPage, IonTitle, IonToolbar } from "@ionic/vue"; import { arrowForwardOutline, closeCircleOutline, mapOutline } from "ionicons/icons"; import { translate } from "@/i18n"; +import { useRouter } from "vue-router"; +const router = useRouter(); + +function manageConfigurations() { + router.push("add-configurations") +} From af8ccfd466cafc3d1164770ba5ea375aa3ddb1e4 Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Fri, 3 May 2024 12:39:28 +0530 Subject: [PATCH 04/10] Implemented: select operating countries modal (#1) --- .../SelectOperatingCountriesModal.vue | 64 +++++++++++++++++++ src/locales/en.json | 2 + src/views/CreateProductStore.vue | 14 +++- 3 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 src/components/SelectOperatingCountriesModal.vue diff --git a/src/components/SelectOperatingCountriesModal.vue b/src/components/SelectOperatingCountriesModal.vue new file mode 100644 index 0000000..a746478 --- /dev/null +++ b/src/components/SelectOperatingCountriesModal.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/src/locales/en.json b/src/locales/en.json index 946cf68..23240bc 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -74,9 +74,11 @@ "Re-route fulfillment": "Re-route fulfillment", "Routing": "Routing", "Save billing information": "Save billing information", + "Search country": "Search country", "Search time zones": "Search time zones", "Seat Allocation": "Seat Allocation", "Secondary identifier": "Secondary identifier", + "Select operating countries": "Select operating countries", "Select time zone": "Select time zone", "Send notification to Shopify": "Send notification to Shopify", "Settings": "Settings", diff --git a/src/views/CreateProductStore.vue b/src/views/CreateProductStore.vue index 6980d34..5601f2e 100644 --- a/src/views/CreateProductStore.vue +++ b/src/views/CreateProductStore.vue @@ -23,7 +23,7 @@ {{ translate("Operating countries") }} - {{ translate("Add") }} + {{ translate("Add") }} @@ -47,16 +47,26 @@ \ No newline at end of file diff --git a/src/views/AddConfigurations.vue b/src/views/AddConfigurations.vue index 1297efe..1e121de 100644 --- a/src/views/AddConfigurations.vue +++ b/src/views/AddConfigurations.vue @@ -11,6 +11,7 @@ +

{{ translate('Configurations') }}

@@ -32,7 +33,7 @@ - {{ translate("Auto approve orders") }} + {{ translate("Auto approve orders") }} diff --git a/src/views/CreateProductStore.vue b/src/views/CreateProductStore.vue index 5601f2e..16d7a84 100644 --- a/src/views/CreateProductStore.vue +++ b/src/views/CreateProductStore.vue @@ -6,18 +6,19 @@ {{ translate("Create product store") }} +

{{ translate('Create a new product store') }}

- + - + - + @@ -70,12 +71,10 @@ async function openSelectOperatingCountriesModal() { \ No newline at end of file diff --git a/src/views/ProductStore.vue b/src/views/ProductStore.vue index 08f49a6..477ad57 100644 --- a/src/views/ProductStore.vue +++ b/src/views/ProductStore.vue @@ -30,6 +30,7 @@ +
diff --git a/src/views/ProductStoreDetails.vue b/src/views/ProductStoreDetails.vue index e5067d6..0cfd279 100644 --- a/src/views/ProductStoreDetails.vue +++ b/src/views/ProductStoreDetails.vue @@ -6,6 +6,7 @@ {{ "" }} +
@@ -43,9 +44,7 @@
- - {{ translate("Order") }} - + {{ translate("Order") }} @@ -70,11 +69,11 @@

{{ translate("Store billing information associated with orders in OMS.") }}

- + {{ translate("Approval") }} - + {{ translate("Approve on import") }} @@ -101,16 +100,14 @@ - - {{ translate("Brokering") }} - + {{ translate("Brokering") }} {{ translate("Seat Allocation") }} - + {{ translate("Preselected facility tag") }} @@ -122,7 +119,7 @@

{{ translate("Orders tagged with this tag will undergo line item check for fulfillment facility selection.") }}

- + {{ translate("Shipping facility tag") }} {{ "" }} @@ -132,7 +129,7 @@

{{ translate("Tag will hold the preselected fulfillment facility value.") }}

- + {{ translate("Routing") }} @@ -155,10 +152,9 @@
- - {{ translate("Fulfillment") }} - + {{ translate("Fulfillment") }} + {{ translate("Notifications") }} @@ -194,9 +190,7 @@ - - {{ translate("Store pickup") }} - + {{ translate("Store pickup") }} @@ -216,9 +210,7 @@
- - {{ translate("Inventory") }} - + {{ translate("Inventory") }} @@ -234,20 +226,18 @@

{{ translate("Display current physical quantity expected at locations while inventory counting.") }}

- + {{ translate("Pre-order computation") }} - + {{ translate("Hold pre-order physical inventory") }} - - {{ "" }} - + {{ "" }} @@ -260,20 +250,17 @@ - - {{ translate("Product") }} - + {{ translate("Product") }} + {{ translate("Identifier") }} - + - - {{ "" }} - + {{ "" }} @@ -281,24 +268,20 @@

{{ translate("The identifier used globally throughout the business operations.") }}

- + {{ translate("Preferred identifier") }} - - {{ "Product Id" }} - + {{ "Product Id" }} - - {{ "SKU" }} - + {{ "SKU" }} @@ -325,9 +308,7 @@ - - {{ "Two day" }} - + {{ "Two day" }} @@ -422,7 +403,6 @@ ion-card-header { } @media screen and (min-width: 700px) { - ion-content > main { margin: var(--spacer-lg) } From 2c70cc837f05eb9931a383ee41c372ec6c91b8ca Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Thu, 16 May 2024 13:01:12 +0530 Subject: [PATCH 07/10] Improved: added entry for product store tab in list to show menu footer (#1) --- src/views/Tabs.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/Tabs.vue b/src/views/Tabs.vue index 7a23970..cbbdb82 100644 --- a/src/views/Tabs.vue +++ b/src/views/Tabs.vue @@ -25,7 +25,7 @@ import { useRouter } from "vue-router"; const router = useRouter(); function showFooter() { - if (['/tabs/settings'].includes(router.currentRoute.value.path)) return true + if (['/tabs/product-store', '/tabs/settings'].includes(router.currentRoute.value.path)) return true return false } From d3acb24e3f4c9d07c5e9ecb0e02107f82931b59a Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Fri, 17 May 2024 13:01:13 +0530 Subject: [PATCH 08/10] Improved: routes for the pages not in tab navigation (#1) --- src/router/index.ts | 28 ++++++++++++++++------------ src/views/AddConfigurations.vue | 2 +- src/views/CreateProductStore.vue | 2 +- src/views/ProductStore.vue | 2 +- 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index d872ed8..70e0346 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -3,6 +3,9 @@ import { RouteRecordRaw } from "vue-router"; import Login from "@/views/Login.vue" import store from "@/store" import Tabs from "@/views/Tabs.vue" +import CreateProductStore from "@/views/CreateProductStore.vue"; +import AddConfigurations from "@/views/AddConfigurations.vue"; +import ProductStoreDetails from "@/views/ProductStoreDetails.vue"; const authGuard = (to: any, from: any, next: any) => { if (store.getters["user/isAuthenticated"]) { @@ -37,18 +40,6 @@ const routes: Array = [ path: "product-store", component: () => import("@/views/ProductStore.vue") }, - { - path: "create-product-store", - component: () => import("@/views/CreateProductStore.vue") - }, - { - path: "add-configurations", - component: () => import("@/views/AddConfigurations.vue") - }, - { - path: "product-store-details", - component: () => import("@/views/ProductStoreDetails.vue") - }, { path: "settings", component: () => import("@/views/Settings.vue") @@ -56,6 +47,19 @@ const routes: Array = [ ], beforeEnter: authGuard }, + { + path: "/create-product-store", + component: CreateProductStore + }, + { + path: "/add-configurations", + component: AddConfigurations + }, + { + path: "/product-store-details/:productStoreId", + component: ProductStoreDetails, + props: true + }, { path: "/login", name: "Login", diff --git a/src/views/AddConfigurations.vue b/src/views/AddConfigurations.vue index 1e121de..c4f2fd1 100644 --- a/src/views/AddConfigurations.vue +++ b/src/views/AddConfigurations.vue @@ -58,7 +58,7 @@ import { useRouter } from "vue-router"; const router = useRouter(); function setupProductStore() { - router.push("product-store-details") + router.push("/product-store-details") } diff --git a/src/views/CreateProductStore.vue b/src/views/CreateProductStore.vue index 16d7a84..a93470e 100644 --- a/src/views/CreateProductStore.vue +++ b/src/views/CreateProductStore.vue @@ -57,7 +57,7 @@ import SelectOperatingCountriesModal from "@/components/SelectOperatingCountries const router = useRouter(); function manageConfigurations() { - router.push("add-configurations") + router.push("/add-configurations") } async function openSelectOperatingCountriesModal() { diff --git a/src/views/ProductStore.vue b/src/views/ProductStore.vue index 477ad57..7bbc8d6 100644 --- a/src/views/ProductStore.vue +++ b/src/views/ProductStore.vue @@ -51,7 +51,7 @@ import { useRouter } from "vue-router"; const router = useRouter(); function createStore() { - router.push("create-product-store") + router.push("/create-product-store") } From 9de9d80185d0a6c2325182fe5582dc69e62d71a6 Mon Sep 17 00:00:00 2001 From: amansinghbais Date: Tue, 21 May 2024 11:42:54 +0530 Subject: [PATCH 09/10] Improved: added progress bar in toolbar for create product store pages (#1) --- src/views/AddConfigurations.vue | 3 ++- src/views/CreateProductStore.vue | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/views/AddConfigurations.vue b/src/views/AddConfigurations.vue index c4f2fd1..6272da0 100644 --- a/src/views/AddConfigurations.vue +++ b/src/views/AddConfigurations.vue @@ -9,6 +9,7 @@ + @@ -50,7 +51,7 @@