/* global grecaptcha */
import React from "react"
import FormGroup from "misago/components/form-group"
export class BaseCaptcha {
init(context, ajax, include, snackbar) {
this._context = context
this._ajax = ajax
this._include = include
this._snackbar = snackbar
}
}
export class NoCaptcha extends BaseCaptcha {
load() {
return new Promise(function(resolve) {
// immediately resolve as we don't have anything to validate
resolve()
})
}
validator() {
return null
}
component() {
return null
}
}
export class QACaptcha extends BaseCaptcha {
load() {
var self = this
return new Promise((resolve, reject) => {
self._ajax.get(self._context.get("CAPTCHA_API")).then(
function(data) {
self.question = data.question
self.helpText = data.help_text
resolve()
},
function() {
self._snackbar.error(gettext("Failed to load CAPTCHA."))
reject()
}
)
})
}
validator() {
return []
}
component(kwargs) {
return (