// KineSuite landing — phone mockup (aligned with app UI: index.tsx + EvaluationCard).
// Matches assets/logo-mark.svg and app LogoMark (AnimatedMark assembly @ t=1).
function LandingMark({ size = 28, fg = '#fff' }) {
return (
);
}
/** App icon (favicon.svg) — nav, footer, anywhere the full tile is shown. */
function LandingBrandIcon({ size = 32 }) {
return (
);
}
function LandingWordmark({ size = 22, light = false }) {
return (
Kine
Suite
);
}
function LandingPhone({ width = 360, children }) {
const height = Math.round(width * (852 / 392));
const radius = Math.round(width * 0.115);
const innerRadius = radius - 8;
return (
{/* Header — matches app/(tabs)/index.tsx */}
{lang === 'es' ? 'Evaluaciones' : 'Assessments'}
{LANDING_CATALOG_TOTAL} {lang === 'es' ? 'escalas validadas' : 'validated scales'}
K
{/* Search — height 42, radius 10 */}
{lang === 'es' ? 'Buscar escala, ítem, autor…' : 'Search scale, item, author…'}
{/* Category chips */}
{chips.map((c, i) => (
{c.cat && (
)}
{c.label}
))}
{/* Scale list — EvaluationCard layout */}
{visible.map((scale) => (
))}
{/* Tab bar — Evaluaciones · Pacientes · Historial · Ajustes */}
{[
{ label: lang === 'es' ? 'Evaluaciones' : 'Assessments', icon: 'grid', active: true },
{ label: lang === 'es' ? 'Pacientes' : 'Patients', icon: 'people' },
{ label: lang === 'es' ? 'Historial' : 'History', icon: 'time' },
{ label: lang === 'es' ? 'Ajustes' : 'Settings', icon: 'settings' },
].map((tab, i) => (
{tab.label}
))}
);
}
function TabIcon({ kind }) {
const c = 'currentColor';
const stroke = { fill: 'none', stroke: c, strokeWidth: 1.8, strokeLinecap: 'round', strokeLinejoin: 'round' };
if (kind === 'grid') return (