diff --git a/resources/templates/launcher.html b/resources/templates/launcher.html index 7a21ff4..d6689e3 100644 --- a/resources/templates/launcher.html +++ b/resources/templates/launcher.html @@ -1,146 +1,190 @@ - - - - - - Kawari Launcher - +{% extends "layout.html" %} - -

Welcome to Kawari!

+{% block title %}Kawari Launcher{% endblock %} - - - - - - - - - - - - - - - +{% block body %} +

Welcome to Kawari!

-

meh

+
+
+
+
+
+
+
+ + +
- - - + // it requests the config again? + window.external.user('requestConfig'); + } + window.fromAppWaitPlay = this.checkHandlerType(fromAppWaitPlay); + + function fromAppStartFileCheck(thing) { + document.getElementById('replace-me').innerText += "file check: " + JSON.stringify(thing); + } + window.fromAppStartFileCheck = this.checkHandlerType(fromAppStartFileCheck); + + function fromAppFileCheckProgress(thing) { + document.getElementById('replace-me').innerText += "file check prog: " + JSON.stringify(thing); + } + window.fromAppFileCheckProgress = this.checkHandlerType(fromAppFileCheckProgress); + + function fromAppFinishedFileCheck(thing) { + document.getElementById('replace-me').innerText += "file check finished: " + JSON.stringify(thing); + } + window.fromAppFinishedFileCheck = this.checkHandlerType(fromAppFinishedFileCheck); + + function fromAppServiceAgreement(thing) { + document.getElementById('replace-me').innerText += "agreement: " + JSON.stringify(thing); + } + window.fromAppServiceAgreement = this.checkHandlerType(fromAppServiceAgreement); + + function fromAppDialog(thing) { + document.getElementById('replace-me').innerText += "dialog: " + JSON.stringify(thing); + } + window.fromAppDialog = this.checkHandlerType(fromAppDialog); + + // this is what the retail launcher does + window.external.user('permissionFromApp=1'); + window.external.user('requestDP'); + window.external.user('requestConfig'); + window.external.user('requestDisplaySettings'); + window.external.user('requestResumeInfo'); + + // setup form submission + const form = document.getElementById("login"); + form.addEventListener("submit", function (event) { + // ie11 is amazing + if (event.preventDefault) { + event.preventDefault(); + } else { + event.returnValue = false; + } + login(); + }); + +{% endblock %} diff --git a/resources/templates/layout.html b/resources/templates/layout.html index 27a6758..94ba857 100644 --- a/resources/templates/layout.html +++ b/resources/templates/layout.html @@ -3,6 +3,7 @@ + {% block title %}some website{% endblock %} diff --git a/src/bin/kawari-launcher.rs b/src/bin/kawari-launcher.rs index 6bfd37a..176b686 100644 --- a/src/bin/kawari-launcher.rs +++ b/src/bin/kawari-launcher.rs @@ -5,9 +5,16 @@ use kawari::config::get_config; use minijinja::Environment; use minijinja::context; use serde::Deserialize; +use tower_http::services::ServeDir; fn setup_default_environment() -> Environment<'static> { let mut env = Environment::new(); + env.add_template_owned( + "layout.html", + std::fs::read_to_string("resources/templates/layout.html") + .expect("Failed to find template!"), + ) + .unwrap(); env.add_template_owned( "launcher.html", std::fs::read_to_string("resources/templates/launcher.html") @@ -41,7 +48,9 @@ async fn root(Query(_): Query) -> Html { async fn main() { tracing_subscriber::fmt::init(); - let app = Router::new().route("/v700/index.html", get(root)); + let app = Router::new() + .route("/v700/index.html", get(root)) + .nest_service("/static", ServeDir::new("resources/static")); let config = get_config();