fix: patterns tab performance

This commit is contained in:
Felix Roos
2026-01-22 01:31:23 +01:00
parent 784b9c08ec
commit a87daf3d21
2 changed files with 8 additions and 12 deletions
@@ -53,8 +53,7 @@ function PatternButton({ showOutline, onClick, pattern, showHiglight }) {
}
function PatternButtons({ patterns, activePattern, onClick, started }) {
const viewingPatternStore = useViewingPatternData();
const viewingPatternData = parseJSON(viewingPatternStore);
const viewingPatternData = useViewingPatternData();
const viewingPatternID = viewingPatternData.id;
return (
<div className="p-2">
@@ -83,8 +82,8 @@ const updateCodeWindow = (context, patternData, reset = false) => {
export function PatternsTab({ context }) {
const [search, setSearch] = useState('');
const activePattern = useActivePattern();
const viewingPatternStore = useViewingPatternData();
const viewingPatternData = parseJSON(viewingPatternStore);
const viewingPatternData = useViewingPatternData();
const { userPatterns, patternAutoStart } = useSettings();
const viewingPatternID = viewingPatternData?.id;
@@ -121,7 +120,7 @@ export function PatternsTab({ context }) {
);
}),
);
}, [search, viewingPatternStore]);
}, [search, userPatterns]);
const importRef = useRef();
return (
+4 -7
View File
@@ -1,4 +1,4 @@
import { atom } from 'nanostores';
import { atom, computed } from 'nanostores';
import { useStore } from '@nanostores/react';
import { logger } from '@strudel/core';
import { nanoid } from 'nanoid';
@@ -36,12 +36,9 @@ export let $viewingPatternData = sessionAtom('viewingPatternData', {
created_at: Date.now(),
});
export const getViewingPatternData = () => {
return parseJSON($viewingPatternData.get());
};
export const useViewingPatternData = () => {
return useStore($viewingPatternData);
};
const $viewingPatterns = computed($viewingPatternData, (state) => parseJSON(state));
export const useViewingPatternData = () => useStore($viewingPatterns);
export const getViewingPatternData = () => $viewingPatterns.get();
export const setViewingPatternData = (data) => {
$viewingPatternData.set(JSON.stringify(data));