99 <div class =" vdb-c-flex vdb-c-h-full vdb-c-w-full" >
1010 <!-- Collapsible Sidebar -->
1111 <Sidebar
12- v-if =" sidebarConfig.enabled"
12+ v-if =" showSidebar && sidebarConfig.enabled"
1313 ref =" sidebarRef"
1414 :status ="
1515 configStatus !== null && isSetupComplete ? 'active' : 'inactive'
4444 "
4545 @session-click =" handleSessionClick"
4646 @collection-click =" handleCollectionClick"
47+ @share-session =" handleShareSession"
4748 />
4849
4950 <!-- Main Content -->
6869 >
6970 <!-- Header -->
7071 <div
72+ v-if =" showHeader"
7173 class =" vdb-c-sticky vdb-c-top-0 vdb-c-z-40 vdb-c-flex vdb-c-w-full vdb-c-items-center vdb-c-justify-center vdb-c-bg-white vdb-c-px-12 md:vdb-c-px-[30px]"
7274 ref =" headerRef"
7375 >
200202
201203 <!-- Chat Input -->
202204 <div
205+ v-if =" showChatInput"
203206 class =" vdb-c-chat-input-container vdb-c-transition-all vdb-c-duration-300 vdb-c-ease-in-out"
204207 :class =" {
205208 'vdb-c-pointer-events-none vdb-c-opacity-20': !(
326329 @upload =" handleUpload"
327330 @cancel-upload =" showUploadDialog = false"
328331 />
332+
333+ <!-- Share Modal -->
334+ <ShareModal
335+ :show-dialog =" showShareModal"
336+ :session-id =" sessionToShare?.session_id"
337+ :on-make-public =" makeSessionPublic"
338+ @close =" showShareModal = false"
339+ />
329340 </section >
330341</template >
331342
@@ -348,6 +359,7 @@ import UploadVideoQueryCard from "./elements/UploadVideoQueryCard.vue";
348359import ConfirmModal from " ../modals/ConfirmModal.vue" ;
349360import CreateCollectionModal from " ../modals/CreateCollectionModal.vue" ;
350361import DeleteCollectionErrorModal from " ../modals/DeleteCollectionErrorModal.vue" ;
362+ import ShareModal from " ../modals/ShareModal.vue" ;
351363import UploadModal from " ../modals/UploadModal.vue" ;
352364import Header from " ./elements/Header.vue" ;
353365
@@ -447,6 +459,18 @@ const props = defineProps({
447459 ],
448460 }),
449461 },
462+ showSidebar: {
463+ type: Boolean ,
464+ default: true ,
465+ },
466+ showHeader: {
467+ type: Boolean ,
468+ default: true ,
469+ },
470+ showChatInput: {
471+ type: Boolean ,
472+ default: true ,
473+ },
450474});
451475const emit = defineEmits ([]);
452476
@@ -492,6 +516,7 @@ const {
492516 renameSession ,
493517 saveMeetingContext ,
494518 fetchMeetingContext ,
519+ makeSessionPublic ,
495520} = useChatHook (props .chatHookConfig );
496521
497522const {
@@ -566,6 +591,8 @@ const showDeleteImageDialog = ref(false);
566591const imageToDelete = ref (null );
567592const showDeleteCollectionErrorModal = ref (false );
568593const deleteCollectionErrorCode = ref (null );
594+ const showShareModal = ref (false );
595+ const sessionToShare = ref (null );
569596
570597const isSetupComplete = computed (() => {
571598 return (
@@ -786,6 +813,11 @@ const handleUpdateSessionName = async ({ sessionId: _sessionId, name }) => {
786813 }
787814};
788815
816+ const handleShareSession = (session ) => {
817+ sessionToShare .value = session;
818+ showShareModal .value = true ;
819+ };
820+
789821// --- Upload Dialog Handlers ---
790822const showUploadDialog = ref (false );
791823const handleUpload = async (uploadData ) => {
0 commit comments