|
|
@@ -1,145 +1,86 @@
|
|
|
<template>
|
|
|
<div class="topbar">
|
|
|
- <v-btn
|
|
|
- icon="fas fa-bars"
|
|
|
- variant="plain"
|
|
|
- class="smAndDown mr-2"
|
|
|
- aria-label="Show or hide the website menu"
|
|
|
- @click="isMenuOpen = !isMenuOpen"
|
|
|
- />
|
|
|
+ <h1>
|
|
|
+ <nuxt-link to="/">
|
|
|
+ Olivier Massot - Fullstack Developer
|
|
|
+ </nuxt-link>
|
|
|
+ </h1>
|
|
|
|
|
|
- <nuxt-link to="/" class="logo">
|
|
|
- <v-img src="/logo.png" alt="logo path-php" />
|
|
|
- </nuxt-link>
|
|
|
+ <v-spacer />
|
|
|
+
|
|
|
+ <div class="icon-links">
|
|
|
+ <ThemeSwitcher />
|
|
|
|
|
|
- <div class="menu mdAndUp">
|
|
|
<nuxt-link
|
|
|
- v-for="item in menu" :key="item.label"
|
|
|
- :to="item.to"
|
|
|
- active-class="active"
|
|
|
+ href="https://github.com/olinox14"
|
|
|
+ target="_blank"
|
|
|
+ aria-label="Find me on Github"
|
|
|
>
|
|
|
- {{ item.label }}
|
|
|
+ <v-icon>fab fa-github</v-icon>
|
|
|
</nuxt-link>
|
|
|
- </div>
|
|
|
- <v-spacer class="smAndDown" />
|
|
|
|
|
|
- <div class="icon-links">
|
|
|
- <ThemeSwitcher />
|
|
|
+ <nuxt-link
|
|
|
+ href="https://stackoverflow.com/users/4279120/olinox14"
|
|
|
+ target="_blank"
|
|
|
+ aria-label="Find me on Stackoverflow"
|
|
|
+ >
|
|
|
+ <v-icon>fab fa-stack-overflow</v-icon>
|
|
|
+ </nuxt-link>
|
|
|
|
|
|
<nuxt-link
|
|
|
- href="https://github.com/olinox14/path-php"
|
|
|
+ href="https://www.linkedin.com/in/olivier-massot-60b87b181"
|
|
|
target="_blank"
|
|
|
- aria-label="Open the Github page of Path-php"
|
|
|
+ aria-label="Find me on LinkedIn"
|
|
|
>
|
|
|
- <v-icon>fab fa-github</v-icon>
|
|
|
+ <v-icon>fab fa-linkedin</v-icon>
|
|
|
</nuxt-link>
|
|
|
</div>
|
|
|
-
|
|
|
- <v-navigation-drawer v-model="isMenuOpen" app temporary>
|
|
|
- <v-list nav dense aria-label="Menu">
|
|
|
- <v-list-item
|
|
|
- v-for="(item, index) in menu"
|
|
|
- :key="item.label"
|
|
|
- :to="item.to"
|
|
|
- class="menuItem"
|
|
|
- >
|
|
|
- <v-list-item-title class="d-flex flex-row w-100">
|
|
|
- <span class="flex-grow-1">
|
|
|
- {{ item.label }}
|
|
|
- </span>
|
|
|
- </v-list-item-title>
|
|
|
- </v-list-item>
|
|
|
- </v-list>
|
|
|
- </v-navigation-drawer>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
import ThemeSwitcher from "~/components/ThemeSwitcher.vue";
|
|
|
import type {Ref} from "@vue/reactivity";
|
|
|
-
|
|
|
- const isMenuOpen: Ref<boolean> = ref(false)
|
|
|
-
|
|
|
- const menu = [
|
|
|
- {
|
|
|
- label: "Home",
|
|
|
- to: "/"
|
|
|
- },
|
|
|
- {
|
|
|
- label: "Get started",
|
|
|
- to: "/get-started"
|
|
|
- },
|
|
|
- {
|
|
|
- label: "API",
|
|
|
- to: "api"
|
|
|
- }
|
|
|
- ]
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
-
|
|
|
-@media (min-width: 960px) {
|
|
|
- .smAndDown {
|
|
|
- display: none;
|
|
|
- }
|
|
|
-}
|
|
|
-@media (max-width: 960px) {
|
|
|
- .mdAndUp {
|
|
|
- display: none;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
.topbar {
|
|
|
height: 72px;
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
+ margin: 0 15%;
|
|
|
padding: 18px;
|
|
|
align-items: center;
|
|
|
|
|
|
- .logo {
|
|
|
- width: 140px;
|
|
|
-
|
|
|
- @media (max-width: 960px) {
|
|
|
- width: 25%;
|
|
|
- min-width: 30px;
|
|
|
- }
|
|
|
+ @media (max-width: 1280px) {
|
|
|
+ margin: 0 10%;
|
|
|
}
|
|
|
|
|
|
- .v-btn {
|
|
|
- color: rgb(var(--v-theme-on-neutral));
|
|
|
+ @media (max-width: 600px) {
|
|
|
+ margin: 0 5%;
|
|
|
}
|
|
|
|
|
|
- .menu {
|
|
|
- margin: 0 auto;
|
|
|
+ h1 {
|
|
|
+ font-size: 22px;
|
|
|
|
|
|
a {
|
|
|
- text-decoration: none;
|
|
|
color: rgb(var(--v-theme-on-neutral));
|
|
|
- padding: 8px;
|
|
|
- font-weight: bold;
|
|
|
- margin: 0 18px;
|
|
|
- font-size: 18px;
|
|
|
- padding: 8px;
|
|
|
- }
|
|
|
-
|
|
|
- a:hover {
|
|
|
- color: rgb(var(--v-theme-on-neutral--clickable));
|
|
|
+ text-decoration: none;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- a.active {
|
|
|
- color: rgb(var(--v-theme-on-neutral--clickable));
|
|
|
- border-bottom: solid 2px rgb(var(--v-theme-on-neutral--clickable));
|
|
|
- }
|
|
|
+ .v-btn {
|
|
|
+ color: rgb(var(--v-theme-on-neutral));
|
|
|
}
|
|
|
|
|
|
.icon-links {
|
|
|
- color: black;
|
|
|
- font-size: 20px;
|
|
|
+ font-size: 16px;
|
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
|
+ align-items: center;
|
|
|
|
|
|
> * {
|
|
|
- margin-left: 16px;
|
|
|
+ margin-left: 24px;
|
|
|
}
|
|
|
|
|
|
a {
|