File size: 3,070 Bytes
9d21791 5f2824f 4af310b 9d21791 5f2824f 40bb6e9 9d21791 5f2824f 9d21791 5f2824f 9d21791 5f2824f 9d21791 5f2824f 9d21791 5f2824f 1241d10 9d21791 5f2824f 9d21791 5f2824f 9d21791 5f2824f 9d21791 5f2824f 0b8a777 5f2824f 9d21791 5f2824f 4af310b 88cc76a 5f2824f 88cc76a 5f2824f 88cc76a 5f2824f 88cc76a 5f2824f 88cc76a 4af310b 88cc76a 5f2824f 9d21791 5f2824f 9d21791 4af310b 0b8a777 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
<!DOCTYPE html>
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NexusGraph AI - Enterprise RAG</title>
<!-- Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet">
<!-- CSS -->
<link rel="stylesheet" href="/frontend/style.css">
</head>
<body>
<div class="app-container">
<!-- SIDEBAR -->
<aside class="sidebar">
<div class="brand">NexusGraph AI</div>
<button class="new-chat-btn" onclick="newChat()">
<span>+</span> New Chat
</button>
<div class="history-list" id="historyList">
<!-- History items injected by JS -->
</div>
<div class="sidebar-footer">
<a href="/frontend/analytics.html" style="font-size: 0.9rem; color: var(--text-muted);">📊 Analytics
Dashboard</a>
<button onclick="clearHistory()"
style="background:none; border:none; color:var(--text-muted); cursor:pointer; font-size:0.8rem;">Clear
All</button>
</div>
</aside>
<!-- MAIN CONTENT -->
<main class="main-content" id="mainContent">
<!-- TOP BAR (Theme Toggle) -->
<div class="top-bar">
<button class="theme-toggle" id="themeToggleBtn" onclick="toggleTheme()" title="Toggle Dark Mode">
<!-- Icon injected by JS -->
</button>
</div>
<!-- CHAT AREA -->
<div class="chat-container" id="chatContainer">
<!-- Messages injected by JS -->
</div>
<!-- INPUT AREA (Floating) -->
<div class="input-area glass input-card">
<div class="file-row">
<label class="file-upload-label" for="files">
<svg width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
<path
d="M21.44 11.05l-9.19 9.19a6 1.83 6 1.83 0 0 1-2.59-2.59l8.6-8.6a4 1.83 4 1.83 0 0 1 2.59 2.59l-8.6 8.6a2 1.83 2 1.83 0 0 1-2.59-2.59l9.19-9.19">
</path>
</svg>
Upload Documents (PDF/TXT)
</label>
<div id="uploadStatus" style="font-size: 0.8rem; margin-left: auto;"></div>
</div>
<input type="file" id="files" multiple onchange="upload()">
<div class="progress-container">
<div class="progress-bar"></div>
</div>
<div class="textarea-wrapper">
<textarea id="question" placeholder="Ask a question or type 'Summarize'..."
onkeydown="handleKey(event)"></textarea>
<button class="send-btn" onclick="ask()">
<svg width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" viewBox="0 0 24 24">
<line x1="22" y1="2" x2="11" y2="13"></line>
<polygon points="22 2 15 22 11 13 2 9 22 2"></polygon>
</svg>
</button>
</div>
</div>
</main>
</div>
<!-- JS -->
<script src="/frontend/script.js"></script>
</body>
</html> |