Online-Training: Flip, Multiple, Matching, Hint, Schreiben
This commit is contained in:
@@ -58,15 +58,22 @@
|
|||||||
<div id="onlineTraining">
|
<div id="onlineTraining">
|
||||||
|
|
||||||
<div id="trainingLevels" class="training-view">
|
<div id="trainingLevels" class="training-view">
|
||||||
<h3>Wählt einen Schwierigkeitsgrad:</h3>
|
<h3 class="training-title">Wählt eine Trainingsart:</h3>
|
||||||
<button class="level-btn" data-level="leicht">🟢 Leicht</button>
|
|
||||||
<button class="level-btn" data-level="mittel">🟡 Mittel</button>
|
<div class="buttons-row">
|
||||||
<button class="level-btn" data-level="schwer">🔴 Schwer</button>
|
<button class="level-btn" data-level="flip">Karte umdrehen</button>
|
||||||
|
<button class="level-btn" data-level="multiple">Multiple Choice</button>
|
||||||
|
<button class="level-btn" data-level="matching">Zuordnen</button>
|
||||||
|
<button class="level-btn" data-level="hint">Mit Hinweis schreiben</button>
|
||||||
|
<button class="level-btn" data-level="write">Frei schreiben</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="trainingLeicht" class="training-view"></div>
|
<div id="trainingFlip" class="training-view hidden"></div>
|
||||||
<div id="trainingMittel" class="training-view"></div>
|
<div id="trainingMatching" class="training-view hidden"></div>
|
||||||
<div id="trainingSchwer" class="training-view"></div>
|
<div id="trainingMultiple" class="training-view hidden"></div>
|
||||||
|
<div id="trainingHint" class="training-view hidden"></div>
|
||||||
|
<div id="trainingWrite" class="training-view hidden"></div>
|
||||||
|
|
||||||
<div class="button-wrapper">
|
<div class="button-wrapper">
|
||||||
<button id="checkBtn" style="display:none;" onclick="pruefeRunde()">Überprüfen</button>
|
<button id="checkBtn" style="display:none;" onclick="pruefeRunde()">Überprüfen</button>
|
||||||
|
|||||||
@@ -231,7 +231,7 @@ function zeigeNaechsteKarte() {
|
|||||||
|
|
||||||
// Rendert eine einzelne Karte im leichten Modus.
|
// Rendert eine einzelne Karte im leichten Modus.
|
||||||
function renderLeichtKarte(karte) {
|
function renderLeichtKarte(karte) {
|
||||||
const container = document.getElementById("trainingLeicht");
|
const container = document.getElementById("trainingFlip");
|
||||||
container.innerHTML = "";
|
container.innerHTML = "";
|
||||||
|
|
||||||
const cardEl = document.createElement("div");
|
const cardEl = document.createElement("div");
|
||||||
@@ -307,7 +307,7 @@ function ladeMittelRunde() {
|
|||||||
|
|
||||||
// Rendert das Matching-Layout für den mittleren Modus.
|
// Rendert das Matching-Layout für den mittleren Modus.
|
||||||
function renderMittelMatching() {
|
function renderMittelMatching() {
|
||||||
const container = document.getElementById("trainingMittel");
|
const container = document.getElementById("trainingMatching");
|
||||||
container.innerHTML = "";
|
container.innerHTML = "";
|
||||||
|
|
||||||
const links = document.createElement("div");
|
const links = document.createElement("div");
|
||||||
@@ -450,16 +450,49 @@ function beendeMittelRunde() {
|
|||||||
|
|
||||||
// Tauscht zwei Ziehkarten anhand ihrer Indizes
|
// Tauscht zwei Ziehkarten anhand ihrer Indizes
|
||||||
function swapZiehKarten(index1, index2) {
|
function swapZiehKarten(index1, index2) {
|
||||||
|
[trainingsZustand.ziehKarten[index1], trainingsZustand.ziehKarten[index2]] =
|
||||||
const temp = trainingsZustand.ziehKarten[index1];
|
[trainingsZustand.ziehKarten[index2], trainingsZustand.ziehKarten[index1]];
|
||||||
trainingsZustand.ziehKarten[index1] =
|
|
||||||
trainingsZustand.ziehKarten[index2];
|
|
||||||
trainingsZustand.ziehKarten[index2] = temp;
|
|
||||||
|
|
||||||
const container = document.querySelector(".spalte-rechts");
|
const container = document.querySelector(".spalte-rechts");
|
||||||
const cards = container.children;
|
container.innerHTML = "";
|
||||||
|
|
||||||
container.insertBefore(cards[index2], cards[index1]);
|
trainingsZustand.ziehKarten.forEach((karte, idx) => {
|
||||||
|
const ziehKarte = document.createElement("div");
|
||||||
|
ziehKarte.className = "training-card zieh-karte";
|
||||||
|
ziehKarte.draggable = true;
|
||||||
|
ziehKarte.dataset.index = idx;
|
||||||
|
|
||||||
|
if (trainingsZustand.richtung === "EN_DE") {
|
||||||
|
ziehKarte.innerHTML = `
|
||||||
|
<div class="">
|
||||||
|
<h2>${karte.deutsch}</h2>
|
||||||
|
<div class="example">${karte.beispielDE}</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
} else {
|
||||||
|
ziehKarte.innerHTML = `
|
||||||
|
<div class="">
|
||||||
|
<h2>${karte.englisch}</h2>
|
||||||
|
<div class="ipa">${karte.ipa}</div>
|
||||||
|
<div class="example">${karte.beispielEN}</div>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
ziehKarte.addEventListener("dragstart", e => {
|
||||||
|
e.dataTransfer.setData("draggedIndex", idx);
|
||||||
|
});
|
||||||
|
|
||||||
|
ziehKarte.addEventListener("dragover", e => e.preventDefault());
|
||||||
|
|
||||||
|
ziehKarte.addEventListener("drop", e => {
|
||||||
|
e.preventDefault();
|
||||||
|
const draggedIndex = Number(e.dataTransfer.getData("draggedIndex"));
|
||||||
|
swapZiehKarten(draggedIndex, idx);
|
||||||
|
});
|
||||||
|
|
||||||
|
container.appendChild(ziehKarte);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Blendet alle Trainingslevel-Ansichten aus
|
// Blendet alle Trainingslevel-Ansichten aus
|
||||||
@@ -472,37 +505,260 @@ function showMode(id) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function showLevel(id) {
|
function showLevel(id) {
|
||||||
document.getElementById("trainingLeicht").classList.add("hidden");
|
document.querySelectorAll("#onlineTraining .training-view").forEach(view => {
|
||||||
document.getElementById("trainingMittel").classList.add("hidden");
|
if (view.id !== "trainingLevels") {
|
||||||
document.getElementById("trainingSchwer").classList.add("hidden");
|
view.classList.add("hidden");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
document.getElementById(id).classList.remove("hidden");
|
document.getElementById(id).classList.remove("hidden");
|
||||||
}
|
}
|
||||||
|
|
||||||
document.querySelectorAll(".level-btn").forEach(btn => {
|
document.querySelectorAll(".level-btn").forEach(btn => {
|
||||||
btn.addEventListener("click", () => {
|
btn.addEventListener("click", () => {
|
||||||
const level = btn.dataset.level;
|
const type = btn.dataset.level;
|
||||||
console.log("Level ausgewähl:", level);
|
console.log("Trainingsart:", type);
|
||||||
|
|
||||||
if (level === "leicht") {
|
if (type === "flip") {
|
||||||
showLevel("trainingLeicht");
|
showLevel("trainingFlip");
|
||||||
startLeichtTraining();
|
startLeichtTraining();
|
||||||
|
|
||||||
document.getElementById("checkBtn").style.display = "none";
|
document.getElementById("checkBtn").style.display = "none";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level === "mittel") {
|
if (type === "matching") {
|
||||||
showLevel("trainingMittel");
|
showLevel("trainingMatching");
|
||||||
startMittelTraining();
|
startMittelTraining();
|
||||||
|
|
||||||
document.getElementById("checkBtn").style.display = "block";
|
document.getElementById("checkBtn").style.display = "block";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level === "schwer") {
|
if (type === "multiple") {
|
||||||
showLevel("trainingSchwer");
|
showLevel("trainingMultiple");
|
||||||
startSchwerTraining();
|
startMultipleTraining();
|
||||||
|
document.getElementById("checkBtn").style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type === "hint") {
|
||||||
|
showLevel("trainingHint");
|
||||||
|
startHintTraining();
|
||||||
|
document.getElementById("checkBtn").style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type === "write") {
|
||||||
|
showLevel("trainingWrite");
|
||||||
|
startWriteTraining();
|
||||||
document.getElementById("checkBtn").style.display = "none";
|
document.getElementById("checkBtn").style.display = "none";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function startMultipleTraining() {
|
||||||
|
trainingsZustand.modus = "multiple";
|
||||||
|
trainingsZustand.quelleKarten = mischeArray([...parsedArray]);
|
||||||
|
trainingsZustand.aktuelleKarte = null;
|
||||||
|
trainingsZustand.gelernt = [];
|
||||||
|
trainingsZustand.nichtGelernt = [];
|
||||||
|
|
||||||
|
zeigeNaechsteMultipleKarte();
|
||||||
|
}
|
||||||
|
|
||||||
|
function generiereMultipleOptionen(karte) {
|
||||||
|
const optionen = [karte.deutsch];
|
||||||
|
|
||||||
|
const falscheOptionen = parsedArray
|
||||||
|
.filter(k => k.id !== karte.id)
|
||||||
|
.map(k => k.deutsch);
|
||||||
|
|
||||||
|
mischeArray(falscheOptionen);
|
||||||
|
|
||||||
|
optionen.push(...falscheOptionen.slice(0, 4));
|
||||||
|
|
||||||
|
return mischeArray(optionen);
|
||||||
|
}
|
||||||
|
|
||||||
|
function generiereHint(deutsch) {
|
||||||
|
const chars = deutsch.split('');
|
||||||
|
const anzahlZuVerstecken = Math.floor(chars.length / 2);
|
||||||
|
|
||||||
|
const indices = Array.from(chars.keys());
|
||||||
|
mischeArray(indices);
|
||||||
|
|
||||||
|
for (let i = 0; i < anzahlZuVerstecken; i++) {
|
||||||
|
chars[indices[i]] = '*';
|
||||||
|
}
|
||||||
|
|
||||||
|
return chars.join('');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function zeigeNaechsteMultipleKarte() {
|
||||||
|
if (trainingsZustand.quelleKarten.length === 0) {
|
||||||
|
alert(`Training beendet!
|
||||||
|
Gelernt: ${trainingsZustand.gelernt.length}
|
||||||
|
Nicht gelernt: ${trainingsZustand.nichtGelernt.length}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const karte = trainingsZustand.quelleKarten.shift();
|
||||||
|
trainingsZustand.aktuelleKarte = karte;
|
||||||
|
|
||||||
|
const container = document.getElementById("trainingMultiple");
|
||||||
|
container.innerHTML = "";
|
||||||
|
|
||||||
|
const frage = document.createElement("div");
|
||||||
|
frage.className = "multiple-frage";
|
||||||
|
frage.innerHTML = `<h2>${karte.englisch}</h2>`;
|
||||||
|
container.appendChild(frage);
|
||||||
|
|
||||||
|
const optionen = generiereMultipleOptionen(karte);
|
||||||
|
const optionContainer = document.createElement("div");
|
||||||
|
optionContainer.className = "multiple-optionen";
|
||||||
|
|
||||||
|
optionen.forEach(text => {
|
||||||
|
const btn = document.createElement("button");
|
||||||
|
btn.className = "multiple-option";
|
||||||
|
btn.innerText = text;
|
||||||
|
|
||||||
|
btn.onclick = () => {
|
||||||
|
if (text === karte.deutsch) {
|
||||||
|
trainingsZustand.gelernt.push(karte);
|
||||||
|
zeigeNaechsteMultipleKarte();
|
||||||
|
} else {
|
||||||
|
btn.style.textDecoration = "line-through";
|
||||||
|
btn.disabled = true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
optionContainer.appendChild(btn);
|
||||||
|
});
|
||||||
|
|
||||||
|
container.appendChild(optionContainer);
|
||||||
|
}
|
||||||
|
|
||||||
|
trainingsZustand.hintCards = [];
|
||||||
|
|
||||||
|
function startHintTraining() {
|
||||||
|
trainingsZustand.modus = "hint";
|
||||||
|
trainingsZustand.hintCards = mischeArray([...parsedArray]);
|
||||||
|
zeigeNaechsteHintKarte();
|
||||||
|
}
|
||||||
|
|
||||||
|
function zeigeNaechsteHintKarte() {
|
||||||
|
if (trainingsZustand.hintCards.length === 0) {
|
||||||
|
alert(`Training beendet!
|
||||||
|
Gelernt: ${trainingsZustand.gelernt.length}
|
||||||
|
Nicht gelernt: ${trainingsZustand.nichtGelernt.length}`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const karte = trainingsZustand.hintCards.shift();
|
||||||
|
trainingsZustand.aktuelleKarte = karte;
|
||||||
|
|
||||||
|
const container = document.getElementById("trainingHint");
|
||||||
|
container.innerHTML = "";
|
||||||
|
|
||||||
|
const frage = document.createElement("div");
|
||||||
|
frage.className = "hint-frage";
|
||||||
|
frage.innerHTML = `<h2>${karte.englisch}</h2>`;
|
||||||
|
container.appendChild(frage);
|
||||||
|
|
||||||
|
const clue = document.createElement("div");
|
||||||
|
clue.className = "hint-clue";
|
||||||
|
clue.innerText = generiereHint(karte.deutsch);
|
||||||
|
container.appendChild(clue);
|
||||||
|
|
||||||
|
const input = document.createElement("input");
|
||||||
|
input.className = "hint-input";
|
||||||
|
input.placeholder = "Schreibe die Übersetzung hier...";
|
||||||
|
container.appendChild(input);
|
||||||
|
|
||||||
|
const button = document.createElement("button");
|
||||||
|
button.className = "hint-button";
|
||||||
|
button.innerText = "Überprüfen";
|
||||||
|
container.appendChild(button);
|
||||||
|
|
||||||
|
const feedback = document.createElement("div");
|
||||||
|
feedback.className = "hint-feedback";
|
||||||
|
container.appendChild(feedback);
|
||||||
|
|
||||||
|
button.onclick = () => {
|
||||||
|
const answer = input.value.trim();
|
||||||
|
if (answer.toLowerCase() === karte.deutsch.toLowerCase()) {
|
||||||
|
feedback.innerText = "✅ Richtig!";
|
||||||
|
trainingsZustand.gelernt.push(karte);
|
||||||
|
setTimeout(() => zeigeNaechsteHintKarte(), 800);
|
||||||
|
} else {
|
||||||
|
feedback.innerText = `❌ Falsch! Richtige Antwort: ${karte.deutsch}`;
|
||||||
|
trainingsZustand.nichtGelernt.push(karte);
|
||||||
|
setTimeout(() => zeigeNaechsteHintKarte(), 1200);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function startWriteTraining() {
|
||||||
|
trainingsZustand.modus = "write";
|
||||||
|
trainingsZustand.quelleKarten = mischeArray([...parsedArray]);
|
||||||
|
trainingsZustand.aktuelleKarte = null;
|
||||||
|
trainingsZustand.gelernt = [];
|
||||||
|
trainingsZustand.nichtGelernt = [];
|
||||||
|
|
||||||
|
zeigeNaechsteWriteKarte();
|
||||||
|
}
|
||||||
|
|
||||||
|
function zeigeNaechsteWriteKarte() {
|
||||||
|
if (trainingsZustand.quelleKarten.length === 0) {
|
||||||
|
const container = document.getElementById("trainingWrite");
|
||||||
|
container.innerHTML = `
|
||||||
|
<div class="schwer-frage">
|
||||||
|
Training beendet!<br>
|
||||||
|
Gelernt: ${trainingsZustand.gelernt.length}<br>
|
||||||
|
Nicht gelernt: ${trainingsZustand.nichtGelernt.length}
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const karte = trainingsZustand.quelleKarten.shift();
|
||||||
|
trainingsZustand.aktuelleKarte = karte;
|
||||||
|
|
||||||
|
const container = document.getElementById("trainingWrite");
|
||||||
|
container.innerHTML = "";
|
||||||
|
|
||||||
|
const frage = document.createElement("div");
|
||||||
|
frage.className = "schwer-frage";
|
||||||
|
frage.innerHTML = `<h2>${karte.englisch}</h2>`;
|
||||||
|
container.appendChild(frage);
|
||||||
|
|
||||||
|
const input = document.createElement("input");
|
||||||
|
input.type = "text";
|
||||||
|
input.placeholder = "Schreibe die Übersetzung hier...";
|
||||||
|
input.style.fontSize = "18px";
|
||||||
|
input.style.width = "300px";
|
||||||
|
input.style.padding = "8px";
|
||||||
|
container.appendChild(input);
|
||||||
|
|
||||||
|
const submitBtn = document.createElement("button");
|
||||||
|
submitBtn.innerText = "Überprüfen";
|
||||||
|
submitBtn.style.marginTop = "10px";
|
||||||
|
submitBtn.onclick = () => {
|
||||||
|
const answer = input.value.trim();
|
||||||
|
const resultDiv = document.createElement("div");
|
||||||
|
resultDiv.style.marginTop = "12px";
|
||||||
|
resultDiv.style.fontWeight = "600";
|
||||||
|
|
||||||
|
if (answer.toLowerCase() === karte.deutsch.toLowerCase()) {
|
||||||
|
trainingsZustand.gelernt.push(karte);
|
||||||
|
resultDiv.style.color = "#28a745";
|
||||||
|
resultDiv.innerText = "Richtig!";
|
||||||
|
} else {
|
||||||
|
trainingsZustand.nichtGelernt.push(karte);
|
||||||
|
resultDiv.style.color = "#dc3545";
|
||||||
|
resultDiv.innerText = `Falsch! Richtige Antwort: ${karte.deutsch}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
container.appendChild(resultDiv);
|
||||||
|
|
||||||
|
setTimeout(() => zeigeNaechsteWriteKarte(), 2000);
|
||||||
|
};
|
||||||
|
|
||||||
|
container.appendChild(submitBtn);
|
||||||
|
}
|
||||||
|
|||||||
@@ -288,11 +288,11 @@ h1 {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
#trainingLeicht .training-card {
|
#trainingFlip .training-card {
|
||||||
height: 180px;
|
height: 180px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#trainingMittel .training-card {
|
#trainingMatching .training-card {
|
||||||
height: 100px;
|
height: 100px;
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@@ -367,13 +367,11 @@ h1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#pdfPages,
|
#pdfPages,
|
||||||
#onlineTraining,
|
#onlineTraining {
|
||||||
#trainingMittel,
|
|
||||||
#trainingSchwer {
|
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#trainingMittel {
|
#trainingMatching {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
@@ -425,3 +423,172 @@ h1 {
|
|||||||
background-repeat: repeat;
|
background-repeat: repeat;
|
||||||
background-size: 80px;
|
background-size: 80px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#trainingMultiple {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 20px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.multiple-frage {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.multiple-optionen {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 10px;
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.multiple-option {
|
||||||
|
padding: 10px 15px;
|
||||||
|
font-size: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
text-align: center;
|
||||||
|
transition: background-color 0.2s, transform 0.1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.multiple-option:hover {
|
||||||
|
background-color: #e0e0e0;
|
||||||
|
transform: scale(1.03);
|
||||||
|
}
|
||||||
|
|
||||||
|
.multiple-option[disabled] {
|
||||||
|
text-decoration: line-through;
|
||||||
|
background-color: #f5a8a8;
|
||||||
|
color: #800;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingHint {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 20px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-frage {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-input {
|
||||||
|
width: 300px;
|
||||||
|
font-size: 18px;
|
||||||
|
padding: 10px;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-button {
|
||||||
|
padding: 10px 15px;
|
||||||
|
font-size: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 6px;
|
||||||
|
border: none;
|
||||||
|
background-color: #005b5b;
|
||||||
|
color: white;
|
||||||
|
transition: 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-button:hover {
|
||||||
|
background-color: #007070;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-feedback {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 600;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hint-clue {
|
||||||
|
font-size: 20px;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
color: #555;
|
||||||
|
text-align: center;
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingWrite {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: flex-start;
|
||||||
|
gap: 20px;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingWrite .schwer-frage {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingWrite input[type="text"] {
|
||||||
|
font-size: 18px;
|
||||||
|
border-radius: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingWrite button {
|
||||||
|
padding: 10px 15px;
|
||||||
|
font-size: 16px;
|
||||||
|
cursor: pointer;
|
||||||
|
border-radius: 6px;
|
||||||
|
border: none;
|
||||||
|
background-color: #005b5b;
|
||||||
|
color: white;
|
||||||
|
transition: 0.2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingWrite button:hover {
|
||||||
|
background-color: #007070;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingLevels {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 15px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.training-title {
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 600;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingLevels .buttons-row {
|
||||||
|
display: flex;
|
||||||
|
gap: 10px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingLevels .buttons-row .level-btn {
|
||||||
|
flex: 1;
|
||||||
|
padding: 12px 0;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 600;
|
||||||
|
border: none;
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
cursor: pointer;
|
||||||
|
text-align: center;
|
||||||
|
transition: background-color 0.2s, transform 0.1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#trainingLevels .buttons-row .level-btn:hover {
|
||||||
|
background-color: #e0e0e0;
|
||||||
|
transform: scale(1.02);
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user