Topbar.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <template>
  2. <div class="topbar">
  3. <h1>
  4. <nuxt-link to="/">
  5. Olivier Massot - Fullstack Developer
  6. </nuxt-link>
  7. </h1>
  8. <v-spacer />
  9. <div class="icon-links">
  10. <ThemeSwitcher />
  11. <nuxt-link
  12. href="https://github.com/olinox14"
  13. target="_blank"
  14. aria-label="Find me on Github"
  15. >
  16. <v-icon>fab fa-github</v-icon>
  17. </nuxt-link>
  18. <nuxt-link
  19. href="https://stackoverflow.com/users/4279120/olinox14"
  20. target="_blank"
  21. aria-label="Find me on Stackoverflow"
  22. >
  23. <v-icon>fab fa-stack-overflow</v-icon>
  24. </nuxt-link>
  25. <nuxt-link
  26. href="https://www.linkedin.com/in/olivier-massot-60b87b181"
  27. target="_blank"
  28. aria-label="Find me on LinkedIn"
  29. >
  30. <v-icon>fab fa-linkedin</v-icon>
  31. </nuxt-link>
  32. </div>
  33. </div>
  34. </template>
  35. <script setup lang="ts">
  36. import ThemeSwitcher from "~/components/ThemeSwitcher.vue";
  37. import type {Ref} from "@vue/reactivity";
  38. </script>
  39. <style scoped lang="scss">
  40. .topbar {
  41. height: 72px;
  42. display: flex;
  43. flex-direction: row;
  44. margin: 0 15%;
  45. padding: 18px;
  46. align-items: center;
  47. @media (max-width: 1280px) {
  48. margin: 0 10%;
  49. }
  50. @media (max-width: 600px) {
  51. margin: 0 5%;
  52. }
  53. h1 {
  54. font-size: 22px;
  55. a {
  56. color: rgb(var(--v-theme-on-neutral));
  57. text-decoration: none;
  58. }
  59. }
  60. .v-btn {
  61. color: rgb(var(--v-theme-on-neutral));
  62. }
  63. .icon-links {
  64. font-size: 16px;
  65. display: flex;
  66. flex-direction: row;
  67. align-items: center;
  68. > * {
  69. margin-left: 24px;
  70. }
  71. a {
  72. color: rgb(var(--v-theme-on-neutral--clickable));
  73. }
  74. }
  75. }
  76. </style>