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>