- Backend: EBookHighlights and EBookBookmarks models with encrypted blob storage; GET/POST views with size guards (700 KB / 100 KB); migration applied - Reader header: search, settings, bookmark add/list buttons - Font & layout settings panel (font size, line height, max width, themes for EPUB; zoom, invert, paginated for PDF); persisted in localStorage - Bookmarks: encrypted per-book blob, toast on add, sidebar with jump/delete - Full-text search: EPUB TreeWalker mark injection, PDF span search; Ctrl+F / F3; arrow key cycling; highlights re-applied on search clear - PDF paginated mode: single-page view, tap-zone / swipe / arrow key navigation, smart zoom (text bounding box → scale+translate canvas), auto-enable on mobile - Progress tracking fixes: save before hiding overlay (was always writing 100%), wait for EPUB images to load before restoring scroll, PDF paginated uses page fraction, sendBeacon cache for unload/visibilitychange reliability - PDF text layer disabled pending overlay rendering fix Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5 lines
137 B
Python
5 lines
137 B
Python
from django.contrib import admin
|
|
from .models import EBook, EBookProgress
|
|
|
|
admin.site.register(EBook)
|
|
admin.site.register(EBookProgress)
|