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>
83 lines
2.3 KiB
TypeScript
83 lines
2.3 KiB
TypeScript
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' },
|
||
},
|
||
})
|