| | |
| | | import { AppMain, Navbar, Settings, TagsView } from './components'; |
| | | import useAppStore from '@/store/modules/app'; |
| | | import useSettingsStore from '@/store/modules/settings'; |
| | | |
| | | import { initWebSocket } from '@/utils/websocket'; |
| | | import useNoticeStore from '@/store/modules/notice'; |
| | | |
| | | onMounted(() => { |
| | | let protocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://'; |
| | | initWebSocket(protocol + window.location.host + import.meta.env.VITE_APP_BASE_API + '/resource/websocket', useNoticeStore()); |
| | | }); |
| | | import { initSSE } from '@/utils/sse'; |
| | | |
| | | const settingsStore = useSettingsStore(); |
| | | const theme = computed(() => settingsStore.theme); |
| | |
| | | const WIDTH = 992; // refer to Bootstrap's responsive design |
| | | |
| | | watchEffect(() => { |
| | | if (device.value === 'mobile' && sidebar.value.opened) { |
| | | if (device.value === 'mobile') { |
| | | useAppStore().closeSideBar({ withoutAnimation: false }); |
| | | } |
| | | if (width.value - 1 < WIDTH) { |
| | |
| | | }); |
| | | }); |
| | | |
| | | onMounted(() => { |
| | | let protocol = window.location.protocol === 'https:' ? 'wss://' : 'ws://'; |
| | | initWebSocket(protocol + window.location.host + import.meta.env.VITE_APP_BASE_API + '/resource/websocket'); |
| | | }); |
| | | |
| | | onMounted(() => { |
| | | initSSE(import.meta.env.VITE_APP_BASE_API + '/resource/sse'); |
| | | }); |
| | | |
| | | const handleClickOutside = () => { |
| | | useAppStore().closeSideBar({ withoutAnimation: false }); |
| | | }; |