@churchapps/apphelper 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,7 +27,7 @@ const ChurchList = props => {
27
27
  userChurches.forEach(uc => {
28
28
  const userChurch = uc;
29
29
  const churchName = uc.church.name;
30
- result.push((0, jsx_runtime_1.jsx)(NavItem_1.NavItem, { selected: (uc.church.id === props.currentUserChurch.church.id) && true, onClick: () => UserHelper_1.UserHelper.selectChurch(props.context, userChurch.church.id, null), label: churchName, icon: "church", deleteIcon: uc.church.id !== props.currentUserChurch.church.id ? "delete" : null, deleteLabel: helpers_2.Locale.label("wrapper.deleteChurch"), deleteFunction: () => { handleDelete(uc); } }, userChurch.church.id));
30
+ result.push((0, jsx_runtime_1.jsx)(NavItem_1.NavItem, { selected: (uc.church.id === props.currentUserChurch.church.id) && true, onClick: () => UserHelper_1.UserHelper.selectChurch(props.context, userChurch.church.id, null), label: churchName || "Unknown", icon: "church", deleteIcon: uc.church.id !== props.currentUserChurch.church.id ? "delete" : null, deleteLabel: helpers_2.Locale.label("wrapper.deleteChurch"), deleteFunction: () => { handleDelete(uc); } }, userChurch.church.id));
31
31
  });
32
32
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: result });
33
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ChurchList.js","sourceRoot":"","sources":["../../../src/components/wrapper/ChurchList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,iCAAwC;AACxC,iDAAkG;AAClG,uDAAoD;AACpD,yDAAsD;AACtD,uCAAoC;AACpC,2CAAuC;AAIhC,MAAM,UAAU,GAAoB,KAAK,CAAC,EAAE;IACjD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,uBAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3G,MAAM,YAAY,GAAG,KAAK,EAAE,EAA4B,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,gBAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,qBAAS,CAAC,MAAM,CAAC,sBAAsB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;YACvH,MAAM,qBAAS,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;YACtG,oCAAoC;YACpC,MAAM,GAAG,GAAG,qBAAW,CAAC,QAAQ,CAAC,uBAAU,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrF,IAAI,GAAG,GAAG,CAAC,CAAC;gBAAE,uBAAU,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrD,KAAK,EAAE,QAAQ,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAA;IAED,IAAI,MAAM,GAAyB,EAAE,CAAC;IACtC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,uBAAC,iBAAO,IAElB,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EACtE,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAU,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EACjF,KAAK,EAAE,UAAU,EACjB,IAAI,EAAC,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAChF,WAAW,EAAE,gBAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EACjD,cAAc,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAPtC,UAAU,CAAC,MAAM,CAAC,EAAE,CAQzB,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,2DAAG,MAAM,GAAI,CAAC;AACvB,CAAC,CAAC;AAhCW,QAAA,UAAU,cAgCrB"}
1
+ {"version":3,"file":"ChurchList.js","sourceRoot":"","sources":["../../../src/components/wrapper/ChurchList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAEb,iCAAwC;AACxC,iDAAkG;AAClG,uDAAoD;AACpD,yDAAsD;AACtD,uCAAoC;AACpC,2CAAuC;AAIhC,MAAM,UAAU,GAAoB,KAAK,CAAC,EAAE;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,IAAA,gBAAQ,EAAC,uBAAU,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3G,MAAM,YAAY,GAAG,KAAK,EAAE,EAA4B,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,gBAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACpG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,qBAAS,CAAC,MAAM,CAAC,sBAAsB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;YACvH,MAAM,qBAAS,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;YACtG,oCAAoC;YACpC,MAAM,GAAG,GAAG,qBAAW,CAAC,QAAQ,CAAC,uBAAU,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrF,IAAI,GAAG,GAAG,CAAC,CAAC;gBAAE,uBAAU,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrD,KAAK,EAAE,QAAQ,EAAE,CAAC;QACnB,CAAC;IACF,CAAC,CAAA;IAED,IAAI,MAAM,GAAyB,EAAE,CAAC;IACtC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACzB,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,uBAAC,iBAAO,IAEnB,QAAQ,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EACtE,OAAO,EAAE,GAAG,EAAE,CAAC,uBAAU,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EACjF,KAAK,EAAE,UAAU,IAAI,SAAS,EAC9B,IAAI,EAAC,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAChF,WAAW,EAAE,gBAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,EACjD,cAAc,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAPtC,UAAU,CAAC,MAAM,CAAC,EAAE,CAQxB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,2DAAG,MAAM,GAAI,CAAC;AACtB,CAAC,CAAC;AAhCW,QAAA,UAAU,cAgCrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../../src/components/wrapper/NavItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,KAAK;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAQD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0BnC,CAAC"}
1
+ {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../../src/components/wrapper/NavItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,KAAK;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAQD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0BnC,CAAC"}
@@ -17,7 +17,7 @@ const NavItem = (props) => {
17
17
  else
18
18
  return (0, jsx_runtime_1.jsx)(material_1.Icon, { children: props.icon });
19
19
  };
20
- const getLinkContents = () => ((0, jsx_runtime_1.jsxs)(material_1.ListItemButton, { "data-testid": `nav-item-${props.label.toLowerCase().replace(/\s+/g, '-')}`, children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: props.label || "", arrow: true, placement: "right", children: (0, jsx_runtime_1.jsx)(material_1.ListItemIcon, { sx: { minWidth: "40px" }, children: getIcon() }) }), (0, jsx_runtime_1.jsx)(material_1.ListItemText, { primary: props.label }), props?.deleteIcon
20
+ const getLinkContents = () => ((0, jsx_runtime_1.jsxs)(material_1.ListItemButton, { "data-testid": `nav-item-${props.label?.toLowerCase()?.replace(/\s+/g, '-')}`, children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: props.label || "", arrow: true, placement: "right", children: (0, jsx_runtime_1.jsx)(material_1.ListItemIcon, { sx: { minWidth: "40px" }, children: getIcon() }) }), (0, jsx_runtime_1.jsx)(material_1.ListItemText, { primary: props.label }), props?.deleteIcon
21
21
  ? ((0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: props.deleteLabel || "", arrow: true, placement: "left", children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: props.deleteFunction ? (e) => { e.stopPropagation(); e.preventDefault(); props.deleteFunction(); } : null, sx: { color: "#f7a9a9" }, size: "small", "aria-label": props.deleteLabel || "Delete item", "data-testid": "nav-item-delete", children: (0, jsx_runtime_1.jsx)(material_1.Icon, { sx: { fontSize: 19 }, children: "delete" }) }) }))
22
22
  : ""] }));
23
23
  if (props.external)
@@ -1 +1 @@
1
- {"version":3,"file":"NavItem.js","sourceRoot":"","sources":["../../../src/components/wrapper/NavItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavItem.js","sourceRoot":"","sources":["../../../src/components/wrapper/NavItem.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@churchapps/apphelper",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Library of helper functions for React and NextJS ChurchApps",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -10,35 +10,35 @@ import { Locale } from "../../helpers";
10
10
  export interface Props { userChurches: LoginUserChurchInterface[], currentUserChurch: LoginUserChurchInterface, context: UserContextInterface, onDelete?: () => void }
11
11
 
12
12
  export const ChurchList: React.FC<Props> = props => {
13
- const [userChurches, setUserChurches] = useState(UserHelper.userChurches.filter(uc => uc.apis.length > 0));
13
+ const [userChurches, setUserChurches] = useState(UserHelper.userChurches.filter(uc => uc.apis.length > 0));
14
14
 
15
- const handleDelete = async (uc: LoginUserChurchInterface) => {
16
- const label = Locale.label("wrapper.sureRemoveChurch").replace("{}", uc.church.name?.toUpperCase());
17
- if (window.confirm(label)) {
18
- await ApiHelper.delete(`/userchurch/record/${props.context.user.id}/${uc.church.id}/${uc.person.id}`, "MembershipApi");
19
- await ApiHelper.delete(`/rolemembers/self/${uc.church.id}/${props.context.user.id}`, "MembershipApi");
20
- // remove the same from userChurches
21
- const idx = ArrayHelper.getIndex(UserHelper.userChurches, "church.id", uc.church.id);
22
- if (idx > -1) UserHelper.userChurches.splice(idx, 1);
23
- props?.onDelete();
24
- }
25
- }
15
+ const handleDelete = async (uc: LoginUserChurchInterface) => {
16
+ const label = Locale.label("wrapper.sureRemoveChurch").replace("{}", uc.church.name?.toUpperCase());
17
+ if (window.confirm(label)) {
18
+ await ApiHelper.delete(`/userchurch/record/${props.context.user.id}/${uc.church.id}/${uc.person.id}`, "MembershipApi");
19
+ await ApiHelper.delete(`/rolemembers/self/${uc.church.id}/${props.context.user.id}`, "MembershipApi");
20
+ // remove the same from userChurches
21
+ const idx = ArrayHelper.getIndex(UserHelper.userChurches, "church.id", uc.church.id);
22
+ if (idx > -1) UserHelper.userChurches.splice(idx, 1);
23
+ props?.onDelete();
24
+ }
25
+ }
26
26
 
27
- let result: React.ReactElement[] = [];
28
- userChurches.forEach(uc => {
29
- const userChurch = uc;
30
- const churchName = uc.church.name;
31
- result.push(<NavItem
32
- key={userChurch.church.id}
33
- selected={(uc.church.id === props.currentUserChurch.church.id) && true}
34
- onClick={() => UserHelper.selectChurch(props.context, userChurch.church.id, null)}
35
- label={churchName}
36
- icon="church"
37
- deleteIcon={uc.church.id !== props.currentUserChurch.church.id ? "delete" : null}
38
- deleteLabel={Locale.label("wrapper.deleteChurch")}
39
- deleteFunction={() => { handleDelete(uc); }}
40
- />);
41
- });
27
+ let result: React.ReactElement[] = [];
28
+ userChurches.forEach(uc => {
29
+ const userChurch = uc;
30
+ const churchName = uc.church.name;
31
+ result.push(<NavItem
32
+ key={userChurch.church.id}
33
+ selected={(uc.church.id === props.currentUserChurch.church.id) && true}
34
+ onClick={() => UserHelper.selectChurch(props.context, userChurch.church.id, null)}
35
+ label={churchName || "Unknown"}
36
+ icon="church"
37
+ deleteIcon={uc.church.id !== props.currentUserChurch.church.id ? "delete" : null}
38
+ deleteLabel={Locale.label("wrapper.deleteChurch")}
39
+ deleteFunction={() => { handleDelete(uc); }}
40
+ />);
41
+ });
42
42
 
43
- return <>{result}</>;
43
+ return <>{result}</>;
44
44
  };
@@ -6,49 +6,49 @@ import { NavLink, useLocation } from "react-router-dom";
6
6
 
7
7
  interface Props {
8
8
  badgeCount?: number;
9
- url?: string;
10
- target?: string;
11
- label: string;
12
- icon: string;
13
- onClick?: () => void;
14
- onNavigate?: (url: string) => void;
15
- external?: boolean;
16
- selected?: boolean;
17
- deleteIcon?: string;
18
- deleteLabel?: string;
19
- deleteFunction?: () => void;
9
+ url?: string;
10
+ target?: string;
11
+ label: string;
12
+ icon: string;
13
+ onClick?: () => void;
14
+ onNavigate?: (url: string) => void;
15
+ external?: boolean;
16
+ selected?: boolean;
17
+ deleteIcon?: string;
18
+ deleteLabel?: string;
19
+ deleteFunction?: () => void;
20
20
  }
21
21
 
22
22
  const StyledNavLink = styled(NavLink)({
23
- textDecoration: "none",
24
- "&:hover": { textDecoration: "none" },
25
- "& .MuiListItemIcon-root": { minWidth: 40 }
23
+ textDecoration: "none",
24
+ "&:hover": { textDecoration: "none" },
25
+ "& .MuiListItemIcon-root": { minWidth: 40 }
26
26
  });
27
27
 
28
28
  export const NavItem: React.FC<Props> = (props) => {
29
29
 
30
- const getIcon = () => {
31
- if (props.badgeCount && props.badgeCount > 0) return <Badge badgeContent={props.badgeCount} color="error"><Icon>{props.icon}</Icon></Badge>
32
- else return <Icon>{props.icon}</Icon>
33
- }
30
+ const getIcon = () => {
31
+ if (props.badgeCount && props.badgeCount > 0) return <Badge badgeContent={props.badgeCount} color="error"><Icon>{props.icon}</Icon></Badge>
32
+ else return <Icon>{props.icon}</Icon>
33
+ }
34
34
 
35
- const getLinkContents = () => (<ListItemButton data-testid={`nav-item-${props.label.toLowerCase().replace(/\s+/g, '-')}`}>
36
- <Tooltip title={props.label || ""} arrow placement="right">
37
- <ListItemIcon sx={{ minWidth: "40px" }}>{getIcon()}</ListItemIcon>
38
- </Tooltip>
39
- <ListItemText primary={props.label} />
40
- {props?.deleteIcon
41
- ? (
42
- <Tooltip title={props.deleteLabel || ""} arrow placement="left">
43
- <IconButton onClick={props.deleteFunction ? (e) => { e.stopPropagation(); e.preventDefault(); props.deleteFunction() } : null} sx={{ color: "#f7a9a9" }} size="small" aria-label={props.deleteLabel || "Delete item"} data-testid="nav-item-delete">
44
- <Icon sx={{ fontSize: 19 }}>delete</Icon>
45
- </IconButton>
46
- </Tooltip>
47
- )
48
- : ""}
49
- </ListItemButton>)
35
+ const getLinkContents = () => (<ListItemButton data-testid={`nav-item-${props.label?.toLowerCase()?.replace(/\s+/g, '-')}`}>
36
+ <Tooltip title={props.label || ""} arrow placement="right">
37
+ <ListItemIcon sx={{ minWidth: "40px" }}>{getIcon()}</ListItemIcon>
38
+ </Tooltip>
39
+ <ListItemText primary={props.label} />
40
+ {props?.deleteIcon
41
+ ? (
42
+ <Tooltip title={props.deleteLabel || ""} arrow placement="left">
43
+ <IconButton onClick={props.deleteFunction ? (e) => { e.stopPropagation(); e.preventDefault(); props.deleteFunction() } : null} sx={{ color: "#f7a9a9" }} size="small" aria-label={props.deleteLabel || "Delete item"} data-testid="nav-item-delete">
44
+ <Icon sx={{ fontSize: 19 }}>delete</Icon>
45
+ </IconButton>
46
+ </Tooltip>
47
+ )
48
+ : ""}
49
+ </ListItemButton>)
50
50
 
51
- if (props.external) return (<a href={props.url} target={props.target} rel="noreferrer" style={{ textDecoration: "none" }} className={(props.selected) ? "selected" : ""} onClick={(e) => { e.preventDefault(); props.onClick ? props.onClick() : window.location.href = props.url }}>{getLinkContents()}</a>)
52
- else return (<a href="about:blank" style={{ textDecoration: "none" }} className={(props.selected) ? "selected" : ""} onClick={(e) => { e.preventDefault(); props.onClick ? props.onClick() : props.onNavigate(props.url) }}>{getLinkContents()}</a>)
53
- //else return (<StyledNavLink to={props.url || "about:blank"} target={props.target} className={(props.selected) ? "selected" : ""} onClick={(e) => { e.preventDefault(); (props.onClick) ? props.onClick() : props.onNavigate(props.url)}}>{getLinkContents()}</StyledNavLink>)
51
+ if (props.external) return (<a href={props.url} target={props.target} rel="noreferrer" style={{ textDecoration: "none" }} className={(props.selected) ? "selected" : ""} onClick={(e) => { e.preventDefault(); props.onClick ? props.onClick() : window.location.href = props.url }}>{getLinkContents()}</a>)
52
+ else return (<a href="about:blank" style={{ textDecoration: "none" }} className={(props.selected) ? "selected" : ""} onClick={(e) => { e.preventDefault(); props.onClick ? props.onClick() : props.onNavigate(props.url) }}>{getLinkContents()}</a>)
53
+ //else return (<StyledNavLink to={props.url || "about:blank"} target={props.target} className={(props.selected) ? "selected" : ""} onClick={(e) => { e.preventDefault(); (props.onClick) ? props.onClick() : props.onNavigate(props.url)}}>{getLinkContents()}</StyledNavLink>)
54
54
  };