wardpearce / materialious Goto Github PK
View Code? Open in Web Editor NEWModern material design for Invidious.
Home Page: https://materialio.us
License: GNU Affero General Public License v3.0
Modern material design for Invidious.
Home Page: https://materialio.us
License: GNU Affero General Public License v3.0
Hi!
Is there any possibility to have a black background instead of the theme one when playing a video in fullscreen? It's kind of distracting.
Thanks!
Mostly done via #48, now all its missing is the ability to change videos.
Still a bit of a WIP overall.
Player theming in light mode isn't readable.
On invidious I am able to remove shorts from being displayed by filtering for the time to be missing
invidious.io##div.pure-u-md-1-4.pure-u-1:has(.bottom-right-overlay):not(:has(.length))
I cannot do the same on materialious, because it puts a 00:00
there instead of just not having the time display:
invidious | materialious |
---|---|
Hi!
It would be nice to see the settings from Invidious being used in Materialious. This would also mean to be able to change some settings in Materialious.
Here are a few improvements:
Preferred video / dash quality
Right now every video i play is starting in Auto
quality when i reload the page.
Default player volume
Every video starts at 100% of the volume, it would be nice to have the ability to change it to what i used in Invidious.
Looking at the code, it seems that default is to pull from youtube's servers? Shouldn't it be the other way around given that this is for invidious? Or am I mistaken.
Let me start off by saying this is phenomenal work, I can't wait to run something like this. The current Invidious UI leaves a lot to be desired.
I'm curious what the usage intention is behind the project. That is, is this intended to be a standalone deployment of Invidious with a more fleshed out theme? Or is this intended to act as an alternative interface for existing Invidious deployments where the Invidious target instance can be set as a setting?
Thanks for all of your work in this space!
Hey, very nice job, I love the interface.
I got it working but it seems dash is broken.
In invidious we have Preferred DASH video quality, can you please implement it here as well?
There's no issues in invidious, playing default at 2160p (I have it setup with dash=best quality).
Can you translate it to be same in materialious? As it is, it's set on auto, starting from 360p when dash enabled.
Other than that, its great, I'm loving it!
Thanks!
After login into the invidious account, the Material UI does not show subscriptions as if it wasn't logged in.
Hello,
Issue: Currently the subscribe
button is not disabled when a user is logged out.
Impact: It's still possible to click the button, but it doesn't do anything or give any feedback.
Proposed solution:
isLoggedIn
or similar to determine login state.import { auth } from '../../store';
let isLoggedIn = false;
auth.subscribe((value) => {
isLoggedIn = value !== null;
});
subscribe
and the add to playlist
buttons (which currently just check for personalPlaylists
being undefined
).login required
tooltip when the disabled state is activeHello,
Issue: Currently the paths follow non-standard YT construction. For example, the Materialious video path is /watch/wjZofJX0v4M
vs. /watch?v=wjZofJX0v4M
.
Impact: It's typical add URL redirectors that do something to the effect of *youtube.com/*
-> https://alternative.instance/$2
to capture YouTube URLs and forward them on. In this case, it would lead to dead paths.
Request: This request is to have the router adjusted to mimic the YT paths or to capture the YT standard path and introduce a redirection to the correct Materialious path.
Thank you
Console Log:
Access to fetch at 'https://invidious.private.coffee/api/v1/auth/feed?max_results=100&page=1' from origin 'http://0.0.0.0:3001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
The statement is not true since following the link gives all the sucbscription data correctly.
Hello,
I just deployed the container, it looks really good and plays the videos well but I have an issue, I'm unable to log in, after clicking on the login button I logged in to my Invidious instance and I get this screen:
And when I click on yes, it just redirects me back on the home page without being logged in. I don't know if it's an issue with my Invidious instance or with Materialious.
Invidious administrators can disable the popular page, causing Materialious to error.
Discussed in #29
Hi.
I recently installed Invidious, no issues with that. However, I have trouble running Materialious.
I am getting following error during docker compose up
, and unable to start materialious container:
find: ./sys/kernel/debug: Permission denied
I am running both Invidious and Materialious using docker compose.
Docker is running in my Proxmox LXC, privileged and as root.
Docker compose:
services:
invidious:
build:
context: .
dockerfile: docker/Dockerfile
restart: unless-stopped
ports:
- "3000:3000"
environment:
# Please read the following file for a comprehensive list of all available
# configuration options and their associated syntax:
# https://github.com/iv-org/invidious/blob/master/config/config.example.yml
INVIDIOUS_CONFIG: |
db:
dbname: invidious
user: example
password: example
host: invidious-db
port: 5432
check_tables: true
# external_port:
# domain:
# https_only: false
# statistics_enabled: false
hmac_key: "example"
healthcheck:
test: wget -nv --tries=1 --spider http://127.0.0.1:3000/api/v1/comments/jNQXAC9IVRw || exit 1
interval: 30s
timeout: 5s
retries: 2
invidious-db:
image: docker.io/library/postgres:14
restart: unless-stopped
volumes:
- postgresdata:/var/lib/postgresql/data
- ./config/sql:/config/sql
- ./docker/init-invidious-db.sh:/docker-entrypoint-initdb.d/init-invidious-db.sh
environment:
POSTGRES_DB: invidious
POSTGRES_USER: example
POSTGRES_PASSWORD: example
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"]
materialious:
image: wardpearce/materialious
restart: unless-stopped
ports:
- 3001:80
environment:
# No trailing backslashes!
# URL to your proxied Invidious instance
VITE_DEFAULT_INVIDIOUS_INSTANCE: "https://invidious.example.com"
# URL TO RYD
VITE_DEFAULT_RETURNYTDISLIKES_INSTANCE: "https://returnyoutubedislikeapi.com"
# URL to your proxied instance of Materialious
VITE_DEFAULT_FRONTEND_URL: "https://materialious.example.com"
# URL to Sponsorblock
VITE_DEFAULT_SPONSERBLOCK_INSTANCE: "https://sponsor.ajay.app"
volumes:
postgresdata:
Hello,
Issue: Currently YT likes or dislikes with no decimal place are still given one.
Impact: It's more visible on <=999
counts, where the output looks like 27.0
.
Proposed solution:
Have the cleanNumber
function in misc.js
to call the below function or return the value with similar logic:
const omitDecimal = (value) => value % 1 === 0 ? parseInt(value) : value
Alternatively omit or replace parseFloat
with parseInt
in the cleanNumber
function as the return yt dislikes API always returns integers as per the docs.
Appears content on mobile isn't being auto loaded.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.