postform.tmpl 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. {{with .Data}}
  2. <form class="post-form" action="/post" method="POST" enctype="multipart/form-data" target="_self">
  3. <input type="hidden" name="csrf_token" value="{{$.Ctx.CSRFToken}}">
  4. <input type="hidden" name="referrer" value="{{$.Ctx.Referrer}}">
  5. {{if .ReplyContext}}
  6. <input type="hidden" name="reply_to_id" value="{{.ReplyContext.InReplyToID}}" />
  7. <input type="hidden" name="quickreply" value="{{.ReplyContext.QuickReply}}" />
  8. <label for="post-content" class="post-form-title"> Reply to @{{.ReplyContext.InReplyToName}} </label>
  9. {{else}}
  10. <label for="post-content" class="post-form-title"> New post </label>
  11. {{end}}
  12. <a class="post-form-emoji-link" href="/emojis" target="_blank" title="Emoji list (L)" accesskey="L">
  13. emoji list
  14. </a>
  15. <div class="post-form-content-container">
  16. <input id="post-title" name="title" class="post-title" size="34" title="Add post title" value="{{if .ReplyContext}}{{.ReplyContext.ReplySpoiler}}{{end}}" />
  17. <textarea id="post-content" name="content" class="post-content" cols="34" rows="5" accesskey="E" title="Edit post (E)">{{if .ReplyContext}}{{.ReplyContext.ReplyContent}}{{end}}</textarea>
  18. </div>
  19. <div>
  20. {{if .Formats}}
  21. <span class="post-form-field">
  22. {{$defFormat := .DefaultFormat}}
  23. <select id="post-format" name="format" accesskey="F" title="Format (F)">
  24. {{range .Formats}}
  25. <option value="{{.Type}}" {{if eq $defFormat .Type}}selected{{end}}>{{.Name}}</option>
  26. {{end}}
  27. </select>
  28. </span>
  29. {{end}}
  30. <span class="post-form-field">
  31. <select id="post-visilibity" name="visibility" accesskey="S" title="Scope (S)">
  32. <option value="public" {{if eq .DefaultVisibility "public"}}selected{{end}}>Public</option>
  33. <option value="unlisted" {{if eq .DefaultVisibility "unlisted"}}selected{{end}}>Unlisted</option>
  34. <option value="private" {{if eq .DefaultVisibility "private"}}selected{{end}}>Private</option>
  35. <option value="direct" {{if eq .DefaultVisibility "direct"}}selected{{end}}>Direct</option>
  36. </select>
  37. </span>
  38. <span class="post-form-field">
  39. <input type="checkbox" id="nsfw-checkbox" name="is_nsfw" value="true" accesskey="N" title="NSFW (N)">
  40. <label for="nsfw-checkbox"> NSFW </label>
  41. </span>
  42. </div>
  43. <div>
  44. <span class="post-form-field">
  45. <input id="post-file-picker" type="file" name="attachments" multiple accesskey="A" title="Attachments (A)">
  46. <details><summary> Descriptions for media attachments </summary>
  47. {{GenerateMediaDescrForm | Raw}}
  48. </details>
  49. </span>
  50. </div>
  51. <button type="submit" accesskey="P" title="Post (P)"> Post </button>
  52. <button type="reset" title="Reset"> Reset </button>
  53. <input id="edit-status-id" name="edit-status-id" placeholder="Input Status ID for edit" title="Edit ID">
  54. <input id="lang-code" name="lang-code" placeholder="lang" title="Post language (ISO 639) [en, ru, etc..] Default: none" size="4" value="{{if .ReplyContext}}{{.ReplyContext.ReplyLanguage}}{{end}}">
  55. <input type="number" id="expires-in" name="expires-in" title="Post autodeleted after hour(s)" min="0" value="0" size="4">
  56. <input type="datetime-local" id="scheduled" name="scheduled" step=300 title="Schedule your status (timezone UTC+0)">
  57. <details><summary>Poll</summary>
  58. <div>
  59. <input type="number" id="poll-expires-in" name="poll-expires-in" min="1" value="300">
  60. <label for="poll-expires-in"> Expires in (secs) </label>
  61. </div>
  62. <div>
  63. <input type="checkbox" id="poll-hide-totals" name="poll-hide-totals" value="true">
  64. <label for="poll-hide-totals"> Hide vote counts? </label>
  65. </div>
  66. <div>
  67. <input type="checkbox" id="poll-is-multiple" name="poll-is-multiple" value="true">
  68. <label for="poll-is_multiple "> Allow multiple choice? </label>
  69. </div>
  70. <div>{{GeneratePollOptions | Raw}}</div>
  71. </details>
  72. </form>
  73. {{end}}