Topbar.vue 1.5 KB

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