diff --git a/.eslintrc.json b/.eslintrc.json index b2953578..e39643d9 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -7,6 +7,14 @@ "extends": ["eslint:recommended", "plugin:vue/vue3-essential", "@nuxt/eslint-config"], "plugins": ["vue"], "rules": { - "quote-props": ["error", "as-needed"] + "quote-props": ["error", "as-needed"], + "vue/html-self-closing": [ + "error", + { + "html": { + "void": "always" + } + } + ] } } diff --git a/app.vue b/app.vue index f8c37a1f..0c666882 100644 --- a/app.vue +++ b/app.vue @@ -4,6 +4,7 @@ import FooterComponent from './components/FooterComponent.vue'; import HeaderComponent from './components/HeaderComponent.vue'; const { seo } = useAppConfig(); +const route = useRoute(); const { data: navigation } = await useAsyncData('navigation', () => fetchContentNavigation()); const { data: files } = useLazyFetch('/api/search.json', { @@ -48,13 +49,33 @@ useSeoMeta({ }); provide('navigation', navigation); + +const links = computed(() => { + return [ + { + label: 'Build', + to: '/build/quick-start', + active: route.path.startsWith('/build'), + }, + { + label: 'ZK Stack', + to: '/zk-stack', + active: route.path.startsWith('/zk-stack'), + }, + { + label: 'External Node', + to: '/external-node', + active: route.path.startsWith('/external-node'), + }, + ]; +});