finlongdocqa-viewer / index.html
finlongdocqa-viewer bot
FinLongDocQA viewer: Corpus (1456 markdown reports) + Eval (7527 Q) static Space
8415278
Raw
History Blame Contribute Delete
5.15 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FinLongDocQA Viewer</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="app-shell">
<aside class="app-sidebar">
<header>
<h1>πŸ“ˆ FinLongDocQA</h1>
<p class="subtitle">Financial long-document numerical reasoning</p>
</header>
<div class="controls">
<div class="view-toggle-row">
<div class="sidebar-label">Tab</div>
<div class="view-toggle" id="viewToggle">
<button id="modeCorpusBtn" type="button" data-mode="corpus" class="active">πŸ“š Corpus</button>
<button id="modeEvalBtn" type="button" data-mode="eval">❓ Eval</button>
</div>
</div>
<!-- Corpus controls -->
<div id="corpusControls">
<div class="search-box">
<div class="sidebar-label">Annual report</div>
<input type="text" id="corpusFilter" placeholder="Filter by company ticker..." />
<div class="filter-row">
<select id="yearFilter"><option value="">All years</option></select>
<select id="hasQFilter">
<option value="">All reports</option>
<option value="q">With questions</option>
<option value="noq">No questions</option>
</select>
</div>
<select id="docSelect" size="1"></select>
</div>
<div>
<div class="sidebar-label">Navigate reports</div>
<div class="nav-controls">
<button id="corpusPrevBtn" title="Previous (←)">← Prev</button>
<span id="corpusCounter">0 / 0</span>
<button id="corpusNextBtn" title="Next (β†’)">Next β†’</button>
</div>
</div>
</div>
<!-- Eval controls -->
<div id="evalControls" style="display:none;">
<div class="search-box">
<div class="sidebar-label">Question</div>
<input type="text" id="evalSearch" placeholder="Question / company / id..." />
<div style="display:flex;gap:6px;">
<button id="evalSearchBtn" style="flex:1;">Search</button>
<button id="evalClearBtn" style="flex:1;">Clear</button>
</div>
<select id="typeFilter">
<option value="">All types</option>
<option value="mixed">mixed</option>
<option value="table">table</option>
<option value="text">text</option>
</select>
<select id="qSelect" size="1"></select>
</div>
<div>
<div class="sidebar-label">Navigate questions</div>
<div class="nav-controls">
<button id="evalPrevBtn" title="Previous (←)">← Prev</button>
<span id="evalCounter">0 / 0</span>
<button id="evalNextBtn" title="Next (β†’)">Next β†’</button>
</div>
</div>
</div>
<div class="sidebar-footer" id="sidebarFooter"></div>
</div>
</aside>
<main class="app-main">
<div id="loading">Loading dataset…</div>
<!-- Corpus view -->
<section id="corpusView" style="display:none;">
<div class="doc-meta-card" id="docMetaCard"></div>
<div class="page-nav" id="pageNav" style="display:none;">
<button id="pagePrevBtn" title="Previous page">← Page</button>
<span id="pageCounter">–</span>
<button id="pageNextBtn" title="Next page">Page β†’</button>
<label class="page-jump">Go to page
<select id="pageSelect"></select>
</label>
<span class="page-note">page numbers match the evidence pages cited in the Eval tab</span>
</div>
<div class="md-render" id="mdRender"></div>
</section>
<!-- Eval view -->
<section id="evalView" style="display:none;">
<div class="card" id="evalCard"></div>
</section>
</main>
</div>
<script src="https://cdn.jsdelivr.net/npm/marked@12.0.2/marked.min.js"></script>
<script src="viewer.js"></script>
</body>
</html>