@selfcommunity/react-ui 0.7.9-alpha.4 → 0.7.9-alpha.6

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.
Files changed (24) hide show
  1. package/lib/cjs/components/Composer/Composer.js +3 -5
  2. package/lib/cjs/components/Composer/Content/ContentPost/ContentPost.js +4 -3
  3. package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.d.ts +1 -2
  4. package/lib/cjs/components/Composer/Layer/AudienceLayer/AudienceLayer.js +18 -6
  5. package/lib/cjs/components/EditGroupButton/EditGroupButton.js +4 -0
  6. package/lib/cjs/components/Group/Group.js +2 -2
  7. package/lib/cjs/components/GroupHeader/Skeleton.d.ts +2 -4
  8. package/lib/cjs/components/GroupHeader/Skeleton.js +10 -10
  9. package/lib/cjs/components/GroupInviteButton/GroupInviteButton.js +1 -0
  10. package/lib/cjs/components/GroupSubscribeButton/GroupSubscribeButton.js +3 -1
  11. package/lib/cjs/components/Groups/Groups.js +1 -1
  12. package/lib/esm/components/Composer/Composer.js +3 -5
  13. package/lib/esm/components/Composer/Content/ContentPost/ContentPost.js +4 -3
  14. package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.d.ts +1 -2
  15. package/lib/esm/components/Composer/Layer/AudienceLayer/AudienceLayer.js +18 -6
  16. package/lib/esm/components/EditGroupButton/EditGroupButton.js +5 -1
  17. package/lib/esm/components/Group/Group.js +2 -2
  18. package/lib/esm/components/GroupHeader/Skeleton.d.ts +2 -4
  19. package/lib/esm/components/GroupHeader/Skeleton.js +10 -10
  20. package/lib/esm/components/GroupInviteButton/GroupInviteButton.js +1 -0
  21. package/lib/esm/components/GroupSubscribeButton/GroupSubscribeButton.js +4 -2
  22. package/lib/esm/components/Groups/Groups.js +1 -1
  23. package/lib/umd/react-ui.js +1 -1
  24. package/package.json +4 -4
@@ -1,5 +1,5 @@
1
1
  import { __rest } from "tslib";
2
- import React, { useEffect, useState } from 'react';
2
+ import React, { useEffect, useMemo, useState } from 'react';
3
3
  import { styled } from '@mui/material/styles';
4
4
  import { CacheStrategies, Logger } from '@selfcommunity/utils';
5
5
  import { useSCContext, useSCFetchGroup, useSCUser } from '@selfcommunity/react-core';
@@ -41,6 +41,7 @@ const Root = styled(LoadingButton, {
41
41
  * @param inProps
42
42
  */
43
43
  export default function GroupSubscribeButton(inProps) {
44
+ var _a;
44
45
  // PROPS
45
46
  const props = useThemeProps({
46
47
  props: inProps,
@@ -60,6 +61,7 @@ export default function GroupSubscribeButton(inProps) {
60
61
  group,
61
62
  cacheStrategy: authUserId ? CacheStrategies.CACHE_FIRST : CacheStrategies.STALE_WHILE_REVALIDATE
62
63
  });
64
+ const canEdit = useMemo(() => { var _a; return scUserContext.user && ((_a = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _a === void 0 ? void 0 : _a.id) === scUserContext.user.id; }, [scUserContext.user, (_a = scGroup === null || scGroup === void 0 ? void 0 : scGroup.managed_by) === null || _a === void 0 ? void 0 : _a.id]);
63
65
  useEffect(() => {
64
66
  /**
65
67
  * Call scGroupsManager.subscriptionStatus inside an effect
@@ -117,7 +119,7 @@ export default function GroupSubscribeButton(inProps) {
117
119
  }
118
120
  return _status;
119
121
  };
120
- if (!scGroup || (scGroup && !scGroup.subscription_status)) {
122
+ if (!scGroup || (scGroup && !scGroup.subscription_status) || canEdit) {
121
123
  return null;
122
124
  }
123
125
  return (React.createElement(Root, Object.assign({ size: "small", variant: "outlined", onClick: handleSubscribeAction, loading: scUserContext.user ? scGroupsManager.isLoading(scGroup) : null, className: classNames(classes.root, className) }, rest), getStatus()));
@@ -171,7 +171,7 @@ export default function Groups(inProps) {
171
171
  const content = (React.createElement(React.Fragment, null, !state.count ? (React.createElement(Typography, { className: classes.noResults, variant: "body2" },
172
172
  React.createElement(FormattedMessage, { id: "ui.groupRequestsWidget.subtitle.noResults", defaultMessage: "" }))) : (React.createElement(React.Fragment, null,
173
173
  React.createElement(Grid, { container: true, spacing: { xs: 3 }, className: classes.groups }, state.results.slice(0, state.visibleItems).map((group) => (React.createElement(Grid, { item: true, xs: 12, sm: 8, md: 6, key: group.id, className: classes.item },
174
- React.createElement(Group, Object.assign({ actions: React.createElement(React.Fragment, null), group: group, groupId: group.id, buttonProps: { onClick: () => console.log(group) } }, GroupProps)))))),
174
+ React.createElement(Group, Object.assign({ group: group, groupId: group.id }, GroupProps)))))),
175
175
  state.count > state.visibleItems && (React.createElement(Button, { className: classes.showMore, onClick: handleNext },
176
176
  React.createElement(FormattedMessage, { id: "ui.groupRequestsWidget.button.showMore", defaultMessage: "ui.groupRequestsWidget.button.showMore" })))))));
177
177
  return (React.createElement(Root, Object.assign({ className: classNames(classes.root, className) }, rest), content));