feat: make navigation use native links (#973)

This commit is contained in:
Maxim Kirilyuk
2026-05-24 14:13:42 +03:00
committed by GitHub
parent e743c81ad3
commit acdf18793c
20 changed files with 419 additions and 46 deletions
@@ -0,0 +1,28 @@
<script setup lang="ts">
import type { RouteLocationRaw } from 'vue-router'
const props = withDefaults(defineProps<{
to: RouteLocationRaw
active?: boolean
exact?: boolean
title?: string
}>(), {
active: undefined,
exact: false,
})
</script>
<template>
<RouterLink v-slot="slotProps" :to="props.to" custom>
<a
class="route-link-item"
:class="{ active: props.active ?? (props.exact ? !!slotProps?.isExactActive : !!slotProps?.isActive) }"
:href="slotProps?.href || '#'"
:title="props.title"
:aria-current="(props.active ?? (props.exact ? !!slotProps?.isExactActive : !!slotProps?.isActive)) ? 'page' : undefined"
@click="slotProps?.navigate"
>
<slot />
</a>
</RouterLink>
</template>