From c0426d502412e879ed443afa1d88a4342c1ef154 Mon Sep 17 00:00:00 2001 From: Tomasz Szymanski Date: Mon, 21 Dec 2020 14:03:22 +0100 Subject: [PATCH 01/10] Show hidden radio buttons of shipping method zip codes --- .../components/ShippingZoneZipCodes/ShippingZoneZipCodes.tsx | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/shipping/components/ShippingZoneZipCodes/ShippingZoneZipCodes.tsx b/src/shipping/components/ShippingZoneZipCodes/ShippingZoneZipCodes.tsx index b14fb03f4..b36b03f32 100644 --- a/src/shipping/components/ShippingZoneZipCodes/ShippingZoneZipCodes.tsx +++ b/src/shipping/components/ShippingZoneZipCodes/ShippingZoneZipCodes.tsx @@ -48,9 +48,6 @@ const useStyles = makeStyles( width: 80 }, colCode: {}, - hide: { - display: "none" - }, option: { marginBottom: theme.spacing(2), width: 400 @@ -100,7 +97,7 @@ const ShippingZoneZipCodes: React.FC = ({ } /> - + Date: Tue, 22 Dec 2020 12:22:23 +0100 Subject: [PATCH 02/10] Update snapshots --- src/storybook/__snapshots__/Stories.test.ts.snap | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/storybook/__snapshots__/Stories.test.ts.snap b/src/storybook/__snapshots__/Stories.test.ts.snap index 282d2dbd5..97476a595 100644 --- a/src/storybook/__snapshots__/Stories.test.ts.snap +++ b/src/storybook/__snapshots__/Stories.test.ts.snap @@ -15840,7 +15840,7 @@ exports[`Storyshots Shipping / ShippingZoneRatesCreatePage page create price 1`] class="CardTitle-hr-id" />
Date: Wed, 30 Dec 2020 11:06:26 +0100 Subject: [PATCH 03/10] Deploy to staging after merge to master --- .github/workflows/deploy-staging.yaml | 42 +++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/deploy-staging.yaml diff --git a/.github/workflows/deploy-staging.yaml b/.github/workflows/deploy-staging.yaml new file mode 100644 index 000000000..20b90e74c --- /dev/null +++ b/.github/workflows/deploy-staging.yaml @@ -0,0 +1,42 @@ +name: Deploy to staging +on: + push: + branches: + - master +jobs: + build: + runs-on: ubuntu-20.04 + env: + API_URI: https://master.staging.saleor.cloud/graphql + APP_MOUNT_URI: /dashboard/ + STATIC_URL: /dashboard/static/ + steps: + - uses: actions/checkout@v2 + - name: Package + run: | + npm ci + npm run build + - uses: actions/upload-artifact@v2 + with: + name: build + path: build + deploy: + needs: + - build + runs-on: ubuntu-20.04 + steps: + - uses: actions/download-artifact@v2 + with: + name: build + path: build + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_STAGING_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_STAGING_SECRET_ACCESS_KEY }} + aws-region: us-east-1 + - name: Deploy + run: | + aws s3 sync build/dashboard s3://${{ secrets.AWS_STAGING_DEPLOYMENT_BUCKET }}/saleor-master-staging/static/ + aws s3 cp build/dashboard/index.html s3://${{ secrets.AWS_STAGING_DEPLOYMENT_BUCKET }}/saleor-master-staging/ + aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_STAGING_CF_DIST_ID }} --paths "/dashboard*" \ No newline at end of file From 5af85e5157ce78132e0fec8d42840e860bd81aa1 Mon Sep 17 00:00:00 2001 From: Tomasz Szymanski Date: Wed, 30 Dec 2020 13:25:40 +0100 Subject: [PATCH 04/10] Shipping zone description --- locale/defaultMessages.json | 7 + schema.graphql | 2 + src/fragments/shipping.ts | 1 + .../types/ShippingZoneDetailsFragment.ts | 1 + src/fragments/types/ShippingZoneFragment.ts | 1 + .../ShippingZoneDetailsPage.tsx | 58 +++++++ .../ShippingZoneRates/ShippingZoneRates.tsx | 8 +- src/shipping/fixtures.ts | 9 +- src/shipping/types/CreateShippingRate.ts | 1 + src/shipping/types/DeleteShippingRate.ts | 1 + src/shipping/types/ShippingZone.ts | 1 + src/shipping/types/ShippingZones.ts | 1 + .../views/ShippingZoneDetails/index.tsx | 1 + .../__snapshots__/Stories.test.ts.snap | 143 ++++++++++++++++++ src/types/globalTypes.ts | 1 + 15 files changed, 229 insertions(+), 7 deletions(-) diff --git a/locale/defaultMessages.json b/locale/defaultMessages.json index 2f7279e23..cb2c58d30 100644 --- a/locale/defaultMessages.json +++ b/locale/defaultMessages.json @@ -5452,6 +5452,13 @@ "src_dot_shipping_dot_components_dot_ShippingZoneDetailsPage_dot_3109712047": { "string": "Countries" }, + "src_dot_shipping_dot_components_dot_ShippingZoneDetailsPage_dot_3374163063": { + "string": "Description" + }, + "src_dot_shipping_dot_components_dot_ShippingZoneDetailsPage_dot_3877274856": { + "context": "character limit", + "string": "{numberOfCharacters} of {maxCharacters} characters" + }, "src_dot_shipping_dot_components_dot_ShippingZoneDetailsPage_dot_4270729636": { "string": "This is default shipping zone, which means that it covers all of the countries which are not assigned to other shipping zones" }, diff --git a/schema.graphql b/schema.graphql index aa914316b..8e6b828a1 100644 --- a/schema.graphql +++ b/schema.graphql @@ -4782,6 +4782,7 @@ type ShippingZone implements Node & ObjectWithMetadata { countries: [CountryDisplay] shippingMethods: [ShippingMethod] warehouses: [Warehouse] + description: String } type ShippingZoneBulkDelete { @@ -4830,6 +4831,7 @@ input ShippingZoneUpdateInput { name: String countries: [String] default: Boolean + description: String addWarehouses: [ID] removeWarehouses: [ID] } diff --git a/src/fragments/shipping.ts b/src/fragments/shipping.ts index 25a89d06c..bf19fe7d9 100644 --- a/src/fragments/shipping.ts +++ b/src/fragments/shipping.ts @@ -13,6 +13,7 @@ export const shippingZoneFragment = gql` country } name + description } `; diff --git a/src/fragments/types/ShippingZoneDetailsFragment.ts b/src/fragments/types/ShippingZoneDetailsFragment.ts index da530e989..961b71048 100644 --- a/src/fragments/types/ShippingZoneDetailsFragment.ts +++ b/src/fragments/types/ShippingZoneDetailsFragment.ts @@ -117,6 +117,7 @@ export interface ShippingZoneDetailsFragment { id: string; countries: (ShippingZoneDetailsFragment_countries | null)[] | null; name: string; + description: string | null; default: boolean; shippingMethods: (ShippingZoneDetailsFragment_shippingMethods | null)[] | null; warehouses: (ShippingZoneDetailsFragment_warehouses | null)[] | null; diff --git a/src/fragments/types/ShippingZoneFragment.ts b/src/fragments/types/ShippingZoneFragment.ts index ddbf30da6..2aa596c72 100644 --- a/src/fragments/types/ShippingZoneFragment.ts +++ b/src/fragments/types/ShippingZoneFragment.ts @@ -31,4 +31,5 @@ export interface ShippingZoneFragment { id: string; countries: (ShippingZoneFragment_countries | null)[] | null; name: string; + description: string | null; } diff --git a/src/shipping/components/ShippingZoneDetailsPage/ShippingZoneDetailsPage.tsx b/src/shipping/components/ShippingZoneDetailsPage/ShippingZoneDetailsPage.tsx index 204ee2bdb..8c6cfd482 100644 --- a/src/shipping/components/ShippingZoneDetailsPage/ShippingZoneDetailsPage.tsx +++ b/src/shipping/components/ShippingZoneDetailsPage/ShippingZoneDetailsPage.tsx @@ -1,3 +1,5 @@ +import makeStyles from "@material-ui/core/styles/makeStyles"; +import TextField from "@material-ui/core/TextField"; import AppHeader from "@saleor/components/AppHeader"; import CardSpacer from "@saleor/components/CardSpacer"; import { ConfirmButtonTransitionState } from "@saleor/components/ConfirmButton"; @@ -33,9 +35,27 @@ import ShippingZoneWarehouses from "../ShippingZoneWarehouses"; export interface FormData extends MetadataFormData { name: string; + description: string; warehouses: string[]; } +const maxDescriptionLength = 300; + +const useStyles = makeStyles( + { + label: { + flex: 1 + }, + labelContainer: { + "& span": { + paddingRight: 30 + }, + display: "flex" + } + }, + { name: "ShippingZoneDetailsPage" } +); + export interface ShippingZoneDetailsPageProps extends FetchMoreProps, SearchProps, @@ -91,8 +111,10 @@ const ShippingZoneDetailsPage: React.FC = ({ warehouses }) => { const intl = useIntl(); + const classes = useStyles({}); const initialForm: FormData = { + description: shippingZone?.description || "", metadata: shippingZone?.metadata.map(mapMetadataItemToInput), name: shippingZone?.name || "", privateMetadata: shippingZone?.privateMetadata.map(mapMetadataItemToInput), @@ -124,6 +146,7 @@ const ShippingZoneDetailsPage: React.FC = ({ ); const changeMetadata = makeMetadataChangeHandler(change); + const description = data.description; return ( @@ -202,6 +225,41 @@ const ShippingZoneDetailsPage: React.FC = ({ warehouses={warehouseChoices} />
+ maxDescriptionLength} + name={"description"} + label={ +
+
+ +
+ {description?.length > 0 && ( + + + + )} +
+ } + InputProps={{ + inputProps: { + maxLength: maxDescriptionLength + } + }} + value={description} + onChange={change} + disabled={loading || disabled} + fullWidth + multiline + placeholder={"placeholder"} + rows={10} + /> = ({ id, input: { addWarehouses: warehouseDiff.added, + description: submitData.description, name: submitData.name, removeWarehouses: warehouseDiff.removed } diff --git a/src/storybook/__snapshots__/Stories.test.ts.snap b/src/storybook/__snapshots__/Stories.test.ts.snap index 7f790fbf8..e1e89a6cd 100644 --- a/src/storybook/__snapshots__/Stories.test.ts.snap +++ b/src/storybook/__snapshots__/Stories.test.ts.snap @@ -209429,6 +209429,55 @@ exports[`Storyshots Views / Shipping / Shipping zone details default 1`] = `
+
+ +
+ + +
+
@@ -210346,6 +210395,55 @@ exports[`Storyshots Views / Shipping / Shipping zone details form errors 1`] = `
+
+ +
+ + +
+
@@ -211040,6 +211138,51 @@ exports[`Storyshots Views / Shipping / Shipping zone details loading 1`] = `
+
+ +
+ + +
+
-
- -
- - -
-
@@ -209685,7 +209688,7 @@ exports[`Storyshots Views / Shipping / Shipping zone details form errors 1`] = ` class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id MuiFormLabel-filled-id" data-shrink="true" > - Shipping rate name + Shipping zone name
+
+
+ +
+ + +
+
-
- -
- - -
-
@@ -210656,7 +210662,7 @@ exports[`Storyshots Views / Shipping / Shipping zone details loading 1`] = ` class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id" data-shrink="false" > - Shipping rate name + Shipping zone name
+
+
+ +
+