3 Commits
Author SHA1 Message Date
sbstp 9267786371 cargo fmt
ci/woodpecker/push/fmt Pipeline is pending
ci/woodpecker/push/test Pipeline is pending
ci/woodpecker/push/e2e Pipeline was canceled
2026-08-07 22:49:50 -04:00
sbstp e24f4ff7e2 archived list count 2026-08-07 22:49:31 -04:00
sbstp 56cd6e32e9 hx boost + bug fix 2026-08-07 22:46:53 -04:00
2 changed files with 7 additions and 5 deletions
+2
View File
@@ -603,10 +603,12 @@ async fn lists_page(
user: CurrentUser,
) -> Result<Response, AppError> {
let lists = state.lists.list_summaries().await?;
let archived = state.lists.list_archived_summaries().await?;
let categories = state.lists.categories().await?;
Ok(html_response(views::lists_page(
&user.session.user,
&lists,
archived.len(),
&categories,
&user.session.csrf_token,
)))
+5 -5
View File
@@ -173,6 +173,7 @@ pub fn account_page(
pub fn lists_page(
user: &User,
lists: &[GroceryList],
archived_count: usize,
categories: &[Category],
csrf_token: &str,
) -> Markup {
@@ -192,7 +193,7 @@ pub fn lists_page(
div class="panel-heading" {
h2 { "Lists" }
span class="count-badge" { (lists.len()) }
a class="archive-link" href="/archive" { "Archived →" }
a class="archive-link" href="/archive" { "Archived " span class="count-badge" { (archived_count) } "" }
}
@if lists.is_empty() {
div class="empty-state" {
@@ -1103,7 +1104,7 @@ pub fn live_list_fragments(
) -> Markup {
let editable = list.archived_at.is_none();
html! {
(list_content_fragment(list, items, categories, csrf_token, true, editable))
(list_items_fragment(list, items, categories, csrf_token, true, editable))
(list_meals_panel(list_meals, list.id, csrf_token, true, editable))
}
}
@@ -1248,8 +1249,7 @@ fn format_date(timestamp: i64) -> String {
let days = timestamp.div_euclid(86_400);
let (y, m, d) = civil_from_days(days);
const MONTHS: [&str; 12] = [
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
"Dec",
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
];
format!("{} {} {}", d, MONTHS[(m - 1) as usize], y)
}
@@ -1296,7 +1296,7 @@ fn page(title: &str, user: Option<&User>, content: Markup) -> Markup {
script src="https://unpkg.com/htmx.org@2.0.4" {}
script src="https://unpkg.com/htmx-ext-ws@2.0.2/ws.js" {}
}
body {
body hx-boost="true" {
header class="site-header" {
a class="brand" href="/lists" { span class="brand-mark" { "S" } "Sustenance" }
@if let Some(user) = user {