e.stopPropagation()}
+ onkeydown={(e) => e.key === "Escape" && onClose()}
+>
+
+
+
+
+
+
+
+
+ {#if showMoveSubmenu}
+
(showMoveSubmenu = true)}
+ onmouseleave={() => (showMoveSubmenu = false)}
+ >
+ {#each availableGroups as group (group.id)}
+
+ {/each}
+
+ {#if availableGroups.length === 0}
+
+ No groups available
+
+ {/if}
+
+ {/if}
+
+
+ {#if currentGroupId}
+
+ {/if}
+
+
+
+
+
diff --git a/apps/desktop/src/components/channels/ChannelGroup.svelte b/apps/desktop/src/components/channels/ChannelGroup.svelte
new file mode 100644
index 0000000..c72e9fb
--- /dev/null
+++ b/apps/desktop/src/components/channels/ChannelGroup.svelte
@@ -0,0 +1,136 @@
+
+
+{#if contextMenu}
+