diff --git a/static/default.css b/static/default.css
index 29b44640..739d4723 100644
--- a/static/default.css
+++ b/static/default.css
@@ -656,11 +656,33 @@ kbd {
display: block;
padding: 0 .5rem;
}
+.top-bar__highlight-new {
+ display: block;
+}
+.top-bar__highlight-new-input {
+ padding-left: 0.5rem;
+ padding-right: 0;
+
+ margin-top: 0.35rem;
+ max-height: 1.3rem;
+ margin-bottom: 0.35rem;
+}
+.auth-links__admin-box {
+ flex-shrink: 0
+}
+.top-bar__search {
+ display: inline-block;
+ height: 100%;
+}
.top-bar__search-bar {
- border: 0;
- vertical-align: -webkit-baseline-middle; /* You have no idea how sorry I am. This is a non-standard value. Seems to work in Safari, Opera and mobile Chrome. We need a jedi and a knight in shiny armor to replace it with something more standard. */
- width: 100%;
+ display: inline-block;
+
+ padding-left: 0.5rem;
+ padding-right: 0;
+
+ margin-top: 4.4%;
+ height: 65%;
}
@media (prefers-color-scheme: dark) {
@@ -699,10 +721,6 @@ kbd {
display: none;
}
- .top-bar__search-bar {
- width: 100%;
- }
-
.auth-links {
display: flex;
justify-content: flex-end;
@@ -751,7 +769,8 @@ kbd {
margin-right: 0;
}
.auth-links__link,
- .top-bar__highlight-link {
+ .top-bar__highlight-link,
+ .top-bar__highlight-new {
padding-left: 1rem;
}
.top-bar__section_hidden-on-mobile {
diff --git a/views/stuff.go b/views/stuff.go
new file mode 100644
index 00000000..de219d90
--- /dev/null
+++ b/views/stuff.go
@@ -0,0 +1,17 @@
+package views
+
+import (
+ "fmt"
+)
+
+// inputSize returns the size in chars for an html input element
+// (as a string) given the placeholder string.
+func inputSize(placeholder string) string {
+ charCount := len(placeholder)
+ // Because size="0" is invalid, clamp above 1
+ min := 1
+ if charCount <= min {
+ charCount = min
+ }
+ return fmt.Sprint(charCount)
+}
diff --git a/views/stuff.qtpl b/views/stuff.qtpl
index b1e2b20d..1dd2d6d4 100644
--- a/views/stuff.qtpl
+++ b/views/stuff.qtpl
@@ -29,7 +29,7 @@
@@ -58,7 +58,13 @@
{%- for _, link := range cfg.HeaderLinks -%}
- {% if link.Href != "/" %}
+ {% if link.Href == "/new" %}
+ -
+
+
+ {% elseif link.Href != "/" %}
-
{%s link.Display %}
diff --git a/views/stuff.qtpl.go b/views/stuff.qtpl.go
index 3208475b..db53dd5f 100644
--- a/views/stuff.qtpl.go
+++ b/views/stuff.qtpl.go
@@ -88,7 +88,11 @@ func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, lc *l18n.Loca
//line views/stuff.qtpl:32
qw422016.E().S(lc.Get("ui.title_search"))
//line views/stuff.qtpl:32
- qw422016.N().S(`" class="top-bar__search-bar">
+ qw422016.N().S(`" class="top-bar__search-bar" size="`)
+//line views/stuff.qtpl:32
+ qw422016.E().S(inputSize(lc.Get("ui.title_search")))
+//line views/stuff.qtpl:32
+ qw422016.N().S(`">
@@ -182,38 +186,56 @@ func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, lc *l18n.Loca
//line views/stuff.qtpl:60
qw422016.N().S(` `)
//line views/stuff.qtpl:61
- if link.Href != "/" {
+ if link.Href == "/new" {
//line views/stuff.qtpl:61
+ qw422016.N().S(`
+
+
+
+ `)
+//line views/stuff.qtpl:67
+ } else if link.Href != "/" {
+//line views/stuff.qtpl:67
qw422016.N().S(`
`)
-//line views/stuff.qtpl:63
+//line views/stuff.qtpl:69
qw422016.E().S(link.Display)
-//line views/stuff.qtpl:63
+//line views/stuff.qtpl:69
qw422016.N().S(`
`)
-//line views/stuff.qtpl:65
+//line views/stuff.qtpl:71
}
-//line views/stuff.qtpl:65
+//line views/stuff.qtpl:71
qw422016.N().S(`
`)
-//line views/stuff.qtpl:66
+//line views/stuff.qtpl:72
}
-//line views/stuff.qtpl:66
+//line views/stuff.qtpl:72
qw422016.N().S(`
`)
-//line views/stuff.qtpl:72
+//line views/stuff.qtpl:78
qw422016.N().S(body)
-//line views/stuff.qtpl:72
+//line views/stuff.qtpl:78
qw422016.N().S(`
@@ -221,9 +243,9 @@ func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, lc *l18n.Loca
@@ -231,535 +253,535 @@ func StreamBaseHTML(qw422016 *qt422016.Writer, title, body string, lc *l18n.Loca
`)
-//line views/stuff.qtpl:84
+//line views/stuff.qtpl:90
StreamCommonScripts(qw422016)
-//line views/stuff.qtpl:84
+//line views/stuff.qtpl:90
qw422016.N().S(`