ore/app/views/projects/admin/notes.scala.html
@import java.sql.Timestamp
@import controllers.sugar.Requests.OreRequest
@import ore.models.project.{Note, Project}
@import ore.models.user.User
@import ore.OreConfig
@import util.StringFormatterUtils._
@import views.html.helper.CSPNonce
@import ore.markdown.MarkdownRenderer
@import util.syntax._
@import java.time.Instant
@(project: Project, notes: Seq[(Note, Option[User])])(implicit messages: Messages, request: OreRequest[_], config: OreConfig, flash: Flash, renderer: MarkdownRenderer)
@projectRoutes = @{controllers.project.routes.Projects}
@scripts = {
<script @CSPNonce.attr type="text/javascript" src="@routes.Assets.versioned("javascripts/notes.js")"></script>
<script @CSPNonce.attr>resourcePath = '@project.ownerName/@project.slug'</script>
}
@layout.base(messages("notes"), scripts) {
<div class="row">
<div class="col-md-12 header-flags">
<div class="clearfix">
<h1 class="pull-left">@messages("notes") for <a href="@projectRoutes.show(project.ownerName, project.slug)">@project.ownerName/@project.slug</a></h1>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="input-group" style="width: 100%;
margin-top: 1em;">
<textarea type="text" class="form-control textarea-addmessage" placeholder="Message"></textarea>
<div class="input-group-addon btn btn-note-addmessage-submit btn-primary"><i class="fas fa-clipboard"></i> @messages("notes.addmessage")</div>
</div>
</div>
</div>
<div class="row version-description">
<div class="col-md-12">
<h2>@messages("notes")</h2>
</div>
@if(notes.isEmpty) {
<div class="col-md-12">
<div class="alert-notes alert alert-info" role="alert">
<i class="fas fa-info-circle"></i>
This project does not have notes
</div>
</div>
}
<div class="col-md-12">
<table class="table table-condensed setting-no-border table-notes-log">
<tbody>
@notes.map { case (note, user) =>
<tr>
<td class="note-fixed-with">@prettifyDateAndTime(Instant.ofEpochMilli(note.time))</td>
<td class="note-fixed-with"><strong>@user.map(_.name).getOrElse("Unknown")</strong></td>
<td>@note.render</td>
</tr>
}
</tbody>
</table>
</div>
</div>
}