file_new.html
·
53 строки
·
2.8 KB
| 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}} |