summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-11-20 20:24:24 +0300
committerAndrew Dolgov <[email protected]>2020-11-20 20:24:24 +0300
commit7df3df758589dde34aa49dfe20a5079e47366014 (patch)
treebcee5e62973e58a76aa9a89652bea5f95ebde65c
parent94e0592f456880e72a8d8114db80e2288958c638 (diff)
parent076a76af57ae2ec4e87f15b38f20e367a5225a14 (diff)
Merge remote-tracking branch 'origin' into app-online
-rw-r--r--css/app.less30
-rw-r--r--css/index.css69
-rw-r--r--css/read.css204
-rw-r--r--dist/app.min.css2
-rw-r--r--dist/reader_iframe.min.js2
-rw-r--r--js/reader_iframe.js29
-rw-r--r--login.php4
7 files changed, 46 insertions, 294 deletions
diff --git a/css/app.less b/css/app.less
index 5e6cc4c..d2d971e 100644
--- a/css/app.less
+++ b/css/app.less
@@ -169,19 +169,37 @@ body.epube-reader {
.spacer > .toc-bar-entry {
display : none;
}
+
+ .footer {
+ width : 100%;
+
+ .chapter_wrapper,
+ .location {
+ min-width : 30%;
+ max-width : 70%;
+ }
+ }
}
@media (min-width: 540px) {
- .footer .chapter_wrapper, .footer .location {
- width : 25%;
+ .footer {
+ .chapter_wrapper,
+ .location {
+ min-width : 25%;
+ max-width : 30%;
+ }
}
}
- @media (min-width: 800px) {
- .footer .chapter_wrapper, .footer .location {
- width : 20%;
+ /*@media (min-width: 800px) {
+ .footer {
+ .chapter_wrapper,
+ .location {
+ min-width : 20%;
+ max-width : 30%;
+ }
}
- }
+ }*/
.toolbar {
text-align : right;
diff --git a/css/index.css b/css/index.css
deleted file mode 100644
index 3eae557..0000000
--- a/css/index.css
+++ /dev/null
@@ -1,69 +0,0 @@
-.display-flex {
- display: flex;
- flex-wrap: wrap;
-}
-
-.separate-search {
- padding : 8px;
-}
-
-.row > div {
- padding-top : 10px;
-}
-
-.row .thumbnail {
- height : 200px;
- width : 140px;
- margin-bottom : 0;
-}
-
-@media(max-width: 641px) {
- .row .col-xxs-6 {
- width: 50%;
- }
-}
-
-.row .thumbnail img {
- width : 100%;
- height : 100%;
- background-size : cover;
- background-position : center;
- background-repeat: no-repeat;
-}
-
-.row .thumbnail.read img {
- opacity : 0.5;
- filter : grayscale(100%);
-}
-
-.epube-app-filler {
- height : 60px;
- display : none;
-}
-
-.in_progress {
- font-style : italic;
-}
-
-.caption div {
- overflow : hidden;
- text-overflow: ellipsis;
- white-space : nowrap;
-}
-
-::selection {
- background : #007d71;
- color : white;
-}
-
-::-webkit-scrollbar {
- width: 4px;
-}
-
-::-webkit-scrollbar-thumb {
- background-color: #007d71;
-}
-
-::-webkit-scrollbar-track {
- background-color: #eee;
-}
diff --git a/css/read.css b/css/read.css
deleted file mode 100644
index f7a9e2d..0000000
--- a/css/read.css
+++ /dev/null
@@ -1,204 +0,0 @@
-.loading {
- position : absolute;
- color : #999;
- top : 0px;
- left : 0px;
- height : 100%;
- width : 100%;
- z-index : 32;
- text-align : center;
- background : white;
- padding : 16px;
- font-size : 18px;
- display : table;
-}
-
-.loading > div {
- display : table-cell;
- vertical-align : middle;
-}
-
-.notice {
- width : 120px;
- padding-left : 5px;
-}
-
-.header {
- top : 5px;
- left : 0px;
- width : 100%;
- height : 24px;
-}
-
-.footer {
- bottom : 5px;
- left : 0px;
- width : 100%;
- height : 24px;
-}
-
-.header, .footer {
- position : absolute;
- font-size : 13px;
- display : flex;
- padding-left : 10px;
- padding-right : 10px;
- color : #999;
- align-items : center;
-}
-
-.header .title, .footer .chapter_wrapper {
- overflow : hidden;
- text-overflow: ellipsis;
- white-space : nowrap;
-}
-
-.header .title {
- margin-left : 10px;
- flex-grow : 2;
- text-align : center;
- font-weight : bold;
-}
-
-.footer .chapter_wrapper {
- padding-right : 10px;
- cursor : pointer;
-}
-
-.footer .spacer {
- flex-grow : 2;
- position : relative;
- height : 12px;
-}
-
-.footer .spacer .toc-bar-entry {
- position : absolute;
- background: #999;
- top: 0;
- bottom : 0;
- width : 1px;
-}
-
-.footer .spacer .toc-bar-entry.current-position {
- background : #C33;
-}
-
-.footer .location {
- cursor : pointer;
- text-align : right;
-}
-
-@media (max-width: 539px) {
- .spacer > .toc-bar-entry {
- display : none;
- }
-}
-
-@media (min-width: 540px) {
- .footer .chapter_wrapper, .footer .location {
- width : 25%;
- }
-}
-
-@media (min-width: 800px) {
- .footer .chapter_wrapper, .footer .location {
- width : 20%;
- }
-}
-
-
-.toolbar {
- text-align : right;
- display : flex;
- flex-direction : row;
-}
-
-.toolbar > * {
- cursor : pointer;
- margin : 0 4px;
- padding : 0 2px;
-}
-
-.toolbar > *:last-child {
- margin-right : 0;
-}
-
-#reader {
- position : absolute;
- top : 32px;
- bottom : 32px;
- left : 32px;
- right : 32px;
-}
-
-#left, #right {
- position : absolute;
- top : 48px;
- bottom : 48px;
- width : 0px;
- z-index : 10;
-}
-
-#left {
- left : 0px;
-}
-
-#right {
- right : 0px;
-}
-
-@media (max-width: 576px) {
- #reader {
- left : 24px;
- right : 24px;
- }
-}
-
-.chapter {
- cursor : pointer;
-}
-
-.toc_list, .search_results, .dict_result {
- max-height : 300px;
- height : auto;
- overflow : auto;
-}
-
-.dict_result h1,
-.dict_result h2,
-.dict_result h3 {
- font-size : 14px;
- margin-top : 0;
-}
-
-.dict_result h2 {
- font-weight : bold;
-}
-
-.toc_list b.pull-right,
-.search_results b.pull-right {
- margin-right : 8px;
- margin-left : 16px;
-}
-
-.toc_sublist {
- margin-left : 16px;
-}
-
-::-webkit-scrollbar {
- width: 4px;
-}
-
-::-webkit-scrollbar-thumb {
- background-color: rgba(0,0,0,0.2);
-}
-
-::-webkit-scrollbar-track {
- background-color:rgba(0,0,0,0.1);
-}
-
-body.is-epube-app .header .toolbar,
-body.is-epube-app .header a {
- display : none;
-}
-
diff --git a/dist/app.min.css b/dist/app.min.css
index 61e4d60..fc3dc88 100644
--- a/dist/app.min.css
+++ b/dist/app.min.css
@@ -1 +1 @@
-body.epube-index .caption div,body.epube-reader .footer .chapter_wrapper,body.epube-reader .header .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.epube-index .display-flex{display:flex;flex-wrap:wrap}body.epube-index .separate-search{padding:8px}body.epube-index .row>div{padding-top:10px}body.epube-index .row .thumbnail{height:200px;width:140px;margin-bottom:0}@media (max-width:641px){body.epube-index .row .col-xxs-6{width:50%}}body.epube-index .row .thumbnail img{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}body.epube-index .row .thumbnail.read img{opacity:.5;filter:grayscale(100%)}body.epube-index .epube-app-filler{height:60px;display:none}body.epube-index .in_progress{font-style:italic}body.epube-index ::selection{background:#007d71;color:#fff}body.epube-index ::-webkit-scrollbar{width:4px}body.epube-index ::-webkit-scrollbar-thumb{background-color:#007d71}body.epube-index ::-webkit-scrollbar-track{background-color:#eee}body.epube-reader .loading{position:absolute;color:#999;top:0;left:0;height:100%;width:100%;z-index:32;text-align:center;background:#fff;padding:16px;font-size:18px;display:table}body.epube-reader .loading>div{display:table-cell;vertical-align:middle}body.epube-reader .notice{width:120px;padding-left:5px}body.epube-reader .header{top:5px;left:0;width:100%;height:24px}body.epube-reader .footer{bottom:5px;left:0;width:100%;height:24px}body.epube-reader .footer,body.epube-reader .header{position:absolute;font-size:13px;display:flex;padding-left:10px;padding-right:10px;color:#999;align-items:center}body.epube-reader .header .title{margin-left:10px;flex-grow:2;text-align:center;font-weight:700}body.epube-reader .footer .chapter_wrapper{padding-right:10px;cursor:pointer}body.epube-reader .footer .spacer{flex-grow:2;position:relative;height:12px}body.epube-reader .footer .spacer .toc-bar-entry{position:absolute;background:#999;top:0;bottom:0;width:1px}body.epube-reader .footer .spacer .toc-bar-entry.current-position{background:#C33}body.epube-reader .footer .location{cursor:pointer;text-align:right}@media (max-width:539px){body.epube-reader .spacer>.toc-bar-entry{display:none}}@media (min-width:540px){body.epube-reader .footer .chapter_wrapper,body.epube-reader .footer .location{width:25%}}@media (min-width:800px){body.epube-reader .footer .chapter_wrapper,body.epube-reader .footer .location{width:20%}}body.epube-reader .toolbar{text-align:right;display:flex;flex-direction:row}body.epube-reader .toolbar>*{cursor:pointer;margin:0 4px;padding:0 2px}body.epube-reader .toolbar>:last-child{margin-right:0}body.epube-reader #reader{position:absolute;top:32px;bottom:32px;left:32px;right:32px}body.epube-reader #left,body.epube-reader #right{position:absolute;top:48px;bottom:48px;width:0;z-index:10}body.epube-reader #left{left:0}body.epube-reader #right{right:0}@media (max-width:576px){body.epube-reader #reader{left:24px;right:24px}}body.epube-reader .chapter{cursor:pointer}body.epube-reader .dict_result,body.epube-reader .search_results,body.epube-reader .toc_list{max-height:300px;height:auto;overflow:auto}body.epube-reader .dict_result h1,body.epube-reader .dict_result h2,body.epube-reader .dict_result h3{font-size:14px;margin-top:0}body.epube-reader .dict_result h2{font-weight:700}body.epube-reader .search_results b.pull-right,body.epube-reader .toc_list b.pull-right{margin-right:8px;margin-left:16px}body.epube-reader .toc_sublist{margin-left:16px}body.epube-reader ::-webkit-scrollbar{width:4px}body.epube-reader ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2)}body.epube-reader ::-webkit-scrollbar-track{background-color:rgba(0,0,0,.1)}body.is-epube-app.epube-reader .header .toolbar,body.is-epube-app.epube-reader .header a{display:none}@media (prefers-color-scheme:dark){body.theme-default,body.theme-default .loading,body.theme-default html:-webkit-full-screen{background:#222;color:#ccc}body.theme-default .modal{color:#333}}body.theme-gray,body.theme-gray .loading,body.theme-gray html:-webkit-full-screen{background:#eee;color:#424242}body.theme-gray .footer,body.theme-gray .header{color:#B85C57}body.theme-gray .footer .spacer .toc-bar-entry.current-position{background:#B85C57}body.theme-light .no-op{color:#fff}body.theme-mocca,body.theme-mocca .loading,body.theme-mocca html:-webkit-full-screen{background:#3B3228;color:#D0C8C6}body.theme-mocca a{color:#8AB3B5}body.theme-mocca a:hover{color:#7BBDA4}body.theme-mocca .footer,body.theme-mocca .header{color:#F4BC87}body.theme-mocca .footer .location{color:#BEB55B}body.theme-mocca .header button.btn{background:#BB9584;color:#534636;text-shadow:#534636 0 0;border-color:#534636}body.theme-mocca .footer .spacer .toc-bar-entry.current-position{background:#F4BC87}body.theme-night,body.theme-night .loading,body.theme-night html:-webkit-full-screen{background:#222;color:#ccc}body.theme-night a,body.theme-night a:hover{color:#00bdaa}body.theme-night .modal{color:#333}body.theme-night .footer .spacer .toc-bar-entry.current-position{background:#8b0000}body.theme-plan9,body.theme-plan9 .loading,body.theme-plan9 html:-webkit-full-screen{background:#FFFFE8;color:#424242}body.theme-plan9 a{color:#22b9b2}body.theme-plan9 a:hover{color:#28d7cf}body.theme-plan9 .footer,body.theme-plan9 .header{color:#B85C57}body.theme-plan9 .footer .spacer .toc-bar-entry.current-position{background:#B85C57}body.theme-sepia,body.theme-sepia .loading,body.theme-sepia html:-webkit-full-screen{background:#FAEFDB;color:#4a422b}body.theme-sepia .footer,body.theme-sepia .header{color:#B85C57}body.theme-sepia .footer .spacer .toc-bar-entry.current-position{background:#B85C57} \ No newline at end of file
+body.epube-index .caption div,body.epube-reader .footer .chapter_wrapper,body.epube-reader .header .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.epube-index .display-flex{display:flex;flex-wrap:wrap}body.epube-index .separate-search{padding:8px}body.epube-index .row>div{padding-top:10px}body.epube-index .row .thumbnail{height:200px;width:140px;margin-bottom:0}@media (max-width:641px){body.epube-index .row .col-xxs-6{width:50%}}body.epube-index .row .thumbnail img{width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}body.epube-index .row .thumbnail.read img{opacity:.5;filter:grayscale(100%)}body.epube-index .epube-app-filler{height:60px;display:none}body.epube-index .in_progress{font-style:italic}body.epube-index ::selection{background:#007d71;color:#fff}body.epube-index ::-webkit-scrollbar{width:4px}body.epube-index ::-webkit-scrollbar-thumb{background-color:#007d71}body.epube-index ::-webkit-scrollbar-track{background-color:#eee}body.epube-reader .loading{position:absolute;color:#999;top:0;left:0;height:100%;width:100%;z-index:32;text-align:center;background:#fff;padding:16px;font-size:18px;display:table}body.epube-reader .loading>div{display:table-cell;vertical-align:middle}body.epube-reader .notice{width:120px;padding-left:5px}body.epube-reader .header{top:5px;left:0;width:100%;height:24px}body.epube-reader .footer{bottom:5px;left:0;width:100%;height:24px}body.epube-reader .footer,body.epube-reader .header{position:absolute;font-size:13px;display:flex;padding-left:10px;padding-right:10px;color:#999;align-items:center}body.epube-reader .header .title{margin-left:10px;flex-grow:2;text-align:center;font-weight:700}body.epube-reader .footer .chapter_wrapper{padding-right:10px;cursor:pointer}body.epube-reader .footer .spacer{flex-grow:2;position:relative;height:12px}body.epube-reader .footer .spacer .toc-bar-entry{position:absolute;background:#999;top:0;bottom:0;width:1px}body.epube-reader .footer .spacer .toc-bar-entry.current-position{background:#C33}body.epube-reader .footer .location{cursor:pointer;text-align:right}@media (max-width:539px){body.epube-reader .spacer>.toc-bar-entry{display:none}body.epube-reader .footer{width:100%}body.epube-reader .footer .chapter_wrapper,body.epube-reader .footer .location{min-width:30%;max-width:70%}}@media (min-width:540px){body.epube-reader .footer .chapter_wrapper,body.epube-reader .footer .location{min-width:25%;max-width:30%}}body.epube-reader .toolbar{text-align:right;display:flex;flex-direction:row}body.epube-reader .toolbar>*{cursor:pointer;margin:0 4px;padding:0 2px}body.epube-reader .toolbar>:last-child{margin-right:0}body.epube-reader #reader{position:absolute;top:32px;bottom:32px;left:32px;right:32px}body.epube-reader #left,body.epube-reader #right{position:absolute;top:48px;bottom:48px;width:0;z-index:10}body.epube-reader #left{left:0}body.epube-reader #right{right:0}@media (max-width:576px){body.epube-reader #reader{left:24px;right:24px}}body.epube-reader .chapter{cursor:pointer}body.epube-reader .dict_result,body.epube-reader .search_results,body.epube-reader .toc_list{max-height:300px;height:auto;overflow:auto}body.epube-reader .dict_result h1,body.epube-reader .dict_result h2,body.epube-reader .dict_result h3{font-size:14px;margin-top:0}body.epube-reader .dict_result h2{font-weight:700}body.epube-reader .search_results b.pull-right,body.epube-reader .toc_list b.pull-right{margin-right:8px;margin-left:16px}body.epube-reader .toc_sublist{margin-left:16px}body.epube-reader ::-webkit-scrollbar{width:4px}body.epube-reader ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.2)}body.epube-reader ::-webkit-scrollbar-track{background-color:rgba(0,0,0,.1)}body.is-epube-app.epube-reader .header .toolbar,body.is-epube-app.epube-reader .header a{display:none}@media (prefers-color-scheme:dark){body.theme-default,body.theme-default .loading,body.theme-default html:-webkit-full-screen{background:#222;color:#ccc}body.theme-default .modal{color:#333}}body.theme-gray,body.theme-gray .loading,body.theme-gray html:-webkit-full-screen{background:#eee;color:#424242}body.theme-gray .footer,body.theme-gray .header{color:#B85C57}body.theme-gray .footer .spacer .toc-bar-entry.current-position{background:#B85C57}body.theme-light .no-op{color:#fff}body.theme-mocca,body.theme-mocca .loading,body.theme-mocca html:-webkit-full-screen{background:#3B3228;color:#D0C8C6}body.theme-mocca a{color:#8AB3B5}body.theme-mocca a:hover{color:#7BBDA4}body.theme-mocca .footer,body.theme-mocca .header{color:#F4BC87}body.theme-mocca .footer .location{color:#BEB55B}body.theme-mocca .header button.btn{background:#BB9584;color:#534636;text-shadow:#534636 0 0;border-color:#534636}body.theme-mocca .footer .spacer .toc-bar-entry.current-position{background:#F4BC87}body.theme-night,body.theme-night .loading,body.theme-night html:-webkit-full-screen{background:#222;color:#ccc}body.theme-night a,body.theme-night a:hover{color:#00bdaa}body.theme-night .modal{color:#333}body.theme-night .footer .spacer .toc-bar-entry.current-position{background:#8b0000}body.theme-plan9,body.theme-plan9 .loading,body.theme-plan9 html:-webkit-full-screen{background:#FFFFE8;color:#424242}body.theme-plan9 a{color:#22b9b2}body.theme-plan9 a:hover{color:#28d7cf}body.theme-plan9 .footer,body.theme-plan9 .header{color:#B85C57}body.theme-plan9 .footer .spacer .toc-bar-entry.current-position{background:#B85C57}body.theme-sepia,body.theme-sepia .loading,body.theme-sepia html:-webkit-full-screen{background:#FAEFDB;color:#4a422b}body.theme-sepia .footer,body.theme-sepia .header{color:#B85C57}body.theme-sepia .footer .spacer .toc-bar-entry.current-position{background:#B85C57} \ No newline at end of file
diff --git a/dist/reader_iframe.min.js b/dist/reader_iframe.min.js
index 189e5ad..9280922 100644
--- a/dist/reader_iframe.min.js
+++ b/dist/reader_iframe.min.js
@@ -1 +1 @@
-"use strict";let Reader,App;function enable_swipes(){$(window).off("swipeleft swiperight"),$(window).on("swipeleft",(function(){Reader.Page.next()})),$(window).on("swiperight",(function(){Reader.Page.prev()}))}$(document).ready((function(){Reader=parent.__get_reader(),App=parent.__get_app(),$(window).on("doubletap",(function(){getSelection().toString().trim().match(/^$/)&&Reader.toggleFullscreen()})),$(window).on("click tap",(function(e){if(0==e.button){if($(".modal").is(":visible"))return;"undefined"!=typeof EpubeApp?EpubeApp.toggleActionBar():Reader.showUI(!0)}})),$(window).on("touchstart",(function(){enable_swipes()})),$(window).on("mousedown",(function(){$(window).off("swipeleft swiperight")})),$(window).on("wheel",(function(e){e.originalEvent.deltaY>0?Reader.Page.next():e.originalEvent.deltaY<0&&Reader.Page.prev()})),$(window).on("mouseup touchend",(function(){if(!App.onLine)return;const e=getSelection().toString().trim();e.match(/^[\w­]+$/)&&Reader.lookupWord(e,(function(){"undefined"!=typeof EpubeApp&&EpubeApp.showActionBar(!1),getSelection().removeAllRanges()}))})),enable_swipes()})); \ No newline at end of file
+"use strict";let Reader,App;function enable_swipes(){$(window).off("swipeleft swiperight"),$(window).on("swipeleft",(function(){Reader.Page.next()})),$(window).on("swiperight",(function(){Reader.Page.prev()}))}$(document).ready((function(){Reader=parent.__get_reader(),App=parent.__get_app(),$(window).on("click tap",(function(e){if(0==e.button){if($(".modal").is(":visible"))return;"undefined"!=typeof EpubeApp?EpubeApp.toggleActionBar():Reader.showUI(!0)}})),$(window).on("touchstart",(function(){enable_swipes()})),$(window).on("mousedown",(function(){$(window).off("swipeleft swiperight")})),$(window).on("wheel",(function(e){e.originalEvent.deltaY>0?Reader.Page.next():e.originalEvent.deltaY<0&&Reader.Page.prev()}));let e=null;$(document).on("selectionchange",(function(){App.onLine&&(window.clearTimeout(e),e=window.setTimeout((function(){const e=getSelection().toString().trim();e.match(/^[\w­]+$/)&&Reader.lookupWord(e,(function(){"undefined"!=typeof EpubeApp&&EpubeApp.showActionBar(!1),getSelection().removeAllRanges()}))}),250))})),enable_swipes()})); \ No newline at end of file
diff --git a/js/reader_iframe.js b/js/reader_iframe.js
index 80e597e..c58061e 100644
--- a/js/reader_iframe.js
+++ b/js/reader_iframe.js
@@ -21,13 +21,13 @@ $(document).ready(function() {
Reader = parent.__get_reader();
App = parent.__get_app();
- $(window).on("doubletap", function(/* evt */) {
+ /*$(window).on("doubletap", function(evt) {
const sel = getSelection().toString().trim();
if (sel.match(/^$/)) {
Reader.toggleFullscreen();
}
- });
+ }); */
$(window).on("click tap", function(evt) {
if (evt.button == 0) {
@@ -58,19 +58,26 @@ $(document).ready(function() {
}
});
- $(window).on("mouseup touchend", function() {
+ let selectionChangeTimeout = null;
+
+ $(document).on("selectionchange", function() {
if (!App.onLine) return;
- const sel = getSelection().toString().trim();
+ window.clearTimeout(selectionChangeTimeout);
- if (sel.match(/^[\w­]+$/)) {
- Reader.lookupWord(sel, function() {
- if (typeof EpubeApp != "undefined")
- EpubeApp.showActionBar(false);
+ selectionChangeTimeout = window.setTimeout(function() {
+ const sel = getSelection().toString().trim();
+
+ if (sel.match(/^[\w­]+$/)) {
+ Reader.lookupWord(sel, function() {
+ if (typeof EpubeApp != "undefined")
+ EpubeApp.showActionBar(false);
+
+ getSelection().removeAllRanges();
+ });
+ }
+ }, 250);
- getSelection().removeAllRanges();
- });
- }
});
enable_swipes();
diff --git a/login.php b/login.php
index cb7cbc4..2526a26 100644
--- a/login.php
+++ b/login.php
@@ -43,7 +43,7 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="dist/app-libs.min.js"></script>
<title>The Epube</title>
- <link type="text/css" rel="stylesheet" media="screen" href="css/index.css" />
+ <link type="text/css" rel="stylesheet" media="screen" href="dist/app.min.css" />
<link rel="shortcut icon" type="image/png" href="img/favicon.png" />
<link rel="manifest" href="manifest.json">
<meta name="mobile-web-app-capable" content="yes">
@@ -57,7 +57,7 @@
});
</script>
</head>
-<body>
+<body class="epube-login">
<div class="navbar navbar-default navbar-static-top">
<div class="container">