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

mendersoftware / gui / 1057188406

01 Nov 2023 04:24AM UTC coverage: 82.824% (-17.1%) from 99.964%
1057188406

Pull #4134

gitlab-ci

web-flow
chore: Bump uuid from 9.0.0 to 9.0.1

Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.0 to 9.0.1.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.0...v9.0.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Pull Request #4134: chore: Bump uuid from 9.0.0 to 9.0.1

4349 of 6284 branches covered (0.0%)

8313 of 10037 relevant lines covered (82.82%)

200.97 hits per line

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

88.89
/src/js/components/common/enterpriseNotification.js
1
// Copyright 2019 Northern.tech AS
2
//
3
//    Licensed under the Apache License, Version 2.0 (the "License");
4
//    you may not use this file except in compliance with the License.
5
//    You may obtain a copy of the License at
6
//
7
//        http://www.apache.org/licenses/LICENSE-2.0
8
//
9
//    Unless required by applicable law or agreed to in writing, software
10
//    distributed under the License is distributed on an "AS IS" BASIS,
11
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
//    See the License for the specific language governing permissions and
13
//    limitations under the License.
14
import React, { useState } from 'react';
15
import { useSelector } from 'react-redux';
16
import { Link } from 'react-router-dom';
17

18
import { Chip } from '@mui/material';
19
import { withStyles } from 'tss-react/mui';
20

21
import { ADDONS, BENEFITS, PLANS } from '../../constants/appConstants';
22
import { getTenantCapabilities } from '../../selectors';
23
import MenderTooltip, { MenderTooltipClickable } from './mendertooltip';
24

25
const PlansTooltip = withStyles(MenderTooltip, ({ palette }) => ({
1,546✔
26
  arrow: {
27
    color: palette.tooltip.tierTipBackground
28
  },
29
  tooltip: {
30
    backgroundColor: palette.tooltip.tierTipBackground,
31
    maxWidth: 300
32
  }
33
}));
34

35
const PlanChip = withStyles(Chip, ({ palette }) => ({
184✔
36
  root: {
37
    backgroundColor: palette.tooltip.tierTipBackground,
38
    color: palette.text.disabled,
39
    textTransform: 'uppercase',
40
    '&:hover': {
41
      fontWeight: 'bold'
42
    }
43
  }
44
}));
45

46
export const DefaultUpgradeNotification = props => (
184✔
47
  <div {...props}>
×
48
    This feature is not available on your plan. <Link to="/settings/upgrade">Upgrade</Link> to enable it
49
  </div>
50
);
51

52
const EnterpriseNotification = ({ className = '', id = BENEFITS.default.id }) => {
184✔
53
  const [isOpen, setIsOpen] = useState(false);
2,349✔
54
  const tenantCapabilities = useSelector(getTenantCapabilities);
2,349✔
55
  const { isEnterprise, plan: currentPlan } = tenantCapabilities;
2,349✔
56
  const { benefit, requiredAddon = '', requiredPlan = PLANS.os.id } = BENEFITS[id];
2,349✔
57
  const hasAddon = requiredAddon ? ADDONS[requiredAddon].needs.every(need => tenantCapabilities[need]) : false;
2,349✔
58

59
  const currentPlanIndex = Object.keys(PLANS).indexOf(currentPlan);
2,349✔
60
  const requiredPlanIndex = Object.keys(PLANS).indexOf(requiredPlan);
2,349✔
61
  const shouldShow = requiredPlanIndex > currentPlanIndex;
2,349✔
62
  // we have to explicitly check for the plan requirement here, since the default value prevents us from relying on the `shouldShow` result
63
  if (isEnterprise || (BENEFITS[id].requiredPlan && !shouldShow) || (requiredAddon && hasAddon)) {
2,349✔
64
    return null;
804✔
65
  }
66
  const content = requiredAddon ? (
1,545✔
67
    <>
68
      Add the <b>{ADDONS[requiredAddon].title}</b> add-on to {benefit}.
69
    </>
70
  ) : (
71
    <>
72
      Upgrade to the <b>{PLANS[requiredPlan].name}</b> plan {requiredPlanIndex === Object.keys(PLANS).length - 1 ? '' : 'or higher '}to gain access to {benefit}
1,501✔
73
      .
74
    </>
75
  );
76
  return (
1,545✔
77
    <MenderTooltipClickable
78
      onOpenChange={setIsOpen}
79
      title={
80
        <div>
81
          {content}
82
          <div className="flexbox space-between margin-top-small">
83
            <Link to="/settings/upgrade">Upgrade now</Link>
84
            <span className="link" onClick={() => setIsOpen(false)}>
×
85
              Close
86
            </span>
87
          </div>
88
        </div>
89
      }
90
      tooltipComponent={PlansTooltip}
91
      visibility={isOpen}
92
    >
93
      <PlanChip className={className} label={PLANS[requiredPlan].name} />
94
    </MenderTooltipClickable>
95
  );
96
};
97

98
export default EnterpriseNotification;
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