pw-footer.vue 2.3 KB

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