Personal Git forge.
{{define "content"}} <h2>Visibility</h2> <form method="post" action="visibility" class="inline"> {{ .csrfField }} {{if .Meta.IsPrivate}} <p>This repository is currently private.</p><button type="submit" name="visibility" value="public">Make it public.</button> {{else}} <p>This repository is currently public.</p><button type="submit" name="visibility" value="private">Make it private.</button> {{end}} </form> <h2>Issues.</h2> <form action="issues" method="post"> {{ .csrfField }} <label>You <select name="new-issues" required> <option value="true" {{if .Meta.Config.AllowNewIssues}}selected{{end}}>Allow</option> <option value="false" {{if not .Meta.Config.AllowNewIssues}}selected{{end}}>Forbid</option> </select> new issues.</label> <label>You <select name="anonymous-issues" required> <option value="true" {{if .Meta.Config.AllowAnonymousIssues}}selected{{end}}>Allow</option> <option value="false" {{if not .Meta.Config.AllowAnonymousIssues}}selected{{end}}>Forbid</option> </select> anonymously submitted issues.</label> <button type="submit">Save.</button> </form> <h2>Hackatime.</h2> {{if .user.HackatimeToken}} {{if .Projects}} <p>Pick a project to link to your Hackatime.</p> <form method="post" action="hackatime" class="non-chalant"> {{ .csrfField }} <select name="hackatime_name"> {{if .Meta.HackatimeName}} <option selected value="{{.Meta.HackatimeName}}">> {{.Meta.HackatimeName}}</option> {{else}} <option selected disabled>-- Pick a project. --</option> {{end}} {{range .Projects}} {{if ne .Name $.Meta.HackatimeName}}<option value="{{.Name}}">{{.Name}}</option>{{end}} {{end}} </select> <div style="width: 100%; display: flex; gap: var(--gap);"> <button type="submit" style="width:100%;">Save</button> {{if .Meta.HackatimeName}}<button type="submit" name="unlink" value="true" warning>Unlink</button>{{end}} </div> </form> {{else}} <p>Since we cannot reach the Hackatime API, we cannot allow you to configure your Hackatime project.</p> {{end}} {{else}} <p>You've got to <a href="/auth/hackatime">link your Hackatime</a> before you can link a repo to a project.</p> {{end}} <h2>Delete repository.</h2> <form method="post" action="delete"> {{ .csrfField }} <label>To delete this repo, type <code>{{.Meta.Name}}</code></label> <input type="text" pattern="{{.Meta.Name}}" id="delete-input" name="project" required> <span class="checkbox-span">I am 100% sure.<input type="checkbox" required></span> <button type="submit" error id="delete-submit">DELETE</button> </form> <style> .checkbox-span { display: none; } #delete-input:valid + .checkbox-span { display: flex; flex-direction: row; align-items: center; } #delete-input { width: 100%; } #delete-input:valid + #delete-submit { background-color: green; } </style>{{end}}