mirror of
https://codeberg.org/uzu/strudel
synced 2026-07-13 06:19:33 -04:00
fix: patterns tab performance
This commit is contained in:
@@ -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 (
|
||||
|
||||
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user