diff --git a/.github/workflows/publish-github-packages.yml b/.github/workflows/publish-github-packages.yml
new file mode 100644
index 0000000..b82b9af
--- /dev/null
+++ b/.github/workflows/publish-github-packages.yml
@@ -0,0 +1,34 @@
+name: publish github packages
+
+on:
+ release:
+ types: [published]
+
+jobs:
+ publish-gpr:
+ runs-on: ubuntu-18.04
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Setup Node
+ uses: actions/setup-node@v1
+ with:
+ node-version: '12.x'
+ registry-url: 'https://npm.pkg.github.com'
+ scope: '@Pyrax'
+
+ - name: Cache dependencies
+ uses: actions/cache@v2
+ with:
+ path: ~/.yarn
+ key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-node-
+ - run: yarn install --frozen-lockfile
+
+ - name: Autoscope package.json
+ uses: khaazz/action-autoscope@master
+
+ - run: yarn publish --registry=https://npm.pkg.github.com/Pyrax
+ env:
+ NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ecb7dfa..ea4e880 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -38,26 +38,3 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- github-packages-release:
- needs: semantic-release
- runs-on: ubuntu-18.04
- steps:
- - uses: actions/checkout@v2
-
- - name: Setup Node
- uses: actions/setup-node@v1
- with:
- node-version: '12.x'
-
- - name: Cache dependencies
- uses: actions/cache@v2
- with:
- path: ~/.yarn
- key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }}
- restore-keys: |
- ${{ runner.os }}-node-
- - run: yarn install --frozen-lockfile
-
- - run: yarn publish
- env:
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/README.md b/README.md
index 6db88c1..d87f036 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,10 @@
> React components and hooks giving you the power of Netlify Forms. Start building serverless forms on Netlify with React. Honeypot fields and reCAPTCHA are included as ready-to-use components.
-[](https://www.npmjs.com/package/react-netlify-forms) [](https://standardjs.com)
+[](https://www.npmjs.com/package/react-netlify-forms)
+[](https://www.npmjs.com/package/react-netlify-forms)
+[](https://standardjs.com)
+[](https://github.com/Pyrax/react-netlify-forms/blob/master/LICENSE.md)
diff --git a/package.json b/package.json
index 766b4a4..08d32d4 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "react-netlify-forms",
- "version": "1.1.0",
+ "version": "1.2.0",
"homepage": "https://pyrax.github.io/react-netlify-forms",
"bugs": {
"url": "https://github.com/pyrax/react-netlify-forms/issues"
diff --git a/src/netlify-form-reducer.js b/src/netlify-form-reducer.js
index f480366..aec073e 100644
--- a/src/netlify-form-reducer.js
+++ b/src/netlify-form-reducer.js
@@ -19,9 +19,17 @@ export default function (state, action) {
}
}
case 'SET_SUCCESS':
- return { ...state, success: true, error: false }
+ return {
+ ...state,
+ success: true,
+ error: false,
+ submitting: false,
+ submitted: true
+ }
case 'SET_ERROR':
- return { ...state, success: false, error: true }
+ return { ...state, success: false, error: true, submitting: false }
+ case 'SET_SUBMITTING':
+ return { ...state, submitting: true }
case 'SET_HONEYPOT_NAME':
return { ...state, honeypotName: payload }
case 'ENABLE_RECAPTCHA':
diff --git a/src/netlify-form.js b/src/netlify-form.js
index bf465b4..d2b670b 100644
--- a/src/netlify-form.js
+++ b/src/netlify-form.js
@@ -16,6 +16,8 @@ export const useNetlifyForm = ({
const initialState = {
success: false,
error: false,
+ submitting: false,
+ submitted: false,
response: null,
values: initialValues,
formName: name,
@@ -69,6 +71,8 @@ export const useNetlifyForm = ({
formData['g-recaptcha-response'] = recaptchaValue
}
+ dispatch({ type: 'SET_SUBMITTING' })
+
const response = await fetch('/', {
method: 'POST',
body: encodeFormData(formData)
diff --git a/yarn.lock b/yarn.lock
index d9e2ce8..6103e2b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3094,9 +3094,9 @@ bluebird@^3.5.5:
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
- version "4.11.8"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
- integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
+ version "4.11.9"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
+ integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
bn.js@^5.1.1:
version "5.1.1"
@@ -5384,9 +5384,9 @@ elf-tools@^1.1.1:
integrity sha512-SZSL+FS1mooDVRc3js6jUsEtzVrTaFxjqE8aQzyfmABGBW1UvhT6LQzY305vIGaxazY3bKIbxwsYsWynkYeggA==
elliptic@^6.0.0, elliptic@^6.5.2:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
- integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==
+ version "6.5.3"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6"
+ integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"