@import java.time._ @import de.smederee.hub.Account @import de.smederee.tickets.MilestoneForm._ @import de.smederee.tickets._ @import de.smederee.tickets.forms._ @import de.smederee.tickets.forms.types._ @import de.smederee.tickets.views.html.format.formatDate @import de.smederee.tickets.views.html.forms.renderFormErrors @import de.smederee.tickets.views.html.showProjectMenu @(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en") )(action: Uri, csrf: Option[CsrfToken] = None, linkToHubService: Uri, milestones: List[Milestone], projectBaseUri: Uri, title: Option[String] = None, user: Option[Account], project: Project )(formData: Map[String, Chain[String]] = Map.empty.withDefaultValue(Chain.empty), formErrors: FormErrors = FormErrors.empty ) @main(linkToHubService, lang)()(csrf, title, user) { @defining(lang.toLocale) { implicit locale =>

~@project.owner.name/@project.name

@showProjectMenu(baseUri, linkToHubService)(action.some, projectBaseUri, user, project)
@if(user.exists(account => ProjectOwnerId.fromUserId(account.uid) === project.owner.uid)) { @Messages("project.milestones.edit.title") } else { @Messages("project.milestones.view.title") }
@if(user.exists(account => ProjectOwnerId.fromUserId(account.uid) === project.owner.uid)) {

@Messages("project.milestones.add.title")

@formErrors.get(fieldGlobal).map { es => @for(error <- es) {

Fehler: @error

} }
@Messages("form.milestone.title.help") @renderFormErrors(fieldTitle, formErrors)
@Messages("form.milestone.description.help") @renderFormErrors(fieldDescription, formErrors)
@Messages("form.milestone.due-date.help") @renderFormErrors(fieldDueDate, formErrors)
@csrfToken(csrf)
} else { }

@Messages("project.milestones.list.title", milestones.size)

@if(milestones.size === 0) {
@Messages("project.milestones.list.empty")
} else { @defining(32) { lineHeight => @for(milestone <- milestones) {
@icon(baseUri)("flag", lineHeight.some)
@for(description <- milestone.description) { @if(description.toString.length < 180) { @description } else { @description.toString.take(176)) ...} }
@if(user.exists(account => ProjectOwnerId.fromUserId(account.uid) === project.owner.uid)) { @Messages("project.milestone.edit.link") } else { }
@if(user.exists(account => ProjectOwnerId.fromUserId(account.uid) === project.owner.uid)) {
@Messages("form.milestone.delete.i-am-sure") @csrfToken(csrf)
} else { }
} } }
} }