main / internal/interface/web/templates/new_repo.templ
1.7 KB · Templ Raw
1package templates
2
3import "gitgud/internal/domain"
4
5templ NewRepo(user *domain.User, name, description string, private bool, errMsg string) {
6 @Layout("New repository · gitgud", user) {
7 <div class="mx-auto max-w-lg">
8 <h1 class="mb-1 text-xl font-semibold tracking-tight">Create a new repository</h1>
9 <p class="mb-6 text-sm text-muted">A repository contains all your project's files and history.</p>
10 <div class="card p-6">
11 if errMsg != "" {
12 <div class="mb-4 rounded-md border border-closed/30 bg-closed/10 px-3 py-2 text-sm text-closed">{ errMsg }</div>
13 }
14 <form method="post" action="/new" class="flex flex-col gap-4">
15 @csrfField()
16 <label class="flex flex-col gap-1.5">
17 <span class="text-xs font-medium text-muted">Repository name</span>
18 <input class="input font-mono" type="text" name="name" value={ name } placeholder="my-project" autofocus/>
19 </label>
20 <label class="flex flex-col gap-1.5">
21 <span class="text-xs font-medium text-muted">Description <span class="text-faint">(optional)</span></span>
22 <input class="input" type="text" name="description" value={ description }/>
23 </label>
24 <label class="flex cursor-pointer items-center gap-2.5 rounded-md border border-line bg-panel2 px-3 py-2.5">
25 if private {
26 <input type="checkbox" name="private" class="accent-accent" checked/>
27 } else {
28 <input type="checkbox" name="private" class="accent-accent"/>
29 }
30 <span class="text-sm text-ink">Private</span>
31 <span class="text-xs text-faint">— only you can see it</span>
32 </label>
33 <button class="btn btn-primary mt-1 justify-center" type="submit">Create repository</button>
34 </form>
35 </div>
36 </div>
37 }
38}