@selfcommunity/react-core 0.5.0-embeds.17 → 0.5.0-live.64
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/Cache.d.ts +1 -0
- package/lib/cjs/constants/Cache.js +2 -1
- package/lib/cjs/constants/Preferences.d.ts +3 -1
- package/lib/cjs/constants/Preferences.js +9 -5
- package/lib/cjs/hooks/useSCFetchEvent.d.ts +1 -1
- package/lib/cjs/hooks/useSCFetchEvent.js +38 -28
- 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/cjs/utils/validator.js +1 -2
- package/lib/esm/constants/Cache.d.ts +1 -0
- package/lib/esm/constants/Cache.js +1 -0
- package/lib/esm/constants/Preferences.d.ts +3 -1
- package/lib/esm/constants/Preferences.js +6 -2
- package/lib/esm/hooks/useSCFetchEvent.d.ts +1 -1
- package/lib/esm/hooks/useSCFetchEvent.js +38 -28
- 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/esm/utils/validator.js +1 -2
- package/lib/umd/react-core.js +1 -1
- package/lib/umd/react-core.js.LICENSE.txt +2 -0
- package/package.json +132 -127
|
@@ -69,6 +69,7 @@ export declare const USER_OTHER_EVENTS_STATE_CACHE_PREFIX_KEY = "_uOtherEvents_"
|
|
|
69
69
|
export declare const USER_PARTECIPANTS_EVENTS_STATE_CACHE_PREFIX_KEY = "_uPartecipantsEvents_";
|
|
70
70
|
export declare const USER_INVITED_EVENTS_STATE_CACHE_PREFIX_KEY = "_uInvitedEvents_";
|
|
71
71
|
export declare const USER_REQUESTS_EVENTS_STATE_CACHE_PREFIX_KEY = "_uRequestsEvents_";
|
|
72
|
+
export declare const EVENT_MEDIA_STATE_CACHE_PREFIX_KEY = "_eMedia_";
|
|
72
73
|
export declare const USER_CONNECTIONS_TOOLS_STATE_CACHE_PREFIX_KEY = "_uConWidget_";
|
|
73
74
|
export declare const USER_CONNECTIONS_REQUESTS_TOOLS_STATE_CACHE_PREFIX_KEY = "_uConReqWidget_";
|
|
74
75
|
export declare const USER_CONNECTIONS_REQUESTS_SENT_TOOLS_STATE_CACHE_PREFIX_KEY = "_uConReqSentWidget_";
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.USER_INVITED_EVENTS_STATE_CACHE_PREFIX_KEY = exports.USER_PARTECIPANTS_EVENTS_STATE_CACHE_PREFIX_KEY = exports.USER_OTHER_EVENTS_STATE_CACHE_PREFIX_KEY = exports.USER_EVENTS_STATE_CACHE_PREFIX_KEY = exports.USER_FOLLOWED_TOOLS_STATE_CACHE_PREFIX_KEY = exports.USER_FOLLOWERS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.CATEGORIES_POPULAR_TOOLS_STATE_CACHE_PREFIX_KEY = exports.CATEGORIES_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY = exports.CATEGORIES_FOLLOWED_TOOLS_STATE_CACHE_PREFIX_KEY = exports.CATEGORIES_LIST_TOOLS_STATE_CACHE_PREFIX_KEY = exports.getPmSnippetObjectCacheKey = exports.PM_SNIPPET_OBJECT_CACHE_PREFIX_KEY = exports.getPmSnippetsObjectCacheKey = exports.PM_SNIPPETS_OBJECT_CACHE_PREFIX_KEY = exports.getAdvObjectCacheKey = exports.ADV_OBJECT_CACHE_PREFIX_KEY = exports.getFeedSPCacheKey = exports.FEED_CACHE_SP_KEY = exports.getVirtualizedScrollStateCacheKey = exports.VIRTUALIZED_SCROLL_STATE_CACHE_PREFIX_KEY = exports.getStateFeedCacheKey = exports.FEED_STATE_CACHE_PREFIX_KEY = exports.getFeedCacheKey = exports.FEED_CACHE_PREFIX_KEY = exports.getBroadcastMessagesObjectCacheKey = exports.BROADCAST_MESSAGES_OBJECT_CACHE_PREFIX_KEY = exports.getContributorsCachePrefixKeys = exports.getContributorsCacheKey = exports.CONTRIBUTORS_CACHE_PREFIX_KEY = exports.getIncubatorObjectCacheKey = exports.INCUBATOR_OBJECT_CACHE_PREFIX_KEY = exports.getGroupsObjectCacheKey = exports.GROUPS_OBJECT_CACHE_PREFIX_KEY = exports.getGroupObjectCacheKey = exports.GROUP_OBJECT_CACHE_PREFIX_KEY = exports.getEventsObjectCacheKey = exports.EVENTS_OBJECT_CACHE_PREFIX_KEY = exports.getEventObjectCacheKey = exports.EVENT_OBJECT_CACHE_PREFIX_KEY = exports.getCategoryObjectCacheKey = exports.CATEGORY_OBJECT_CACHE_PREFIX_KEY = exports.getCategoriesObjectCacheKey = exports.CATEGORIES_OBJECT_CACHE_PREFIX_KEY = exports.getCommentObjectsCachePrefixKeys = exports.getCommentObjectsCacheKey = exports.COMMENT_OBJECTS_CACHE_PREFIX_KEY = exports.getCommentObjectCacheKey = exports.COMMENT_OBJECT_CACHE_PREFIX_KEY = exports.getFeedObjectCacheKey = exports.FEED_OBJECT_CACHE_PREFIX_KEY = void 0;
|
|
7
|
-
exports.getWidgetStateCacheKey = exports.GROUPS_SUBSCRIBED_TOOLS_STATE_CACHE_PREFIX_KEY = exports.GROUPS_LIST_TOOLS_STATE_CACHE_PREFIX_KEY = exports.GROUP_REQUESTS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.GROUP_MEMBERS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.POLL_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY = exports.INCUBATOR_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY = exports.INCUBATOR_LIST_TOOLS_STATE_CACHE_PREFIX_KEY = exports.PEOPLE_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY = exports.TRENDING_PEOPLE_TOOLS_STATE_CACHE_PREFIX_KEY = exports.RELATED_FEED_TOOLS_STATE_CACHE_PREFIX_KEY = exports.TRENDING_FEED_TOOLS_STATE_CACHE_PREFIX_KEY = exports.USER_CONNECTIONS_REQUESTS_SENT_TOOLS_STATE_CACHE_PREFIX_KEY = exports.USER_CONNECTIONS_REQUESTS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.USER_CONNECTIONS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.USER_REQUESTS_EVENTS_STATE_CACHE_PREFIX_KEY = void 0;
|
|
7
|
+
exports.getWidgetStateCacheKey = exports.GROUPS_SUBSCRIBED_TOOLS_STATE_CACHE_PREFIX_KEY = exports.GROUPS_LIST_TOOLS_STATE_CACHE_PREFIX_KEY = exports.GROUP_REQUESTS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.GROUP_MEMBERS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.POLL_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY = exports.INCUBATOR_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY = exports.INCUBATOR_LIST_TOOLS_STATE_CACHE_PREFIX_KEY = exports.PEOPLE_SUGGESTION_TOOLS_STATE_CACHE_PREFIX_KEY = exports.TRENDING_PEOPLE_TOOLS_STATE_CACHE_PREFIX_KEY = exports.RELATED_FEED_TOOLS_STATE_CACHE_PREFIX_KEY = exports.TRENDING_FEED_TOOLS_STATE_CACHE_PREFIX_KEY = exports.USER_CONNECTIONS_REQUESTS_SENT_TOOLS_STATE_CACHE_PREFIX_KEY = exports.USER_CONNECTIONS_REQUESTS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.USER_CONNECTIONS_TOOLS_STATE_CACHE_PREFIX_KEY = exports.EVENT_MEDIA_STATE_CACHE_PREFIX_KEY = exports.USER_REQUESTS_EVENTS_STATE_CACHE_PREFIX_KEY = void 0;
|
|
8
8
|
/** FEED OBJECT **/
|
|
9
9
|
exports.FEED_OBJECT_CACHE_PREFIX_KEY = '_fo_';
|
|
10
10
|
const getFeedObjectCacheKey = (id, type) => `${exports.FEED_OBJECT_CACHE_PREFIX_KEY}${type}_${id}`;
|
|
@@ -98,6 +98,7 @@ exports.USER_OTHER_EVENTS_STATE_CACHE_PREFIX_KEY = '_uOtherEvents_';
|
|
|
98
98
|
exports.USER_PARTECIPANTS_EVENTS_STATE_CACHE_PREFIX_KEY = '_uPartecipantsEvents_';
|
|
99
99
|
exports.USER_INVITED_EVENTS_STATE_CACHE_PREFIX_KEY = '_uInvitedEvents_';
|
|
100
100
|
exports.USER_REQUESTS_EVENTS_STATE_CACHE_PREFIX_KEY = '_uRequestsEvents_';
|
|
101
|
+
exports.EVENT_MEDIA_STATE_CACHE_PREFIX_KEY = '_eMedia_';
|
|
101
102
|
exports.USER_CONNECTIONS_TOOLS_STATE_CACHE_PREFIX_KEY = '_uConWidget_';
|
|
102
103
|
exports.USER_CONNECTIONS_REQUESTS_TOOLS_STATE_CACHE_PREFIX_KEY = '_uConReqWidget_';
|
|
103
104
|
exports.USER_CONNECTIONS_REQUESTS_SENT_TOOLS_STATE_CACHE_PREFIX_KEY = '_uConReqSentWidget_';
|
|
@@ -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;
|
|
@@ -134,6 +134,8 @@ export declare const CONFIGURATIONS_EVENTS_ENABLED: string;
|
|
|
134
134
|
export declare const CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED: string;
|
|
135
135
|
export declare const CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED: string;
|
|
136
136
|
export declare const CONFIGURATIONS_EVENTS_PRIVATE_ENABLED: string;
|
|
137
|
+
export declare const CONFIGURATIONS_ONBOARDING_ENABLED: string;
|
|
138
|
+
export declare const CONFIGURATIONS_ONBOARDING_HIDDEN: string;
|
|
137
139
|
/**
|
|
138
140
|
* PROVIDERS
|
|
139
141
|
*/
|
|
@@ -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 = exports.PROVIDERS_FACEBOOK_SIGNIN_ENABLED = exports.PROVIDERS_APP_URL_ON_GOOGLE_PLAY = 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.CONFIGURATIONS_ONBOARDING_ENABLED = 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 = exports.PROVIDERS_APP_URL_ON_APP_STORE = exports.CONFIGURATIONS_ONBOARDING_HIDDEN = 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}`;
|
|
@@ -140,6 +140,8 @@ exports.CONFIGURATIONS_EVENTS_ENABLED = `${types_1.SCPreferenceSection.CONFIGURA
|
|
|
140
140
|
exports.CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.EVENTS_ONLY_STAFF_ENABLED}`;
|
|
141
141
|
exports.CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.EVENTS_VISIBILITY_ENABLED}`;
|
|
142
142
|
exports.CONFIGURATIONS_EVENTS_PRIVATE_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.EVENTS_PRIVATE_ENABLED}`;
|
|
143
|
+
exports.CONFIGURATIONS_ONBOARDING_ENABLED = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.ONBOARDING_ENABLED}`;
|
|
144
|
+
exports.CONFIGURATIONS_ONBOARDING_HIDDEN = `${types_1.SCPreferenceSection.CONFIGURATIONS}.${types_1.SCPreferenceName.ONBOARDING_HIDDEN}`;
|
|
143
145
|
/**
|
|
144
146
|
* PROVIDERS
|
|
145
147
|
*/
|
|
@@ -232,7 +234,7 @@ exports.DATA_TYPES = {
|
|
|
232
234
|
[exports.LOYALTY_PRIZE_A_IMAGE]: stringType,
|
|
233
235
|
[exports.LOYALTY_PRIZE_B_IMAGE]: stringType,
|
|
234
236
|
[exports.LOYALTY_PRIZE_C_IMAGE]: stringType,
|
|
235
|
-
[exports.
|
|
237
|
+
[exports.ADDONS_AFFINITY_ENABLED]: booleanType,
|
|
236
238
|
[exports.ADDONS_CLOSED_COMMUNITY]: booleanType,
|
|
237
239
|
[exports.ADDONS_INCUBATOR_ENABLED]: booleanType,
|
|
238
240
|
[exports.ADDONS_INCUBATOR_SUBSCRIBERS]: integerType,
|
|
@@ -287,6 +289,8 @@ exports.DATA_TYPES = {
|
|
|
287
289
|
[exports.CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED]: booleanType,
|
|
288
290
|
[exports.CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED]: booleanType,
|
|
289
291
|
[exports.CONFIGURATIONS_EVENTS_PRIVATE_ENABLED]: booleanType,
|
|
292
|
+
[exports.CONFIGURATIONS_ONBOARDING_ENABLED]: booleanType,
|
|
293
|
+
[exports.CONFIGURATIONS_ONBOARDING_HIDDEN]: booleanType,
|
|
290
294
|
[exports.PROVIDERS_APP_URL_ON_APP_STORE]: stringType,
|
|
291
295
|
[exports.PROVIDERS_APP_URL_ON_GOOGLE_PLAY]: stringType,
|
|
292
296
|
[exports.PROVIDERS_FACEBOOK_SIGNIN_ENABLED]: stringType,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const react_1 = require("react");
|
|
4
|
-
const Errors_1 = require("../constants/Errors");
|
|
5
|
-
const types_1 = require("@selfcommunity/types");
|
|
6
3
|
const api_services_1 = require("@selfcommunity/api-services");
|
|
4
|
+
const types_1 = require("@selfcommunity/types");
|
|
7
5
|
const utils_1 = require("@selfcommunity/utils");
|
|
8
|
-
const
|
|
6
|
+
const react_1 = require("react");
|
|
9
7
|
const use_deep_compare_effect_1 = require("use-deep-compare-effect");
|
|
10
8
|
const SCUserProvider_1 = require("../components/provider/SCUserProvider");
|
|
9
|
+
const Cache_1 = require("../constants/Cache");
|
|
10
|
+
const Errors_1 = require("../constants/Errors");
|
|
11
11
|
/**
|
|
12
12
|
:::info
|
|
13
13
|
This custom hook is used to fetch an event object.
|
|
@@ -28,18 +28,39 @@ function useSCFetchEvent({ id = null, event = null, autoSubscribe = true, cacheS
|
|
|
28
28
|
const __event = authUserId ? event : (0, utils_1.objectWithoutProperties)(event, ['subscription_status']);
|
|
29
29
|
const [scEvent, setScEvent] = (0, react_1.useState)(cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY ? utils_1.LRUCache.get(__eventCacheKey, __event) : null);
|
|
30
30
|
const [error, setError] = (0, react_1.useState)(null);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Memoized setSCEvent (auto-subscription if need it)
|
|
33
|
+
*/
|
|
34
|
+
const setSCEvent = (0, react_1.useMemo)(() => (e) => {
|
|
35
|
+
if (autoSubscribe &&
|
|
36
|
+
authUserId !== null &&
|
|
37
|
+
((e.privacy === types_1.SCEventPrivacyType.PUBLIC && !e.subscription_status) || e.subscription_status === types_1.SCEventSubscriptionStatusType.INVITED)) {
|
|
38
|
+
// Auto subscribe to the event
|
|
39
|
+
api_services_1.EventService.subscribeToEvent(e.id)
|
|
40
|
+
.then(() => {
|
|
41
|
+
const updatedEvent = Object.assign(Object.assign({}, e), { subscription_status: types_1.SCEventSubscriptionStatusType.SUBSCRIBED });
|
|
42
|
+
setScEvent(updatedEvent);
|
|
43
|
+
utils_1.LRUCache.set(__eventCacheKey, updatedEvent);
|
|
44
|
+
})
|
|
45
|
+
.catch(() => {
|
|
46
|
+
const updatedEvent = authUserId ? e : (0, utils_1.objectWithoutProperties)(e, ['subscription_status']);
|
|
47
|
+
setScEvent(updatedEvent);
|
|
48
|
+
utils_1.LRUCache.set(__eventCacheKey, updatedEvent);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const updatedEvent = authUserId ? e : (0, utils_1.objectWithoutProperties)(e, ['subscription_status']);
|
|
53
|
+
setScEvent(updatedEvent);
|
|
54
|
+
utils_1.LRUCache.set(__eventCacheKey, updatedEvent);
|
|
55
|
+
}
|
|
56
|
+
}, [autoSubscribe, authUserId, setScEvent]);
|
|
36
57
|
/**
|
|
37
58
|
* Memoized fetchTag
|
|
38
59
|
*/
|
|
39
|
-
const fetchEvent = (0, react_1.useMemo)(() => () => {
|
|
60
|
+
const fetchEvent = (0, react_1.useMemo)(() => (id) => {
|
|
40
61
|
return api_services_1.http
|
|
41
62
|
.request({
|
|
42
|
-
url: api_services_1.Endpoints.GetEventInfo.url({ id
|
|
63
|
+
url: api_services_1.Endpoints.GetEventInfo.url({ id }),
|
|
43
64
|
method: api_services_1.Endpoints.GetEventInfo.method,
|
|
44
65
|
})
|
|
45
66
|
.then((res) => {
|
|
@@ -48,26 +69,15 @@ function useSCFetchEvent({ id = null, event = null, autoSubscribe = true, cacheS
|
|
|
48
69
|
}
|
|
49
70
|
return Promise.resolve(res.data);
|
|
50
71
|
});
|
|
51
|
-
}, [
|
|
72
|
+
}, []);
|
|
52
73
|
/**
|
|
53
74
|
* If id attempt to get the event by id
|
|
54
75
|
*/
|
|
55
76
|
(0, react_1.useEffect)(() => {
|
|
56
|
-
if (
|
|
57
|
-
fetchEvent()
|
|
58
|
-
.then((
|
|
59
|
-
|
|
60
|
-
authUserId !== null &&
|
|
61
|
-
((event.privacy === types_1.SCEventPrivacyType.PUBLIC && !event.subscription_status) || event.subscription_status === types_1.SCEventSubscriptionStatusType.INVITED)) {
|
|
62
|
-
// Auto subscribe to the event
|
|
63
|
-
api_services_1.EventService.subscribeToEvent(event.id).then(() => {
|
|
64
|
-
const updatedEvent = Object.assign(Object.assign({}, event), { subscription_status: types_1.SCEventSubscriptionStatusType.SUBSCRIBED });
|
|
65
|
-
setSCEvent(updatedEvent);
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
setSCEvent(event);
|
|
70
|
-
}
|
|
77
|
+
if (id !== null && id !== undefined && !event) {
|
|
78
|
+
fetchEvent(id)
|
|
79
|
+
.then((e) => {
|
|
80
|
+
setSCEvent(e);
|
|
71
81
|
})
|
|
72
82
|
.catch((err) => {
|
|
73
83
|
utils_1.LRUCache.delete(__eventCacheKey);
|
|
@@ -76,7 +86,7 @@ function useSCFetchEvent({ id = null, event = null, autoSubscribe = true, cacheS
|
|
|
76
86
|
utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, err.message);
|
|
77
87
|
});
|
|
78
88
|
}
|
|
79
|
-
}, [
|
|
89
|
+
}, [id, event, authUserId]);
|
|
80
90
|
(0, use_deep_compare_effect_1.useDeepCompareEffectNoCheck)(() => {
|
|
81
91
|
if (event) {
|
|
82
92
|
setSCEvent(event);
|
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;
|
|
@@ -206,7 +206,7 @@ exports.validateWebSocketDisableToastMessage = validateWebSocketDisableToastMess
|
|
|
206
206
|
const validateWebSocketSecure = (value) => {
|
|
207
207
|
const errors = [];
|
|
208
208
|
const warnings = [];
|
|
209
|
-
if (value) {
|
|
209
|
+
if ((value === null || value === void 0 ? void 0 : value.toString()) !== undefined) {
|
|
210
210
|
if (!(typeof value === 'boolean')) {
|
|
211
211
|
errors.push(errors_1.ValidationError.ERROR_INVALID_NOTIFICATIONS_WEBSOCKET_SECURE);
|
|
212
212
|
}
|
|
@@ -679,7 +679,6 @@ exports.validateOpenAI = validateOpenAI;
|
|
|
679
679
|
* @param v
|
|
680
680
|
*/
|
|
681
681
|
const validateGeocoding = (v) => {
|
|
682
|
-
//console.log(v);
|
|
683
682
|
const errors = [];
|
|
684
683
|
const warnings = [];
|
|
685
684
|
if (v && !(0, utils_1.isObject)(v)) {
|
|
@@ -69,6 +69,7 @@ export declare const USER_OTHER_EVENTS_STATE_CACHE_PREFIX_KEY = "_uOtherEvents_"
|
|
|
69
69
|
export declare const USER_PARTECIPANTS_EVENTS_STATE_CACHE_PREFIX_KEY = "_uPartecipantsEvents_";
|
|
70
70
|
export declare const USER_INVITED_EVENTS_STATE_CACHE_PREFIX_KEY = "_uInvitedEvents_";
|
|
71
71
|
export declare const USER_REQUESTS_EVENTS_STATE_CACHE_PREFIX_KEY = "_uRequestsEvents_";
|
|
72
|
+
export declare const EVENT_MEDIA_STATE_CACHE_PREFIX_KEY = "_eMedia_";
|
|
72
73
|
export declare const USER_CONNECTIONS_TOOLS_STATE_CACHE_PREFIX_KEY = "_uConWidget_";
|
|
73
74
|
export declare const USER_CONNECTIONS_REQUESTS_TOOLS_STATE_CACHE_PREFIX_KEY = "_uConReqWidget_";
|
|
74
75
|
export declare const USER_CONNECTIONS_REQUESTS_SENT_TOOLS_STATE_CACHE_PREFIX_KEY = "_uConReqSentWidget_";
|
|
@@ -73,6 +73,7 @@ export const USER_OTHER_EVENTS_STATE_CACHE_PREFIX_KEY = '_uOtherEvents_';
|
|
|
73
73
|
export const USER_PARTECIPANTS_EVENTS_STATE_CACHE_PREFIX_KEY = '_uPartecipantsEvents_';
|
|
74
74
|
export const USER_INVITED_EVENTS_STATE_CACHE_PREFIX_KEY = '_uInvitedEvents_';
|
|
75
75
|
export const USER_REQUESTS_EVENTS_STATE_CACHE_PREFIX_KEY = '_uRequestsEvents_';
|
|
76
|
+
export const EVENT_MEDIA_STATE_CACHE_PREFIX_KEY = '_eMedia_';
|
|
76
77
|
export const USER_CONNECTIONS_TOOLS_STATE_CACHE_PREFIX_KEY = '_uConWidget_';
|
|
77
78
|
export const USER_CONNECTIONS_REQUESTS_TOOLS_STATE_CACHE_PREFIX_KEY = '_uConReqWidget_';
|
|
78
79
|
export const USER_CONNECTIONS_REQUESTS_SENT_TOOLS_STATE_CACHE_PREFIX_KEY = '_uConReqSentWidget_';
|
|
@@ -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;
|
|
@@ -134,6 +134,8 @@ export declare const CONFIGURATIONS_EVENTS_ENABLED: string;
|
|
|
134
134
|
export declare const CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED: string;
|
|
135
135
|
export declare const CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED: string;
|
|
136
136
|
export declare const CONFIGURATIONS_EVENTS_PRIVATE_ENABLED: string;
|
|
137
|
+
export declare const CONFIGURATIONS_ONBOARDING_ENABLED: string;
|
|
138
|
+
export declare const CONFIGURATIONS_ONBOARDING_HIDDEN: string;
|
|
137
139
|
/**
|
|
138
140
|
* PROVIDERS
|
|
139
141
|
*/
|
|
@@ -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}`;
|
|
@@ -135,6 +135,8 @@ export const CONFIGURATIONS_EVENTS_ENABLED = `${SCPreferenceSection.CONFIGURATIO
|
|
|
135
135
|
export const CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.EVENTS_ONLY_STAFF_ENABLED}`;
|
|
136
136
|
export const CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.EVENTS_VISIBILITY_ENABLED}`;
|
|
137
137
|
export const CONFIGURATIONS_EVENTS_PRIVATE_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.EVENTS_PRIVATE_ENABLED}`;
|
|
138
|
+
export const CONFIGURATIONS_ONBOARDING_ENABLED = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.ONBOARDING_ENABLED}`;
|
|
139
|
+
export const CONFIGURATIONS_ONBOARDING_HIDDEN = `${SCPreferenceSection.CONFIGURATIONS}.${SCPreferenceName.ONBOARDING_HIDDEN}`;
|
|
138
140
|
/**
|
|
139
141
|
* PROVIDERS
|
|
140
142
|
*/
|
|
@@ -224,7 +226,7 @@ export const DATA_TYPES = {
|
|
|
224
226
|
[LOYALTY_PRIZE_A_IMAGE]: stringType,
|
|
225
227
|
[LOYALTY_PRIZE_B_IMAGE]: stringType,
|
|
226
228
|
[LOYALTY_PRIZE_C_IMAGE]: stringType,
|
|
227
|
-
[
|
|
229
|
+
[ADDONS_AFFINITY_ENABLED]: booleanType,
|
|
228
230
|
[ADDONS_CLOSED_COMMUNITY]: booleanType,
|
|
229
231
|
[ADDONS_INCUBATOR_ENABLED]: booleanType,
|
|
230
232
|
[ADDONS_INCUBATOR_SUBSCRIBERS]: integerType,
|
|
@@ -279,6 +281,8 @@ export const DATA_TYPES = {
|
|
|
279
281
|
[CONFIGURATIONS_EVENTS_ONLY_STAFF_ENABLED]: booleanType,
|
|
280
282
|
[CONFIGURATIONS_EVENTS_VISIBILITY_ENABLED]: booleanType,
|
|
281
283
|
[CONFIGURATIONS_EVENTS_PRIVATE_ENABLED]: booleanType,
|
|
284
|
+
[CONFIGURATIONS_ONBOARDING_ENABLED]: booleanType,
|
|
285
|
+
[CONFIGURATIONS_ONBOARDING_HIDDEN]: booleanType,
|
|
282
286
|
[PROVIDERS_APP_URL_ON_APP_STORE]: stringType,
|
|
283
287
|
[PROVIDERS_APP_URL_ON_GOOGLE_PLAY]: stringType,
|
|
284
288
|
[PROVIDERS_FACEBOOK_SIGNIN_ENABLED]: stringType,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { useEffect, useMemo, useState } from 'react';
|
|
2
|
-
import { SCOPE_SC_CORE } from '../constants/Errors';
|
|
3
|
-
import { SCEventPrivacyType, SCEventSubscriptionStatusType } from '@selfcommunity/types';
|
|
4
1
|
import { Endpoints, EventService, http } from '@selfcommunity/api-services';
|
|
2
|
+
import { SCEventPrivacyType, SCEventSubscriptionStatusType } from '@selfcommunity/types';
|
|
5
3
|
import { CacheStrategies, Logger, LRUCache, objectWithoutProperties } from '@selfcommunity/utils';
|
|
6
|
-
import {
|
|
4
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
7
5
|
import { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect';
|
|
8
6
|
import { useSCUser } from '../components/provider/SCUserProvider';
|
|
7
|
+
import { getEventObjectCacheKey } from '../constants/Cache';
|
|
8
|
+
import { SCOPE_SC_CORE } from '../constants/Errors';
|
|
9
9
|
/**
|
|
10
10
|
:::info
|
|
11
11
|
This custom hook is used to fetch an event object.
|
|
@@ -26,18 +26,39 @@ export default function useSCFetchEvent({ id = null, event = null, autoSubscribe
|
|
|
26
26
|
const __event = authUserId ? event : objectWithoutProperties(event, ['subscription_status']);
|
|
27
27
|
const [scEvent, setScEvent] = useState(cacheStrategy !== CacheStrategies.NETWORK_ONLY ? LRUCache.get(__eventCacheKey, __event) : null);
|
|
28
28
|
const [error, setError] = useState(null);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Memoized setSCEvent (auto-subscription if need it)
|
|
31
|
+
*/
|
|
32
|
+
const setSCEvent = useMemo(() => (e) => {
|
|
33
|
+
if (autoSubscribe &&
|
|
34
|
+
authUserId !== null &&
|
|
35
|
+
((e.privacy === SCEventPrivacyType.PUBLIC && !e.subscription_status) || e.subscription_status === SCEventSubscriptionStatusType.INVITED)) {
|
|
36
|
+
// Auto subscribe to the event
|
|
37
|
+
EventService.subscribeToEvent(e.id)
|
|
38
|
+
.then(() => {
|
|
39
|
+
const updatedEvent = Object.assign(Object.assign({}, e), { subscription_status: SCEventSubscriptionStatusType.SUBSCRIBED });
|
|
40
|
+
setScEvent(updatedEvent);
|
|
41
|
+
LRUCache.set(__eventCacheKey, updatedEvent);
|
|
42
|
+
})
|
|
43
|
+
.catch(() => {
|
|
44
|
+
const updatedEvent = authUserId ? e : objectWithoutProperties(e, ['subscription_status']);
|
|
45
|
+
setScEvent(updatedEvent);
|
|
46
|
+
LRUCache.set(__eventCacheKey, updatedEvent);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
const updatedEvent = authUserId ? e : objectWithoutProperties(e, ['subscription_status']);
|
|
51
|
+
setScEvent(updatedEvent);
|
|
52
|
+
LRUCache.set(__eventCacheKey, updatedEvent);
|
|
53
|
+
}
|
|
54
|
+
}, [autoSubscribe, authUserId, setScEvent]);
|
|
34
55
|
/**
|
|
35
56
|
* Memoized fetchTag
|
|
36
57
|
*/
|
|
37
|
-
const fetchEvent = useMemo(() => () => {
|
|
58
|
+
const fetchEvent = useMemo(() => (id) => {
|
|
38
59
|
return http
|
|
39
60
|
.request({
|
|
40
|
-
url: Endpoints.GetEventInfo.url({ id
|
|
61
|
+
url: Endpoints.GetEventInfo.url({ id }),
|
|
41
62
|
method: Endpoints.GetEventInfo.method,
|
|
42
63
|
})
|
|
43
64
|
.then((res) => {
|
|
@@ -46,26 +67,15 @@ export default function useSCFetchEvent({ id = null, event = null, autoSubscribe
|
|
|
46
67
|
}
|
|
47
68
|
return Promise.resolve(res.data);
|
|
48
69
|
});
|
|
49
|
-
}, [
|
|
70
|
+
}, []);
|
|
50
71
|
/**
|
|
51
72
|
* If id attempt to get the event by id
|
|
52
73
|
*/
|
|
53
74
|
useEffect(() => {
|
|
54
|
-
if (
|
|
55
|
-
fetchEvent()
|
|
56
|
-
.then((
|
|
57
|
-
|
|
58
|
-
authUserId !== null &&
|
|
59
|
-
((event.privacy === SCEventPrivacyType.PUBLIC && !event.subscription_status) || event.subscription_status === SCEventSubscriptionStatusType.INVITED)) {
|
|
60
|
-
// Auto subscribe to the event
|
|
61
|
-
EventService.subscribeToEvent(event.id).then(() => {
|
|
62
|
-
const updatedEvent = Object.assign(Object.assign({}, event), { subscription_status: SCEventSubscriptionStatusType.SUBSCRIBED });
|
|
63
|
-
setSCEvent(updatedEvent);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
setSCEvent(event);
|
|
68
|
-
}
|
|
75
|
+
if (id !== null && id !== undefined && !event) {
|
|
76
|
+
fetchEvent(id)
|
|
77
|
+
.then((e) => {
|
|
78
|
+
setSCEvent(e);
|
|
69
79
|
})
|
|
70
80
|
.catch((err) => {
|
|
71
81
|
LRUCache.delete(__eventCacheKey);
|
|
@@ -74,7 +84,7 @@ export default function useSCFetchEvent({ id = null, event = null, autoSubscribe
|
|
|
74
84
|
Logger.error(SCOPE_SC_CORE, err.message);
|
|
75
85
|
});
|
|
76
86
|
}
|
|
77
|
-
}, [
|
|
87
|
+
}, [id, event, authUserId]);
|
|
78
88
|
useDeepCompareEffectNoCheck(() => {
|
|
79
89
|
if (event) {
|
|
80
90
|
setSCEvent(event);
|
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;
|