kyso / index.html
zbio's picture
Add 2 files
5d64074 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Digital Signature Manager</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<style>
.signature-canvas {
border: 2px dashed #94a3b8;
border-radius: 8px;
background-color: #f8fafc;
}
.document-card:hover, .certificate-card:hover, .log-entry:hover {
transform: translateY(-2px);
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.signature-preview {
filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1));
}
.progress-bar {
transition: width 0.5s ease-in-out;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.pulse-animation {
animation: pulse 2s infinite;
}
.tab-content {
display: none;
}
.tab-content.active {
display: block;
}
.nav-tab {
transition: all 0.3s ease;
}
.nav-tab.active {
border-bottom: 2px solid #3b82f6;
color: #3b82f6;
}
.document-viewer {
border: 1px solid #e2e8f0;
background-color: #f8fafc;
height: 500px;
overflow: auto;
}
.signature-field {
border: 2px dashed #3b82f6;
background-color: rgba(59, 130, 246, 0.1);
position: absolute;
cursor: move;
}
.signature-field.active {
border-color: #1d4ed8;
background-color: rgba(29, 78, 216, 0.2);
}
.signature-field .remove-btn {
display: none;
position: absolute;
top: -10px;
right: -10px;
width: 20px;
height: 20px;
border-radius: 50%;
background-color: #ef4444;
color: white;
font-size: 12px;
text-align: center;
line-height: 20px;
cursor: pointer;
}
.signature-field:hover .remove-btn {
display: block;
}
</style>
</head>
<body class="bg-gray-50 min-h-screen">
<div class="container mx-auto px-4 py-8">
<!-- Header -->
<header class="flex justify-between items-center mb-8">
<div class="flex items-center space-x-3">
<i class="fas fa-signature text-3xl text-blue-600"></i>
<h1 class="text-2xl font-bold text-gray-800">DigitalSign Pro</h1>
</div>
<div class="flex items-center space-x-4">
<button class="bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg flex items-center space-x-2 transition-colors">
<i class="fas fa-user-plus"></i>
<span>Invite Team</span>
</button>
<div class="relative">
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Profile" class="w-10 h-10 rounded-full cursor-pointer border-2 border-blue-500">
<span class="absolute top-0 right-0 w-3 h-3 bg-green-500 rounded-full border-2 border-white"></span>
</div>
</div>
</header>
<!-- Main Dashboard -->
<div class="grid grid-cols-1 lg:grid-cols-4 gap-6">
<!-- Sidebar -->
<div class="lg:col-span-1 bg-white rounded-xl shadow-sm p-6 h-fit sticky top-6">
<nav>
<ul class="space-y-2">
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg bg-blue-50 text-blue-600 font-medium" onclick="showTab('dashboard')">
<i class="fas fa-home w-5"></i>
<span>Dashboard</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700 transition-colors" onclick="showTab('signatures')">
<i class="fas fa-file-signature w-5"></i>
<span>My Signatures</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700 transition-colors" onclick="showTab('documents')">
<i class="fas fa-file-upload w-5"></i>
<span>Documents</span>
<span class="ml-auto bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded-full">12</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700 transition-colors" onclick="showTab('certificates')">
<i class="fas fa-certificate w-5"></i>
<span>Digital Certificates</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700 transition-colors" onclick="showTab('activity')">
<i class="fas fa-history w-5"></i>
<span>Activity Log</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700 transition-colors" onclick="showTab('contacts')">
<i class="fas fa-users w-5"></i>
<span>Contacts</span>
</a>
</li>
<li>
<a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-gray-100 text-gray-700 transition-colors" onclick="showTab('settings')">
<i class="fas fa-cog w-5"></i>
<span>Settings</span>
</a>
</li>
</ul>
</nav>
<div class="mt-8 pt-6 border-t border-gray-200">
<h3 class="text-xs font-semibold text-gray-500 uppercase tracking-wider mb-3">Quick Actions</h3>
<button id="newSignatureBtn" class="w-full bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg flex items-center justify-center space-x-2 transition-colors mb-3">
<i class="fas fa-plus"></i>
<span>New Signature</span>
</button>
<button class="w-full border border-blue-600 text-blue-600 hover:bg-blue-50 px-4 py-2 rounded-lg flex items-center justify-center space-x-2 transition-colors" onclick="showUploadModal()">
<i class="fas fa-upload"></i>
<span>Upload Document</span>
</button>
</div>
</div>
<!-- Main Content -->
<div class="lg:col-span-3 space-y-6">
<!-- Dashboard Tab -->
<div id="dashboard" class="tab-content active">
<!-- Stats Cards -->
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div class="bg-white rounded-xl shadow-sm p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-sm font-medium text-gray-500">Pending Signatures</p>
<h3 class="text-2xl font-bold text-gray-800 mt-1">5</h3>
</div>
<div class="p-3 rounded-full bg-blue-100 text-blue-600">
<i class="fas fa-clock text-xl"></i>
</div>
</div>
<div class="mt-4">
<div class="h-2 bg-gray-200 rounded-full overflow-hidden">
<div class="h-full bg-blue-600 rounded-full" style="width: 60%"></div>
</div>
<p class="text-xs text-gray-500 mt-2">3 more than last week</p>
</div>
</div>
<div class="bg-white rounded-xl shadow-sm p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-sm font-medium text-gray-500">Completed Today</p>
<h3 class="text-2xl font-bold text-gray-800 mt-1">8</h3>
</div>
<div class="p-3 rounded-full bg-green-100 text-green-600">
<i class="fas fa-check-circle text-xl"></i>
</div>
</div>
<div class="mt-4">
<div class="h-2 bg-gray-200 rounded-full overflow-hidden">
<div class="h-full bg-green-500 rounded-full" style="width: 80%"></div>
</div>
<p class="text-xs text-gray-500 mt-2">2.5x your daily average</p>
</div>
</div>
<div class="bg-white rounded-xl shadow-sm p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-sm font-medium text-gray-500">Team Activity</p>
<h3 class="text-2xl font-bold text-gray-800 mt-1">24</h3>
</div>
<div class="p-3 rounded-full bg-purple-100 text-purple-600">
<i class="fas fa-users text-xl"></i>
</div>
</div>
<div class="mt-4">
<div class="h-2 bg-gray-200 rounded-full overflow-hidden">
<div class="h-full bg-purple-500 rounded-full" style="width: 45%"></div>
</div>
<p class="text-xs text-gray-500 mt-2">12% increase</p>
</div>
</div>
</div>
<!-- Recent Documents -->
<div class="bg-white rounded-xl shadow-sm p-6">
<div class="flex items-center justify-between mb-6">
<h2 class="text-lg font-semibold text-gray-800">Recent Documents</h2>
<button class="text-sm text-blue-600 hover:text-blue-800 font-medium" onclick="showTab('documents')">View All</button>
</div>
<div class="space-y-4">
<div class="document-card bg-gray-50 hover:bg-blue-50 rounded-lg p-4 transition-all duration-300 cursor-pointer">
<div class="flex items-start">
<div class="p-3 rounded-lg bg-blue-100 text-blue-600 mr-4">
<i class="fas fa-file-contract text-xl"></i>
</div>
<div class="flex-1">
<div class="flex items-center justify-between">
<h3 class="font-medium text-gray-800">Employment Contract.pdf</h3>
<span class="text-xs bg-green-100 text-green-800 px-2 py-1 rounded-full">Signed</span>
</div>
<p class="text-sm text-gray-500 mt-1">Sent to John Smith • 2 hours ago</p>
<div class="flex items-center mt-3 space-x-4">
<div class="flex -space-x-2">
<img src="https://randomuser.me/api/portraits/men/32.jpg" alt="User" class="w-6 h-6 rounded-full border-2 border-white">
<img src="https://randomuser.me/api/portraits/women/44.jpg" alt="You" class="w-6 h-6 rounded-full border-2 border-white">
</div>
<button class="text-xs text-blue-600 hover:text-blue-800 font-medium flex items-center space-x-1">
<i class="fas fa-download"></i>
<span>Download</span>
</button>
</div>
</div>
</div>
</div>
<div class="document-card bg-gray-50 hover:bg-blue-50 rounded-lg p-4 transition-all duration-300 cursor-pointer">
<div class="flex items-start">
<div class="p-3 rounded-lg bg-yellow-100 text-yellow-600 mr-4">
<i class="fas fa-file-invoice-dollar text-xl"></i>
</div>
<div class="flex-1">
<div class="flex items-center justify-between">
<h3 class="font-medium text-gray-800">Q3 Financial Report.docx</h3>
<span class="text-xs bg-yellow-100 text-yellow-800 px-2 py-1 rounded-full">Pending</span>
</div>
<p class="text-sm text-gray-500 mt-1">Waiting for 2 signatures • 1 day ago</p>
<div class="flex items-center mt-3 space-x-4">
<div class="flex -space-x-2">
<img src="https://randomuser.me/api/portraits/men/75.jpg" alt="User" class="w-6 h-6 rounded-full border-2 border-white">
<img src="https://randomuser.me/api/portraits/women/68.jpg" alt="User" class="w-6 h-6 rounded-full border-2 border-white">
<div class="w-6 h-6 rounded-full bg-gray-200 border-2 border-white flex items-center justify-center text-xs text-gray-500">+1</div>
</div>
<button class="text-xs text-blue-600 hover:text-blue-800 font-medium flex items-center space-x-1">
<i class="fas fa-bell"></i>
<span>Remind</span>
</button>
</div>
</div>
</div>
</div>
<div class="document-card bg-gray-50 hover:bg-blue-50 rounded-lg p-4 transition-all duration-300 cursor-pointer">
<div class="flex items-start">
<div class="p-3 rounded-lg bg-red-100 text-red-600 mr-4">
<i class="fas fa-file-medical text-xl"></i>
</div>
<div class="flex-1">
<div class="flex items-center justify-between">
<h3 class="font-medium text-gray-800">NDA Agreement.pdf</h3>
<span class="text-xs bg-blue-100 text-blue-800 px-2 py-1 rounded-full">Draft</span>
</div>
<p class="text-sm text-gray-500 mt-1">Created by you • 3 days ago</p>
<div class="flex items-center mt-3 space-x-4">
<div class="flex -space-x-2">
<div class="w-6 h-6 rounded-full bg-gray-200 border-2 border-white flex items-center justify-center text-xs text-gray-500">0</div>
</div>
<button class="text-xs text-blue-600 hover:text-blue-800 font-medium flex items-center space-x-1">
<i class="fas fa-paper-plane"></i>
<span>Send for Signing</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Recent Activity -->
<div class="bg-white rounded-xl shadow-sm p-6">
<div class="flex items-center justify-between mb-6">
<h2 class="text-lg font-semibold text-gray-800">Recent Activity</h2>
<button class="text-sm text-blue-600 hover:text-blue-800 font-medium" onclick="showTab('activity')">View All</button>
</div>
<div class="space-y-4">
<div class="log-entry p-4 rounded-lg border border-gray-200 hover:border-blue-200 transition-all duration-300">
<div class="flex items-start">
<div class="p-2 rounded-full bg-green-100 text-green-600 mr-4">
<i class="fas fa-check-circle"></i>
</div>
<div class="flex-1">
<div class="flex items-center justify-between">
<h3 class="font-medium text-gray-800">Document signed</h3>
<span class="text-xs text-gray-500">10 min ago</span>
</div>
<p class="text-sm text-gray-500 mt-1">Employment Contract.pdf was signed by all parties</p>
</div>
</div>
</div>
<div class="log-entry p-4 rounded-lg border border-gray-200 hover:border-blue-200 transition-all duration-300">
<div class="flex items-start">
<div class="p-2 rounded-full bg-blue-100 text-blue-600 mr-4">
<i class="fas fa-file-upload"></i>
</div>
<div class="flex-1">
<div class="flex items-center justify-between">
<h3 class="font-medium text-gray-800">Document uploaded</h3>
<span class="text-xs text-gray-500">1 hour ago</span>
</div>
<p class="text-sm text-gray-500 mt-1">Q3 Financial Report.docx was uploaded and sent for signing</p>
</div>
</div>
</div>
<div class="log-entry p-4 rounded-lg border border-gray-200 hover:border-blue-200 transition-all duration-300">
<div class="flex items-start">
<div class="p-2 rounded-full bg-yellow-100 text-yellow-600 mr-4">
<i class="fas fa-exclamation-circle"></i>
</div>
<div class="flex-1">
<div class="flex items-center justify-between">
<h3 class="font-medium text-gray-800">Signature reminder sent</h3>
<span class="text-xs text-gray-500">3 hours ago</span>
</div>
<p class="text-sm text-gray-500 mt-1">Reminder sent to John Smith for NDA Agreement.pdf</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- My Signatures Tab -->
<div id="signatures" class="tab-content">
<div class="bg-white rounded-xl shadow-sm p-6">
<div class="flex items-center justify-between mb-6">
<h2 class="text-lg font-semibold text-gray-800">My Signatures</h2>
<button id="newSignatureBtn2" class="text-sm bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg flex items-center space-x-2 transition-colors">
<i class="fas fa-plus"></i>
<span>New Signature</span>
</button>
</div>
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4">
<div class="border border-gray-200 rounded-lg p-4 flex flex-col items-center">
<div class="signature-preview mb-3 w-full h-24 flex items-center justify-center bg-gray-50 rounded">
<p class="text-gray-400 italic">No signature</p>
</div>
<button class="text-sm text-blue-600 hover:text-blue-800 font-medium" onclick="showSignatureModal()">Create New</button>
</div>
<div class="border border-gray-200 rounded-lg p-4 flex flex-col items-center">
<div class="signature-preview mb-3 w-full h-24 flex items-center justify-center bg-gray-50 rounded">
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAxMjAgNDAiPjxwYXRoIGQ9Ik0xMCAyMEMxMCAxMC40NzcxIDE3LjQ3NzEgMyAyNyAzSDkzQzEwMi41MjMgMyAxMTAgMTAuNDc3MSAxMTAgMjBWMzBDMTEwIDM5LjUyMjkgMTAyLjUyMyA0NyA5MyA0N0gyN0MxNy40NzcxIDQ3IDEwIDM5LjUyMjkgMTAgMzBWMjBaIiBmaWxsPSIjRkZGRkZGIiBzdHJva2U9IiNENUU4RkYiIHN0cm9rZS13aWR0aD0iMiIvPjx0ZXh0IHg9IjUwJSIgeT0iNTAlIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBmaWxsPSIjMzg0MTVCIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTQiIGZvbnQtd2VpZ2h0PSJib2xkIj5Kb2huIERvZTwvdGV4dD48L3N2Zz4=" alt="Signature" class="h-12">
</div>
<div class="flex space-x-2">
<span class="text-sm text-gray-600 font-medium">Default</span>
<button class="text-sm text-blue-600 hover:text-blue-800 font-medium">Use</button>
</div>
</div>
<div class="border border-gray-200 rounded-lg p-4 flex flex-col items-center">
<div class="signature-preview mb-3 w-full h-24 flex items-center justify-center bg-gray-50 rounded">
<img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCAxMjAgNDAiPjxwYXRoIGQ9Ik0xMCAyMEMxMCAxMC40NzcxIDE3LjQ3NzEgMyAyNyAzSDkzQzEwMi41MjMgMyAxMTAgMTAuNDc3MSAxMTAgMjBWMzBDMTEwIDM5LjUyMjkgMTAyLjUyMyA0NyA9MyA0N0gyN0MxNy40Nz
</html>