Improve a bit frontend

This commit is contained in:
Quentin Legot 2023-01-09 01:31:12 +01:00
parent ad3988ed29
commit dec3172af3
3 changed files with 14 additions and 29 deletions

View File

@ -15,18 +15,18 @@ fn greet(name: &str) -> String {
}
#[tauri::command]
async fn second_window(app: tauri::AppHandle, _window: tauri::Window) -> Result<String, ()> {
async fn login(app: tauri::AppHandle, _window: tauri::Window) -> Result<String, String> {
let result = Authentification::login(Prompt::SelectAccount, app).await;
match result {
Ok(val) => Ok(format!("Hello {}", val.1)),
Err(err) => Ok(err.to_string())
Err(err) => Err(err.to_string())
}
}
#[tokio::main]
async fn main() {
tauri::Builder::default()
.invoke_handler(tauri::generate_handler![greet, second_window])
.invoke_handler(tauri::generate_handler![greet, login])
.run(tauri::generate_context!())
.expect("error while running tauri application");
}

View File

@ -17,28 +17,10 @@
<div class="container">
<h1>Welcome to Tauri!</h1>
<div class="row">
<a href="https://tauri.app" target="_blank">
<img src="/assets/tauri.svg" class="logo tauri" alt="Tauri logo" />
</a>
<a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript"
target="_blank"
>
<img
src="/assets/javascript.svg"
class="logo vanilla"
alt="JavaScript logo"
/>
</a>
</div>
<p>Click on the Tauri logo to learn more about the framework</p>
<div class="row">
<div>
<input id="greet-input" placeholder="Enter a name..." />
<button id="greet-button" type="button">Greet</button>
<button id="greet-button" type="button">Login to Minecraft</button>
<button id="greet-button" type="button" hidden>Launch the game</button>
</div>
</div>

View File

@ -1,17 +1,20 @@
const { invoke } = window.__TAURI__.tauri;
let greetInputEl;
let greetMsgEl;
let greetButton;
async function greet() {
// Learn more about Tauri commands at https://tauri.app/v1/guides/features/command
greetMsgEl.textContent = await invoke("second_window", { name: greetInputEl.value });
// greetMsgEl.textContent = await invoke("login", {});
invoke("login", {}).then(value => {
greetMsgEl.textContent = value
}).catch(err => {
greetMsgEl.textContent = "Error: " + err
})
}
window.addEventListener("DOMContentLoaded", () => {
greetInputEl = document.querySelector("#greet-input");
greetMsgEl = document.querySelector("#greet-msg");
document
.querySelector("#greet-button")
.addEventListener("click", () => greet());
greetButton = document.querySelector("#greet-button")
greetButton.addEventListener("click", () => greet());
});