La obra avanza dentro del cronograma, con un margen positivo de tres días. La calidad de los materiales y las mediciones de control cumplen o superan las especificaciones del proyecto técnico. No se han registrado incidencias de seguridad ni desviaciones presupuestarias significativas.
>
);
}
// ═══════════════════════════════════════════════════════════
// ASAMBLEAS
// ═══════════════════════════════════════════════════════════
// Email del proyecto / cooperativa al que se envía la confirmación.
// Para cambiar el destinatario, edita esta constante.
const PROJECT_EMAIL = 'cooperativa.victoria@ksanet.es';
const SOCIO = { nombre: 'David Aroca', num: '042', vivienda: '3B · 96 m² · 3 dorm' };
function confirmarAsistencia({ fecha, hora, lugar, modo = 'presencial' }) {
const subject = `Confirmación de asistencia · Asamblea ${fecha} · Socio nº ${SOCIO.num}`;
const body = [
'Estimados,',
'',
`Mediante el presente correo confirmo mi asistencia a la asamblea convocada para el ${fecha} a las ${hora} en ${lugar}.`,
'',
`Modalidad de asistencia: ${modo === 'online' ? 'videollamada' : 'presencial'}.`,
'',
'Datos del socio:',
`· Nombre: ${SOCIO.nombre}`,
`· Nº de socio: ${SOCIO.num}`,
`· Vivienda: ${SOCIO.vivienda}`,
`· Cooperativa: Edificio Victoria (COOP-2026-LCH-46)`,
'',
'Un saludo,',
SOCIO.nombre,
'',
'— Enviado automáticamente desde la Plataforma KSA del cooperativista.'
].join('\n');
const mailto = `mailto:${PROJECT_EMAIL}?subject=${encodeURIComponent(subject)}&body=${encodeURIComponent(body)}`;
window.location.href = mailto;
}
function ViewAsambleas() {
const [confirmado, setConfirmado] = useState(false);
const proximaAsamblea = {
fecha: '14 de abril de 2026',
hora: '19:00 h',
lugar: 'Sede KSANET, c/ Velázquez 122 (Madrid) · y por videollamada',
};
const handleConfirmar = () => {
confirmarAsistencia(proximaAsamblea);
setConfirmado(true);
};
return (
<>
Asambleas
Cada decisión, tuya.
Próxima · 14 abril 2026 · 19:00
{/* Próxima asamblea */}
Próxima asamblea
14 abril 2026
19:00 h · Sede KSANET, c/ Velázquez 122 · y por videollamada
● Inscripción abierta
Orden del día
{[
{ n: '01', name: 'Aprobación del acta de la asamblea anterior', v: 'Vota →' },
{ n: '02', name: 'Informe de gestión Q1 2026', v: 'Vota →' },
{ n: '03', name: 'Modificación del proyecto: ampliación zona coworking (+22 m²)', v: 'Vota →' },
{ n: '04', name: 'Aprobación calendario aportaciones 2026-2027', v: 'Vota →' },
{ n: '05', name: 'Propuestas de socios y ruegos', v: '—' },
].map((it, i) => (
{it.n}{it.name}{it.v}
))}
Punto 03 · Ampliación de la zona de coworking en planta baja (+22 m²)
Coste estimado · +18.400 € · 219 € por socio
A favor
45
En contra
12
Abstención
4
Sin votar
10
{confirmado && (
✓ Se ha abierto tu cliente de correo con la confirmación dirigida a {PROJECT_EMAIL}. Revisa y pulsa enviar.
)}
{/* Histórico */}
Asambleas anteriores
{[
{
d: '12', m: 'diciembre', y: '2025', tag: 'Ordinaria · cierre 2025', loc: 'Sede KSANET · 24 socios presenciales · 47 online',
agenda: [
'Aprobación cuentas anuales 2025 · 71 a favor · 0 en contra',
'Renovación contrato auditor técnico · 68 a favor · 3 abstención',
'Calendario asambleas 2026 · 71 a favor',
'Aprobación calidades · alicatado baño principal · 65 a favor · 6 en contra',
]
},
{
d: '14', m: 'septiembre', y: '2025', tag: 'Extraordinaria · estructura',
loc: 'Videollamada · 71 socios',
agenda: [
'Aprobación inicio fase estructura · 71 a favor',
'Modificación menor proyecto · trasteros planta -1 · 69 a favor · 2 en contra',
'Selección empresa de instalaciones · 71 a favor',
]
},
{
d: '20', m: 'abril', y: '2025', tag: 'Ordinaria',
loc: 'Sede KSANET · 21 presenciales · 50 online',
agenda: [
'Informe avance · cimentación completada',
'Aprobación segundo desembolso de aportaciones · 71 a favor',
'Información sobre auditoría técnica anual',
]
},
].map((a, i) => (
{a.d} {a.m.substring(0,3)}
{a.tag}
{a.loc}
✓ Celebrada
{a.agenda.map((it, j) => (
·{it}Aprobado
))}
))}
>
);
}
// ═══════════════════════════════════════════════════════════
// MENSAJES
// ═══════════════════════════════════════════════════════════
function ViewMensajes() {
const threads = [
{ id: 0, from: 'Lucía Bermejo', role: 'Tu gestora KSANET', initials: 'LB', av: 'team', subj: 'Próxima visita de obra · viernes 28', prev: 'Hola David, te confirmo que la visita de obra abierta a socios será...', time: 'Hoy 11:42', unread: true },
{ id: 1, from: 'KSA-TECH Auditor', role: 'Auditoría técnica', initials: 'KT', av: 'audit', subj: 'Informe auditoría marzo · firmado y publicado', prev: 'Buenas tardes, ya tienes disponible el informe de auditoría correspondiente al mes...', time: 'Ayer', unread: true },
{ id: 2, from: 'Cooperativa Victoria', role: 'Junta rectora', initials: 'CV', av: 'team', subj: 'Convocatoria asamblea 14 abril', prev: 'Estimados socios, se convoca asamblea ordinaria para el próximo 14 de abril...', time: '23 mar', unread: false },
{ id: 3, from: 'Marta Hidalgo', role: 'Personalización vivienda', initials: 'MH', av: 'team', subj: 'Confirmación de tus calidades · 3B', prev: 'David, hemos recibido tu selección de acabados. Te confirmo...', time: '20 mar', unread: false },
{ id: 4, from: 'KSANET Administración', role: 'Sistema', initials: 'KS', av: 'team', subj: 'Recibo aportación marzo · descarga disponible', prev: 'Tu aportación nº 6 ha sido cobrada correctamente. Adjuntamos...', time: '15 mar', unread: false },
{ id: 5, from: 'Lucía Bermejo', role: 'Tu gestora KSANET', initials: 'LB', av: 'team', subj: 'Cambio puntual en plan de pagos', prev: 'Hola David, te informo de un pequeño ajuste en el calendario...', time: '08 mar', unread: false },
];
const [active, setActive] = useState(0);
const cur = threads[active];
return (
<>
Mensajes
Habla con tu cooperativa.
2 sin leer · 6 conversaciones
{threads.map((t, i) => (
setActive(i)}
style={{ position: 'relative' }}>
{t.initials}
{t.from}{t.time}
{t.subj}
{t.prev}
))}
{cur.subj}
De · {cur.from} ({cur.role}) · {cur.time}
{active === 0 && <>
Hola David,
Te confirmo que la visita de obra abierta a socios será el viernes 28 de marzo a las 17:00. Nos reuniremos en la caseta de obra (acceso por calle Tablas, 14) con casco y chaleco que proporcionamos en sitio.
Recorreremos las plantas 1 a 4 (forjado finalizado) acompañados de Roberto, jefe de obra, y Marina, nuestra arquitecta auditora. Después tendremos un café para resolver dudas.
Si prefieres asistir por videollamada, te enviaré el enlace 15 minutos antes.
Confírmame asistencia respondiendo a este mensaje. Un abrazo, Lucía Bermejo · gestora cooperativa Victoria
PDF
Plan de visita · viernes 28.pdf
180 KB · 2 páginas
>}
{active === 1 && <>
Buenas tardes, David:
Ya tienes disponible el informe de auditoría técnica correspondiente a marzo de 2026. La obra continúa avanzando dentro del plan, con un margen positivo de 3 días respecto al cronograma y sin desviaciones presupuestarias relevantes.
Calificación global: A+. Sin incidencias críticas. Las probetas de hormigón H-30 alcanzan 34,2 N/mm², muy por encima del mínimo exigido.
Cualquier consulta técnica, respondemos por aquí o en la asamblea del 14 de abril.
Un saludo, KSA-TECH · Auditoría independiente
PDF
Auditoria-Victoria-2026-03.pdf
2,4 MB · firmada electrónicamente
>}
{active >= 2 && <>
Hola David,
{cur.prev}
Quedamos a tu disposición para cualquier aclaración.
Un saludo, {cur.from}
>}
>
);
}
// Exportamos al window para que platform.jsx los pueda usar
Object.assign(window, { ViewObra, ViewPagos, ViewAudit, ViewDocs, ViewAsambleas, ViewMensajes });