import { StudioProjectState } from '../types';

export default function toggleTrackSolo(
  trackId: string,
  isShiftClick: boolean
) {
  return (state: StudioProjectState) => {
    return {
      ...state,
      tracks: isShiftClick
        ? state.tracks.map((track) =>
            track.id === trackId ? { ...track, solo: !track.solo } : track
          )
        : state.tracks.map((track) =>
            track.id !== trackId
              ? { ...track, solo: false }
              : { ...track, solo: !track.solo }
          ),
    };
  };
}
