diff --git a/CHANGELOG.md b/CHANGELOG.md
index c596426..8658f2a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- The logo's needle is a brighter, redder orange that stands apart from the blue bars.
+- The logo is in the top bar beside the add-feed button, in place of the name at the top of the
+ feed list. Hovering it shows iPX's version.
### Fixed
diff --git a/src/web.rs b/src/web.rs
index 762f755..d97d735 100644
--- a/src/web.rs
+++ b/src/web.rs
@@ -610,6 +610,9 @@ fn constant_time_eq(a: &str, b: &str) -> bool {
// quotes, so ADMIN_LINK and HTML_TAG are spelled the way the minifier leaves them.
const INDEX: &str = include_str!(concat!(env!("OUT_DIR"), "/index.html"));
const ADMIN_LINK: &str = "";
/// are an admin. Not hidden for everyone else but left out: hiding it from the page's script
/// showed it for a moment on every load, until /api/me answered (issue #29).
fn page_for(admin: bool, theme: (Option, Option)) -> String {
- let mut page = with_theme(INDEX, theme);
+ let mut page = with_theme(INDEX, theme).replacen(VERSION_SLOT, concat!("iPX ", env!("CARGO_PKG_VERSION")), 1);
if !admin
&& let Some(at) = page.find(ADMIN_LINK)
&& let Some(len) = page[at..].find("")
@@ -1002,6 +1005,13 @@ mod tests {
assert!(page.contains("id=prefs"), "and only the link: the settings button beside it stays");
}
+ #[test]
+ fn the_logo_names_the_version() {
+ // If the minifier drifts from VERSION_SLOT, replacen matches nothing and says nothing.
+ let page = page_for(false, (None, None));
+ assert!(!page.contains(VERSION_SLOT) && page.contains(concat!("iPX ", env!("CARGO_PKG_VERSION"))));
+ }
+
#[test]
fn the_page_arrives_in_the_theme_the_account_chose() {
let page = |t: &str, m: &str| page_for(true, (Some(t.into()), Some(m.into())));
diff --git a/web/app.css b/web/app.css
index e57cde6..de84093 100644
--- a/web/app.css
+++ b/web/app.css
@@ -493,11 +493,7 @@ a{color:var(--accent)}
background:var(--panel);border-right:1px solid var(--line);
display:flex;flex-direction:column;min-height:0;
}
-.brand{display:flex;align-items:center;gap:9px;padding:14px 14px 10px}
-.brand .logo{
- width:30px;height:30px;flex:none;border-radius:7px;
-}
-.brand h1{font-size:16px;margin:0;font-weight:650;letter-spacing:-.01em;color:var(--fg);flex:1}
+#applogo{width:28px;height:28px;flex:none;border-radius:7px}
.iconbtn{
width:30px;height:30px;border-radius:8px;display:grid;place-items:center;
color:var(--dim);flex:none;
@@ -548,7 +544,7 @@ a{color:var(--accent)}
.who button:hover{color:var(--fg)}
.sidefoot button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.sidefoot i{font-style:normal;opacity:.75}
-.searchwrap{padding:0 12px 8px}
+.searchwrap{padding:12px 12px 8px}
input[type=search],input[type=text],input[type=password],input[type=number],select{
width:100%;background:var(--bg);border:1px solid var(--line);color:var(--fg);
border-radius:8px;padding:7px 10px;font:inherit;font-size:13.5px;
diff --git a/web/index.html b/web/index.html
index 8a3c7e9..02c7e11 100644
--- a/web/index.html
+++ b/web/index.html
@@ -14,6 +14,7 @@
+