- Update configuration for production HTTPS domain (devden.hiddenden.cafe) - Add nginx reverse proxy for /api and /auth routes to backend - Create auth-callback.html to handle Microsoft Entra ID OAuth redirect - Fix API_URL in script.js to use same origin (remove :8000 port) - Add cache-busting query parameter (?v=2) to script.js - Update .env.example with HTTPS requirements documentation This resolves Azure Entra ID redirect URI mismatch and enables proper OAuth authentication flow through the nginx frontend proxy. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
69 lines
2.8 KiB
HTML
69 lines
2.8 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>DevDen</title>
|
|
<link rel="stylesheet" href="style.css" />
|
|
</head>
|
|
<body>
|
|
<!-- Login Screen (shown when not authenticated) -->
|
|
<div class="login-screen" id="loginScreen">
|
|
<div class="logo">
|
|
<span class="logo-dev">Dev</span
|
|
><span class="logo-den">Den</span>
|
|
</div>
|
|
<button class="login-btn" id="loginBtn">
|
|
Sign in with Microsoft
|
|
</button>
|
|
<div class="hint">Authenticate to continue</div>
|
|
</div>
|
|
|
|
<!-- Welcome Screen (shown after auth, centered) -->
|
|
<div class="welcome-screen hidden" id="welcomeScreen">
|
|
<div class="logo">
|
|
<span class="logo-dev">Dev</span
|
|
><span class="logo-den">Den</span>
|
|
</div>
|
|
<div class="input-container">
|
|
<div class="input-box">
|
|
<input
|
|
type="text"
|
|
id="welcomeInput"
|
|
placeholder="Ask anything..."
|
|
autocomplete="off"
|
|
/>
|
|
</div>
|
|
<div class="hint">Press <kbd>Enter</kbd> to send</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Chat Screen (shown after first message) -->
|
|
<div class="chat-screen hidden" id="chatScreen">
|
|
<div class="chat-messages" id="chatMessages"></div>
|
|
<div class="input-container chat-input">
|
|
<div class="input-box">
|
|
<input
|
|
type="text"
|
|
id="chatInput"
|
|
placeholder="Ask anything..."
|
|
autocomplete="off"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Debug Panel (hidden by default) -->
|
|
<div id="debugPanel" style="display: none; position: fixed; top: 10px; right: 10px; background: rgba(0,0,0,0.9); color: white; padding: 10px; border-radius: 5px; z-index: 1000; font-family: monospace; font-size: 12px;">
|
|
<h4>Debug Tools</h4>
|
|
<button id="exportLogsBtn" style="margin: 5px; padding: 5px;">Export Frontend Logs</button>
|
|
<button id="clearLogsBtn" style="margin: 5px; padding: 5px;">Clear Logs</button>
|
|
<button id="viewBackendLogsBtn" style="margin: 5px; padding: 5px;">View Backend Logs</button>
|
|
<button id="closeDebugBtn" style="margin: 5px; padding: 5px;">Close</button>
|
|
<div id="debugOutput" style="margin-top: 10px; max-height: 200px; overflow-y: auto;"></div>
|
|
</div>
|
|
|
|
<script src="script.js?v=2"></script>
|
|
</body>
|
|
</html>
|