nicolium: migrate notifications to tanstack/react-query
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
@@ -2,10 +2,10 @@ import React from 'react';
|
||||
import { Helmet as ReactHelmet } from 'react-helmet-async';
|
||||
|
||||
import { useStatContext } from '@/contexts/stat-context';
|
||||
import { useAppSelector } from '@/hooks/use-app-selector';
|
||||
import { useInstance } from '@/hooks/use-instance';
|
||||
import { usePendingUsersCount } from '@/queries/admin/use-accounts';
|
||||
import { usePendingReportsCount } from '@/queries/admin/use-reports';
|
||||
import { useNotificationsUnreadCount } from '@/queries/notifications/use-notifications';
|
||||
import { useSettings } from '@/stores/settings';
|
||||
import FaviconService from '@/utils/favicon-service';
|
||||
|
||||
@@ -20,13 +20,9 @@ const Helmet: React.FC<IHelmet> = ({ children }) => {
|
||||
const { unreadChatsCount } = useStatContext();
|
||||
const { data: awaitingApprovalCount = 0 } = usePendingUsersCount();
|
||||
const { data: pendingReportsCount = 0 } = usePendingReportsCount();
|
||||
const unreadCount = useAppSelector(
|
||||
(state) =>
|
||||
(state.notifications.unread || 0) +
|
||||
unreadChatsCount +
|
||||
awaitingApprovalCount +
|
||||
pendingReportsCount,
|
||||
);
|
||||
const notificationCount = useNotificationsUnreadCount();
|
||||
const unreadCount =
|
||||
notificationCount + unreadChatsCount + awaitingApprovalCount + pendingReportsCount;
|
||||
const { demetricator } = useSettings();
|
||||
|
||||
const hasUnreadNotifications = React.useMemo(
|
||||
|
||||
@@ -38,7 +38,7 @@ const ScrollTopButton: React.FC<IScrollTopButton> = ({
|
||||
// Whether we are scrolled above the `autoloadThreshold`.
|
||||
const [scrolledTop, setScrolledTop] = useState<boolean>(false);
|
||||
|
||||
const visible = count > 0 && (autoloadThreshold ? scrolled : scrolledTop);
|
||||
const visible = count > 0 && (!autoloadTimelines || scrolled);
|
||||
const buttonMessage = intl.formatMessage(message, { count });
|
||||
|
||||
/** Number of pixels scrolled down from the top of the page. */
|
||||
|
||||
@@ -8,7 +8,6 @@ import Stack from '@/components/ui/stack';
|
||||
import { useStatContext } from '@/contexts/stat-context';
|
||||
import ComposeButton from '@/features/ui/components/compose-button';
|
||||
import ProfileDropdown from '@/features/ui/components/profile-dropdown';
|
||||
import { useAppSelector } from '@/hooks/use-app-selector';
|
||||
import { useFeatures } from '@/hooks/use-features';
|
||||
import { useInstance } from '@/hooks/use-instance';
|
||||
import { useOwnAccount } from '@/hooks/use-own-account';
|
||||
@@ -16,6 +15,7 @@ import { useRegistrationStatus } from '@/hooks/use-registration-status';
|
||||
import { useFollowRequestsCount } from '@/queries/accounts/use-follow-requests';
|
||||
import { usePendingUsersCount } from '@/queries/admin/use-accounts';
|
||||
import { usePendingReportsCount } from '@/queries/admin/use-reports';
|
||||
import { useNotificationsUnreadCount } from '@/queries/notifications/use-notifications';
|
||||
import { scheduledStatusesCountQueryOptions } from '@/queries/statuses/scheduled-statuses';
|
||||
import { useDraftStatusesCountQuery } from '@/queries/statuses/use-draft-statuses';
|
||||
import { useInteractionRequestsCount } from '@/queries/statuses/use-interaction-requests';
|
||||
@@ -78,7 +78,7 @@ const SidebarNavigation: React.FC<ISidebarNavigation> = React.memo(({ shrink })
|
||||
[!!account, features],
|
||||
);
|
||||
|
||||
const notificationCount = useAppSelector((state) => state.notifications.unread);
|
||||
const notificationCount = useNotificationsUnreadCount();
|
||||
const followRequestsCount = useFollowRequestsCount().data ?? 0;
|
||||
const interactionRequestsCount = useInteractionRequestsCount().data ?? 0;
|
||||
const { data: awaitingApprovalCount = 0 } = usePendingUsersCount();
|
||||
|
||||
@@ -12,6 +12,7 @@ import { useAppDispatch } from '@/hooks/use-app-dispatch';
|
||||
import { useAppSelector } from '@/hooks/use-app-selector';
|
||||
import { useFeatures } from '@/hooks/use-features';
|
||||
import { useOwnAccount } from '@/hooks/use-own-account';
|
||||
import { useNotificationsUnreadCount } from '@/queries/notifications/use-notifications';
|
||||
import { useModalsActions } from '@/stores/modals';
|
||||
import { useIsSidebarOpen, useUiStoreActions } from '@/stores/ui';
|
||||
import { isStandalone } from '@/utils/state';
|
||||
@@ -43,7 +44,7 @@ const ThumbNavigation: React.FC = React.memo((): JSX.Element => {
|
||||
const { unreadChatsCount } = useStatContext();
|
||||
|
||||
const standalone = useAppSelector(isStandalone);
|
||||
const notificationCount = useAppSelector((state) => state.notifications.unread);
|
||||
const notificationCount = useNotificationsUnreadCount();
|
||||
|
||||
const handleOpenComposeModal = () => {
|
||||
if (match?.params.groupId) {
|
||||
|
||||
Reference in New Issue
Block a user