diff --git a/reader/static/css/reader_toolbar.css b/reader/static/css/reader_toolbar.css new file mode 100644 index 0000000000000000000000000000000000000000..70fd952877227741092e6b854e48a17bfbdb88b0 --- /dev/null +++ b/reader/static/css/reader_toolbar.css @@ -0,0 +1,26 @@ +.reading-toolbar-top { + height: 5%; + table { + width: 100%; + height: 100%; + } + background-color: #ccc; + color: #1c1b22; +} + +.ta-left { + float: left; +} + +.ta-right { + float: right; +} + +.ta-text { + padding: 1rem; + font-family: "Inter", "SF Pro", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Helvetica Neue", "Helvetica", "Arial", sans-serif; +} + +#outerContainer { + height: 95% !important; +} \ No newline at end of file diff --git a/reader/templates/reader/book_read/pdf_viewer.html b/reader/templates/reader/book_read/pdf_viewer.html index c077701ea2e828e8871f9a657aebae88acdf1568..5fce1a9025a34c71afa8e9ad47f6e53ed9aabc4a 100644 --- a/reader/templates/reader/book_read/pdf_viewer.html +++ b/reader/templates/reader/book_read/pdf_viewer.html @@ -36,16 +36,34 @@ See https://github.com/adobe-type-tools/cmap-resources <link rel="resource" type="application/l10n" href="{% static "pdfjs/locale/locale.json" %}"> <script src="{% static "pdfjs/pdf.mjs" %}" type="module"></script> + <script src="{% static "js/jquery-3.7.1.min.js" %}"></script> + <link rel="stylesheet" href="{% static "pdfjs/viewer.css" %}"> + <link rel="stylesheet" href="{% static "css/reader_toolbar.css" %}"> + <script type="module"> {% include "reader/book_read/viewer.mjs" %} </script> </head> <body tabindex="1"> + <div class="reading-toolbar-top"> + <table> + <tbody> + <tr> + <td class="ta-left"> + <span class="ta-text">Now reading: {{ book.title }}</span> + </td> + <td></td> + <td class="ta-right"> + <span class="ta-text"><a href="{% url 'view_book' book.id %}" class="btn btn-primary">Back to book</a></span> + </td> + </tr> + </tbody> + </table> + </div> <div id="outerContainer"> - <div id="sidebarContainer"> <div id="toolbarSidebar"> <div id="toolbarSidebarLeft"> @@ -620,16 +638,34 @@ See https://github.com/adobe-type-tools/cmap-resources </div> <!-- outerContainer --> <div id="printContainer"></div> - <script> + PDFViewerApplicationOptions.set("disablehistory", true); document.addEventListener("webviewerloaded", () => { PDFViewerApplication.initializedPromise.then(() => { + {% if pagenumber %} + PDFViewerApplication.pdfViewer.currentPageNumber = {{ pagenumber }}; + {% endif %} PDFViewerApplication.eventBus.on("documentloaded", (e) => { console.log("The document has now been loaded"); }); PDFViewerApplication.eventBus.on("pagechanging", (e) => { console.log('pagechanging, from ' + e.previous + ' to ' + e.pageNumber); + if (e.pageNumber === {{ pagenumber }}) { + return; + } + $.ajax( + "{% url 'update_progress' book_id=book.id %}", + { + method: "POST", + data: { + csrfmiddlewaretoken: "{{ csrf_token }}", + last_progress_cfi: e.pageNumber, + last_progress_device: "Web Viewer", + percentage_read: e.pageNumber / PDFViewerApplication.pagesCount + } + } + ); }); PDFViewerApplication.eventBus.on("scalechanging", (e) => { diff --git a/reader/templates/reader/book_read/viewer.mjs b/reader/templates/reader/book_read/viewer.mjs index d9d94c08e90a92693c6d78cfa1e4b2f1dbf3be0d..0ab897b84d0cc7cf5be3abf406aa328fa0fab5ce 100644 --- a/reader/templates/reader/book_read/viewer.mjs +++ b/reader/templates/reader/book_read/viewer.mjs @@ -636,7 +636,7 @@ const defaultOptions = { kind: OptionKind.VIEWER + OptionKind.PREFERENCE }, debuggerSrc: { - value: "./debugger.mjs", + value: "{% static 'pdfjs/debugger.mjs' %}", kind: OptionKind.VIEWER }, defaultZoomDelay: { @@ -648,7 +648,7 @@ const defaultOptions = { kind: OptionKind.VIEWER + OptionKind.PREFERENCE }, disableHistory: { - value: false, + value: true, kind: OptionKind.VIEWER }, disablePageLabels: {