| 1 | <script setup lang="ts"> |
| 2 | import { shallowRef } from 'vue' |
| 3 | import { useNav } from '../composables/useNav' |
| 4 | import { configs } from '../env' |
| 5 | import { showInfoDialog, showRecordingDialog } from '../state' |
| 6 | import ContextMenu from './ContextMenu.vue' |
| 7 | import Goto from './Goto.vue' |
| 8 | import InfoDialog from './InfoDialog.vue' |
| 9 | import QuickOverview from './QuickOverview.vue' |
| 10 | |
| 11 | const { isEmbedded } = useNav() |
| 12 | const drawingEnabled = __SLIDEV_FEATURE_DRAWINGS__ && !configs.drawings.presenterOnly && !isEmbedded.value |
| 13 | const DrawingControls = shallowRef<any>() |
| 14 | if (drawingEnabled) |
| 15 | import('../internals/DrawingControls.vue').then(v => DrawingControls.value = v.default) |
| 16 | |
| 17 | const WebCamera = shallowRef<any>() |
| 18 | const RecordingDialog = shallowRef<any>() |
| 19 | if (__SLIDEV_FEATURE_RECORD__) { |
| 20 | import('./WebCamera.vue').then(v => WebCamera.value = v.default) |
| 21 | import('./RecordingDialog.vue').then(v => RecordingDialog.value = v.default) |
| 22 | } |
| 23 | </script> |
| 24 | |
| 25 | <template> |
| 26 | <DrawingControls v-if="DrawingControls" /> |
| 27 | <QuickOverview /> |
| 28 | <Goto /> |
| 29 | <WebCamera v-if="WebCamera" /> |
| 30 | <RecordingDialog v-if="RecordingDialog" v-model="showRecordingDialog" /> |
| 31 | <InfoDialog v-if="configs.info" v-model="showInfoDialog" /> |
| 32 | <ContextMenu /> |
| 33 | </template> |
| 34 |