This commit is contained in:
Turtle committed 2026-01-11 10:26:39 +01:00
1 parent 565c1b9911
commit 28490ce8b3
36 files changed
+587 -179

No files matched your search

+63
View File
@@ -0,0 +1,63 @@
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="../lib/basic.css">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=0.8">
</head>
<body>
<overlay onclose="alert('hello');" id="overlay1">test</overlay>
<div class="header_bar_1">
<div>
test1
</div>
<div>
test2
</div>
<div>
<button class="profile"></button>
</div>
</div>
<div class="header_bar_1_placeholder"></div>
<content>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test
<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>test<br>
</content>
<script src="../auth.js"></script>
<script src="../lib/basic.js"></script>
<script src="../help/data_xample.js"></script>
<script>
showOverlay("overlay1");
const couchDB = new CouchDB();
async function main() {
await couchDB.set("xample", {
"my_data": 1,
"more_data": "bla"
});
const data = await couchDB.get("xample");
console.log(JSON.stringify(data));
//Gibt { "my_data": 1, "more_data": "bla" } wieder
console.log(JSON.stringify(await couchDB.get("*")));
//Gibt ["users","course:bucket","course:weiche_ware","course:algebra","course:geometrie","course:statistik","xample"] wieder
}
main();
</script>
</body>
</html>
+3
View File
@@ -0,0 +1,3 @@
async function createTemp() {
console.warn("createTemp is deprecated");
}
+91
View File
@@ -0,0 +1,91 @@
##How to import
<link rel="stylesheet" href="./lib/basic.css">
<script src="./auth.js"></script>
<script src="./lib/basic.js"></script>
##Overlays
```
//Erstelle ein element mit <overlay></overlay> in html und vergebe eine id. Um das overlay anzuzeigen, rufe showOverlay mit der id auf
function showOverlay(string id) -> void;
//Schließe das overlay mit der id
function hideOverlay(string id) -> void;
//Rufe das overlay auf
function getOverlay(string id) -> div;
```
##CouchDB
```
//Klasse zum Interagieren mit CouchDB
//Erstelle eine neue CouchDB-Klasse mit new CouchDB();
class CouchDB {
//Überprüfe, ob CouchDB online ist. (Wird sowieso automatisch gemacht, wenn get, set oder createDB verwendet wird)
async checkOnlineStatus() -> bool;
//Erstellt die Datenbank. (Wird auch automatisch gemacht, wenn man get oder set verwendet)
async createDB() -> void;
//Bekomme das Objekt, was in der Datenbank unter der id gespeichert wurde (Gibt null zurück, wenn nicht vorhanden)
async get(string id) -> Map|null;
//Setze ein Objekt, was in der Datenbank gespeichert wird (Bedenke: Du musst ein Objekt angeben, alles andere (string, array) wird nicht genommen)
async set(string id, object content, boolean replace = true) -> Map;
//Lösche ein Objekt, was in der Datenbank gespeichert ist
async delete(string id) -> Map;
}
```
Hinweise:
- Du brauchst eigentlich nur get oder set (weil alles andere automatisch gemacht wird)
- Wenn CouchDB offline oder online geht, während das html file läuft, musst du manuell checkOnlineStatus() aufrufen, um den Status zu aktualisieren
-> Oder einfach die Seite neuladen :/
- Vergiss nicht auth.js einzubinden!!! sonst 💥
**Beispiel:**
```
async function main() {
const couchDB = new CouchDB();
await couchDB.set("login", {
"username": "bla",
"password": "bla"
});
const data = await couchDB.get("login");
console.log(JSON.stringify(data));
//Gibt { "username": "bla", "password": "bla" } wieder
}
main();
```
##User
```
//Gebe dir den Nutzer wieder
async function getUserData(CouchDB couchDB) -> Map?;
//Setze den Nutzer, welcher unter der Variable userData verfügbar sein wird
async function setUserData(CouchDB couchDB) -> bool;
//Aktualisiert die Nutzerdaten in der Datenbank
async function updateUserData(CouchDB couchDB, object userData) -> Map;
```
##Other
```
//Spielt einen sound ab
//(Funktioniert nur, wenn vorher eine Nutzerinteraktion erfolgt ist (Button-Click etc.))
async function playSound(string src) -> void;
```
##Nützliche CSS-Klassen
- .profile = Runde Profilbox
- overlay = Overlay
- .header_bar_1 = Headerbar
- .header_bar_1_placeholder = Platzhalter für Headerbar
- .add_button = Runder "Hinzufügen"-Knopf