@selfcommunity/react-core 0.5.0-alpha.1 → 0.5.0-alpha.10
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.
- package/lib/cjs/constants/Preferences.d.ts +3 -1
- package/lib/cjs/constants/Preferences.js +12 -8
- package/lib/cjs/hooks/useSCSubscribedEventsManager.js +7 -2
- package/lib/cjs/hooks/useSCSubscribedGroupsManager.js +8 -2
- package/lib/cjs/index.d.ts +2 -2
- package/lib/cjs/index.js +2 -1
- package/lib/cjs/utils/hooks/index.d.ts +2 -1
- package/lib/cjs/utils/hooks/index.js +3 -1
- package/lib/cjs/utils/hooks/usePageVisibility.d.ts +2 -0
- package/lib/cjs/utils/hooks/usePageVisibility.js +17 -0
- package/lib/esm/constants/Preferences.d.ts +3 -1
- package/lib/esm/constants/Preferences.js +9 -5
- package/lib/esm/hooks/useSCSubscribedEventsManager.js +7 -2
- package/lib/esm/hooks/useSCSubscribedGroupsManager.js +8 -2
- package/lib/esm/index.d.ts +2 -2
- package/lib/esm/index.js +2 -2
- package/lib/esm/utils/hooks/index.d.ts +2 -1
- package/lib/esm/utils/hooks/index.js +2 -1
- package/lib/esm/utils/hooks/usePageVisibility.d.ts +2 -0
- package/lib/esm/utils/hooks/usePageVisibility.js +15 -0
- package/lib/umd/react-core.js +1 -1
- package/package.json +5 -5
|
@@ -70,7 +70,7 @@ export declare const POINTS_DAILY_VISIT: string;
|
|
|
70
70
|
/**
|
|
71
71
|
* ADDONS
|
|
72
72
|
*/
|
|
73
|
-
export declare const
|
|
73
|
+
export declare const ADDONS_AFFINITY_ENABLED: string;
|
|
74
74
|
export declare const ADDONS_CLOSED_COMMUNITY: string;
|
|
75
75
|
export declare const ADDONS_INCUBATOR_ENABLED: string;
|
|
76
76
|
export declare const ADDONS_INCUBATOR_SUBSCRIBERS: string;
|
|
@@ -126,9 +126,11 @@ export declare const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED: string;
|
|
|
126
126
|
export declare const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT: string;
|
|
127
127
|
export declare const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL: string;
|
|
128
128
|
export declare const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE: string;
|
|
129
|
+
export declare const CONFIGURATIONS_GROUPS_ENABLED: string;
|
|
129
130
|
export declare const CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED: string;
|
|
130
131
|
export declare const CONFIGURATIONS_GROUPS_VISIBILITY_ENABLED: string;
|
|
131
132
|
export declare const CONFIGURATIONS_GROUPS_PRIVATE_ENABLED: string;
|
|
133
|
+
export declare const CONFIGURATIONS_EVENTS_ENABLED: string;
|
|
132
134
|
export declare const CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED: string;
|
|
133
135
|
export declare const CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED: string;
|
|
134
136
|
export declare const CONFIGURATIONS_EVENTS_PRIVATE_ENABLED: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ADDONS_SHARE_POST_ON_FACEBOOK_ENABLED = exports.ADDONS_POST_GEOLOCATION_ENABLED = exports.ADDONS_REGISTRATION_WIZARD = exports.ADDONS_POLLS_ENABLED = exports.ADDONS_LOYALTY_POINTS_COLLECTION = exports.ADDONS_INCUBATOR_SUBSCRIBERS = exports.ADDONS_INCUBATOR_ENABLED = exports.ADDONS_CLOSED_COMMUNITY = exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.DATA_TYPES = exports.getPreference = exports.getPreferenceName = exports.getPreferenceSection = exports.WEBMASTER_META_DESCRIPTION = exports.WEBMASTER_META_TITLE_HOME_NOT_LOGGED = exports.WEBMASTER_META_ROBOTS = exports.PROVIDERS_WEB_PUSH_ENABLED = exports.PROVIDERS_WEB_PUSH_PUBLIC_KEY = exports.PROVIDERS_GOOGLE_APP_SECRET = exports.PROVIDERS_GOOGLE_APP_KEY = exports.PROVIDERS_GOOGLE_SIGNIN_ENABLED = exports.PROVIDERS_GOOGLE_GEOCODING_API_KEY = exports.PROVIDERS_TWITTER_APP_SECRET = exports.PROVIDERS_TWITTER_APP_KEY = exports.PROVIDERS_TWITTER_SIGNIN_ENABLED = exports.PROVIDERS_LINKEDIN_APP_SECRET = exports.PROVIDERS_LINKEDIN_APP_KEY = exports.PROVIDERS_LINKEDIN_SIGNIN_ENABLED = exports.PROVIDERS_FACEBOOK_APP_SECRET = exports.PROVIDERS_FACEBOOK_APP_KEY = void 0;
|
|
3
|
+
exports.ADDONS_SHARE_POST_ON_FACEBOOK_ENABLED = exports.ADDONS_POST_GEOLOCATION_ENABLED = exports.ADDONS_REGISTRATION_WIZARD = exports.ADDONS_POLLS_ENABLED = exports.ADDONS_LOYALTY_POINTS_COLLECTION = exports.ADDONS_INCUBATOR_SUBSCRIBERS = exports.ADDONS_INCUBATOR_ENABLED = exports.ADDONS_CLOSED_COMMUNITY = exports.ADDONS_AFFINITY_ENABLED = exports.POINTS_DAILY_VISIT = exports.POINTS_APP_USED = exports.POINTS_SOCIAL_SHARE = exports.POINTS_CONNECTION_OR_FOLLOWER = exports.POINTS_RECEIVE_VOTE = exports.POINTS_MAKE_COMMENT = exports.POINTS_MAKE_POST = exports.POINTS_MAKE_DISCUSSION = exports.LOYALTY_PRIZE_C_IMAGE = exports.LOYALTY_PRIZE_B_IMAGE = exports.LOYALTY_PRIZE_A_IMAGE = exports.STAFF_STAFF_BADGE_LABEL = exports.STAFF_STAFF_BADGE_ICON = exports.IMAGES_ERRORPAGES_IMAGE = exports.IMAGES_ERROR_503 = exports.IMAGES_ERROR_404 = exports.IMAGES_USER_DEFAULT_COVER = exports.IMAGES_APP_ICON = exports.COVERS_VISIBILITY = exports.COVERS_COVER_4_HP_M1920 = exports.COVERS_COVER_3_HP_M1920 = exports.COVERS_COVER_2_HP_M1920 = exports.COVERS_COVER_1_HP_M1920 = exports.COLORS_COLORFONTSECONDARY = exports.COLORS_COLORFONT = exports.COLORS_NAVBARBACK = exports.COLORS_COLORSECONDARY = exports.COLORS_COLORPRIMARY = exports.COLORS_COLORBACK = exports.LOGO_NAVBAR_LOGO_MOBILE = exports.LOGO_NAVBAR_LOGO = exports.STYLE_FONT_FAMILY = exports.TEXT_ERROR_PAGES_SUBTITLE = exports.TEXT_ERROR_PAGES_TITLE = exports.TEXT_APPLICATION_COPYRIGHT = exports.TEXT_APPLICATION_SLOGAN2 = exports.TEXT_APPLICATION_SLOGAN1 = exports.TEXT_APPLICATION_NAME = exports.DEFAULT_GLOBAL_PREFERENCES_OPTION = exports.GLOBAL_PREFERENCES_OPTION = exports.PREFERENCES_OPTION = void 0;
|
|
4
|
+
exports.PROVIDERS_APP_URL_ON_APP_STORE = exports.CONFIGURATIONS_EVENTS_PRIVATE_ENABLED = exports.CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED = exports.CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED = exports.CONFIGURATIONS_EVENTS_ENABLED = exports.CONFIGURATIONS_GROUPS_PRIVATE_ENABLED = exports.CONFIGURATIONS_GROUPS_VISIBILITY_ENABLED = exports.CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED = exports.CONFIGURATIONS_GROUPS_ENABLED = exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE = exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL = exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT = exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED = exports.CONFIGURATIONS_GDPR_SIGNUP_ACCEPT_HTML = exports.CONFIGURATIONS_GDPR_COOKIE_CONSENT_EXTERNAL_HTML = exports.CONFIGURATIONS_TAG_MANAGER_CONTAINER_ID = exports.CONFIGURATIONS_USER_METADATA_DEFINITIONS = exports.CONFIGURATIONS_APP_URL = exports.CONFIGURATIONS_URL_TEMPLATE_INCUBATOR = exports.CONFIGURATIONS_URL_TEMPLATE_USER_PRIVATE_MESSAGES = exports.CONFIGURATIONS_URL_TEMPLATE_NOTIFICATIONS = exports.CONFIGURATIONS_URL_TEMPLATE_USER_PROFILE_SETTINGS = exports.CONFIGURATIONS_URL_TEMPLATE_USER_PROFILE = exports.CONFIGURATIONS_URL_TEMPLATE_CATEGORIES_LIST = exports.CONFIGURATIONS_URL_TEMPLATE_CATEGORY = exports.CONFIGURATIONS_URL_TEMPLATE_COMMENT = exports.CONFIGURATIONS_URL_TEMPLATE_STATUS = exports.CONFIGURATIONS_URL_TEMPLATE_DISCUSSION = exports.CONFIGURATIONS_URL_TEMPLATE_POST = exports.CONFIGURATIONS_URL_TEMPLATE_VERIFY_EMAIL = exports.CONFIGURATIONS_URL_TEMPLATE_PASSWORD_RECOVER = exports.CONFIGURATIONS_URL_TEMPLATE_EMAIL_UNSUBSCRIBE = exports.CONFIGURATIONS_URL_TEMPLATE_EMAIL_SETTINGS = exports.CONFIGURATIONS_STATUS_TYPE_ENABLED = exports.CONFIGURATIONS_DISCUSSION_TYPE_ENABLED = exports.CONFIGURATIONS_POST_TYPE_ENABLED = exports.CONFIGURATIONS_USERS_APPROVAL_ENABLED = exports.CONFIGURATIONS_CONTENT_AVAILABILITY = exports.CONFIGURATIONS_STREAM_QUALITY = exports.CONFIGURATIONS_POST_ONLY_STAFF_ENABLED = exports.CONFIGURATIONS_PEOPLE_SEARCH_ENABLED = exports.CONFIGURATIONS_MANUAL_CATEGORIES_ORDER_ENABLED = exports.CONFIGURATIONS_HOME_STREAM_ORDER_BY = exports.CONFIGURATIONS_EXPLORE_STREAM_ORDER_BY = exports.CONFIGURATIONS_EXPLORE_STREAM_ENABLED = exports.CONFIGURATIONS_FOLLOW_ENABLED = exports.ADVERTISING_CUSTOM_ADV_ONLY_FOR_ANONYMOUS_USERS_ENABLED = exports.ADVERTISING_CUSTOM_ADV_ENABLED = exports.ADDONS_SHARE_POST_ON_LINKEDIN_ENABLED = exports.ADDONS_SHARE_POST_ON_TWITTER_ENABLED = void 0;
|
|
5
|
+
exports.DATA_TYPES = exports.getPreference = exports.getPreferenceName = exports.getPreferenceSection = exports.WEBMASTER_META_DESCRIPTION = exports.WEBMASTER_META_TITLE_HOME_NOT_LOGGED = exports.WEBMASTER_META_ROBOTS = exports.PROVIDERS_WEB_PUSH_ENABLED = exports.PROVIDERS_WEB_PUSH_PUBLIC_KEY = exports.PROVIDERS_GOOGLE_APP_SECRET = exports.PROVIDERS_GOOGLE_APP_KEY = exports.PROVIDERS_GOOGLE_SIGNIN_ENABLED = exports.PROVIDERS_GOOGLE_GEOCODING_API_KEY = exports.PROVIDERS_TWITTER_APP_SECRET = exports.PROVIDERS_TWITTER_APP_KEY = exports.PROVIDERS_TWITTER_SIGNIN_ENABLED = exports.PROVIDERS_LINKEDIN_APP_SECRET = exports.PROVIDERS_LINKEDIN_APP_KEY = exports.PROVIDERS_LINKEDIN_SIGNIN_ENABLED = exports.PROVIDERS_FACEBOOK_APP_SECRET = exports.PROVIDERS_FACEBOOK_APP_KEY = exports.PROVIDERS_FACEBOOK_SIGNIN_ENABLED = exports.PROVIDERS_APP_URL_ON_GOOGLE_PLAY = void 0;
|
|
6
6
|
const types_1 = require("@selfcommunity/types");
|
|
7
7
|
/**
|
|
8
8
|
* DEFAULT CONF VALIDATION OPTION
|
|
@@ -76,7 +76,7 @@ exports.POINTS_DAILY_VISIT = `${types_1.SCPreferenceSection.LOYALTY}.${types_1.S
|
|
|
76
76
|
/**
|
|
77
77
|
* ADDONS
|
|
78
78
|
*/
|
|
79
|
-
exports.
|
|
79
|
+
exports.ADDONS_AFFINITY_ENABLED = `${types_1.SCPreferenceSection.ADDONS}.${types_1.SCPreferenceName.AFFINITY_ENABLED}`;
|
|
80
80
|
exports.ADDONS_CLOSED_COMMUNITY = `${types_1.SCPreferenceSection.ADDONS}.${types_1.SCPreferenceName.CLOSED_COMMUNITY}`;
|
|
81
81
|
exports.ADDONS_INCUBATOR_ENABLED = `${types_1.SCPreferenceSection.ADDONS}.${types_1.SCPreferenceName.INCUBATOR_ENABLED}`;
|
|
82
82
|
exports.ADDONS_INCUBATOR_SUBSCRIBERS = `${types_1.SCPreferenceSection.ADDONS}.${types_1.SCPreferenceName.INCUBATOR_SUBSCRIBERS}`;
|
|
@@ -132,9 +132,11 @@ exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED = `${types_1.SCPreferenceSecti
|
|
|
132
132
|
exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.CUSTOM_NAVBAR_ITEM_TEXT}`;
|
|
133
133
|
exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.CUSTOM_NAVBAR_ITEM_URL}`;
|
|
134
134
|
exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.CUSTOM_NAVBAR_ITEM_IMAGE}`;
|
|
135
|
+
exports.CONFIGURATIONS_GROUPS_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.GROUPS_ENABLED}`;
|
|
135
136
|
exports.CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.GROUPS_ONLY_STAFF_ENABLED}`;
|
|
136
137
|
exports.CONFIGURATIONS_GROUPS_VISIBILITY_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.GROUPS_VISIBILITY_ENABLED}`;
|
|
137
138
|
exports.CONFIGURATIONS_GROUPS_PRIVATE_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.GROUPS_PRIVATE_ENABLED}`;
|
|
139
|
+
exports.CONFIGURATIONS_EVENTS_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.EVENTS_ENABLED}`;
|
|
138
140
|
exports.CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.EVENTS_ONLY_STAFF_ENABLED}`;
|
|
139
141
|
exports.CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.EVENTS_VISIBILITY_ENABLED}`;
|
|
140
142
|
exports.CONFIGURATIONS_EVENTS_PRIVATE_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.EVENTS_PRIVATE_ENABLED}`;
|
|
@@ -230,7 +232,7 @@ exports.DATA_TYPES = {
|
|
|
230
232
|
[exports.LOYALTY_PRIZE_A_IMAGE]: stringType,
|
|
231
233
|
[exports.LOYALTY_PRIZE_B_IMAGE]: stringType,
|
|
232
234
|
[exports.LOYALTY_PRIZE_C_IMAGE]: stringType,
|
|
233
|
-
[exports.
|
|
235
|
+
[exports.ADDONS_AFFINITY_ENABLED]: booleanType,
|
|
234
236
|
[exports.ADDONS_CLOSED_COMMUNITY]: booleanType,
|
|
235
237
|
[exports.ADDONS_INCUBATOR_ENABLED]: booleanType,
|
|
236
238
|
[exports.ADDONS_INCUBATOR_SUBSCRIBERS]: integerType,
|
|
@@ -277,12 +279,14 @@ exports.DATA_TYPES = {
|
|
|
277
279
|
[exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT]: stringType,
|
|
278
280
|
[exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL]: stringType,
|
|
279
281
|
[exports.CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE]: stringType,
|
|
280
|
-
[exports.
|
|
281
|
-
[exports.CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED]: booleanType,
|
|
282
|
-
[exports.CONFIGURATIONS_EVENTS_PRIVATE_ENABLED]: booleanType,
|
|
282
|
+
[exports.CONFIGURATIONS_GROUPS_ENABLED]: booleanType,
|
|
283
283
|
[exports.CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED]: booleanType,
|
|
284
284
|
[exports.CONFIGURATIONS_GROUPS_VISIBILITY_ENABLED]: booleanType,
|
|
285
285
|
[exports.CONFIGURATIONS_GROUPS_PRIVATE_ENABLED]: booleanType,
|
|
286
|
+
[exports.CONFIGURATIONS_EVENTS_ENABLED]: booleanType,
|
|
287
|
+
[exports.CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED]: booleanType,
|
|
288
|
+
[exports.CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED]: booleanType,
|
|
289
|
+
[exports.CONFIGURATIONS_EVENTS_PRIVATE_ENABLED]: booleanType,
|
|
286
290
|
[exports.PROVIDERS_APP_URL_ON_APP_STORE]: stringType,
|
|
287
291
|
[exports.PROVIDERS_APP_URL_ON_GOOGLE_PLAY]: stringType,
|
|
288
292
|
[exports.PROVIDERS_FACEBOOK_SIGNIN_ENABLED]: stringType,
|
|
@@ -12,6 +12,7 @@ const Errors_1 = require("../constants/Errors");
|
|
|
12
12
|
const Notification_1 = require("../constants/Notification");
|
|
13
13
|
const useSCCachingManager_1 = tslib_1.__importDefault(require("./useSCCachingManager"));
|
|
14
14
|
const event_1 = require("../utils/event");
|
|
15
|
+
const Preferences_1 = require("../constants/Preferences");
|
|
15
16
|
/**
|
|
16
17
|
:::info
|
|
17
18
|
This custom hook is used to manage the events followed.
|
|
@@ -28,9 +29,13 @@ const event_1 = require("../utils/event");
|
|
|
28
29
|
*/
|
|
29
30
|
function useSCSubscribedEventsManager(user) {
|
|
30
31
|
const { cache, updateCache, emptyCache, data, setData, loading, setLoading, setUnLoading, isLoading } = (0, useSCCachingManager_1.default)();
|
|
31
|
-
const { features } = (0, SCPreferencesProvider_1.useSCPreferences)();
|
|
32
|
+
const { preferences, features } = (0, SCPreferencesProvider_1.useSCPreferences)();
|
|
32
33
|
const authUserId = user ? user.id : null;
|
|
33
|
-
const eventsEnabled = (0, react_1.useMemo)(() =>
|
|
34
|
+
const eventsEnabled = (0, react_1.useMemo)(() => preferences &&
|
|
35
|
+
features &&
|
|
36
|
+
features.includes(types_1.SCFeatureName.TAGGING) &&
|
|
37
|
+
Preferences_1.CONFIGURATIONS_EVENTS_ENABLED in preferences &&
|
|
38
|
+
preferences[Preferences_1.CONFIGURATIONS_EVENTS_ENABLED].value, [preferences, features]);
|
|
34
39
|
const notificationInvitedToJoinEvent = (0, react_1.useRef)(null);
|
|
35
40
|
const notificationRequestedToJoinEvent = (0, react_1.useRef)(null);
|
|
36
41
|
const notificationAcceptedToJoinEvent = (0, react_1.useRef)(null);
|
|
@@ -9,6 +9,7 @@ const Errors_1 = require("../constants/Errors");
|
|
|
9
9
|
const utils_1 = require("@selfcommunity/utils");
|
|
10
10
|
const SCPreferencesProvider_1 = require("../components/provider/SCPreferencesProvider");
|
|
11
11
|
const Notification_1 = require("../constants/Notification");
|
|
12
|
+
const Preferences_1 = require("../constants/Preferences");
|
|
12
13
|
const use_deep_compare_effect_1 = require("use-deep-compare-effect");
|
|
13
14
|
const pubsub_js_1 = tslib_1.__importDefault(require("pubsub-js"));
|
|
14
15
|
/**
|
|
@@ -27,9 +28,14 @@ const pubsub_js_1 = tslib_1.__importDefault(require("pubsub-js"));
|
|
|
27
28
|
*/
|
|
28
29
|
function useSCSubscribedGroupsManager(user) {
|
|
29
30
|
const { cache, updateCache, emptyCache, data, setData, loading, setLoading, setUnLoading, isLoading } = (0, useSCCachingManager_1.default)();
|
|
30
|
-
const { features } = (0, SCPreferencesProvider_1.useSCPreferences)();
|
|
31
|
+
const { preferences, features } = (0, SCPreferencesProvider_1.useSCPreferences)();
|
|
31
32
|
const authUserId = user ? user.id : null;
|
|
32
|
-
const groupsEnabled = (0, react_1.useMemo)(() =>
|
|
33
|
+
const groupsEnabled = (0, react_1.useMemo)(() => preferences &&
|
|
34
|
+
features &&
|
|
35
|
+
features.includes(types_1.SCFeatureName.TAGGING) &&
|
|
36
|
+
features.includes(types_1.SCFeatureName.GROUPING) &&
|
|
37
|
+
Preferences_1.CONFIGURATIONS_GROUPS_ENABLED in preferences &&
|
|
38
|
+
preferences[Preferences_1.CONFIGURATIONS_GROUPS_ENABLED].value, [preferences, features]);
|
|
33
39
|
const notificationInvitedToJoinGroup = (0, react_1.useRef)(null);
|
|
34
40
|
const notificationRequestedToJoinGroup = (0, react_1.useRef)(null);
|
|
35
41
|
const notificationAcceptedToJoinGroup = (0, react_1.useRef)(null);
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -75,7 +75,7 @@ import * as SCRoutes from './constants/Routes';
|
|
|
75
75
|
*/
|
|
76
76
|
import * as UserUtils from './utils/user';
|
|
77
77
|
import getTheme from './themes/theme';
|
|
78
|
-
import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect } from './utils/hooks';
|
|
78
|
+
import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility } from './utils/hooks';
|
|
79
79
|
import { getEventStatus } from './utils/event';
|
|
80
80
|
/**
|
|
81
81
|
* Constants:
|
|
@@ -86,4 +86,4 @@ import * as Preferences from './constants/Preferences';
|
|
|
86
86
|
/**
|
|
87
87
|
* List all exports
|
|
88
88
|
*/
|
|
89
|
-
export { SCUserContextType, SCFollowedCategoriesManagerType, SCContextProviderType, SCContextType, SCSettingsType, SCSessionType, SCSettingsManagerType, SCFollowedManagerType, SCFollowersManagerType, SCConnectionsManagerType, SCSubscribedIncubatorsManagerType, SCLocaleType, SCNotificationContextType, SCPreferencesContextType, SCThemeContextType, SCRoutingContextType, SCLocaleContextType, SCAlertMessagesContextType, SCThemeAvatarVariableType, SCThemeCategoryIconVariableType, SCThemeCategoryVariableType, SCThemeVariablesType, SCThemeType, SCSubscribedGroupsManagerType, SCSubscribedEventsManagerType, SCContext, SCUserContext, SCThemeContext, SCRoutingContext, SCLocaleContext, SCPreferencesContext, useSCContext, SCContextProvider, SCUserProvider, useSCUser, useSCPreferences, SCThemeProvider, useSCTheme, withSCTheme, getTheme, SCRoutingProvider, useSCRouting, SCLocaleProvider, useSCLocale, withSCLocale, SCPreferencesProvider, SCPreferences, SCFeatures, SCNotification, SCNotificationProvider, SCNotificationContext, useSCNotification, SCAlertMessagesProvider, SCAlertMessagesContext, useSCAlertMessages, Link, SCRoutes, SCCache, UserUtils, getEventStatus, Locale, Preferences, useSCFetchUser, useSCFetchUserProviders, useSCFetchVote, useSCFetchFeedObject, useSCFetchCommentObject, useSCFetchCommentObjects, useSCFetchCustomAdv, useSCFetchTag, useSCFetchAddressingTagList, useSCFetchCategory, useSCFetchCategories, useSCFetchIncubator, useSCMediaClick, useSCFetchContributors, useSCFetchFeed, useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, };
|
|
89
|
+
export { SCUserContextType, SCFollowedCategoriesManagerType, SCContextProviderType, SCContextType, SCSettingsType, SCSessionType, SCSettingsManagerType, SCFollowedManagerType, SCFollowersManagerType, SCConnectionsManagerType, SCSubscribedIncubatorsManagerType, SCLocaleType, SCNotificationContextType, SCPreferencesContextType, SCThemeContextType, SCRoutingContextType, SCLocaleContextType, SCAlertMessagesContextType, SCThemeAvatarVariableType, SCThemeCategoryIconVariableType, SCThemeCategoryVariableType, SCThemeVariablesType, SCThemeType, SCSubscribedGroupsManagerType, SCSubscribedEventsManagerType, SCContext, SCUserContext, SCThemeContext, SCRoutingContext, SCLocaleContext, SCPreferencesContext, useSCContext, SCContextProvider, SCUserProvider, useSCUser, useSCPreferences, SCThemeProvider, useSCTheme, withSCTheme, getTheme, SCRoutingProvider, useSCRouting, SCLocaleProvider, useSCLocale, withSCLocale, SCPreferencesProvider, SCPreferences, SCFeatures, SCNotification, SCNotificationProvider, SCNotificationContext, useSCNotification, SCAlertMessagesProvider, SCAlertMessagesContext, useSCAlertMessages, Link, SCRoutes, SCCache, UserUtils, getEventStatus, Locale, Preferences, useSCFetchUser, useSCFetchUserProviders, useSCFetchVote, useSCFetchFeedObject, useSCFetchCommentObject, useSCFetchCommentObjects, useSCFetchCustomAdv, useSCFetchTag, useSCFetchAddressingTagList, useSCFetchCategory, useSCFetchCategories, useSCFetchIncubator, useSCMediaClick, useSCFetchContributors, useSCFetchFeed, useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, };
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useSCMediaClick = exports.useSCFetchIncubator = exports.useSCFetchCategories = exports.useSCFetchCategory = exports.useSCFetchAddressingTagList = exports.useSCFetchTag = exports.useSCFetchCustomAdv = exports.useSCFetchCommentObjects = exports.useSCFetchCommentObject = exports.useSCFetchFeedObject = exports.useSCFetchVote = exports.useSCFetchUserProviders = exports.useSCFetchUser = exports.Preferences = exports.Locale = exports.getEventStatus = exports.UserUtils = exports.SCCache = exports.SCRoutes = exports.Link = exports.useSCAlertMessages = exports.SCAlertMessagesContext = exports.SCAlertMessagesProvider = exports.useSCNotification = exports.SCNotificationContext = exports.SCNotificationProvider = exports.SCNotification = exports.SCFeatures = exports.SCPreferences = exports.SCPreferencesProvider = exports.withSCLocale = exports.useSCLocale = exports.SCLocaleProvider = exports.useSCRouting = exports.SCRoutingProvider = exports.getTheme = exports.withSCTheme = exports.useSCTheme = exports.SCThemeProvider = exports.useSCPreferences = exports.useSCUser = exports.SCUserProvider = exports.SCContextProvider = exports.useSCContext = exports.SCPreferencesContext = exports.SCLocaleContext = exports.SCRoutingContext = exports.SCThemeContext = exports.SCUserContext = exports.SCContext = void 0;
|
|
4
|
-
exports.useSCFetchEvents = exports.useSCFetchEvent = exports.useSCFetchGroups = exports.useSCFetchGroup = exports.useSCUserIsBlocked = exports.useSCFetchUserBlockedBy = exports.useSCFetchBroadcastMessages = exports.useSCFetchPrivateMessageSnippets = exports.useNoInitialEffect = exports.useEffectOnce = exports.useIsomorphicLayoutEffect = exports.usePreviousValue = exports.useIsComponentMountedRef = exports.useSCFetchFeed = exports.useSCFetchContributors = void 0;
|
|
4
|
+
exports.useSCFetchEvents = exports.useSCFetchEvent = exports.useSCFetchGroups = exports.useSCFetchGroup = exports.useSCUserIsBlocked = exports.useSCFetchUserBlockedBy = exports.useSCFetchBroadcastMessages = exports.useSCFetchPrivateMessageSnippets = exports.usePageVisibility = exports.useNoInitialEffect = exports.useEffectOnce = exports.useIsomorphicLayoutEffect = exports.usePreviousValue = exports.useIsComponentMountedRef = exports.useSCFetchFeed = exports.useSCFetchContributors = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
/**
|
|
7
7
|
* ContextProvider component
|
|
@@ -139,6 +139,7 @@ Object.defineProperty(exports, "usePreviousValue", { enumerable: true, get: func
|
|
|
139
139
|
Object.defineProperty(exports, "useIsomorphicLayoutEffect", { enumerable: true, get: function () { return hooks_1.useIsomorphicLayoutEffect; } });
|
|
140
140
|
Object.defineProperty(exports, "useEffectOnce", { enumerable: true, get: function () { return hooks_1.useEffectOnce; } });
|
|
141
141
|
Object.defineProperty(exports, "useNoInitialEffect", { enumerable: true, get: function () { return hooks_1.useNoInitialEffect; } });
|
|
142
|
+
Object.defineProperty(exports, "usePageVisibility", { enumerable: true, get: function () { return hooks_1.usePageVisibility; } });
|
|
142
143
|
const event_1 = require("./utils/event");
|
|
143
144
|
Object.defineProperty(exports, "getEventStatus", { enumerable: true, get: function () { return event_1.getEventStatus; } });
|
|
144
145
|
/**
|
|
@@ -3,4 +3,5 @@ import usePreviousValue from './usePreviousValue';
|
|
|
3
3
|
import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';
|
|
4
4
|
import useEffectOnce from './useEffectOnce';
|
|
5
5
|
import useNoInitialEffect from './useNoInitialEffect';
|
|
6
|
-
|
|
6
|
+
import usePageVisibility from './usePageVisibility';
|
|
7
|
+
export { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useNoInitialEffect = exports.useEffectOnce = exports.useIsomorphicLayoutEffect = exports.usePreviousValue = exports.useIsComponentMountedRef = void 0;
|
|
3
|
+
exports.usePageVisibility = exports.useNoInitialEffect = exports.useEffectOnce = exports.useIsomorphicLayoutEffect = exports.usePreviousValue = exports.useIsComponentMountedRef = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const useIsComponentMountedRef_1 = tslib_1.__importDefault(require("./useIsComponentMountedRef"));
|
|
6
6
|
exports.useIsComponentMountedRef = useIsComponentMountedRef_1.default;
|
|
@@ -12,3 +12,5 @@ const useEffectOnce_1 = tslib_1.__importDefault(require("./useEffectOnce"));
|
|
|
12
12
|
exports.useEffectOnce = useEffectOnce_1.default;
|
|
13
13
|
const useNoInitialEffect_1 = tslib_1.__importDefault(require("./useNoInitialEffect"));
|
|
14
14
|
exports.useNoInitialEffect = useNoInitialEffect_1.default;
|
|
15
|
+
const usePageVisibility_1 = tslib_1.__importDefault(require("./usePageVisibility"));
|
|
16
|
+
exports.usePageVisibility = usePageVisibility_1.default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("react");
|
|
4
|
+
const usePageVisibility = () => {
|
|
5
|
+
const [isPageVisible, setIsPageVisible] = (0, react_1.useState)(true);
|
|
6
|
+
(0, react_1.useEffect)(() => {
|
|
7
|
+
const handleVisibilityChange = () => {
|
|
8
|
+
setIsPageVisible(!document.hidden);
|
|
9
|
+
};
|
|
10
|
+
document.addEventListener('visibilitychange', handleVisibilityChange);
|
|
11
|
+
return () => {
|
|
12
|
+
document.removeEventListener('visibilitychange', handleVisibilityChange);
|
|
13
|
+
};
|
|
14
|
+
}, []);
|
|
15
|
+
return isPageVisible;
|
|
16
|
+
};
|
|
17
|
+
exports.default = usePageVisibility;
|
|
@@ -70,7 +70,7 @@ export declare const POINTS_DAILY_VISIT: string;
|
|
|
70
70
|
/**
|
|
71
71
|
* ADDONS
|
|
72
72
|
*/
|
|
73
|
-
export declare const
|
|
73
|
+
export declare const ADDONS_AFFINITY_ENABLED: string;
|
|
74
74
|
export declare const ADDONS_CLOSED_COMMUNITY: string;
|
|
75
75
|
export declare const ADDONS_INCUBATOR_ENABLED: string;
|
|
76
76
|
export declare const ADDONS_INCUBATOR_SUBSCRIBERS: string;
|
|
@@ -126,9 +126,11 @@ export declare const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED: string;
|
|
|
126
126
|
export declare const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT: string;
|
|
127
127
|
export declare const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL: string;
|
|
128
128
|
export declare const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE: string;
|
|
129
|
+
export declare const CONFIGURATIONS_GROUPS_ENABLED: string;
|
|
129
130
|
export declare const CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED: string;
|
|
130
131
|
export declare const CONFIGURATIONS_GROUPS_VISIBILITY_ENABLED: string;
|
|
131
132
|
export declare const CONFIGURATIONS_GROUPS_PRIVATE_ENABLED: string;
|
|
133
|
+
export declare const CONFIGURATIONS_EVENTS_ENABLED: string;
|
|
132
134
|
export declare const CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED: string;
|
|
133
135
|
export declare const CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED: string;
|
|
134
136
|
export declare const CONFIGURATIONS_EVENTS_PRIVATE_ENABLED: string;
|
|
@@ -71,7 +71,7 @@ export const POINTS_DAILY_VISIT = `${SCPreferenceSection.LOYALTY}.${SCPreference
|
|
|
71
71
|
/**
|
|
72
72
|
* ADDONS
|
|
73
73
|
*/
|
|
74
|
-
export const
|
|
74
|
+
export const ADDONS_AFFINITY_ENABLED = `${SCPreferenceSection.ADDONS}.${SCPreferenceName.AFFINITY_ENABLED}`;
|
|
75
75
|
export const ADDONS_CLOSED_COMMUNITY = `${SCPreferenceSection.ADDONS}.${SCPreferenceName.CLOSED_COMMUNITY}`;
|
|
76
76
|
export const ADDONS_INCUBATOR_ENABLED = `${SCPreferenceSection.ADDONS}.${SCPreferenceName.INCUBATOR_ENABLED}`;
|
|
77
77
|
export const ADDONS_INCUBATOR_SUBSCRIBERS = `${SCPreferenceSection.ADDONS}.${SCPreferenceName.INCUBATOR_SUBSCRIBERS}`;
|
|
@@ -127,9 +127,11 @@ export const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_ENABLED = `${SCPreferenceSection.
|
|
|
127
127
|
export const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.CUSTOM_NAVBAR_ITEM_TEXT}`;
|
|
128
128
|
export const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.CUSTOM_NAVBAR_ITEM_URL}`;
|
|
129
129
|
export const CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.CUSTOM_NAVBAR_ITEM_IMAGE}`;
|
|
130
|
+
export const CONFIGURATIONS_GROUPS_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.GROUPS_ENABLED}`;
|
|
130
131
|
export const CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.GROUPS_ONLY_STAFF_ENABLED}`;
|
|
131
132
|
export const CONFIGURATIONS_GROUPS_VISIBILITY_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.GROUPS_VISIBILITY_ENABLED}`;
|
|
132
133
|
export const CONFIGURATIONS_GROUPS_PRIVATE_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.GROUPS_PRIVATE_ENABLED}`;
|
|
134
|
+
export const CONFIGURATIONS_EVENTS_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.EVENTS_ENABLED}`;
|
|
133
135
|
export const CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.EVENTS_ONLY_STAFF_ENABLED}`;
|
|
134
136
|
export const CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.EVENTS_VISIBILITY_ENABLED}`;
|
|
135
137
|
export const CONFIGURATIONS_EVENTS_PRIVATE_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.EVENTS_PRIVATE_ENABLED}`;
|
|
@@ -222,7 +224,7 @@ export const DATA_TYPES = {
|
|
|
222
224
|
[LOYALTY_PRIZE_A_IMAGE]: stringType,
|
|
223
225
|
[LOYALTY_PRIZE_B_IMAGE]: stringType,
|
|
224
226
|
[LOYALTY_PRIZE_C_IMAGE]: stringType,
|
|
225
|
-
[
|
|
227
|
+
[ADDONS_AFFINITY_ENABLED]: booleanType,
|
|
226
228
|
[ADDONS_CLOSED_COMMUNITY]: booleanType,
|
|
227
229
|
[ADDONS_INCUBATOR_ENABLED]: booleanType,
|
|
228
230
|
[ADDONS_INCUBATOR_SUBSCRIBERS]: integerType,
|
|
@@ -269,12 +271,14 @@ export const DATA_TYPES = {
|
|
|
269
271
|
[CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_TEXT]: stringType,
|
|
270
272
|
[CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_URL]: stringType,
|
|
271
273
|
[CONFIGURATIONS_CUSTOM_NAVBAR_ITEM_IMAGE]: stringType,
|
|
272
|
-
[
|
|
273
|
-
[CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED]: booleanType,
|
|
274
|
-
[CONFIGURATIONS_EVENTS_PRIVATE_ENABLED]: booleanType,
|
|
274
|
+
[CONFIGURATIONS_GROUPS_ENABLED]: booleanType,
|
|
275
275
|
[CONFIGURATIONS_GROUPS_ONLY_STAFF_ENABLED]: booleanType,
|
|
276
276
|
[CONFIGURATIONS_GROUPS_VISIBILITY_ENABLED]: booleanType,
|
|
277
277
|
[CONFIGURATIONS_GROUPS_PRIVATE_ENABLED]: booleanType,
|
|
278
|
+
[CONFIGURATIONS_EVENTS_ENABLED]: booleanType,
|
|
279
|
+
[CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED]: booleanType,
|
|
280
|
+
[CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED]: booleanType,
|
|
281
|
+
[CONFIGURATIONS_EVENTS_PRIVATE_ENABLED]: booleanType,
|
|
278
282
|
[PROVIDERS_APP_URL_ON_APP_STORE]: stringType,
|
|
279
283
|
[PROVIDERS_APP_URL_ON_GOOGLE_PLAY]: stringType,
|
|
280
284
|
[PROVIDERS_FACEBOOK_SIGNIN_ENABLED]: stringType,
|
|
@@ -9,6 +9,7 @@ import { SCOPE_SC_CORE } from '../constants/Errors';
|
|
|
9
9
|
import { SCNotificationMapping } from '../constants/Notification';
|
|
10
10
|
import useSCCachingManager from './useSCCachingManager';
|
|
11
11
|
import { getEventStatus } from '../utils/event';
|
|
12
|
+
import { CONFIGURATIONS_EVENTS_ENABLED } from '../constants/Preferences';
|
|
12
13
|
/**
|
|
13
14
|
:::info
|
|
14
15
|
This custom hook is used to manage the events followed.
|
|
@@ -25,9 +26,13 @@ import { getEventStatus } from '../utils/event';
|
|
|
25
26
|
*/
|
|
26
27
|
export default function useSCSubscribedEventsManager(user) {
|
|
27
28
|
const { cache, updateCache, emptyCache, data, setData, loading, setLoading, setUnLoading, isLoading } = useSCCachingManager();
|
|
28
|
-
const { features } = useSCPreferences();
|
|
29
|
+
const { preferences, features } = useSCPreferences();
|
|
29
30
|
const authUserId = user ? user.id : null;
|
|
30
|
-
const eventsEnabled = useMemo(() =>
|
|
31
|
+
const eventsEnabled = useMemo(() => preferences &&
|
|
32
|
+
features &&
|
|
33
|
+
features.includes(SCFeatureName.TAGGING) &&
|
|
34
|
+
CONFIGURATIONS_EVENTS_ENABLED in preferences &&
|
|
35
|
+
preferences[CONFIGURATIONS_EVENTS_ENABLED].value, [preferences, features]);
|
|
31
36
|
const notificationInvitedToJoinEvent = useRef(null);
|
|
32
37
|
const notificationRequestedToJoinEvent = useRef(null);
|
|
33
38
|
const notificationAcceptedToJoinEvent = useRef(null);
|
|
@@ -6,6 +6,7 @@ import { SCOPE_SC_CORE } from '../constants/Errors';
|
|
|
6
6
|
import { Logger } from '@selfcommunity/utils';
|
|
7
7
|
import { useSCPreferences } from '../components/provider/SCPreferencesProvider';
|
|
8
8
|
import { SCNotificationMapping } from '../constants/Notification';
|
|
9
|
+
import { CONFIGURATIONS_GROUPS_ENABLED } from '../constants/Preferences';
|
|
9
10
|
import { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect';
|
|
10
11
|
import PubSub from 'pubsub-js';
|
|
11
12
|
/**
|
|
@@ -24,9 +25,14 @@ import PubSub from 'pubsub-js';
|
|
|
24
25
|
*/
|
|
25
26
|
export default function useSCSubscribedGroupsManager(user) {
|
|
26
27
|
const { cache, updateCache, emptyCache, data, setData, loading, setLoading, setUnLoading, isLoading } = useSCCachingManager();
|
|
27
|
-
const { features } = useSCPreferences();
|
|
28
|
+
const { preferences, features } = useSCPreferences();
|
|
28
29
|
const authUserId = user ? user.id : null;
|
|
29
|
-
const groupsEnabled = useMemo(() =>
|
|
30
|
+
const groupsEnabled = useMemo(() => preferences &&
|
|
31
|
+
features &&
|
|
32
|
+
features.includes(SCFeatureName.TAGGING) &&
|
|
33
|
+
features.includes(SCFeatureName.GROUPING) &&
|
|
34
|
+
CONFIGURATIONS_GROUPS_ENABLED in preferences &&
|
|
35
|
+
preferences[CONFIGURATIONS_GROUPS_ENABLED].value, [preferences, features]);
|
|
30
36
|
const notificationInvitedToJoinGroup = useRef(null);
|
|
31
37
|
const notificationRequestedToJoinGroup = useRef(null);
|
|
32
38
|
const notificationAcceptedToJoinGroup = useRef(null);
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -75,7 +75,7 @@ import * as SCRoutes from './constants/Routes';
|
|
|
75
75
|
*/
|
|
76
76
|
import * as UserUtils from './utils/user';
|
|
77
77
|
import getTheme from './themes/theme';
|
|
78
|
-
import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect } from './utils/hooks';
|
|
78
|
+
import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility } from './utils/hooks';
|
|
79
79
|
import { getEventStatus } from './utils/event';
|
|
80
80
|
/**
|
|
81
81
|
* Constants:
|
|
@@ -86,4 +86,4 @@ import * as Preferences from './constants/Preferences';
|
|
|
86
86
|
/**
|
|
87
87
|
* List all exports
|
|
88
88
|
*/
|
|
89
|
-
export { SCUserContextType, SCFollowedCategoriesManagerType, SCContextProviderType, SCContextType, SCSettingsType, SCSessionType, SCSettingsManagerType, SCFollowedManagerType, SCFollowersManagerType, SCConnectionsManagerType, SCSubscribedIncubatorsManagerType, SCLocaleType, SCNotificationContextType, SCPreferencesContextType, SCThemeContextType, SCRoutingContextType, SCLocaleContextType, SCAlertMessagesContextType, SCThemeAvatarVariableType, SCThemeCategoryIconVariableType, SCThemeCategoryVariableType, SCThemeVariablesType, SCThemeType, SCSubscribedGroupsManagerType, SCSubscribedEventsManagerType, SCContext, SCUserContext, SCThemeContext, SCRoutingContext, SCLocaleContext, SCPreferencesContext, useSCContext, SCContextProvider, SCUserProvider, useSCUser, useSCPreferences, SCThemeProvider, useSCTheme, withSCTheme, getTheme, SCRoutingProvider, useSCRouting, SCLocaleProvider, useSCLocale, withSCLocale, SCPreferencesProvider, SCPreferences, SCFeatures, SCNotification, SCNotificationProvider, SCNotificationContext, useSCNotification, SCAlertMessagesProvider, SCAlertMessagesContext, useSCAlertMessages, Link, SCRoutes, SCCache, UserUtils, getEventStatus, Locale, Preferences, useSCFetchUser, useSCFetchUserProviders, useSCFetchVote, useSCFetchFeedObject, useSCFetchCommentObject, useSCFetchCommentObjects, useSCFetchCustomAdv, useSCFetchTag, useSCFetchAddressingTagList, useSCFetchCategory, useSCFetchCategories, useSCFetchIncubator, useSCMediaClick, useSCFetchContributors, useSCFetchFeed, useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, };
|
|
89
|
+
export { SCUserContextType, SCFollowedCategoriesManagerType, SCContextProviderType, SCContextType, SCSettingsType, SCSessionType, SCSettingsManagerType, SCFollowedManagerType, SCFollowersManagerType, SCConnectionsManagerType, SCSubscribedIncubatorsManagerType, SCLocaleType, SCNotificationContextType, SCPreferencesContextType, SCThemeContextType, SCRoutingContextType, SCLocaleContextType, SCAlertMessagesContextType, SCThemeAvatarVariableType, SCThemeCategoryIconVariableType, SCThemeCategoryVariableType, SCThemeVariablesType, SCThemeType, SCSubscribedGroupsManagerType, SCSubscribedEventsManagerType, SCContext, SCUserContext, SCThemeContext, SCRoutingContext, SCLocaleContext, SCPreferencesContext, useSCContext, SCContextProvider, SCUserProvider, useSCUser, useSCPreferences, SCThemeProvider, useSCTheme, withSCTheme, getTheme, SCRoutingProvider, useSCRouting, SCLocaleProvider, useSCLocale, withSCLocale, SCPreferencesProvider, SCPreferences, SCFeatures, SCNotification, SCNotificationProvider, SCNotificationContext, useSCNotification, SCAlertMessagesProvider, SCAlertMessagesContext, useSCAlertMessages, Link, SCRoutes, SCCache, UserUtils, getEventStatus, Locale, Preferences, useSCFetchUser, useSCFetchUserProviders, useSCFetchVote, useSCFetchFeedObject, useSCFetchCommentObject, useSCFetchCommentObjects, useSCFetchCustomAdv, useSCFetchTag, useSCFetchAddressingTagList, useSCFetchCategory, useSCFetchCategories, useSCFetchIncubator, useSCMediaClick, useSCFetchContributors, useSCFetchFeed, useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, };
|
package/lib/esm/index.js
CHANGED
|
@@ -71,7 +71,7 @@ import * as SCRoutes from './constants/Routes';
|
|
|
71
71
|
*/
|
|
72
72
|
import * as UserUtils from './utils/user';
|
|
73
73
|
import getTheme from './themes/theme';
|
|
74
|
-
import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect } from './utils/hooks';
|
|
74
|
+
import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility, } from './utils/hooks';
|
|
75
75
|
import { getEventStatus } from './utils/event';
|
|
76
76
|
/**
|
|
77
77
|
* Constants:
|
|
@@ -82,4 +82,4 @@ import * as Preferences from './constants/Preferences';
|
|
|
82
82
|
/**
|
|
83
83
|
* List all exports
|
|
84
84
|
*/
|
|
85
|
-
export { SCContext, SCUserContext, SCThemeContext, SCRoutingContext, SCLocaleContext, SCPreferencesContext, useSCContext, SCContextProvider, SCUserProvider, useSCUser, useSCPreferences, SCThemeProvider, useSCTheme, withSCTheme, getTheme, SCRoutingProvider, useSCRouting, SCLocaleProvider, useSCLocale, withSCLocale, SCPreferencesProvider, SCPreferences, SCFeatures, SCNotification, SCNotificationProvider, SCNotificationContext, useSCNotification, SCAlertMessagesProvider, SCAlertMessagesContext, useSCAlertMessages, Link, SCRoutes, SCCache, UserUtils, getEventStatus, Locale, Preferences, useSCFetchUser, useSCFetchUserProviders, useSCFetchVote, useSCFetchFeedObject, useSCFetchCommentObject, useSCFetchCommentObjects, useSCFetchCustomAdv, useSCFetchTag, useSCFetchAddressingTagList, useSCFetchCategory, useSCFetchCategories, useSCFetchIncubator, useSCMediaClick, useSCFetchContributors, useSCFetchFeed, useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, };
|
|
85
|
+
export { SCContext, SCUserContext, SCThemeContext, SCRoutingContext, SCLocaleContext, SCPreferencesContext, useSCContext, SCContextProvider, SCUserProvider, useSCUser, useSCPreferences, SCThemeProvider, useSCTheme, withSCTheme, getTheme, SCRoutingProvider, useSCRouting, SCLocaleProvider, useSCLocale, withSCLocale, SCPreferencesProvider, SCPreferences, SCFeatures, SCNotification, SCNotificationProvider, SCNotificationContext, useSCNotification, SCAlertMessagesProvider, SCAlertMessagesContext, useSCAlertMessages, Link, SCRoutes, SCCache, UserUtils, getEventStatus, Locale, Preferences, useSCFetchUser, useSCFetchUserProviders, useSCFetchVote, useSCFetchFeedObject, useSCFetchCommentObject, useSCFetchCommentObjects, useSCFetchCustomAdv, useSCFetchTag, useSCFetchAddressingTagList, useSCFetchCategory, useSCFetchCategories, useSCFetchIncubator, useSCMediaClick, useSCFetchContributors, useSCFetchFeed, useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, };
|
|
@@ -3,4 +3,5 @@ import usePreviousValue from './usePreviousValue';
|
|
|
3
3
|
import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';
|
|
4
4
|
import useEffectOnce from './useEffectOnce';
|
|
5
5
|
import useNoInitialEffect from './useNoInitialEffect';
|
|
6
|
-
|
|
6
|
+
import usePageVisibility from './usePageVisibility';
|
|
7
|
+
export { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility };
|
|
@@ -3,4 +3,5 @@ import usePreviousValue from './usePreviousValue';
|
|
|
3
3
|
import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';
|
|
4
4
|
import useEffectOnce from './useEffectOnce';
|
|
5
5
|
import useNoInitialEffect from './useNoInitialEffect';
|
|
6
|
-
|
|
6
|
+
import usePageVisibility from './usePageVisibility';
|
|
7
|
+
export { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect, usePageVisibility };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
const usePageVisibility = () => {
|
|
3
|
+
const [isPageVisible, setIsPageVisible] = useState(true);
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
const handleVisibilityChange = () => {
|
|
6
|
+
setIsPageVisible(!document.hidden);
|
|
7
|
+
};
|
|
8
|
+
document.addEventListener('visibilitychange', handleVisibilityChange);
|
|
9
|
+
return () => {
|
|
10
|
+
document.removeEventListener('visibilitychange', handleVisibilityChange);
|
|
11
|
+
};
|
|
12
|
+
}, []);
|
|
13
|
+
return isPageVisible;
|
|
14
|
+
};
|
|
15
|
+
export default usePageVisibility;
|