• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

alkem-io / client-web / #9565

09 Dec 2024 02:34PM UTC coverage: 5.936%. First build
#9565

Pull #7254

travis-ci

Pull Request #7254: In-app Notifications v1 for Beta Testers

194 of 10679 branches covered (1.82%)

Branch coverage included in aggregate %.

40 of 177 new or added lines in 15 files covered. (22.6%)

1537 of 18480 relevant lines covered (8.32%)

0.19 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/main/inAppNotifications/InAppNotificationsDialog.tsx
1
import { DialogContent, IconButton, Tooltip } from '@mui/material';
2
import NotificationsNoneOutlinedIcon from '@mui/icons-material/NotificationsNoneOutlined';
3
import SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined';
4
import { useTranslation } from 'react-i18next';
5
import DialogWithGrid from '@/core/ui/dialog/DialogWithGrid';
6
import DialogHeader from '@/core/ui/dialog/DialogHeader';
7
import { useInAppNotificationsContext } from './InAppNotificationsContext';
8
import { InAppNotificationsList } from './InAppNotificationsList';
NEW
9
import { useCurrentUserContext } from '@/domain/community/userCurrent/useCurrentUserContext';
×
NEW
10
import { useInAppNotifications } from '@/main/inAppNotifications/useInAppNotifications';
×
NEW
11
import DraftsOutlinedIcon from '@mui/icons-material/DraftsOutlined';
×
12
import { InAppNotificationSubscriber } from '@/main/inAppNotifications/inAppNotificationSubscriber';
NEW
13
import { InAppNotificationsFilterChips } from './InAppNotificationsFilterChips';
×
NEW
14
import { buildNotificationSettingsUrl } from '../routing/urlBuilders';
×
NEW
15
import RouterLink from '@/core/ui/link/RouterLink';
×
16

17
const InAppNotificationsDialog = () => {
18
  const { t } = useTranslation();
×
19
  const { isOpen, setIsOpen, selectedFilter, setSelectedFilter } = useInAppNotificationsContext();
20
  const { markNotificationsAsRead } = useInAppNotifications();
21
  const { userModel } = useCurrentUserContext();
22

23
  return (
24
    <DialogWithGrid
25
      open={isOpen}
26
      columns={8}
27
      onClose={() => setIsOpen(false)}
28
      aria-labelledby="in-app-notifications-dialog"
29
    >
30
      <DialogHeader
31
        id="in-app-notifications-dialog"
32
        icon={<NotificationsNoneOutlinedIcon />}
33
        onClose={() => setIsOpen(false)}
34
        actions={
35
          <>
36
            <Tooltip title={t('components.inAppNotifications.markAllAsRead')} placement="top">
37
              <IconButton onClick={() => markNotificationsAsRead()}>
38
                <DraftsOutlinedIcon />
39
              </IconButton>
40
            </Tooltip>
41
            {userModel?.profile.url && (
42
              <Tooltip title={t('common.settings')} placement="top">
43
                <IconButton component={RouterLink} to={buildNotificationSettingsUrl(userModel.profile.url)}>
44
                  <SettingsOutlinedIcon />
45
                </IconButton>
46
              </Tooltip>
47
            )}
48
          </>
49
        }
50
      >
51
        {t('common.Notifications')}
52
      </DialogHeader>
53
      <DialogContent sx={{ padding: 0 }}>
54
        <InAppNotificationsFilterChips selectedFilter={selectedFilter} onFilterChange={setSelectedFilter} />
55
        {isOpen && <InAppNotificationsList />}
56
        <InAppNotificationSubscriber />
57
      </DialogContent>
58
    </DialogWithGrid>
59
  );
60
};
61

62
export default InAppNotificationsDialog;
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc