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

inventree / InvenTree / 8535197168

03 Apr 2024 07:58AM CUT coverage: 90.342% (-2.2%) from 92.496%
8535197168

Pull #6881

github

web-flow
Merge a1722af93 into 6be2ede5e
Pull Request #6881: [PUI] Add coverage testing

227 of 631 branches covered (35.97%)

Branch coverage included in aggregate %.

0 of 1 new or added line in 1 file covered. (0.0%)

1 existing line in 1 file now uncovered.

31971 of 35009 relevant lines covered (91.32%)

1.12 hits per line

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

80.95
/src/frontend/src/components/nav/NavHoverMenu.tsx
1
import { Trans, t } from '@lingui/macro';
2
import {
3
  ActionIcon,
4
  Anchor,
5
  Button,
6
  Divider,
7
  Group,
8
  HoverCard,
9
  Skeleton,
10
  Text,
11
  UnstyledButton
12
} from '@mantine/core';
13
import { IconLayoutSidebar } from '@tabler/icons-react';
14
import { useEffect, useState } from 'react';
15

16
import { menuItems } from '../../defaults/menuItems';
17
import { InvenTreeStyle } from '../../globalStyle';
18
import { useServerApiState } from '../../states/ApiState';
19
import { useLocalState } from '../../states/LocalState';
20
import { InvenTreeLogo } from '../items/InvenTreeLogo';
21
import { MenuLinks } from '../items/MenuLinks';
22

23
export function NavHoverMenu({
2✔
24
  openDrawer: openDrawer
25
}: {
26
  openDrawer: () => void;
27
}) {
6✔
28
  const { classes, theme } = InvenTreeStyle();
6✔
29
  const [hostKey, hostList] = useLocalState((state) => [
6✔
30
    state.hostKey,
31
    state.hostList
32
  ]);
33
  const [servername] = useServerApiState((state) => [state.server.instance]);
6✔
34
  const [instanceName, setInstanceName] = useState<string>();
6✔
35

36
  useEffect(() => {
6✔
37
    if (hostKey && hostList[hostKey]) {
4✔
38
      setInstanceName(hostList[hostKey]?.name);
4✔
39
    }
40
  }, [hostKey]);
41

42
  return (
6✔
43
    <HoverCard
44
      width={600}
45
      openDelay={300}
46
      position="bottom"
47
      shadow="md"
48
      withinPortal
49
    >
50
      <HoverCard.Target>
NEW
51
        <UnstyledButton onClick={() => openDrawer()} aria-label="Homenav">
×
52
          <InvenTreeLogo />
53
        </UnstyledButton>
54
      </HoverCard.Target>
55

56
      <HoverCard.Dropdown sx={{ overflow: 'hidden' }}>
57
        <Group position="apart" px="md">
58
          <ActionIcon
59
            onClick={openDrawer}
60
            onMouseOver={openDrawer}
61
            title={t`Open Navigation`}
62
          >
63
            <IconLayoutSidebar />
64
          </ActionIcon>
65
          <Group spacing={'xs'}>
66
            {instanceName ? (
6!
67
              instanceName
68
            ) : (
69
              <Skeleton height={20} width={40} radius={theme.defaultRadius} />
70
            )}{' '}
71
            |{' '}
72
            {servername ? (
6!
73
              servername
74
            ) : (
75
              <Skeleton height={20} width={40} radius={theme.defaultRadius} />
76
            )}
77
          </Group>
78
          <Anchor href="#" fz="xs" onClick={openDrawer}>
79
            <Trans>View all</Trans>
80
          </Anchor>
81
        </Group>
82

83
        <Divider
84
          my="sm"
85
          mx="-md"
86
          color={theme.colorScheme === 'dark' ? 'dark.5' : 'gray.1'}
6!
87
        />
88
        <MenuLinks links={menuItems} highlighted={true} />
89
        <div className={classes.headerDropdownFooter}>
90
          <Group position="apart">
91
            <div>
92
              <Text fw={500} fz="sm">
93
                <Trans>Get started</Trans>
94
              </Text>
95
              <Text size="xs" color="dimmed">
96
                <Trans>
97
                  Overview over high-level objects, functions and possible
98
                  usecases.
99
                </Trans>
100
              </Text>
101
            </div>
102
            <Button variant="default">
103
              <Trans>Get started</Trans>
104
            </Button>
105
          </Group>
106
        </div>
107
      </HoverCard.Dropdown>
108
    </HoverCard>
109
  );
110
}
2✔
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

© 2025 Coveralls, Inc