Show local time for start time

This commit is contained in:
Cory Sanin 2025-01-14 01:19:41 -05:00
parent 16e62ff901
commit d4b357ab20
6 changed files with 32 additions and 5 deletions

12
scripts/timezone.js Normal file
View File

@ -0,0 +1,12 @@
window.formatTime = function (timeStr) {
const date = new Date(timeStr);
return date.toLocaleString();
}
document.addEventListener('DOMContentLoaded', function () {
const elements = document.getElementsByClassName('to-local-time');
for (let element of elements) {
const innerText = element.innerText;
element.replaceChild(document.createTextNode(window.formatTime(innerText)), element.firstChild);
}
});

View File

@ -134,12 +134,13 @@ class DB {
await this.logChunk.sync(); await this.logChunk.sync();
} }
public async createBuild(repo: string, commit: string, patch: string, distro: string): Promise<number> { public async createBuild(repo: string, commit: string, patch: string, distro: string, dependencies: string): Promise<number> {
const buildRec = await this.build.create({ const buildRec = await this.build.create({
repo, repo,
commit: commit || null, commit: commit || null,
patch: patch || null, patch: patch || null,
distro distro,
dependencies
}); });
return buildRec.id; return buildRec.id;
} }

View File

@ -77,7 +77,13 @@ class Web {
}); });
app.post('/build/?', async (req, res) => { app.post('/build/?', async (req, res) => {
const buildId = await this.db.createBuild(req.body.repo, req.body.commit || null, req.body.patch || null, req.body.distro); const buildId = await this.db.createBuild(
req.body.repo,
req.body.commit || null,
req.body.patch || null,
req.body.distro || 'arch',
req.body.dependencies || 'stable'
);
res.redirect(`/build/${buildId}`); res.redirect(`/build/${buildId}`);
this.buildController.triggerBuild(); this.buildController.triggerBuild();
}); });

View File

@ -18,6 +18,12 @@
<option value="arch">Arch</option> <option value="arch">Arch</option>
<option value="artix">Artix</option> <option value="artix">Artix</option>
</select> </select>
<label for="dependsTxt">Dependencies</label>
<select name="dependencies" id="dependsTxt" required>
<option value="stable">Stable</option>
<option value="testing">Testing</option>
<option value="staging">Staging</option>
</select>
<div class="span-2"><button type="submit">Build</button></div> <div class="span-2"><button type="submit">Build</button></div>
</form> </form>
</div> </div>

View File

@ -16,7 +16,7 @@
<label>Patch</label> <span><% if (build.patch) { %><a href="/build/<%= build.id %>/patch">patch file</a><% } else { %>none<% } %></span> <label>Patch</label> <span><% if (build.patch) { %><a href="/build/<%= build.id %>/patch">patch file</a><% } else { %>none<% } %></span>
<label>Distro</label> <span><%= build.distro %></span> <label>Distro</label> <span><%= build.distro %></span>
<label>Dependencies</label> <span><%= build.dependencies %></span> <label>Dependencies</label> <span><%= build.dependencies %></span>
<label>Start time</label> <span><%= build.startTime %></span> <label>Start time</label> <span class="to-local-time"><%= build.startTime %></span>
</div> </div>
<p><a href="/build/<%= build.id %>/logs">Full logs</a></p> <p><a href="/build/<%= build.id %>/logs">Full logs</a></p>
<div class="logs" id="logs"> <div class="logs" id="logs">
@ -32,6 +32,7 @@
<% } %> <% } %>
</div> </div>
<%- include("footer", locals) %> <%- include("footer", locals) %>
<script src="/assets/js/timezone.js?v1" nonce="<%= cspNonce %>"></script>
<% if (!ended) { %> <% if (!ended) { %>
<script src="/assets/js/build.js?v1" nonce="<%= cspNonce %>"></script> <script src="/assets/js/build.js?v1" nonce="<%= cspNonce %>"></script>
<% } %> <% } %>

View File

@ -21,7 +21,7 @@
<tr> <tr>
<td><a href="/build/<%= build.id %>"><%= build.repo %></a></td> <td><a href="/build/<%= build.id %>"><%= build.repo %></a></td>
<td><%= build.distro %></td> <td><%= build.distro %></td>
<td><%= build.startTime %></td> <td class="to-local-time"><%= build.startTime %></td>
<td>TODO</td> <td>TODO</td>
<td><%= build.status %></td> <td><%= build.status %></td>
</tr> </tr>
@ -29,5 +29,6 @@
</table> </table>
</div> </div>
<%- include("footer", locals) %> <%- include("footer", locals) %>
<script src="/assets/js/timezone.js?v1" nonce="<%= cspNonce %>"></script>
</body> </body>
</html> </html>