-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
157 lines (148 loc) · 5.75 KB
/
Copy pathindex.html
File metadata and controls
157 lines (148 loc) · 5.75 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
151
152
153
154
155
156
157
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; style-src 'self' 'unsafe-inline'">
<title>Git Workspace Manager</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<!-- Git not found overlay -->
<div id="git-error" class="overlay" style="display:none">
<div class="overlay-box">
<h2>Git Not Found</h2>
<p>Git is not installed or not on your PATH.<br>Please install Git and restart the app.</p>
</div>
</div>
<!-- Main layout -->
<div id="app">
<aside id="sidebar">
<div class="sidebar-section">
<div class="sidebar-header">WORKSPACES</div>
<ul id="workspace-list"></ul>
<button id="btn-new-workspace" class="sidebar-btn">+ New Workspace</button>
</div>
<div class="sidebar-section sidebar-bottom">
<button id="btn-registry" class="sidebar-btn">Manage Registry</button>
<button id="btn-import" class="sidebar-btn">Import Workspace</button>
<button id="btn-toggle-log-panel" class="sidebar-btn">Toggle Log</button>
</div>
</aside>
<div id="content-wrapper">
<main id="content">
<!-- Welcome / empty state -->
<div id="view-welcome" class="view">
<div class="empty-state">
<h2>Git Workspace Manager</h2>
<p>Select a workspace from the sidebar, or create a new one to get started.</p>
</div>
</div>
<!-- Workspace view -->
<div id="view-workspace" class="view" style="display:none">
<div class="view-header">
<h2 id="ws-title"></h2>
<div class="view-actions">
<button id="btn-sync" class="btn btn-primary">Sync All</button>
<button id="btn-edit-ws" class="btn">Edit</button>
<button id="btn-export-ws" class="btn">Export</button>
<button id="btn-delete-ws" class="btn btn-danger">Delete</button>
</div>
</div>
<div id="sync-summary" class="sync-summary" style="display:none"></div>
<table id="repo-table">
<thead>
<tr>
<th>Repository</th>
<th>Target Branch</th>
<th>Current Branch</th>
<th>Status</th>
<th>Sync</th>
</tr>
</thead>
<tbody id="repo-tbody"></tbody>
</table>
</div>
<!-- Registry view -->
<div id="view-registry" class="view" style="display:none">
<div class="view-header">
<h2>Repository Registry</h2>
<div class="view-actions">
<button id="btn-add-repo" class="btn btn-primary">Add Repository</button>
<button id="btn-scan-folder" class="btn">Scan Folder</button>
</div>
</div>
<table id="registry-table">
<thead>
<tr>
<th>Repository ID</th>
<th>Local Path</th>
<th>Valid</th>
<th></th>
</tr>
</thead>
<tbody id="registry-tbody"></tbody>
</table>
<div id="registry-empty" class="empty-state" style="display:none">
<p>No repositories registered. Add one or scan a folder to get started.</p>
</div>
</div>
</main>
<!-- Log Terminal -->
<div id="log-panel" class="log-panel" style="display:none">
<div class="log-header">
<span class="log-title">Git Log</span>
<div class="log-actions">
<button id="btn-clear-log" class="btn-log" title="Clear log">Clear</button>
<button id="btn-collapse-log" class="btn-log" title="Collapse">▼</button>
</div>
</div>
<div id="log-content" class="log-content"></div>
</div>
</div><!-- /content-wrapper -->
</div>
<!-- Modal: Create/Edit Workspace -->
<div id="modal-workspace" class="modal-overlay" style="display:none">
<div class="modal">
<h3 id="modal-ws-title">New Workspace</h3>
<label>Name
<input type="text" id="modal-ws-name" placeholder="e.g. Development" />
</label>
<div class="modal-section">
<label>Repositories</label>
<p class="branch-hint" title="When the branch field is cleared, sync will fetch and pull on whatever branch is currently checked out — no checkout occurs. This is the 'always active branch' behavior.">Clear the branch to use the always active branch (hover for details).</p>
<div id="modal-ws-repos" class="modal-repo-list"></div>
</div>
<div class="modal-actions">
<button id="modal-ws-cancel" class="btn">Cancel</button>
<button id="modal-ws-save" class="btn btn-primary">Save</button>
</div>
</div>
</div>
<!-- Modal: Dirty repos warning -->
<div id="modal-dirty" class="modal-overlay" style="display:none">
<div class="modal">
<h3>Uncommitted Changes Detected</h3>
<p>The following repositories have uncommitted changes and will be <strong>skipped</strong>:</p>
<ul id="dirty-repo-list"></ul>
<p class="hint">Commit or stash changes before syncing these repos.</p>
<div class="modal-actions">
<button id="dirty-abort" class="btn">Abort</button>
<button id="dirty-continue" class="btn btn-primary">Skip Dirty & Sync</button>
</div>
</div>
</div>
<!-- Modal: Import result -->
<div id="modal-import" class="modal-overlay" style="display:none">
<div class="modal">
<h3 id="import-title">Import Failed</h3>
<p id="import-message"></p>
<ul id="import-missing-list"></ul>
<div class="modal-actions">
<button id="import-ok" class="btn btn-primary">OK</button>
</div>
</div>
</div>
<script src="renderer.js"></script>
</body>
</html>