Footer.vue 2.6 KB

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