116 lines
No EOL
5.3 KiB
HTML
116 lines
No EOL
5.3 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>CVS Proxy - Repository Browser</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
<!-- Highlight.js for syntax highlighting -->
|
|
<link id="highlightTheme" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-dark.min.css">
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<header>
|
|
<h1>CVS Repository Browser</h1>
|
|
<div class="header-info">
|
|
<button id="themeToggleBtn" class="btn-icon" title="Toggle dark mode">🌙</button>
|
|
<span id="status" class="status">Connecting...</span>
|
|
</div>
|
|
</header>
|
|
|
|
<main>
|
|
<div class="layout">
|
|
<!-- Sidebar: Tree Navigation -->
|
|
<aside class="sidebar">
|
|
<div class="sidebar-header">
|
|
<h2>Repository</h2>
|
|
</div>
|
|
<div id="treeContainer" class="tree-container">
|
|
<div class="loading">Loading repository...</div>
|
|
</div>
|
|
</aside>
|
|
|
|
<!-- Main Content Area -->
|
|
<section class="main-content">
|
|
<!-- File View -->
|
|
<div id="fileView" class="view hidden">
|
|
<div class="file-header">
|
|
<div class="file-info">
|
|
<h2 id="fileName">Select a file</h2>
|
|
<p id="filePath" class="file-path"></p>
|
|
</div>
|
|
<div class="file-actions">
|
|
<button id="historyBtn" class="btn btn-primary" title="View file history">
|
|
📋 History
|
|
</button>
|
|
<button id="diffBtn" class="btn btn-primary" title="Compare revisions">
|
|
🔀 Diff
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div id="fileContent" class="file-content">
|
|
<pre><code>Loading file content...</code></pre>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- History View -->
|
|
<div id="historyView" class="view hidden">
|
|
<div class="view-header">
|
|
<button id="backFromHistoryBtn" class="btn btn-secondary">← Back</button>
|
|
<h2>Revision History</h2>
|
|
</div>
|
|
<div id="historyContent" class="history-content">
|
|
<div class="loading">Loading history...</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Diff View -->
|
|
<div id="diffView" class="view hidden">
|
|
<div class="view-header">
|
|
<button id="backFromDiffBtn" class="btn btn-secondary">← Back</button>
|
|
<h2>Compare Revisions</h2>
|
|
</div>
|
|
<div class="diff-controls">
|
|
<div class="revision-selector">
|
|
<label for="rev1Select">From Revision:</label>
|
|
<select id="rev1Select"></select>
|
|
</div>
|
|
<div class="revision-selector">
|
|
<label for="rev2Select">To Revision:</label>
|
|
<select id="rev2Select"></select>
|
|
</div>
|
|
<button id="generateDiffBtn" class="btn btn-primary">Generate Diff</button>
|
|
</div>
|
|
<div id="diffContent" class="diff-content">
|
|
<div class="loading">Select revisions and click "Generate Diff"</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Welcome View -->
|
|
<div id="welcomeView" class="view">
|
|
<div class="welcome-content">
|
|
<h2>Welcome to CVS Repository Browser</h2>
|
|
<p>Select a file from the repository tree on the left to view its contents.</p>
|
|
<div class="features">
|
|
<h3>Features:</h3>
|
|
<ul>
|
|
<li>📁 Browse repository structure</li>
|
|
<li>📄 View file contents</li>
|
|
<li>📋 Check revision history</li>
|
|
<li>🔀 Compare file versions</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
|
|
<script src="config.js"></script>
|
|
<script src="api.js"></script>
|
|
<script src="ui.js"></script>
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html> |