107 lines
4.8 KiB
HTML
107 lines
4.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<title>{% block title %}DocuNova{% endblock %}</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<!-- Tailwind CSS or other global CSS references -->
|
|
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
|
|
<link rel="stylesheet" href="/static/styles.css" />
|
|
{% block head_extra %}{% endblock %}
|
|
</head>
|
|
|
|
<body class="bg-gray-50 min-h-screen flex flex-col">
|
|
<!-- Global Nav -->
|
|
<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 + Icon -->
|
|
<div class="flex-shrink-0">
|
|
<a href="/" class="inline-flex items-center space-x-2">
|
|
<!-- Icon -->
|
|
<span
|
|
class="material-symbols-light--folder-managed-outline text-blue-500"
|
|
style="width: 24px; height: 24px;"
|
|
></span>
|
|
<!-- Text -->
|
|
<span class="text-xl font-bold text-blue-500 hover:text-blue-700">
|
|
DocuNova
|
|
</span>
|
|
</a>
|
|
</div>
|
|
|
|
<!-- Menu Items -->
|
|
<div class="hidden md: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="/files" class="text-gray-700 hover:text-gray-900">Files</a>
|
|
<a href="/status" class="text-gray-700 hover:text-gray-900">Status</a>
|
|
|
|
<!-- Integrations Dropdown -->
|
|
<div class="relative inline-block text-left" x-data="{ open: false }">
|
|
<button @click="open = !open" class="text-gray-700 hover:text-gray-900 inline-flex items-center">
|
|
Integrations
|
|
<svg class="ml-1 h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor">
|
|
<path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" />
|
|
</svg>
|
|
</button>
|
|
|
|
<div
|
|
x-show="open"
|
|
@click.away="open = false"
|
|
class="origin-top-right absolute right-0 mt-2 w-48 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none"
|
|
x-transition:enter="transition ease-out duration-100"
|
|
x-transition:enter-start="transform opacity-0 scale-95"
|
|
x-transition:enter-end="transform opacity-100 scale-100"
|
|
x-transition:leave="transition ease-in duration-75"
|
|
x-transition:leave-start="transform opacity-100 scale-100"
|
|
x-transition:leave-end="transform opacity-0 scale-95"
|
|
>
|
|
<div class="py-1">
|
|
<a href="/onedrive-setup" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 hover:text-gray-900">OneDrive Setup</a>
|
|
<a href="/dropbox-setup" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100 hover:text-gray-900">Dropbox Setup</a>
|
|
<!-- Add other integration setup links here -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<a href="/about" class="text-gray-700 hover:text-gray-900">About</a>
|
|
|
|
<!-- Dynamic Auth Section -->
|
|
<div id="authSection" class="text-gray-700 hover:text-gray-900"></div>
|
|
</div>
|
|
|
|
<!-- Mobile menu button -->
|
|
<div class="md:hidden">
|
|
<button type="button" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500" aria-expanded="false">
|
|
<span class="sr-only">Open main menu</span>
|
|
<svg class="block h-6 w-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Main Content -->
|
|
<main class="flex-grow">
|
|
{% block content %}{% endblock %}
|
|
</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>
|
|
|
|
<!-- Alpine.js for dropdown functionality -->
|
|
<script src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js" defer></script>
|
|
<!-- Common JS (shared) -->
|
|
<script src="/static/js/common.js"></script>
|
|
|
|
<!-- Let child pages define extra scripts if needed -->
|
|
{% block scripts %}{% endblock %}
|
|
</body>
|
|
</html>
|