CAPTCHA inviżibbli għal React & Next.js
Pakkett NPM b'appoġġ TypeScript, React Hooks API u kompatibbiltà SSR ta' Next.js. Biss 3KB gzipped.

Esperjenza tal-Iżviluppatur
TypeScript nattiv – sigurtà sħiħa tat-tipi
React Hooks API – Hook useSilentShield()
Kompatibbli ma' Next.js SSR – jaħdem ma' App Router
Daqs tal-bundle: biss 3KB gzipped
Tree-shakeable – biss dak li għandek bżonn
Żero dipendenzi – bla kodiċi żejda
Eżempji tal-kodiċi
Installazzjoni
npm install @silentshield/reactReact Hook API
import { useSilentShield } from '@silentshield/react';
function ContactForm() {
const { verify, isVerifying } = useSilentShield({
siteKey: 'YOUR_SITE_KEY',
});
const handleSubmit = async (e: FormEvent) => {
e.preventDefault();
const token = await verify();
// Send token to backend
await fetch('/api/contact', {
method: 'POST',
body: JSON.stringify({ ...formData, token }),
});
};
return (
<form onSubmit={handleSubmit}>
{/* Your form fields */}
<button disabled={isVerifying}>
Submit
</button>
</form>
);
}Next.js App Router
// app/api/contact/route.ts
import { verifySilentShield } from '@silentshield/node';
export async function POST(req: Request) {
const { token, ...data } = await req.json();
const result = await verifySilentShield({
secret: process.env.SILENTSHIELD_SECRET!,
token,
});
if (!result.success) {
return Response.json(
{ error: 'Bot detected' },
{ status: 403 }
);
}
// Process form data...
}Mudell Provider
import { SilentShieldProvider } from '@silentshield/react';
function App() {
return (
<SilentShieldProvider siteKey="YOUR_SITE_KEY">
<MyApp />
</SilentShieldProvider>
);
}Integra ma' React issa
npm install @silentshield/react – lest f'5 minuti.