about summary refs log blame commit diff
path: root/frontend/src/main.rs
blob: 95b52e5a67ea7d1dfc899d9cdea8d47fd7d32ad0 (plain) (tree)
1
2
        
 

































                                                                        
 


                            
mod app;

use yew::prelude::*;
use yew_router::prelude::*;
use app::OSSE;


#[derive(Clone, Routable, PartialEq)]
enum Route {
    #[at("/")]
    OSSEHome,
    #[at("/search/:query")]
    OSSESearch { query: String },
}

fn switch_routes(routes: &Route) -> Html {
    match routes {
        Route::OSSEHome => html! {
            <OSSE api_endpoint={"http://127.0.0.1:4444"}/>
        },
        Route::OSSESearch { query } => html! {
            <OSSE api_endpoint={"http://127.0.0.1:4444"}/>
        },
    }
}

#[function_component(App)]
fn yew_app() -> Html {
    html! {
        <>
            <BrowserRouter>
                <Switch<Route> render={Switch::render(switch_routes)} />
            </BrowserRouter>
        </>
    }
}

fn main() {
    yew::start_app::<App>();
}