default.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <template>
  2. <v-app id="inspire" dark>
  3. <v-app-bar app flat class="glassy fly-in-from-top"
  4. :class="$vuetify.breakpoint.mobile ? 'ma-4' : 'my-4 mx-auto'"
  5. :style="$vuetify.breakpoint.mobile ? '' : 'width: 50%'"
  6. style="border-radius: 1rem; overflow: hidden;"
  7. >
  8. <v-tabs centered center-active color="primary" router show-arrows>
  9. <v-tab v-for="link in links" :key="link.path" :to="link.path">
  10. {{ link.name }}
  11. </v-tab>
  12. </v-tabs>
  13. </v-app-bar>
  14. <v-img src="/ui/abstract.svg" style="position: absolute; left: 0; right: 0; width: 100%; height: 100%;" />
  15. <v-main class="pt-4">
  16. <section style="height: calc(100vh - 1rem); padding-top: 5rem; padding-bottom: 5rem; overflow-y: auto;">
  17. <center
  18. class="mx-auto d-flex flex-column justify-center items-center"
  19. style="width: 90vw; min-height: 100%; overflow-y: scroll;">
  20. <nuxt />
  21. </center>
  22. </section>
  23. </v-main>
  24. </v-app>
  25. </template>
  26. <style>
  27. html, body {
  28. overflow: hidden;
  29. }
  30. .mainAltButton {
  31. margin: 0.25em;
  32. }
  33. /* Glassmorphism effect */
  34. .glassy {
  35. backdrop-filter: blur(16px) saturate(180%);
  36. -webkit-backdrop-filter: blur(16px) saturate(180%);
  37. background-color: rgba(42, 42, 42, 0.75) !important;
  38. border-radius: 12px;
  39. /* border: 1px solid rgba(255, 255, 255, 0.125); */
  40. }
  41. .fly-in-from-top {
  42. opacity: 0;
  43. transform: scale(0.8) translateY(-200%);
  44. animation: fly-in-from-top 0.5s .3s ease forwards;
  45. }
  46. @keyframes fly-in-from-top {
  47. 0% {
  48. opacity: 0;
  49. transform: scale(0.8) translateY(-200%);
  50. }
  51. 100% {
  52. opacity: 1;
  53. transform: scale(1) translateY(0);
  54. }
  55. }
  56. </style>
  57. <script>
  58. export default {
  59. data: () => ({
  60. links: [
  61. {
  62. name: 'Home',
  63. path: '/'
  64. },
  65. {
  66. name: 'Install',
  67. path: '/install'
  68. },
  69. {
  70. name: 'FAQ',
  71. path: '/faq'
  72. },
  73. {
  74. name: 'Donate',
  75. path: '/donate'
  76. },
  77. {
  78. name: 'Links',
  79. path: '/links'
  80. },
  81. ],
  82. }),
  83. }
  84. </script>