{{/* The sign-in pages: the form, the check-your-email state and the signed-out page. Each is the body of a page in the app's normal layout, whose bar shows the brand only (no account, no Sign in). estilo-signin uses rastrillo's "field" and "callout" partials, so parse ui.Templates() with ui.Funcs() alongside this package. The form sets novalidate: an address error goes in the field's own error slot, never the browser's bubble. Data: chrome.SignIn. */}} {{/* estilo-door-open / -close: the Oficina sign-in door around a card — the suite's sky behind (sky.View in .Sky; none if it is empty) and the app's own mark and name at the card's head (.App; the mark alone if empty). The sky's markup is the same as the sky package's estilo-sky template (chrome_test checks), repeated here so an app need not parse the sky package's templates. An app that passes a Sky must also link sky.css, mount sky.Handler at sky.Prefix, and allow img-src data: (the placeholder is inline) — without sky.css the layers flow in the page. */}} {{define "estilo-door-open"}}
{{- with .Sky.Layers}} {{- end}}

{{with .App}}{{.}}{{end}}

{{- end}} {{define "estilo-door-close"}}
{{end}} {{define "estilo-signin"}}{{template "estilo-door-open" .}}

{{.Heading}}

{{- with .Lede}}

{{.}}

{{- end}} {{- with .Error}} {{template "callout" (dict "Body" . "Tone" "negative" "Alert" true)}} {{- end}}
{{- with .Return}} {{- end}} {{- range .Hidden}} {{- end}} {{template "field" (dict "ID" "estilo-signin-address" "Name" "address" "Type" "email" "Label" .AddressLabel "Autocomplete" "email" "Required" true "Autofocus" true "Value" .Address "Help" .Help "Error" .AddressError)}}
{{- with .OpenSource}}

{{.Label}}

{{- end}} {{template "estilo-door-close"}}{{end}} {{/* estilo-signin-sent: replaces the form once a link has been sent. Link goes back to the form, keeping the return. Data: chrome.SignInNotice. */}} {{define "estilo-signin-sent"}}{{template "estilo-door-open" .}}

{{.Heading}}

{{.Body}}

{{- with .Link}}

{{.Label}}

{{- end}} {{template "estilo-door-close"}}{{end}} {{/* estilo-signed-out: where Sign out lands. Link is the primary "Sign in". Data: chrome.SignInNotice. */}} {{define "estilo-signed-out"}}{{template "estilo-door-open" .}}

{{.Heading}}

{{.Body}}

{{- with .Link}}

{{.Label}}

{{- end}} {{template "estilo-door-close"}}{{end}}