🚀 Auto-deploy: BrainWind atualizado em 15/07/2026 11:22:37
This commit is contained in:
+50
-27
@@ -14,8 +14,15 @@ import PiperackModule from './pages/PiperackModule';
|
||||
import {
|
||||
Home, Settings, Menu, Cylinder, Church, CircleDot,
|
||||
Square, Layers, BarChart3, Activity, Warehouse,
|
||||
Settings2, Sun, Moon, Frame, FolderOpen, BookOpen
|
||||
Settings2, Sun, Moon, Frame, FolderOpen, BookOpen, MoreVertical, Info
|
||||
} from 'lucide-react';
|
||||
import {
|
||||
DropdownMenu,
|
||||
DropdownMenuContent,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/components/ui/dropdown-menu";
|
||||
import { useState } from 'react';
|
||||
import { cn } from '@/lib/utils';
|
||||
import { Button } from '@/components/ui/button';
|
||||
@@ -220,16 +227,48 @@ function AppLayout({ children }: { children: React.ReactNode }) {
|
||||
>
|
||||
{effectiveTheme === 'dark' ? <Sun className="h-4.5 w-4.5" /> : <Moon className="h-4.5 w-4.5" />}
|
||||
</Button>
|
||||
<Link
|
||||
to="/settings"
|
||||
className={cn(
|
||||
'h-8 w-8 flex items-center justify-center text-muted-foreground hover:text-foreground shrink-0 rounded-full border border-border/40 bg-background/50',
|
||||
location.pathname === '/settings' && 'text-primary border-primary/20 bg-primary/5'
|
||||
)}
|
||||
title={t('nav_settings')}
|
||||
>
|
||||
<Settings className="h-4.5 w-4.5" />
|
||||
</Link>
|
||||
<DropdownMenu>
|
||||
<DropdownMenuTrigger asChild>
|
||||
<Button
|
||||
variant="ghost"
|
||||
size="icon"
|
||||
className={cn(
|
||||
'h-8 w-8 text-muted-foreground hover:text-foreground shrink-0 rounded-full border border-border/40 bg-background/50',
|
||||
(location.pathname === '/settings' || location.pathname === '/arquivos') && 'text-primary border-primary/20 bg-primary/5'
|
||||
)}
|
||||
>
|
||||
<MoreVertical className="h-4.5 w-4.5" />
|
||||
</Button>
|
||||
</DropdownMenuTrigger>
|
||||
<DropdownMenuContent align="end" className="w-56">
|
||||
<GlobalWindSettingsModal trigger={
|
||||
<DropdownMenuItem onSelect={(e: Event) => e.preventDefault()} className="cursor-pointer gap-2">
|
||||
<Settings2 className="w-4 h-4" /> Parâmetros do Vento
|
||||
</DropdownMenuItem>
|
||||
} />
|
||||
<DropdownMenuItem asChild>
|
||||
<Link to="/settings?tab=gerenciador" className="cursor-pointer gap-2">
|
||||
<FolderOpen className="w-4 h-4" /> Arquivos
|
||||
</Link>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem asChild>
|
||||
<Link to="/settings" className="cursor-pointer gap-2">
|
||||
<Settings className="w-4 h-4" /> Configurações
|
||||
</Link>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem asChild>
|
||||
<Link to="/settings?tab=glossary" className="cursor-pointer gap-2">
|
||||
<BookOpen className="w-4 h-4" /> Glossário
|
||||
</Link>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<TermsOfUseDialog trigger={
|
||||
<DropdownMenuItem onSelect={(e: Event) => e.preventDefault()} className="cursor-pointer gap-2">
|
||||
<Info className="w-4 h-4" /> Termos de Uso
|
||||
</DropdownMenuItem>
|
||||
} />
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
</div>
|
||||
</header>
|
||||
<div className="flex-1 overflow-auto">{children}</div>
|
||||
@@ -280,22 +319,6 @@ function AppLayout({ children }: { children: React.ReactNode }) {
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
|
||||
{/* Parâmetros do Vento (Fixo na direita) */}
|
||||
<GlobalWindSettingsModal
|
||||
trigger={
|
||||
<div
|
||||
className={cn(
|
||||
'flex flex-col items-center justify-center h-full px-3 text-xs transition-colors shrink-0 border-l bg-card z-20 shadow-[-4px_0_8px_-4px_rgba(0,0,0,0.15)] cursor-pointer text-muted-foreground hover:text-primary',
|
||||
)}
|
||||
>
|
||||
<div className="p-1 rounded-full">
|
||||
<Settings2 className="w-5 h-5 text-primary" />
|
||||
</div>
|
||||
<span className="scale-90 text-[10px] text-primary font-medium">Vento</span>
|
||||
</div>
|
||||
}
|
||||
/>
|
||||
</nav>
|
||||
</div>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user