Footer.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <template>
  2. <footer class="flex flex-col p-6">
  3. <nav class="grid gap-4 grid-cols-2 md:grid-cols-4">
  4. <div class="flex flex-col space-y-2">
  5. <h4 class="my-2">Hoppscotch</h4>
  6. <ul class="space-y-4">
  7. <li>
  8. <SmartChangeLanguage />
  9. </li>
  10. <li>
  11. <SmartColorModePicker />
  12. </li>
  13. </ul>
  14. </div>
  15. <div class="flex flex-col space-y-2">
  16. <h4 class="my-2">Solutions</h4>
  17. <ul class="space-y-2">
  18. <li
  19. v-for="(item, index) in navigation.solutions"
  20. :key="`item-${index}`"
  21. >
  22. <SmartAnchor
  23. :label="item.name"
  24. :to="item.link"
  25. class="footer-nav"
  26. />
  27. </li>
  28. </ul>
  29. </div>
  30. <div class="flex flex-col space-y-2">
  31. <h4 class="my-2">Platform</h4>
  32. <ul class="space-y-2">
  33. <li
  34. v-for="(item, index) in navigation.platform"
  35. :key="`item-${index}`"
  36. >
  37. <SmartAnchor
  38. :label="item.name"
  39. :to="item.link"
  40. class="footer-nav"
  41. />
  42. </li>
  43. </ul>
  44. </div>
  45. <div class="flex flex-col space-y-2">
  46. <h4 class="my-2">Company</h4>
  47. <ul class="space-y-2">
  48. <li
  49. v-for="(item, index) in navigation.company"
  50. :key="`item-${index}`"
  51. >
  52. <SmartAnchor
  53. :label="item.name"
  54. :to="item.link"
  55. class="footer-nav"
  56. />
  57. </li>
  58. </ul>
  59. </div>
  60. </nav>
  61. </footer>
  62. </template>
  63. <script>
  64. import { defineComponent } from "@nuxtjs/composition-api"
  65. export default defineComponent({
  66. data() {
  67. return {
  68. navigation: {
  69. solutions: [
  70. {
  71. name: "RESTful",
  72. link: "/",
  73. },
  74. {
  75. name: "WebSocket",
  76. link: "/realtime",
  77. },
  78. {
  79. name: "SSE",
  80. link: "/realtime",
  81. },
  82. {
  83. name: "Socket.IO",
  84. link: "/realtime",
  85. },
  86. {
  87. name: "MQTT",
  88. link: "/realtime",
  89. },
  90. {
  91. name: "GraphQL",
  92. link: "/graphql",
  93. },
  94. ],
  95. platform: [
  96. {
  97. name: "API Designing",
  98. link: "/",
  99. },
  100. {
  101. name: "API Development",
  102. link: "/",
  103. },
  104. {
  105. name: "API Testing",
  106. link: "/",
  107. },
  108. {
  109. name: "API Deployment",
  110. link: "/",
  111. },
  112. {
  113. name: "API Documentation",
  114. link: "/documentation",
  115. },
  116. {
  117. name: "Integrations",
  118. link: "/",
  119. },
  120. ],
  121. company: [
  122. {
  123. name: "About",
  124. link: "/",
  125. },
  126. {
  127. name: "Careers",
  128. link: "/careers",
  129. },
  130. {
  131. name: "Support",
  132. link: "/",
  133. },
  134. {
  135. name: "Contact",
  136. link: "/",
  137. },
  138. {
  139. name: "Blog",
  140. link: "https://blog.hoppscotch.io",
  141. },
  142. {
  143. name: "Community",
  144. link: "/",
  145. },
  146. {
  147. name: "Open Source",
  148. link: "https://github.com/hoppscotch",
  149. },
  150. ],
  151. },
  152. }
  153. },
  154. })
  155. </script>
  156. <style scoped lang="scss">
  157. .footer-nav {
  158. @apply px-2 py-1;
  159. @apply -mx-2 -my-1;
  160. @apply hover:text-secondaryDark;
  161. @apply focus-visible:text-secondaryDark;
  162. }
  163. </style>