Initial commit: Lead Scraper - Google Maps
This commit is contained in:
46
views/history.ejs
Normal file
46
views/history.ejs
Normal file
@@ -0,0 +1,46 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" class="bg-dark">
|
||||
<head><%- include('partials/head') %></head>
|
||||
<body class="bg-dark text-gray-200 flex min-h-screen">
|
||||
<% const activePage = 'history'; %>
|
||||
<%- include('partials/sidebar') %>
|
||||
|
||||
<main class="flex-1 ml-56 p-6">
|
||||
<h2 class="text-lg font-bold mb-4">Search History</h2>
|
||||
|
||||
<% if (!searches || searches.length === 0) { %>
|
||||
<div class="flex flex-col items-center justify-center py-24 text-gray-500">
|
||||
<svg class="w-16 h-16 mb-4 text-gray-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>
|
||||
<p class="text-sm font-medium">No searches yet</p>
|
||||
<p class="text-xs mt-1">Your search history will appear here</p>
|
||||
<a href="/" class="mt-4 bg-accent hover:bg-accent-hover text-white px-4 py-2 rounded-lg text-sm transition-colors">Start Searching</a>
|
||||
</div>
|
||||
<% } else { %>
|
||||
<div class="space-y-2">
|
||||
<% searches.forEach(s => { %>
|
||||
<div class="bg-card border border-white/5 rounded-lg p-4 flex items-center justify-between hover:bg-card-hover transition-colors">
|
||||
<div class="flex-1">
|
||||
<p class="text-sm font-medium text-white"><%= s.query %></p>
|
||||
<p class="text-xs text-gray-500 mt-1"><%= s.resultsCount %> results · <%= new Date(s.timestamp).toLocaleString() %></p>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<a href="/?view=<%= encodeURIComponent(s.key) %>"
|
||||
class="bg-accent/20 text-accent hover:bg-accent/30 px-3 py-1.5 rounded text-xs font-medium transition-colors">View</a>
|
||||
<button onclick="deleteSearch('<%= s.key %>', this)"
|
||||
class="bg-red-500/10 text-red-400 hover:bg-red-500/20 px-3 py-1.5 rounded text-xs font-medium transition-colors">Delete</button>
|
||||
</div>
|
||||
</div>
|
||||
<% }) %>
|
||||
</div>
|
||||
<% } %>
|
||||
</main>
|
||||
|
||||
<script>
|
||||
async function deleteSearch(key, btn) {
|
||||
if (!confirm('Delete this search?')) return;
|
||||
await fetch('/api/search/' + encodeURIComponent(key), { method: 'DELETE' });
|
||||
btn.closest('.bg-card').remove();
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user