New site 👍

This commit is contained in:
Front
2021-11-23 20:16:23 -05:00
parent 34dc818a55
commit 625c6924e6
69 changed files with 1222 additions and 453 deletions
+6
View File
@@ -1,3 +1,9 @@
*.idea
*Backend
*cert
StaticSite/.editorconfig
StaticSite/package-lock.json
Website/node_modules
Website/.nuxt
Website/.editorconfig
View File
+9
View File
@@ -0,0 +1,9 @@
<!doctype html>
<html lang="en" data-n-head="%7B%22lang%22:%7B%221%22:%22en%22%7D%7D">
<head>
<title>Return Youtube Dislike</title><meta data-n-head="1" charset="utf-8"><meta data-n-head="1" name="viewport" content="width=device-width,initial-scale=1"><meta data-n-head="1" data-hid="description" name="description" content="An extension that returns dislike statistics to YouTube. For now, it only works if a video had public display of dislikes enabled before YouTube removed dislike stats. "><meta data-n-head="1" data-hid="og:image" name="og:image" content="/logo.png"><meta data-n-head="1" data-hid="theme-color" name="theme-color" content="#ff0000"><link data-n-head="1" rel="icon" type="image/x-icon" href="/favicon.ico"><link rel="preload" href="/_nuxt/e269223.js" as="script"><link rel="preload" href="/_nuxt/09c63c9.js" as="script"><link rel="preload" href="/_nuxt/1c65335.js" as="script"><link rel="preload" href="/_nuxt/81e344f.js" as="script">
</head>
<body>
<div id="__nuxt"><style>#nuxt-loading{background:#fff;visibility:hidden;opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;display:flex;justify-content:center;align-items:center;flex-direction:column;animation:nuxtLoadingIn 10s ease;-webkit-animation:nuxtLoadingIn 10s ease;animation-fill-mode:forwards;overflow:hidden}@keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}@-webkit-keyframes nuxtLoadingIn{0%{visibility:hidden;opacity:0}20%{visibility:visible;opacity:0}100%{visibility:visible;opacity:1}}#nuxt-loading>div,#nuxt-loading>div:after{border-radius:50%;width:5rem;height:5rem}#nuxt-loading>div{font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid #f5f5f5;border-left:.5rem solid #000;-webkit-transform:translateZ(0);-ms-transform:translateZ(0);transform:translateZ(0);-webkit-animation:nuxtLoading 1.1s infinite linear;animation:nuxtLoading 1.1s infinite linear}#nuxt-loading.error>div{border-left:.5rem solid #ff4500;animation-duration:5s}@-webkit-keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes nuxtLoading{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}</style><script>window.addEventListener("error",function(){var e=document.getElementById("nuxt-loading");e&&(e.className+=" error")})</script><div id="nuxt-loading" aria-live="polite" role="status"><div>Loading...</div></div></div><script>window.__NUXT__={config:{_app:{basePath:"/",assetsPath:"/_nuxt/",cdnURL:null}},staticAssetsBase:"/_nuxt/static/1637716534"}</script>
<script src="/_nuxt/e269223.js"></script><script src="/_nuxt/09c63c9.js"></script><script src="/_nuxt/1c65335.js"></script><script src="/_nuxt/81e344f.js"></script></body>
</html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{348:function(t,e,r){"use strict";r.r(e);var n=r(80),component=Object(n.a)({},(function(){var t=this.$createElement,e=this._self._c||t;return e("div",[e("section",{staticStyle:{position:"relative"}},[e("div",{staticClass:"center"},[e("center",[e("iframe",{attrs:{src:"https://yoomoney.ru/quickpay/shop-widget?writer=seller&targets=For%20returnyoutubedislike.com&targets-hint=&default-sum=&button-text=13&hint=&successURL=&quickpay=shop&account=410015901550027&",allowtransparency:"true",scrolling:"no",width:"423",height:"222",frameborder:"0"}})])],1)])])}),[],!1,null,null,null);e.default=component.exports}}]);
+1
View File
@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{345:function(t,e,n){"use strict";n.r(e);var o={data:function(){return{chromeLink:"https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/",firefoxLink:"https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/",scriptLink:"https://github.com/Anarios/return-youtube-dislike/raw/main/Extensions/UserScript/Return%20Youtube%20Dislike.user.js",iosJailbreakLink:"https://repo.lillieweeb001.xyz/"}}},r=n(80),l=n(106),c=n.n(l),m=n(164),v=n(163),component=Object(r.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("section",{staticStyle:{position:"relative"}},[n("div",{staticClass:"center"},[n("center",[n("h1",{staticStyle:{"font-size":"3em","margin-bottom":"0"}},[t._v("Select Your Platform")]),t._v(" "),n("div",{staticStyle:{color:"#999"}},[n("p",{staticStyle:{"margin-bottom":"0"}},[t._v(" This is an "),n("b",[t._v("ALPHA version!")]),t._v(" It may be slow. It may be buggy.")]),t._v(" "),n("p",{staticStyle:{"margin-bottom":"3em"}},[t._v("Only available for chrome and Firefox now and as a Userscript now, but coming to other platforms soon.")])]),t._v(" "),n("v-btn",{staticClass:"mainAltButton",attrs:{href:t.chromeLink,target:"_blank"}},[n("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-google-chrome")]),t._v("\n Chrome\n ")],1),t._v(" "),n("v-btn",{staticClass:"mainAltButton",attrs:{href:t.firefoxLink,target:"_blank"}},[n("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-firefox")]),t._v("\n Firefox\n ")],1),t._v(" "),n("v-btn",{staticClass:"mainAltButton",attrs:{href:t.scriptLink,target:"_blank"}},[n("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-script-text-outline")]),t._v("\n Userscript (Tampermonkey)\n ")],1),t._v(" "),n("h3",{staticStyle:{"margin-top":"3em"}},[t._v("Third Party Implementations")]),t._v(" "),n("v-btn",{staticClass:"mainAltButton",attrs:{href:t.iosJailbreakLink,target:"_blank"}},[n("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-apple")]),t._v("\n iOS (Jailbroken)\n ")],1)],1)],1)])])}),[],!1,null,null,null);e.default=component.exports;c()(component,{VBtn:m.a,VIcon:v.a})}}]);
+1
View File
@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{347:function(t,n,e){"use strict";e.r(n);var r={data:function(){return{installLink:"/install",githubLink:"https://github.com/Anarios/return-youtube-dislike",discordLink:"https://discord.gg/mYnESY4Md5"}}},o=e(80),l=e(106),c=e.n(l),m=e(164),d=e(163),component=Object(o.a)(r,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("section",{staticStyle:{position:"relative"}},[e("div",{staticClass:"center"},[e("center",[e("h1",{staticStyle:{"font-size":"3em","margin-bottom":"0.5em"}},[t._v("Return Youtube Dislike")]),t._v(" "),e("v-btn",{staticStyle:{"font-size":"1.5em",padding:"1em","margin-bottom":"0.5em"},attrs:{to:t.installLink,color:"primary lighten-1"}},[e("v-icon",{staticStyle:{"margin-right":"0.5em"},attrs:{large:""}},[t._v("mdi-tray-arrow-down")]),t._v("\n Install\n ")],1),t._v(" "),e("br"),t._v(" "),e("v-btn",{staticClass:"mainAltButton",attrs:{href:t.githubLink,target:"_blank"}},[e("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-github")]),t._v("\n Github\n ")],1),t._v(" "),e("v-btn",{staticClass:"mainAltButton",attrs:{href:t.discordLink,target:"_blank"}},[e("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-discord")]),t._v("\n Our Discord\n ")],1)],1)],1)])])}),[],!1,null,null,null);n.default=component.exports;c()(component,{VBtn:m.a,VIcon:d.a})}}]);
+1
View File
@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{338:function(t,n,e){var content=e(342);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,e(27).default)("521d07ed",content,!0,{sourceMap:!1})},341:function(t,n,e){"use strict";e(338)},342:function(t,n,e){var o=e(26)(!1);o.push([t.i,"#credits[data-v-0f1b9730]{position:absolute;bottom:0;left:50%;transform:translate(-50%);color:#555}",""]),t.exports=o},346:function(t,n,e){"use strict";e.r(n);var o={data:function(){return{githubLink:"https://github.com/Anarios/return-youtube-dislike",discordLink:"https://discord.gg/mYnESY4Md5",emailLink:"mailto:selivano.d@gmail.com "}}},r=(e(341),e(80)),c=e(106),l=e.n(c),d=e(164),v=e(163),component=Object(r.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("section",{staticStyle:{position:"relative"}},[e("div",{staticClass:"center"},[e("center",[e("h1",{staticStyle:{"font-size":"3em","margin-bottom":"0"}},[t._v("Project Links")]),t._v(" "),e("div",{staticStyle:{color:"#999"}},[e("p",{staticStyle:{"margin-bottom":"1em"}},[t._v("Links to the project and it's developers")])]),t._v(" "),e("v-btn",{staticClass:"mainAltButton",attrs:{href:t.githubLink,target:"_blank"}},[e("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-github")]),t._v("\n Github\n ")],1),t._v(" "),e("v-btn",{staticClass:"mainAltButton",attrs:{href:t.discordLink,target:"_blank"}},[e("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-discord")]),t._v("\n Discord\n ")],1),t._v(" "),e("h1",{staticStyle:{"margin-top":"1em"}},[t._v("Contact Me")]),t._v(" "),e("v-btn",{staticClass:"mainAltButton",attrs:{href:t.emailLink,target:"_blank"}},[e("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-email")]),t._v("\n Email\n ")],1)],1)],1)]),t._v(" "),e("p",{attrs:{id:"credits"}},[t._v("Site by "),e("v-icon",{attrs:{color:"#555"}},[t._v("mdi-discord")]),t._v(" Front#2990.")],1)])}),[],!1,null,"0f1b9730",null);n.default=component.exports;l()(component,{VBtn:d.a,VIcon:v.a})}}]);
+1
View File
@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],{211:function(t,e,n){var content=n(272);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(27).default)("7388ab72",content,!0,{sourceMap:!1})},213:function(t,e,n){var content=n(278);content.__esModule&&(content=content.default),"string"==typeof content&&(content=[[t.i,content,""]]),content.locals&&(t.exports=content.locals);(0,n(27).default)("56b15182",content,!0,{sourceMap:!1})},231:function(t,e,n){"use strict";var r={data:function(){return{links:[{name:"Home",path:"/"},{name:"Install",path:"/install"},{name:"FAQ",path:"/faq"},{name:"Donate",path:"/donate"},{name:"Links",path:"/links"}]}}},o=(n(277),n(80)),l=n(106),c=n.n(l),f=n(332),d=n(336),h=n(232),v=n(333),m=n(334),_=n(335),component=Object(o.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-app",{attrs:{id:"inspire",dark:""}},[n("v-app-bar",{attrs:{app:"",color:"lighten-2",flat:""}},[n("v-tabs",{staticClass:"ml-n9",attrs:{centered:"",color:"primary",router:""}},t._l(t.links,(function(link){return n("v-tab",{key:link,attrs:{to:link.path}},[t._v("\n "+t._s(link.name)+"\n ")])})),1)],1),t._v(" "),n("v-main",[n("v-img",{staticStyle:{position:"absolute",top:"0",right:"0",width:"100%",height:"100%"},attrs:{src:"/ui/abstract.svg"}}),t._v(" "),n("nuxt")],1)],1)}),[],!1,null,null,null);e.a=component.exports;c()(component,{VApp:f.a,VAppBar:d.a,VImg:h.a,VMain:v.a,VTab:m.a,VTabs:_.a})},237:function(t,e,n){n(238),t.exports=n(239)},271:function(t,e,n){"use strict";n(211)},272:function(t,e,n){var r=n(26)(!1);r.push([t.i,"h1[data-v-bfedb7fe]{font-size:20px}",""]),t.exports=r},277:function(t,e,n){"use strict";n(213)},278:function(t,e,n){var r=n(26)(!1);r.push([t.i,"body,html{overflow:hidden}section{height:90vh;width:100vw}.mainAltButton{margin:.25em}.center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}",""]),t.exports=r},70:function(t,e,n){"use strict";var r={layout:"empty",props:{error:{type:Object,default:null}},data:function(){return{pageNotFound:"404 Not Found",otherError:"An error occurred"}},head:function(){return{title:404===this.error.statusCode?this.pageNotFound:this.otherError}}},o=(n(271),n(80)),l=n(106),c=n.n(l),f=n(332),component=Object(o.a)(r,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-app",{attrs:{dark:""}},[404===t.error.statusCode?n("h1",[t._v("\n "+t._s(t.pageNotFound)+"\n ")]):n("h1",[t._v("\n "+t._s(t.otherError)+"\n ")]),t._v(" "),n("NuxtLink",{attrs:{to:"/"}},[t._v("\n Home page\n ")])],1)}),[],!1,null,"bfedb7fe",null);e.a=component.exports;c()(component,{VApp:f.a})}},[[237,8,1,9]]]);
+1
View File
@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{344:function(t,n,e){"use strict";e.r(n);var o={data:function(){return{patreonLink:"https://www.patreon.com/returnyoutubedislike",yoomoneyLink:"/pay/yoomoney"}}},r=e(80),c=e(106),l=e.n(c),m=e(164),v=e(163),component=Object(r.a)(o,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",[e("section",{staticStyle:{position:"relative"}},[e("div",{staticClass:"center"},[e("center",[e("h1",{staticStyle:{"font-size":"3em","margin-bottom":"0em"}},[t._v("Donate")]),t._v(" "),e("p",{staticStyle:{color:"#999","margin-bottom":"3em"}},[t._v("You can support our efforts to keep the internet free with a donation!")]),t._v(" "),e("v-btn",{staticClass:"mainAltButton",attrs:{href:t.patreonLink,target:"_blank"}},[e("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-patreon")]),t._v("\n Patreon\n ")],1),t._v(" "),e("v-btn",{staticClass:"mainAltButton",attrs:{to:t.yoomoneyLink}},[e("v-icon",{staticStyle:{"margin-right":"0.5em"}},[t._v("mdi-cash-multiple")]),t._v("\n Yoomoney\n ")],1)],1)],1)])])}),[],!1,null,null,null);n.default=component.exports;l()(component,{VBtn:m.a,VIcon:v.a})}}]);
+24
View File
@@ -0,0 +1,24 @@
/*!
* vue-router v3.5.3
* (c) 2021 Evan You
* @license MIT
*/
/*!
* Vue.js v2.6.14
* (c) 2014-2021 Evan You
* Released under the MIT License.
*/
/*!
* vue-client-only v0.0.0-semantic-release
* (c) 2021-present egoist <0x142857@gmail.com>
* Released under the MIT License.
*/
/*!
* vue-no-ssr v1.1.1
* (c) 2018-present egoist <0x142857@gmail.com>
* Released under the MIT License.
*/
+1
View File
@@ -0,0 +1 @@
!function(e){function r(data){for(var r,n,f=data[0],l=data[1],d=data[2],i=0,h=[];i<f.length;i++)n=f[i],Object.prototype.hasOwnProperty.call(o,n)&&o[n]&&h.push(o[n][0]),o[n]=0;for(r in l)Object.prototype.hasOwnProperty.call(l,r)&&(e[r]=l[r]);for(v&&v(data);h.length;)h.shift()();return c.push.apply(c,d||[]),t()}function t(){for(var e,i=0;i<c.length;i++){for(var r=c[i],t=!0,n=1;n<r.length;n++){var l=r[n];0!==o[l]&&(t=!1)}t&&(c.splice(i--,1),e=f(f.s=r[0]))}return e}var n={},o={8:0},c=[];function f(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,f),t.l=!0,t.exports}f.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var c,script=document.createElement("script");script.charset="utf-8",script.timeout=120,f.nc&&script.setAttribute("nonce",f.nc),script.src=function(e){return f.p+""+{2:"9f45c2d",3:"0d21252",4:"5895eff",5:"315b46d",6:"693a006",7:"23b6116"}[e]+".js"}(e);var l=new Error;c=function(r){script.onerror=script.onload=null,clearTimeout(d);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;l.message="Loading chunk "+e+" failed.\n("+n+": "+c+")",l.name="ChunkLoadError",l.type=n,l.request=c,t[1](l)}o[e]=void 0}};var d=setTimeout((function(){c({type:"timeout",target:script})}),12e4);script.onerror=script.onload=c,document.head.appendChild(script)}return Promise.all(r)},f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(object,e){return Object.prototype.hasOwnProperty.call(object,e)},f.p="/_nuxt/",f.oe=function(e){throw console.error(e),e};var l=window.webpackJsonp=window.webpackJsonp||[],d=l.push.bind(l);l.push=r,l=l.slice();for(var i=0;i<l.length;i++)r(l[i]);var v=d;t()}([]);
@@ -0,0 +1 @@
__NUXT_JSONP__("/donate", {data:[{}],fetch:{},mutations:void 0});
@@ -0,0 +1 @@
__NUXT_JSONP__("/faq", {data:[{}],fetch:{},mutations:void 0});
@@ -0,0 +1 @@
__NUXT_JSONP__("/install", {data:[{}],fetch:{},mutations:void 0});
@@ -0,0 +1 @@
__NUXT_JSONP__("/links", {data:[{}],fetch:{},mutations:void 0});
@@ -0,0 +1 @@
__NUXT_JSONP__("manifest.js", {routes:["\u002Finstall","\u002F","\u002Ffaq","\u002Flinks","\u002Fdonate","\u002Fpay\u002Fyoomoney"]})
@@ -0,0 +1 @@
__NUXT_JSONP__("/pay/yoomoney", {data:[{}],fetch:{},mutations:void 0});
@@ -0,0 +1 @@
window.__NUXT__=(function(a){return {staticAssetsBase:"\u002F_nuxt\u002Fstatic\u002F1637716534",layout:"default",error:a,serverRendered:true,routePath:"\u002Fpay\u002Fyoomoney",config:{_app:{basePath:"\u002F",assetsPath:"\u002F_nuxt\u002F",cdnURL:a}}}}(null));
@@ -0,0 +1 @@
__NUXT_JSONP__("/", {data:[{}],fetch:{},mutations:void 0});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

+24 -453
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.2 KiB

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 109 KiB

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 156 KiB

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 194 KiB

+458
View File
@@ -0,0 +1,458 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Bootstrap CSS -->
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin="anonymous"
/>
<title>Return YouTube dislike count</title>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container-xxl">
<a class="navbar-brand" href="/">Return YouTube dislike count</a>
<button
class="navbar-toggler"
type="button"
data-bs-toggle="collapse"
data-bs-target="#navbarNav"
aria-controls="navbarNav"
aria-expanded="false"
aria-label="Toggle navigation"
>
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" href="#donate">Donate</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#downloads">Downloads</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#installation">Installation</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#faq">FAQ</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#communication">Communication</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#sources">Sources</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-10 col-md-10 col-sm-12">
<h3 class="mt-4">
Chrome/Firefox/Usersript extension to return youtube dislike count
</h3>
<img
src="images/aAGrY8L_700b.jpg"
class="img-fluid"
style="height: 520px"
/>
<p>
<a
href="https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/"
><img
src="https://img.shields.io/amo/stars/return-youtube-dislikes?label=Firefox&amp;style=flat&amp;logo=firefox"
alt="Mozilla rating"
/></a>
<a
href="https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/"
><img
src="https://img.shields.io/amo/dw/return-youtube-dislikes?label=Firefox&amp;style=flat&amp;logo=firefox"
alt="Mozilla downloads"
/></a>
<a
href="https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/"
><img
src="https://img.shields.io/chrome-web-store/stars/gebbhagfogifgggkldgodflihgfeippi?label=Chrome&amp;style=flat&amp;logo=google"
alt="Chrome Web Store"
/></a>
<a
href="https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/"
><img
src="https://img.shields.io/chrome-web-store/users/gebbhagfogifgggkldgodflihgfeippi?label=Chrome&amp;style=flat&amp;logo=google"
alt="Chrome Web Store Users"
/></a>
<a
href="https://github.com/Anarios/return-youtube-dislike/commits/main"
><img
src="https://img.shields.io/github/commit-activity/m/Anarios/return-youtube-dislike?label=Commits&amp;style=flat"
alt="Commit rate"
/></a>
<a href="https://github.com/Anarios/return-youtube-dislike/issues"
><img
src="https://img.shields.io/github/issues/Anarios/return-youtube-dislike?style=flat&amp;label=Issues"
alt="Issues"
/></a>
<a href="https://discord.gg/UMxyMmCgfF"
><img
src="https://img.shields.io/discord/909435648170160229?label=Discord&amp;style=flat&amp;logo=discord"
alt="Discord"
/></a>
<a
href="https://github.com/Anarios/return-youtube-dislike/blob/main/LICENSE"
><img
src="https://img.shields.io/badge/License-GPLv3-blue.svg?style=flat"
alt="License"
/></a>
</p>
<p>
<strong
>Version 0.0.0.7 released - great improvements in how fast you see
dislikes</strong
>, and added ability to see full (unshortened) likes and dislikes on
hower over rating bar
</p>
<h4 id="chrome-top">Chrome</h4>
<p>
<a
href="https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/"
target="_blank"
>
Available in official Chrome store</a
>
</p>
<p>
<strong>NEVER INSTALL 2 VERSIONS OF ADDON AT THE SAME TIME</strong>.
I.e. an unpacked version from this page, and another version from
chrome store. It will cause bugs
</p>
<h4>Firefox</h4>
<p>
Now
<a
href="https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/"
>
available in official Firefox store</a
>
</p>
<h4 id="donate">Donate</h4>
<p>You can support our efforts to keep internet free by a donation</p>
<p><a href="https://www.patreon.com/returnyoutubedislike">Pateron</a></p>
<p><a href="https://ko-fi.com/returnyoutubedislike">ko-fi</a></p>
<h4 class="mt-5">General information</h4>
<p>
This is a Chrome/Firefox/Userscript extension that return dislike
statistics to YouTube. For now, it only works if a video had public
display of dislikes enabled before YouTube removed dislike stats.
</p>
<p>
Base dislike stats are retrieved from YouTube API while it's
available. When API closes - the extension will use data from
extension users to derive actual dislike count on a video
</p>
<p>
Youtube has removed dislike statistics. Since this was a very
usefull feature - this extension aims to return this functionality
to users.
</p>
<div>
Currently available only for Chrome and Firefox desktop browsers.
Coming to mobile soon.
</div>
<p>
We're considering integration with
<a href="https://vancedapp.com/">Youtube Vanced</a> mobile app, if
the devs will want to utilize our API
</p>
<p>
The downvotes count looks like this, similar to what it used to be
before it was removed
</p>
<p>Like/dislike ratio bar is coming soon</p>
<img class="img-fluid mb-2" src="images/DislikeScreenshot.JPG" />
<img class="img-fluid mb-2" src="images/ratio.jpg" />
<img class="img-fluid mb-5" src="images/OnHower.JPG" />
<hr />
<section id="downloads" class="pb-5">
<h2>Downloads:</h2>
<p>
<strong>This is an ALPHA version!</strong> It may be slow. It may
be buggy.
</p>
<p>
Only available for chrome and Firefox now and as a Userscript now,
but coming to other platforms soon
</p>
<h4>Chrome:</h4>
<p>
<a
href="https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/"
target="_blank"
>
Available in official Chrome store</a
>
</p>
<h3 class="mt-3">Unpacked files download</h3>
<p>
<a href="files/chrome/return_youtube_dislike0.0.0.1.crx"
>v_0.0.0.1</a
>
</p>
<p>
<a href="files/chrome/return_youtube_dislike0.0.0.2.crx"
>v_0.0.0.2</a
>
- Better number formatting added, thanks, <strong>bstka</strong>
</p>
<p>
<a
href="files/chrome/return_youtube_dislike_LOAD_UNPACKED_0.0.0.3.zip"
>v_0.0.0.3</a
>
</p>
<p>0.0.0.4 <strong> removed (accidental self-ddos)</strong></p>
<p>
<a
href="files/chrome/return_youtube_dislike_LOAD_UNPACKED_0.0.0.5.zip"
>0.0.0.5</a
>
- ratio bar added. Dislikes from every video on page are saved now
Previous versions are disabled automatically by chrome, because
Chrome doesn't like .crx extensions. Install this following new
instructions.
</p>
<p>
<a
href="files/chrome/return_youtube_dislike_LOAD_UNPACKED_0.0.0.6.zip"
>0.0.0.6</a
>
Greatly improved performance for non-cached videos. You can see
actual number of votes (not shortened) on hover over rating bar
</p>
<p>
<a
href="files/chrome/return_youtube_dislike_LOAD_UNPACKED_0.0.0.7.zip"
>0.0.0.7</a
>
Bugfixes
</p>
<h4>Firefox:</h4>
Install from extension's official firefox
<a
href="https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/"
target="_blank"
>
addon store page</a
>. Check for updates often - this extension is being actively
improved Latest version coming out as soon as update is approved by
Mozilla
<p></p>
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header" id="headingTwo">
<button
class="accordion-button collapsed"
type="button"
data-bs-toggle="collapse"
data-bs-target="#collapseTwo"
aria-expanded="false"
aria-controls="collapseTwo"
>
Outdated installation via files
</button>
</h2>
<div
id="collapseTwo"
class="accordion-collapse collapse"
aria-labelledby="headingTwo"
data-bs-parent="#accordionExample"
>
<div class="accordion-body">
<div class="card card-body">
<p>
NOT RECOMMENDED! Use firefox addon store
<a
href="https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/"
target="_blank"
>link</a
>
</p>
<p>
<a href="files/ff/youtube_dislike_button-0.0.0.1-fx.xpi"
>v_0.0.0.1</a
>
</p>
<p>
<a href="files/ff/youtube_dislike_button-0.0.0.2-fx.xpi"
>v_0.0.0.2</a
>
- Better number formatting added thanks,
<strong>bstka</strong>
</p>
</div>
</div>
</div>
</div>
</div>
<h4 class="pt-5">Userscript, tested on Tampermonkey</h4>
<p>
<a
href="https://github.com/Anarios/return-youtube-dislike/raw/main/Extensions/UserScript/Return%20Youtube%20Dislike.user.js"
>
https://github.com/Anarios/return-youtube-dislike/raw/main/Extensions/UserScript/Return%20Youtube%20Dislike.user.js</a
>
</p>
</section>
<hr />
<section id="installation" class="pb-5">
<h2>Installation from unpacked files on chrome</h2>
<p>
<strong
>You only need this if you don't want to install from
store</strong
>
</p>
<p>
<strong
>Before installing new version - please manually delete old
version</strong
>
</p>
<p>
Installation is described for Chrome. For firefox extension is
available in store
</p>
<ol>
<li>
Download latest version for you browser. Extract .zip file
contents into empty folder
</li>
<li>
<p>Write chrome://extensions in url bar.</p>
<p>Or press ... in right corner => Settings => Extensions</p>
</li>
<li>
Enable Developer Mode
<img
class="img-fluid mb-3"
src="images/EnableDeveloperMode.JPG"
/>
</li>
<li>
<p>Press "Load unpacked</p>
</li>
<li>Press "Add extension" button</li>
<li>
Select the folder that you extracted .zip file contents into
</li>
</ol>
</section>
<hr />
<section id="faq" class="pb-4">
<h2>FAQ</h2>
<ol>
<li>
<strong>Why is it not in chrome store yet?</strong>
<p>
Chrome extension appoval process takes some time. As soon as
it's available in the store - We'll update the site
</p>
</li>
<li>
<strong>Is it dangerous?/Is it a virus?</strong>
<p>
While there is some trust involved in installing an extension
from 3-rd party source - you can see all permissions requested
by the extension before installing it. This extension only
asks for access to youtube.com page
</p>
<img class="img-fluid mb-3" src="images/Permissions.JPG" />
</li>
<li>
<strong
>I downvoted a video, and downvotes number didn't
change</strong
>
<p>
Currently we're using YouTube API to get dislikes count. It
may take some time for data to be updated. YouTube might
freeze dislike counts as well. We're working on a solution for
this
</p>
</li>
</ol>
For anything else contact us at email\discord channel listed in
Communication section
</section>
<hr />
<section id="communication" class="pb-5">
<h2>Communication</h2>
<h4>Email</h4>
<span>You can mail me at</span>
<a
href="mailto:selivano.d@gmail.com?subject=Return-youtube-dislike-count&body=Message"
>
selivano.d@gmail.com
</a>
<br />
<br />
<h4>Discord server</h4>
<a href="https://discord.gg/UMxyMmCgfF">Join</a> a discord
discussion
</section>
<hr />
<section id="sources" class="pb-5">
<h2>Sources</h2>
<a href="https://github.com/Anarios/return-youtube-dislike"
>https://github.com/Anarios/return-youtube-dislike</a
>
</section>
<br />
<br />
</div>
</div>
</div>
<!--<img src="images/aAGrY8L_700b.jpg"/>-->
<!--<img src="images/aAGrY8L_700b.jpg"/>-->
<!-- Optional JavaScript; choose one of the two! -->
<!-- Option 1: Bootstrap Bundle with Popper -->
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin="anonymous"
></script>
<!-- Option 2: Separate Popper and Bootstrap JS -->
<!--
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.10.2/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>
-->
</body>
</html>
+69
View File
@@ -0,0 +1,69 @@
# Return-Youtube-Dislike
## Build Setup
```bash
# install dependencies
$ npm install
# serve with hot reload at localhost:3000
$ npm run dev
# build for production and launch server
$ npm run build
$ npm run start
# generate static project
$ npm run generate
```
For detailed explanation on how things work, check out the [documentation](https://nuxtjs.org).
## Special Directories
You can create the following extra directories, some of which have special behaviors. Only `pages` is required; you can delete them if you don't want to use their functionality.
### `assets`
The assets directory contains your uncompiled assets such as Stylus or Sass files, images, or fonts.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/assets).
### `components`
The components directory contains your Vue.js components. Components make up the different parts of your page and can be reused and imported into your pages, layouts and even other components.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/components).
### `layouts`
Layouts are a great help when you want to change the look and feel of your Nuxt app, whether you want to include a sidebar or have distinct layouts for mobile and desktop.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/layouts).
### `pages`
This directory contains your application views and routes. Nuxt will read all the `*.vue` files inside this directory and setup Vue Router automatically.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/get-started/routing).
### `plugins`
The plugins directory contains JavaScript plugins that you want to run before instantiating the root Vue.js Application. This is the place to add Vue plugins and to inject functions or constants. Every time you need to use `Vue.use()`, you should create a file in `plugins/` and add its path to plugins in `nuxt.config.js`.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/plugins).
### `static`
This directory contains your static files. Each file inside this directory is mapped to `/`.
Example: `/static/robots.txt` is mapped as `/robots.txt`.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/static).
### `store`
This directory contains your Vuex store files. Creating a file in this directory automatically activates Vuex.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/docs/2.x/directory-structure/store).
+4
View File
@@ -0,0 +1,4 @@
// Ref: https://github.com/nuxt-community/vuetify-module#customvariables
//
// The variables you want to modify
// $font-size-root: 20px;
+70
View File
@@ -0,0 +1,70 @@
<template>
<v-app id="inspire" dark>
<v-app-bar app color="lighten-2" flat>
<v-tabs centered class="ml-n9" color="primary" router>
<v-tab v-for="link in links" :key="link" :to="link.path">
{{ link.name }}
</v-tab>
</v-tabs>
</v-app-bar>
<v-main>
<v-img src="/ui/abstract.svg" style="position: absolute; top: 0; right: 0; width: 100%; height: 100%;" />
<nuxt />
</v-main>
</v-app>
</template>
<style>
html, body {
overflow: hidden;
}
section {
height: 90vh;
width: 100vw;
}
.mainAltButton {
margin: 0.25em;
}
.center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
</style>
<script>
export default {
data: () => ({
links: [
{
name: 'Home',
path: '/'
},
{
name: 'Install',
path: '/install'
},
{
name: 'FAQ',
path: '/faq'
},
{
name: 'Donate',
path: '/donate'
},
{
name: 'Links',
path: '/links'
},
],
}),
}
</script>
+44
View File
@@ -0,0 +1,44 @@
<template>
<v-app dark>
<h1 v-if="error.statusCode === 404">
{{ pageNotFound }}
</h1>
<h1 v-else>
{{ otherError }}
</h1>
<NuxtLink to="/">
Home page
</NuxtLink>
</v-app>
</template>
<script>
export default {
layout: 'empty',
props: {
error: {
type: Object,
default: null
}
},
data () {
return {
pageNotFound: '404 Not Found',
otherError: 'An error occurred'
}
},
head () {
const title =
this.error.statusCode === 404 ? this.pageNotFound : this.otherError
return {
title
}
}
}
</script>
<style scoped>
h1 {
font-size: 20px;
}
</style>
+55
View File
@@ -0,0 +1,55 @@
import colors from 'vuetify/es5/util/colors'
export default {
// Global page headers: https://go.nuxtjs.dev/config-head
head: {
titleTemplate: 'Return Youtube Dislike',
title: 'Return Youtube Dislike',
htmlAttrs: {
lang: 'en'
},
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: 'An extension that returns dislike statistics to YouTube. For now, it only works if a video had public display of dislikes enabled before YouTube removed dislike stats. ' },
{ hid: 'og:image', name: 'og:image', content: '/logo.png' },
{ hid: 'theme-color', name: 'theme-color', content: '#ff0000' }
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
]
},
target: 'static',
css: [],
plugins: [],
components: true,
buildModules: [
'@nuxtjs/vuetify',
],
modules: [],
// Vuetify module configuration: https://go.nuxtjs.dev/config-vuetify
vuetify: {
customVariables: ['~/assets/variables.scss'],
theme: {
dark: true,
themes: {
dark: {
primary: "#ff4444",
accent: colors.grey.darken3,
secondary: colors.amber.darken3,
info: colors.teal.lighten1,
warning: colors.amber.base,
error: colors.deepOrange.accent4,
success: colors.green.accent3
}
}
}
},
build: {}
}
+19
View File
@@ -0,0 +1,19 @@
{
"name": "Return-Youtube-Dislike",
"version": "1.0.0",
"private": true,
"scripts": {
"dev": "nuxt",
"build": "nuxt build",
"start": "nuxt start",
"generate": "nuxt generate"
},
"dependencies": {
"core-js": "^3.15.1",
"nuxt": "^2.15.7",
"vuetify": "^2.5.5"
},
"devDependencies": {
"@nuxtjs/vuetify": "^1.12.1"
}
}
+39
View File
@@ -0,0 +1,39 @@
<template>
<div>
<section style="position: relative;">
<div class="center">
<center>
<h1 style="font-size: 3em; margin-bottom: 0em;">Donate</h1>
<p style="color: #999; margin-bottom: 3em;">You can support our efforts to keep the internet free with a donation!</p>
<v-btn class="mainAltButton" :href="patreonLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-patreon</v-icon>
Patreon
</v-btn>
<v-btn class="mainAltButton" :to="yoomoneyLink">
<v-icon style="margin-right: 0.5em;">mdi-cash-multiple</v-icon>
Yoomoney
</v-btn>
</center>
</div>
</section>
</div>
</template>
<script>
export default {
data: () => ({
patreonLink: "https://www.patreon.com/returnyoutubedislike",
yoomoneyLink: "/pay/yoomoney"
}),
}
</script>
+49
View File
@@ -0,0 +1,49 @@
<template>
<div>
<section style="position: relative;">
<div class="center">
<center>
<h1 style="font-size: 3em; margin-bottom: 0em;">Frequently Asked Questions</h1>
<p style="color: #999; margin-bottom: 3em;">Still have questions? Feel free to join our Discord!</p>
<v-expansion-panels focusable>
<v-expansion-panel v-for="(item, i) in items" :key="i" style="width: 50vw; min-width: 300px;">
<v-expansion-panel-header v-text="item.question">Loading</v-expansion-panel-header>
<v-expansion-panel-content v-html="item.answer" style="text-align: left; padding: 0.5em;">Loading</v-expansion-panel-content>
</v-expansion-panel>
</v-expansion-panels>
</center>
</div>
</section>
</div>
</template>
<script>
export default {
data: () => ({
items: [
{
question: "Why is it not in chrome store yet?",
answer: "Chrome extension appoval process takes some time. As soon as it's available in the store - We'll update the site "
},
{
question: "Is it dangerous?/Is it a virus?",
answer: "While there is some trust involved in installing an extension from 3-rd party source - you can see all permissions requested by the extension before installing it. This extension only asks for access to youtube.com page "
},
{
question: "I downvoted a video, and downvotes number didn't change",
answer: "Currently we're using YouTube API to get dislikes count. It may take some time for data to be updated. YouTube might freeze dislike counts as well. We're working on a solution for this "
},
],
}),
}
</script>
+48
View File
@@ -0,0 +1,48 @@
<template>
<div>
<section style="position: relative;">
<div class="center">
<center>
<h1 style="font-size: 3em; margin-bottom: 0.5em;">Return Youtube Dislike</h1>
<v-btn :to="installLink" color="primary lighten-1" style="font-size: 1.5em; padding: 1em; margin-bottom: 0.5em;">
<v-icon large style="margin-right: 0.5em;">mdi-tray-arrow-down</v-icon>
Install
</v-btn>
<br>
<v-btn class="mainAltButton" :href="githubLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-github</v-icon>
Github
</v-btn>
<v-btn class="mainAltButton" :href="discordLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-discord</v-icon>
Our Discord
</v-btn>
</center>
</div>
</section>
</div>
</template>
<script>
export default {
data() {
return {
installLink: "/install",
githubLink: "https://github.com/Anarios/return-youtube-dislike",
discordLink: "https://discord.gg/mYnESY4Md5",
}
}
}
</script>
+59
View File
@@ -0,0 +1,59 @@
<template>
<div>
<section style="position: relative;">
<div class="center">
<center>
<h1 style="font-size: 3em; margin-bottom: 0;">Select Your Platform</h1>
<div style="color: #999">
<p style="margin-bottom: 0;"> This is an <b>ALPHA version!</b> It may be slow. It may be buggy.</p>
<p style="margin-bottom: 3em;">Only available for chrome and Firefox now and as a Userscript now, but coming to other platforms soon.</p>
</div>
<v-btn class="mainAltButton" :href="chromeLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-google-chrome</v-icon>
Chrome
</v-btn>
<v-btn class="mainAltButton" :href="firefoxLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-firefox</v-icon>
Firefox
</v-btn>
<v-btn class="mainAltButton" :href="scriptLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-script-text-outline</v-icon>
Userscript (Tampermonkey)
</v-btn>
<h3 style="margin-top: 3em;">Third Party Implementations</h3>
<v-btn class="mainAltButton" :href="iosJailbreakLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-apple</v-icon>
iOS (Jailbroken)
</v-btn>
</center>
</div>
</section>
</div>
</template>
<script>
export default {
data() {
return {
chromeLink: "https://chrome.google.com/webstore/detail/youtube-dislike-button/gebbhagfogifgggkldgodflihgfeippi/",
firefoxLink: "https://addons.mozilla.org/en-US/firefox/addon/return-youtube-dislikes/",
scriptLink: "https://github.com/Anarios/return-youtube-dislike/raw/main/Extensions/UserScript/Return%20Youtube%20Dislike.user.js",
iosJailbreakLink: "https://repo.lillieweeb001.xyz/"
}
}
}
</script>
+65
View File
@@ -0,0 +1,65 @@
<template>
<div>
<section style="position: relative;">
<div class="center">
<center>
<h1 style="font-size: 3em; margin-bottom: 0;">Project Links</h1>
<div style="color: #999">
<p style="margin-bottom: 1em;">Links to the project and it's developers</p>
</div>
<v-btn class="mainAltButton" :href="githubLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-github</v-icon>
Github
</v-btn>
<v-btn class="mainAltButton" :href="discordLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-discord</v-icon>
Discord
</v-btn>
<h1 style="margin-top: 1em;">Contact Me</h1>
<v-btn class="mainAltButton" :href="emailLink" target="_blank">
<v-icon style="margin-right: 0.5em;">mdi-email</v-icon>
Email
</v-btn>
</center>
</div>
</section>
<p id="credits">Site by <v-icon color="#555">mdi-discord</v-icon> Front#2990.</p>
</div>
</template>
<style scoped>
#credits {
position: absolute;
bottom: 0;
left: 50%;
transform: translate(-50%,0);
color: #555;
}
</style>
<script>
export default {
data() {
return {
githubLink: "https://github.com/Anarios/return-youtube-dislike",
discordLink: "https://discord.gg/mYnESY4Md5",
emailLink: "mailto:selivano.d@gmail.com "
}
}
}
</script>
+15
View File
@@ -0,0 +1,15 @@
<template>
<div>
<section style="position: relative;">
<div class="center">
<center>
<iframe src="https://yoomoney.ru/quickpay/shop-widget?writer=seller&amp;targets=For%20returnyoutubedislike.com&amp;targets-hint=&amp;default-sum=&amp;button-text=13&amp;hint=&amp;successURL=&amp;quickpay=shop&amp;account=410015901550027&amp;" allowtransparency="true" scrolling="no" width="423" height="222" frameborder="0" />
</center>
</div>
</section>
</div>
</template>
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.2 KiB

+10
View File
@@ -0,0 +1,10 @@
# STORE
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your Vuex Store files.
Vuex Store option is implemented in the Nuxt.js framework.
Creating a file in this directory automatically activates the option in the framework.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).