@selfcommunity/react-ui 0.9.0-alpha.12 → 0.9.0-alpha.14
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.
|
@@ -79,6 +79,7 @@ function NavigationSettingsIconButton(inProps) {
|
|
|
79
79
|
const scUserContext = (0, react_core_1.useSCUser)();
|
|
80
80
|
// MEMO
|
|
81
81
|
const isAdmin = (0, react_1.useMemo)(() => react_core_1.UserUtils.isAdmin(scUserContext.user), [scUserContext.user]);
|
|
82
|
+
const isCommunityCreator = (0, react_1.useMemo)(() => react_core_1.UserUtils.isCommunityCreator(scUserContext.user), [scUserContext.user]);
|
|
82
83
|
const isModerator = (0, react_1.useMemo)(() => react_core_1.UserUtils.isModerator(scUserContext.user), [scUserContext.user]);
|
|
83
84
|
// HOOKS
|
|
84
85
|
const theme = (0, material_1.useTheme)();
|
|
@@ -108,11 +109,24 @@ function NavigationSettingsIconButton(inProps) {
|
|
|
108
109
|
window.open(platformUrl, '_blank').focus();
|
|
109
110
|
});
|
|
110
111
|
};
|
|
112
|
+
/**
|
|
113
|
+
* Handles preferences update
|
|
114
|
+
*/
|
|
115
|
+
const handlePreferencesUpdate = () => {
|
|
116
|
+
api_services_1.PreferenceService.getAllPreferences().then((preferences) => {
|
|
117
|
+
const prefs = preferences['results'].reduce((obj, p) => (Object.assign(Object.assign({}, obj), { [`${p.section}.${p.name}`]: p })), {});
|
|
118
|
+
scPreferences.setPreferences(prefs);
|
|
119
|
+
});
|
|
120
|
+
};
|
|
111
121
|
/**
|
|
112
122
|
* Updates onBoarding dynamic preference
|
|
113
123
|
*/
|
|
114
124
|
const showOnBoarding = () => {
|
|
115
|
-
api_services_1.PreferenceService.updatePreferences({ [`${types_1.SCPreferenceName.ONBOARDING_HIDDEN}`]: false })
|
|
125
|
+
api_services_1.PreferenceService.updatePreferences({ [`${types_1.SCPreferenceName.ONBOARDING_HIDDEN}`]: false })
|
|
126
|
+
.then(() => {
|
|
127
|
+
handlePreferencesUpdate();
|
|
128
|
+
})
|
|
129
|
+
.catch((e) => {
|
|
116
130
|
utils_1.Logger.error(Errors_1.SCOPE_SC_UI, e);
|
|
117
131
|
});
|
|
118
132
|
};
|
|
@@ -134,7 +148,9 @@ function NavigationSettingsIconButton(inProps) {
|
|
|
134
148
|
...(isAdmin
|
|
135
149
|
? [
|
|
136
150
|
(0, jsx_runtime_1.jsx)(material_1.Divider, {}, "admin_divider"),
|
|
137
|
-
|
|
151
|
+
isCommunityCreator &&
|
|
152
|
+
preferences[react_core_1.SCPreferences.CONFIGURATIONS_ONBOARDING_ENABLED] &&
|
|
153
|
+
preferences[react_core_1.SCPreferences.CONFIGURATIONS_ONBOARDING_HIDDEN] && ((0, jsx_runtime_1.jsx)(material_1.ListItem, Object.assign({ className: classes.item }, { children: (0, jsx_runtime_1.jsxs)(material_1.ListItemButton, Object.assign({ onClick: showOnBoarding }, { children: [(0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.navigationSettingsIconButton.onboarding", defaultMessage: "ui.navigationSettingsIconButton.onboarding" }), (0, jsx_runtime_1.jsx)(material_1.ListItemIcon, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "magic_wand" }) })] })) }), "onboarding")),
|
|
138
154
|
(0, jsx_runtime_1.jsx)(material_1.ListItem, Object.assign({ className: classes.item }, { children: (0, jsx_runtime_1.jsx)(material_1.ListItemButton, Object.assign({ onClick: () => fetchPlatform('') }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.navigationSettingsIconButton.platform", defaultMessage: "ui.navigationSettingsIconButton.platform" }) })) }), "platform")
|
|
139
155
|
]
|
|
140
156
|
: []),
|
|
@@ -163,7 +179,9 @@ function NavigationSettingsIconButton(inProps) {
|
|
|
163
179
|
...(isAdmin
|
|
164
180
|
? [
|
|
165
181
|
(0, jsx_runtime_1.jsx)(material_1.Divider, {}, "platform_divider"),
|
|
166
|
-
|
|
182
|
+
isCommunityCreator &&
|
|
183
|
+
preferences[react_core_1.SCPreferences.CONFIGURATIONS_ONBOARDING_ENABLED] &&
|
|
184
|
+
preferences[react_core_1.SCPreferences.CONFIGURATIONS_ONBOARDING_HIDDEN] && ((0, jsx_runtime_1.jsxs)(material_1.MenuItem, Object.assign({ className: classes.item, onClick: showOnBoarding }, { children: [(0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.navigationSettingsIconButton.onboarding", defaultMessage: "ui.navigationSettingsIconButton.onboarding" }), (0, jsx_runtime_1.jsx)(material_1.ListItemIcon, { children: (0, jsx_runtime_1.jsx)(material_1.Icon, { children: "magic_wand" }) })] }), "onboarding")),
|
|
167
185
|
(0, jsx_runtime_1.jsx)(material_1.MenuItem, Object.assign({ className: classes.item, onClick: () => fetchPlatform('') }, { children: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: "ui.navigationSettingsIconButton.platform", defaultMessage: "ui.navigationSettingsIconButton.platform" }) }), "platform")
|
|
168
186
|
]
|
|
169
187
|
: []),
|
|
@@ -77,6 +77,7 @@ export default function NavigationSettingsIconButton(inProps) {
|
|
|
77
77
|
const scUserContext = useSCUser();
|
|
78
78
|
// MEMO
|
|
79
79
|
const isAdmin = useMemo(() => UserUtils.isAdmin(scUserContext.user), [scUserContext.user]);
|
|
80
|
+
const isCommunityCreator = useMemo(() => UserUtils.isCommunityCreator(scUserContext.user), [scUserContext.user]);
|
|
80
81
|
const isModerator = useMemo(() => UserUtils.isModerator(scUserContext.user), [scUserContext.user]);
|
|
81
82
|
// HOOKS
|
|
82
83
|
const theme = useTheme();
|
|
@@ -106,11 +107,24 @@ export default function NavigationSettingsIconButton(inProps) {
|
|
|
106
107
|
window.open(platformUrl, '_blank').focus();
|
|
107
108
|
});
|
|
108
109
|
};
|
|
110
|
+
/**
|
|
111
|
+
* Handles preferences update
|
|
112
|
+
*/
|
|
113
|
+
const handlePreferencesUpdate = () => {
|
|
114
|
+
PreferenceService.getAllPreferences().then((preferences) => {
|
|
115
|
+
const prefs = preferences['results'].reduce((obj, p) => (Object.assign(Object.assign({}, obj), { [`${p.section}.${p.name}`]: p })), {});
|
|
116
|
+
scPreferences.setPreferences(prefs);
|
|
117
|
+
});
|
|
118
|
+
};
|
|
109
119
|
/**
|
|
110
120
|
* Updates onBoarding dynamic preference
|
|
111
121
|
*/
|
|
112
122
|
const showOnBoarding = () => {
|
|
113
|
-
PreferenceService.updatePreferences({ [`${SCPreferenceName.ONBOARDING_HIDDEN}`]: false })
|
|
123
|
+
PreferenceService.updatePreferences({ [`${SCPreferenceName.ONBOARDING_HIDDEN}`]: false })
|
|
124
|
+
.then(() => {
|
|
125
|
+
handlePreferencesUpdate();
|
|
126
|
+
})
|
|
127
|
+
.catch((e) => {
|
|
114
128
|
Logger.error(SCOPE_SC_UI, e);
|
|
115
129
|
});
|
|
116
130
|
};
|
|
@@ -132,7 +146,9 @@ export default function NavigationSettingsIconButton(inProps) {
|
|
|
132
146
|
...(isAdmin
|
|
133
147
|
? [
|
|
134
148
|
_jsx(Divider, {}, "admin_divider"),
|
|
135
|
-
|
|
149
|
+
isCommunityCreator &&
|
|
150
|
+
preferences[SCPreferences.CONFIGURATIONS_ONBOARDING_ENABLED] &&
|
|
151
|
+
preferences[SCPreferences.CONFIGURATIONS_ONBOARDING_HIDDEN] && (_jsx(ListItem, Object.assign({ className: classes.item }, { children: _jsxs(ListItemButton, Object.assign({ onClick: showOnBoarding }, { children: [_jsx(FormattedMessage, { id: "ui.navigationSettingsIconButton.onboarding", defaultMessage: "ui.navigationSettingsIconButton.onboarding" }), _jsx(ListItemIcon, { children: _jsx(Icon, { children: "magic_wand" }) })] })) }), "onboarding")),
|
|
136
152
|
_jsx(ListItem, Object.assign({ className: classes.item }, { children: _jsx(ListItemButton, Object.assign({ onClick: () => fetchPlatform('') }, { children: _jsx(FormattedMessage, { id: "ui.navigationSettingsIconButton.platform", defaultMessage: "ui.navigationSettingsIconButton.platform" }) })) }), "platform")
|
|
137
153
|
]
|
|
138
154
|
: []),
|
|
@@ -161,7 +177,9 @@ export default function NavigationSettingsIconButton(inProps) {
|
|
|
161
177
|
...(isAdmin
|
|
162
178
|
? [
|
|
163
179
|
_jsx(Divider, {}, "platform_divider"),
|
|
164
|
-
|
|
180
|
+
isCommunityCreator &&
|
|
181
|
+
preferences[SCPreferences.CONFIGURATIONS_ONBOARDING_ENABLED] &&
|
|
182
|
+
preferences[SCPreferences.CONFIGURATIONS_ONBOARDING_HIDDEN] && (_jsxs(MenuItem, Object.assign({ className: classes.item, onClick: showOnBoarding }, { children: [_jsx(FormattedMessage, { id: "ui.navigationSettingsIconButton.onboarding", defaultMessage: "ui.navigationSettingsIconButton.onboarding" }), _jsx(ListItemIcon, { children: _jsx(Icon, { children: "magic_wand" }) })] }), "onboarding")),
|
|
165
183
|
_jsx(MenuItem, Object.assign({ className: classes.item, onClick: () => fetchPlatform('') }, { children: _jsx(FormattedMessage, { id: "ui.navigationSettingsIconButton.platform", defaultMessage: "ui.navigationSettingsIconButton.platform" }) }), "platform")
|
|
166
184
|
]
|
|
167
185
|
: []),
|