Files
portfolio/src/views/Technologies.vue
2023-06-20 09:16:28 +02:00

166 lines
4.0 KiB
Vue

<script setup>
import { ref, onMounted } from 'vue';
import { useBurgerStore } from '@/stores/burger'
const burger = useBurgerStore();
onMounted(() => {
burger.check();
})
const showVueUnderList=ref(false)
const showWordpressUnderList=ref(false)
</script>
<template>
<div class="content">
<div class="title">
<div class="logo">
</div>
<h3><span>techno</span></h3>
</div>
<p class="first">Technologies are just like Legos. I mean, they consist of a variety of bricks you can put together to build amazing things. Here are certain languages I feel comfortable with:</p>
<ul>
<li>html</li>
<li>css / scss</li>
<li>JavaScript</li>
<li>SQL</li>
<li>php</li>
</ul>
<p>And also some other stuff:</p>
<ul>
<li>Versioning with Git</li>
<li>npm / yarn</li>
<li @click="showVueUnderList = !showVueUnderList" v-bind:class="{ open : showVueUnderList }" class="under-listed">Vue.js</li>
<li v-bind:class="{ hide : !showVueUnderList }" class="under-li">Vue2 / Vue3</li>
<li v-bind:class="{ hide : !showVueUnderList }" class="under-li">Option api / Composition api</li>
<li v-bind:class="{ hide : !showVueUnderList }" class="under-li">Nuxt</li>
<li v-bind:class="{ hide : !showVueUnderList }" class="under-li last">Vuetify <span>💚</span></li>
<li @click="showWordpressUnderList = !showWordpressUnderList" v-bind:class="{ open : showWordpressUnderList }" class="under-listed">Worpress</li>
<li v-bind:class="{ hide : !showWordpressUnderList }" class="under-li">Custom plugins</li>
<li v-bind:class="{ hide : !showWordpressUnderList }" class="under-li">Custom themes</li>
<li v-bind:class="{ hide : !showWordpressUnderList }" class="under-li">Rest API backend</li>
<li v-bind:class="{ hide : !showWordpressUnderList }" class="under-li last">User management</li>
<li>Google API console</li>
<li>Linux systems...</li>
</ul>
<p>... And ready to learn more.</p>
</div>
</template>
<style lang="scss" scoped>
@import '../style/colors.scss';
.content{
& > .title {
& .logo{
background-image: url('../assets/legos_vrac_solo2.png');
background-size: 120%;
}
& > h3 > span::after{
content:"s"
}
}
& > p, & li{
//color : $main-normal;
//opacity : 0;
line-height: 1.25em;
// animation: text 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) forwards;
z-index: 2;
}
& > p{
padding: 1em 1em 0 1em;
&.first{
padding-top: 2em;
}
}
& ul{
padding: 0.5em 1em 0 3em;
}
li{
&::before{
//margin-left: 0em;
margin-right: 0.5em;
font-size: 1em;
content: "•";
word-spacing: 0.5em;
color: $action-normal;
}
&.under-listed{
font-weight: bold;
transition: 0.25s;
&::before{
display:inline-block;
//margin-left: 0px;
//content:"\0023F5";
width: 7px;
aspect-ratio: 1/2;
background-image: url('../assets/arrow-list.svg');
background-position: center;
background-repeat: no-repeat;
background-size: 100%;
font-size: 0.85em;
transform: rotate(0deg);
transition: 0.25s;
}
&.open{
&::before{
//content:"⏵";
transform: rotate(90deg);
}
}
&:hover{
color: $renforced-light;
cursor: pointer;
}
}
&.under-li{
margin-left: 1em;
&.last{
margin-bottom: 0.5em;
}
&::before{
margin-left: 1em;
margin-right: 1em;
font-size:small;
content: "■";
word-spacing: 0.5em;
color: $action-normal;
}
&.hide{
display: none;
}
}
}}
@keyframes text{
0%{
opacity : 0;
}
33%{
opacity : 0;
}
100%{
opacity:1;
}
}
@keyframes image_show{
0%{
opacity: 0;
left: 0;
}
33%{
opacity: 0;
left: 0;
}
}
@media (width > 450px){
.content > .title > h3 > span::after{
content:"logies"
}
}
</style>