Skip to content

Commit 801f487

Browse files
committed
feat: implement advanced Merge tool, About page, and UI/UX refinements
1 parent 31b9ea2 commit 801f487

14 files changed

Lines changed: 1131 additions & 130 deletions

GEMINI.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
* **Web View:** A "Bento Grid" dashboard. High-density information, desktop-optimized. Hosted on GitHub Pages.
1212
* **Android View:** A "Native-Style" app. Bottom navigation bar, thumb-friendly buttons, full-screen focus. Built as an APK.
1313
* **Live Simulation:** The project includes a `viewMode` state (`web` | `android`).
14-
* In `npm run dev`, a floating toggle allows switching views instantly to test the "Chameleon" shift.
14+
* In `npm run dev`, a floating toggle (bottom-right) allows switching views instantly to test the "Chameleon" shift. This toggle is protected by `import.meta.env.DEV` and is invisible in production.
1515

1616
## 🚀 3. Final Products & Deployment
17-
1. **Web Version:** Built via Vite and auto-pushed to the `gh-pages` branch on GitHub.
17+
1. **Web Version:** Built via Vite and auto-pushed to the `gh-pages` branch on GitHub via `.github/workflows/deploy.yml`.
1818
2. **Android APK:** Wrapped via Capacitor. The APK is compiled using GitHub Actions (`create-android.yml`) so the user can download it from GitHub "Releases."
1919

2020
## 📈 4. Evolution Log (Milestones Only)
@@ -24,3 +24,21 @@
2424
- **[2026-01-29]:** Defined "Privacy Protocol" and "Chameleon Mode" in GEMINI.md.
2525
- **[2026-01-29]:** Implemented Chameleon Mode (Web/Android views) and Dark/Light theme engine with persistence.
2626
- **[2026-01-29]:** Revamped UI with Rose (#F43F5E) accent and custom PaperKnife airplane logo.
27+
- **[2026-01-29]:** Optimized performance with Code Splitting (React.lazy) and integrated Plus Jakarta Sans typography.
28+
- **[2026-01-29]:** Automated GitHub Pages deployment and sanitized repository tracking (removed node_modules/dist).
29+
- **[2026-01-30]:** Migrated to React Router for SEO and unique URLs (e.g., /merge, /about).
30+
- **[2026-01-30]:** Implemented functional Merge PDF tool with local processing via `pdf-lib`.
31+
- **[2026-01-30]:** Added advanced Merge features: PDF thumbnails (pdfjs-dist) and drag-and-drop reordering (@dnd-kit).
32+
- **[2026-01-30]:** Refined UI/UX: Minimalist branding, mobile optimization, and seamless theme transitions.
33+
34+
## 🏗️ 5. Architectural Notes
35+
* **Routing:** Uses `react-router-dom` with a `/PaperKnife/` basename for GitHub Pages compatibility.
36+
* **PDF Core:** `pdf-lib` handles all manipulation (creation, copying pages, merging).
37+
* **PDF Rendering:** `pdfjs-dist` (v5+) used for thumbnail generation via local worker URL.
38+
* **UI Components:**
39+
* `Logo.tsx`: Centralized brand logo to prevent circular dependencies.
40+
* `WebView.tsx`: Main Bento Dashboard.
41+
* `AndroidView.tsx`: Mobile-first dashboard with bottom nav.
42+
* `tools/`: Directory for individual tool implementations.
43+
* **State Management:** Local React state + localStorage for persistence (Theme).
44+
* **Transitions:** GPU-accelerated CSS transforms for page slides and theme fading.

index.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
<html lang="en">
33
<head>
44
<meta charset="UTF-8" />
5-
<link rel="icon" type="image/svg+xml" href="/icons/logo.svg" />
6-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
5+
<link rel="icon" type="image/svg+xml" href="./icons/logo.svg" />
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover" />
77
<title>PaperKnife - Private PDF Tool</title>
88
</head>
99
<body>
1010
<div id="root"></div>
11-
<script type="module" src="/src/main.tsx"></script>
11+
<script type="module" src="./src/main.tsx"></script>
1212
</body>
1313
</html>

0 commit comments

Comments
 (0)