Sentros.Shared — Social Widget (Fase 1)
Ponto único de manutenção. Sites destino (PHP, Next, React) consomem via <script> + <sentros-social>, sem recompilar.
Abrir demo Next.js → · Abrir demo PHP/HTML puro →
1. PHP / HTML estático
<script src="https://cdn.seudominio.com/cdn/v1/sentros-social.js" async></script>
<sentros-social site-key="pk_demo" api-base="https://api.seudominio.com"></sentros-social>2. Next.js / React (client-only)
"use client";
import { useEffect } from "react";
export function SocialEmbed() {
useEffect(() => {
const s = document.createElement("script");
s.src = "/cdn/v1/sentros-social.js";
s.async = true;
document.body.appendChild(s);
return () => { document.body.removeChild(s); };
}, []);
return <sentros-social site-key="pk_demo" api-base="" />;
}Custom Element não faz SSR: carregar apenas no cliente (ver /demo).
3. Herança visual do site cliente
sentros-social {
--sentros-primary: #111827;
--sentros-accent: #2563eb;
--sentros-radius: 12px;
/* sem tokens: herda font/cor do site via inherit */
}