fix(ui): convert instrument_id to server format for icon lookup

instrument_id is stored as numeric client_id (e.g., 61 for Piano)
but the icon map uses server format strings ("piano"). Added conversion
using convertClientInstrumentToServer before passing to icon lookup.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Nuwan 2026-02-15 10:37:23 +05:30
parent 808cb27390
commit 2b4bd8b934
1 changed files with 15 additions and 9 deletions

View File

@ -1,6 +1,6 @@
import React from 'react';
import JKSessionMyTrack from './JKSessionMyTrack.js';
import { getInstrumentIcon45 } from '../../helpers/utils';
import { getInstrumentIcon45_inverted, convertClientInstrumentToServer } from '../../helpers/utils';
const JKSessionAudioInputs = ({ myTracks, chat, mixerHelper, isRemote = false }) => {
return (
@ -11,15 +11,21 @@ const JKSessionAudioInputs = ({ myTracks, chat, mixerHelper, isRemote = false })
) : (
<>
{myTracks.map((track, index) => {
const instrumentIcon = track.instrumentIcon || getInstrumentIcon45(track.track?.instrument_id || track.track?.instrument);
// Convert client instrument_id to server format for icon lookup
// instrument_id is numeric (e.g., 61 for Piano), but icon map uses server strings ("piano")
const serverInstrument = track.track?.instrument_id
? convertClientInstrumentToServer(track.track.instrument_id)
: track.track?.instrument;
const instrumentIcon = getInstrumentIcon45_inverted(serverInstrument);
return (
<JKSessionMyTrack
key={track.track.client_track_id || index}
{...track}
instrumentIcon={instrumentIcon}
mode={mixerHelper.mixMode}
isRemote={isRemote}
/>
<div>
<JKSessionMyTrack
key={track.track.client_track_id || index}
{...track}
instrumentIcon={instrumentIcon}
mode={mixerHelper.mixMode}
isRemote={isRemote}
/></div>
);
})}
{chat && (