diff --git a/src/App.jsx b/src/App.jsx
index a2526c7..588178f 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -183,6 +183,7 @@ export default function App() {
const [ok, setOk] = useState(false);
const [res, setRes] = useState([]);
const [chart, setChart] = useState(false);
+ const [rule, setRule] = useState(false);
const [learnStep, setLearnStep] = useState(0);
const [st, setSt] = useState({sc:{},tc:0,ta:0,streak:0,ld:null});
const [access, setAccess] = useState(null);
@@ -283,6 +284,7 @@ export default function App() {
useEffect(() => {
const h = e => {
+ if (rule) { if (e.key === 'Escape') setRule(false); return; }
if (chart) { if (e.key === 'Escape') setChart(false); return; }
if (scr === 'summary' && e.key === 'Enter') { e.preventDefault(); summaryRef.current?.(); return; }
if (scr !== 'practice') return;
@@ -640,30 +642,36 @@ export default function App() {
{/* PRACTICE: wechsel in context */}
{scr === 'practice' && q?.type === 'wechselContext' && (
-
-
{q.sentence}
- {(!hintHidden('translation') || rev) ? (
- <>
-
- {q.translation}
- {!rev && }
-
-
- {q.prepKey}
- ({PREPS[q.prepKey].en})
-
- >
- ) : (
- <>
-
-
-
-
- {q.prepKey}
-
- >
- )}
-
Wechselpräposition · motion or location?
+
+
+ {q.sentence.split('_____').map((part,i,a)=>(
+
+ {part}
+ {i < a.length-1 && (
+
+ {rev ? q.article : ' '}
+
+ )}
+
+ ))}
+
+
+
toggleHint('translation')} label="translation" style={S.translation}>
+ {q.translation}
+
+
+
toggleHint('prepHint')} label="preposition" style={S.keyInfo}>
+ {q.prepKey}
+ ({PREPS[q.prepKey].en})
+
+
+
+ Wechselpräposition · wohin or wo?
+
+
{!rev ? (
@@ -678,7 +686,7 @@ export default function App() {
) : quickTick ? (
) : (
-
+ setRule(true)}/>
)}
)}
@@ -772,7 +780,8 @@ export default function App() {
{scr !== 'practice' &&
}
- {chart &&
setChart(false)}/>}
+ {chart && setChart(false)} onRule={()=>{ setChart(false); setRule(true); }}/>}
+ {rule && setRule(false)}/>}