This commit is contained in:
Bianca Fürstenau 2025-02-09 09:01:59 +01:00
parent 96033b4b9f
commit 9609a80f7f
4 changed files with 120 additions and 93 deletions

View file

@ -12,7 +12,11 @@ struct AppState {
#[derive(Clone, Copy)]
enum Store {
Aldi,
Edeka,
Dm,
Lidl,
Rewe,
Tegut,
}
impl TryFrom<&str> for Store {
@ -21,7 +25,11 @@ impl TryFrom<&str> for Store {
fn try_from(s: &str) -> Result<Self, Self::Error> {
match s {
"aldi" => Ok(Store::Aldi),
"edeka" => Ok(Store::Edeka),
"dm" => Ok(Store::Dm),
"lidl" => Ok(Store::Lidl),
"rewe" => Ok(Store::Rewe),
"tegut" => Ok(Store::Tegut),
_ => Err(()),
}
}
@ -31,7 +39,11 @@ impl ToSql for Store {
fn to_sql(&self) -> rusqlite::Result<ToSqlOutput<'_>> {
match self {
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(),
}
}
}

View file

@ -64,7 +64,7 @@
/>
</button>
</form>
<p id="cnt-msg"></p>
</main>
<p id="cnt-msg"></p>
</body>
</html>

View file

@ -7,13 +7,8 @@ let cntMsgEl;
// greetMsgEl.textContent = await invoke("greet", { name: greetInputEl.value });
//}
async function aldi() {
await invoke("swap", { store: "aldi" });
cntMsgEl.textContent = await invoke("count", {});
}
async function rewe() {
invoke("swap", { store: "rewe" });
async function swap(s) {
invoke("swap", { store: s });
cntMsgEl.textContent = await invoke("count", {});
}
@ -21,10 +16,26 @@ window.addEventListener("DOMContentLoaded", () => {
cntMsgEl = document.querySelector("#cnt-msg");
document.querySelector("#aldi-form").addEventListener("submit", (e) => {
e.preventDefault();
aldi();
swap("aldi");
});
document.querySelector("#edeka-form").addEventListener("submit", (e) => {
e.preventDefault();
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();
rewe();
swap("rewe");
});
document.querySelector("#tegut-form").addEventListener("submit", (e) => {
e.preventDefault();
swap("tegut");
});
});

View file

@ -15,24 +15,30 @@
}
.container {
margin: 0;
margin: auto;
display: flex;
flex-direction: row;
justify-content: center;
flex-wrap: wrap;
justify-content: space-around;
text-align: center;
gap: 3mm;
}
.logo {
margin: auto;
padding: 0em 0em;
will-change: filter;
transition: 0.75s;
max-height: 2cm;
width: 3cm;
max-height: 100%;
max-width: 100%;
width: 100%;
}
.row {
.column {
display: flex;
justify-content: center;
flex: 1;
margin: auto;
}
a {
@ -50,7 +56,9 @@ h1 {
}
button {
width: 3.5cm;
margin: auto;
flex: 1;
min-width: 3.5cm;
height: 2.5cm;
border-radius: 8px;
border: 1px solid transparent;
@ -81,10 +89,6 @@ button {
outline: none;
}
#greet-input {
margin-right: 5px;
}
@media (prefers-color-scheme: dark) {
:root {
color: #f6f6f6;