File size: 4,971 Bytes
083e043 3fa49b3 083e043 3fa49b3 083e043 3fa49b3 083e043 3faaf5e 3fa49b3 083e043 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PsyConnect - Database Explorer</title>
<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 src="https://unpkg.com/feather-icons"></script>
<script src="components/navbar.js"></script>
<script src="components/footer.js"></script>
</head>
<body class="bg-gray-50 min-h-screen flex flex-col">
<custom-navbar></custom-navbar>
<main class="flex-grow container mx-auto px-4 py-8">
<div class="max-w-4xl mx-auto">
<div class="bg-white rounded-xl shadow-md p-6 mb-8">
<h1 class="text-3xl font-bold text-gray-800 mb-6">Database Explorer</h1>
<div class="mb-8">
<div class="relative">
<input type="text" id="searchInput" placeholder="Search tables or records..."
class="w-full px-4 py-3 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent">
<i data-feather="search" class="absolute right-3 top-3 text-gray-400"></i>
</div>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-8">
<div class="bg-indigo-50 rounded-lg p-6">
<div class="flex items-center mb-4">
<div class="bg-indigo-100 p-3 rounded-full mr-4">
<i data-feather="database" class="text-indigo-600"></i>
</div>
<h2 class="text-xl font-semibold text-gray-800">Database Info</h2>
</div>
<div class="space-y-2 text-gray-600">
<p><span class="font-medium">Host:</span> pg-90c016a-mozmail-fead.i.aivencloud.com</p>
<p><span class="font-medium">Port:</span> 15173</p>
<p><span class="font-medium">User:</span> avnadmin</p>
</div>
</div>
<div class="bg-green-50 rounded-lg p-6">
<div class="flex items-center mb-4">
<div class="bg-green-100 p-3 rounded-full mr-4">
<i data-feather="activity" class="text-green-600"></i>
</div>
<h2 class="text-xl font-semibold text-gray-800">Quick Actions</h2>
</div>
<div class="grid grid-cols-2 gap-3">
<button class="bg-white text-indigo-600 px-4 py-2 rounded-lg border border-indigo-100 hover:bg-indigo-50 transition">
View Tables
</button>
<button class="bg-white text-green-600 px-4 py-2 rounded-lg border border-green-100 hover:bg-green-50 transition">
Run Query
</button>
<button class="bg-white text-purple-600 px-4 py-2 rounded-lg border border-purple-100 hover:bg-purple-50 transition">
Export Data
</button>
<button class="bg-white text-blue-600 px-4 py-2 rounded-lg border border-blue-100 hover:bg-blue-50 transition">
Schema Diagram
</button>
</div>
</div>
</div>
<div class="bg-white rounded-xl shadow-sm border border-gray-200 overflow-hidden">
<div class="px-6 py-4 border-b border-gray-200 bg-gray-50">
<h2 class="text-lg font-semibold text-gray-800">Documents Table</h2>
</div>
<div class="divide-y divide-gray-200">
<!-- Documents table will be dynamically inserted here -->
</div>
<div id="loading" class="p-6 text-center text-gray-500">
<i data-feather="loader" class="animate-spin inline-block"></i>
<span class="ml-2">Loading documents...</span>
</div>
</div>
</div>
</div>
</main>
<custom-footer></custom-footer>
<script>
feather.replace();
document.getElementById('searchInput').addEventListener('input', function(e) {
console.log('Searching for:', e.target.value);
// Implement search functionality here
});
</script>
<script src="script.js"></script>
<script src="components/documents-table.js"></script>
</body>
</html> |