Repository navigation
Expand file tree
/
Copy pathknowledge.html
More file actions
150 lines (133 loc) · 6.65 KB
/
Copy pathknowledge.html
File metadata and controls
150 lines (133 loc) · 6.65 KB
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<!DOCTYPE html>
<html lang="en">
<head>
<script>
if (!localStorage.getItem("cortexa-logged-in")) {
window.location.href = "login.html";
}
</script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cortexa - Knowledge</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;600;700&family=Google+Sans+Text:wght@400;500;600;700&family=Google+Sans+Mono:wght@400;500&family=Roboto:wght@300;400;500;700&family=Roboto+Mono:wght@400;500&display=swap"
>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="app-shell">
<aside class="side-rail" id="appNav" aria-label="Primary sidebar">
<div class="brand-lockup">
<p class="eyebrow">Study Agent</p>
<h1 class="brand-wordmark">Cortexa</h1>
</div>
<nav class="rail-nav" aria-label="Primary">
<a class="rail-link" href="index.html">Dashboard</a>
<a class="rail-link" href="planner.html">Planner</a>
<a class="rail-link active" href="knowledge.html">Knowledge</a>
<a class="rail-link" href="quiz.html">Quiz Lab</a>
<a class="rail-link" href="target.html">Target</a>
<a class="rail-link" href="research.html">Research</a>
<a class="rail-link" href="#" id="logoutBtn" style="color: #f28b82; margin-top: 12px; border-top: 1px solid rgba(255,255,255,0.06); border-radius: 0; padding-top: 14px;">Sign Out</a>
</nav>
<div class="rail-summary">
<p class="summary-label">Vault status</p>
<strong id="sidebarNoteCount">0 notes indexed</strong>
<span id="sidebarUploadState">Upload files to build your study memory</span>
<button class="ghost-button" id="openUploadButton" type="button">Add new notes</button>
</div>
</aside>
<button class="nav-overlay" id="navOverlay" type="button" aria-label="Close menu"></button>
<main class="workspace">
<header class="top-bar">
<button class="menu-toggle" id="menuToggle" type="button" aria-controls="appNav" aria-expanded="true" aria-label="Close menu">
<span></span>
<span></span>
<span></span>
</button>
<label class="search-shell" for="knowledgePrompt">
<span class="search-icon" aria-hidden="true">⌕</span>
<input
id="knowledgePrompt"
type="text"
placeholder="Search topics or ask questions about your documents..."
aria-label="Knowledge prompt"
>
</label>
<div class="top-actions">
<span class="status-pill" id="backendStatusPill">Backend required</span>
<span class="status-pill status-live">PDF + DOCX aware</span>
<div class="avatar" id="userAvatar" title="Google Account">G</div>
</div>
</header>
<section class="page-header card">
<div>
<span class="eyebrow">Knowledge vault</span>
<h2>Your study material, structured for retrieval</h2>
<p>Upload, remove, and re-index your notes so Cortexa can ground answers in your real study material.</p>
</div>
<span class="tag tag-blue" id="knowledgeSummaryBadge">0 files</span>
</section>
<section class="page-grid">
<article class="panel card panel-main">
<div class="panel-header">
<div>
<span class="eyebrow">Add notes</span>
<h3>Upload PDFs, DOCX, TXT, CSV, or Markdown</h3>
</div>
<span class="tag">Local vault</span>
</div>
<div id="dropZone" style="border: 2px dashed var(--border, #3c4043); border-radius: 12px; padding: 28px 20px; text-align: center; cursor: pointer; transition: border-color 0.2s, background 0.2s; margin-bottom: 12px;" onclick="document.getElementById('fileInput').click()">
<input class="file-input" id="fileInput" type="file" multiple accept=".pdf,.docx,.txt,.md,.markdown,.csv,.json,.rtf" style="display:none">
<div style="font-size: 2rem; margin-bottom: 8px;">📄</div>
<div style="font-weight: 600; margin-bottom: 4px;">Drop files here or click to browse</div>
<div style="font-size: 0.83rem; color: var(--text-soft, #9aa0a6);">PDF, DOCX, TXT, Markdown, CSV — up to 10 files, 20 MB each</div>
<div id="selectedFilesLabel" style="margin-top: 10px; font-size: 0.88rem; font-weight: 500; color: #1a73e8;">No files selected</div>
</div>
<div style="display: flex; gap: 8px; margin-bottom: 12px;">
<button class="primary-button" id="uploadFilesButton" type="button">Upload and index</button>
<button class="ghost-button" type="button" onclick="document.getElementById('fileInput').click()">Browse files</button>
</div>
<div class="status-banner" id="uploadStatus">
Connecting to backend...
</div>
<div class="panel-header section-gap">
<div>
<span class="eyebrow">Indexed notes</span>
<h3>Your current study memory</h3>
</div>
<span class="tag" id="docCountBadge">0 files</span>
</div>
<div class="doc-list" id="documentList"></div>
</article>
<article class="panel card panel-side">
<div class="panel-header">
<div>
<span class="eyebrow">How Cortexa reads notes</span>
<h3>Backend note understanding</h3>
</div>
</div>
<ul class="mini-list">
<li>Parses PDF, DOCX, TXT, Markdown, CSV, JSON, and RTF note files</li>
<li>Extracts text, dates, and high-signal topics for grounded retrieval</li>
<li>Builds short summaries and searchable snippets after upload</li>
<li>Allows offline keyword searching and generates dynamic practice quizzes</li>
</ul>
<div class="topic-pills section-gap" id="knowledgeTopicPills">
<span class="tag">Upload notes to see topics</span>
</div>
</article>
</section>
</main>
</div>
<!-- Firebase Compat SDKs (loaded synchronously to avoid timing race conditions) -->
<script src="https://www.gstatic.com/firebasejs/10.12.2/firebase-app-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/10.12.2/firebase-auth-compat.js"></script>
<script src="https://www.gstatic.com/firebasejs/10.12.2/firebase-firestore-compat.js"></script>
<script src="firebase-init.js"></script>
<script src="app.js"></script>
</body>
</html>