aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorLibravatar Dominik Guzei <dominik.guzei@gmail.com>2019-04-10 16:12:38 +0200
committerLibravatar Dominik Guzei <dominik.guzei@gmail.com>2019-04-10 16:12:38 +0200
commit073212bf046b9218f9e3129988b1b63fba5d685d (patch)
treeb6c4c2db33f3a111a82e7801073bb5b697f9a56c /packages
parentimprove contrast of workspace switching indicator (diff)
downloadferdium-app-073212bf046b9218f9e3129988b1b63fba5d685d.tar.gz
ferdium-app-073212bf046b9218f9e3129988b1b63fba5d685d.tar.zst
ferdium-app-073212bf046b9218f9e3129988b1b63fba5d685d.zip
added generic pro badge component for settings nav
Diffstat (limited to 'packages')
-rw-r--r--packages/ui/src/badge/ProBadge.tsx65
-rw-r--r--packages/ui/src/index.ts1
2 files changed, 66 insertions, 0 deletions
diff --git a/packages/ui/src/badge/ProBadge.tsx b/packages/ui/src/badge/ProBadge.tsx
new file mode 100644
index 000000000..eb00e156d
--- /dev/null
+++ b/packages/ui/src/badge/ProBadge.tsx
@@ -0,0 +1,65 @@
1import { Theme } from '@meetfranz/theme';
2import classnames from 'classnames';
3import React, { Component } from 'react';
4import injectStyle from 'react-jss';
5
6import { Icon, Badge } from '../';
7import { IWithStyle } from '../typings/generic';
8
9interface IProps extends IWithStyle {
10 badgeClasses?: string;
11 iconClasses?: string;
12 inverted?: boolean;
13}
14
15const styles = (theme: Theme) => ({
16 badge: {
17 height: 'auto',
18 padding: [4, 6, 2, 7],
19 borderRadius: theme.borderRadiusSmall,
20 },
21 invertedBadge: {
22 background: theme.styleTypes.primary.contrast,
23 color: theme.styleTypes.primary.accent,
24 },
25 icon: {
26 fill: theme.styleTypes.primary.contrast,
27 },
28 invertedIcon: {
29 fill: theme.styleTypes.primary.accent,
30 },
31});
32
33class ProBadgeComponent extends Component<IProps> {
34 render() {
35 const {
36 classes,
37 badgeClasses,
38 iconClasses,
39 inverted,
40 } = this.props;
41
42 return (
43 <Badge
44 type="primary"
45 className={classnames([
46 classes.badge,
47 inverted && classes.invertedBadge,
48 badgeClasses,
49 ])}
50 data-type="franz-badge"
51 >
52 <Icon
53 icon="mdiStar"
54 className={classnames([
55 classes.icon,
56 inverted && classes.invertedIcon,
57 iconClasses,
58 ])}
59 />
60 </Badge>
61 );
62 }
63}
64
65export const ProBadge = injectStyle(styles)(ProBadgeComponent);
diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts
index 1eeec5144..666495ce9 100644
--- a/packages/ui/src/index.ts
+++ b/packages/ui/src/index.ts
@@ -3,3 +3,4 @@ export { Infobox } from './infobox';
3export * from './headline'; 3export * from './headline';
4export { Loader } from './loader'; 4export { Loader } from './loader';
5export { Badge } from './badge'; 5export { Badge } from './badge';
6export { ProBadge } from './badge/ProBadge';