66 lines
2.0 KiB
Vue
66 lines
2.0 KiB
Vue
<script lang="ts">
|
|
import { ref } from 'vue'
|
|
import SearchBar from './SearchBar.vue'
|
|
import LanguageSwitcher from './LanguageSwitcher.vue'
|
|
export default {
|
|
components: {
|
|
SearchBar,
|
|
LanguageSwitcher
|
|
},
|
|
setup() {
|
|
return {
|
|
open: ref(false)
|
|
}
|
|
},
|
|
methods: {
|
|
toggle() {
|
|
this.open = !this.open
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<nav class="flex items-center justify-between flex-wrap p-4">
|
|
<div class="flex items-center flex-no-shrink text-white mr-6">
|
|
<router-link to="/">
|
|
<h1 class="font-bold text-2xl">Safe<color class="text-purple-500">Twitch</color></h1>
|
|
</router-link>
|
|
</div>
|
|
|
|
<search-bar class="mt-4 mr-4 hidden sm:inline-block sm:mt-0"></search-bar>
|
|
|
|
<div class="text-white hidden sm:block">
|
|
<a
|
|
href="https://codeberg.org/dragongoose/safetwitch"
|
|
class="mt-4 mr-4 sm:inline-block sm:mt-0"
|
|
>{{ $t('nav.code') }}</a
|
|
>
|
|
<router-link to="/privacy" class="mt-4 mr-4 sm:inline-block sm:mt-0">{{
|
|
$t('nav.privacy')
|
|
}}</router-link>
|
|
<language-switcher class="mt-4 sm:inline-block sm:mt-0"></language-switcher>
|
|
</div>
|
|
|
|
<div class="block sm:hidden">
|
|
<button @click="toggle" class="flex items-center px-3 py-2">
|
|
<svg class="fill-current h-3 w-3" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
|
|
<title>Menu</title>
|
|
<path d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z" />
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
|
|
<div :class="open ? 'block' : 'hidden'" class="w-full flex-grow">
|
|
<div class="p-4 flex flex-col items-center space-y-5 bg-ctp-base text-white">
|
|
<search-bar></search-bar>
|
|
<ul class="inline-flex space-x-3 md:space-x-6 font-medium">
|
|
<a href="https://codeberg.org/dragongoose/safetwitch">{{ $t('nav.code') }}</a>
|
|
<router-link to="/privacy">{{ $t('nav.privacy') }}</router-link>
|
|
<language-switcher></language-switcher>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
</template>
|