diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue index 811870e..bc43254 100644 --- a/apps/app-frontend/src/App.vue +++ b/apps/app-frontend/src/App.vue @@ -63,7 +63,7 @@ import { openUrl } from '@tauri-apps/plugin-opener' import { type as getOsType } from '@tauri-apps/plugin-os' import { saveWindowState, StateFlags } from '@tauri-apps/plugin-window-state' import { hideAllPoppers } from 'floating-vue' -import { computed, onMounted, onUnmounted, provide, ref, watch } from 'vue' +import { computed, nextTick, onMounted, onUnmounted, provide, ref, watch } from 'vue' import { type RouteLocationNormalizedLoaded, RouterView, useRoute, useRouter } from 'vue-router' import InstancePlayerModal from '@/components/instance/InstancePlayerModal.vue' @@ -1271,6 +1271,7 @@ provide( ) provide('previewMinecraftCrashModal', () => minecraftCrashModal.value?.showPreview()) provide('showLauncherPopup', (_request: unknown) => {}) +provide('showStartupAnnouncement', () => startupAnnouncementModal.value?.show()) const stateFailed = ref(false) stateInitialization @@ -1544,13 +1545,27 @@ const startupAnnouncementModal = ref +import { NewspaperIcon, RightArrowIcon } from '@modrinth/assets' +import { inject } from 'vue' + +const showAnnouncement = inject<(() => void) | undefined>('showStartupAnnouncement') + +function open() { + showAnnouncement?.() +} + + + \ No newline at end of file diff --git a/apps/app-frontend/src/components/ui/StartupAnnouncementModal.vue b/apps/app-frontend/src/components/ui/StartupAnnouncementModal.vue index fafad29..8f08924 100644 --- a/apps/app-frontend/src/components/ui/StartupAnnouncementModal.vue +++ b/apps/app-frontend/src/components/ui/StartupAnnouncementModal.vue @@ -30,6 +30,8 @@ function hide() { function openLink(url: string) { void openUrl(url) } + +defineExpose({ show })