mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-22 15:29:44 +00:00
UI color updates & tweaks (#6381)
## Summary Small updates to the UI to make it more visually distinct from the graph nodes and improving the login button ## Changes - **What**: - Improve theme support with dynamic colors - Standardize surface colors/borders - Add shadows to all floating UI elements - Change side toolbar to be docked by default - Decrease side toolbar width - Change login button to icon only - Update C button to be more distinctive ## Review Focus - Theme tokens, I am not sure what the overall plan for how these tokens will be supported for custom user palettes. I've implemented a method where default variables are chosen that look nice over all existing themes, but they can be overridden. ## Screenshots Dark theme updated color <img width="958" height="615" alt="image" src="https://github.com/user-attachments/assets/a2c540cf-6c05-4ad3-996b-8b7b80df8d2d" /> Themed & updated menu button (active vs hover vs default) <img width="58" height="338" alt="github" src="https://github.com/user-attachments/assets/90244ee2-d5ee-4b26-9d99-f4b8439aa372" /><img width="58" height="338" alt="nord" src="https://github.com/user-attachments/assets/053e8e7b-d639-4b72-92d2-ec7e2167aab8" /><img width="58" height="338" alt="arc" src="https://github.com/user-attachments/assets/3caeb07b-d41b-4d88-83b4-ef8d45d4e5a6" /><img width="58" height="338" alt="solarized" src="https://github.com/user-attachments/assets/6ebf6afb-ec3a-436b-90eb-bda40be1c79f" /><img width="58" height="338" alt="light" src="https://github.com/user-attachments/assets/fbb7f96a-b722-40c5-86fa-a0732e166972" /><img width="58" height="338" alt="dark" src="https://github.com/user-attachments/assets/5459208b-9256-4c55-9373-169e9cd9f09a" /> With labels <img width="58" height="394" alt="labels" src="https://github.com/user-attachments/assets/f97ee354-35cd-42b8-896f-57ac39644c1d" /> Logged out (only visible on desktop) <img width="323" height="48" alt="logged out" src="https://github.com/user-attachments/assets/75b71420-0c1b-446f-8cdd-43c68674d346" /> Logged in <img width="355" height="48" alt="logged in" src="https://github.com/user-attachments/assets/324fd133-a793-49dd-844a-f93dd5d1effb" /> ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6381-UI-color-updates-tweaks-29b6d73d3650816384d2ef5617a776a0) by [Unito](https://www.unito.io) --------- Co-authored-by: GitHub Action <action@github.com> Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
import { toRaw } from 'vue'
|
||||
import { z } from 'zod'
|
||||
import { fromZodError } from 'zod-validation-error'
|
||||
|
||||
import { downloadBlob } from '@/base/common/downloadUtil'
|
||||
import { useErrorHandling } from '@/composables/useErrorHandling'
|
||||
import { LGraphCanvas, LiteGraph } from '@/lib/litegraph/src/litegraph'
|
||||
import { useSettingStore } from '@/platform/settings/settingStore'
|
||||
import { paletteSchema } from '@/schemas/colorPaletteSchema'
|
||||
import { paletteSchema, comfyBaseSchema } from '@/schemas/colorPaletteSchema'
|
||||
import type { Colors, Palette } from '@/schemas/colorPaletteSchema'
|
||||
import { app } from '@/scripts/app'
|
||||
import { uploadFile } from '@/scripts/utils'
|
||||
@@ -158,6 +159,26 @@ export const useColorPaletteService = () => {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets optional keys from a Zod schema object.
|
||||
*
|
||||
* @param schema - The Zod schema object to analyze.
|
||||
* @returns Array of optional key names.
|
||||
*/
|
||||
const getOptionalKeys = (schema: z.ZodObject<any, any>) => {
|
||||
const optionalKeys: string[] = []
|
||||
const shape = schema.shape
|
||||
|
||||
for (const [key, value] of Object.entries(shape)) {
|
||||
if (value instanceof z.ZodOptional || value instanceof z.ZodDefault) {
|
||||
optionalKeys.push(key)
|
||||
}
|
||||
}
|
||||
|
||||
return optionalKeys
|
||||
}
|
||||
const optionalComfyBaseKeys = getOptionalKeys(comfyBaseSchema)
|
||||
|
||||
/**
|
||||
* Loads the Comfy color palette.
|
||||
*
|
||||
@@ -169,6 +190,16 @@ export const useColorPaletteService = () => {
|
||||
for (const [key, value] of Object.entries(comfyColorPalette)) {
|
||||
rootStyle.setProperty('--' + key, value)
|
||||
}
|
||||
|
||||
for (const optionalKey of optionalComfyBaseKeys) {
|
||||
if (!(optionalKey in comfyColorPalette)) {
|
||||
rootStyle.setProperty(
|
||||
'--' + optionalKey,
|
||||
`var(--palette-${optionalKey})`
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const backgroundImage = settingStore.get('Comfy.Canvas.BackgroundImage')
|
||||
if (backgroundImage) {
|
||||
rootStyle.setProperty(
|
||||
|
||||
Reference in New Issue
Block a user