- 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": { "build": {
"id": "0fa6d084-a975-4ebd-8c09-aebcb05c2326", "id": "b5e39f55-b670-4f2a-9fc8-79f5f281bb40",
"projectId": "363652e3-9846-4534-acdf-9b2b3c66eec0", "projectId": "363652e3-9846-4534-acdf-9b2b3c66eec0",
"version": 5355, "version": 5432,
"createdAt": "2026-01-05T00:35:32.408+00:00", "createdAt": "2026-01-06T16:00:08.44+00:00",
"updatedAt": "2026-01-05T00:35:32.408+00:00", "updatedAt": "2026-01-06T16:00:08.44+00:00",
"pages": { "pages": {
"meta": { "meta": {
"siteName": "Inasa Healthcare", "siteName": "Inasa Healthcare",
@ -29852,6 +29852,19 @@
"value": 1.5 "value": 1.5
} }
} }
],
[
"eENw2HjYEorPmsVE2wrRJ:5zaWVFAeAfWgFjJNQ0GET:width:",
{
"breakpointId": "5zaWVFAeAfWgFjJNQ0GET",
"styleSourceId": "eENw2HjYEorPmsVE2wrRJ",
"property": "width",
"value": {
"type": "unit",
"unit": "%",
"value": 50
}
}
] ]
], ],
"styleSources": [ "styleSources": [
@ -31590,6 +31603,13 @@
"type": "local", "type": "local",
"id": "GqpFBBFprgpQFFazEUGaI" "id": "GqpFBBFprgpQFFazEUGaI"
} }
],
[
"eENw2HjYEorPmsVE2wrRJ",
{
"type": "local",
"id": "eENw2HjYEorPmsVE2wrRJ"
}
] ]
], ],
"styleSourceSelections": [ "styleSourceSelections": [
@ -33824,6 +33844,15 @@
"GqpFBBFprgpQFFazEUGaI" "GqpFBBFprgpQFFazEUGaI"
] ]
} }
],
[
"VppAZ0TDHoNOe9k62U6BX",
{
"instanceId": "VppAZ0TDHoNOe9k62U6BX",
"values": [
"eENw2HjYEorPmsVE2wrRJ"
]
}
] ]
], ],
"props": [ "props": [
@ -35786,6 +35815,76 @@
"type": "string", "type": "string",
"value": "https://d2oe0ra32qx05a.cloudfront.net/?practiceKey=k_1_112536" "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": [ "dataSources": [
@ -35866,6 +35965,32 @@
"value": "$res:u/oonyeje/brevo_access_key" "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": [], "resources": [],
@ -37408,6 +37533,10 @@
"component": "ws:element", "component": "ws:element",
"tag": "section", "tag": "section",
"children": [ "children": [
{
"type": "id",
"value": "YXxe1L0yH2J-Ti2z2f_nI"
},
{ {
"type": "id", "type": "id",
"value": "sir1L86ob3MdPhstm94Hb" "value": "sir1L86ob3MdPhstm94Hb"
@ -39469,6 +39598,7 @@
"type": "instance", "type": "instance",
"id": "FWErf923dUrcCtRUj8GsR", "id": "FWErf923dUrcCtRUj8GsR",
"component": "HtmlEmbed", "component": "HtmlEmbed",
"label": "Contact Form Submit Script",
"children": [] "children": []
} }
], ],
@ -41598,6 +41728,10 @@
"type": "id", "type": "id",
"value": "VyIFtFPr8JzvNc1Wj30Wv" "value": "VyIFtFPr8JzvNc1Wj30Wv"
}, },
{
"type": "id",
"value": "VppAZ0TDHoNOe9k62U6BX"
},
{ {
"type": "id", "type": "id",
"value": "ohhe3SozVAasVdjYbb_Ek" "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": { "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 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"; export const siteName = "Inasa Healthcare";

View File

@ -2,7 +2,7 @@
export const sitemap = [ export const sitemap = [
{ {
"path": "/", "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 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"; 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 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"; 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; }) => { 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 [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 [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") 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 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"; 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 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"; 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 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"; export const siteName = "Inasa Healthcare";
@ -51,6 +51,7 @@ import { Dialog as Dialog, DialogTrigger as DialogTrigger, DialogOverlay as Dial
const Page = (_props: { system: any; }) => { 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 [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 [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") 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")