YashVardhan-coder
Fix post-deployment issues: admin iframe login, false positives, responsive UI, chat memory, stop generation button, stream cut-offs, and alert retries
cb3d641 | <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>GuardrailShield AI - Chat Client</title> | |
| <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap" rel="stylesheet"> | |
| <!-- Highlight.js Syntax Highlighter --> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlight.js@11.9.0/styles/github-dark.min.css"> | |
| <script src="https://cdn.jsdelivr.net/npm/highlight.js@11.9.0/highlight.min.js"></script> | |
| <!-- Marked.js Markdown Parser --> | |
| <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script> | |
| <link rel="stylesheet" href="/static/css/chat.css"> | |
| </head> | |
| <body> | |
| <div class="app-wrapper"> | |
| <!-- Slim Left Sidebar --> | |
| <aside class="sidebar"> | |
| <div class="sidebar-header"> | |
| <button class="btn btn-new-chat" onclick="clearChat()">➕ New chat</button> | |
| </div> | |
| <div class="sidebar-menu" id="historyList"> | |
| <!-- Dynamic history sessions are rendered here --> | |
| </div> | |
| <div class="sidebar-footer"> | |
| <a href="/login" class="btn btn-admin-link">⚙️ Admin Portal</a> | |
| </div> | |
| </aside> | |
| <!-- Main Workspace --> | |
| <main class="chat-main"> | |
| <!-- Header bar for Model selector --> | |
| <header class="chat-header-bar"> | |
| <div class="model-badge"> | |
| <span>Ollama</span> | |
| <span class="version-tag">gemma:2b</span> | |
| </div> | |
| </header> | |
| <!-- Conversation container --> | |
| <div class="chat-viewport"> | |
| <!-- Center welcome block --> | |
| <div class="welcome-container" id="welcomeContainer"> | |
| <div class="circle-logo">AI</div> | |
| <h1>How can I help you today?</h1> | |
| </div> | |
| <!-- Active message thread --> | |
| <div class="chat-thread" id="chatThread" style="display: none;"></div> | |
| </div> | |
| <!-- Pill-shaped chat input bar --> | |
| <footer class="chat-footer-input"> | |
| <div class="input-pill"> | |
| <textarea id="userInput" placeholder="Message GuardrailShield..." rows="1"></textarea> | |
| <button class="btn-send" id="sendBtn" onclick="sendMessage()"> | |
| <svg viewBox="0 0 24 24" width="18" height="18" fill="currentColor"> | |
| <path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z" /> | |
| </svg> | |
| </button> | |
| </div> | |
| <div class="disclaimer-text">GuardrailShield AI can make mistakes. Verify important info.</div> | |
| </footer> | |
| </main> | |
| </div> | |
| <script src="/static/js/chat.js"></script> | |
| </body> | |
| </html> |