use super::templates::PercentEncoded;
use crate::config::*;
use crate::network;
use crate::network::net::Net;
use windmark::response::Response;
pub fn handler(
cfg: &Config,
net: &Net,
username: PercentEncoded,
) -> Result<Response, network::error::Error> {
let repos = &cfg.forge_api().get_user_repos(net, &username)?;
let repo_links: Vec<String> = repos.iter().map(super::templates::repo_link).collect();
let gemtext_list: String = repo_links
.iter()
.map(|n: &String| format!("{n}\n"))
.collect::<Vec<String>>()
.concat();
let gemtext: String = format!(
"Repos for {}:\n{gemtext_list}\n{} out of ??",
username.display(),
repos.len(),
);
return Ok(Response::success(gemtext));
}