rin
Public Open-source lightweight git hosting.
file_new.html · 53 lines · 2.8 KB
Raw
1 {{define "content"}}
2 <div class="container">
3 {{template "repo_header" .}}
4
5 <div class="card" style="max-width:680px;">
6 <div class="card-header" style="padding:0.6rem 0.9rem;">
7 <span class="font-semibold text-sm flex items-center gap-2">
8 {{if eq .Mode "folder"}}{{icon "folder" "size-4"}}{{else}}{{icon "file" "size-4"}}{{end}}
9 {{if eq .Mode "folder"}}{{t .Lang "file.new_folder"}}{{else}}{{t .Lang "file.new_file"}}{{end}}
10 </span>
11 <span class="font-mono text-xs text-muted">{{.Repo.OwnerUsername}}/{{.Repo.Name}}</span>
12 </div>
13 <form method="post" action="{{if eq .Mode "folder"}}/{{.Repo.OwnerUsername}}/{{.Repo.Name}}/new-folder{{else}}/{{.Repo.OwnerUsername}}/{{.Repo.Name}}/new-file{{end}}" class="card-body flex flex-col gap-3">
14 <input type="hidden" name="_csrf" value="{{.CSRFToken}}">
15
16 <div class="flex flex-col gap-1">
17 <label class="text-xs font-semibold" for="path">{{t .Lang "file.path"}}</label>
18 <input id="path" name="path" class="input font-mono" required autofocus value="{{if .SubPath}}{{.SubPath}}/{{end}}" placeholder="{{if eq .Mode "folder"}}{{t .Lang "file.folder_ph"}}{{else}}{{t .Lang "file.path_ph"}}{{end}}">
19 {{if eq .Mode "folder"}}<span class="text-xs text-muted">{{t .Lang "file.folder_hint"}}</span>{{end}}
20 </div>
21
22 <div class="flex flex-col gap-1" style="max-width:240px;">
23 <label class="text-xs font-semibold" for="ref">{{t .Lang "file.branch"}}</label>
24 <select id="ref" name="ref" class="input font-mono">
25 {{range .Branches}}<option value="{{.}}" {{if eq . $.Ref}}selected{{end}}>{{.}}</option>{{end}}
26 </select>
27 </div>
28
29 {{if eq .Mode "file"}}
30 <div class="flex flex-col gap-1">
31 <label class="text-xs font-semibold" for="content">{{t .Lang "file.content"}}</label>
32 <textarea id="content" name="content" class="input font-mono" rows="12" placeholder="{{t .Lang "file.content_ph"}}" style="resize:vertical;min-height:12rem;line-height:1.5;"></textarea>
33 </div>
34 {{end}}
35
36 <div class="flex flex-col gap-1">
37 <label class="text-xs font-semibold" for="message">{{t .Lang "file.message"}}</label>
38 <input id="message" name="message" class="input font-mono" placeholder="{{if eq .Mode "folder"}}Create folder{{else}}Add file{{end}}">
39 </div>
40
41 <div class="flex items-center gap-2 pt-1">
42 <button type="submit" class="btn btn-primary btn-sm">
43 {{icon "check" "size-3.5"}}
44 <span>{{if eq .Mode "folder"}}{{t .Lang "file.create_folder"}}{{else}}{{t .Lang "file.create_file"}}{{end}}</span>
45 </button>
46 <a href="/{{.Repo.OwnerUsername}}/{{.Repo.Name}}/tree/{{.Ref}}{{if .SubPath}}/{{.SubPath}}{{end}}" class="btn btn-ghost btn-sm">
47 <span>{{t .Lang "common.cancel"}}</span>
48 </a>
49 </div>
50 </form>
51 </div>
52 </div>
53 {{end}}