feat: add didactical InfoParamModal for V0, S1, S2, S3 with NBR 6123 references

This commit is contained in:
2026-07-10 15:11:11 +00:00
parent 391ca858d4
commit 4e377ad5b7
2 changed files with 101 additions and 5 deletions
+15 -5
View File
@@ -18,6 +18,7 @@ import { Settings2 } from 'lucide-react';
import { Button } from '@/components/ui/button';
import { IsopletasModal } from '@/components/IsopletasModal';
import { InfoV0Modal } from '@/components/InfoV0Modal';
import { InfoParamModal } from '@/components/InfoParamModal';
export function GlobalWindSettingsModal() {
const {
@@ -73,9 +74,9 @@ export function GlobalWindSettingsModal() {
<TabsContent value="norma" className="space-y-4 min-w-0">
<div className="space-y-2">
<div className="flex justify-between items-center">
<div className="flex items-center gap-1">
<div className="flex items-center gap-1.5">
<label className="text-xs font-medium text-foreground">Velocidade Básica (V)</label>
<InfoV0Modal variant="icon" />
<InfoParamModal type="v0" />
</div>
<span className="text-xs text-muted-foreground font-mono">{v0} m/s</span>
</div>
@@ -83,7 +84,10 @@ export function GlobalWindSettingsModal() {
</div>
<div className="space-y-1">
<label className="text-xs font-medium text-foreground">Fator Topográfico (S)</label>
<div className="flex items-center gap-1.5 mb-1">
<label className="text-xs font-medium text-foreground">Fator Topográfico (S)</label>
<InfoParamModal type="s1" />
</div>
<Select value={s1.toString()} onValueChange={(val) => setS1(Number(val))}>
<SelectTrigger className="w-full text-xs h-8"><SelectValue placeholder="S₁" /></SelectTrigger>
<SelectContent>
@@ -96,7 +100,10 @@ export function GlobalWindSettingsModal() {
</div>
<div className="space-y-1">
<label className="text-xs font-medium text-foreground">Categoria do Terreno (S)</label>
<div className="flex items-center gap-1.5 mb-1">
<label className="text-xs font-medium text-foreground">Categoria do Terreno (S)</label>
<InfoParamModal type="s2" />
</div>
<Select value={terrainCategory} onValueChange={(val) => setTerrainCategory(val as typeof terrainCategory)}>
<SelectTrigger className="w-full text-xs h-8"><SelectValue placeholder="Categoria" /></SelectTrigger>
<SelectContent>
@@ -117,7 +124,10 @@ export function GlobalWindSettingsModal() {
</div>
<div className="space-y-1">
<label className="text-xs font-medium text-foreground">Grupo Estatístico (S)</label>
<div className="flex items-center gap-1.5 mb-1">
<label className="text-xs font-medium text-foreground">Grupo Estatístico (S)</label>
<InfoParamModal type="s3" />
</div>
<Select value={s3Group.toString()} onValueChange={(val) => setS3Group(Number(val) as 1 | 2 | 3 | 4 | 5)}>
<SelectTrigger className="w-full text-xs h-8"><SelectValue placeholder="Grupo" /></SelectTrigger>
<SelectContent>