app/views/fragments/amiOverlay.scala.html (85 lines of code) (raw):

@import config.AMIableConfig @(ami: AMI, conf: AMIableConfig ,instanceCount: Option[Int] = None, id: String = java.util.UUID.randomUUID.toString, stackStageApp: Option[SSAA] = None) @import utils.DateUtils.{getAgeColour, daysAgo} @import views.html.fragments.amiWithUpgrade @import prism.Recommendations @defining(ami.creationDate.map(getAgeColour).getOrElse("red")) { colour => <div class="ami-badge z-depth-1 grey lighten-3"> <div class="ami-badge__info ami-badge__age @colour lighten-3"> <span> @ami.creationDate match { case Some(date) => { <i class="mdi-image-timelapse"></i> @daysAgo(date) } case None => { Ancient } } </span> </div> @instanceCount.map { count => <div class=" ami-badge__info ami-badge__instances_count"> <span> <i class="mdi-hardware-computer"></i> @count </span> </div> } <div class="ami-badge__description center-align"> <a class="modal-trigger black-text ami-badge__link" href="#modal-@id"> @ami.imageId </a> </div> <div class="ami-badge__icon-container"> <a class="modal-trigger black-text" href="#modal-@id"> @if(Recommendations.isObsoleteUbuntu(ami)) { <img src="/assets/images/upgrade-icons/dist-eol.png" class="ami-badge__icon" /> } else { @ami.upgrade.map { upgrade => <img src="/assets/images/upgrade-icons/upgrade-ami-@{upgrade.creationDate.map(getAgeColour).getOrElse("black")}.png" class="ami-badge__icon" /> }.getOrElse { @if(Recommendations.isUnknown(ami)) { <img src="/assets/images/upgrade-icons/unknown-upgrade-ami.png" class="ami-badge__icon" /> } else { <img src="/assets/images/upgrade-icons/no-upgrade-ami-@{ami.creationDate.map(getAgeColour).getOrElse("black")}.png" class="ami-badge__icon" /> } } } </a> </div> </div> } <div id="modal-@id" class="modal ami-modal" xmlns="http://www.w3.org/1999/html"> <div class="modal-footer ami-header white-text"> @ami.upgrade.map { upgrade => <div class="ami-header--title"> <i class="mdi-action-backup"></i> Upgrade available </div> }.getOrElse { <div class="ami-header--title"> <i class="mdi-action-done"></i> Latest version </div> } <a href="#!" class="black-text modal-action modal-close waves-effect waves-white btn grey lighten-3">Close</a> @if(ami.upgrade.isDefined) { @stackStageApp.map { ssaa => @SSAA.riffRaffLink(ssaa, ami.region).map { link => <a href="@link" target="_blank" rel="noopener" class="waves-effect waves-light btn">Redeploy</a> } } } </div> <div class="modal-content"> @amiWithUpgrade(ami, conf) </div> @ami.creationDate.map { date => <div class="modal-footer @getAgeColour(date) lighten-3 black-text"> <div class="ami-header--title"> This AMI is <b>@daysAgo(date)</b> day@if(daysAgo(date) != 1){s} old </div> </div> } </div>