Footer.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <footer class="footer">
  3. <div class="row-wrapper">
  4. <span class="flex flex-col font-mono md:flex-row" style="align-items: start">
  5. <a class="footer-link" href="https://www.netlify.com" target="_blank" rel="noopener">
  6. Powered by Netlify
  7. </a>
  8. <span class="footer-link"> Sponsored by </span>
  9. <span>
  10. <a
  11. class="footer-link"
  12. href="https://paw.cloud/?utm_source=hoppscotch&utm_medium=website&utm_campaign=hoppscotch-sponsorship"
  13. target="_blank"
  14. rel="noopener"
  15. >
  16. Paw
  17. </a>
  18. </span>
  19. <iframe
  20. src="https://ghbtns.com/github-btn.html?user=hoppscotch&type=sponsor"
  21. frameborder="0"
  22. scrolling="0"
  23. width="150"
  24. height="20"
  25. title="GitHub"
  26. class="footer-link"
  27. loading="lazy"
  28. ></iframe>
  29. </span>
  30. <span class="flex flex-col font-mono md:flex-row" style="align-items: start">
  31. <a href="mailto:liyascthomas@gmail.com" target="_blank" rel="noopener">
  32. <button class="icon" v-tooltip="$t('contact_us')">
  33. <i class="material-icons">email</i>
  34. </button>
  35. </a>
  36. <v-popover>
  37. <button class="icon" v-tooltip="$t('choose_language')">
  38. <i class="material-icons">translate</i>
  39. </button>
  40. <template slot="popover">
  41. <div v-for="locale in availableLocales" :key="locale.code">
  42. <nuxt-link :to="switchLocalePath(locale.code)">
  43. <button class="icon" v-close-popover>
  44. {{ locale.name }}
  45. </button>
  46. </nuxt-link>
  47. </div>
  48. </template>
  49. </v-popover>
  50. </span>
  51. </div>
  52. </footer>
  53. </template>
  54. <style scoped lang="scss">
  55. .footer-link {
  56. @apply inline-flex;
  57. @apply flex-shrink-0;
  58. @apply my-2;
  59. @apply mx-4;
  60. @apply text-fgLightColor;
  61. &:hover {
  62. @apply text-fgColor;
  63. }
  64. }
  65. </style>
  66. <script>
  67. export default {
  68. computed: {
  69. availableLocales() {
  70. return this.$i18n.locales.filter(({ code }) => code !== this.$i18n.locale)
  71. },
  72. },
  73. }
  74. </script>