mirror of
https://github.com/hkalexling/Mango.git
synced 2025-08-02 19:05:32 -04:00
- make the page parameter in the reader view the same as the page number in books
This commit is contained in:
parent
9114c0b488
commit
c7bde94495
@ -99,8 +99,7 @@ class Title
|
|||||||
page / entry_obj.pages
|
page / entry_obj.pages
|
||||||
end
|
end
|
||||||
def load_percetage(username)
|
def load_percetage(username)
|
||||||
read_pages = 0
|
read_pages = total_pages = 0
|
||||||
total_pages = 0
|
|
||||||
@entries.each do |e|
|
@entries.each do |e|
|
||||||
read_pages += load_progress username, e.title
|
read_pages += load_progress username, e.title
|
||||||
total_pages += e.pages
|
total_pages += e.pages
|
||||||
|
25
src/mango.cr
25
src/mango.cr
@ -162,36 +162,35 @@ get "/reader/:title/:entry" do |env|
|
|||||||
|
|
||||||
# load progress
|
# load progress
|
||||||
username = get_username env
|
username = get_username env
|
||||||
entry_page = title.load_progress username, entry.title
|
page = title.load_progress username, entry.title
|
||||||
# we go above 1 * `imgs_each_page` pages. the infinite scroll library
|
# we go back `imgs_each_page` pages. the infinite scroll library
|
||||||
# perloads a few pages in advance, and the user might not have actually
|
# perloads a few pages in advance, and the user might not have actually
|
||||||
# read it
|
# read them
|
||||||
page = [(entry_page // imgs_each_page) - 1, 0].max
|
page = [page - imgs_each_page, 0].max
|
||||||
|
|
||||||
env.redirect "/reader/#{title.title}/#{entry.title}/#{page}"
|
env.redirect "/reader/#{title.title}/#{entry.title}/#{page}"
|
||||||
rescue e
|
rescue
|
||||||
pp e
|
|
||||||
env.response.status_code = 404
|
env.response.status_code = 404
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
get "/reader/:title/:entry/:page" do |env|
|
get "/reader/:title/:entry/:page" do |env|
|
||||||
# here each :page contains `imgs_each_page` images
|
|
||||||
begin
|
begin
|
||||||
title = (library.get_title env.params.url["title"]).not_nil!
|
title = (library.get_title env.params.url["title"]).not_nil!
|
||||||
entry = (title.get_entry env.params.url["entry"]).not_nil!
|
entry = (title.get_entry env.params.url["entry"]).not_nil!
|
||||||
page = env.params.url["page"].to_i
|
page = env.params.url["page"].to_i
|
||||||
raise "" if page * imgs_each_page >= entry.pages
|
raise "" if page >= entry.pages
|
||||||
|
|
||||||
# save progress
|
# save progress
|
||||||
username = (get_username env).not_nil!
|
username = (get_username env).not_nil!
|
||||||
title.save_progress username, entry.title, page * imgs_each_page
|
title.save_progress username, entry.title, page
|
||||||
|
|
||||||
urls = ((page * imgs_each_page)...\
|
urls = (page...[entry.pages, page + imgs_each_page].min)
|
||||||
[entry.pages, (page + 1) * imgs_each_page].min) \
|
|
||||||
.map { |idx| "/api/page/#{title.title}/#{entry.title}/#{idx}" }
|
.map { |idx| "/api/page/#{title.title}/#{entry.title}/#{idx}" }
|
||||||
next_url = "/reader/#{title.title}/#{entry.title}/#{page + 1}"
|
next_page = page + imgs_each_page
|
||||||
next_url = nil if (page + 1) * imgs_each_page >= entry.pages
|
next_url = next_page >= entry.pages ? nil :
|
||||||
|
"/reader/#{title.title}/#{entry.title}/#{next_page}"
|
||||||
|
|
||||||
render "src/views/reader.ecr"
|
render "src/views/reader.ecr"
|
||||||
rescue
|
rescue
|
||||||
env.response.status_code = 404
|
env.response.status_code = 404
|
||||||
|
Loading…
x
Reference in New Issue
Block a user