use super::{AppState, asset};
use axum::Router;
use axum::routing::get;
use std::sync::Arc;
const MODULES: [(&str, &str); 5] = [
("/_zeyn/share.js", include_str!("../../assets/share.js")),
("/_zeyn/chips.js", include_str!("../../assets/chips.js")),
("/_zeyn/preview.js", include_str!("../../assets/preview.js")),
(
"/_zeyn/reactions.js",
include_str!("../../assets/reactions.js"),
),
("/_zeyn/hero.js", include_str!("../../assets/hero.js")),
];
pub(super) const ASSETS: [&str; MODULES.len()] = {
let mut paths = [""; MODULES.len()];
let mut i = 0;
while i < MODULES.len() {
paths[i] = MODULES[i].0;
i += 1;
}
paths
};
pub(super) fn routes(mut router: Router<Arc<AppState>>) -> Router<Arc<AppState>> {
for (path, body) in MODULES {
router = router.route(
path,
get(move || async move { asset(body, "text/javascript; charset=utf-8") }),
);
}
router
}