NAC_Blockchain/nac-webdev-init/src/template.rs

54 lines
1.2 KiB
Rust

use colored::*;
pub struct Template {
pub name: &'static str,
pub description: &'static str,
pub framework: &'static str,
}
pub const TEMPLATES: &[Template] = &[
Template {
name: "react-default",
description: "React + Vite基础模板",
framework: "React",
},
Template {
name: "react-ts",
description: "React + TypeScript + Vite",
framework: "React",
},
Template {
name: "vue-default",
description: "Vue 3 + Vite",
framework: "Vue",
},
Template {
name: "wallet",
description: "NAC钱包应用模板",
framework: "React",
},
Template {
name: "exchange",
description: "RWA交易所模板",
framework: "React",
},
];
pub fn list_templates() {
println!("{}", "📦 可用模板:".bright_cyan().bold());
println!();
for template in TEMPLATES {
println!(" {} - {}",
template.name.bright_green(),
template.description
);
println!(" 框架: {}", template.framework.dimmed());
println!();
}
}
pub fn get_template(name: &str) -> Option<&'static Template> {
TEMPLATES.iter().find(|t| t.name == name)
}