go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/projects/chirp/pkg/static/_views/control_chirp.html (about)

     1  <!--
     2  Copyright (c) 2023 - Present. Will Charczuk. All rights reserved.
     3  Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository.
     4  -->
     5  {{ define "control_chirp_content" }}
     6  <div class="row">
     7    <div class="two columns align-right">
     8      <img class="profile-picture-medium" src="{{ .User.PictureURL }}" title="{{ .User.Username }}" />
     9    </div>
    10    <div class="ten columns">
    11      <div class="chirp-user">
    12        <span class="chirp-fullname"><a href="/profile/{{.User.Email }}">{{ .User.GivenName }} {{ .User.FamilyName }}</a></span>
    13        <span class="chirp-email">{{ .User.Username }}</span>
    14        <span class="chirp-badges"></span>
    15        <span class="chirp-age"><a href="/chirp/{{ .ID }}">{{ .PublishedUTC | age }}</a></span>
    16      </div>
    17      <div class="chirp-body">
    18      {{ .Text }}
    19      </div>
    20    </div>
    21  </div>
    22  {{ end }}
    23  {{ define "control_chirp" }}
    24  <div class="chirp">
    25    {{ if .ReplyTo }}
    26    <div class="row">
    27      <div class="eleven columns offset-by-one">
    28        <div class="chirp-reply-to"><span class="bp3-icon bp3-icon-inheritance"></span>&nbsp;<a href="/chirp/{{ .ReplyTo.ID }}">{{ localize "Reply to" }} {{ .ReplyTo.User.Email }}</a></div>
    29      </div>
    30    </div>
    31    {{ end }}
    32    {{ template "control_chirp_content" . }}
    33    <div class="row chirp-actions">
    34      <div class="eleven columns offset-by-one">
    35        <a href="/chirp.reply/{{ .ID }}" class="bp3-button bp3-minimal bp3-icon-inheritance" title="{{ localize "Reply" }}"></a>
    36        <span class="chirp-stat chirp-replies">{{ .Stats.Replies }}</span>
    37        {{ if .Status.IsLiked }}
    38        <form class="form-inline" method="POST" action="/chirp.unlike">
    39          <input type="hidden" name="id" value="{{ .ID }}" />
    40          <button type="submit" class="bp3-button bp3-minimal bp3-icon-heart bp3-intent-danger" title="{{ localize "Unlike" }}"></button>
    41        </form>
    42        {{ else }}
    43        <form class="form-inline" method="POST" action="/chirp.like">
    44          <input type="hidden" name="id" value="{{ .ID }}" />
    45          <button type="submit" class="bp3-button bp3-minimal bp3-icon-heart" title="{{ localize "Like" }}"></button>
    46        </form>
    47        {{ end }}
    48        <span class="chirp-stat chirp-likes">{{ .Stats.Likes }}</span>
    49        <a href="/chirp.quote/{{ .ID }}" class="bp3-button bp3-minimal bp3-icon-comment" title="{{ localize "Rechirp" }}"></a>
    50        <span class="chirp-stat chirp-rechirps">{{ .Stats.Rechirps }}</span>
    51        {{ if eq request_context.Session.State.User.ID .UserID }}
    52        <form class="form-inline" method="POST" action="/chirp.delete">
    53          <input type="hidden" name="id" value="{{ .ID }}" />
    54          <button type="submit" class="bp3-button bp3-minimal bp3-icon-remove bp3-intent-danger" title="{{ localize "Delete" }}"></button>
    55        </form>
    56        {{ end }}
    57      </div>
    58    </div>
    59    {{ if .Quoted }}
    60    <div class="chirp-quoted">
    61      {{ template "control_chirp_content" .Quoted }}
    62    </div>
    63    {{ end }}
    64  </div>
    65  {{ end }}