manifest/nuxt/components/Glava.vue

141 lines
2.2 KiB
Vue

<script setup="setup">
const route = useRoute()
const pot = computed(() => route.path)
const naManifestu = computed(() => route.path.indexOf('/manifest') === 0)
const { baseUrl } = useRuntimeConfig().public
</script>
<template>
<section class="glava" :class="{ manifest: naManifestu }">
<ul class="meni">
<li>
<NuxtLink to="/">
{{ $t('domov') }}
</NuxtLink>
</li>
<li>
<NuxtLink to="/manifest">
Manifest
</NuxtLink>
</li>
<li>
<IzborJezika />
</li>
<li>
<NuxtLink :to="baseUrl + '/user'" class="posivljen" target="_blank">
admin
</NuxtLink>
</li>
</ul>
<img src="/images/zvezda.png">
<h1 v-if="naManifestu">MANIFEST</h1>
<h1 v-else>{{ $t('jugofuturizem') }}</h1>
</section>
</template>
<style scoped>
.glava {
height: 100vh;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.glava.manifest {
background: var(--rdeca)
}
h1 {
font-family: Trailers;
font-size: 16rem;
z-index: 50;
}
@media screen and (max-width: 1090px) {
h1 { font-size: 10rem; }
}
@media screen and (max-width: 768px) {
h1 { font-size: 8rem; }
}
@media screen and (max-width: 560px) {
h1 { font-size: 5rem; }
}
img {
position: fixed;
top: -10vh;
left: -10vw;
width: 120vw;
height: 120vh;
z-index: 10;
object-fit: cover;
}
@media screen and (min-width: 1980px) {
img {
width: 100vw;
height: 100vh;
left: 0;
top: 0;
}
}
.meni {
position: absolute;
top: 0;
left: 0;
width: 100%;
display: flex;
margin: 0;
justify-content: space-between;
z-index: 100;
}
.meni a {
display: block;
text-decoration: none;
text-transform: uppercase;
font-weight: bold;
color: black;
padding: 10px 30px;
}
ul {
list-style: none;
padding: 0%;
width: 100%;
}
.posivljen {
opacity: 0.5;
}
@media screen and (max-width: 768px) {
.meni {
display: flex;
flex-direction: column;
align-items: center;
}
}
@media screen and (min-width: 768px) {
.glava img {
width: 768px;
height: auto;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
</style>