mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-02 22:37:32 +00:00
## Summary
Enhancing and further modernizing the UI, giving users more usable area
whilst keeping farmiliar positioning and feel of elements.
## Changes
- **What**: Significant restructure of the UI elements, changing
elements from large blocks to floating elements, updating:
- Side toolbar menu (floating style, supports small/normal mode,
combines to scroll on height overflow)
- Bottom tabs panel (floating style, tabs redesigned)
- Action bar (support for docking/undocking menu)
- Added login/user menu button to top right
- Restyled breadcrumbs (still collapse when overflows)
- Add litegraph support for fps info position (so it isn't covered by
the sidebar)
- **Breaking**:
- Removed various elements and added new ones, I have tested custom
sidebars, custom actions, etc but if scripts are inserting elements into
"other" elements they may have been (re)moved.
- Remove support for bottom menu
- Remove support for 2nd-row tabs
## Screenshots
<img width="1116" height="907" alt="ui"
src="https://github.com/user-attachments/assets/b040a215-67d3-4c88-8c4d-f402a16a34f6"
/>
https://github.com/user-attachments/assets/571dbda5-01ec-47e8-b235-ee1b88c93dd0
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-5980-Floating-Menus-UI-rework-2866d73d3650810aac60cc1afe979b60)
by [Unito](https://www.unito.io)
---------
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: github-actions <github-actions@github.com>
55 lines
1.3 KiB
Vue
55 lines
1.3 KiB
Vue
<template>
|
|
<div
|
|
v-show="workspaceState.focusMode"
|
|
class="comfy-menu-hamburger no-drag top-0 right-0"
|
|
>
|
|
<Button
|
|
v-tooltip="{ value: $t('menu.showMenu'), showDelay: 300 }"
|
|
icon="pi pi-bars"
|
|
severity="secondary"
|
|
text
|
|
size="large"
|
|
:aria-label="$t('menu.showMenu')"
|
|
aria-live="assertive"
|
|
@click="exitFocusMode"
|
|
@contextmenu="showNativeSystemMenu"
|
|
/>
|
|
<div class="window-actions-spacer" />
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import Button from 'primevue/button'
|
|
import { watchEffect } from 'vue'
|
|
|
|
import { useSettingStore } from '@/platform/settings/settingStore'
|
|
import { app } from '@/scripts/app'
|
|
import { useWorkspaceStore } from '@/stores/workspaceStore'
|
|
import { showNativeSystemMenu } from '@/utils/envUtil'
|
|
|
|
const workspaceState = useWorkspaceStore()
|
|
const settingStore = useSettingStore()
|
|
const exitFocusMode = () => {
|
|
workspaceState.focusMode = false
|
|
}
|
|
|
|
watchEffect(() => {
|
|
if (settingStore.get('Comfy.UseNewMenu') !== 'Disabled') {
|
|
return
|
|
}
|
|
if (workspaceState.focusMode) {
|
|
app.ui.menuContainer.style.display = 'none'
|
|
} else {
|
|
app.ui.menuContainer.style.display = 'block'
|
|
}
|
|
})
|
|
</script>
|
|
|
|
<style scoped>
|
|
@reference '../assets/css/style.css';
|
|
|
|
.comfy-menu-hamburger {
|
|
@apply fixed z-9999 flex flex-row;
|
|
}
|
|
</style>
|