2017-11-23 01:48:55 -06:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html>
|
|
|
|
|
|
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
2018-09-04 09:01:43 -05:00
|
|
|
<meta name="referrer" content="no-referrer">
|
2018-08-03 18:17:19 -05:00
|
|
|
<%= yield_content "header" %>
|
2018-11-08 15:58:10 -06:00
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
|
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
|
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
|
|
|
<link rel="manifest" href="/site.webmanifest">
|
|
|
|
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#575757">
|
|
|
|
<meta name="msapplication-TileColor" content="#575757">
|
|
|
|
<meta name="theme-color" content="#575757">
|
2018-11-21 20:00:17 -06:00
|
|
|
<link title="Invidious" type="application/opensearchdescription+xml" rel="search" href="/opensearch.xml">
|
2018-09-06 09:59:17 -05:00
|
|
|
<link rel="stylesheet" href="/css/pure-min.css">
|
|
|
|
<link rel="stylesheet" href="/css/grids-responsive-min.css">
|
|
|
|
<link rel="stylesheet" href="/css/ionicons.min.css">
|
2018-04-13 21:32:14 -05:00
|
|
|
<link rel="stylesheet" href="/css/default.css">
|
2019-03-11 12:44:25 -05:00
|
|
|
<% if env.get("preferences").as(Preferences).dark_mode %>
|
2018-04-13 21:32:14 -05:00
|
|
|
<link rel="stylesheet" href="/css/darktheme.css">
|
|
|
|
<% else %>
|
|
|
|
<link rel="stylesheet" href="/css/lighttheme.css">
|
|
|
|
<% end %>
|
2017-11-23 01:48:55 -06:00
|
|
|
</head>
|
|
|
|
|
2019-03-11 12:44:25 -05:00
|
|
|
<% locale = LOCALES[env.get("preferences").as(Preferences).locale]? %>
|
2018-12-20 15:32:09 -06:00
|
|
|
|
2017-11-23 01:48:55 -06:00
|
|
|
<body>
|
|
|
|
<div class="pure-g">
|
2018-09-09 14:50:24 -05:00
|
|
|
<div class="pure-u-1 pure-u-md-2-24"></div>
|
|
|
|
<div class="pure-u-1 pure-u-md-20-24">
|
2018-08-04 23:07:38 -05:00
|
|
|
<div class="pure-g navbar h-box">
|
2018-07-16 11:24:24 -05:00
|
|
|
<div class="pure-u-1 pure-u-md-4-24">
|
2018-07-26 16:46:43 +02:00
|
|
|
<a href="/" class="index-link pure-menu-heading">Invidious</a>
|
2017-12-30 15:22:55 -06:00
|
|
|
</div>
|
2018-07-26 16:46:43 +02:00
|
|
|
<div class="pure-u-1 pure-u-md-12-24 searchbar">
|
2017-12-30 15:22:55 -06:00
|
|
|
<form class="pure-form" action="/search" method="get">
|
2018-04-13 21:32:14 -05:00
|
|
|
<fieldset>
|
2019-02-24 15:02:39 -06:00
|
|
|
<input type="search" style="width:100%;" name="q" placeholder="<%= translate(locale, "search") %>" value="<%= env.get?("search").try {|x| HTML.escape(x.as(String)) } || env.params.query["q"]?.try {|x| HTML.escape(x)} %>">
|
2018-04-13 21:32:14 -05:00
|
|
|
</fieldset>
|
2017-12-30 15:22:55 -06:00
|
|
|
</form>
|
|
|
|
</div>
|
2018-07-26 16:46:43 +02:00
|
|
|
<div class="pure-u-1 pure-u-md-8-24 user-field">
|
2018-07-16 11:24:24 -05:00
|
|
|
<% if env.get? "user" %>
|
2018-08-07 11:49:14 -05:00
|
|
|
<div class="pure-u-1-4">
|
2018-08-30 08:14:59 -05:00
|
|
|
<a href="/toggle_theme?referer=<%= env.get?("current_page") %>" class="pure-menu-heading">
|
2019-03-28 13:43:40 -05:00
|
|
|
<% if env.get("preferences").as(Preferences).dark_mode %>
|
2018-08-07 11:49:14 -05:00
|
|
|
<i class="icon ion-ios-sunny"></i>
|
|
|
|
<% else %>
|
|
|
|
<i class="icon ion-ios-moon"></i>
|
|
|
|
<% end %>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div class="pure-u-1-4">
|
2019-02-24 15:02:39 -06:00
|
|
|
<a title="<%= translate(locale, "Subscriptions") %>" href="/feed/subscriptions" class="pure-menu-heading">
|
2018-07-26 16:46:43 +02:00
|
|
|
<% notification_count = env.get("user").as(User).notifications.size %>
|
|
|
|
<% if notification_count > 0 %>
|
2018-07-30 18:38:55 -05:00
|
|
|
<%= notification_count %> <i class="icon ion-ios-notifications"></i>
|
2018-07-26 16:46:43 +02:00
|
|
|
<% else %>
|
2018-07-30 18:38:55 -05:00
|
|
|
<i class="icon ion-ios-notifications-outline"></i>
|
2018-07-26 16:46:43 +02:00
|
|
|
<% end %>
|
|
|
|
</a>
|
|
|
|
</div>
|
2018-08-07 11:49:14 -05:00
|
|
|
<div class="pure-u-1-4">
|
2019-02-24 15:02:39 -06:00
|
|
|
<a title="<%= translate(locale, "Preferences") %>" href="/preferences?referer=<%= env.get?("current_page") %>" class="pure-menu-heading">
|
2018-07-30 18:38:55 -05:00
|
|
|
<i class="icon ion-ios-cog"></i>
|
2018-07-26 16:46:43 +02:00
|
|
|
</a>
|
|
|
|
</div>
|
2018-08-07 11:49:14 -05:00
|
|
|
<div class="pure-u-1-4">
|
2018-12-20 15:32:09 -06:00
|
|
|
<a href="/signout?referer=<%= env.get?("current_page") %>&token=<%= env.get?("token") %>&challenge=<%= env.get?("challenge") %>" class="pure-menu-heading">
|
|
|
|
<%= translate(locale, "Sign out") %>
|
|
|
|
</a>
|
2018-07-26 16:46:43 +02:00
|
|
|
</div>
|
2018-03-22 12:44:36 -05:00
|
|
|
<% else %>
|
2019-02-24 09:49:48 -06:00
|
|
|
<div class="pure-u-1-3">
|
|
|
|
<a href="/toggle_theme?referer=<%= env.get?("current_page") %>" class="pure-menu-heading">
|
2019-03-27 11:12:39 -05:00
|
|
|
<% if env.get("preferences").as(Preferences).dark_mode %>
|
2019-02-24 09:49:48 -06:00
|
|
|
<i class="icon ion-ios-sunny"></i>
|
|
|
|
<% else %>
|
|
|
|
<i class="icon ion-ios-moon"></i>
|
|
|
|
<% end %>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div class="pure-u-1-3">
|
2019-02-24 15:02:39 -06:00
|
|
|
<a title="<%= translate(locale, "Preferences") %>" href="/preferences?referer=<%= env.get?("current_page") %>" class="pure-menu-heading">
|
2019-02-24 09:49:48 -06:00
|
|
|
<i class="icon ion-ios-cog"></i>
|
|
|
|
</a>
|
|
|
|
</div>
|
2019-03-01 16:06:45 -06:00
|
|
|
<% if config.login_enabled %>
|
2019-02-24 09:49:48 -06:00
|
|
|
<div class="pure-u-1-3">
|
2018-12-20 15:32:09 -06:00
|
|
|
<a href="/login?referer=<%= env.get?("current_page") %>" class="pure-menu-heading">
|
|
|
|
<%= translate(locale, "Login") %>
|
|
|
|
</a>
|
2019-02-24 09:49:48 -06:00
|
|
|
</div>
|
2018-03-22 12:44:36 -05:00
|
|
|
<% end %>
|
2019-03-01 16:06:45 -06:00
|
|
|
<% end %>
|
2018-03-16 11:40:29 -05:00
|
|
|
</div>
|
2017-12-30 15:22:55 -06:00
|
|
|
</div>
|
2017-11-23 01:48:55 -06:00
|
|
|
<%= content %>
|
2018-07-26 16:46:43 +02:00
|
|
|
<div class="footer">
|
2019-03-01 16:47:06 -06:00
|
|
|
<div class="pure-g">
|
|
|
|
<div class="pure-u-1 pure-u-md-1-3">
|
|
|
|
<a href="https://github.com/omarroth/invidious">
|
|
|
|
<%= translate(locale, "Released under the AGPLv3 by Omar Roth.") %>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
<div class="pure-u-1 pure-u-md-1-3">
|
2019-03-04 04:05:09 +01:00
|
|
|
<i class="icon ion-logo-bitcoin"></i>
|
2019-03-08 22:23:17 -06:00
|
|
|
BTC: 356DpZyMXu6rYd55Yqzjs29n79kGKWcYrY</div>
|
2019-03-04 04:05:09 +01:00
|
|
|
<div class="pure-u-1 pure-u-md-1-3">
|
|
|
|
<i class="icon ion-logo-bitcoin"></i>
|
2019-03-08 22:23:17 -06:00
|
|
|
BCH: qq4ptclkzej5eza6a50et5ggc58hxsq5aylqut2npk</div>
|
2019-03-04 04:05:09 +01:00
|
|
|
<div class="pure-u-1 pure-u-md-1-3">
|
|
|
|
<i class="icon ion-logo-usd"></i>
|
2019-03-08 22:23:17 -06:00
|
|
|
<a href="https://liberapay.com/omarroth">Liberapay</a>
|
2019-03-23 14:05:13 -05:00
|
|
|
/
|
2019-03-08 22:23:17 -06:00
|
|
|
<a href="https://patreon.com/omarroth">Patreon</a>
|
2019-03-01 16:47:06 -06:00
|
|
|
</div>
|
|
|
|
<div class="pure-u-1 pure-u-md-1-3">
|
2019-03-04 04:05:09 +01:00
|
|
|
<i class="icon ion-logo-javascript"></i>
|
2019-03-01 16:47:06 -06:00
|
|
|
<a rel="jslicense" href="/licenses">
|
|
|
|
<%= translate(locale, "View JavaScript license information.") %>
|
|
|
|
</a>
|
2019-03-23 14:05:13 -05:00
|
|
|
/
|
2019-03-12 20:51:23 -05:00
|
|
|
<i class="icon ion-ios-paper"></i>
|
|
|
|
<a href="/privacy">
|
|
|
|
<%= translate(locale, "View privacy policy.") %>
|
|
|
|
</a>
|
2019-03-23 14:05:13 -05:00
|
|
|
</div>
|
2019-03-04 04:05:09 +01:00
|
|
|
<div class="pure-u-1 pure-u-md-1-3">
|
|
|
|
<i class="icon ion-logo-github"></i>
|
|
|
|
<%= translate(locale, "Current version: ") %> <%= CURRENT_VERSION %>-<%= CURRENT_COMMIT %>
|
|
|
|
<i class="icon ion-logo-github"></i>
|
|
|
|
<%= CURRENT_BRANCH %></div>
|
2019-03-01 16:47:06 -06:00
|
|
|
</div>
|
2018-07-26 16:46:43 +02:00
|
|
|
</div>
|
2017-11-23 01:48:55 -06:00
|
|
|
</div>
|
2018-09-09 14:50:24 -05:00
|
|
|
<div class="pure-u-1 pure-u-md-2-24"></div>
|
2018-11-05 07:31:18 -06:00
|
|
|
</div>
|
2017-11-23 01:48:55 -06:00
|
|
|
</body>
|
|
|
|
|
2018-02-05 19:11:57 -06:00
|
|
|
</html>
|