Spaces:
Running
Running
<script lang="ts"> | |
import AddRobotButton from "@/components/interface/overlay/AddRobotButton.svelte"; | |
import AddSensorButton from "@/components/interface/overlay/AddSensorButton.svelte"; | |
import AddAIButton from "@/components/interface/overlay/AddAIButton.svelte"; | |
import SettingsButton from "@/components/interface/overlay/SettingsButton.svelte"; | |
import SettingsSheet from "@/components/interface/overlay/SettingsSheet.svelte"; | |
import WorkspaceIdButton from "@/components/interface/overlay/WorkspaceIdButton.svelte"; | |
interface Props { | |
workspaceId: string; | |
addRobotDropdownMenuOpen?: boolean; | |
addSensorDropdownMenuOpen?: boolean; | |
addAIDropdownMenuOpen?: boolean; | |
settingsOpen?: boolean; | |
workspaceIdMenuOpen?: boolean; | |
} | |
let { | |
workspaceId, | |
addRobotDropdownMenuOpen = $bindable(false), | |
addSensorDropdownMenuOpen = $bindable(false), | |
addAIDropdownMenuOpen = $bindable(false), | |
settingsOpen = $bindable(false), | |
workspaceIdMenuOpen = $bindable(false) | |
}: Props = $props(); | |
</script> | |
<div class="select-none"> | |
<!-- Button Bar Container --> | |
<div class="fixed top-4 left-4 z-50 flex gap-2 select-none"> | |
<!-- Add Robot Button Group --> | |
<div class="flex items-center justify-center gap-2 overflow-hidden rounded-lg"> | |
<!-- Logo/Favicon --> | |
<div class="flex items-center justify-center"> | |
<!-- From /favicon_1024.png --> | |
<img | |
src="/favicon_1024.png" | |
alt="Logo" | |
draggable="false" | |
class="h-10 w-10 invert-0 filter dark:invert" | |
/> | |
</div> | |
<!-- Add robot button and dropdown menu (Top Left) --> | |
<div class="flex items-center justify-center"> | |
<AddRobotButton bind:open={addRobotDropdownMenuOpen} /> | |
</div> | |
</div> | |
<!-- Add Sensor Button Group --> | |
<div class="flex items-center justify-center overflow-hidden rounded-lg"> | |
<!-- Add sensor button and dropdown menu --> | |
<div class="flex items-center justify-center"> | |
<AddSensorButton bind:open={addSensorDropdownMenuOpen} /> | |
</div> | |
</div> | |
<!-- Add AI Button Group --> | |
<div class="flex items-center justify-center overflow-hidden rounded-lg"> | |
<!-- Add AI button and dropdown menu --> | |
<div class="flex items-center justify-center"> | |
<AddAIButton bind:open={addAIDropdownMenuOpen} /> | |
</div> | |
</div> | |
</div> | |
<div class="fixed top-4 right-4 z-50 flex gap-2"> | |
<!-- Workspace ID Button --> | |
<WorkspaceIdButton {workspaceId} bind:open={workspaceIdMenuOpen} /> | |
<!-- Settings Button and Sheet (Top Right, Left Side) --> | |
<SettingsButton bind:open={settingsOpen} /> | |
</div> | |
</div> | |
<SettingsSheet bind:open={settingsOpen} /> | |