Files
crewli/apps/app/themeConfig.ts
bert.hausmans dcb8d53b61 style(app): apply eslint --fix to Tier 3 config files
WS-3 session 1b-ii Task 2 (audit Bucket X — 134 items).

Hand-reviewed quote-style/semi/arrow-parens autofixes on the three
config files explicitly excluded from session 1b-i:

- vite.config.ts (91 items, @typescript-eslint/quotes / semi /
  arrow-parens / curly). Plugin order verified unchanged by diff
  inspection (VueRouter → vue → vueJsx → vuetify → MetaLayouts →
  Components → AutoImport → svgLoader). One curly-add at the
  apexcharts resolver: \`if (componentName === 'VueApexCharts') { return {...} }\`
  — behaviorally identical to the prior braces-omitted form.
  Build smoke: pnpm build succeeded in 12.13s, zero warnings.

- themeConfig.ts (42 items, quotes / semi). Theme token values
  byte-identical, only surrounding quotes flipped from double to
  single. App title 'Crewli', logo span style, language labels and
  i18n codes all preserved.

- vitest.config.ts (1 item, lines-around-comment). Trivial: blank
  line added before the dts:false comment block.

No semantic changes. apps/app vitest 49 passed, vue-tsc clean,
pnpm build succeeded.

Lint baseline: 231 → 97 (Bucket X resolved).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 14:07:13 +02:00

83 lines
2.3 KiB
TypeScript
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { breakpointsVuetifyV3 } from '@vueuse/core'
import { h } from 'vue'
import { VIcon } from 'vuetify/components/VIcon'
import { defineThemeConfig } from '@core'
import { Skins } from '@core/enums'
import {
AppContentLayoutNav,
ContentWidth,
FooterType,
NavbarType,
} from '@layouts/enums'
export const { themeConfig, layoutConfig } = defineThemeConfig({
app: {
title: 'Crewli',
logo: h(
'span',
{
class: 'crewli-mark text-h5 font-weight-bold',
style:
'line-height: 1.2; letter-spacing: -0.02em; color: rgb(var(--v-theme-primary));',
},
'C',
),
contentWidth: ContentWidth.Boxed,
contentLayoutNav: AppContentLayoutNav.Vertical,
overlayNavFromBreakpoint: breakpointsVuetifyV3.lg - 1, // 1 for matching with vuetify breakpoint. Docs: https://next.vuetifyjs.com/en/features/display-and-platform/
i18n: {
enable: false,
defaultLocale: 'en',
langConfig: [
{
label: 'English',
i18nLang: 'en',
isRTL: false,
},
{
label: 'French',
i18nLang: 'fr',
isRTL: false,
},
{
label: 'Arabic',
i18nLang: 'ar',
isRTL: true,
},
],
},
theme: 'system',
skin: Skins.Default,
iconRenderer: VIcon,
},
navbar: {
type: NavbarType.Sticky,
navbarBlur: true,
},
footer: { type: FooterType.Static },
verticalNav: {
isVerticalNavCollapsed: false,
defaultNavItemIconProps: { icon: 'tabler-circle' },
isVerticalNavSemiDark: true,
},
horizontalNav: {
type: 'sticky',
transition: 'slide-y-reverse-transition',
popoverOffset: 6,
},
/*
// In below Icons section, you can specify icon for each component. Also you can use other props of v-icon component like `color` and `size` for each icon.
// Such as: chevronDown: { icon: 'tabler-chevron-down', color:'primary', size: '24' },
*/
icons: {
chevronDown: { icon: 'tabler-chevron-down' },
chevronRight: { icon: 'tabler-chevron-right', size: 20 },
close: { icon: 'tabler-x', size: 20 },
verticalNavPinned: { icon: 'tabler-circle-dot', size: 20 },
verticalNavUnPinned: { icon: 'tabler-circle', size: 20 },
sectionTitlePlaceholder: { icon: 'tabler-minus' },
},
})