{{ define "thread/post" }}
<div class="postarea">
    {{ if .Thread }}
    <form id="postform"
          action="/{{.Board.ShortName}}/{{.Thread.ID}}/reply.sh"
          method="POST"
          enctype="multipart/form-data">
    {{ else }}
    <form id="postform"
          action="/{{.Board.ShortName}}/new_thread.sh"
          method="POST"
          enctype="multipart/form-data">
    {{ end }}
        <table>
            <tbody>
            {{ if .PreviousError }}
            <tr>
                <td class="postblock">
                    Error
                </td>
                <td>
                    {{.PreviousError}}
                </td>
            </tr>
            {{ end }}
            <tr>
                <td class="postblock">
                    TripCode
                </td>
                <td>
                    <input type="text" name="tripcode" size=48 placeholder="Anonymous"/>
                    <input
                            type="hidden"
                            name="csrf_token"
                            value="{{ .CSRFToken }}" />
                </td>
            </tr>
            <tr>
                <td class="postblock">
                    Comment
                </td>
                <td>
                        <textarea
                                name="text"
                                placeholder="your comment"
                                rows="4"
                                cols="48"
                                minlength="5"
                                required
                        ></textarea>
                </td>
            </tr>
            <tr>
                <td class="postblock">
                    Image File
                </td>
                <td>
                    <input type="file" name="image" />
                </td>
            </tr>
            {{ if ne .Config.Captcha.Mode "disabled" }}
            <tr>
                <td class="postblock">
                    Captcha
                </td>
                <td>
                    {{ $captchaId := makeCaptcha }}
                    <img id="image" src="/captcha/{{$captchaId}}.png" alt="Captcha Image"/>
                    <audio id=audio controls style="display:none" src="/captcha/{{$captchaId}}.wav" preload=none>
                        You browser doesn't support audio.
                        <a href="/captcha/download/{{$captchaId}}.wav">Download file</a> to play it in the external player.
                    </audio>
                    <br>
                    <input type="text" name="captchaSolution" size=48 />
                    <input type="hidden"
                           name="captchaId"
                           value="{{$captchaId}}"/>
                </td>
            </tr>
            {{ end }}
            {{ if (isModSession .Session) }}
            <tr>
                <td class="postblock">
                    Mod Post
                </td>
                <td>
                    <label>
                        <input type="checkbox" name="modpost"/>Mark as Mod Post
                    </label>
                    {{ if (isAdminSession .Session) }}
                    <label>
                        <input type="checkbox" name="adminpost"/>Mark as Admin Post
                    </label>
                    {{ end }}
                </td>
            </tr>
            {{ end }}
            <tr>
                <td class="postblock">

                </td>
                <td>
                    <input type="submit" value="Post" />
                </td>
            </tr>
            {{ if .Board.Metadata.rules }}
            <tr>
                <td class="postblock">
                    Rules
                </td>
                <td class="rules">
                    {{ renderText .Board.Metadata.rules }}
                </td>
            </tr>
            {{ end }}
            </tbody>
        </table>
    </form>
</div>
<hr />
{{ end }}

{{ define "thread/reply" }}
    <label><span class="postertrip">
        {{ if .Reply.Metadata.trip }}
            {{ .Reply.Metadata.trip}}
        {{ else }}
            Anonymous
        {{ end }}
        {{ if .Reply.Metadata.modpost }}
            (Mod)
        {{ end }}
        {{ if .Reply.Metadata.adminpost }}
            [Admin]
        {{ end }}
    </span></label>
    <span class="date">{{dateFromID .Reply.ID | formatDate}}</span>
    {{ if .Session }}
    {{ if eq (.Session.CAttr "mode") "admin" }}
    <form class="delform" action="/mod/del_reply.sh" method="POST">
        <input
                type="hidden"
                name="csrf_token"
                value="{{ .CSRF }}" />
        <input
                type="hidden"
                name="reply_id"
                value="{{ .Reply.ID }}" />
        <input
                type="hidden"
                name="thread_id"
                value="{{ .ThreadID }}" />
        <input
                type="hidden"
                name="board"
                value="{{ .Boardlink }}" />
        <input type="submit" value="delete" />
    </form>
    {{ end }}
    {{ end }}
    <span>
        {{ if not .Reply.Metadata.spamscore }}
        {{ $score := (rateSpam .Reply.Text) }}
            {{printf "[SpamScore: %f]" $score }}
            {{printf "[Captcha: %.3f%%]" (percentFloat (captchaProb $score)) }}
            {{printf "[OLD]"}}
        {{ else }}
            {{ printf "[SpamScore: %s]" .Reply.Metadata.spamscore }}
            {{ printf "[Captcha: %s %%]" .Reply.Metadata.captchaprob }}
        {{ end }}
    </span>
    <span class="reflink">
        <a href="/{{.Boardlink}}/{{.ThreadID}}/thread.html">No.{{.Reply.ID}}</a>
    </span>
    {{ if .Reply.Thumbnail }}
    <br />
    <a target="_blank" href="/{{.Boardlink}}/{{.ThreadID}}/{{.Reply.ID}}/{{.Reply.ID}}.png">
    <img
            src="/{{.Boardlink}}/{{.ThreadID}}/{{.Reply.ID}}/thumb.png"
            class="thumb"
    />
    </a>
    {{ end }}
    {{ if .Reply.Metadata.deleted }}
    <blockquote><blockquote class="deleted">
        {{ renderText .Reply.Text }}
    </blockquote></blockquote>
    {{ else }}
    <blockquote><blockquote>
        {{ renderText .Reply.Text}}
    </blockquote></blockquote>
    {{ end }}
{{ end }}

{{ define "thread/main" }}
<div class="postlists">
    {{ $boardlink := .Board.ShortName }}
    {{ $threadrid := .Thread.GetReply.ID }}
    {{ $threadid := .Thread.ID }}
    {{ $csrf := .CSRFToken }}
    {{ $session := .Session }}
    {{ with .Thread }}
        {{ with .GetReply }}
        {{ with dict "Reply" . "Boardlink" $boardlink "CSRF" $csrf "ThreadID" $threadid "Session" $session }}
            {{ template "thread/reply" . }}
        {{ end }}
        {{ end }}
    {{range .GetReplies}}
    {{ if ne .ID $threadrid }}
    <table class="reply-table"><tbody><tr><td class="doubledash">&gt;&gt;</td>
        <td class="reply" id="reply{{.ID}}">
            {{ with dict "Reply" . "Boardlink" $boardlink "CSRF" $csrf "ThreadID" $threadid "Session" $session }}
            {{ template "thread/reply" . }}
            {{ end }}
        </td>
    </tr></tbody></table>
    {{end}}
    {{end}}
    {{end}}
    <br clear="left" /><hr />
</div>
{{ end }}

{{ template "thread/main" . }}