@selfcommunity/react-ui 0.7.48 → 0.7.49-alpha.1

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.
@@ -267,7 +267,7 @@ function GroupForm(inProps) {
267
267
  // @ts-ignore
268
268
  b: (chunks) => react_1.default.createElement("strong", null, chunks)
269
269
  } }))))))),
270
- visibilityEnabled && (react_1.default.createElement(material_1.Box, { className: classes.visibilitySection }, ((!field.isPublic && !group) || (group && !field.isPublic)) && (react_1.default.createElement(react_1.default.Fragment, null,
270
+ privateEnabled && visibilityEnabled && (react_1.default.createElement(material_1.Box, { className: classes.visibilitySection }, ((!field.isPublic && !group) || (group && !field.isPublic)) && (react_1.default.createElement(react_1.default.Fragment, null,
271
271
  react_1.default.createElement(material_1.Typography, { variant: "h4" },
272
272
  react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groupForm.visibility.title", defaultMessage: "ui.groupForm.visibility.title", values: {
273
273
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
@@ -158,7 +158,7 @@ function GroupHeader(inProps) {
158
158
  react_1.default.createElement(material_1.Box, { className: classes.info },
159
159
  isGroupAdmin && react_1.default.createElement(EditGroupButton_1.default, { group: scGroup, groupId: scGroup.id, onEditSuccess: (data) => setSCGroup(data) }),
160
160
  react_1.default.createElement(material_1.Typography, { variant: "h5", className: classes.name }, scGroup.name),
161
- (privateEnabled || visibilityEnabled) && (react_1.default.createElement(material_1.Box, { className: classes.visibility },
161
+ privateEnabled && (react_1.default.createElement(material_1.Box, { className: classes.visibility },
162
162
  privateEnabled && (react_1.default.createElement(react_1.default.Fragment, null, scGroup.privacy === types_1.SCGroupPrivacyType.PUBLIC ? (react_1.default.createElement(material_1.Typography, { className: classes.visibilityItem },
163
163
  react_1.default.createElement(material_1.Icon, null, "public"),
164
164
  react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groupHeader.visibility.public", defaultMessage: "ui.groupHeader.visibility.public" }))) : (react_1.default.createElement(material_1.Typography, { className: classes.visibilityItem },
@@ -128,7 +128,7 @@ function GroupInfoWidget(inProps) {
128
128
  // @ts-ignore
129
129
  b: (chunks) => react_1.default.createElement("strong", null, chunks)
130
130
  } })))))),
131
- visibilityEnabled && (react_1.default.createElement(react_1.default.Fragment, null, scGroup.privacy === types_1.SCGroupPrivacyType.PRIVATE && (react_1.default.createElement(material_1.Typography, { component: "div", className: classes.visibility }, scGroup.visible ? (react_1.default.createElement(react_1.default.Fragment, null,
131
+ privateEnabled && visibilityEnabled && (react_1.default.createElement(react_1.default.Fragment, null, scGroup.privacy === types_1.SCGroupPrivacyType.PRIVATE && (react_1.default.createElement(material_1.Typography, { component: "div", className: classes.visibility }, scGroup.visible ? (react_1.default.createElement(react_1.default.Fragment, null,
132
132
  react_1.default.createElement(material_1.Typography, { className: classes.visibilityTitle },
133
133
  react_1.default.createElement(material_1.Icon, null, "visibility"),
134
134
  react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groupForm.visibility.visible", defaultMessage: "ui.groupForm.visibility.visible" })),
@@ -78,6 +78,7 @@ function Groups(inProps) {
78
78
  // CONTEXT
79
79
  const scUserContext = (0, react_core_1.useSCUser)();
80
80
  const scPreferencesContext = (0, react_core_1.useSCPreferences)();
81
+ const onlyStaffEnabled = (0, react_1.useMemo)(() => scPreferencesContext.preferences[react_core_1.SCPreferences.CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED].value, [scPreferencesContext.preferences]);
81
82
  // MEMO
82
83
  const contentAvailability = (0, react_1.useMemo)(() => react_core_1.SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY in scPreferencesContext.preferences &&
83
84
  scPreferencesContext.preferences[react_core_1.SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY].value, [scPreferencesContext.preferences]);
@@ -158,11 +159,12 @@ function Groups(inProps) {
158
159
  const content = (react_1.default.createElement(react_1.default.Fragment, null,
159
160
  showFilters && groups.length !== 0 && (react_1.default.createElement(material_1.Grid, { container: true, direction: "row", justifyContent: "center", alignItems: "center", className: classes.filters }, filters ? (filters) : (react_1.default.createElement(material_1.Grid, { item: true, xs: 12, md: 6 },
160
161
  react_1.default.createElement(material_1.TextField, { fullWidth: true, value: search, label: react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groups.filterByName", defaultMessage: "ui.groups.filterByName" }), variant: "outlined", onChange: handleOnChangeFilterName, disabled: loading }))))),
161
- react_1.default.createElement(react_1.default.Fragment, null, !groups.length ? (react_1.default.createElement(material_1.Box, { className: classes.noResults },
162
+ react_1.default.createElement(react_1.default.Fragment, null, !groups.length ? (react_1.default.createElement(material_1.Box, { className: classes.noResults }, !onlyStaffEnabled ? (react_1.default.createElement(react_1.default.Fragment, null,
162
163
  react_1.default.createElement(material_1.Typography, { variant: "h4" },
163
164
  react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groups.noGroups.title", defaultMessage: "ui.groups.noGroups.title" })),
164
165
  react_1.default.createElement(material_1.Typography, { variant: "body1" },
165
- react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groups.noGroups.subtitle", defaultMessage: "ui.groups.noGroups.subtitle" })))) : (react_1.default.createElement(InfiniteScroll_1.default, { dataLength: groups.length, next: handleNext, hasMoreNext: Boolean(next), loaderNext: isMobile ? react_1.default.createElement(Group_1.GroupSkeleton, null) : react_1.default.createElement(Skeleton_1.default, { groupsNumber: 2 }), endMessage: react_1.default.createElement(material_1.Typography, { component: "div", className: classes.endMessage },
166
+ react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groups.noGroups.subtitle", defaultMessage: "ui.groups.noGroups.subtitle" })))) : (react_1.default.createElement(material_1.Typography, { variant: "h4" },
167
+ react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groups.noGroups.title.onlyStaff", defaultMessage: "ui.groups.noGroups.title.onlyStaff" }))))) : (react_1.default.createElement(InfiniteScroll_1.default, { dataLength: groups.length, next: handleNext, hasMoreNext: Boolean(next), loaderNext: isMobile ? react_1.default.createElement(Group_1.GroupSkeleton, null) : react_1.default.createElement(Skeleton_1.default, { groupsNumber: 2 }), endMessage: react_1.default.createElement(material_1.Typography, { component: "div", className: classes.endMessage },
166
168
  react_1.default.createElement(react_intl_1.FormattedMessage, { id: "ui.groups.endMessage", defaultMessage: "ui.groups.endMessage", values: {
167
169
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
168
170
  // @ts-ignore
@@ -265,7 +265,7 @@ export default function GroupForm(inProps) {
265
265
  // @ts-ignore
266
266
  b: (chunks) => React.createElement("strong", null, chunks)
267
267
  } }))))))),
268
- visibilityEnabled && (React.createElement(Box, { className: classes.visibilitySection }, ((!field.isPublic && !group) || (group && !field.isPublic)) && (React.createElement(React.Fragment, null,
268
+ privateEnabled && visibilityEnabled && (React.createElement(Box, { className: classes.visibilitySection }, ((!field.isPublic && !group) || (group && !field.isPublic)) && (React.createElement(React.Fragment, null,
269
269
  React.createElement(Typography, { variant: "h4" },
270
270
  React.createElement(FormattedMessage, { id: "ui.groupForm.visibility.title", defaultMessage: "ui.groupForm.visibility.title", values: {
271
271
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
@@ -156,7 +156,7 @@ export default function GroupHeader(inProps) {
156
156
  React.createElement(Box, { className: classes.info },
157
157
  isGroupAdmin && React.createElement(EditGroupButton, { group: scGroup, groupId: scGroup.id, onEditSuccess: (data) => setSCGroup(data) }),
158
158
  React.createElement(Typography, { variant: "h5", className: classes.name }, scGroup.name),
159
- (privateEnabled || visibilityEnabled) && (React.createElement(Box, { className: classes.visibility },
159
+ privateEnabled && (React.createElement(Box, { className: classes.visibility },
160
160
  privateEnabled && (React.createElement(React.Fragment, null, scGroup.privacy === SCGroupPrivacyType.PUBLIC ? (React.createElement(Typography, { className: classes.visibilityItem },
161
161
  React.createElement(Icon, null, "public"),
162
162
  React.createElement(FormattedMessage, { id: "ui.groupHeader.visibility.public", defaultMessage: "ui.groupHeader.visibility.public" }))) : (React.createElement(Typography, { className: classes.visibilityItem },
@@ -126,7 +126,7 @@ export default function GroupInfoWidget(inProps) {
126
126
  // @ts-ignore
127
127
  b: (chunks) => React.createElement("strong", null, chunks)
128
128
  } })))))),
129
- visibilityEnabled && (React.createElement(React.Fragment, null, scGroup.privacy === SCGroupPrivacyType.PRIVATE && (React.createElement(Typography, { component: "div", className: classes.visibility }, scGroup.visible ? (React.createElement(React.Fragment, null,
129
+ privateEnabled && visibilityEnabled && (React.createElement(React.Fragment, null, scGroup.privacy === SCGroupPrivacyType.PRIVATE && (React.createElement(Typography, { component: "div", className: classes.visibility }, scGroup.visible ? (React.createElement(React.Fragment, null,
130
130
  React.createElement(Typography, { className: classes.visibilityTitle },
131
131
  React.createElement(Icon, null, "visibility"),
132
132
  React.createElement(FormattedMessage, { id: "ui.groupForm.visibility.visible", defaultMessage: "ui.groupForm.visibility.visible" })),
@@ -76,6 +76,7 @@ export default function Groups(inProps) {
76
76
  // CONTEXT
77
77
  const scUserContext = useSCUser();
78
78
  const scPreferencesContext = useSCPreferences();
79
+ const onlyStaffEnabled = useMemo(() => scPreferencesContext.preferences[SCPreferences.CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED].value, [scPreferencesContext.preferences]);
79
80
  // MEMO
80
81
  const contentAvailability = useMemo(() => SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY in scPreferencesContext.preferences &&
81
82
  scPreferencesContext.preferences[SCPreferences.CONFIGURATIONS_CONTENT_AVAILABILITY].value, [scPreferencesContext.preferences]);
@@ -156,11 +157,12 @@ export default function Groups(inProps) {
156
157
  const content = (React.createElement(React.Fragment, null,
157
158
  showFilters && groups.length !== 0 && (React.createElement(Grid, { container: true, direction: "row", justifyContent: "center", alignItems: "center", className: classes.filters }, filters ? (filters) : (React.createElement(Grid, { item: true, xs: 12, md: 6 },
158
159
  React.createElement(TextField, { fullWidth: true, value: search, label: React.createElement(FormattedMessage, { id: "ui.groups.filterByName", defaultMessage: "ui.groups.filterByName" }), variant: "outlined", onChange: handleOnChangeFilterName, disabled: loading }))))),
159
- React.createElement(React.Fragment, null, !groups.length ? (React.createElement(Box, { className: classes.noResults },
160
+ React.createElement(React.Fragment, null, !groups.length ? (React.createElement(Box, { className: classes.noResults }, !onlyStaffEnabled ? (React.createElement(React.Fragment, null,
160
161
  React.createElement(Typography, { variant: "h4" },
161
162
  React.createElement(FormattedMessage, { id: "ui.groups.noGroups.title", defaultMessage: "ui.groups.noGroups.title" })),
162
163
  React.createElement(Typography, { variant: "body1" },
163
- React.createElement(FormattedMessage, { id: "ui.groups.noGroups.subtitle", defaultMessage: "ui.groups.noGroups.subtitle" })))) : (React.createElement(InfiniteScroll, { dataLength: groups.length, next: handleNext, hasMoreNext: Boolean(next), loaderNext: isMobile ? React.createElement(GroupSkeleton, null) : React.createElement(Skeleton, { groupsNumber: 2 }), endMessage: React.createElement(Typography, { component: "div", className: classes.endMessage },
164
+ React.createElement(FormattedMessage, { id: "ui.groups.noGroups.subtitle", defaultMessage: "ui.groups.noGroups.subtitle" })))) : (React.createElement(Typography, { variant: "h4" },
165
+ React.createElement(FormattedMessage, { id: "ui.groups.noGroups.title.onlyStaff", defaultMessage: "ui.groups.noGroups.title.onlyStaff" }))))) : (React.createElement(InfiniteScroll, { dataLength: groups.length, next: handleNext, hasMoreNext: Boolean(next), loaderNext: isMobile ? React.createElement(GroupSkeleton, null) : React.createElement(Skeleton, { groupsNumber: 2 }), endMessage: React.createElement(Typography, { component: "div", className: classes.endMessage },
164
166
  React.createElement(FormattedMessage, { id: "ui.groups.endMessage", defaultMessage: "ui.groups.endMessage", values: {
165
167
  // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
166
168
  // @ts-ignore