- add recaptcha frontend setup (wip: for backend script to validate recaptcha)

- use data variables when writing project scripts
This commit is contained in:
oonyeje 2026-01-06 11:02:29 -05:00
parent 3058682c9b
commit ae35c1cd00
8 changed files with 168 additions and 11 deletions

View File

@ -1,10 +1,10 @@
{
"build": {
"id": "0fa6d084-a975-4ebd-8c09-aebcb05c2326",
"id": "b5e39f55-b670-4f2a-9fc8-79f5f281bb40",
"projectId": "363652e3-9846-4534-acdf-9b2b3c66eec0",
"version": 5355,
"createdAt": "2026-01-05T00:35:32.408+00:00",
"updatedAt": "2026-01-05T00:35:32.408+00:00",
"version": 5432,
"createdAt": "2026-01-06T16:00:08.44+00:00",
"updatedAt": "2026-01-06T16:00:08.44+00:00",
"pages": {
"meta": {
"siteName": "Inasa Healthcare",
@ -29852,6 +29852,19 @@
"value": 1.5
}
}
],
[
"eENw2HjYEorPmsVE2wrRJ:5zaWVFAeAfWgFjJNQ0GET:width:",
{
"breakpointId": "5zaWVFAeAfWgFjJNQ0GET",
"styleSourceId": "eENw2HjYEorPmsVE2wrRJ",
"property": "width",
"value": {
"type": "unit",
"unit": "%",
"value": 50
}
}
]
],
"styleSources": [
@ -31590,6 +31603,13 @@
"type": "local",
"id": "GqpFBBFprgpQFFazEUGaI"
}
],
[
"eENw2HjYEorPmsVE2wrRJ",
{
"type": "local",
"id": "eENw2HjYEorPmsVE2wrRJ"
}
]
],
"styleSourceSelections": [
@ -33824,6 +33844,15 @@
"GqpFBBFprgpQFFazEUGaI"
]
}
],
[
"VppAZ0TDHoNOe9k62U6BX",
{
"instanceId": "VppAZ0TDHoNOe9k62U6BX",
"values": [
"eENw2HjYEorPmsVE2wrRJ"
]
}
]
],
"props": [
@ -35786,6 +35815,76 @@
"type": "string",
"value": "https://d2oe0ra32qx05a.cloudfront.net/?practiceKey=k_1_112536"
}
],
[
"IPh-867v50KP0SZXNrnm9",
{
"id": "IPh-867v50KP0SZXNrnm9",
"instanceId": "YXxe1L0yH2J-Ti2z2f_nI",
"name": "code",
"type": "string",
"value": "<script src=\"https://www.google.com/recaptcha/api.js\" async defer></script>"
}
],
[
"grMEKZ-HQ5LK4qOL3sStX",
{
"id": "grMEKZ-HQ5LK4qOL3sStX",
"instanceId": "VppAZ0TDHoNOe9k62U6BX",
"name": "class",
"type": "string",
"value": "g-recaptcha"
}
],
[
"HE7SJHMpI9xTTh4J4Yna1",
{
"id": "HE7SJHMpI9xTTh4J4Yna1",
"instanceId": "VppAZ0TDHoNOe9k62U6BX",
"name": "data-sitekey",
"type": "expression",
"value": "$ws$dataSource$PjUfILZrLQQ3aB7ddbqN9"
}
],
[
"1OX4gk8KEMiLWImgEPCvN",
{
"id": "1OX4gk8KEMiLWImgEPCvN",
"instanceId": "VppAZ0TDHoNOe9k62U6BX",
"name": "data-action",
"type": "string",
"value": "SUBMIT_FORM_MESSAGE"
}
],
[
"bfs9j5mxJNYFM8VaWyvtv",
{
"id": "bfs9j5mxJNYFM8VaWyvtv",
"instanceId": "VppAZ0TDHoNOe9k62U6BX",
"name": "required",
"type": "string",
"value": "true"
}
],
[
"dkJINgeUSowVV4x5qjSlu",
{
"id": "dkJINgeUSowVV4x5qjSlu",
"instanceId": "YXxe1L0yH2J-Ti2z2f_nI",
"name": "data-ws-show",
"type": "boolean",
"value": false
}
],
[
"kJbEI-ZSjVdxQMfyEhjig",
{
"id": "kJbEI-ZSjVdxQMfyEhjig",
"instanceId": "VppAZ0TDHoNOe9k62U6BX",
"name": "data-ws-show",
"type": "boolean",
"value": false
}
]
],
"dataSources": [
@ -35866,6 +35965,32 @@
"value": "$res:u/oonyeje/brevo_access_key"
}
}
],
[
"Rb4jZFNnDwnVryTz5T0AK",
{
"type": "variable",
"id": "Rb4jZFNnDwnVryTz5T0AK",
"scopeInstanceId": "cak3K6f0txiZz-JxidyCu",
"name": "RECAPTCHA_KEY",
"value": {
"type": "string",
"value": "6LfUMEAsAAAAAEZToQcCSCVbPw8BX2Hrt1DWlbm3"
}
}
],
[
"PjUfILZrLQQ3aB7ddbqN9",
{
"type": "variable",
"id": "PjUfILZrLQQ3aB7ddbqN9",
"scopeInstanceId": "VppAZ0TDHoNOe9k62U6BX",
"name": "RECAPTCHA_KEY",
"value": {
"type": "string",
"value": "6LdzXT8sAAAAANGtY6e5k2W0Z9VABHe75zGRt07C"
}
}
]
],
"resources": [],
@ -37408,6 +37533,10 @@
"component": "ws:element",
"tag": "section",
"children": [
{
"type": "id",
"value": "YXxe1L0yH2J-Ti2z2f_nI"
},
{
"type": "id",
"value": "sir1L86ob3MdPhstm94Hb"
@ -39469,6 +39598,7 @@
"type": "instance",
"id": "FWErf923dUrcCtRUj8GsR",
"component": "HtmlEmbed",
"label": "Contact Form Submit Script",
"children": []
}
],
@ -41598,6 +41728,10 @@
"type": "id",
"value": "VyIFtFPr8JzvNc1Wj30Wv"
},
{
"type": "id",
"value": "VppAZ0TDHoNOe9k62U6BX"
},
{
"type": "id",
"value": "ohhe3SozVAasVdjYbb_Ek"
@ -43661,6 +43795,27 @@
}
]
}
],
[
"YXxe1L0yH2J-Ti2z2f_nI",
{
"type": "instance",
"id": "YXxe1L0yH2J-Ti2z2f_nI",
"component": "HtmlEmbed",
"label": "Recaptcha Script",
"children": []
}
],
[
"VppAZ0TDHoNOe9k62U6BX",
{
"type": "instance",
"id": "VppAZ0TDHoNOe9k62U6BX",
"component": "ws:element",
"tag": "div",
"label": "RecaptchaBlock",
"children": []
}
]
],
"deployment": {

View File

@ -10,7 +10,7 @@ import { Fragment as Fragment_1, Slot as Slot, HtmlEmbed as HtmlEmbed, Image as
export const projectId = "363652e3-9846-4534-acdf-9b2b3c66eec0";
export const lastPublished = "2026-01-05T00:35:32.408Z";
export const lastPublished = "2026-01-06T16:00:08.440Z";
export const siteName = "Inasa Healthcare";

View File

@ -2,7 +2,7 @@
export const sitemap = [
{
"path": "/",
"lastModified": "2026-01-05"
"lastModified": "2026-01-06"
}
];

View File

@ -10,7 +10,7 @@ import { Link as Link, Body as Body } from "@webstudio-is/sdk-components-react-r
export const projectId = "363652e3-9846-4534-acdf-9b2b3c66eec0";
export const lastPublished = "2026-01-05T00:35:32.408Z";
export const lastPublished = "2026-01-06T16:00:08.440Z";
export const siteName = "Inasa Healthcare";

View File

@ -10,7 +10,7 @@ import { Link as Link, Body as Body, RemixForm as RemixForm } from "@webstudio-i
export const projectId = "363652e3-9846-4534-acdf-9b2b3c66eec0";
export const lastPublished = "2026-01-05T00:35:32.408Z";
export const lastPublished = "2026-01-06T16:00:08.440Z";
export const siteName = "Inasa Healthcare";
@ -29,6 +29,7 @@ import { Link as Link, Body as Body, RemixForm as RemixForm } from "@webstudio-i
const Page = (_props: { system: any; }) => {
let [RECAPTCHA_KEY, set$RECAPTCHA_KEY] = useVariableState<any>("6LdzXT8sAAAAANGtY6e5k2W0Z9VABHe75zGRt07C")
let [WINDMILL_BASE_URL, set$WINDMILL_BASE_URL] = useVariableState<any>("https://windmill.bsidesolutions.net/api")
let [BREVO_JWT_TOKEN, set$BREVO_JWT_TOKEN] = useVariableState<any>("VTU7hlcLX0LDE2tyEYIQ1XSe4hVPU10I")
let [CONTACT_FORM_WEBHOOK_URL_PATH, set$CONTACT_FORM_WEBHOOK_URL_PATH] = useVariableState<any>("w/bside-hosted-websites/jobs/run/p/f/email_automations/send_a_transactional_email_for_website_contact_form")

View File

@ -11,7 +11,7 @@ import { Dialog as Dialog, DialogTrigger as DialogTrigger, DialogOverlay as Dial
export const projectId = "363652e3-9846-4534-acdf-9b2b3c66eec0";
export const lastPublished = "2026-01-05T00:35:32.408Z";
export const lastPublished = "2026-01-06T16:00:08.440Z";
export const siteName = "Inasa Healthcare";

View File

@ -11,7 +11,7 @@ import { Body as Body, Link as Link } from "@webstudio-is/sdk-components-react-r
export const projectId = "363652e3-9846-4534-acdf-9b2b3c66eec0";
export const lastPublished = "2026-01-05T00:35:32.408Z";
export const lastPublished = "2026-01-06T16:00:08.440Z";
export const siteName = "Inasa Healthcare";

View File

@ -11,7 +11,7 @@ import { Dialog as Dialog, DialogTrigger as DialogTrigger, DialogOverlay as Dial
export const projectId = "363652e3-9846-4534-acdf-9b2b3c66eec0";
export const lastPublished = "2026-01-05T00:35:32.408Z";
export const lastPublished = "2026-01-06T16:00:08.440Z";
export const siteName = "Inasa Healthcare";
@ -51,6 +51,7 @@ import { Dialog as Dialog, DialogTrigger as DialogTrigger, DialogOverlay as Dial
const Page = (_props: { system: any; }) => {
let [RECAPTCHA_KEY, set$RECAPTCHA_KEY] = useVariableState<any>("6LdzXT8sAAAAANGtY6e5k2W0Z9VABHe75zGRt07C")
let [WINDMILL_BASE_URL, set$WINDMILL_BASE_URL] = useVariableState<any>("https://windmill.bsidesolutions.net/api")
let [BREVO_JWT_TOKEN, set$BREVO_JWT_TOKEN] = useVariableState<any>("VTU7hlcLX0LDE2tyEYIQ1XSe4hVPU10I")
let [CONTACT_FORM_WEBHOOK_URL_PATH, set$CONTACT_FORM_WEBHOOK_URL_PATH] = useVariableState<any>("w/bside-hosted-websites/jobs/run/p/f/email_automations/send_a_transactional_email_for_website_contact_form")