feat(webui): preview dragged session mentions

This commit is contained in:
Xubin Ren
2026-08-06 19:11:05 +08:00
parent 9cf6cf0639
commit f44a766f98
5 changed files with 162 additions and 31 deletions
+8 -1
View File
@@ -1,18 +1,25 @@
export const SESSION_DRAG_TYPE = "application/x-nanobot-session-key";
let activeSessionKey: string | null = null;
export function hasDraggedSession(dataTransfer: DataTransfer): boolean {
return Array.from(dataTransfer.types).includes(SESSION_DRAG_TYPE);
}
export function readDraggedSession(dataTransfer: DataTransfer): string | null {
const sessionKey = dataTransfer.getData(SESSION_DRAG_TYPE).trim();
return sessionKey || null;
return sessionKey || activeSessionKey;
}
export function clearDraggedSession(): void {
activeSessionKey = null;
}
export function writeDraggedSession(
dataTransfer: DataTransfer,
sessionKey: string,
): void {
activeSessionKey = sessionKey;
dataTransfer.effectAllowed = "copyMove";
dataTransfer.setData(SESSION_DRAG_TYPE, sessionKey);
}