@(state: String, milestones: List[(model.Milestone, Int, Int)], repository: service.RepositoryService.RepositoryInfo, hasWritePermission: Boolean)(implicit context: app.Context) @import context._ @import view.helpers._ @html.main(s"Milestones - ${repository.owner}/${repository.name}"){ @html.menu("issues", repository){ @issues.html.navigation("milestones", hasWritePermission, repository)
@defining(milestones.filter { case (milestone, _, _) => milestone.closedDate.map(_ => state == "closed").getOrElse(state == "open") }){ milestones => @milestones.map { case (milestone, openCount, closedCount) => } @if(milestones.isEmpty){ } }
@milestones.filter(_._1.closedDate.isEmpty).size Open    @milestones.filter(_._1.closedDate.isDefined).size Closed
@milestone.title
@if(milestone.closedDate.isDefined){ Closed @helper.html.datetimeago(milestone.closedDate.get) } else { @milestone.dueDate.map { dueDate => @if(isPast(dueDate)){ Due by @date(dueDate) } else { Due by @date(dueDate) } }.getOrElse { No due date } }
@progress(openCount + closedCount, closedCount)
@if(closedCount == 0){ 0% } else { @((closedCount.toDouble / (openCount + closedCount).toDouble * 100).toInt)% } complete    @openCount open    @closedCount closed
@if(hasWritePermission){ Edit    @if(milestone.closedDate.isDefined){ Open    } else { Close    } Delete }
@if(milestone.description.isDefined){
@markdown(milestone.description.get, repository, false, false)
}
No milestones to show. @if(hasWritePermission){ Create a new milestone. }
} }