fix: convert selectedTrack.name to string in Effect Chain header
Fixed [object Object] display in Effect Chain section of SidePanel by adding String() conversion to selectedTrack.name. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -11,7 +11,21 @@ export function useMultiTrack() {
|
||||
try {
|
||||
const saved = localStorage.getItem(STORAGE_KEY);
|
||||
if (saved) {
|
||||
console.log('Raw localStorage data:', saved);
|
||||
const parsed = JSON.parse(saved);
|
||||
console.log('Parsed localStorage data:', parsed);
|
||||
|
||||
// Clear corrupted data immediately if we detect issues
|
||||
const hasInvalidData = parsed.some((t: any) =>
|
||||
typeof t.name !== 'string' || t.name === '[object Object]'
|
||||
);
|
||||
|
||||
if (hasInvalidData) {
|
||||
console.warn('Detected corrupted track data in localStorage, clearing...');
|
||||
localStorage.removeItem(STORAGE_KEY);
|
||||
return [];
|
||||
}
|
||||
|
||||
// Note: AudioBuffers can't be serialized, so we only restore track metadata
|
||||
return parsed.map((t: any) => ({
|
||||
...t,
|
||||
@@ -55,12 +69,15 @@ export function useMultiTrack() {
|
||||
|
||||
const addTrack = useCallback((name?: string) => {
|
||||
const track = createTrack(name);
|
||||
console.log('addTrack - creating track with name:', name, 'typeof:', typeof name, 'track:', track);
|
||||
setTracks((prev) => [...prev, track]);
|
||||
return track;
|
||||
}, []);
|
||||
|
||||
const addTrackFromBuffer = useCallback((buffer: AudioBuffer, name?: string) => {
|
||||
console.log('addTrackFromBuffer - received name:', name, 'typeof:', typeof name);
|
||||
const track = createTrackFromBuffer(buffer, name);
|
||||
console.log('addTrackFromBuffer - created track:', track, 'track.name:', track.name, 'typeof track.name:', typeof track.name);
|
||||
setTracks((prev) => [...prev, track]);
|
||||
return track;
|
||||
}, []);
|
||||
|
||||
Reference in New Issue
Block a user