| 1 | <!-- |
| 2 | Create a link in the presentation |
| 3 | |
| 4 | Usage: |
| 5 | |
| 6 | <Link :to="5" >Go to slide 5</Link> |
| 7 | |
| 8 | <Link :to="5" title="Go to slide 5" /> |
| 9 | --> |
| 10 | <script setup lang="ts"> |
| 11 | import { useNav } from '../composables/useNav' |
| 12 | |
| 13 | defineProps<{ |
| 14 | to: number | string |
| 15 | title?: string |
| 16 | }>() |
| 17 | |
| 18 | const { isPrintMode } = useNav() |
| 19 | </script> |
| 20 | |
| 21 | <template> |
| 22 | <RouterLink v-if="!isPrintMode && title" :to="String(to)" @click="($event.target as HTMLElement)?.blur()" v-html="title" /> |
| 23 | <RouterLink v-else-if="!isPrintMode && !title" :to="String(to)" @click="($event.target as HTMLElement)?.blur()"> |
| 24 | <slot /> |
| 25 | </RouterLink> |
| 26 | <a v-else-if="isPrintMode && title" :href="`#${to}`" v-html="title" /> |
| 27 | <a v-else :href="`#${to}`"><slot /></a> |
| 28 | </template> |
| 29 |