fix(context-menu): update all checkbox call sites to reactive subscribe+getChecked

This commit is contained in:
Jannis Braun
2026-03-24 21:48:26 +01:00
parent 7a25a2df7b
commit 0d91df166a
5 changed files with 10 additions and 10 deletions
@@ -492,12 +492,12 @@ export function MobileSpacesScreen() {
items.push({ key: 'mod-end-sep', type: 'separator' }); items.push({ key: 'mod-end-sep', type: 'separator' });
} }
const isUserMuted = useVoiceStore.getState().participantMutes.get(userId) ?? false;
items.push({ items.push({
key: 'mute-user', key: 'mute-user',
type: 'checkbox', type: 'checkbox',
label: 'Mute User', label: 'Mute User',
checked: isUserMuted, subscribe: useVoiceStore.subscribe,
getChecked: () => useVoiceStore.getState().participantMutes.get(userId) ?? false,
onChange: (checked) => useVoiceStore.getState().setParticipantMute(userId, checked), onChange: (checked) => useVoiceStore.getState().setParticipantMute(userId, checked),
}); });
@@ -123,12 +123,12 @@ export function MobileVoiceFullScreen() {
} }
// Local mute checkbox // Local mute checkbox
const isUserMuted = useVoiceStore.getState().participantMutes.get(userId) ?? false;
items.push({ items.push({
key: 'mute-user', key: 'mute-user',
type: 'checkbox', type: 'checkbox',
label: 'Mute User', label: 'Mute User',
checked: isUserMuted, subscribe: useVoiceStore.subscribe,
getChecked: () => useVoiceStore.getState().participantMutes.get(userId) ?? false,
onChange: (checked) => useVoiceStore.getState().setParticipantMute(userId, checked), onChange: (checked) => useVoiceStore.getState().setParticipantMute(userId, checked),
}); });
@@ -286,12 +286,12 @@ export function StreamTile({ tile, large }: StreamTileProps) {
items.push({ key: 'watch-sep', type: 'separator' }); items.push({ key: 'watch-sep', type: 'separator' });
// Mute Stream checkbox // Mute Stream checkbox
const isStreamMuted = useVoiceStore.getState().streamMutes.get(userId) ?? false;
items.push({ items.push({
key: 'mute-stream', key: 'mute-stream',
type: 'checkbox', type: 'checkbox',
label: 'Mute Stream', label: 'Mute Stream',
checked: isStreamMuted, subscribe: useVoiceStore.subscribe,
getChecked: () => useVoiceStore.getState().streamMutes.get(userId) ?? false,
onChange: (checked) => useVoiceStore.getState().setStreamMute(userId, checked), onChange: (checked) => useVoiceStore.getState().setStreamMute(userId, checked),
}); });
@@ -83,12 +83,12 @@ export function VoiceChannel({ channelId, channelName, onClick, locked, canManag
} }
// Mute User checkbox // Mute User checkbox
const isUserMuted = useVoiceStore.getState().participantMutes.get(userId) ?? false;
items.push({ items.push({
key: 'mute-user', key: 'mute-user',
type: 'checkbox', type: 'checkbox',
label: 'Mute User', label: 'Mute User',
checked: isUserMuted, subscribe: useVoiceStore.subscribe,
getChecked: () => useVoiceStore.getState().participantMutes.get(userId) ?? false,
onChange: (checked) => useVoiceStore.getState().setParticipantMute(userId, checked), onChange: (checked) => useVoiceStore.getState().setParticipantMute(userId, checked),
}); });
@@ -116,12 +116,12 @@ export function VoiceUser({ tile, large }: VoiceUserProps) {
} }
// Mute User checkbox // Mute User checkbox
const isUserMuted = useVoiceStore.getState().participantMutes.get(targetUserId) ?? false;
items.push({ items.push({
key: 'mute-user', key: 'mute-user',
type: 'checkbox', type: 'checkbox',
label: 'Mute User', label: 'Mute User',
checked: isUserMuted, subscribe: useVoiceStore.subscribe,
getChecked: () => useVoiceStore.getState().participantMutes.get(targetUserId) ?? false,
onChange: (checked) => useVoiceStore.getState().setParticipantMute(targetUserId, checked), onChange: (checked) => useVoiceStore.getState().setParticipantMute(targetUserId, checked),
}); });