mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-02 03:30:04 +00:00
- Reorganized sidebar layout with logo dropdown menu at top - Added account dropdown with Netflix-style workspace/role switcher - Team workspaces with roles: Workflow Builder, Visual Artist, Motion Designer, Project Manager - Added Shared Projects and Starred sections for team view - Dashboard templates section with "View Templates" CTA button - Added WorkspaceCard and WorkspaceFilterSelect components - Added TemplatesView page with category filtering - PrimeVue Popover styling overrides for dark theme - Updated account display to show user name and workspace type - Various workspace view improvements and thumbnail assets 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
91 lines
1.8 KiB
TypeScript
91 lines
1.8 KiB
TypeScript
import { createApp } from 'vue'
|
|
|
|
import { createPinia } from 'pinia'
|
|
|
|
import PrimeVue from 'primevue/config'
|
|
import { definePreset } from '@primevue/themes'
|
|
import Aura from '@primevue/themes/aura'
|
|
import ToastService from 'primevue/toastservice'
|
|
import ConfirmationService from 'primevue/confirmationservice'
|
|
import Tooltip from 'primevue/tooltip'
|
|
|
|
import App from './App.vue'
|
|
import router from './router'
|
|
|
|
import './assets/css/main.css'
|
|
|
|
// Custom theme preset based on Aura
|
|
const ComfyPreset = definePreset(Aura, {
|
|
semantic: {
|
|
primary: {
|
|
50: '{sky.50}',
|
|
100: '{sky.100}',
|
|
200: '{sky.200}',
|
|
300: '{sky.300}',
|
|
400: '#31b9f4',
|
|
500: '#0B8CE9',
|
|
600: '#0B8CE9',
|
|
700: '#0a7ed2',
|
|
800: '{sky.800}',
|
|
900: '{sky.900}',
|
|
950: '{sky.950}'
|
|
},
|
|
formField: {
|
|
paddingX: '0.875rem',
|
|
paddingY: '0.625rem',
|
|
borderRadius: '{border.radius.md}'
|
|
}
|
|
},
|
|
components: {
|
|
button: {
|
|
borderRadius: '8px',
|
|
paddingY: '0.625rem'
|
|
},
|
|
inputtext: {
|
|
borderRadius: '8px',
|
|
paddingY: '0.625rem'
|
|
},
|
|
select: {
|
|
borderRadius: '8px'
|
|
},
|
|
popover: {
|
|
borderRadius: '8px',
|
|
shadow: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)',
|
|
padding: '0'
|
|
}
|
|
}
|
|
})
|
|
|
|
const app = createApp(App)
|
|
|
|
// Pinia state management
|
|
const pinia = createPinia()
|
|
app.use(pinia)
|
|
|
|
// Vue Router
|
|
app.use(router)
|
|
|
|
// PrimeVue with custom Comfy theme
|
|
app.use(PrimeVue, {
|
|
theme: {
|
|
preset: ComfyPreset,
|
|
options: {
|
|
prefix: 'p',
|
|
darkModeSelector: '.dark',
|
|
cssLayer: {
|
|
name: 'primevue',
|
|
order: 'theme, base, primevue, components, utilities'
|
|
}
|
|
}
|
|
}
|
|
})
|
|
|
|
// PrimeVue services
|
|
app.use(ToastService)
|
|
app.use(ConfirmationService)
|
|
|
|
// PrimeVue directives
|
|
app.directive('tooltip', Tooltip)
|
|
|
|
app.mount('#app')
|