@(c: lila.challenge.Challenge, json: play.api.libs.json.JsObject, error: Option[String])(implicit ctx: Context) @import lila.challenge.Challenge.Status @cancelForm = {
} @round.layout( title = challengeTitle(c), side = emptyHtml, openGraph = challengeOpenGraph(c).some, moreJs = js(c, json, true), moreCss = cssTag("challenge.css")) {
@c.status match { case Status.Created | Status.Offline => {
@c.destUserId.map { destId =>

@trans.challengeToPlay()

@userIdLink(destId.some, cssClass="target".some) @base.spinner() @trans.waitingForOpponent()
@cancelForm }.getOrElse { @trans.toInviteSomeoneToPlayGiveThisUrl():
@trans.theFirstPersonToComeOnThisUrlWillPlayWithYou()
@if(ctx.isAuth) {
Or invite a lichess user:
@error.map { e =>

@e

}

} @cancelForm } @c.initialFen.map { fen =>
@views.html.game.miniBoard(fen, color = c.finalColor.name) }
} case Status.Declined => {

Challenge declined

@trans.newOpponent()
} case Status.Accepted => {

Challenge accepted!

@trans.joinTheGame()
} case Status.Canceled => {

Challenge canceled.

@trans.newOpponent()
} }
@explanation(c)
}