diff --git a/web/src/lib/components/shared-components/navigation-bar/account-info-panel.svelte b/web/src/lib/components/shared-components/navigation-bar/account-info-panel.svelte index 22b74767d52..aaa8a3cdcf7 100644 --- a/web/src/lib/components/shared-components/navigation-bar/account-info-panel.svelte +++ b/web/src/lib/components/shared-components/navigation-bar/account-info-panel.svelte @@ -6,9 +6,13 @@ import { AppRoute } from '$lib/constants'; import { modalManager } from '$lib/managers/modal-manager.svelte'; import AvatarEditModal from '$lib/modals/AvatarEditModal.svelte'; + import HelpAndFeedbackModal from '$lib/modals/HelpAndFeedbackModal.svelte'; import { user } from '$lib/stores/user.store'; + import { userInteraction } from '$lib/stores/user.svelte'; + import { getAboutInfo, type ServerAboutResponseDto } from '@immich/sdk'; import { Button } from '@immich/ui'; import { mdiCog, mdiLogout, mdiPencil, mdiWrench } from '@mdi/js'; + import { onMount } from 'svelte'; import { t } from 'svelte-i18n'; import { fade } from 'svelte/transition'; import UserAvatar from '../user-avatar.svelte'; @@ -19,6 +23,12 @@ } let { onLogout, onClose = () => {} }: Props = $props(); + + let info: ServerAboutResponseDto | undefined = $state(); + + onMount(async () => { + info = userInteraction.aboutInfo ?? (await getAboutInfo()); + });
@@ -91,13 +101,25 @@
+ + { + onClose(); + if (info) { + await modalManager.show(HelpAndFeedbackModal, { info }); + } + }} > + {$t('support_and_feedback')} +
diff --git a/web/src/lib/components/shared-components/navigation-bar/navigation-bar.svelte b/web/src/lib/components/shared-components/navigation-bar/navigation-bar.svelte index debc2689235..bd162625142 100644 --- a/web/src/lib/components/shared-components/navigation-bar/navigation-bar.svelte +++ b/web/src/lib/components/shared-components/navigation-bar/navigation-bar.svelte @@ -12,18 +12,13 @@ import SearchBar from '$lib/components/shared-components/search-bar/search-bar.svelte'; import { AppRoute } from '$lib/constants'; import { authManager } from '$lib/managers/auth-manager.svelte'; - import { modalManager } from '$lib/managers/modal-manager.svelte'; - import HelpAndFeedbackModal from '$lib/modals/HelpAndFeedbackModal.svelte'; import { mobileDevice } from '$lib/stores/mobile-device.svelte'; import { notificationManager } from '$lib/stores/notification-manager.svelte'; import { featureFlags } from '$lib/stores/server-config.store'; import { sidebarStore } from '$lib/stores/sidebar.svelte'; import { user } from '$lib/stores/user.store'; - import { userInteraction } from '$lib/stores/user.svelte'; - import { getAboutInfo, type ServerAboutResponseDto } from '@immich/sdk'; import { Button, IconButton } from '@immich/ui'; - import { mdiBellBadge, mdiBellOutline, mdiHelpCircleOutline, mdiMagnify, mdiMenu, mdiTrayArrowUp } from '@mdi/js'; - import { onMount } from 'svelte'; + import { mdiBellBadge, mdiBellOutline, mdiMagnify, mdiMenu, mdiTrayArrowUp } from '@mdi/js'; import { t } from 'svelte-i18n'; import ThemeButton from '../theme-button.svelte'; import UserAvatar from '../user-avatar.svelte'; @@ -42,12 +37,6 @@ let shouldShowNotificationPanel = $state(false); let innerWidth: number = $state(0); const hasUnreadNotifications = $derived(notificationManager.notifications.length > 0); - - let info: ServerAboutResponseDto | undefined = $state(); - - onMount(async () => { - info = userInteraction.aboutInfo ?? (await getAboutInfo()); - }); @@ -130,18 +119,6 @@ -
- info && modalManager.show(HelpAndFeedbackModal, { info })} - aria-label={$t('support_and_feedback')} - /> -
-
(shouldShowNotificationPanel = false),