n8n-editor-ui
Version:
Workflow Editor UI for n8n
30 lines (29 loc) • 1.46 kB
JavaScript
import { C as computed } from "./vue.runtime.esm-bundler-tP5dCd7J.js";
import { M as useMediaQuery, j as useLocalStorage } from "./_MapCache-B159LOu5.js";
import { Fi as useUIStore, nr as useUsersStore } from "./useTelemetry-C797TaYa.js";
import { Bo as CHAT_HUB_SIDE_MENU_DRAWER_MODAL_KEY, xs as LOCAL_STORAGE_CHAT_HUB_STATIC_SIDEBAR } from "./constants-CX1ozgFz.js";
import { u as MOBILE_MEDIA_QUERY } from "./constants-D2fYduVh.js";
function useChatHubSidebarState() {
const isMobileDevice = useMediaQuery(MOBILE_MEDIA_QUERY);
const uiStore = useUIStore();
const isStatic = useLocalStorage(LOCAL_STORAGE_CHAT_HUB_STATIC_SIDEBAR(useUsersStore().currentUserId ?? "anonymous"), !isMobileDevice.value, { writeDefaults: false });
const canBeStatic = computed(() => !isMobileDevice.value);
function toggleOpen(value) {
const isOpen = !!uiStore.isModalActiveById[CHAT_HUB_SIDE_MENU_DRAWER_MODAL_KEY];
if (value ?? !isOpen) uiStore.openModal(CHAT_HUB_SIDE_MENU_DRAWER_MODAL_KEY);
else uiStore.closeModal(CHAT_HUB_SIDE_MENU_DRAWER_MODAL_KEY);
}
function toggleStatic(value) {
const newValue = value ?? !isStatic.value;
isStatic.value = newValue;
toggleOpen(newValue);
}
return {
canBeStatic,
isStatic: computed(() => canBeStatic.value && isStatic.value),
isCollapsed: computed(() => !isStatic.value && uiStore.isModalActiveById["chatHubSideMenuDrawer"] !== true),
toggleOpen,
toggleStatic
};
}
export { useChatHubSidebarState as t };