Files
BrainWind/app/src/components/TermsOfUseDialog.tsx
T

124 lines
6.2 KiB
TypeScript

import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog';
import { Button } from '@/components/ui/button';
import { Info, AlertTriangle } from 'lucide-react';
import { cn } from '@/lib/utils';
import { useState } from 'react';
interface TermsOfUseDialogProps {
isCollapsed?: boolean;
trigger?: React.ReactNode;
}
export function TermsOfUseDialog({ isCollapsed = false, trigger }: TermsOfUseDialogProps) {
const [open, setOpen] = useState(false);
return (
<Dialog open={open} onOpenChange={setOpen}>
<DialogTrigger asChild>
{trigger ? trigger : (
<button
className={cn(
'flex items-center gap-3 px-3 py-2.5 rounded-md transition-colors text-sm w-full cursor-pointer text-muted-foreground hover:bg-secondary/50 hover:text-secondary-foreground',
isCollapsed && 'justify-center px-0'
)}
title={isCollapsed ? 'Termos de Uso e Responsabilidade' : undefined}
>
<Info className="w-5 h-5 shrink-0" />
{!isCollapsed && <span>Termos de Uso</span>}
</button>
)}
</DialogTrigger>
<DialogContent className="max-w-2xl max-h-[85vh] p-0 flex flex-col">
<DialogHeader className="px-6 py-4 border-b">
<DialogTitle className="text-xl flex items-center gap-2">
<Info className="w-5 h-5 text-primary" />
Termos de Uso e Responsabilidade
</DialogTitle>
</DialogHeader>
<div className="flex-1 px-6 py-4 overflow-y-auto">
<div className="space-y-6 text-sm leading-relaxed text-muted-foreground pb-6">
<div className="bg-primary/5 p-4 rounded-lg border border-primary/10">
<p className="font-medium text-foreground mb-1">Norma de Referência</p>
<p>
Os cálculos estruturais e parâmetros de vento gerados pelo BrainWind seguem as
diretrizes estabelecidas pela <strong>ABNT NBR 6123:2023</strong>
<em>Forças devidas ao vento em edificações</em>.
</p>
</div>
<p>
O <strong>BrainWind</strong> é uma ferramenta computacional projetada para auxiliar projetistas
no cálculo e na análise dos efeitos do vento em edificações. Por ser um aplicativo
de suporte técnico, sua utilização está estritamente sujeita às seguintes condições:
</p>
<div className="bg-destructive/10 p-4 rounded-lg border border-destructive/20 text-destructive-foreground">
<div className="flex gap-2 items-center font-bold mb-2 text-destructive">
<AlertTriangle className="w-5 h-5" />
Aviso de Responsabilidade Técnica
</div>
<p className="text-sm">
A checagem, validação e verificação de todos os resultados, relatórios, dados de
entrada e parâmetros gerados pelo BrainWind são de <strong>responsabilidade exclusiva
e integral do usuário (Engenheiro Responsável)</strong>.
<br /><br />
O aplicativo é estritamente uma ferramenta de auxílio e não substitui, sob
nenhuma circunstância, o julgamento técnico, a análise detalhada das normas e o
dimensionamento final da estrutura por parte de um profissional de engenharia
legalmente habilitado (com registro ativo no CREA/CAU).
</p>
</div>
<ul className="space-y-4 list-disc pl-5">
<li>
<strong className="text-foreground">Licenciamento e Uso Autorizado:</strong> O uso do
BrainWind é restrito aos detentores de licença válida e ativa, emitida diretamente
pelos desenvolvedores ou por seus distribuidores autorizados. É terminantemente
proibida a distribuição, reprodução, engenharia reversa, compartilhamento de credenciais
ou qualquer forma de redistribuição não autorizada do software ou de suas licenças.
</li>
<li>
<strong className="text-foreground">Privacidade de Dados (LGPD):</strong> Os dados pessoais,
credenciais de acesso e projetos informados ao BrainWind são armazenados em servidores
seguros e tratados em rigorosa conformidade com a Lei Geral de Proteção de Dados
(Lei 13.709/2018). Detalhes adicionais sobre coleta, retenção e direitos do titular
estão disponíveis em nossa Política de Privacidade integral.
</li>
<li>
<strong className="text-foreground">Isenção de Responsabilidade e Danos:</strong> Os
desenvolvedores, distribuidores e afiliados do BrainWind não se responsabilizam por
quaisquer danos materiais, morais, perdas financeiras, interrupção de negócios ou
falhas estruturais decorrentes de decisões de projeto tomadas com base nas
informações ou cálculos fornecidos pelo aplicativo.
</li>
<li>
<strong className="text-foreground">Suporte e Aprimoramento Contínuo:</strong> Como o
sistema passa por atualizações e revisões constantes para melhor alinhamento
normativo, solicitamos que dúvidas, sugestões de melhoria e eventuais reportes
de inconsistências algorítmicas sejam enviados diretamente para nossa equipe
técnica através do canal: <strong>suporte@brainwind.com.br</strong>.
</li>
</ul>
<div className="pt-4 mt-6 border-t text-xs text-muted-foreground/70">
<p>Última atualização: julho de 2026. Esta versão substitui todas as anteriores.</p>
</div>
</div>
</div>
<div className="p-4 border-t bg-muted/20 flex justify-end">
<Button onClick={() => setOpen(false)}>
Ciente e de Acordo
</Button>
</div>
</DialogContent>
</Dialog>
);
}