wash-dev-site / components /dashboard.html
A634579's picture
logo
b3dd2fc verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Dashboard - Wash</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<link rel="stylesheet" href="../style.css">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: {
50: '#eff6ff',
100: '#dbeafe',
500: '#3b82f6',
600: '#2563eb',
700: '#1d4ed8'
}
}
}
}
}
</script>
</head>
<body class="bg-gray-50">
<div class="flex h-screen">
<!-- Sidebar -->
<div class="w-64 bg-white border-r border-gray-200 flex flex-col">
<!-- Logo -->
<div class="p-6 border-b border-gray-200">
<logo-player></logo-player>
<div class="text-sm text-gray-500 mt-1">Clean docs for LLMs</div>
</div>
<!-- Navigation -->
<nav class="flex-1 p-4">
<ul class="space-y-2">
<li>
<a href="#" class="flex items-center px-3 py-2 text-sm font-medium text-primary-600 bg-primary-50 rounded-md">
<i data-feather="home" class="w-5 h-5 mr-3"></i>
Dashboard
</a>
</li>
<li>
<a href="usage.html" class="flex items-center px-3 py-2 text-sm font-medium text-gray-600 hover:text-gray-900 hover:bg-gray-50 rounded-md transition">
<i data-feather="activity" class="w-5 h-5 mr-3"></i>
Usage
</a>
</li>
<li>
<a href="api-keys.html" class="flex items-center px-3 py-2 text-sm font-medium text-gray-600 hover:text-gray-900 hover:bg-gray-50 rounded-md transition">
<i data-feather="key" class="w-5 h-5 mr-3"></i>
API Keys
</a>
</li>
<li>
<a href="#" class="flex items-center px-3 py-2 text-sm font-medium text-gray-600 hover:text-gray-900 hover:bg-gray-50 rounded-md transition">
<i data-feather="credit-card" class="w-5 h-5 mr-3"></i>
Billing
</a>
</li>
<li>
<a href="#" class="flex items-center px-3 py-2 text-sm font-medium text-gray-600 hover:text-gray-900 hover:bg-gray-50 rounded-md transition">
<i data-feather="file-text" class="w-5 h-5 mr-3"></i>
Logs
</a>
</li>
</ul>
</nav>
<!-- User info -->
<div class="p-4 border-t border-gray-200">
<div class="flex items-center">
<div class="w-8 h-8 bg-primary-100 rounded-full flex items-center justify-center">
<span class="text-primary-600 text-sm font-medium">JD</span>
</div>
<div class="ml-3">
<div class="text-sm font-medium text-gray-900">john@company.com</div>
<div class="text-xs text-gray-500">Starter Plan</div>
</div>
</div>
</div>
</div>
<!-- Main Panel -->
<div class="flex-1 flex flex-col overflow-hidden">
<!-- Top Bar -->
<div class="bg-white border-b border-gray-200 px-6 py-4">
<div class="flex items-center justify-between">
<div class="flex items-center space-x-6">
<div>
<span class="text-sm text-gray-600">Credits left:</span>
<span class="font-semibold text-gray-900">4,237 / 5,000</span>
<span class="text-sm text-gray-500">this month</span>
</div>
<div>
<span class="text-sm text-gray-600">Current plan:</span>
<span class="font-semibold text-gray-900">Starter – $49/mo</span>
</div>
</div>
<button class="bg-primary-600 text-white px-6 py-2 rounded-lg font-semibold hover:bg-primary-700 transition">
Upgrade – lock 50% discount
</button>
</div>
</div>
<!-- Content Area -->
<div class="flex-1 overflow-auto p-6">
<!-- Drop Zone (shown when empty) -->
<div id="drop-zone" class="drop-zone border-2 border-dashed border-gray-300 rounded-lg p-12 text-center bg-white mb-6">
<div class="mx-auto w-16 h-16 bg-gray-100 rounded-full flex items-center justify-center mb-4">
<i data-feather="upload-cloud" class="w-8 h-8 text-gray-400"></i>
</div>
<h3 class="text-lg font-semibold text-gray-900 mb-2">Drag & drop files here</h3>
<p class="text-gray-600 mb-4">or click to upload</p>
<p class="text-sm text-gray-500 mb-6">Supports PDF, DOCX, PPTX, images, and text files</p>
<input type="file" id="file-input" multiple class="hidden" accept=".pdf,.docx,.pptx,.jpg,.jpeg,.png,.gif,.txt">
<button onclick="document.getElementById('file-input').click()" class="bg-primary-600 text-white px-6 py-2 rounded-lg font-medium hover:bg-primary-700 transition">
Choose Files
</button>
</div>
<!-- Jobs Table -->
<div class="bg-white rounded-lg shadow-sm border border-gray-200">
<div class="px-6 py-4 border-b border-gray-200">
<h3 class="text-lg font-semibold text-gray-900">Recent Jobs</h3>
</div>
<div class="overflow-x-auto">
<table class="w-full">
<thead class="bg-gray-50 border-b border-gray-200">
<tr>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">File name</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Status</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Threats found</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Time</th>
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Output</th>
</tr>
</thead>
<tbody id="jobs-table" class="bg-white divide-y divide-gray-200">
<!-- Jobs will be populated here -->
</tbody>
</table>
</div>
<div class="px-6 py-4 border-t border-gray-200 flex justify-between items-center">
<button class="text-primary-600 hover:text-primary-700 font-medium">Load more</button>
<button class="text-gray-600 hover:text-gray-700 font-medium">Export CSV</button>
</div>
</div>
</div>
</div>
<!-- Right Panel (Job Details) -->
<div id="job-details-panel" class="w-96 bg-white border-l border-gray-200 transform translate-x-full transition-transform duration-300 ease-in-out overflow-auto">
<div class="p-6">
<div class="flex items-center justify-between mb-6">
<h3 class="text-lg font-semibold text-gray-900">Job Details</h3>
<button onclick="closeJobDetails()" class="text-gray-400 hover:text-gray-600">
<i data-feather="x" class="w-6 h-6"></i>
</button>
</div>
<div id="job-details-content">
<div class="text-center text-gray-500 py-8">
<i data-feather="file" class="w-12 h-12 mx-auto mb-4 text-gray-300"></i>
<p>Select a job to view details</p>
</div>
</div>
</div>
</div>
</div>
<script src="../components/logo-player.js"></script>
<script src="../script.js"></script>
<script src="dashboard.js"></script>
<script>feather.replace();</script>
</body>
</html>