ikurotime / gitgud

public
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}