Whui
This commit is contained in:
parent
96033b4b9f
commit
9609a80f7f
4 changed files with 120 additions and 93 deletions
|
@ -12,7 +12,11 @@ struct AppState {
|
||||||
#[derive(Clone, Copy)]
|
#[derive(Clone, Copy)]
|
||||||
enum Store {
|
enum Store {
|
||||||
Aldi,
|
Aldi,
|
||||||
|
Edeka,
|
||||||
|
Dm,
|
||||||
|
Lidl,
|
||||||
Rewe,
|
Rewe,
|
||||||
|
Tegut,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl TryFrom<&str> for Store {
|
impl TryFrom<&str> for Store {
|
||||||
|
@ -21,7 +25,11 @@ impl TryFrom<&str> for Store {
|
||||||
fn try_from(s: &str) -> Result<Self, Self::Error> {
|
fn try_from(s: &str) -> Result<Self, Self::Error> {
|
||||||
match s {
|
match s {
|
||||||
"aldi" => Ok(Store::Aldi),
|
"aldi" => Ok(Store::Aldi),
|
||||||
|
"edeka" => Ok(Store::Edeka),
|
||||||
|
"dm" => Ok(Store::Dm),
|
||||||
|
"lidl" => Ok(Store::Lidl),
|
||||||
"rewe" => Ok(Store::Rewe),
|
"rewe" => Ok(Store::Rewe),
|
||||||
|
"tegut" => Ok(Store::Tegut),
|
||||||
_ => Err(()),
|
_ => Err(()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,7 +39,11 @@ impl ToSql for Store {
|
||||||
fn to_sql(&self) -> rusqlite::Result<ToSqlOutput<'_>> {
|
fn to_sql(&self) -> rusqlite::Result<ToSqlOutput<'_>> {
|
||||||
match self {
|
match self {
|
||||||
Store::Aldi => 0.to_sql(),
|
Store::Aldi => 0.to_sql(),
|
||||||
Store::Rewe => 1.to_sql(),
|
Store::Edeka => 1.to_sql(),
|
||||||
|
Store::Dm => 2.to_sql(),
|
||||||
|
Store::Lidl => 3.to_sql(),
|
||||||
|
Store::Rewe => 4.to_sql(),
|
||||||
|
Store::Tegut => 5.to_sql(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
132
src/index.html
132
src/index.html
|
@ -1,70 +1,70 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="stylesheet" href="styles.css" />
|
<link rel="stylesheet" href="styles.css" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Tauri App</title>
|
<title>Tauri App</title>
|
||||||
<script type="module" src="/main.js" defer></script>
|
<script type="module" src="/main.js" defer></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<main class="container">
|
<main class="container">
|
||||||
<form class="column" id="aldi-form">
|
<form class="column" id="aldi-form">
|
||||||
<button type="submit">
|
<button type="submit">
|
||||||
<img
|
<img
|
||||||
src="/assets/aldi.svg"
|
src="/assets/aldi.svg"
|
||||||
class="logo"
|
class="logo"
|
||||||
alt="ALDI-Süd-Logo"
|
alt="ALDI-Süd-Logo"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
<form class="column" id="edeka-form">
|
<form class="column" id="edeka-form">
|
||||||
<button type="submit">
|
<button type="submit">
|
||||||
<img
|
<img
|
||||||
src="/assets/edeka.svg"
|
src="/assets/edeka.svg"
|
||||||
class="logo"
|
class="logo"
|
||||||
alt="Edeka-Logo"
|
alt="Edeka-Logo"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
<form class="column" id="dm-form">
|
<form class="column" id="dm-form">
|
||||||
<button type="submit">
|
<button type="submit">
|
||||||
<img
|
<img
|
||||||
src="/assets/dm.svg"
|
src="/assets/dm.svg"
|
||||||
class="logo"
|
class="logo"
|
||||||
alt="dm-Logo"
|
alt="dm-Logo"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
<form class="column" id="lidl-form">
|
<form class="column" id="lidl-form">
|
||||||
<button type="submit">
|
<button type="submit">
|
||||||
<img
|
<img
|
||||||
src="/assets/lidl.svg"
|
src="/assets/lidl.svg"
|
||||||
class="logo"
|
class="logo"
|
||||||
alt="Lidl-Logo"
|
alt="Lidl-Logo"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
<form class="column" id="rewe-form">
|
<form class="column" id="rewe-form">
|
||||||
<button type="submit">
|
<button type="submit">
|
||||||
<img
|
<img
|
||||||
src="/assets/rewe.svg"
|
src="/assets/rewe.svg"
|
||||||
class="logo"
|
class="logo"
|
||||||
alt="Rewe-Logo"
|
alt="Rewe-Logo"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
<form class="column" id="tegut-form">
|
<form class="column" id="tegut-form">
|
||||||
<button type="submit">
|
<button type="submit">
|
||||||
<img
|
<img
|
||||||
src="/assets/tegut.svg"
|
src="/assets/tegut.svg"
|
||||||
class="logo"
|
class="logo"
|
||||||
alt="Tegut-Logo"
|
alt="Tegut-Logo"
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
<p id="cnt-msg"></p>
|
</main>
|
||||||
</main>
|
<p id="cnt-msg"></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
43
src/main.js
43
src/main.js
|
@ -7,24 +7,35 @@ let cntMsgEl;
|
||||||
// greetMsgEl.textContent = await invoke("greet", { name: greetInputEl.value });
|
// greetMsgEl.textContent = await invoke("greet", { name: greetInputEl.value });
|
||||||
//}
|
//}
|
||||||
|
|
||||||
async function aldi() {
|
async function swap(s) {
|
||||||
await invoke("swap", { store: "aldi" });
|
invoke("swap", { store: s });
|
||||||
cntMsgEl.textContent = await invoke("count", {});
|
|
||||||
}
|
|
||||||
|
|
||||||
async function rewe() {
|
|
||||||
invoke("swap", { store: "rewe" });
|
|
||||||
cntMsgEl.textContent = await invoke("count", {});
|
cntMsgEl.textContent = await invoke("count", {});
|
||||||
}
|
}
|
||||||
|
|
||||||
window.addEventListener("DOMContentLoaded", () => {
|
window.addEventListener("DOMContentLoaded", () => {
|
||||||
cntMsgEl = document.querySelector("#cnt-msg");
|
cntMsgEl = document.querySelector("#cnt-msg");
|
||||||
document.querySelector("#aldi-form").addEventListener("submit", (e) => {
|
document.querySelector("#aldi-form").addEventListener("submit", (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
aldi();
|
swap("aldi");
|
||||||
});
|
});
|
||||||
document.querySelector("#rewe-form").addEventListener("submit", (e) => {
|
document.querySelector("#edeka-form").addEventListener("submit", (e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
rewe();
|
swap("edeka");
|
||||||
});
|
});
|
||||||
|
document.querySelector("#dm-form").addEventListener("submit", (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
swap("dm");
|
||||||
|
});
|
||||||
|
document.querySelector("#lidl-form").addEventListener("submit", (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
swap("lidl");
|
||||||
|
});
|
||||||
|
document.querySelector("#rewe-form").addEventListener("submit", (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
swap("rewe");
|
||||||
|
});
|
||||||
|
document.querySelector("#tegut-form").addEventListener("submit", (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
swap("tegut");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -15,24 +15,30 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
margin: 0;
|
margin: auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: center;
|
flex-wrap: wrap;
|
||||||
|
justify-content: space-around;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
gap: 3mm;
|
||||||
}
|
}
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
|
margin: auto;
|
||||||
padding: 0em 0em;
|
padding: 0em 0em;
|
||||||
will-change: filter;
|
will-change: filter;
|
||||||
transition: 0.75s;
|
transition: 0.75s;
|
||||||
max-height: 2cm;
|
max-height: 100%;
|
||||||
width: 3cm;
|
max-width: 100%;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.row {
|
.column {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
flex: 1;
|
||||||
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
|
@ -50,7 +56,9 @@ h1 {
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
width: 3.5cm;
|
margin: auto;
|
||||||
|
flex: 1;
|
||||||
|
min-width: 3.5cm;
|
||||||
height: 2.5cm;
|
height: 2.5cm;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
|
@ -81,10 +89,6 @@ button {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#greet-input {
|
|
||||||
margin-right: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
:root {
|
:root {
|
||||||
color: #f6f6f6;
|
color: #f6f6f6;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue