Add support for /watch/, /embed/, /w/, /v/, /shorts/

This commit is contained in:
FireMasterK 2021-06-07 23:08:19 +05:30
parent 20ad39b327
commit 5e791a51f5
No known key found for this signature in database
GPG key ID: 8DFF5DD33E93DB58
2 changed files with 27 additions and 5 deletions

View file

@ -141,13 +141,13 @@ export default {
},
methods: {
fetchVideo() {
return this.fetchJson(Constants.BASE_URL + "/streams/" + this.$route.query.v);
return this.fetchJson(Constants.BASE_URL + "/streams/" + this.getVideoId());
},
async fetchSponsors() {
return await this.fetchJson(
Constants.BASE_URL +
"/sponsors/" +
this.$route.query.v +
this.getVideoId() +
"?category=" +
(localStorage && localStorage.getItem("selectedSkip") !== null
? encodeURIComponent('["' + localStorage.getItem("selectedSkip").replace(",", '","') + '"]')
@ -155,7 +155,7 @@ export default {
);
},
fetchComments() {
return this.fetchJson(Constants.BASE_URL + "/comments/" + this.$route.query.v);
return this.fetchJson(Constants.BASE_URL + "/comments/" + this.getVideoId());
},
onChange() {
if (localStorage) localStorage.setItem("autoplay", this.selectedAutoPlay);
@ -194,7 +194,7 @@ export default {
this.fetchJson(
Constants.BASE_URL +
"/nextpage/comments/" +
this.$route.query.v +
this.getVideoId() +
"?url=" +
encodeURIComponent(this.comments.nextpage),
).then(json => {
@ -204,6 +204,9 @@ export default {
});
}
},
getVideoId() {
return this.$route.query.v || this.$route.params.v;
},
},
components: {
Player,

View file

@ -3,7 +3,26 @@ import { createRouter, createWebHistory } from "vue-router";
const routes = [
{
path: "/watch",
name: "Watch",
component: () => import("../components/WatchVideo.vue"),
},
{
path: "/watch/:v",
component: () => import("../components/WatchVideo.vue"),
},
{
path: "/embed/:v",
component: () => import("../components/WatchVideo.vue"),
},
{
path: "/w/:v",
component: () => import("../components/WatchVideo.vue"),
},
{
path: "/v/:v",
component: () => import("../components/WatchVideo.vue"),
},
{
path: "/shorts/:v",
component: () => import("../components/WatchVideo.vue"),
},
{