mirror of
https://github.com/TeamPiped/Piped.git
synced 2024-08-14 23:57:27 +00:00
parent
7c66035f41
commit
18752c7de7
9 changed files with 54 additions and 22 deletions
10
src/App.vue
10
src/App.vue
|
@ -1,5 +1,9 @@
|
|||
<template>
|
||||
<div class="uk-container uk-container-expand uk-light uk-height-viewport" style="background: #0b0e0f">
|
||||
<div
|
||||
class="uk-container uk-container-expand uk-height-viewport"
|
||||
:style="[{ background: backgroundColor, colour: foregroundColor }]"
|
||||
:class="{ 'uk-light': darkMode }"
|
||||
>
|
||||
<Navigation />
|
||||
<router-view />
|
||||
|
||||
|
@ -34,10 +38,6 @@ b {
|
|||
text-align: start;
|
||||
}
|
||||
|
||||
#app {
|
||||
background: #0b0e0f;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
background-color: #15191a;
|
||||
color: #c5bcae;
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<template>
|
||||
<nav
|
||||
class="uk-navbar-container uk-container-expand uk-position-relative uk-light"
|
||||
style="background: #0b0e0f"
|
||||
class="uk-navbar-container uk-container-expand uk-position-relative"
|
||||
:style="[{ background: backgroundColor, colour: foregroundColor }]"
|
||||
uk-navbar
|
||||
>
|
||||
<div class="uk-navbar-left">
|
||||
<router-link class="uk-navbar-item uk-logo uk-text-bold" to="/"
|
||||
<router-link class="uk-navbar-item uk-logo uk-text-bold" :style="[{ colour: foregroundColor }]" to="/"
|
||||
><img alt="logo" src="/img/icons/logo.svg" height="32" width="32" />iped</router-link
|
||||
>
|
||||
</div>
|
||||
|
|
|
@ -31,6 +31,13 @@
|
|||
<br />
|
||||
<input class="uk-checkbox" v-model="skipMusicOffTopic" @change="onChange($event)" type="checkbox" />
|
||||
<br />
|
||||
<b>Theme</b>
|
||||
<br />
|
||||
<select class="uk-select uk-width-auto" v-model="selectedTheme" @change="onChange($event)">
|
||||
<option value="dark">Dark</option>
|
||||
<option value="light">Light</option>
|
||||
</select>
|
||||
<br />
|
||||
<b>Autoplay Video</b>
|
||||
<br />
|
||||
<input class="uk-checkbox" v-model="autoPlayVideo" @change="onChange($event)" type="checkbox" />
|
||||
|
@ -95,6 +102,7 @@ export default {
|
|||
skipInteraction: true,
|
||||
skipSelfPromo: true,
|
||||
skipMusicOffTopic: true,
|
||||
selectedTheme: "dark",
|
||||
autoPlayVideo: true,
|
||||
audioOnly: false,
|
||||
resolutions: [144, 240, 360, 480, 720, 1080, 1440, 2160, 4320],
|
||||
|
@ -159,6 +167,7 @@ export default {
|
|||
});
|
||||
}
|
||||
|
||||
this.selectedTheme = localStorage.getItem("theme") || "dark";
|
||||
this.autoPlayVideo =
|
||||
localStorage.getItem("playerAutoPlay") === null || localStorage.getItem("playerAutoPlay") === "true";
|
||||
this.audioOnly = localStorage.getItem("audioOnly") === "true";
|
||||
|
@ -169,6 +178,10 @@ export default {
|
|||
methods: {
|
||||
onChange() {
|
||||
if (localStorage) {
|
||||
var shouldReload = false;
|
||||
|
||||
if (localStorage.getItem("playerAutoPlay") !== this.autoPlayVideo) shouldReload = true;
|
||||
|
||||
localStorage.setItem("instance", this.selectedInstance);
|
||||
localStorage.setItem("sponsorblock", this.sponsorBlock);
|
||||
|
||||
|
@ -181,10 +194,13 @@ export default {
|
|||
if (this.skipMusicOffTopic) sponsorSelected.push("music_offtopic");
|
||||
localStorage.setItem("selectedSkip", sponsorSelected);
|
||||
|
||||
localStorage.setItem("theme", this.selectedTheme);
|
||||
localStorage.setItem("playerAutoPlay", this.autoPlayVideo);
|
||||
localStorage.setItem("audioOnly", this.audioOnly);
|
||||
localStorage.setItem("quality", this.defaultQuality);
|
||||
localStorage.setItem("bufferGoal", this.bufferingGoal);
|
||||
|
||||
if (shouldReload) window.location.reload();
|
||||
}
|
||||
},
|
||||
sslScore(url) {
|
||||
|
|
|
@ -20,12 +20,12 @@
|
|||
|
||||
<div v-if="results" class="uk-grid-xl" uk-grid="parallax: 0">
|
||||
<div
|
||||
style="background: #0b0e0f"
|
||||
:style="[{ background: backgroundColor }]"
|
||||
class="uk-width-1-2 uk-width-1-3@s uk-width-1-4@m uk-width-1-5@l uk-width-1-6@xl"
|
||||
v-bind:key="result.url"
|
||||
v-for="result in results.items"
|
||||
>
|
||||
<div class="uk-text-secondary" style="background: #0b0e0f">
|
||||
<div class="uk-text-secondary">
|
||||
<router-link class="uk-text-emphasis" v-bind:to="result.url">
|
||||
<img style="width: 100%" v-bind:src="result.thumbnail" loading="lazy" />
|
||||
<p>
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
<template>
|
||||
<div class="uk-position-absolute uk-panel uk-box-shadow-large suggestions-container">
|
||||
<div
|
||||
class="uk-position-absolute uk-panel uk-box-shadow-large suggestions-container"
|
||||
:style="[{ background: secondaryBackgroundColor }]"
|
||||
>
|
||||
<ul class="uk-list uk-margin-remove uk-text-secondary">
|
||||
<li
|
||||
v-for="(suggestion, i) in searchSuggestions"
|
||||
:key="i"
|
||||
:class="{ selected: selected === i }"
|
||||
:style="[selected === i ? { background: secondaryForegroundColor } : {}]"
|
||||
@mouseover="onMouseOver(i)"
|
||||
@mousedown.stop="onClick(i)"
|
||||
class="uk-margin-remove suggestion"
|
||||
|
@ -77,7 +80,6 @@ export default {
|
|||
|
||||
<style>
|
||||
.suggestions-container {
|
||||
background-color: #242727;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
max-width: 640px;
|
||||
|
@ -88,9 +90,6 @@ export default {
|
|||
.suggestion {
|
||||
padding: 4px 15px;
|
||||
}
|
||||
.suggestion.selected {
|
||||
background-color: #393d3d;
|
||||
}
|
||||
@media screen and (max-width: 959px) {
|
||||
.suggestions-container {
|
||||
max-width: calc(100% - 60px);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
<div class="uk-grid-xl" uk-grid="parallax: 0">
|
||||
<div
|
||||
style="background: #0b0e0f"
|
||||
:style="[{ background: backgroundColor }]"
|
||||
class="uk-width-1-2 uk-width-1-3@s uk-width-1-4@m uk-width-1-5@l uk-width-1-6@xl"
|
||||
v-bind:key="video.url"
|
||||
v-for="video in videos"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div class="uk-text-secondary" style="background: #0b0e0f">
|
||||
<div class="uk-text-secondary" :style="[{ background: backgroundColor }]">
|
||||
<router-link class="uk-text-emphasis" v-bind:to="video.url">
|
||||
<img
|
||||
:height="height"
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<a>{{ video.uploader }}</a>
|
||||
</router-link>
|
||||
|
||||
<p class="uk-dark">
|
||||
<p :style="[{ colour: foregroundColor }]">
|
||||
<font-awesome-icon icon="thumbs-up"></font-awesome-icon>
|
||||
<b>{{ addCommas(video.likes) }}</b>
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
|||
<a class="uk-button uk-button-small" style="background: #222" @click="showDesc = !showDesc">
|
||||
{{ showDesc ? "+" : "-" }}
|
||||
</a>
|
||||
<p v-show="showDesc" class="uk-light" v-html="video.description"></p>
|
||||
<p v-show="showDesc" :style="[{ colour: foregroundColor }]" v-html="video.description"></p>
|
||||
</div>
|
||||
|
||||
<a v-if="sponsors && sponsors.segments">Sponsors Segments: {{ sponsors.segments.length }}</a>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<div class="uk-width-4-5@xl uk-width-3-4@l uk-width-2-3" v-if="comments" ref="comments">
|
||||
<div
|
||||
class="uk-tile-default uk-align-left uk-width-expand"
|
||||
style="background: #0b0e0f"
|
||||
:style="[{ background: backgroundColor }]"
|
||||
v-bind:key="comment.commentId"
|
||||
v-for="comment in comments.comments"
|
||||
>
|
||||
|
@ -81,7 +81,7 @@
|
|||
<div class="uk-width-1-5@xl uk-width-1-4@l uk-width-1-3" v-if="video">
|
||||
<div
|
||||
class="uk-tile-default uk-width-auto"
|
||||
style="background: #0b0e0f"
|
||||
:style="[{ background: backgroundColor }]"
|
||||
v-bind:key="related.url"
|
||||
v-for="related in video.relatedStreams"
|
||||
>
|
||||
|
|
17
src/main.js
17
src/main.js
|
@ -69,6 +69,23 @@ const mixin = {
|
|||
return DOMPurify.sanitize(original);
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
backgroundColor() {
|
||||
return localStorage.getItem("theme") === "light" ? "#fff" : "#0b0e0f"
|
||||
},
|
||||
secondaryBackgroundColor() {
|
||||
return localStorage.getItem("theme") === "light" ? "#e5e5e5" : "#242727"
|
||||
},
|
||||
foregroundColor() {
|
||||
return localStorage.getItem("theme") === "light" ? "#15191a" : "#0b0e0f"
|
||||
},
|
||||
secondaryForegroundColor() {
|
||||
return localStorage.getItem("theme") === "light" ? "#666" : "#393d3d"
|
||||
},
|
||||
darkMode() {
|
||||
return localStorage.getItem('theme') !== 'light'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const app = createApp(App);
|
||||
|
|
Loading…
Reference in a new issue