MiniRepl: hideOutsideView flag

This commit is contained in:
Felix Roos 2022-05-19 08:39:51 +02:00
parent 44ba1f85c3
commit ae81f6d573
4 changed files with 10 additions and 10 deletions

View file

@ -8,7 +8,7 @@ import 'tailwindcss/tailwind.css';
import styles from './MiniRepl.module.css';
import { Icon } from './Icon';
export function MiniRepl({ tune, defaultSynth }) {
export function MiniRepl({ tune, defaultSynth, hideOutsideView = false }) {
const { code, setCode, pattern, activateCode, error, cycle, dirty, togglePlay } = useRepl({
tune,
defaultSynth,
@ -20,11 +20,11 @@ export function MiniRepl({ tune, defaultSynth }) {
});
const wasVisible = useRef();
const show = useMemo(() => {
if (isVisible) {
if (isVisible || !hideOutsideView) {
wasVisible.current = true;
}
return isVisible || wasVisible.current;
}, [isVisible]);
}, [isVisible, hideOutsideView]);
useHighlighting({ view, pattern, active: cycle.started });
return (
<div className={styles.container} ref={ref}>
@ -39,7 +39,7 @@ export function MiniRepl({ tune, defaultSynth }) {
</div>
{error && <div className={styles.error}>{error.message}</div>}
</div>
<div className={styles.body}>
<div className={styles.body} >
{show && <CodeMirror6 value={code} onChange={setCode} onViewChanged={setView} />}
</div>
</div>