Start reworking project edit page
This commit is contained in:
parent
2fbc1a5d5a
commit
e6dc21f058
|
@ -1,4 +1,4 @@
|
||||||
{{ template "base.html" . }}
|
{{ template "base-2024.html" . }}
|
||||||
|
|
||||||
{{ define "extrahead" }}
|
{{ define "extrahead" }}
|
||||||
{{ template "markdown_previews.html" .TextEditor }}
|
{{ template "markdown_previews.html" .TextEditor }}
|
||||||
|
@ -22,22 +22,71 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "content" }}
|
{{ define "content" }}
|
||||||
<div class="ph3 ph0-ns">
|
<div class="pa3">
|
||||||
{{ if .Editing }}
|
<div class="flex g3">
|
||||||
<h1>Edit {{ .ProjectSettings.Name }}</h1>
|
<form id="project_form" class="edit-form bg--card pa3 flex-fair" method="POST" enctype="multipart/form-data">
|
||||||
{{ else }}
|
{{ csrftoken .Session }}
|
||||||
<h1>Create a new {{ if .ProjectSettings.JamParticipation }}jam {{ end }}project</h1>
|
|
||||||
{{ end }}
|
<h1 class="f4">
|
||||||
<form id="project_form" class="tabbed edit-form" method="POST" enctype="multipart/form-data">
|
{{ if .Editing }}
|
||||||
{{ csrftoken .Session }}
|
Edit {{ .ProjectSettings.Name }}
|
||||||
<div class="tab" data-name="General" data-slug="general">
|
{{ else }}
|
||||||
|
Create a {{ if .ProjectSettings.JamParticipation }}jam {{ end }}project
|
||||||
|
{{ end }}
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
<div class="edit-form-row">
|
<div class="edit-form-row">
|
||||||
<div class="pt-input-ns">Project name:</div>
|
<div class="pt-input-ns">Project title:</div>
|
||||||
<div>
|
<div>
|
||||||
<input required type="text" name="project_name" maxlength="255" class="textbox" value="{{ .ProjectSettings.Name }}">
|
<input required type="text" name="project_name" maxlength="255" class="textbox" value="{{ .ProjectSettings.Name }}">
|
||||||
<span class="note">* Required</span>
|
<span class="note">* Required</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="edit-form-row">
|
||||||
|
<div class="pt-input-ns">Short description:</div>
|
||||||
|
<div>
|
||||||
|
<textarea id="description" required maxlength="140" name="shortdesc">
|
||||||
|
{{- .ProjectSettings.Blurb -}}
|
||||||
|
</textarea>
|
||||||
|
<div class="c--dim f7">Plaintext only. No links or markdown.</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="edit-form-row">
|
||||||
|
<div class="pt-input-ns">Long description:</div>
|
||||||
|
<div>
|
||||||
|
<textarea id="full_description" class="w-100 h5 minh-5 mono lh-copy" name="full_description">
|
||||||
|
{{- .ProjectSettings.Description -}}
|
||||||
|
</textarea>
|
||||||
|
<div class="flex justify-end items-center mt2">
|
||||||
|
<div class="upload_bar flex-grow-1">
|
||||||
|
<div class="instructions">
|
||||||
|
Upload files by dragging & dropping, pasting, or <label class="pointer link" for="file_input">selecting</label> them.
|
||||||
|
</div>
|
||||||
|
<div class="progress flex">
|
||||||
|
<div class="progress_text mr3"></div>
|
||||||
|
<div class="progress_bar flex-grow-1 flex-shrink-1 pa1"><div class=""></div></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="edit-form-row">
|
||||||
|
<div>Light theme logo:</div>
|
||||||
|
<div class="light_logo">
|
||||||
|
{{ template "image_selector.html" imageselectordata "light_logo" .ProjectSettings.LightLogo false }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="edit-form-row">
|
||||||
|
<div>Dark theme logo:</div>
|
||||||
|
<div class="dark_logo">
|
||||||
|
{{ template "image_selector.html" imageselectordata "dark_logo" .ProjectSettings.DarkLogo false }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
|
||||||
<div class="edit-form-row">
|
<div class="edit-form-row">
|
||||||
<div class="pt-input-ns">Status:</div>
|
<div class="pt-input-ns">Status:</div>
|
||||||
<div>
|
<div>
|
||||||
|
@ -100,10 +149,22 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if and .Editing .User.IsStaff }}
|
<div class="edit-form-row">
|
||||||
<div class="edit-form-row">
|
<div class="pt-input-ns">Project links:</div>
|
||||||
<div class="pt-input-ns">Admin settings</div>
|
<div>
|
||||||
|
<textarea class="links" name="links" id="links" maxlength="2048" data-max-chars="2048">
|
||||||
|
{{- .ProjectSettings.LinksText -}}
|
||||||
|
</textarea>
|
||||||
|
<div class="c--dim f7">
|
||||||
|
<div>Relevant links to put on the project page.</div>
|
||||||
|
<div>Format: url [Title] (e.g. <code>http://example.com/ Example Site</code>)</div>
|
||||||
|
<div>(1 per line, 10 max)</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ if and .Editing .User.IsStaff }}
|
||||||
|
<hr>
|
||||||
<div class="edit-form-row">
|
<div class="edit-form-row">
|
||||||
<div>Official:</div>
|
<div>Official:</div>
|
||||||
<div>
|
<div>
|
||||||
|
@ -135,85 +196,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="edit-form-row">
|
|
||||||
<div></div>
|
|
||||||
<div>
|
|
||||||
{{ if .Editing }}
|
|
||||||
<input type="submit" value="Save" />
|
|
||||||
{{ else }}
|
|
||||||
<a class="button submit" href="javascript:;" onclick="gotoTab('description');">Next</a>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tab" data-name="Description" data-slug="description">
|
|
||||||
<div class="edit-form-row">
|
|
||||||
<div class="pt-input-ns">Short description:</div>
|
|
||||||
<div>
|
|
||||||
<textarea id="description" required maxlength="140" name="shortdesc">
|
|
||||||
{{- .ProjectSettings.Blurb -}}
|
|
||||||
</textarea>
|
|
||||||
<div class="c--dim f7">Plaintext only. No links or markdown.</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="edit-form-row">
|
|
||||||
<div class="pt-input-ns">Project links:</div>
|
|
||||||
<div>
|
|
||||||
<textarea class="links" name="links" id="links" maxlength="2048" data-max-chars="2048">
|
|
||||||
{{- .ProjectSettings.LinksText -}}
|
|
||||||
</textarea>
|
|
||||||
<div class="c--dim f7">
|
|
||||||
<div>Relevant links to put on the project page.</div>
|
|
||||||
<div>Format: url [Title] (e.g. <code>http://example.com/ Example Site</code>)</div>
|
|
||||||
<div>(1 per line, 10 max)</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="edit-form-row">
|
|
||||||
<div class="pt-input-ns">Full description:</div>
|
|
||||||
<div>
|
|
||||||
<textarea id="full_description" class="w-100 h5 minh-5 mono lh-copy" name="full_description">
|
|
||||||
{{- .ProjectSettings.Description -}}
|
|
||||||
</textarea>
|
|
||||||
<div class="flex justify-end items-center mt2">
|
|
||||||
<div class="upload_bar flex-grow-1">
|
|
||||||
<div class="instructions">
|
|
||||||
Upload files by dragging & dropping, pasting, or <label class="pointer link" for="file_input">selecting</label> them.
|
|
||||||
</div>
|
|
||||||
<div class="progress flex">
|
|
||||||
<div class="progress_text mr3"></div>
|
|
||||||
<div class="progress_bar flex-grow-1 flex-shrink-1 pa1"><div class=""></div></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="b mt3 mb2">Preview:</div>
|
|
||||||
<div id="desc-preview" class="w-100"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="edit-form-row">
|
|
||||||
<div></div>
|
|
||||||
<div>
|
|
||||||
{{ if .Editing }}
|
|
||||||
<input type="submit" value="Save" />
|
|
||||||
{{ else }}
|
|
||||||
<a class="button submit" href="javascript:;" onclick="gotoTab('assets');">Next</a>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tab" data-name="Assets" data-slug="assets">
|
|
||||||
<div class="edit-form-row">
|
|
||||||
<div>Light theme logo:</div>
|
|
||||||
<div class="light_logo">
|
|
||||||
{{ template "image_selector.html" imageselectordata "light_logo" .ProjectSettings.LightLogo false }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="edit-form-row">
|
|
||||||
<div>Dark theme logo:</div>
|
|
||||||
<div class="dark_logo">
|
|
||||||
{{ template "image_selector.html" imageselectordata "dark_logo" .ProjectSettings.DarkLogo false }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="edit-form-row">
|
<div class="edit-form-row">
|
||||||
<div></div>
|
<div></div>
|
||||||
<div>
|
<div>
|
||||||
|
@ -224,10 +207,15 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</form>
|
||||||
|
<div class="bl b--dimmest"></div>
|
||||||
|
<div class="flex-fair">
|
||||||
|
<div id="desc-preview" class="w-100"></div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
<input type="file" multiple name="file_input" id="file_input" class="dn" />{{/* NOTE(mark): copied NOTE(asaf): Placing this outside the form to avoid submitting it to the server by accident */}}
|
|
||||||
</div>
|
</div>
|
||||||
|
<input type="file" multiple name="file_input" id="file_input" class="dn" />{{/* NOTE(mark): copied NOTE(asaf): Placing this outside the form to avoid submitting it to the server by accident */}}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
let csrf = JSON.parse({{ csrftokenjs .Session }});
|
let csrf = JSON.parse({{ csrftokenjs .Session }});
|
||||||
|
|
||||||
|
|
Reference in New Issue