feat(favicon,repair-pdf): Add favicon support and implement PDF repair tool

- Add favicon.ico to public directory for browser tab display
- Update favicon references across all HTML pages with proper link tags for SVG, PNG, and ICO formats
- Add Apple touch icon support for iOS devices
- Create new repair-pdf.ts logic module for PDF repair functionality
- Create new repair-pdf-page.ts utility module for page-level repair operations
- Add repair-pdf.html page with UI for PDF repair tool
- Register repair PDF tool in tools configuration and PDF tools registry
- Update UI rendering utilities to support new repair tool
- Improve favicon handling with multiple format fallbacks for cross-browser compatibility
- Standardize favicon paths to use absolute URLs for consistency
- Clean up whitespace and formatting in licensing.html for code consistency
This commit is contained in:
abdullahalam123
2025-12-01 12:44:34 +05:30
parent 05bc0d5a3c
commit c5764e4172
32 changed files with 759 additions and 404 deletions

View File

@@ -9,7 +9,7 @@ export interface RenderConfig {
batchSize?: number;
useLazyLoading?: boolean;
lazyLoadMargin?: string;
eagerLoadBatches?: number; // Number of batches to load ahead eagerly (default: 1)
eagerLoadBatches?: number; // Number of batches to load ahead eagerly (default: 2)
onProgress?: (current: number, total: number) => void;
onPageRendered?: (pageIndex: number, element: HTMLElement) => void;
onBatchComplete?: () => void;
@@ -214,7 +214,7 @@ export async function renderPagesProgressively(
const {
batchSize = 8, // Increased from 5 to 8 for faster initial render
useLazyLoading = true,
eagerLoadBatches = 1, // Eagerly load 1 batch ahead by default
eagerLoadBatches = 2, // Eagerly load 1 batch ahead by default
onProgress,
onBatchComplete,
} = config;
@@ -318,7 +318,7 @@ export function observePlaceholder(
* Eagerly renders the next batch in the background
*/
function renderEagerBatch(config: RenderConfig): void {
const { eagerLoadBatches = 1, batchSize = 8 } = config;
const { eagerLoadBatches = 2, batchSize = 8 } = config;
if (eagerLoadBatches <= 0 || lazyLoadState.eagerLoadQueue.length === 0) {
return;