Refactor web UI to use HTML frames layout
Replace single-page layout with a frameset: left navigation frame with repo dropdown and page links, right content frame showing the selected page. Split the repo page into separate sub-pages: branches, changes, remote, and manage. Uses <frameset> for maximum compatibility with ancient browsers (Netscape 2+, IE 3+). Clone and delete forms target _top to reload the full frameset when the repo list changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
33
src/main/resources/templates/nav.html
Normal file
33
src/main/resources/templates/nav.html
Normal file
@@ -0,0 +1,33 @@
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<title>Navigation</title>
|
||||
</head>
|
||||
<body>
|
||||
<b>WebGit</b>
|
||||
<hr>
|
||||
|
||||
<form method="get" action="/" target="_top">
|
||||
<select name="repo">
|
||||
<option value="">-- Select repo --</option>
|
||||
<option th:each="r : ${repositories}" th:value="${r}" th:text="${r}" th:selected="${r == selectedRepo}"></option>
|
||||
</select>
|
||||
<br>
|
||||
<input type="submit" value="Go">
|
||||
</form>
|
||||
|
||||
<hr>
|
||||
|
||||
<a href="/repos" target="content">Repositories</a><br>
|
||||
<a href="/clone-form" target="content">Clone New</a><br>
|
||||
|
||||
<th:block th:if="${selectedRepo != null}">
|
||||
<hr>
|
||||
<b th:text="${selectedRepo}"></b><br>
|
||||
<a th:href="@{/repo/{name}/branches(name=${selectedRepo})}" target="content">Branches</a><br>
|
||||
<a th:href="@{/repo/{name}/changes(name=${selectedRepo})}" target="content">Changes</a><br>
|
||||
<a th:href="@{/repo/{name}/remote(name=${selectedRepo})}" target="content">Remote</a><br>
|
||||
<a th:href="@{/repo/{name}/manage(name=${selectedRepo})}" target="content">Manage</a><br>
|
||||
</th:block>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user