diff --git a/src/modes/server/pages.rs b/src/modes/server/pages.rs index efad36f..ade85af 100644 --- a/src/modes/server/pages.rs +++ b/src/modes/server/pages.rs @@ -101,6 +101,32 @@ fn build_item_list(conn: &Connection, params: &ListQueryParams, columns: &[Colum html.push_str("

Items

"); html.push_str("

API Documentation

"); + // Add recent tags section + html.push_str("

Recent Tags

"); + let recent_tags_query = " + SELECT DISTINCT t.name + FROM tags t + JOIN item_tags it ON t.id = it.tag_id + ORDER BY it.id DESC + LIMIT 20 + "; + let mut stmt = conn.prepare(recent_tags_query)?; + let tag_iter = stmt.query_map([], |row| { + Ok(row.get::<_, String>(0)?) + })?; + + let recent_tags: Vec = tag_iter.collect::, _>>()?; + + if recent_tags.is_empty() { + html.push_str("

No tags found

"); + } else { + html.push_str("

"); + for tag in recent_tags { + html.push_str(&format!("{}", tag, tag)); + } + html.push_str("

"); + } + // Start table html.push_str("");