diff --git a/src/modules/audio-studio/components/waveform-visualizer/editor/LayerPanel.tsx b/src/modules/audio-studio/components/waveform-visualizer/editor/LayerPanel.tsx index f19bd3fd..52546243 100644 --- a/src/modules/audio-studio/components/waveform-visualizer/editor/LayerPanel.tsx +++ b/src/modules/audio-studio/components/waveform-visualizer/editor/LayerPanel.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react' +import { useState, useMemo } from 'react' import { useVisualizerStore, ElementType } from '@/modules/audio-studio/store/useVisualizerStore' const TYPE_ICONS: Record = { @@ -13,6 +13,8 @@ export default function LayerPanel() { const { elements, activeElementId, setActiveElement, addElement, removeElement } = useVisualizerStore() const [showAddMenu, setShowAddMenu] = useState(false) + const reversedElements = useMemo(() => [...elements].reverse(), [elements]) + return (
@@ -51,7 +53,7 @@ export default function LayerPanel() {
- {[...elements].reverse().map((el, i) => ( + {reversedElements.map((el, i) => (
[...elements].reverse(), [elements]) + const sensors = useSensors( useSensor(PointerSensor, { activationConstraint: { @@ -171,10 +173,10 @@ export default function LayerPanel() { >
e.id)} + items={reversedElementsMemo.map(e => e.id)} strategy={verticalListSortingStrategy} > - {[...elements].reverse().map(el => ( + {reversedElementsMemo.map(el => ( ))}