mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-24 03:58:53 +00:00
improve code init logic
This commit is contained in:
parent
faaed61384
commit
853a31b638
@ -25,6 +25,7 @@ import {
|
|||||||
setActivePattern,
|
setActivePattern,
|
||||||
getActivePattern,
|
getActivePattern,
|
||||||
getUserPattern,
|
getUserPattern,
|
||||||
|
initUserCode,
|
||||||
} from '../settings.mjs';
|
} from '../settings.mjs';
|
||||||
import Loader from './Loader';
|
import Loader from './Loader';
|
||||||
import { settingPatterns } from '../settings.mjs';
|
import { settingPatterns } from '../settings.mjs';
|
||||||
@ -184,12 +185,7 @@ export function Repl({ embedded = false }) {
|
|||||||
let msg;
|
let msg;
|
||||||
if (decoded) {
|
if (decoded) {
|
||||||
setCode(decoded);
|
setCode(decoded);
|
||||||
const activePattern = getActivePattern();
|
initUserCode(decoded);
|
||||||
if (getUserPattern(activePattern)?.code !== decoded) {
|
|
||||||
// code in url is not the last active patterns code => must be something else
|
|
||||||
// deselect last active pattern to not overwrite it on next evaluation
|
|
||||||
setActivePattern('');
|
|
||||||
}
|
|
||||||
msg = `I have loaded the code from the URL.`;
|
msg = `I have loaded the code from the URL.`;
|
||||||
} else if (latestCode) {
|
} else if (latestCode) {
|
||||||
setCode(latestCode);
|
setCode(latestCode);
|
||||||
|
|||||||
@ -36,6 +36,11 @@ export function getActivePattern() {
|
|||||||
export function useActivePattern() {
|
export function useActivePattern() {
|
||||||
return useStore($activePattern);
|
return useStore($activePattern);
|
||||||
}
|
}
|
||||||
|
export function initUserCode(code) {
|
||||||
|
const userPatterns = getUserPatterns();
|
||||||
|
const match = Object.entries(userPatterns).find(([_, pat]) => pat.code === code);
|
||||||
|
setActivePattern(match?.[0] || '');
|
||||||
|
}
|
||||||
|
|
||||||
export function useSettings() {
|
export function useSettings() {
|
||||||
const state = useStore(settingsMap);
|
const state = useStore(settingsMap);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user