Topbar.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <template>
  2. <div class="topbar">
  3. <IdCard v-if="lgAndUp" />
  4. <v-spacer />
  5. <div class="icon-links">
  6. <LanguageSelector class="mr-3" />
  7. <ThemeSwitcher />
  8. <nuxt-link
  9. href="https://github.com/olinox14"
  10. target="_blank"
  11. :aria-label="i18n.t('Find me on Github')"
  12. class="logo"
  13. >
  14. <v-icon>fab fa-github</v-icon>
  15. </nuxt-link>
  16. <nuxt-link
  17. href="https://stackoverflow.com/users/4279120/olinox14"
  18. target="_blank"
  19. :aria-label="i18n.t('Find me on Stackoverflow')"
  20. class="logo"
  21. >
  22. <v-icon>fab fa-stack-overflow</v-icon>
  23. </nuxt-link>
  24. <nuxt-link
  25. href="https://www.linkedin.com/in/olivier-massot-60b87b181"
  26. target="_blank"
  27. :aria-label="i18n.t('Find me on LinkedIn')"
  28. class="logo"
  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 { useDisplay } from 'vuetify'
  38. const i18n = useI18n()
  39. const { lgAndUp }= useDisplay()
  40. </script>
  41. <style scoped lang="scss">
  42. .topbar {
  43. height: 64px;
  44. display: flex;
  45. flex-direction: row;
  46. margin: 0;
  47. padding: 18px;
  48. @media (max-width: 1280px) {
  49. margin: 0 10%;
  50. }
  51. @media (max-width: 600px) {
  52. margin: 0 5%;
  53. }
  54. .v-btn {
  55. color: rgb(var(--v-theme-on-background));
  56. }
  57. .icon-links {
  58. font-size: 14px;
  59. display: flex;
  60. flex-direction: row;
  61. align-items: center;
  62. > * {
  63. margin-left: 24px;
  64. @media (max-width: 540px) {
  65. margin-left: 4px;
  66. }
  67. }
  68. .logo {
  69. padding: 4px;
  70. }
  71. a {
  72. color: rgb(var(--v-theme-on-background--clickable));
  73. }
  74. }
  75. }
  76. </style>