cvs-proxy/ui/index.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>