mirror of
https://github.com/iv-org/invidious.git
synced 2025-08-04 19:58:31 +00:00
Merge branch 'master' into homepage
This commit is contained in:
commit
e27580f155
@ -274,18 +274,17 @@ input[type="search"]::-webkit-search-cancel-button {
|
||||
padding: 0 1em ;
|
||||
}
|
||||
|
||||
.welcome-box h1 {
|
||||
font-size: 1em;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#dismiss_welcome {
|
||||
font-size: small;
|
||||
float: right;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
#call_to_action {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
/*
|
||||
* Footer
|
||||
*/
|
||||
|
@ -14,6 +14,5 @@ dismiss_welcome.addEventListener('click', function () {
|
||||
});
|
||||
|
||||
function hide_welcome (bool) {
|
||||
document.getElementById('feed-menu').classList.remove('hidden');
|
||||
document.getElementById('welcome-outer').classList.add('hidden');
|
||||
}
|
||||
|
@ -19,6 +19,9 @@ if [ ! -f /var/lib/postgresql/data/setupFinished ]; then
|
||||
su postgres -c 'psql invidious kemal < config/sql/session_ids.sql'
|
||||
su postgres -c 'psql invidious kemal < config/sql/nonces.sql'
|
||||
su postgres -c 'psql invidious kemal < config/sql/annotations.sql'
|
||||
su postgres -c 'psql invidious kemal < config/sql/playlists.sql'
|
||||
su postgres -c 'psql invidious kemal < config/sql/playlist_videos.sql'
|
||||
su postgres -c 'psql invidious kemal < config/sql/privacy.sql'
|
||||
touch /var/lib/postgresql/data/setupFinished
|
||||
echo "### invidious database setup finished"
|
||||
exit
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"`x` subscribers": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` συνδρομητής",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` συνδρομητής",
|
||||
"": "`x` συνδρομητές"
|
||||
},
|
||||
"`x` videos": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` βίντεο",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` βίντεο",
|
||||
"": "`x` βίντεο"
|
||||
},
|
||||
"`x` playlists": "",
|
||||
@ -120,11 +120,11 @@
|
||||
"Token manager": "Διαχειριστής διασυνδέσεων",
|
||||
"Token": "Διασύνδεση",
|
||||
"`x` subscriptions": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` συνδρομή",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` συνδρομή",
|
||||
"": "`x` συνδρομές"
|
||||
},
|
||||
"`x` tokens": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` διασύνδεση",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` διασύνδεση",
|
||||
"": "`x` διασυνδέσεις"
|
||||
},
|
||||
"Import/export": "Εισαγωγή/εξαγωγή",
|
||||
@ -132,7 +132,7 @@
|
||||
"revoke": "ανάκληση",
|
||||
"Subscriptions": "Συνδρομές",
|
||||
"`x` unseen notifications": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` καινούρια ειδοποίηση",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` καινούρια ειδοποίηση",
|
||||
"": "`x` καινούριες ειδοποιήσεις"
|
||||
},
|
||||
"search": "αναζήτηση",
|
||||
@ -165,7 +165,7 @@
|
||||
"Blacklisted regions: ": "Μη-επιτρεπτές περιοχές: ",
|
||||
"Shared `x`": "Μοιράστηκε το `x`",
|
||||
"`x` views": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` προβολή",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` προβολή",
|
||||
"": "`x` προβολές"
|
||||
},
|
||||
"Premieres in `x`": "Πρώτη προβολή σε `x`",
|
||||
@ -199,13 +199,13 @@
|
||||
"Could not get channel info.": "Αδύναμια εύρεσης πληροφοριών καναλιού.",
|
||||
"Could not fetch comments": "Αδυναμία λήψης σχολίων",
|
||||
"View `x` replies": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "Προβολή `x` απάντησης",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "Προβολή `x` απάντησης",
|
||||
"": "Προβολή `x` απαντήσεων"
|
||||
},
|
||||
"`x` ago": "Πριν `x`",
|
||||
"Load more": "Φόρτωση περισσότερων",
|
||||
"`x` points": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` βαθμός",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` βαθμός",
|
||||
"": "`x` βαθμοί"
|
||||
},
|
||||
"Could not create mix.": "Αδυναμία δημιουργίας μίξης.",
|
||||
@ -326,31 +326,31 @@
|
||||
"Yoruba": "Γιορούμπα",
|
||||
"Zulu": "Ζουλού",
|
||||
"`x` years": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` χρόνο",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` χρόνο",
|
||||
"": "`x` χρόνια"
|
||||
},
|
||||
"`x` months": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` μήνα",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` μήνα",
|
||||
"": "`x` μήνες"
|
||||
},
|
||||
"`x` weeks": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` εβδομάδα",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` εβδομάδα",
|
||||
"": "`x` εβδομάδες"
|
||||
},
|
||||
"`x` days": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` ημέρα",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` ημέρα",
|
||||
"": "`x` ημέρες"
|
||||
},
|
||||
"`x` hours": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` ώρα",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` ώρα",
|
||||
"": "`x` ώρες"
|
||||
},
|
||||
"`x` minutes": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` λεπτό",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` λεπτό",
|
||||
"": "`x` λεπτά"
|
||||
},
|
||||
"`x` seconds": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` δευτερόλεπτο",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` δευτερόλεπτο",
|
||||
"": "`x` δευτερόλεπτα"
|
||||
},
|
||||
"Fallback comments: ": "Εναλλακτικά σχόλια: ",
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"`x` subscribers": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` subscriber",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` subscriber",
|
||||
"": "`x` subscribers"
|
||||
},
|
||||
"`x` videos": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` video",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` video",
|
||||
"": "`x` videos"
|
||||
},
|
||||
"`x` playlists": {
|
||||
@ -126,11 +126,11 @@
|
||||
"Token manager": "Token manager",
|
||||
"Token": "Token",
|
||||
"`x` subscriptions": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` subscription",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` subscription",
|
||||
"": "`x` subscriptions"
|
||||
},
|
||||
"`x` tokens": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` token",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` token",
|
||||
"": "`x` tokens"
|
||||
},
|
||||
"Import/export": "Import/export",
|
||||
@ -138,7 +138,7 @@
|
||||
"revoke": "revoke",
|
||||
"Subscriptions": "Subscriptions",
|
||||
"`x` unseen notifications": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` unseen notification",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` unseen notification",
|
||||
"": "`x` unseen notifications"
|
||||
},
|
||||
"search": "search",
|
||||
@ -171,7 +171,7 @@
|
||||
"Blacklisted regions: ": "Blacklisted regions: ",
|
||||
"Shared `x`": "Shared `x`",
|
||||
"`x` views": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` view",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` view",
|
||||
"": "`x` views"
|
||||
},
|
||||
"Premieres in `x`": "Premieres in `x`",
|
||||
@ -208,13 +208,13 @@
|
||||
"Could not get channel info.": "Could not get channel info.",
|
||||
"Could not fetch comments": "Could not fetch comments",
|
||||
"View `x` replies": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "View `x` reply",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "View `x` reply",
|
||||
"": "View `x` replies"
|
||||
},
|
||||
"`x` ago": "`x` ago",
|
||||
"Load more": "Load more",
|
||||
"`x` points": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` point",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` point",
|
||||
"": "`x` points"
|
||||
},
|
||||
"Could not create mix.": "Could not create mix.",
|
||||
@ -335,31 +335,31 @@
|
||||
"Yoruba": "Yoruba",
|
||||
"Zulu": "Zulu",
|
||||
"`x` years": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` year",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` year",
|
||||
"": "`x` years"
|
||||
},
|
||||
"`x` months": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` month",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` month",
|
||||
"": "`x` months"
|
||||
},
|
||||
"`x` weeks": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` week",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` week",
|
||||
"": "`x` weeks"
|
||||
},
|
||||
"`x` days": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` day",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` day",
|
||||
"": "`x` days"
|
||||
},
|
||||
"`x` hours": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` hour",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` hour",
|
||||
"": "`x` hours"
|
||||
},
|
||||
"`x` minutes": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` minute",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` minute",
|
||||
"": "`x` minutes"
|
||||
},
|
||||
"`x` seconds": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` second",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` second",
|
||||
"": "`x` seconds"
|
||||
},
|
||||
"Fallback comments: ": "Fallback comments: ",
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"`x` subscribers": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` iscritto",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` iscritto",
|
||||
"": "`x` iscritti"
|
||||
},
|
||||
"`x` videos": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` video",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` video",
|
||||
"": "`x` video"
|
||||
},
|
||||
"`x` playlists": "",
|
||||
@ -120,11 +120,11 @@
|
||||
"Token manager": "Gestione dei gettoni",
|
||||
"Token": "Gettone",
|
||||
"`x` subscriptions": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` iscrizione",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` iscrizione",
|
||||
"": "`x` iscrizioni"
|
||||
},
|
||||
"`x` tokens": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` gettone",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` gettone",
|
||||
"": "`x` gettoni"
|
||||
},
|
||||
"Import/export": "Importa/esporta",
|
||||
@ -132,7 +132,7 @@
|
||||
"revoke": "revoca",
|
||||
"Subscriptions": "Iscrizioni",
|
||||
"`x` unseen notifications": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` notifica non visualizzata",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` notifica non visualizzata",
|
||||
"": "`x` notifiche non visualizzate"
|
||||
},
|
||||
"search": "Cerca",
|
||||
@ -165,7 +165,7 @@
|
||||
"Blacklisted regions: ": "Regioni in lista nera: ",
|
||||
"Shared `x`": "Condiviso `x`",
|
||||
"`x` views": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` visualizzazione",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` visualizzazione",
|
||||
"": "`x` visualizzazioni"
|
||||
},
|
||||
"Premieres in `x`": "",
|
||||
@ -199,13 +199,13 @@
|
||||
"Could not get channel info.": "Impossibile ottenere le informazioni del canale.",
|
||||
"Could not fetch comments": "Impossibile recuperare i commenti",
|
||||
"View `x` replies": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "Visualizza `x` risposta",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "Visualizza `x` risposta",
|
||||
"": "Visualizza `x` risposte"
|
||||
},
|
||||
"`x` ago": "`x` fa",
|
||||
"Load more": "Carica altro",
|
||||
"`x` points": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` punto",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` punto",
|
||||
"": "`x` punti"
|
||||
},
|
||||
"Could not create mix.": "Impossibile creare il mix.",
|
||||
@ -326,31 +326,31 @@
|
||||
"Yoruba": "Yoruba",
|
||||
"Zulu": "Zulu",
|
||||
"`x` years": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` anno",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` anno",
|
||||
"": "`x` anni"
|
||||
},
|
||||
"`x` months": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` mese",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` mese",
|
||||
"": "`x` mesi"
|
||||
},
|
||||
"`x` weeks": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` settimana",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` settimana",
|
||||
"": "`x` settimane"
|
||||
},
|
||||
"`x` days": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` giorno",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` giorno",
|
||||
"": "`x` giorni"
|
||||
},
|
||||
"`x` hours": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` ora",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` ora",
|
||||
"": "`x` ore"
|
||||
},
|
||||
"`x` minutes": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` minuto",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` minuto",
|
||||
"": "`x` minuti"
|
||||
},
|
||||
"`x` seconds": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` secondo",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` secondo",
|
||||
"": "`x` secondi"
|
||||
},
|
||||
"Fallback comments: ": "Commenti alternativi: ",
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"`x` subscribers": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 個訂閱者",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 個訂閱者",
|
||||
"": "`x` 個訂閱者"
|
||||
},
|
||||
"`x` videos": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 部影片",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 部影片",
|
||||
"": "`x` 部影片"
|
||||
},
|
||||
"`x` playlists": "",
|
||||
@ -120,11 +120,11 @@
|
||||
"Token manager": "Token 管理員",
|
||||
"Token": "Token",
|
||||
"`x` subscriptions": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 個訂閱",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 個訂閱",
|
||||
"": "`x` 個訂閱"
|
||||
},
|
||||
"`x` tokens": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` token",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` token",
|
||||
"": "`x` tokens"
|
||||
},
|
||||
"Import/export": "匯入/匯出",
|
||||
@ -132,7 +132,7 @@
|
||||
"revoke": "撤銷",
|
||||
"Subscriptions": "訂閱",
|
||||
"`x` unseen notifications": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 個未讀的通知",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 個未讀的通知",
|
||||
"": "`x` 個未讀的通知"
|
||||
},
|
||||
"search": "搜尋",
|
||||
@ -165,7 +165,7 @@
|
||||
"Blacklisted regions: ": "黑名單區域:",
|
||||
"Shared `x`": "`x` 發佈",
|
||||
"`x` views": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 次檢視",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 次檢視",
|
||||
"": "`x` 次檢視"
|
||||
},
|
||||
"Premieres in `x`": "首映於 `x`",
|
||||
@ -199,13 +199,13 @@
|
||||
"Could not get channel info.": "無法取得頻道資訊。",
|
||||
"Could not fetch comments": "無法擷取留言",
|
||||
"View `x` replies": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "檢視 `x` 則回覆",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "檢視 `x` 則回覆",
|
||||
"": "檢視 `x` 則回覆"
|
||||
},
|
||||
"`x` ago": "`x` 以前",
|
||||
"Load more": "載入更多",
|
||||
"`x` points": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 點",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 點",
|
||||
"": "`x` 點"
|
||||
},
|
||||
"Could not create mix.": "無法建立混合。",
|
||||
@ -326,31 +326,31 @@
|
||||
"Yoruba": "約魯巴語",
|
||||
"Zulu": "祖魯語",
|
||||
"`x` years": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 年",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 年",
|
||||
"": "`x` 年"
|
||||
},
|
||||
"`x` months": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 月",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 月",
|
||||
"": "`x` 月"
|
||||
},
|
||||
"`x` weeks": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 週",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 週",
|
||||
"": "`x` 週"
|
||||
},
|
||||
"`x` days": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 天",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 天",
|
||||
"": "`x` 天"
|
||||
},
|
||||
"`x` hours": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 小時",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 小時",
|
||||
"": "`x` 小時"
|
||||
},
|
||||
"`x` minutes": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 天",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 天",
|
||||
"": "`x` 天"
|
||||
},
|
||||
"`x` seconds": {
|
||||
"([^0-9]|^)1([^,0-9]|$)": "`x` 秒",
|
||||
"([^.,0-9]|^)1([^.,0-9]|$)": "`x` 秒",
|
||||
"": "`x` 秒"
|
||||
},
|
||||
"Fallback comments: ": "汰退留言:",
|
||||
|
@ -4687,8 +4687,7 @@ end
|
||||
if format == "html"
|
||||
response = JSON.parse(response)
|
||||
playlist_html = template_playlist(response)
|
||||
index = response["videos"].as_a[1]?.try &.["index"]
|
||||
next_video = response["videos"].as_a[1]?.try &.["videoId"]
|
||||
index, next_video = response["videos"].as_a.skip(1).select { |video| !video["author"].as_s.empty? }[0]?.try { |v| {v["index"], v["videoId"]} } || {nil, nil}
|
||||
|
||||
response = {
|
||||
"playlistHtml" => playlist_html,
|
||||
@ -4721,7 +4720,6 @@ get "/api/v1/mixes/:rdid" do |env|
|
||||
mix = fetch_mix(rdid, mix.videos[1].id)
|
||||
index = mix.videos.index(mix.videos.select { |video| video.id == continuation }[0]?)
|
||||
end
|
||||
index ||= 0
|
||||
|
||||
mix.videos = mix.videos[index..-1]
|
||||
rescue ex
|
||||
@ -4764,8 +4762,7 @@ get "/api/v1/mixes/:rdid" do |env|
|
||||
if format == "html"
|
||||
response = JSON.parse(response)
|
||||
playlist_html = template_mix(response)
|
||||
next_video = response["videos"].as_a[1]?.try &.["videoId"]
|
||||
next_video ||= ""
|
||||
next_video = response["videos"].as_a.select { |video| !video["author"].as_s.empty? }[0]?.try &.["videoId"]
|
||||
|
||||
response = {
|
||||
"playlistHtml" => playlist_html,
|
||||
|
@ -2,8 +2,8 @@
|
||||
<div class="infobox welcome-box">
|
||||
<a id="dismiss_welcome" class="pure-button" href="/dismiss_info?name=welcome&referer=<%= env.get?("current_page") %>">dismiss</a>
|
||||
<h1>Welcome to Invidious</h1>
|
||||
<p>Watch Youtube-videos <em>Ad-free</em>, <em>download videos, audio and subitles</em> and <em>subscribe to channels</em> without Google tracking you.
|
||||
<p><a href="https://github.com/omarroth/invidious/blob/master/README.md">Click to learn more</a> or <a href="/login?referer=%2Fdata_control" id="call_to_action">create an account to import your subscriptions</a>.
|
||||
<p>Watch Youtube-videos <em>Ad-free</em>, <em>download videos, audio and subitles</em>, <em>subscribe to channels</em> without Google tracking you and <a href="https://github.com/omarroth/invidious/blob/master/README.md" id="learn_more_link">much, much more</a>.
|
||||
<p><a href="/login?referer=%2Fdata_control" id="call_to_action">Create an account to import your subscriptions</a> now!
|
||||
</div>
|
||||
<div class="pure-u-1 pure-u-md-1-4"></div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user