use arcature::prelude::*;
use crate::app::pages::HomePage;
use crate::app::views::WelcomeView;
use crate::bootstrap::AppState;
pub struct HomeController;
#[controller]
impl HomeController {
pub async fn index(State(state): State<AppState>) -> Result<Page<HomePage>> {
Ok(page(HomePage {
message: "Welcome to __PROJECT_NAME__".to_string(),
app_name: state.app_name.clone(),
arcature_version: "__ARCATURE_VERSION__".to_string(),
}))
}
pub async fn welcome(State(state): State<AppState>) -> Result<Response> {
Ok(view(WelcomeView {
title: state.app_name.clone(),
message: "This page was rendered on the server, from \n templates/welcome.html."
.to_string(),
})
.into_response())
}
}