feat: add animated workspace identities
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import {
|
||||
Bot,
|
||||
Database,
|
||||
Download,
|
||||
Gauge,
|
||||
MapPinned,
|
||||
ScanLine,
|
||||
Settings2,
|
||||
ShieldCheck,
|
||||
} from 'lucide-react'
|
||||
import type { WorkspaceKey } from '../overview/OverviewWorkspace'
|
||||
|
||||
interface WorkspaceSignalProps {
|
||||
workspace: WorkspaceKey
|
||||
}
|
||||
|
||||
const workspaceIcons = {
|
||||
overview: Gauge,
|
||||
data: Database,
|
||||
map: MapPinned,
|
||||
assistant: Bot,
|
||||
analysis: ShieldCheck,
|
||||
ai: ScanLine,
|
||||
exports: Download,
|
||||
system: Settings2,
|
||||
} as const
|
||||
|
||||
export function WorkspaceSignal({ workspace }: WorkspaceSignalProps): JSX.Element {
|
||||
const Icon = workspaceIcons[workspace]
|
||||
|
||||
return (
|
||||
<div className={`workspace-signal workspace-signal-${workspace}`} aria-hidden="true">
|
||||
<span className="workspace-signal-grid" />
|
||||
<span className="workspace-signal-orbit workspace-signal-orbit-a" />
|
||||
<span className="workspace-signal-orbit workspace-signal-orbit-b" />
|
||||
<span className="workspace-signal-beam" />
|
||||
<span className="workspace-signal-icon"><Icon /></span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user