Files
delphi-database/templates/base.html
2025-08-08 15:55:15 -05:00

170 lines
7.9 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}{{ title }}{% endblock %}</title>
<!-- Bootstrap 5.3 CDN -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css" rel="stylesheet">
<!-- Custom CSS -->
<link href="/static/css/main.css" rel="stylesheet">
<link href="/static/css/themes.css" rel="stylesheet">
<link href="/static/css/components.css" rel="stylesheet">
{% block extra_head %}{% endblock %}
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<div class="container">
<a class="navbar-brand" href="/">
Delphi Database System
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav me-auto">
<li class="nav-item">
<a class="nav-link" href="/customers" data-shortcut="Alt+C">
<i class="bi bi-people"></i> Customers <small>(Alt+C)</small>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/files" data-shortcut="Alt+F">
<i class="bi bi-folder"></i> Files <small>(Alt+F)</small>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/financial" data-shortcut="Alt+L">
<i class="bi bi-calculator"></i> Ledger <small>(Alt+L)</small>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/documents" data-shortcut="Alt+D">
<i class="bi bi-file-text"></i> Documents <small>(Alt+D)</small>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/import" data-shortcut="Alt+I">
<i class="bi bi-upload"></i> Import <small>(Alt+I)</small>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/search" data-shortcut="Ctrl+F">
<i class="bi bi-search"></i> Search <small>(Ctrl+F)</small>
</a>
</li>
</ul>
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">
<i class="bi bi-person-circle"></i> User
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="/admin" data-shortcut="Alt+A"><i class="bi bi-gear"></i> Admin <small>(Alt+A)</small></a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#" onclick="logout()"><i class="bi bi-box-arrow-right"></i> Logout</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<!-- Main Content -->
<div class="container-fluid mt-3">
{% block content %}{% endblock %}
</div>
<!-- Keyboard Shortcuts Help Modal -->
<div class="modal fade" id="shortcutsModal" tabindex="-1" aria-labelledby="shortcutsModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="shortcutsModalLabel">
<i class="bi bi-keyboard"></i> Keyboard Shortcuts
</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<h6><i class="bi bi-house"></i> Navigation</h6>
<ul class="list-unstyled">
<li><kbd>Alt+C</kbd> - Customers/Rolodex</li>
<li><kbd>Alt+F</kbd> - File Cabinet</li>
<li><kbd>Alt+L</kbd> - Ledger/Financial</li>
<li><kbd>Alt+D</kbd> - Documents/QDROs</li>
<li><kbd>Alt+A</kbd> - Admin Panel</li>
<li><kbd>Ctrl+F</kbd> - Global Search</li>
</ul>
<h6><i class="bi bi-pencil"></i> Forms</h6>
<ul class="list-unstyled">
<li><kbd>Ctrl+N</kbd> - New Record</li>
<li><kbd>Ctrl+S</kbd> - Save</li>
<li><kbd>F9</kbd> - Edit Mode</li>
<li><kbd>F2</kbd> - Complete/Save</li>
<li><kbd>F8</kbd> - Clear/Cancel</li>
<li><kbd>Del</kbd> - Delete Record</li>
<li><kbd>Esc</kbd> - Cancel/Close</li>
</ul>
</div>
<div class="col-md-6">
<h6><i class="bi bi-list"></i> Lists/Tables</h6>
<ul class="list-unstyled">
<li><kbd>↑/↓</kbd> - Navigate records</li>
<li><kbd>Page Up/Down</kbd> - Page navigation</li>
<li><kbd>Home/End</kbd> - First/Last record</li>
<li><kbd>Enter</kbd> - Open/Edit record</li>
<li><kbd>+/-</kbd> - Change dates</li>
</ul>
<h6><i class="bi bi-tools"></i> System</h6>
<ul class="list-unstyled">
<li><kbd>F1</kbd> - Help (this dialog)</li>
<li><kbd>F10</kbd> - Menu</li>
<li><kbd>Alt+M</kbd> - Memo/Notes</li>
<li><kbd>Alt+T</kbd> - Time Tracker</li>
<li><kbd>Alt+B</kbd> - Balance Summary</li>
</ul>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- Custom JavaScript -->
<script src="/static/js/keyboard-shortcuts.js"></script>
<script src="/static/js/main.js"></script>
{% block extra_scripts %}{% endblock %}
<script>
// Initialize keyboard shortcuts on page load
document.addEventListener('DOMContentLoaded', function() {
initializeKeyboardShortcuts();
});
// Logout function
function logout() {
localStorage.removeItem('auth_token');
window.location.href = '/login';
}
</script>
</body>
</html>