From 66fcaa5e014c4a3daed10bb388593f23d2460b23 Mon Sep 17 00:00:00 2001 From: Pranav Date: Fri, 9 May 2025 13:16:27 -0700 Subject: [PATCH] Add copilot to every page --- .../components/copilot/CopilotContainer.vue | 11 ++++- .../copilot/CopilotToggleButton.vue | 43 +++++++++++++++++++ .../dashboard/routes/dashboard/Dashboard.vue | 2 + app/javascript/dashboard/store/index.js | 2 + .../dashboard/store/modules/uiState.js | 35 +++++++++++++++ 5 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 app/javascript/dashboard/components/copilot/CopilotToggleButton.vue create mode 100644 app/javascript/dashboard/store/modules/uiState.js diff --git a/app/javascript/dashboard/components/copilot/CopilotContainer.vue b/app/javascript/dashboard/components/copilot/CopilotContainer.vue index fed61747a..3879e589a 100644 --- a/app/javascript/dashboard/components/copilot/CopilotContainer.vue +++ b/app/javascript/dashboard/components/copilot/CopilotContainer.vue @@ -23,6 +23,9 @@ const assistants = useMapGetter('captainAssistants/getRecords'); const inboxAssistant = useMapGetter('getCopilotAssistant'); const { uiSettings, updateUISettings } = useUISettings(); +const getUIState = useMapGetter('uiState/getUIState'); +const isSidebarOpen = computed(() => getUIState.value('isCopilotSidebarOpen')); + const messages = ref([]); const isCaptainTyping = ref(false); const selectedAssistantId = ref(null); @@ -99,6 +102,10 @@ onMounted(() => { store.dispatch('captainAssistants/get'); }); +const handleClose = () => { + store.dispatch('uiState/set', 'isCopilotSidebarOpen', false); +}; + watchEffect(() => { if (props.conversationId) { store.dispatch('getInboxCaptainAssistantById', props.conversationId); @@ -108,7 +115,7 @@ watchEffect(() => { diff --git a/app/javascript/dashboard/components/copilot/CopilotToggleButton.vue b/app/javascript/dashboard/components/copilot/CopilotToggleButton.vue new file mode 100644 index 000000000..aa761ee58 --- /dev/null +++ b/app/javascript/dashboard/components/copilot/CopilotToggleButton.vue @@ -0,0 +1,43 @@ + + + diff --git a/app/javascript/dashboard/routes/dashboard/Dashboard.vue b/app/javascript/dashboard/routes/dashboard/Dashboard.vue index 0c242cc81..4909c1195 100644 --- a/app/javascript/dashboard/routes/dashboard/Dashboard.vue +++ b/app/javascript/dashboard/routes/dashboard/Dashboard.vue @@ -19,6 +19,7 @@ import AddLabelModal from 'dashboard/routes/dashboard/settings/labels/AddLabel.v import NotificationPanel from 'dashboard/routes/dashboard/notifications/components/NotificationPanel.vue'; import UpgradePage from 'dashboard/routes/dashboard/upgrade/UpgradePage.vue'; import CopilotContainer from 'dashboard/components/copilot/CopilotContainer.vue'; +import CopilotToggleButton from 'dashboard/components/copilot/CopilotToggleButton.vue'; import { useUISettings } from 'dashboard/composables/useUISettings'; import { useAccount } from 'dashboard/composables/useAccount'; @@ -210,6 +211,7 @@ onUnmounted(() => { />