fix: patterns tab performance
This commit is contained in:
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 }) {
|
function PatternButtons({ patterns, activePattern, onClick, started }) {
|
||||||
const viewingPatternStore = useViewingPatternData();
|
const viewingPatternData = useViewingPatternData();
|
||||||
const viewingPatternData = parseJSON(viewingPatternStore);
|
|
||||||
const viewingPatternID = viewingPatternData.id;
|
const viewingPatternID = viewingPatternData.id;
|
||||||
return (
|
return (
|
||||||
<div className="p-2">
|
<div className="p-2">
|
||||||
|
|
@ -83,8 +82,8 @@ const updateCodeWindow = (context, patternData, reset = false) => {
|
||||||
export function PatternsTab({ context }) {
|
export function PatternsTab({ context }) {
|
||||||
const [search, setSearch] = useState('');
|
const [search, setSearch] = useState('');
|
||||||
const activePattern = useActivePattern();
|
const activePattern = useActivePattern();
|
||||||
const viewingPatternStore = useViewingPatternData();
|
const viewingPatternData = useViewingPatternData();
|
||||||
const viewingPatternData = parseJSON(viewingPatternStore);
|
|
||||||
const { userPatterns, patternAutoStart } = useSettings();
|
const { userPatterns, patternAutoStart } = useSettings();
|
||||||
const viewingPatternID = viewingPatternData?.id;
|
const viewingPatternID = viewingPatternData?.id;
|
||||||
|
|
||||||
|
|
@ -121,7 +120,7 @@ export function PatternsTab({ context }) {
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
}, [search, viewingPatternStore]);
|
}, [search, userPatterns]);
|
||||||
|
|
||||||
const importRef = useRef();
|
const importRef = useRef();
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { atom } from 'nanostores';
|
import { atom, computed } from 'nanostores';
|
||||||
import { useStore } from '@nanostores/react';
|
import { useStore } from '@nanostores/react';
|
||||||
import { logger } from '@strudel/core';
|
import { logger } from '@strudel/core';
|
||||||
import { nanoid } from 'nanoid';
|
import { nanoid } from 'nanoid';
|
||||||
|
|
@ -36,12 +36,9 @@ export let $viewingPatternData = sessionAtom('viewingPatternData', {
|
||||||
created_at: Date.now(),
|
created_at: Date.now(),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const getViewingPatternData = () => {
|
const $viewingPatterns = computed($viewingPatternData, (state) => parseJSON(state));
|
||||||
return parseJSON($viewingPatternData.get());
|
export const useViewingPatternData = () => useStore($viewingPatterns);
|
||||||
};
|
export const getViewingPatternData = () => $viewingPatterns.get();
|
||||||
export const useViewingPatternData = () => {
|
|
||||||
return useStore($viewingPatternData);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const setViewingPatternData = (data) => {
|
export const setViewingPatternData = (data) => {
|
||||||
$viewingPatternData.set(JSON.stringify(data));
|
$viewingPatternData.set(JSON.stringify(data));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue