| | |
| | | class="main-container main-layout"> |
| | | <div :class="{ 'fixed-header': fixedHeader, 'with-tags': showTagsView }"> |
| | | <navbar @setLayout="setLayout" /> |
| | | <tags-view v-if="showTagsView" /> |
| | | <tags-view /> |
| | | </div> |
| | | <app-main /> |
| | | <settings ref="settingRef" /> |
| | |
| | | const sidebar = computed(() => useAppStore().sidebar); |
| | | const device = computed(() => useAppStore().device); |
| | | const needTagsView = computed(() => settingsStore.tagsView); |
| | | const showTagsView = computed(() => needTagsView.value && tagsViewStore.visitedViews.length > 1); |
| | | const showTagsView = computed( |
| | | () => needTagsView.value && tagsViewStore.visitedViews.length > 1 |
| | | ); |
| | | const fixedHeader = computed(() => settingsStore.fixedHeader); |
| | | const aiEnabled = computed(() => Number(userStore.aiEnabled) === 1); |
| | | const showGlobalAiChat = computed(() => { |
| | | const isIndustrialBrainRoute = String(route.path || "").startsWith("/ai-industrial-brain"); |
| | | const isIndustrialBrainRoute = String(route.path || "").startsWith( |
| | | "/ai-industrial-brain" |
| | | ); |
| | | return !isIndustrialBrainRoute && aiEnabled.value; |
| | | }); |
| | | |
| | |
| | | position: relative; |
| | | min-height: 100%; |
| | | width: 100%; |
| | | background: |
| | | radial-gradient(circle at 14% -8%, rgba(59, 130, 246, 0.14), transparent 36%), |
| | | radial-gradient(circle at 88% -12%, rgba(56, 189, 248, 0.1), transparent 30%), |
| | | background: radial-gradient( |
| | | circle at 14% -8%, |
| | | rgba(59, 130, 246, 0.14), |
| | | transparent 36% |
| | | ), |
| | | radial-gradient( |
| | | circle at 88% -12%, |
| | | rgba(56, 189, 248, 0.1), |
| | | transparent 30% |
| | | ), |
| | | linear-gradient(165deg, #f3f7fc 0%, #eef5ff 56%, #f8fbff 100%); |
| | | |
| | | &.mobile.openSidebar { |
| | |
| | | top: 0; |
| | | z-index: var(--layout-header-z); |
| | | width: 100%; |
| | | padding: 8px var(--content-gap) 0; |
| | | padding: 8px var(--content-gap) 8px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 6px; |
| | | background: transparent; |
| | | backdrop-filter: none; |
| | | background: var(--app-bg, #f3f7fc); |
| | | } |
| | | |
| | | .fixed-header.with-tags { |