Skip to content

Commit 8335022

Browse files
CAMOBAPe271828-
andauthored
feat: emit 'open' event if visual challenge appears (#49)
* feat: emit 'open' event if visual challenge appears * docs: add 'open' event description * fix: update jest snapshots * chore: update console.log message on 'open ' in Example.App.js Co-authored-by: e271828- <e271828-@users.noreply.github.com> * Apply suggestions from code review --------- Co-authored-by: e271828- <e271828-@users.noreply.github.com>
1 parent 28be3d7 commit 8335022

File tree

5 files changed

+8
-10
lines changed

5 files changed

+8
-10
lines changed

Example.App.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ export default class App extends React.Component {
1818
} else if (['error', 'expired'].includes(event.nativeEvent.data)) {
1919
this.captchaForm.hide();
2020
this.setState({ code: event.nativeEvent.data});
21+
} else if (event.nativeEvent.data === 'open') {
22+
console.log('Visual challenge opened');
2123
} else {
2224
console.log('Verified code from hCaptcha', event.nativeEvent.data);
2325
this.captchaForm.hide();

Hcaptcha.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,7 @@ const Hcaptcha = ({
145145
window.ReactNativeWebView.postMessage("cancel");
146146
};
147147
var onOpen = function() {
148-
// NOTE: disabled for simplicity.
149-
// window.ReactNativeWebView.postMessage("open");
148+
window.ReactNativeWebView.postMessage("open");
150149
console.log("challenge opened");
151150
};
152151
var onDataExpiredCallback = function(error) { window.ReactNativeWebView.postMessage("expired"); };

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ Also, please note the following special message strings that can be returned via
3838
| expired | passcode response expired and the user must re-verify |
3939
| error | there was an error displaying the challenge |
4040
| cancel | the user closed the challenge, or did not answer before session expired |
41+
| open | the visual challenge was opened |
4142

4243

4344
Any other string returned by `onMessage` will be a passcode.

__tests__/__snapshots__/ConfirmHcaptcha.test.js.snap

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -99,8 +99,7 @@ exports[`ConfirmHcaptcha snapshot tests renders ConfirmHcaptcha with all props 1
9999
window.ReactNativeWebView.postMessage(\\"cancel\\");
100100
};
101101
var onOpen = function() {
102-
// NOTE: disabled for simplicity.
103-
// window.ReactNativeWebView.postMessage(\\"open\\");
102+
window.ReactNativeWebView.postMessage(\\"open\\");
104103
console.log(\\"challenge opened\\");
105104
};
106105
var onDataExpiredCallback = function(error) { window.ReactNativeWebView.postMessage(\\"expired\\"); };
@@ -255,8 +254,7 @@ exports[`ConfirmHcaptcha snapshot tests renders ConfirmHcaptcha with minimum pro
255254
window.ReactNativeWebView.postMessage(\\"cancel\\");
256255
};
257256
var onOpen = function() {
258-
// NOTE: disabled for simplicity.
259-
// window.ReactNativeWebView.postMessage(\\"open\\");
257+
window.ReactNativeWebView.postMessage(\\"open\\");
260258
console.log(\\"challenge opened\\");
261259
};
262260
var onDataExpiredCallback = function(error) { window.ReactNativeWebView.postMessage(\\"expired\\"); };

__tests__/__snapshots__/Hcaptcha.test.js.snap

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ exports[`Hcaptcha snapshot tests renders Hcaptcha with all props 1`] = `
6161
window.ReactNativeWebView.postMessage(\\"cancel\\");
6262
};
6363
var onOpen = function() {
64-
// NOTE: disabled for simplicity.
65-
// window.ReactNativeWebView.postMessage(\\"open\\");
64+
window.ReactNativeWebView.postMessage(\\"open\\");
6665
console.log(\\"challenge opened\\");
6766
};
6867
var onDataExpiredCallback = function(error) { window.ReactNativeWebView.postMessage(\\"expired\\"); };
@@ -177,8 +176,7 @@ exports[`Hcaptcha snapshot tests renders Hcaptcha with minimum props 1`] = `
177176
window.ReactNativeWebView.postMessage(\\"cancel\\");
178177
};
179178
var onOpen = function() {
180-
// NOTE: disabled for simplicity.
181-
// window.ReactNativeWebView.postMessage(\\"open\\");
179+
window.ReactNativeWebView.postMessage(\\"open\\");
182180
console.log(\\"challenge opened\\");
183181
};
184182
var onDataExpiredCallback = function(error) { window.ReactNativeWebView.postMessage(\\"expired\\"); };

0 commit comments

Comments
 (0)