From 002e29e0c0a40bc9044b13c4c0a09d622bb8d3b5 Mon Sep 17 00:00:00 2001 From: Ruslan Arkhipau Date: Sun, 13 Sep 2020 22:45:03 -0700 Subject: [PATCH] chore(docs): update demo site to always supply v3 token --- .../app/examples/basic/basic-demo.module.ts | 3 ++- .../app/examples/forms/forms-demo.module.ts | 3 ++- .../global-config/global-config-demo.module.ts | 2 ++ .../invisible/invisible-demo.module.ts | 3 ++- .../preload-api/preload-api-demo.module-de | 18 +++++++++++------- .../preload-api-demo.module-default | 18 +++++++++++------- .../preload-api/preload-api-demo.module-fr | 18 +++++++++++------- .../preload-api/preload-api-demo.module.ts | 12 ++++++++---- 8 files changed, 49 insertions(+), 28 deletions(-) diff --git a/demo/v-all/src/app/examples/basic/basic-demo.module.ts b/demo/v-all/src/app/examples/basic/basic-demo.module.ts index 075c20b..8f54e11 100644 --- a/demo/v-all/src/app/examples/basic/basic-demo.module.ts +++ b/demo/v-all/src/app/examples/basic/basic-demo.module.ts @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Routes, RouterModule } from '@angular/router'; -import { RECAPTCHA_LANGUAGE, RecaptchaModule } from 'ng-recaptcha'; +import { RecaptchaModule, RECAPTCHA_LANGUAGE, RECAPTCHA_V3_SITE_KEY } from 'ng-recaptcha'; import { parseLangFromHref } from '../../parse-lang-from-href'; import { BasicDemoComponent } from './basic-demo.component'; @@ -24,6 +24,7 @@ const routes: Routes = [ CommonModule, ], providers: [ + { provide: RECAPTCHA_V3_SITE_KEY, useValue: '6LeGCZAUAAAAADuhzcuvSB-lYDsxJBl9HUWtZkUM' }, { provide: RECAPTCHA_LANGUAGE, useValue: parseLangFromHref() }, ], }) diff --git a/demo/v-all/src/app/examples/forms/forms-demo.module.ts b/demo/v-all/src/app/examples/forms/forms-demo.module.ts index dd38ac9..ff641fd 100644 --- a/demo/v-all/src/app/examples/forms/forms-demo.module.ts +++ b/demo/v-all/src/app/examples/forms/forms-demo.module.ts @@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { Routes, RouterModule } from '@angular/router'; -import { RecaptchaFormsModule, RecaptchaModule, RECAPTCHA_LANGUAGE } from 'ng-recaptcha'; +import { RecaptchaFormsModule, RecaptchaModule, RECAPTCHA_LANGUAGE, RECAPTCHA_V3_SITE_KEY } from 'ng-recaptcha'; import { parseLangFromHref } from '../../parse-lang-from-href'; import { FormsDemoComponent } from './forms-demo.component'; @@ -27,6 +27,7 @@ const routes: Routes = [ CommonModule, ], providers: [ + { provide: RECAPTCHA_V3_SITE_KEY, useValue: '6LeGCZAUAAAAADuhzcuvSB-lYDsxJBl9HUWtZkUM' }, { provide: RECAPTCHA_LANGUAGE, useValue: parseLangFromHref() }, ], }) diff --git a/demo/v-all/src/app/examples/global-config/global-config-demo.module.ts b/demo/v-all/src/app/examples/global-config/global-config-demo.module.ts index e05731d..3fd2018 100644 --- a/demo/v-all/src/app/examples/global-config/global-config-demo.module.ts +++ b/demo/v-all/src/app/examples/global-config/global-config-demo.module.ts @@ -9,6 +9,7 @@ import { RecaptchaModule, RecaptchaSettings, RECAPTCHA_LANGUAGE, + RECAPTCHA_V3_SITE_KEY, } from 'ng-recaptcha'; import { parseLangFromHref } from '../../parse-lang-from-href'; @@ -38,6 +39,7 @@ const routes: Routes = [ useValue: globalSettings, }, { provide: RECAPTCHA_LANGUAGE, useValue: parseLangFromHref() }, + { provide: RECAPTCHA_V3_SITE_KEY, useValue: '6LeGCZAUAAAAADuhzcuvSB-lYDsxJBl9HUWtZkUM' }, ], }) export class DemoModule { } diff --git a/demo/v-all/src/app/examples/invisible/invisible-demo.module.ts b/demo/v-all/src/app/examples/invisible/invisible-demo.module.ts index 66222cd..60de95f 100644 --- a/demo/v-all/src/app/examples/invisible/invisible-demo.module.ts +++ b/demo/v-all/src/app/examples/invisible/invisible-demo.module.ts @@ -2,7 +2,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Routes, RouterModule } from '@angular/router'; -import { RecaptchaModule, RECAPTCHA_LANGUAGE } from 'ng-recaptcha'; +import { RecaptchaModule, RECAPTCHA_LANGUAGE, RECAPTCHA_V3_SITE_KEY } from 'ng-recaptcha'; import { parseLangFromHref } from '../../parse-lang-from-href'; import { InvisibleDemoComponent } from './invisible-demo.component'; @@ -25,6 +25,7 @@ const routes: Routes = [ ], providers: [ { provide: RECAPTCHA_LANGUAGE, useValue: parseLangFromHref() }, + { provide: RECAPTCHA_V3_SITE_KEY, useValue: '6LeGCZAUAAAAADuhzcuvSB-lYDsxJBl9HUWtZkUM' }, ], }) export class DemoModule { } diff --git a/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-de b/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-de index a38b771..8d8e191 100644 --- a/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-de +++ b/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-de @@ -1,10 +1,10 @@ -import { Injectable, NgModule } from '@angular/core'; +import { Injectable, NgModule, Optional, Inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Routes, RouterModule } from '@angular/router'; import { BehaviorSubject, Observable } from 'rxjs'; -import { RecaptchaLoaderService, RecaptchaModule, RECAPTCHA_LANGUAGE } from 'ng-recaptcha'; +import { RecaptchaLoaderService, RecaptchaModule, RECAPTCHA_LANGUAGE, RECAPTCHA_V3_SITE_KEY } from 'ng-recaptcha'; import { PreloadApiDemoComponent } from './preload-api-demo.component'; import { settings } from './preload-api-demo.data'; @@ -13,14 +13,18 @@ import { settings } from './preload-api-demo.data'; export class PreloadedRecaptchaAPIService { public ready: Observable; - constructor() { + constructor( + @Optional() @Inject(RECAPTCHA_V3_SITE_KEY) v3SiteKey?: string, + ) { const readySubject = new BehaviorSubject(null); this.ready = readySubject.asObservable(); - const recaptchaScript = document.createElement('script'); - recaptchaScript.src = 'https://www.google.com/recaptcha/api.js?render=explicit'; - document.head.appendChild(recaptchaScript); - + if (typeof grecaptcha === 'undefined') { + const recaptchaScript = document.createElement('script'); + const renderMode = v3SiteKey || 'explicit'; + recaptchaScript.src = `https://www.google.com/recaptcha/api.js?render=${v3SiteKey}`; + document.head.appendChild(recaptchaScript); + } const interval = setInterval(() => { if (typeof grecaptcha === 'undefined' || !(grecaptcha.render instanceof Function)) { diff --git a/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-default b/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-default index faaa8e3..4c7ed77 100644 --- a/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-default +++ b/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-default @@ -1,10 +1,10 @@ -import { Injectable, NgModule } from '@angular/core'; +import { Injectable, NgModule, Optional, Inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Routes, RouterModule } from '@angular/router'; import { BehaviorSubject, Observable } from 'rxjs'; -import { RecaptchaLoaderService, RecaptchaModule } from 'ng-recaptcha'; +import { RecaptchaLoaderService, RecaptchaModule, RECAPTCHA_V3_SITE_KEY } from 'ng-recaptcha'; import { PreloadApiDemoComponent } from './preload-api-demo.component'; import { settings } from './preload-api-demo.data'; @@ -13,14 +13,18 @@ import { settings } from './preload-api-demo.data'; export class PreloadedRecaptchaAPIService { public ready: Observable; - constructor() { + constructor( + @Optional() @Inject(RECAPTCHA_V3_SITE_KEY) v3SiteKey?: string, + ) { const readySubject = new BehaviorSubject(null); this.ready = readySubject.asObservable(); - const recaptchaScript = document.createElement('script'); - recaptchaScript.src = 'https://www.google.com/recaptcha/api.js?render=explicit'; - document.head.appendChild(recaptchaScript); - + if (typeof grecaptcha === 'undefined') { + const recaptchaScript = document.createElement('script'); + const renderMode = v3SiteKey || 'explicit'; + recaptchaScript.src = `https://www.google.com/recaptcha/api.js?render=${v3SiteKey}`; + document.head.appendChild(recaptchaScript); + } const interval = setInterval(() => { if (typeof grecaptcha === 'undefined' || !(grecaptcha.render instanceof Function)) { diff --git a/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-fr b/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-fr index 4a567ee..4d4a63d 100644 --- a/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-fr +++ b/demo/v-all/src/app/examples/preload-api/preload-api-demo.module-fr @@ -1,10 +1,10 @@ -import { Injectable, NgModule } from '@angular/core'; +import { Injectable, NgModule, Optional, Inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Routes, RouterModule } from '@angular/router'; import { BehaviorSubject, Observable } from 'rxjs'; -import { RecaptchaLoaderService, RecaptchaModule, RECAPTCHA_LANGUAGE } from 'ng-recaptcha'; +import { RecaptchaLoaderService, RecaptchaModule, RECAPTCHA_LANGUAGE, RECAPTCHA_V3_SITE_KEY } from 'ng-recaptcha'; import { PreloadApiDemoComponent } from './preload-api-demo.component'; import { settings } from './preload-api-demo.data'; @@ -13,14 +13,18 @@ import { settings } from './preload-api-demo.data'; export class PreloadedRecaptchaAPIService { public ready: Observable; - constructor() { + constructor( + @Optional() @Inject(RECAPTCHA_V3_SITE_KEY) v3SiteKey?: string, + ) { const readySubject = new BehaviorSubject(null); this.ready = readySubject.asObservable(); - const recaptchaScript = document.createElement('script'); - recaptchaScript.src = 'https://www.google.com/recaptcha/api.js?render=explicit'; - document.head.appendChild(recaptchaScript); - + if (typeof grecaptcha === 'undefined') { + const recaptchaScript = document.createElement('script'); + const renderMode = v3SiteKey || 'explicit'; + recaptchaScript.src = `https://www.google.com/recaptcha/api.js?render=${v3SiteKey}`; + document.head.appendChild(recaptchaScript); + } const interval = setInterval(() => { if (typeof grecaptcha === 'undefined' || !(grecaptcha.render instanceof Function)) { diff --git a/demo/v-all/src/app/examples/preload-api/preload-api-demo.module.ts b/demo/v-all/src/app/examples/preload-api/preload-api-demo.module.ts index 5a9d51c..3f008b4 100644 --- a/demo/v-all/src/app/examples/preload-api/preload-api-demo.module.ts +++ b/demo/v-all/src/app/examples/preload-api/preload-api-demo.module.ts @@ -1,10 +1,10 @@ -import { Injectable, NgModule } from '@angular/core'; +import { Injectable, NgModule, Optional, Inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Routes, RouterModule } from '@angular/router'; import { BehaviorSubject, Observable } from 'rxjs'; -import { RecaptchaLoaderService, RecaptchaModule, RECAPTCHA_LANGUAGE } from 'ng-recaptcha'; +import { RecaptchaLoaderService, RecaptchaModule, RECAPTCHA_LANGUAGE, RECAPTCHA_V3_SITE_KEY } from 'ng-recaptcha'; import { parseLangFromHref } from '../../parse-lang-from-href'; import { PreloadApiDemoComponent } from './preload-api-demo.component'; @@ -14,13 +14,16 @@ import { settings } from './preload-api-demo.data'; export class PreloadedRecaptchaAPIService { public ready: Observable; - constructor() { + constructor( + @Optional() @Inject(RECAPTCHA_V3_SITE_KEY) v3SiteKey?: string, + ) { const readySubject = new BehaviorSubject(null); this.ready = readySubject.asObservable(); if (typeof grecaptcha === 'undefined') { const recaptchaScript = document.createElement('script'); - recaptchaScript.src = 'https://www.google.com/recaptcha/api.js?render=explicit'; + const renderMode = v3SiteKey || 'explicit'; + recaptchaScript.src = `https://www.google.com/recaptcha/api.js?render=${v3SiteKey}`; document.head.appendChild(recaptchaScript); } @@ -58,6 +61,7 @@ const routes: Routes = [ useValue: service, }, { provide: RECAPTCHA_LANGUAGE, useValue: parseLangFromHref() }, + { provide: RECAPTCHA_V3_SITE_KEY, useValue: '6LeGCZAUAAAAADuhzcuvSB-lYDsxJBl9HUWtZkUM' }, ], }) export class DemoModule { }