Servidor Fastify + Socket.IO + Drizzle/Postgres; front Vite+React (EN/ES, tema claro/oscuro). Tableros por columnas con plantillas, notas privadas/públicas, agrupación, votos configurables (multivoto), timer compartido con alarma, fases, action items, export Markdown/JSON e import, autodestrucción, gestión de columnas. Imagen única (front servido por el servidor) y CI que la construye y publica.
20 lines
590 B
TypeScript
20 lines
590 B
TypeScript
import { LangSwitcher } from "../i18n";
|
|
import { ThemeSwitcher } from "../theme";
|
|
|
|
// Marca "S" + wordmark a la izquierda; tema e idioma a la derecha.
|
|
export function AppBar({ children }: { children?: React.ReactNode }) {
|
|
return (
|
|
<header className="appbar">
|
|
<a className="brand" href="/" style={{ textDecoration: "none" }}>
|
|
<span className="brand-logo">S</span>
|
|
<span className="brand-name">sternboard</span>
|
|
</a>
|
|
<div className="appbar-right">
|
|
{children}
|
|
<ThemeSwitcher />
|
|
<LangSwitcher />
|
|
</div>
|
|
</header>
|
|
);
|
|
}
|