🚀 Auto-deploy: BrainWind atualizado em 12/07/2026 16:54:42
This commit is contained in:
@@ -156,7 +156,7 @@ const BarSelectorModule: React.FC = () => {
|
||||
{/* Coluna Central: 3D */}
|
||||
<div className="flex-1 flex flex-col min-h-[500px] lg:min-h-0 bg-background rounded-xl border border-border shadow-sm overflow-hidden relative">
|
||||
<div className="absolute top-4 left-4 z-10 flex gap-2">
|
||||
<Badge variant="secondary" className="bg-background/80 backdrop-blur-sm">α = {alpha}°</Badge>
|
||||
<Badge variant="secondary" className="bg-background/80 text-foreground border border-border/50 backdrop-blur-sm shadow-sm">α = {alpha}°</Badge>
|
||||
</div>
|
||||
<div className="absolute top-4 right-4 z-10">
|
||||
<EducationalManual type="bar" params={{ barType, section, alpha }} />
|
||||
|
||||
@@ -145,7 +145,7 @@ const BridgeModule: React.FC = () => {
|
||||
{/* Coluna Central: 3D */}
|
||||
<div className="flex-1 flex flex-col min-h-[500px] lg:min-h-0 bg-background rounded-xl border border-border shadow-sm overflow-hidden relative">
|
||||
<div className="absolute top-4 left-4 z-10 flex gap-2">
|
||||
<Badge variant="secondary" className="bg-background/80 backdrop-blur-sm">Pₛₑ = {classification.pse.toFixed(3)}</Badge>
|
||||
<Badge variant="secondary" className="bg-background/80 text-foreground border border-border/50 backdrop-blur-sm shadow-sm">Pₛₑ = {classification.pse.toFixed(3)}</Badge>
|
||||
<Badge variant="outline" className={`bg-background/80 ${classColors[classification.bridgeClass]}`}>
|
||||
Classe {classification.bridgeClass}
|
||||
</Badge>
|
||||
|
||||
@@ -137,7 +137,7 @@ const CylinderModule: React.FC = () => {
|
||||
{/* Coluna Central: 3D */}
|
||||
<div className="flex-1 flex flex-col min-h-[500px] lg:min-h-0 bg-background rounded-xl border border-border shadow-sm overflow-hidden relative">
|
||||
<div className="absolute top-4 left-4 z-10 flex gap-2">
|
||||
<Badge variant="secondary" className="bg-background/80 backdrop-blur-sm">
|
||||
<Badge variant="secondary" className="bg-background/80 text-foreground border border-border/50 backdrop-blur-sm shadow-sm">
|
||||
h/d = {result.hOverD.toFixed(2)}
|
||||
</Badge>
|
||||
<Badge variant="outline" className="bg-background/80 backdrop-blur-sm">
|
||||
|
||||
@@ -117,7 +117,7 @@ const DomeModule: React.FC = () => {
|
||||
{/* Coluna Central: 3D */}
|
||||
<div className="flex-1 flex flex-col min-h-[500px] lg:min-h-0 bg-background rounded-xl border border-border shadow-sm overflow-hidden relative">
|
||||
<div className="absolute top-4 left-4 z-10 flex gap-2">
|
||||
<Badge variant="secondary" className="bg-background/80 backdrop-blur-sm">f/d = {result.fOverD.toFixed(2)}</Badge>
|
||||
<Badge variant="secondary" className="bg-background/80 text-foreground border border-border/50 backdrop-blur-sm shadow-sm">f/d = {result.fOverD.toFixed(2)}</Badge>
|
||||
<Badge variant="outline" className="bg-background/80 backdrop-blur-sm">
|
||||
Cpi = {cpi.toFixed(2)}
|
||||
</Badge>
|
||||
|
||||
@@ -139,8 +139,8 @@ const TowerModule: React.FC = () => {
|
||||
{/* Coluna Central: 3D */}
|
||||
<div className="flex-1 flex flex-col min-h-[500px] lg:min-h-0 bg-background rounded-xl border border-border shadow-sm overflow-hidden relative">
|
||||
<div className="absolute top-4 left-4 z-10 flex gap-2">
|
||||
<Badge variant="secondary" className="bg-background/80 backdrop-blur-sm">{section === 'square' ? 'Quadrada' : 'Triangular'}</Badge>
|
||||
<Badge variant="secondary" className="bg-background/80 backdrop-blur-sm">α = {alphaWind}°</Badge>
|
||||
<Badge variant="secondary" className="bg-background/80 text-foreground border border-border/50 backdrop-blur-sm shadow-sm">{section === 'square' ? 'Quadrada' : 'Triangular'}</Badge>
|
||||
<Badge variant="secondary" className="bg-background/80 text-foreground border border-border/50 backdrop-blur-sm shadow-sm">α = {alphaWind}°</Badge>
|
||||
</div>
|
||||
<div className="absolute top-4 right-4 z-10">
|
||||
<EducationalManual type="tower" params={{ section, alphaWind }} />
|
||||
|
||||
@@ -125,7 +125,7 @@ const VaultModule: React.FC = () => {
|
||||
{/* Coluna Central: Viewer 3D */}
|
||||
<div className="flex-1 flex flex-col min-h-[500px] lg:min-h-0 bg-background rounded-xl border border-border shadow-sm overflow-hidden relative">
|
||||
<div className="absolute top-4 left-4 z-10 flex gap-2">
|
||||
<Badge variant="secondary" className="bg-background/80 backdrop-blur-sm">f/ℓ = {(rise / span).toFixed(2)}</Badge>
|
||||
<Badge variant="secondary" className="bg-background/80 text-foreground border border-border/50 backdrop-blur-sm shadow-sm">f/ℓ = {(rise / span).toFixed(2)}</Badge>
|
||||
<Badge variant="outline" className={localCpi > 0 ? 'bg-destructive/10 text-destructive border-destructive/20 backdrop-blur-sm' : 'bg-background/80 backdrop-blur-sm'}>
|
||||
Cpi = {localCpi > 0 ? `+${localCpi.toFixed(2)}` : localCpi.toFixed(2)}
|
||||
</Badge>
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const dir = path.join(__dirname, 'app/src/pages');
|
||||
const filesToUpdate = [
|
||||
'CylinderModule.tsx',
|
||||
'DomeModule.tsx',
|
||||
'VaultModule.tsx',
|
||||
'BridgeModule.tsx',
|
||||
'BarSelectorModule.tsx',
|
||||
'TowerModule.tsx'
|
||||
];
|
||||
|
||||
let updated = 0;
|
||||
for (const file of filesToUpdate) {
|
||||
const filePath = path.join(dir, file);
|
||||
if (!fs.existsSync(filePath)) continue;
|
||||
|
||||
let content = fs.readFileSync(filePath, 'utf8');
|
||||
|
||||
const target = 'variant="secondary" className="bg-background/80 backdrop-blur-sm"';
|
||||
const replacement = 'variant="secondary" className="bg-background/80 text-foreground border border-border/50 backdrop-blur-sm shadow-sm"';
|
||||
|
||||
if (content.includes(target)) {
|
||||
content = content.split(target).join(replacement);
|
||||
fs.writeFileSync(filePath, content);
|
||||
console.log(`Updated ${file}`);
|
||||
updated++;
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`Total updated: ${updated}`);
|
||||
Reference in New Issue
Block a user