{ activeTab === 'dashboard' ? 'Visão Geral' : activeTab === 'residents' ? 'Condóminos' : activeTab === 'finance' ? 'Gestão Financeira' : activeTab === 'billing' ? 'Faturação e Cobranças' : activeTab === 'maintenance' ? 'Ocorrências e Manutenção' : activeTab === 'messages' ? 'Mensagens e Fórum' : activeTab === 'map' ? 'Mapa do Condomínio' : activeTab === 'all_bookings' ? 'Todas as Reservas' : activeTab === 'gym' ? 'Ginásio' : activeTab === 'hall' ? 'Salão de Festas' : activeTab === 'park' ? 'Parque de Jogos' : activeTab === 'profile' ? 'O Meu Perfil' : activeTab }
Notificações
{notif.message}
{notif.time}
{!notif.read && ( )}Histórico de Reservas
Lista completa de agendamentos em todos os espaços de lazer
{booking.facilityName}
{booking.date} • {booking.time}
{booking.resident}
Sem reservas
Ainda não existem agendamentos no condomínio.
Pagamentos Concluídos
Consulte o histórico de todos os pagamentos concluídos pelos condóminos.
| Morador | Fatura | Estado | Valor |
|---|---|---|---|
|
{fatura.nomeMorador} Fração: {fatura.fracao} |
{fatura.categoria} Venceu a: {fatura.dataVencimento} |
|
{Number(fatura.valor).toFixed(2)}€ |
| Nenhum pagamento concluído encontrado. | |||
Gestão de Condóminos
Total: {residents.length} frações registadas
| Fração | Proprietário | Contacto | Estado Quotas | Acesso | Em Dívida | Ações |
|---|---|---|---|---|---|---|
| {resident.unit} |
{resident.name}
{resident.email}
|
{resident.contact} | 0 ? 'text-red-600 dark:text-red-400' : 'text-slate-600 dark:text-slate-400'}`}> {Number(resident.pending).toFixed(2)}€ |
|
Avisos de Cobrança
Emita faturas ou avise condóminos individualmente
| Fração | Condómino | Quotas em Atraso | Ações |
|---|---|---|---|
| {resident.unit} | {resident.name} | 0 ? 'text-red-600 dark:text-red-400' : 'text-green-600 dark:text-green-500'}`}> {resident.pending > 0 ? `${Number(resident.pending).toFixed(2)}€` : 'Regularizado'} |
Total Pendente
{faturas.filter(f => f.moradorId === currentUserId && f.status === 'Pendente').reduce((acc, f) => acc + Number(f.valor), 0).toFixed(2)}€
Total Pago
{faturas.filter(f => f.moradorId === currentUserId && f.status === 'Pago').reduce((acc, f) => acc + Number(f.valor), 0).toFixed(2)}€
Minhas Faturas
Consulte as suas despesas e faturas emitidas
| Data Emissão | Categoria | Vencimento | Valor | Estado | Ações |
|---|---|---|---|---|---|
| Nenhuma fatura encontrada. | |||||
| {fatura.dataEmissao} | {fatura.categoria} | {fatura.dataVencimento} | {Number(fatura.valor).toFixed(2)}€ |
{fatura.status === 'Pendente' ? (
) : fatura.status === 'Em Validação' ? (
|
|
Receitas (Global)
{totalIncome.toFixed(2)}€
Despesas (Global)
{totalExpense.toFixed(2)}€
Balanço Líquido
= 0 ? 'text-blue-600 dark:text-blue-400' : 'text-red-600 dark:text-red-400'}`}> {balance > 0 ? '+' : ''}{balance.toFixed(2)}€
Diário Financeiro
{finances.length} movimentos| Data | Categoria | Descrição | Tipo | Valor | Recibo |
|---|---|---|---|---|---|
| {item.date} | {item.category} | {item.desc} |
|
{item.type === 'income' ? '+' : '-'}{Number(item.amount).toFixed(2)}€ |
Conversas
Fórum do Condomínio
GeralGrupo partilhado
{group.name}
{activeChat.id === group.id && }Grupo
{res.name} {res.unit && `(${res.unit})`}
{activeChat.id === res.id && }Morador
{activeChat.name}
{activeChat.type === 'global' ? 'Todos os moradores' : activeChat.type === 'group' ? 'Grupo Privado' : 'Privado'}
{msg.senderName}
)}{msg.text}
{timeString}