Favicon, level file icons, and a feed error mark in the triangle's column
- The logo as favicon, squared up (it is 128x121), at /favicon.png and at /favicon.ico outside the auth layer, where a browser asking on its own got a 401; an apple-touch-icon on white (#32). - An item not yet downloaded had its download bar on a line of its own under the file icon, lifting the icon above its row's; the bar now sits under it without taking space (#31). - A feed error is Font Awesome's exclamation, hung in the margin where a folder's triangle is, in the same column; a folder holding a failing feed has its triangle turn red. Closes #31, #32. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
22
src/web.rs
22
src/web.rs
@@ -65,6 +65,9 @@ pub fn router(state: WebState) -> Router {
|
||||
.route("/login", get(login_page))
|
||||
.route("/api/login", post(login))
|
||||
.route("/icon.png", get(icon))
|
||||
.route("/favicon.ico", get(favicon))
|
||||
.route("/favicon.png", get(favicon))
|
||||
.route("/apple-touch-icon.png", get(touch_icon))
|
||||
.route("/app.js", get(app_js))
|
||||
.route("/login.js", get(login_js))
|
||||
.route("/inter.woff2", get(inter))
|
||||
@@ -477,6 +480,25 @@ async fn icon() -> impl IntoResponse {
|
||||
)
|
||||
}
|
||||
|
||||
/// The logo, squared up with transparent padding: it is 128x121, and a tab icon that is not
|
||||
/// square can be passed over. /favicon.ico is the same PNG, for a browser that asks for that
|
||||
/// on its own; behind the auth layer it answered 401, and the tab stayed blank.
|
||||
async fn favicon() -> impl IntoResponse {
|
||||
(
|
||||
[(header::CONTENT_TYPE, "image/png"), (header::CACHE_CONTROL, "max-age=86400")],
|
||||
include_bytes!("../web/favicon.png").as_slice(),
|
||||
)
|
||||
}
|
||||
|
||||
/// For an iPhone's home screen, which paints a transparent icon's background black, so this
|
||||
/// one is on white.
|
||||
async fn touch_icon() -> impl IntoResponse {
|
||||
(
|
||||
[(header::CONTENT_TYPE, "image/png"), (header::CACHE_CONTROL, "max-age=86400")],
|
||||
include_bytes!("../web/apple-touch-icon.png").as_slice(),
|
||||
)
|
||||
}
|
||||
|
||||
/// Inter, the pages' typeface, served from the binary as the icon is, so neither page loads
|
||||
/// anything from anyone else. Outside the auth layer for the sign-in page. Its licence, the SIL
|
||||
/// Open Font License, is web/Inter-LICENSE.txt.
|
||||
|
||||
Reference in New Issue
Block a user