default.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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 class="hidden-chrome-scrollbar" style="height: calc(100vh - 1rem); padding-top: 5rem; padding-bottom: 5rem; overflow-y: auto;">
  17. <center
  18. class="hidden-chrome-scrollbar mx-auto d-flex flex-column justify-center items-center"
  19. style="width: 90vw; min-height: 100%; overflow-y: auto;">
  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. .hidden-chrome-scrollbar::-webkit-scrollbar {
  34. display: none;
  35. }
  36. /* Glassmorphism effect */
  37. .glassy {
  38. backdrop-filter: blur(16px) saturate(180%);
  39. -webkit-backdrop-filter: blur(16px) saturate(180%);
  40. background-color: rgba(42, 42, 42, 0.75) !important;
  41. border-radius: 12px;
  42. /* border: 1px solid rgba(255, 255, 255, 0.125); */
  43. }
  44. .fly-in-from-top {
  45. opacity: 0;
  46. transform: scale(0.8) translateY(-200%);
  47. animation: fly-in-from-top 0.5s .3s ease forwards;
  48. }
  49. @keyframes fly-in-from-top {
  50. 0% {
  51. opacity: 0;
  52. transform: scale(0.8) translateY(-200%);
  53. }
  54. 100% {
  55. opacity: 1;
  56. transform: scale(1) translateY(0);
  57. }
  58. }
  59. </style>
  60. <script>
  61. export default {
  62. data: () => ({
  63. links: [
  64. {
  65. name: 'Home',
  66. path: '/'
  67. },
  68. {
  69. name: 'Install',
  70. path: '/install'
  71. },
  72. {
  73. name: 'FAQ',
  74. path: '/faq'
  75. },
  76. {
  77. name: 'Donate',
  78. path: '/donate'
  79. },
  80. {
  81. name: 'Links',
  82. path: '/links'
  83. },
  84. ],
  85. }),
  86. }
  87. </script>