This commit is contained in:
rosetta
2026-01-30 05:01:05 +02:00
commit 83f38dc63f
327 changed files with 18725 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
import { IconBell, IconBellOff, IconPin, IconPinnedOff } from "@tabler/icons-react";
import { useContextMenu } from "../providers/ContextMenuProvider/useContextMenu"
import { useRosettaColors } from "./useRosettaColors";
import { useDialogState } from "../providers/DialogStateProvider.tsx/useDialogState";
export function useDialogContextMenu() : {
openContextMenu: (dialog_id: string) => void;
} {
const openContext = useContextMenu();
const colors = useRosettaColors();
const {muted, pinned, muteToggle, pinToggle} = useDialogState();
const openContextMenu = (dialog_id: string) => {
openContext([
{
label: 'Unmute',
action: () => {
muteToggle(dialog_id);
},
icon: <IconBell color={colors.success} size={14}></IconBell>,
cond: async () => {
return muted.includes(dialog_id) === true;
}
},
{
label: 'Mute',
action: () => {
muteToggle(dialog_id);
},
icon: <IconBellOff color={colors.error} size={14}></IconBellOff>,
cond: async () => {
return muted.includes(dialog_id) === false;
}
},
{
label: 'Pin',
action: () => {
pinToggle(dialog_id);
},
icon: <IconPin color={colors.success} size={14}></IconPin>,
cond: async () => {
return pinned.includes(dialog_id) === false;
}
},
{
label: 'Unpin',
action: () => {
pinToggle(dialog_id);
},
icon: <IconPinnedOff color={colors.error} size={14}></IconPinnedOff>,
cond: async () => {
return pinned.includes(dialog_id) === true;
}
}
], true, true);
}
return {
openContextMenu
}
}