diff --git a/src/components/AddShippingMethodsModal.vue b/src/components/AddShippingMethodsModal.vue new file mode 100644 index 0000000..e104ed3 --- /dev/null +++ b/src/components/AddShippingMethodsModal.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/src/components/DataMappingLinkActionsPopover.vue b/src/components/DataMappingLinkActionsPopover.vue new file mode 100644 index 0000000..6692ee7 --- /dev/null +++ b/src/components/DataMappingLinkActionsPopover.vue @@ -0,0 +1,30 @@ + + + \ No newline at end of file diff --git a/src/components/ImportShippingMethodsModal.vue b/src/components/ImportShippingMethodsModal.vue new file mode 100644 index 0000000..9dc6be8 --- /dev/null +++ b/src/components/ImportShippingMethodsModal.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/src/components/ImportShopifyLocationsModal.vue b/src/components/ImportShopifyLocationsModal.vue new file mode 100644 index 0000000..6d82cdc --- /dev/null +++ b/src/components/ImportShopifyLocationsModal.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/src/components/ShippingMethodActionsPopover.vue b/src/components/ShippingMethodActionsPopover.vue new file mode 100644 index 0000000..0ffbd9e --- /dev/null +++ b/src/components/ShippingMethodActionsPopover.vue @@ -0,0 +1,25 @@ + + + \ No newline at end of file diff --git a/src/components/ShopifyConnectionActionsPopover.vue b/src/components/ShopifyConnectionActionsPopover.vue new file mode 100644 index 0000000..3b6ddf2 --- /dev/null +++ b/src/components/ShopifyConnectionActionsPopover.vue @@ -0,0 +1,27 @@ + + + \ No newline at end of file diff --git a/src/components/ShopifyConnectionFilters.vue b/src/components/ShopifyConnectionFilters.vue new file mode 100644 index 0000000..09ea03b --- /dev/null +++ b/src/components/ShopifyConnectionFilters.vue @@ -0,0 +1,24 @@ + + + \ No newline at end of file diff --git a/src/locales/en.json b/src/locales/en.json index c757e2e..2454647 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -2,6 +2,7 @@ "Add": "Add", "Add a custom prefix to HotWax order IDs: 10001": "Add a custom prefix to HotWax order IDs: 10001", "Add configurations": "Add configurations", + "Add shipping method": "Add shipping method", "App": "App", "Approval": "Approval", "Approve on import": "Approve on import", @@ -13,7 +14,9 @@ "Cancel": "Cancel", "Cancel order before fulfillment": "Cancel order before fulfillment", "Cancellations": "Cancellations", + "Carrier": "Carrier", "Change": "Change", + "Change mapping": "Change mapping", "Choosing a product identifier allows you to view products with your preferred identifiers.": "Choosing a product identifier allows you to view products with your preferred identifiers.", "Click the backdrop to dismiss.": "Click the backdrop to dismiss.", "Company name": "Company name", @@ -23,25 +26,36 @@ "Configure when no further order information is needed prior to order approval.": "Configure when no further order information is needed prior to order approval.", "Confirm": "Confirm", "Control what your customers are allowed to edit on their own when they are editing their order on Re-route Fulfillment.": "Control what your customers are allowed to edit on their own when they are editing their order on Re-route Fulfillment.", + "Copy credentials": "Copy credentials", "Country": "{count} country", "countries": "{count} countries", "Create a new product store": "Create a new product store", "Create deadline days": "Create deadline days", + "Create new": "Create new", "Create new product store": "Create new product store", "Create new tag": "Create new tag", "Create product store": "Create product store", "days count": "days count", + "Data mappings": "Data mappings", + "Deactivate shop": "Deactivate shop", + "Default location": "Default location", "Delivery address": "Delivery address", "Delivery method": "Delivery method", + "Disable": "Disable", "Display current physical quantity expected at locations while inventory counting.": "Display current physical quantity expected at locations while inventory counting.", + "Download orders": "Download orders", + "Download products": "Download products", "Edit": "Edit", + "Facilities": "Facilities", "facilities": "{count} facilities", "facility": "{count} facility", "Failed to create product store.": "Failed to create product store.", "Failed to remove tag.": "Failed to remove tag.", "Failed to update product store name.": "Failed to update product store name.", "Failed to update product store settings.": "Failed to update product store settings.", + "Favorite": "Favorite", "Fetching time zones": "Fetching time zones", + "Filters": "Filters", "Fulfillment": "Fulfillment", "Global identifier": "Global identifier", "Go to OMS": "Go to OMS", @@ -51,29 +65,53 @@ "ID prefix": "ID prefix", "Identifier": "Identifier", "Import": "Import", + "Import facility": "Import facility", + "Import new shipping methods": "Import new shipping methods", + "Import payments": "Import payments", + "Import product types": "Import product types", + "Import sales channel": "Import sales channel", + "Import shipping methods": "Import shipping methods", + "Import shopify locations in hotwax": "Import shopify locations in hotwax", + "Import shopify shipping methods in hotwax": "Import shopify shipping methods in hotwax", + "Internal Shopify ID": "Internal Shopify ID", "Inventory": "Inventory", "Inventory reservation": "Inventory reservation", "Inventory view": "Inventory view", + "Kg/USD": "Kg/USD", + "Last Shopify Order": "Last Shopify Order", + "Last sync on Shopify": "Last sync on Shopify", "Login": "Login", "Logging in...": "Logging in...", "Logout": "Logout", "Manage configurations": "Manage configurations", + "Map location": "Map location", + "map location with Hotwax facility": "map location with Hotwax facility", + "Map the default Shopify location as the inventory location in OMS, ensures that unified inventory across facilities is updated to a single location in Shopify.": "Map the default Shopify location as the inventory location in OMS, ensures that unified inventory across facilities is updated to a single location in Shopify.", + "Map the payment method from Shopify with OMS to make sure the orders in OMS reflects actual payment method.": "Map the payment method from Shopify with OMS to make sure the orders in OMS reflects actual payment method.", + "Map the product types from Shopify with OMS to make sure the orders in OMS reflects actual product types.": "Map the product types from Shopify with OMS to make sure the orders in OMS reflects actual product types.", + "Map the sales channel from Shopify with OMS to make sure the orders in OMS reflects actual sales channel.": "Map the sales channel from Shopify with OMS to make sure the orders in OMS reflects actual sales channel.", + "Map with Hotwax": "Map with Hotwax", "Minimum shipment threshold": "Minimum shipment threshold", "Name": "Name", "No product store found.": "No product store found.", "No time zone found": "No time zone found", "Notifications": "Nofifications", "OMS": "OMS", + "OMS Carrier and Shipping methods": "OMS Carrier and Shipping methods", "OMS instance": "OMS instance", + "Only open and unfulfilled orders will be downloaded": "Only open and unfulfilled orders will be downloaded", "Operating countries": "Operating countries", "Operating in": "Operating in", "Order": "Order", + "Order downloads": "Order downloads", "Order brokering": "Order brokering", "Order edit permissions": "Order edit permissions", "Order splitting": "Order splitting", + "Orders downloaded in last 24 hours": "Orders downloaded in last 24 hours", "Orders tagged with this tag will undergo line item check for fulfillment facility selection.": "Orders tagged with this tag will undergo line item check for fulfillment facility selection.", "Partial order rejection": "Partial order rejection", "Password": "Password", + "Payment methods": "Payment methods", "Pick up location": "Pick up location", "Pre-order computation": "Pre-order computation", "Pre-order group": "Pre-order group", @@ -82,6 +120,7 @@ "Preselected facility tag": "Preselected facility tag", "Primary identifier": "Primary identifier", "Product": "Product", + "Product downloads": "Product downloads", "Product Identifier": "Product Identifier", "Product store": "Product store", "Product store created successfully.": "Product store created successfully.", @@ -93,14 +132,23 @@ "Product store name updated successfully.": "Product store name updated successfully.", "Product store represents a brand in OMS": "Product store represents a brand in OMS", "Product store setting updated successfully.": "Product store setting updated successfully.", + "Product types": "Product types", + "Products downloaded in last 24 hours": "Products downloaded in last 24 hours", + "Quick sync": "Quick sync", + "Remove": "Remove", "Returns": "Returns", "Re-route fulfillment": "Re-route fulfillment", "Routing": "Routing", + "Sales channel": "Sales channel", "Sales order ID prefix": "Sales order ID prefix", "Save billing information": "Save billing information", "Search country": "Search country", + "Search facility": "Search facility", + "Search shipping method": "Search shipping method", "Search time zones": "Search time zones", + "Select all": "Select all", "Soft Allocation": "Soft Allocation", + "Search keys": "Search keys", "Secondary identifier": "Secondary identifier", "Select": "Select", "Select operating countries": "Select operating countries", @@ -108,10 +156,21 @@ "Send notification to Shopify": "Send notification to Shopify", "Settings": "Settings", "Setup product store": "Setup product store", + "Ship without tracking ID": "Ship without tracking ID", "shipping method": "{count} shipping method", "shipping methods": "{count} shipping methods", "Shipment method": "Shipment method", "Shipping facility tag": "Shipping facility tag", + "Shipping method": "Shipping method", + "Shipping methods": "Shipping methods", + "Shipping method types": "Shipping method types", + "Shopify": "Shopify", + "Shopify access": "Shopify access", + "Shopify connections": "Shopify connections", + "Shopify link": "Shopify link", + "Shopify location where the ATP numbers are consolidated for all stores in OMS.": "Shopify location where the ATP numbers are consolidated for all stores in OMS.", + "Shopify Shipping method": "Shopify Shipping method", + "Show active shops": "Show active shops", "Show systemic inventory": "Show systemic inventory", "Specify any preferred prefix to be added to internal order IDs.": "Specify any preferred prefix to be added to internal order IDs.", "Specify the number of days permitted for creating returns for in-store.": "Specify the number of days permitted for creating returns for in-store.", @@ -119,6 +178,8 @@ "Split orders into multiple groups and fulfill them from different fulfillment centers.": "Split orders into multiple groups and fulfill them from different fulfillment centers.", "Store billing information associated with orders in OMS.": "Store billing information associated with orders in OMS.", "Store pickup": "Store pickup", + "Sync again": "Sync again", + "Sync new locations from shopify": "Sync new locations from shopify", "Tags can't be empty.": "Tags can't be empty.", "Tag removed successfully.": "Tag removed successfully.", "Tag will hold the preselected fulfillment facility value.": "Tag will hold the preselected fulfillment facility value.", @@ -131,6 +192,8 @@ "Timezone": "Timezone", "Update": "Update", "Update tracking information upon order shipment in Shopify.": "Update tracking information upon order shipment in Shopify.", + "Upload refunds to Shopify": "Upload refunds to Shopify", "Username": "Username", - "Version:": "Version: {appVersion}" + "Version:": "Version: {appVersion}", + "Weight/Currency": "Weight/Currency" } \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts index 98830d4..9138937 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -7,6 +7,7 @@ import AddConfigurations from "@/views/AddConfigurations.vue"; import ProductStoreDetails from "@/views/ProductStoreDetails.vue"; import { DxpLogin, useAuthStore } from "@hotwax/dxp-components"; import { loader } from '@/user-utils'; +import ShopifyConnectionDetails from "@/views/ShopifyConnectionDetails.vue"; const authGuard = async (to: any, from: any, next: any) => { const authStore = useAuthStore() @@ -46,6 +47,11 @@ const routes: Array = [ name: "ProductStore", component: () => import("@/views/ProductStore.vue") }, + { + path: "shopify-connections", + name: "ShopifyConnections", + component: () => import("@/views/ShopifyConnections.vue") + }, { path: "settings", name: "Settings", @@ -75,6 +81,11 @@ const routes: Array = [ component: ProductStoreDetails, props: true }, + { + path: "/shopify-connection-details", + name: "ShopifyConnectionDetails", + component: ShopifyConnectionDetails + }, { path: "/login", name: "Login", diff --git a/src/theme/variables.css b/src/theme/variables.css index 3a60b78..c2e7cab 100644 --- a/src/theme/variables.css +++ b/src/theme/variables.css @@ -317,6 +317,10 @@ ion-input.name { .find > .filters{ display: unset; } + + .mobile-only { + display: none; + } } @media (prefers-color-scheme: dark) { diff --git a/src/views/ShopifyConnectionDetails.vue b/src/views/ShopifyConnectionDetails.vue new file mode 100644 index 0000000..e0d0b5d --- /dev/null +++ b/src/views/ShopifyConnectionDetails.vue @@ -0,0 +1,580 @@ + + + + + + diff --git a/src/views/ShopifyConnections.vue b/src/views/ShopifyConnections.vue new file mode 100644 index 0000000..1eaeb89 --- /dev/null +++ b/src/views/ShopifyConnections.vue @@ -0,0 +1,130 @@ + + + + + \ No newline at end of file diff --git a/src/views/Tabs.vue b/src/views/Tabs.vue index cbbdb82..437cbf2 100644 --- a/src/views/Tabs.vue +++ b/src/views/Tabs.vue @@ -7,6 +7,10 @@ {{ translate("Product store") }} + + + {{ translate("Shopify") }} + {{ translate("Settings") }} @@ -19,13 +23,13 @@