1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+ < head >
4+ < meta http-equiv ="Content-Security-Policy " content ="
5+ default-src 'self' blob: data:;
6+ script-src 'self';
7+ style-src 'self' 'unsafe-inline';
8+ img-src 'self' blob: data:;
9+ connect-src 'self';
10+ frame-src 'self' blob: data:;
11+ worker-src 'self';
12+ manifest-src 'self';
13+ upgrade-insecure-requests; block-all-mixed-content; ">
14+ < meta charset ="UTF-8 ">
15+ < meta name ="viewport " content ="width=device-width, initial-scale=1.0 ">
16+ < title > HTMLReader</ title >
17+ < link rel ="stylesheet " href ="./src/style.css " />
18+ </ head >
19+ < body >
20+ < header >
21+ < div class ="title ">
22+ < span > HTMLReader</ span >
23+ < span class ="book-title " id ="book-title "> </ span >
24+ </ div >
25+ < div class ="controls ">
26+ < button id ="toc-button " disabled > Table of Contents</ button >
27+ < button id ="open-button "> Open EPUB</ button >
28+ < button id ="library-button "> Library</ button >
29+ < input type ="file " id ="file-input " class ="file-input " accept =".epub ">
30+ <!-- Fallback multiple file input for library import -->
31+ < input type ="file " id ="library-input " class ="file-input " accept =".epub " multiple >
32+ < button id ="install-button " hidden > Install App</ button > <!-- New Install Button -->
33+ </ div >
34+ </ header >
35+ < main >
36+ < div id ="viewer "> </ div >
37+ </ main >
38+ < footer >
39+ < button id ="prev-button " disabled > ⬅ Previous</ button >
40+ < div class ="page-info ">
41+ < span > Page</ span >
42+ < input type ="number " id ="current-page " min ="1 " value ="1 ">
43+ < span > of</ span >
44+ < span id ="total-pages "> 1</ span >
45+ </ div >
46+ < button id ="next-button " disabled > Next ➡</ button >
47+ </ footer >
48+ <!-- TOC Container -->
49+ < div class ="toc-container " id ="toc-container ">
50+ < div class ="toc-header ">
51+ < h3 > Table of Contents</ h3 >
52+ < button id ="close-toc "> Close</ button >
53+ </ div >
54+ < div class ="toc-content " id ="toc-content "> </ div >
55+ </ div >
56+ <!-- Library Popup (hidden by default) -->
57+ < div class ="library-container " id ="library-container ">
58+ < div class ="library-header ">
59+ < h3 > Library</ h3 >
60+ < button id ="close-library "> Close</ button >
61+ </ div >
62+ < div class ="library-content " id ="library-content "> </ div >
63+ </ div >
64+ < div class ="overlay " id ="overlay "> </ div >
65+ < div class ="message " id ="loading-message ">
66+ < h3 > Loading EPUB...</ h3 >
67+ < p > Please wait while your book is being processed.</ p >
68+ </ div >
69+ < div class ="message " id ="error-message ">
70+ < h3 > Error</ h3 >
71+ < p id ="error-text "> There was an error processing your EPUB file.</ p >
72+ < button id ="close-error "> Close</ button >
73+ </ div >
74+ </ body >
75+ < script type ="module " src ="./src/main.js "> </ script >
76+ </ html >
0 commit comments