@(s: lila.streamer.Streamer.WithUserAndStream, form: Form[_])(implicit ctx: Context) @import play.api.data.Field @textarea(field: Field, name: Html, help: Option[Html] = None) = { @base.form.group(field, name, half = false, help = help) { } } @moreCss = { @cssTag("material.form.css") @cssTag("streamer.show.css") @cssTag("streamer.form.css") } @moreJs = { @jsTag("streamer.form.js") } @base.layout(title = s"${s.user.titleUsername} streamer page", moreCss = moreCss, moreJs = moreJs, menu = menu("edit", s.withoutStream.some).some) {
@if(ctx.is(s.user)) {
@if(s.streamer.hasPicture) { @pic(s.streamer, s.user, 250) } else {
@if(ctx.is(s.user)) { Upload a picture }
}

@s.streamer.name

@rules()
} else { @header(s, none) } @defining(s.streamer.approval.granted) { granted => @if(s.streamer.listed.value) {
@if(granted) { Your stream is approved and listed on lichess streamers list. } else { @if(s.streamer.approval.requested) { Your stream is being reviewed by moderators, and will soon be listed on lichess streamers list. } else { @if(s.streamer.completeEnough) { When you are ready to be listed on lichess streamers list,
} else { Please fill in your streamer information, and upload a picture. } } }
}
@errMsgMaterial(form.errors) @if(isGranted(_.Streamers)) {
@base.form.group(form("approval.granted"), Html("Publish on the streamers list"), help = Html("Moderators only").some, half = true) { @base.form.select(form("approval.granted"), booleanChoices) } @base.form.group(form("approval.requested"), Html("Active approval request"), help = Html("Moderators only").some, half = true) { @base.form.select(form("approval.requested"), booleanChoices) } @base.form.group(form("approval.chat"), Html("Embed stream chat too"), help = Html("Moderators only").some, half = true) { @base.form.select(form("approval.chat"), booleanChoices) } @if(granted) { @base.form.group(form("approval.featured"), Html("Feature on lichess homepage"), help = Html("Moderators only").some, half = true) { @base.form.select(form("approval.featured"), booleanChoices) } } else { @base.form.group(form("approval.ignored"), Html("Ignore further approval requests"), help = Html("Moderators only").some, half = true) { @base.form.select(form("approval.ignored"), booleanChoices) } } @base.form.submit()
}
@base.form.group(form("twitch"), Html("Your Twitch username or URL"), help = Html("Optional. Leave empty if none").some, half = true) { @base.form.input(form("twitch")) } @base.form.group(form("youTube"), Html("Your YouTube channel ID or URL"), help = Html("Optional. Leave empty if none.").some, half = true) { @base.form.input(form("youTube")) }
@base.form.group(form("name"), Html("Your streamer name on lichess"), help = Html("Keep it short: 20 characters max").some, half = true) { @base.form.input(form("name"), maxLength = 20) } @base.form.group(form("listed"), Html("Visible on the streamers page"), help = Html("When approved by moderators").some, half = true) { @base.form.select(form("listed"), booleanChoices) }
@base.form.group(form("headline"), Html("Headline"), help = Html("In one sentence, what is your stream about?").some) { @base.form.input(form("headline"), maxLength = 300) } @base.form.group(form("description"), Html("Long description")) { } @base.form.submit()
}
}