index.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <template>
  2. <div>
  3. <svg id="thumbslogo" class="mb-4" width="150" height="150" viewBox="0 0 24 24"><path d="m15 3h-9c-0.83 0-1.54 0.5-1.84 1.22l-3.02 7.05c-0.09 0.23-0.14 0.47-0.14 0.73v2a2 2 0 0 0 2 2h6.31l-0.95 4.57a1.49 1.49 0 0 0 0.41 1.37l1.06 1.06 6.58-6.59c0.37-0.36 0.59-0.86 0.59-1.41v-10a2 2 0 0 0-2-2zm4 12h4v-12h-4z" /><path d="m7.47 12.2 4.76-2.7-4.76-2.71z" fill="#fff" stroke="none"/></svg>
  4. <h1 class="title-text" >Return YouTube Dislike</h1>
  5. <div class="mb-4" style="color: #999">
  6. <p style="margin-top: 0">Browser extension and an API that show you dislikes on Youtube</p>
  7. </div>
  8. <v-btn :to="installLink" color="primary px-6" style="font-size: 1.5em; padding: 1em; margin-bottom: 0.5em;">
  9. <v-icon large class="mr-6">mdi-tray-arrow-down</v-icon>
  10. Install
  11. </v-btn>
  12. <br>
  13. <v-btn class="mainAltButton" :href="githubLink" target="_blank">
  14. <v-icon style="margin-right: 0.5em;">mdi-github</v-icon>
  15. GitHub
  16. </v-btn>
  17. <v-btn class="mainAltButton" :href="discordLink" target="_blank">
  18. <v-icon style="margin-right: 0.5em;">mdi-discord</v-icon>
  19. Discord
  20. </v-btn>
  21. </div>
  22. </template>
  23. <style scoped>
  24. #thumbslogo {
  25. opacity: 0;
  26. fill: transparent;
  27. stroke: #f44;
  28. transition-property: opacity, transform;
  29. transform: scale(0) rotate(180deg);
  30. animation: popin 1s 1s ease-in-out 1 forwards, tap .3s 2.5s ease-in-out 1 forwards;
  31. }
  32. @keyframes popin {
  33. 0% {
  34. transform: rotate(180deg) scale(0);
  35. opacity: 0;
  36. } 100% {
  37. transform: rotate(0deg) scale(1);
  38. opacity: 1;
  39. }
  40. }
  41. @keyframes tap {
  42. 0% {
  43. fill: transparent;
  44. stroke: #f44;
  45. transform: scale(1);
  46. } 25% {
  47. fill: #f44;
  48. stroke: none;
  49. transform: scale(.8);
  50. } 100% {
  51. fill: #f44;
  52. stroke: none;
  53. transform: scale(1);
  54. }
  55. }
  56. /* reduced-motion animations */
  57. @media (prefers-reduced-motion) {
  58. #thumbslogo {
  59. opacity: 1;
  60. fill: #f44;
  61. stroke: none;
  62. transform: none;
  63. animation: none;
  64. }
  65. }
  66. </style>
  67. <script>
  68. export default {
  69. transition(to, from) {
  70. if (!from) return 'swoop-in'
  71. let routes = ['index', 'install', 'faq', 'donate', 'links']
  72. if (routes.indexOf(to.name) < 0) return 'swoop-out'
  73. if (routes.indexOf(from.name) < 0) return 'swoop-in'
  74. return routes.indexOf(to.name) > routes.indexOf(from.name) ? 'swoop-left' : 'swoop-right'
  75. },
  76. data() {
  77. return {
  78. installLink: "/install",
  79. githubLink: "https://github.com/Anarios/return-youtube-dislike",
  80. discordLink: "https://discord.gg/mYnESY4Md5",
  81. }
  82. }
  83. }
  84. </script>