113 lines
5.3 KiB
HTML
113 lines
5.3 KiB
HTML
|
|
<!doctype html>
|
||
|
|
<html lang="en">
|
||
|
|
|
||
|
|
<head>
|
||
|
|
<meta charset="UTF-8" />
|
||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||
|
|
<title>Add Stamps - BentoPDF</title>
|
||
|
|
<link rel="icon" type="image/png" href="../../images/favicon.svg" />
|
||
|
|
<link href="../../src/css/styles.css" rel="stylesheet" />
|
||
|
|
</head>
|
||
|
|
|
||
|
|
<body class="antialiased bg-gray-900">
|
||
|
|
<nav class="bg-gray-800 border-b border-gray-700 sticky top-0 z-30">
|
||
|
|
<div class="container mx-auto px-4">
|
||
|
|
<div class="flex justify-between items-center h-16">
|
||
|
|
<div class="flex-shrink-0 flex items-center cursor-pointer" id="home-logo">
|
||
|
|
<img src="../../public/images/favicon.svg" alt="Bento PDF Logo" class="h-8 w-8" />
|
||
|
|
<span class="text-white font-bold text-xl ml-2">
|
||
|
|
<a href="/">BentoPDF</a>
|
||
|
|
</span>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- Desktop Navigation -->
|
||
|
|
<div class="hidden md:flex items-center space-x-8 text-white">
|
||
|
|
<a href="/" class="nav-link">Home</a>
|
||
|
|
<a href="/about.html" class="nav-link">About</a>
|
||
|
|
<a href="/contact.html" class="nav-link">Contact</a>
|
||
|
|
<a href="/" class="nav-link">All Tools</a>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- Mobile Hamburger Button -->
|
||
|
|
<div class="md:hidden flex items-center">
|
||
|
|
<button id="mobile-menu-button" type="button"
|
||
|
|
class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500 transition-colors"
|
||
|
|
aria-controls="mobile-menu" aria-expanded="false">
|
||
|
|
<span class="sr-only">Open main menu</span>
|
||
|
|
<svg id="menu-icon" class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
||
|
|
stroke="currentColor" aria-hidden="true">
|
||
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
|
||
|
|
</svg>
|
||
|
|
<svg id="close-icon" class="hidden h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none"
|
||
|
|
viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true">
|
||
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
|
||
|
|
</svg>
|
||
|
|
</button>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- Mobile Menu Dropdown -->
|
||
|
|
<div id="mobile-menu" class="hidden md:hidden bg-gray-800 border-t border-gray-700">
|
||
|
|
<div class="px-2 pt-2 pb-3 space-y-1 text-center">
|
||
|
|
<a href="/" class="mobile-nav-link">Home</a>
|
||
|
|
<a href="/about.html" class="mobile-nav-link">About</a>
|
||
|
|
<a href="/contact.html" class="mobile-nav-link">Contact</a>
|
||
|
|
<a href="/" class="mobile-nav-link">All Tools</a>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</nav>
|
||
|
|
|
||
|
|
<div class="min-h-screen flex items-center justify-center p-4 bg-gray-900">
|
||
|
|
<div class="bg-gray-800 rounded-xl shadow-xl p-6 max-w-5xl w-full text-gray-200 border border-gray-700">
|
||
|
|
<button id="back-to-tools"
|
||
|
|
class="flex items-center gap-2 text-indigo-400 hover:text-indigo-300 mb-6 font-semibold">
|
||
|
|
<i data-lucide="arrow-left" class="cursor-pointer"></i>
|
||
|
|
<span class="cursor-pointer"> Back to Tools </span>
|
||
|
|
</button>
|
||
|
|
|
||
|
|
<h1 class="text-2xl font-bold text-white mb-2">Add Stamps</h1>
|
||
|
|
<p class="text-gray-400 mb-6">
|
||
|
|
Upload a PDF, add image stamps using the toolbar, and then save the stamped PDF.
|
||
|
|
</p>
|
||
|
|
|
||
|
|
<div
|
||
|
|
class="relative flex flex-col items-center justify-center w-full h-44 border-2 border-dashed border-gray-600 rounded-xl cursor-pointer bg-gray-700 hover:bg-gray-600 transition-colors duration-300">
|
||
|
|
<div class="flex flex-col items-center justify-center pt-5 pb-6">
|
||
|
|
<i data-lucide="upload-cloud" class="w-10 h-10 mb-3 text-gray-400"></i>
|
||
|
|
<p class="mb-2 text-sm text-gray-300">
|
||
|
|
<span class="font-semibold">Click to select a PDF</span> or drag and drop
|
||
|
|
</p>
|
||
|
|
<p class="text-xs text-gray-500">Single PDF file</p>
|
||
|
|
<p class="text-xs text-gray-500">Your files never leave your device.</p>
|
||
|
|
</div>
|
||
|
|
<input type="file" id="pdfFile" accept="application/pdf"
|
||
|
|
class="absolute top-0 left-0 w-full h-full opacity-0 cursor-pointer" />
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div id="fileList" class="mt-4 hidden text-sm text-gray-200"></div>
|
||
|
|
|
||
|
|
<!-- Viewer, shown after a PDF is uploaded -->
|
||
|
|
<div id="viewer-card" class="hidden mt-6 border border-gray-700 rounded-lg overflow-hidden">
|
||
|
|
<div class="px-4 py-3 border-b border-gray-700 flex items-center justify-between">
|
||
|
|
<h2 class="text-lg font-semibold text-white">Stamp Editor</h2>
|
||
|
|
<p class="text-xs text-gray-400">Use the toolbar's image stamp tool to place stamps.</p>
|
||
|
|
</div>
|
||
|
|
<div id="stamp-viewer-container" class="h-[70vh] bg-black/70 flex items-stretch justify-stretch">
|
||
|
|
<!-- iframe injected by add-stamps.ts -->
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<button id="save-stamped-btn"
|
||
|
|
class="btn-gradient w-full mt-6 flex items-center justify-center gap-2">
|
||
|
|
<span>Save Stamped PDF</span>
|
||
|
|
</button>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<script type="module" src="../js/utils/lucide-init.ts"></script>
|
||
|
|
<script type="module" src="../js/logic/add-stamps.ts"></script>
|
||
|
|
<script type="module" src="../js/mobileMenu.ts"></script>
|
||
|
|
</body>
|
||
|
|
|
||
|
|
</html>
|