Files
StevenandGitHub 4466ba436b chore(examples): use default prettier for examples/templates (#60530)
## Description
This PR ensures that the default prettier config is used for examples
and templates.

This config is compatible with `prettier@3` as well (upgrading prettier
is bigger change that can be a future PR).

## Changes
- Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will
be needed upgrading to prettier@3)
- Added `examples/.prettierrc.json` with default config (this will
change every example)
- Added `packages/create-next-app/templates/.prettierrc.json` with
default config (this will change every template)

## Related

- Fixes #54402
- Closes #54409
2024-01-11 16:01:44 -07:00

44 lines
1.1 KiB
TypeScript

import Script from "next/script";
type RenderParameters = {
sitekey: string;
theme?: "light" | "dark";
callback?(token: string): void;
};
declare global {
interface Window {
onloadTurnstileCallback(): void;
turnstile: {
render(container: string | HTMLElement, params: RenderParameters): void;
};
}
}
export default function ExplicitRender() {
return (
<main>
<Script id="cf-turnstile-callback">
{`window.onloadTurnstileCallback = function () {
window.turnstile.render('#my-widget', {
sitekey: '${process.env.NEXT_PUBLIC_CLOUDFLARE_TURNSTILE_SITE_KEY}',
})
}`}
</Script>
<Script
src="https://challenges.cloudflare.com/turnstile/v0/api.js?onload=onloadTurnstileCallback"
async={true}
defer={true}
/>
<form method="POST" action="/api/handler">
<h2>Dummy Login Demo</h2>
<div id="my-widget" className="checkbox" />
<button type="submit">Sign in</button>
<p>
Go to the <a href="/implicit">implicit render demo</a>
</p>
</form>
</main>
);
}