diff options
| author | Omar Roth <omarroth@hotmail.com> | 2018-05-07 21:57:47 -0500 |
|---|---|---|
| committer | Omar Roth <omarroth@hotmail.com> | 2018-05-07 21:57:47 -0500 |
| commit | fdcfe0bb14dd7f95eb3ebaf9f8da22159940580e (patch) | |
| tree | d8d11de24a3218e6578351b8c739c93a8e14815c /src | |
| parent | 0e85a04761756b78392698891db9ed4e29ed57e9 (diff) | |
| download | invidious-fdcfe0bb14dd7f95eb3ebaf9f8da22159940580e.tar.gz invidious-fdcfe0bb14dd7f95eb3ebaf9f8da22159940580e.tar.bz2 invidious-fdcfe0bb14dd7f95eb3ebaf9f8da22159940580e.zip | |
Seperate new videos in subscription feed
Diffstat (limited to 'src')
| -rw-r--r-- | src/helpers.cr | 2 | ||||
| -rw-r--r-- | src/invidious.cr | 5 | ||||
| -rw-r--r-- | src/views/subscriptions.ecr | 24 |
3 files changed, 30 insertions, 1 deletions
diff --git a/src/helpers.cr b/src/helpers.cr index 8026f472..0ab2ea46 100644 --- a/src/helpers.cr +++ b/src/helpers.cr @@ -605,7 +605,7 @@ def get_user(sid, client, headers, db) args = arg_array(user_array) db.exec("INSERT INTO users VALUES (#{args}) \ - ON CONFLICT (email) DO UPDATE SET id = $1, updated = $2, notifications = $3, subscriptions = $4", user_array) + ON CONFLICT (email) DO UPDATE SET id = $1, updated = $2, subscriptions = $4", user_array) end else user = fetch_user(sid, client, headers) diff --git a/src/invidious.cr b/src/invidious.cr index 7af339ed..afa69dd5 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -729,6 +729,11 @@ get "/feed/subscriptions" do |env| videos = PG_DB.query_all("SELECT * FROM channel_videos WHERE ucid IN (#{args}) \ ORDER BY published DESC LIMIT $1 OFFSET $2", [limit, offset] + user.subscriptions, as: ChannelVideo) + notifications = PG_DB.query_one("SELECT notifications FROM users WHERE email = $1", user.email, as: Array(String)) + + notifications = videos.select { |v| notifications.includes? v.id } + vidoes = videos - notifications + if !limit videos = videos[0..max_results] end diff --git a/src/views/subscriptions.ecr b/src/views/subscriptions.ecr index 98e6a18c..7c6f722d 100644 --- a/src/views/subscriptions.ecr +++ b/src/views/subscriptions.ecr @@ -2,6 +2,30 @@ <title>Subscriptions - Invidious</title> <% end %> +<% if !notifications.empty? %> +<% notifications.each_slice(4) do |slice| %> +<div class="pure-g"> + <% slice.each do |video| %> + <div class="pure-u-1 pure-u-md-1-4"> + <div class="h-box"> + <a style="width:100%;" href="/watch?v=<%= video.id %>"> + <img style="width:100%;" src="https://i.ytimg.com/vi/<%= video.id %>/mqdefault.jpg"/> + <p style="height:100%"><%= video.title %></p> + </a> + <p> + <b><a style="width:100%;" href="https://youtube.com/channel/<%= video.ucid %>"><%= video.author %></a></b> + </p> + <p> + <h5>Shared <%= video.published.to_s("%B %-d, %Y at %r") %></h5> + </p> + </div> + </div> + <% end %> +</div> +<% end %> +<hr style="margin-left:1em; margin-right:1em;"> +<% end %> + <% videos.each_slice(4) do |slice| %> <div class="pure-g"> <% slice.each do |video| %> |
