File size: 3,057 Bytes
9d21791
5f2824f
4af310b
9d21791
5f2824f
 
9d21791
 
5f2824f
 
9d21791
5f2824f
 
 
9d21791
5f2824f
9d21791
5f2824f
9d21791
5f2824f
 
 
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>Gemini RAG Assistant</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">Gemini RAG</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>