🎨 Format template files

This commit is contained in:
Maxim Lebedev 2023-01-16 16:19:22 +06:00
parent 43af05a02b
commit 834d27d939
Signed by: toby3d
GPG Key ID: 1F14E25B7C119FC5
10 changed files with 301 additions and 287 deletions

View File

@ -71,11 +71,11 @@
{% endif %} {% endif %}
{% for key, val := range map[string]string{ {% for key, val := range map[string]string{
"client_id": p.Client.ID.String(), "client_id": p.Client.ID.String(),
"redirect_uri": p.RedirectURI.String(), "redirect_uri": p.RedirectURI.String(),
"response_type": p.ResponseType.String(), "response_type": p.ResponseType.String(),
"state": p.State, "state": p.State,
} %} } %}
<input type="hidden" <input type="hidden"
name="{%s key %}" name="{%s key %}"
value="{%s val %}"> value="{%s val %}">
@ -101,13 +101,14 @@
{% endif %} {% endif %}
{% if p.CodeChallenge != "" %} {% if p.CodeChallenge != "" %}
{% for key, val := range map[string]string{
"code_challenge": p.CodeChallenge,
"code_challenge_method": p.CodeChallengeMethod.String(),
} %}
<input type="hidden" <input type="hidden"
name="code_challenge" name="{%s key %}"
value="{%s p.CodeChallenge %}"> value="{%s val %}">
{% endfor %}
<input type="hidden"
name="code_challenge_method"
value="{%s p.CodeChallengeMethod.String() %}">
{% endif %} {% endif %}
{% if p.Me != nil %} {% if p.Me != nil %}

View File

@ -292,98 +292,107 @@ func (p *AuthorizePage) StreamBody(qw422016 *qt422016.Writer) {
if p.CodeChallenge != "" { if p.CodeChallenge != "" {
//line web/authorize.qtpl:103 //line web/authorize.qtpl:103
qw422016.N().S(` qw422016.N().S(`
`)
//line web/authorize.qtpl:104
for key, val := range map[string]string{
"code_challenge": p.CodeChallenge,
"code_challenge_method": p.CodeChallengeMethod.String(),
} {
//line web/authorize.qtpl:107
qw422016.N().S(`
<input type="hidden" <input type="hidden"
name="code_challenge" name="`)
value="`) //line web/authorize.qtpl:109
//line web/authorize.qtpl:106 qw422016.E().S(key)
qw422016.E().S(p.CodeChallenge) //line web/authorize.qtpl:109
//line web/authorize.qtpl:106 qw422016.N().S(`"
qw422016.N().S(`">
<input type="hidden"
name="code_challenge_method"
value="`) value="`)
//line web/authorize.qtpl:110 //line web/authorize.qtpl:110
qw422016.E().S(p.CodeChallengeMethod.String()) qw422016.E().S(val)
//line web/authorize.qtpl:110 //line web/authorize.qtpl:110
qw422016.N().S(`"> qw422016.N().S(`">
`) `)
//line web/authorize.qtpl:111 //line web/authorize.qtpl:111
} }
//line web/authorize.qtpl:111 //line web/authorize.qtpl:111
qw422016.N().S(`
`)
//line web/authorize.qtpl:112
}
//line web/authorize.qtpl:112
qw422016.N().S(` qw422016.N().S(`
`) `)
//line web/authorize.qtpl:113 //line web/authorize.qtpl:114
if p.Me != nil { if p.Me != nil {
//line web/authorize.qtpl:113 //line web/authorize.qtpl:114
qw422016.N().S(` qw422016.N().S(`
<input type="hidden" <input type="hidden"
name="me" name="me"
value="`) value="`)
//line web/authorize.qtpl:116 //line web/authorize.qtpl:117
qw422016.E().S(p.Me.String()) qw422016.E().S(p.Me.String())
//line web/authorize.qtpl:116 //line web/authorize.qtpl:117
qw422016.N().S(`"> qw422016.N().S(`">
`) `)
//line web/authorize.qtpl:117 //line web/authorize.qtpl:118
} }
//line web/authorize.qtpl:117 //line web/authorize.qtpl:118
qw422016.N().S(` qw422016.N().S(`
`) `)
//line web/authorize.qtpl:119 //line web/authorize.qtpl:120
if len(p.Providers) > 0 { if len(p.Providers) > 0 {
//line web/authorize.qtpl:119 //line web/authorize.qtpl:120
qw422016.N().S(` qw422016.N().S(`
<select name="provider" <select name="provider"
autocomplete autocomplete
required> required>
`) `)
//line web/authorize.qtpl:124 //line web/authorize.qtpl:125
for _, provider := range p.Providers { for _, provider := range p.Providers {
//line web/authorize.qtpl:124 //line web/authorize.qtpl:125
qw422016.N().S(` qw422016.N().S(`
<option value="`) <option value="`)
//line web/authorize.qtpl:125 //line web/authorize.qtpl:126
qw422016.E().S(provider.UID) qw422016.E().S(provider.UID)
//line web/authorize.qtpl:125 //line web/authorize.qtpl:126
qw422016.N().S(`" qw422016.N().S(`"
`) `)
//line web/authorize.qtpl:126 //line web/authorize.qtpl:127
if provider.UID == "mastodon" { if provider.UID == "mastodon" {
//line web/authorize.qtpl:126 //line web/authorize.qtpl:127
qw422016.N().S(`selected`) qw422016.N().S(`selected`)
//line web/authorize.qtpl:126 //line web/authorize.qtpl:127
} }
//line web/authorize.qtpl:126 //line web/authorize.qtpl:127
qw422016.N().S(`> qw422016.N().S(`>
`) `)
//line web/authorize.qtpl:128 //line web/authorize.qtpl:129
qw422016.E().S(provider.Name) qw422016.E().S(provider.Name)
//line web/authorize.qtpl:128 //line web/authorize.qtpl:129
qw422016.N().S(` qw422016.N().S(`
</option> </option>
`) `)
//line web/authorize.qtpl:130 //line web/authorize.qtpl:131
} }
//line web/authorize.qtpl:130 //line web/authorize.qtpl:131
qw422016.N().S(` qw422016.N().S(`
</select> </select>
`) `)
//line web/authorize.qtpl:132 //line web/authorize.qtpl:133
} else { } else {
//line web/authorize.qtpl:132 //line web/authorize.qtpl:133
qw422016.N().S(` qw422016.N().S(`
<input type="hidden" <input type="hidden"
name="provider" name="provider"
value="direct"> value="direct">
`) `)
//line web/authorize.qtpl:136 //line web/authorize.qtpl:137
} }
//line web/authorize.qtpl:136 //line web/authorize.qtpl:137
qw422016.N().S(` qw422016.N().S(`
<button type="submit" <button type="submit"
@ -391,9 +400,9 @@ func (p *AuthorizePage) StreamBody(qw422016 *qt422016.Writer) {
value="deny"> value="deny">
`) `)
//line web/authorize.qtpl:142 //line web/authorize.qtpl:143
p.StreamT(qw422016, "Deny") p.StreamT(qw422016, "Deny")
//line web/authorize.qtpl:142 //line web/authorize.qtpl:143
qw422016.N().S(` qw422016.N().S(`
</button> </button>
@ -402,39 +411,39 @@ func (p *AuthorizePage) StreamBody(qw422016 *qt422016.Writer) {
value="allow"> value="allow">
`) `)
//line web/authorize.qtpl:149 //line web/authorize.qtpl:150
p.StreamT(qw422016, "Allow") p.StreamT(qw422016, "Allow")
//line web/authorize.qtpl:149 //line web/authorize.qtpl:150
qw422016.N().S(` qw422016.N().S(`
</button> </button>
</form> </form>
</main> </main>
`) `)
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
} }
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
func (p *AuthorizePage) WriteBody(qq422016 qtio422016.Writer) { func (p *AuthorizePage) WriteBody(qq422016 qtio422016.Writer) {
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
p.StreamBody(qw422016) p.StreamBody(qw422016)
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
} }
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
func (p *AuthorizePage) Body() string { func (p *AuthorizePage) Body() string {
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
p.WriteBody(qb422016) p.WriteBody(qb422016)
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
return qs422016 return qs422016
//line web/authorize.qtpl:153 //line web/authorize.qtpl:154
} }

View File

@ -23,55 +23,57 @@
{% stripspace %} {% stripspace %}
{% func (p *BaseOf) Lang() %} {% func (p *BaseOf) Lang() %}
{% if p.Language != language.Und %} {% if p.Language != language.Und %}
{%s p.Language.String() %} {%s p.Language.String() %}
{% else %} {% else %}
en en
{% endif %} {% endif %}
{% endfunc %} {% endfunc %}
{% endstripspace %} {% endstripspace %}
{% collapsespace %} {% collapsespace %}
{% func (p *BaseOf) Title() %} {% func (p *BaseOf) Title() %}
{%s p.Config.Name %} {%s p.Config.Name %}
{% endfunc %} {% endfunc %}
{% func (p *BaseOf) Head() %} {% func (p *BaseOf) Head() %}
{% comment %}https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs{% endcomment %} {% comment %}https://evilmartians.com/chronicles/how-to-favicon-in-2021-six-files-that-fit-most-needs{% endcomment %}
<link rel="icon" <link rel="icon"
href="{%s p.Config.Server.StaticURLPrefix %}/favicon.ico" href="{%s p.Config.Server.StaticURLPrefix %}/favicon.ico"
sizes="any"> sizes="any">
<link rel="icon" <link rel="icon"
href="{%s p.Config.Server.StaticURLPrefix %}/icon.svg" href="{%s p.Config.Server.StaticURLPrefix %}/icon.svg"
type="image/svg+xml"> type="image/svg+xml">
<link rel="apple-touch-icon" <link rel="apple-touch-icon"
href="{%s p.Config.Server.StaticURLPrefix %}/apple-touch-icon.png"> href="{%s p.Config.Server.StaticURLPrefix %}/apple-touch-icon.png">
<link rel="manifest" <link rel="manifest"
href="{%s p.Config.Server.StaticURLPrefix %}/manifest.webmanifest"> href="{%s p.Config.Server.StaticURLPrefix %}/manifest.webmanifest">
{% endfunc %} {% endfunc %}
{% func (p *BaseOf) Body() %}{% endfunc %} {% func (p *BaseOf) Body() %}{% endfunc %}
{% func Template(p Page) %} {% func Template(p Page) %}
<!DOCTYPE html> <!DOCTYPE html>
<html class="page" <html class="page"
lang="{%= p.Lang() %}"> lang="{%= p.Lang() %}">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport"
content="width=device-width, initial-scale=1.0">
{%= p.Head() %} {%= p.Head() %}
<title>{%= p.Title() %}</title>
</head>
<body class="page__body body">
{%= p.Body() %}
{% code <title>{%= p.Title() %}</title>
</head>
<body class="page__body body">
{%= p.Body() %}
{% code
var path, vcsRevision string var path, vcsRevision string
if bi, ok := debug.ReadBuildInfo(); ok { if bi, ok := debug.ReadBuildInfo(); ok {
@ -87,21 +89,22 @@
} }
%} %}
{% if vcsRevision != "" %} {% if vcsRevision != "" %}
<footer> <footer>
<small> <small>
{%= p.T("version") %} {%= p.T("version") %}
<a href="https://{%s path %}/commit/{%s vcsRevision %}" target="_blank"> <a href="https://{%s path %}/commit/{%s vcsRevision %}"
{%s vcsRevision[:7] -%} target="_blank">
</a> {%s vcsRevision[:7] -%}
</small> </a>
</footer> </small>
{% endif %} </footer>
</body> {% endif %}
</html> </body>
</html>
{% endfunc %} {% endfunc %}
{% func (p *BaseOf) T(format string, args ...interface{}) %} {% func (p *BaseOf) T(format string, args ...interface{}) %}
{%s p.Printer.Sprintf(format, args...) %} {%s p.Printer.Sprintf(format, args...) %}
{% endfunc %} {% endfunc %}
{% endcollapsespace %} {% endcollapsespace %}

View File

@ -237,19 +237,19 @@ func StreamTemplate(qw422016 *qt422016.Writer, p Page) {
p.StreamLang(qw422016) p.StreamLang(qw422016)
//line web/baseof.qtpl:61 //line web/baseof.qtpl:61
qw422016.N().S(`"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> `) qw422016.N().S(`"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> `)
//line web/baseof.qtpl:67 //line web/baseof.qtpl:68
p.StreamHead(qw422016) p.StreamHead(qw422016)
//line web/baseof.qtpl:67 //line web/baseof.qtpl:68
qw422016.N().S(` <title>`) qw422016.N().S(` <title>`)
//line web/baseof.qtpl:69 //line web/baseof.qtpl:70
p.StreamTitle(qw422016) p.StreamTitle(qw422016)
//line web/baseof.qtpl:69 //line web/baseof.qtpl:70
qw422016.N().S(`</title> </head> <body class="page__body body"> `) qw422016.N().S(`</title> </head> <body class="page__body body"> `)
//line web/baseof.qtpl:72 //line web/baseof.qtpl:74
p.StreamBody(qw422016) p.StreamBody(qw422016)
//line web/baseof.qtpl:72 //line web/baseof.qtpl:74
qw422016.N().S(` `) qw422016.N().S(` `)
//line web/baseof.qtpl:75 //line web/baseof.qtpl:77
var path, vcsRevision string var path, vcsRevision string
if bi, ok := debug.ReadBuildInfo(); ok { if bi, ok := debug.ReadBuildInfo(); ok {
@ -264,94 +264,94 @@ func StreamTemplate(qw422016 *qt422016.Writer, p Page) {
} }
} }
//line web/baseof.qtpl:88
qw422016.N().S(` `)
//line web/baseof.qtpl:90 //line web/baseof.qtpl:90
qw422016.N().S(` `)
//line web/baseof.qtpl:92
if vcsRevision != "" { if vcsRevision != "" {
//line web/baseof.qtpl:90 //line web/baseof.qtpl:92
qw422016.N().S(` <footer> <small> `) qw422016.N().S(` <footer> <small> `)
//line web/baseof.qtpl:93 //line web/baseof.qtpl:95
p.StreamT(qw422016, "version") p.StreamT(qw422016, "version")
//line web/baseof.qtpl:93 //line web/baseof.qtpl:95
qw422016.N().S(` <a href="https://`) qw422016.N().S(` <a href="https://`)
//line web/baseof.qtpl:94 //line web/baseof.qtpl:96
qw422016.E().S(path) qw422016.E().S(path)
//line web/baseof.qtpl:94 //line web/baseof.qtpl:96
qw422016.N().S(`/commit/`) qw422016.N().S(`/commit/`)
//line web/baseof.qtpl:94 //line web/baseof.qtpl:96
qw422016.E().S(vcsRevision) qw422016.E().S(vcsRevision)
//line web/baseof.qtpl:94 //line web/baseof.qtpl:96
qw422016.N().S(`" target="_blank"> `) qw422016.N().S(`" target="_blank"> `)
//line web/baseof.qtpl:95 //line web/baseof.qtpl:98
qw422016.E().S(vcsRevision[:7]) qw422016.E().S(vcsRevision[:7])
//line web/baseof.qtpl:95 //line web/baseof.qtpl:98
qw422016.N().S(`</a> </small> </footer> `) qw422016.N().S(`</a> </small> </footer> `)
//line web/baseof.qtpl:99 //line web/baseof.qtpl:102
} }
//line web/baseof.qtpl:99 //line web/baseof.qtpl:102
qw422016.N().S(` </body> </html> `) qw422016.N().S(` </body> </html> `)
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
} }
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
func WriteTemplate(qq422016 qtio422016.Writer, p Page) { func WriteTemplate(qq422016 qtio422016.Writer, p Page) {
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
StreamTemplate(qw422016, p) StreamTemplate(qw422016, p)
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
} }
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
func Template(p Page) string { func Template(p Page) string {
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
WriteTemplate(qb422016, p) WriteTemplate(qb422016, p)
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
return qs422016 return qs422016
//line web/baseof.qtpl:102 //line web/baseof.qtpl:105
} }
//line web/baseof.qtpl:104 //line web/baseof.qtpl:107
func (p *BaseOf) StreamT(qw422016 *qt422016.Writer, format string, args ...interface{}) { func (p *BaseOf) StreamT(qw422016 *qt422016.Writer, format string, args ...interface{}) {
//line web/baseof.qtpl:104 //line web/baseof.qtpl:107
qw422016.N().S(` `) qw422016.N().S(` `)
//line web/baseof.qtpl:105 //line web/baseof.qtpl:108
qw422016.E().S(p.Printer.Sprintf(format, args...)) qw422016.E().S(p.Printer.Sprintf(format, args...))
//line web/baseof.qtpl:105 //line web/baseof.qtpl:108
qw422016.N().S(` `) qw422016.N().S(` `)
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
} }
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
func (p *BaseOf) WriteT(qq422016 qtio422016.Writer, format string, args ...interface{}) { func (p *BaseOf) WriteT(qq422016 qtio422016.Writer, format string, args ...interface{}) {
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
p.StreamT(qw422016, format, args...) p.StreamT(qw422016, format, args...)
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
} }
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
func (p *BaseOf) T(format string, args ...interface{}) string { func (p *BaseOf) T(format string, args ...interface{}) string {
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
p.WriteT(qb422016, format, args...) p.WriteT(qb422016, format, args...)
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
return qs422016 return qs422016
//line web/baseof.qtpl:106 //line web/baseof.qtpl:109
} }

View File

@ -9,9 +9,9 @@
{% collapsespace %} {% collapsespace %}
{% func (p *CallbackPage) Body() %} {% func (p *CallbackPage) Body() %}
{% if p.Token != nil %} {% if p.Token != nil %}
<h1>{%s p.Token.Me.String() %}</h1> <h1>{%s p.Token.Me.String() %}</h1>
<small>{%s p.Token.AccessToken %}</small> <small>{%s p.Token.AccessToken %}</small>
{% endif %} {% endif %}
{% endfunc %} {% endfunc %}
{% endcollapsespace %} {% endcollapsespace %}

View File

@ -11,31 +11,31 @@
{% collapsespace %} {% collapsespace %}
{% func (p *ErrorPage) Title() %} {% func (p *ErrorPage) Title() %}
{%s p.T("Error") %} {%s p.T("Error") %}
{% endfunc %} {% endfunc %}
{% func (p *ErrorPage) Body() %} {% func (p *ErrorPage) Body() %}
<main> <main>
{% code err := new(domain.Error) %} {% code err := new(domain.Error) %}
{% if errors.As(p.Error, err) %} {% if errors.As(p.Error, err) %}
<h1>{%s err.Code.String() %}</h1> <h1>{%s err.Code.String() %}</h1>
{% if err.Description != "" %} {% if err.Description != "" %}
<p>{%s err.Description %}</p> <p>{%s err.Description %}</p>
{% endif %} {% endif %}
{% if err.URI != "" %} {% if err.URI != "" %}
<a rel="noreferrer noopener" <a rel="noreferrer noopener"
href="{%s err.URI %}" href="{%s err.URI %}"
target="_blank"> target="_blank">
{%s p.T("How do I fix it?") %} {%s p.T("How do I fix it?") %}
</a> </a>
{% endif %} {% endif %}
{% else %} {% else %}
<h1>{%s p.T("Error") %}</h1> <h1>{%s p.T("Error") %}</h1>
<p>{%s p.Error.Error() %}</p> <p>{%s p.Error.Error() %}</p>
{% endif %} {% endif %}
</main> </main>
{% endfunc %} {% endfunc %}
{% endcollapsespace %} {% endcollapsespace %}

View File

@ -10,70 +10,71 @@
{% collapsespace %} {% collapsespace %}
{% func (p *HomePage) Head() %} {% func (p *HomePage) Head() %}
{%= p.BaseOf.Head() %} {%= p.BaseOf.Head() %}
{% for i := range p.Client.RedirectURI %} {% for i := range p.Client.RedirectURI %}
<link rel="redirect_uri" href="{%s p.Client.RedirectURI[i].String() %}"> <link rel="redirect_uri"
{% endfor %} href="{%s p.Client.RedirectURI[i].String() %}">
{% endfor %}
{% endfunc %} {% endfunc %}
{% func (p *HomePage) Body() %} {% func (p *HomePage) Body() %}
<header class="h-app h-x-app"> <header class="h-app h-x-app">
<img class="u-logo" <img class="u-logo"
src="{%s p.Client.GetLogo().String() %}" src="{%s p.Client.GetLogo().String() %}"
alt="{%s p.Client.GetName() %}" alt="{%s p.Client.GetName() %}"
crossorigin="anonymous" crossorigin="anonymous"
decoding="async" decoding="async"
height="140" height="140"
importance="high" importance="high"
referrerpolicy="no-referrer-when-downgrade" referrerpolicy="no-referrer-when-downgrade"
width="140"> width="140">
<h1> <h1>
<a class="p-name u-url" <a class="p-name u-url"
href="{%s p.Client.GetURL().String() %}"> href="{%s p.Client.GetURL().String() %}">
{%s p.Client.GetName() %} {%s p.Client.GetName() %}
</a> </a>
</h1> </h1>
</header> </header>
<main> <main>
<form class="" <form class=""
method="get" method="get"
action="/authorize" action="/authorize"
enctype="application/x-www-form-urlencoded" enctype="application/x-www-form-urlencoded"
accept-charset="utf-8" accept-charset="utf-8"
target="_self"> target="_self">
{% for name, value := range map[string]string{ {% for name, value := range map[string]string{
"client_id": p.Client.ID.String(), "client_id": p.Client.ID.String(),
"redirect_uri": p.Client.RedirectURI[0].String(), "redirect_uri": p.Client.RedirectURI[0].String(),
"response_type": domain.ResponseTypeCode.String(), "response_type": domain.ResponseTypeCode.String(),
"state": p.State, "state": p.State,
} %} } %}
<input type="hidden" <input type="hidden"
name="{%s name %}" name="{%s name %}"
value="{%s value %}"> value="{%s value %}">
{% endfor %} {% endfor %}
{% for _, scope := range []domain.Scope{ {% for _, scope := range []domain.Scope{
domain.ScopeEmail, domain.ScopeEmail,
domain.ScopeProfile, domain.ScopeProfile,
} %} } %}
<input type="hidden" <input type="hidden"
name="scope[]" name="scope[]"
value="{%s scope.String() %}"> value="{%s scope.String() %}">
{% endfor %} {% endfor %}
<input type="url" <input type="url"
name="me" name="me"
placeholder="https://example.com/" placeholder="https://example.com/"
inputmode="url" inputmode="url"
autocomplete="url" autocomplete="url"
required> required>
<button type="submit">{%= p.T("Sign In") %}</button> <button type="submit">{%= p.T("Sign In") %}</button>
</form> </form>
</main> </main>
{% endfunc %} {% endfunc %}
{% endcollapsespace %} {% endcollapsespace %}

View File

@ -41,128 +41,128 @@ func (p *HomePage) StreamHead(qw422016 *qt422016.Writer) {
for i := range p.Client.RedirectURI { for i := range p.Client.RedirectURI {
//line web/home.qtpl:14 //line web/home.qtpl:14
qw422016.N().S(` <link rel="redirect_uri" href="`) qw422016.N().S(` <link rel="redirect_uri" href="`)
//line web/home.qtpl:15 //line web/home.qtpl:16
qw422016.E().S(p.Client.RedirectURI[i].String()) qw422016.E().S(p.Client.RedirectURI[i].String())
//line web/home.qtpl:15 //line web/home.qtpl:16
qw422016.N().S(`"> `) qw422016.N().S(`"> `)
//line web/home.qtpl:16 //line web/home.qtpl:17
} }
//line web/home.qtpl:16 //line web/home.qtpl:17
qw422016.N().S(` `) qw422016.N().S(` `)
//line web/home.qtpl:17 //line web/home.qtpl:18
} }
//line web/home.qtpl:17 //line web/home.qtpl:18
func (p *HomePage) WriteHead(qq422016 qtio422016.Writer) { func (p *HomePage) WriteHead(qq422016 qtio422016.Writer) {
//line web/home.qtpl:17 //line web/home.qtpl:18
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line web/home.qtpl:17 //line web/home.qtpl:18
p.StreamHead(qw422016) p.StreamHead(qw422016)
//line web/home.qtpl:17 //line web/home.qtpl:18
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line web/home.qtpl:17 //line web/home.qtpl:18
} }
//line web/home.qtpl:17 //line web/home.qtpl:18
func (p *HomePage) Head() string { func (p *HomePage) Head() string {
//line web/home.qtpl:17 //line web/home.qtpl:18
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line web/home.qtpl:17 //line web/home.qtpl:18
p.WriteHead(qb422016) p.WriteHead(qb422016)
//line web/home.qtpl:17 //line web/home.qtpl:18
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line web/home.qtpl:17 //line web/home.qtpl:18
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line web/home.qtpl:17 //line web/home.qtpl:18
return qs422016 return qs422016
//line web/home.qtpl:17 //line web/home.qtpl:18
} }
//line web/home.qtpl:19 //line web/home.qtpl:20
func (p *HomePage) StreamBody(qw422016 *qt422016.Writer) { func (p *HomePage) StreamBody(qw422016 *qt422016.Writer) {
//line web/home.qtpl:19 //line web/home.qtpl:20
qw422016.N().S(` <header class="h-app h-x-app"> <img class="u-logo" src="`) qw422016.N().S(` <header class="h-app h-x-app"> <img class="u-logo" src="`)
//line web/home.qtpl:22 //line web/home.qtpl:23
qw422016.E().S(p.Client.GetLogo().String()) qw422016.E().S(p.Client.GetLogo().String())
//line web/home.qtpl:22 //line web/home.qtpl:23
qw422016.N().S(`" alt="`) qw422016.N().S(`" alt="`)
//line web/home.qtpl:23 //line web/home.qtpl:24
qw422016.E().S(p.Client.GetName()) qw422016.E().S(p.Client.GetName())
//line web/home.qtpl:23 //line web/home.qtpl:24
qw422016.N().S(`" crossorigin="anonymous" decoding="async" height="140" importance="high" referrerpolicy="no-referrer-when-downgrade" width="140"> <h1> <a class="p-name u-url" href="`) qw422016.N().S(`" crossorigin="anonymous" decoding="async" height="140" importance="high" referrerpolicy="no-referrer-when-downgrade" width="140"> <h1> <a class="p-name u-url" href="`)
//line web/home.qtpl:33 //line web/home.qtpl:34
qw422016.E().S(p.Client.GetURL().String()) qw422016.E().S(p.Client.GetURL().String())
//line web/home.qtpl:33 //line web/home.qtpl:34
qw422016.N().S(`"> `) qw422016.N().S(`"> `)
//line web/home.qtpl:35 //line web/home.qtpl:36
qw422016.E().S(p.Client.GetName()) qw422016.E().S(p.Client.GetName())
//line web/home.qtpl:35 //line web/home.qtpl:36
qw422016.N().S(` </a> </h1> </header> <main> <form class="" method="get" action="/authorize" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" target="_self"> `) qw422016.N().S(` </a> </h1> </header> <main> <form class="" method="get" action="/authorize" enctype="application/x-www-form-urlencoded" accept-charset="utf-8" target="_self"> `)
//line web/home.qtpl:48 //line web/home.qtpl:49
for name, value := range map[string]string{ for name, value := range map[string]string{
"client_id": p.Client.ID.String(), "client_id": p.Client.ID.String(),
"redirect_uri": p.Client.RedirectURI[0].String(), "redirect_uri": p.Client.RedirectURI[0].String(),
"response_type": domain.ResponseTypeCode.String(), "response_type": domain.ResponseTypeCode.String(),
"state": p.State, "state": p.State,
} { } {
//line web/home.qtpl:53 //line web/home.qtpl:54
qw422016.N().S(` <input type="hidden" name="`) qw422016.N().S(` <input type="hidden" name="`)
//line web/home.qtpl:55 //line web/home.qtpl:56
qw422016.E().S(name) qw422016.E().S(name)
//line web/home.qtpl:55 //line web/home.qtpl:56
qw422016.N().S(`" value="`) qw422016.N().S(`" value="`)
//line web/home.qtpl:56 //line web/home.qtpl:57
qw422016.E().S(value) qw422016.E().S(value)
//line web/home.qtpl:56 //line web/home.qtpl:57
qw422016.N().S(`"> `) qw422016.N().S(`"> `)
//line web/home.qtpl:57 //line web/home.qtpl:58
} }
//line web/home.qtpl:57 //line web/home.qtpl:58
qw422016.N().S(` `) qw422016.N().S(` `)
//line web/home.qtpl:59 //line web/home.qtpl:60
for _, scope := range []domain.Scope{ for _, scope := range []domain.Scope{
domain.ScopeEmail, domain.ScopeEmail,
domain.ScopeProfile, domain.ScopeProfile,
} { } {
//line web/home.qtpl:62 //line web/home.qtpl:63
qw422016.N().S(` <input type="hidden" name="scope[]" value="`) qw422016.N().S(` <input type="hidden" name="scope[]" value="`)
//line web/home.qtpl:65 //line web/home.qtpl:66
qw422016.E().S(scope.String()) qw422016.E().S(scope.String())
//line web/home.qtpl:65 //line web/home.qtpl:66
qw422016.N().S(`"> `) qw422016.N().S(`"> `)
//line web/home.qtpl:66 //line web/home.qtpl:67
} }
//line web/home.qtpl:66 //line web/home.qtpl:67
qw422016.N().S(` <input type="url" name="me" placeholder="https://example.com/" inputmode="url" autocomplete="url" required> <button type="submit">`) qw422016.N().S(` <input type="url" name="me" placeholder="https://example.com/" inputmode="url" autocomplete="url" required> <button type="submit">`)
//line web/home.qtpl:75 //line web/home.qtpl:76
p.StreamT(qw422016, "Sign In") p.StreamT(qw422016, "Sign In")
//line web/home.qtpl:75 //line web/home.qtpl:76
qw422016.N().S(`</button> </form> </main> `) qw422016.N().S(`</button> </form> </main> `)
//line web/home.qtpl:78 //line web/home.qtpl:79
} }
//line web/home.qtpl:78 //line web/home.qtpl:79
func (p *HomePage) WriteBody(qq422016 qtio422016.Writer) { func (p *HomePage) WriteBody(qq422016 qtio422016.Writer) {
//line web/home.qtpl:78 //line web/home.qtpl:79
qw422016 := qt422016.AcquireWriter(qq422016) qw422016 := qt422016.AcquireWriter(qq422016)
//line web/home.qtpl:78 //line web/home.qtpl:79
p.StreamBody(qw422016) p.StreamBody(qw422016)
//line web/home.qtpl:78 //line web/home.qtpl:79
qt422016.ReleaseWriter(qw422016) qt422016.ReleaseWriter(qw422016)
//line web/home.qtpl:78 //line web/home.qtpl:79
} }
//line web/home.qtpl:78 //line web/home.qtpl:79
func (p *HomePage) Body() string { func (p *HomePage) Body() string {
//line web/home.qtpl:78 //line web/home.qtpl:79
qb422016 := qt422016.AcquireByteBuffer() qb422016 := qt422016.AcquireByteBuffer()
//line web/home.qtpl:78 //line web/home.qtpl:79
p.WriteBody(qb422016) p.WriteBody(qb422016)
//line web/home.qtpl:78 //line web/home.qtpl:79
qs422016 := string(qb422016.B) qs422016 := string(qb422016.B)
//line web/home.qtpl:78 //line web/home.qtpl:79
qt422016.ReleaseByteBuffer(qb422016) qt422016.ReleaseByteBuffer(qb422016)
//line web/home.qtpl:78 //line web/home.qtpl:79
return qs422016 return qs422016
//line web/home.qtpl:78 //line web/home.qtpl:79
} }

View File

@ -30,7 +30,7 @@
type="url" type="url"
name="subject" name="subject"
inputmode="url" inputmode="url"
placeholder="https://bob.example.org" placeholder="https://bob.example.org/"
required> required>
</div> </div>

View File

@ -46,7 +46,7 @@ func (p *TicketPage) StreamBody(qw422016 *qt422016.Writer) {
//line web/ticket.qtpl:28 //line web/ticket.qtpl:28
p.StreamT(qw422016, "Recipient") p.StreamT(qw422016, "Recipient")
//line web/ticket.qtpl:28 //line web/ticket.qtpl:28
qw422016.N().S(`</label> <input id="subject" type="url" name="subject" inputmode="url" placeholder="https://bob.example.org" required> </div> <div> <label for="resource">`) qw422016.N().S(`</label> <input id="subject" type="url" name="subject" inputmode="url" placeholder="https://bob.example.org/" required> </div> <div> <label for="resource">`)
//line web/ticket.qtpl:38 //line web/ticket.qtpl:38
p.StreamT(qw422016, "Resource") p.StreamT(qw422016, "Resource")
//line web/ticket.qtpl:38 //line web/ticket.qtpl:38