426e3af0f6
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
109 lines
4.2 KiB
HTML
109 lines
4.2 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>DocuNova - Intelligent Document Processing</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<!-- Tailwind CSS via CDN -->
|
|
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
|
</head>
|
|
<body class="bg-gray-50 min-h-screen flex flex-col">
|
|
<!-- Navigation Bar -->
|
|
<nav class="bg-white shadow">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 flex justify-between h-16 items-center">
|
|
<!-- Brand -->
|
|
<div class="flex-shrink-0">
|
|
<a href="/" class="text-xl font-bold text-blue-500 hover:text-blue-700">
|
|
DocuNova
|
|
</a>
|
|
</div>
|
|
<!-- Menu items -->
|
|
<div class="flex space-x-4 items-center">
|
|
<a href="/" class="text-gray-700 hover:text-gray-900">Home</a>
|
|
<a href="/upload" class="text-gray-700 hover:text-gray-900">Upload</a>
|
|
<a href="/about" class="text-gray-700 hover:text-gray-900">About</a>
|
|
<a href="/files" class="text-gray-700 hover:text-gray-900">Files</a>
|
|
<!-- Dynamic auth section -->
|
|
<div id="authSection" class="text-gray-700 hover:text-gray-900"></div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Main Content Area -->
|
|
<main class="flex-grow container mx-auto px-4 py-8">
|
|
<h1 class="text-4xl font-bold mb-4">Welcome to DocuNova</h1>
|
|
<p class="text-gray-700 mb-8">
|
|
Your intelligent solution for processing, managing, and organizing documents effortlessly.
|
|
</p>
|
|
<!-- Sample Sections -->
|
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
|
<div class="bg-white shadow rounded p-6">
|
|
<h2 class="text-2xl font-semibold mb-2">Upload Documents</h2>
|
|
<p class="text-gray-600">
|
|
Quickly upload and process your files with our user-friendly interface.
|
|
</p>
|
|
<a href="/upload" class="mt-4 inline-block text-blue-600 hover:text-blue-800">
|
|
Get Started →
|
|
</a>
|
|
</div>
|
|
<div class="bg-white shadow rounded p-6">
|
|
<h2 class="text-2xl font-semibold mb-2">Manage Your Files</h2>
|
|
<p class="text-gray-600">
|
|
View, organize, and collaborate on your processed files in one central hub.
|
|
</p>
|
|
<a href="/files" class="mt-4 inline-block text-blue-600 hover:text-blue-800">
|
|
View Files →
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<!-- Footer -->
|
|
<footer class="bg-white shadow">
|
|
<div class="max-w-7xl mx-auto px-4 py-4 text-center text-gray-600">
|
|
© 2025 DocuNova. All rights reserved.
|
|
</div>
|
|
</footer>
|
|
|
|
<!-- JavaScript for dynamic auth section -->
|
|
<script>
|
|
(async function checkAuth() {
|
|
try {
|
|
const resp = await fetch("/api/whoami");
|
|
if (resp.ok) {
|
|
const data = await resp.json();
|
|
// data.picture is expected to be a Gravatar URL
|
|
const authSection = document.getElementById("authSection");
|
|
authSection.innerHTML = '';
|
|
|
|
const img = document.createElement('img');
|
|
img.src = data.picture;
|
|
img.alt = 'User Avatar';
|
|
img.className = 'inline-block h-8 w-8 rounded-full mr-2';
|
|
|
|
const textNode = document.createTextNode('Logged in as ');
|
|
const strong = document.createElement('strong');
|
|
strong.textContent = data.email;
|
|
|
|
const logoutLink = document.createElement('a');
|
|
logoutLink.href = '/logout';
|
|
logoutLink.className = 'ml-4 text-blue-600 hover:text-blue-800';
|
|
logoutLink.textContent = 'Logout';
|
|
|
|
authSection.appendChild(img);
|
|
authSection.appendChild(textNode);
|
|
authSection.appendChild(strong);
|
|
authSection.appendChild(logoutLink);
|
|
} else {
|
|
document.getElementById("authSection").innerHTML =
|
|
`<a href="/login" class="text-blue-600">Login</a>`;
|
|
}
|
|
} catch (error) {
|
|
document.getElementById("authSection").innerHTML =
|
|
`<a href="/login" class="text-blue-600">Login</a>`;
|
|
}
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html>
|