- next entry/exit reader after finishing an entry

This commit is contained in:
Alex Ling 2020-02-16 01:00:52 +00:00
parent 1850573961
commit 5a7a54d17e
4 changed files with 17 additions and 3 deletions

View File

@ -36,6 +36,7 @@ $(function() {
var lastURL = $('img').last().attr('id');
// load the reader URL for the last page to update reading progrss to 100%
$.get(lastURL);
$('#next-btn').removeAttr('hidden');
return;
}
$('#hidden').load(encodeURI(nextURL) + ' .uk-container', function(res, status, xhr){
@ -71,6 +72,6 @@ function replaceHistory(url) {
history.replaceState(null, "", url);
console.log('reading ' + url);
}
function exit(url) {
function redirect(url) {
window.location.replace(url);
}

View File

@ -106,6 +106,11 @@ class Title
end
read_pages / total_pages
end
def next_entry(current_entry_obj)
idx = @entries.index current_entry_obj
return nil if idx.nil? || idx == @entries.size - 1
@entries[idx + 1]
end
end
class TitleInfo

View File

@ -168,7 +168,7 @@ class Server
title = (@library.get_title env.params.url["title"]).not_nil!
entry = (title.get_entry env.params.url["entry"]).not_nil!
page = env.params.url["page"].to_i
raise "" if page > entry.pages
raise "" if page > entry.pages || page <= 0
# save progress
username = get_username env
@ -183,6 +183,9 @@ class Server
next_url = next_page > entry.pages ? nil :
"/reader/#{title.title}/#{entry.title}/#{next_page}"
exit_url = "/book/#{title.title}"
next_entry = title.next_entry entry
next_entry_url = next_entry.nil? ? nil : \
"/reader/#{title.title}/#{next_entry.title}"
render "src/views/reader.ecr"
rescue

View File

@ -20,6 +20,11 @@
<a class="next-url" href="<%= next_url %>"></a>
<%- end -%>
</div>
<%- if next_entry_url -%>
<button id="next-btn" class="uk-align-center uk-button uk-button-primary" hidden onclick="redirect('<%= next_entry_url %>')">Next Entry</button>
<%- else -%>
<button id="next-btn" class="uk-align-center uk-button uk-button-primary" hidden onclick="redirect('<%= exit_url %>')">Exit Reader</button>
<%- end -%>
</div>
<div id="hidden" hidden></div>
@ -43,7 +48,7 @@
</div>
</div>
<div class="uk-modal-footer uk-text-right">
<button class="uk-button uk-button-danger" type="button" onclick="exit('<%= exit_url %>')">Exit Reader</button>
<button class="uk-button uk-button-danger" type="button" onclick="redirect('<%= exit_url %>')">Exit Reader</button>
</div>
</div>
</div>