@selfcommunity/react-core 0.4.0-alpha.4 → 0.4.0-alpha.41
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/components/provider/SCUserProvider/index.d.ts.map +1 -1
- package/lib/cjs/components/provider/SCUserProvider/index.js +6 -0
- package/lib/cjs/components/provider/SCUserProvider/index.js.map +1 -1
- package/lib/cjs/components/router/index.js +1 -1
- package/lib/cjs/constants/Cache.d.ts +23 -14
- package/lib/cjs/constants/Cache.d.ts.map +1 -1
- package/lib/cjs/constants/Cache.js +28 -16
- package/lib/cjs/constants/Cache.js.map +1 -1
- package/lib/cjs/constants/ContextProviders.js +2 -2
- package/lib/cjs/constants/ContextProviders.js.map +1 -1
- package/lib/cjs/constants/Features.d.ts +0 -42
- package/lib/cjs/constants/Features.d.ts.map +1 -1
- package/lib/cjs/constants/Features.js +1 -43
- package/lib/cjs/constants/Features.js.map +1 -1
- package/lib/cjs/constants/Notification.d.ts +8 -0
- package/lib/cjs/constants/Notification.d.ts.map +1 -1
- package/lib/cjs/constants/Notification.js +9 -1
- package/lib/cjs/constants/Notification.js.map +1 -1
- package/lib/cjs/constants/Notifications.d.ts +1 -0
- package/lib/cjs/constants/Notifications.d.ts.map +1 -1
- package/lib/cjs/constants/Notifications.js +2 -1
- package/lib/cjs/constants/Notifications.js.map +1 -1
- package/lib/cjs/constants/Preferences.d.ts +8 -0
- package/lib/cjs/constants/Preferences.d.ts.map +1 -1
- package/lib/cjs/constants/Preferences.js +11 -2
- package/lib/cjs/constants/Preferences.js.map +1 -1
- package/lib/cjs/constants/Routes.d.ts +1 -0
- package/lib/cjs/constants/Routes.d.ts.map +1 -1
- package/lib/cjs/constants/Routes.js +3 -1
- package/lib/cjs/constants/Routes.js.map +1 -1
- package/lib/cjs/hooks/useSCAuth.js +2 -2
- package/lib/cjs/hooks/useSCAuth.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchAddressingTagList.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchAddressingTagList.js +2 -25
- package/lib/cjs/hooks/useSCFetchAddressingTagList.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchCategory.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchCategory.js +13 -11
- package/lib/cjs/hooks/useSCFetchCategory.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchCommentObjects.d.ts +2 -2
- package/lib/cjs/hooks/useSCFetchCommentObjects.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchCommentObjects.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchContributors.d.ts +2 -2
- package/lib/cjs/hooks/useSCFetchContributors.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchContributors.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchFeed.js +1 -1
- package/lib/cjs/hooks/useSCFetchFeed.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchFeedObject.d.ts +3 -4
- package/lib/cjs/hooks/useSCFetchFeedObject.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchFeedObject.js +15 -9
- package/lib/cjs/hooks/useSCFetchFeedObject.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchIncubator.d.ts +4 -1
- package/lib/cjs/hooks/useSCFetchIncubator.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchIncubator.js +28 -7
- package/lib/cjs/hooks/useSCFetchIncubator.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchPrivateMessageSnippets.d.ts +26 -0
- package/lib/cjs/hooks/useSCFetchPrivateMessageSnippets.d.ts.map +1 -0
- package/lib/cjs/hooks/useSCFetchPrivateMessageSnippets.js +111 -0
- package/lib/cjs/hooks/useSCFetchPrivateMessageSnippets.js.map +1 -0
- package/lib/cjs/hooks/useSCFetchReactions.d.ts +1 -0
- package/lib/cjs/hooks/useSCFetchReactions.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchReactions.js +8 -31
- package/lib/cjs/hooks/useSCFetchReactions.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchUser.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFetchUser.js +9 -4
- package/lib/cjs/hooks/useSCFetchUser.js.map +1 -1
- package/lib/cjs/hooks/useSCFetchVote.d.ts +58 -0
- package/lib/cjs/hooks/useSCFetchVote.d.ts.map +1 -0
- package/lib/cjs/hooks/useSCFetchVote.js +208 -0
- package/lib/cjs/hooks/useSCFetchVote.js.map +1 -0
- package/lib/cjs/hooks/useSCFollowedCategoriesManager.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFollowedCategoriesManager.js +11 -7
- package/lib/cjs/hooks/useSCFollowedCategoriesManager.js.map +1 -1
- package/lib/cjs/hooks/useSCFollowedManager.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCFollowedManager.js +9 -6
- package/lib/cjs/hooks/useSCFollowedManager.js.map +1 -1
- package/lib/cjs/hooks/useSCSettingsManager.d.ts +23 -0
- package/lib/cjs/hooks/useSCSettingsManager.d.ts.map +1 -0
- package/lib/cjs/hooks/useSCSettingsManager.js +101 -0
- package/lib/cjs/hooks/useSCSettingsManager.js.map +1 -0
- package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.d.ts +10 -0
- package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.js +24 -22
- package/lib/cjs/hooks/useSCSubscribedIncubatorsManager.js.map +1 -1
- package/lib/cjs/hooks/useSCWebPushMessaging.d.ts +2 -0
- package/lib/cjs/hooks/useSCWebPushMessaging.d.ts.map +1 -1
- package/lib/cjs/hooks/useSCWebPushMessaging.js +124 -67
- package/lib/cjs/hooks/useSCWebPushMessaging.js.map +1 -1
- package/lib/cjs/index.d.ts +4 -2
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +6 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types/context.d.ts +24 -1
- package/lib/cjs/types/context.d.ts.map +1 -1
- package/lib/cjs/types/index.d.ts +2 -2
- package/lib/cjs/types/index.d.ts.map +1 -1
- package/lib/cjs/utils/validator.d.ts.map +1 -1
- package/lib/cjs/utils/validator.js +1 -2
- package/lib/cjs/utils/validator.js.map +1 -1
- package/lib/esm/components/provider/SCUserProvider/index.d.ts.map +1 -1
- package/lib/esm/components/provider/SCUserProvider/index.js +6 -0
- package/lib/esm/components/provider/SCUserProvider/index.js.map +1 -1
- package/lib/esm/components/router/index.js +1 -1
- package/lib/esm/constants/Cache.d.ts +23 -14
- package/lib/esm/constants/Cache.d.ts.map +1 -1
- package/lib/esm/constants/Cache.js +23 -14
- package/lib/esm/constants/Cache.js.map +1 -1
- package/lib/esm/constants/ContextProviders.js +2 -2
- package/lib/esm/constants/ContextProviders.js.map +1 -1
- package/lib/esm/constants/Features.d.ts +0 -42
- package/lib/esm/constants/Features.d.ts.map +1 -1
- package/lib/esm/constants/Features.js +0 -42
- package/lib/esm/constants/Features.js.map +1 -1
- package/lib/esm/constants/Notification.d.ts +8 -0
- package/lib/esm/constants/Notification.d.ts.map +1 -1
- package/lib/esm/constants/Notification.js +8 -0
- package/lib/esm/constants/Notification.js.map +1 -1
- package/lib/esm/constants/Notifications.d.ts +1 -0
- package/lib/esm/constants/Notifications.d.ts.map +1 -1
- package/lib/esm/constants/Notifications.js +1 -0
- package/lib/esm/constants/Notifications.js.map +1 -1
- package/lib/esm/constants/Preferences.d.ts +8 -0
- package/lib/esm/constants/Preferences.d.ts.map +1 -1
- package/lib/esm/constants/Preferences.js +8 -0
- package/lib/esm/constants/Preferences.js.map +1 -1
- package/lib/esm/constants/Routes.d.ts +1 -0
- package/lib/esm/constants/Routes.d.ts.map +1 -1
- package/lib/esm/constants/Routes.js +2 -0
- package/lib/esm/constants/Routes.js.map +1 -1
- package/lib/esm/hooks/useSCAuth.js +2 -2
- package/lib/esm/hooks/useSCAuth.js.map +1 -1
- package/lib/esm/hooks/useSCFetchAddressingTagList.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchAddressingTagList.js +3 -3
- package/lib/esm/hooks/useSCFetchAddressingTagList.js.map +1 -1
- package/lib/esm/hooks/useSCFetchCategory.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchCategory.js +15 -13
- package/lib/esm/hooks/useSCFetchCategory.js.map +1 -1
- package/lib/esm/hooks/useSCFetchCommentObjects.d.ts +2 -2
- package/lib/esm/hooks/useSCFetchCommentObjects.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchCommentObjects.js.map +1 -1
- package/lib/esm/hooks/useSCFetchContributors.d.ts +2 -2
- package/lib/esm/hooks/useSCFetchContributors.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchContributors.js.map +1 -1
- package/lib/esm/hooks/useSCFetchFeed.js +1 -1
- package/lib/esm/hooks/useSCFetchFeed.js.map +1 -1
- package/lib/esm/hooks/useSCFetchFeedObject.d.ts +3 -4
- package/lib/esm/hooks/useSCFetchFeedObject.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchFeedObject.js +12 -6
- package/lib/esm/hooks/useSCFetchFeedObject.js.map +1 -1
- package/lib/esm/hooks/useSCFetchIncubator.d.ts +4 -1
- package/lib/esm/hooks/useSCFetchIncubator.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchIncubator.js +29 -8
- package/lib/esm/hooks/useSCFetchIncubator.js.map +1 -1
- package/lib/esm/hooks/useSCFetchPrivateMessageSnippets.d.ts +26 -0
- package/lib/esm/hooks/useSCFetchPrivateMessageSnippets.d.ts.map +1 -0
- package/lib/esm/hooks/useSCFetchPrivateMessageSnippets.js +109 -0
- package/lib/esm/hooks/useSCFetchPrivateMessageSnippets.js.map +1 -0
- package/lib/esm/hooks/useSCFetchReactions.d.ts +1 -0
- package/lib/esm/hooks/useSCFetchReactions.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchReactions.js +9 -9
- package/lib/esm/hooks/useSCFetchReactions.js.map +1 -1
- package/lib/esm/hooks/useSCFetchUser.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFetchUser.js +10 -5
- package/lib/esm/hooks/useSCFetchUser.js.map +1 -1
- package/lib/esm/hooks/useSCFetchVote.d.ts +58 -0
- package/lib/esm/hooks/useSCFetchVote.d.ts.map +1 -0
- package/lib/esm/hooks/useSCFetchVote.js +202 -0
- package/lib/esm/hooks/useSCFetchVote.js.map +1 -0
- package/lib/esm/hooks/useSCFollowedCategoriesManager.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFollowedCategoriesManager.js +11 -7
- package/lib/esm/hooks/useSCFollowedCategoriesManager.js.map +1 -1
- package/lib/esm/hooks/useSCFollowedManager.d.ts.map +1 -1
- package/lib/esm/hooks/useSCFollowedManager.js +9 -6
- package/lib/esm/hooks/useSCFollowedManager.js.map +1 -1
- package/lib/esm/hooks/useSCSettingsManager.d.ts +23 -0
- package/lib/esm/hooks/useSCSettingsManager.d.ts.map +1 -0
- package/lib/esm/hooks/useSCSettingsManager.js +98 -0
- package/lib/esm/hooks/useSCSettingsManager.js.map +1 -0
- package/lib/esm/hooks/useSCSubscribedIncubatorsManager.d.ts +10 -0
- package/lib/esm/hooks/useSCSubscribedIncubatorsManager.d.ts.map +1 -1
- package/lib/esm/hooks/useSCSubscribedIncubatorsManager.js +24 -22
- package/lib/esm/hooks/useSCSubscribedIncubatorsManager.js.map +1 -1
- package/lib/esm/hooks/useSCWebPushMessaging.d.ts +2 -0
- package/lib/esm/hooks/useSCWebPushMessaging.d.ts.map +1 -1
- package/lib/esm/hooks/useSCWebPushMessaging.js +121 -67
- package/lib/esm/hooks/useSCWebPushMessaging.js.map +1 -1
- package/lib/esm/index.d.ts +4 -2
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +3 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types/context.d.ts +24 -1
- package/lib/esm/types/context.d.ts.map +1 -1
- package/lib/esm/types/index.d.ts +2 -2
- package/lib/esm/types/index.d.ts.map +1 -1
- package/lib/esm/utils/validator.d.ts.map +1 -1
- package/lib/esm/utils/validator.js +2 -3
- package/lib/esm/utils/validator.js.map +1 -1
- package/lib/umd/react-core.js +1 -1
- package/package.json +11 -10
|
@@ -6,7 +6,6 @@ const utils_1 = require("@selfcommunity/utils");
|
|
|
6
6
|
const Errors_1 = require("../constants/Errors");
|
|
7
7
|
const types_1 = require("@selfcommunity/types");
|
|
8
8
|
const use_deep_compare_effect_1 = require("use-deep-compare-effect");
|
|
9
|
-
const utils_2 = require("@selfcommunity/utils");
|
|
10
9
|
const Cache_1 = require("../constants/Cache");
|
|
11
10
|
/**
|
|
12
11
|
:::info
|
|
@@ -18,12 +17,12 @@ const Cache_1 = require("../constants/Cache");
|
|
|
18
17
|
* @param object.feedObjectType
|
|
19
18
|
* @param object.cacheStrategy
|
|
20
19
|
*/
|
|
21
|
-
function useSCFetchFeedObject({ id = null, feedObject = null, feedObjectType = types_1.
|
|
20
|
+
function useSCFetchFeedObject({ id = null, feedObject = null, feedObjectType = types_1.SCContributionType.POST || types_1.SCContributionType.DISCUSSION || types_1.SCContributionType.STATUS, cacheStrategy = utils_1.CacheStrategies.CACHE_FIRST, }) {
|
|
22
21
|
const __feedObjectId = feedObject ? feedObject.id : id;
|
|
23
22
|
const __feedObjectType = feedObject ? feedObject.type : feedObjectType;
|
|
24
23
|
// CACHE
|
|
25
24
|
const __feedObjectCacheKey = (0, Cache_1.getFeedObjectCacheKey)(__feedObjectId, __feedObjectType);
|
|
26
|
-
const [obj, setObj] = (0, react_1.useState)(cacheStrategy !==
|
|
25
|
+
const [obj, setObj] = (0, react_1.useState)(cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY ? utils_1.LRUCache.get(__feedObjectCacheKey, feedObject) : feedObject);
|
|
27
26
|
const [error, setError] = (0, react_1.useState)(null);
|
|
28
27
|
/**
|
|
29
28
|
* Memoized fetchFeedObject
|
|
@@ -49,10 +48,10 @@ function useSCFetchFeedObject({ id = null, feedObject = null, feedObjectType = t
|
|
|
49
48
|
fetchFeedObject()
|
|
50
49
|
.then((obj) => {
|
|
51
50
|
setObj(obj);
|
|
52
|
-
|
|
51
|
+
utils_1.LRUCache.set(__feedObjectCacheKey, obj);
|
|
53
52
|
})
|
|
54
53
|
.catch((err) => {
|
|
55
|
-
|
|
54
|
+
utils_1.LRUCache.delete(__feedObjectCacheKey);
|
|
56
55
|
setError(`FeedObject with id ${id} not found`);
|
|
57
56
|
utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, `FeedObject with id ${id} not found`);
|
|
58
57
|
utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, err.message);
|
|
@@ -61,16 +60,23 @@ function useSCFetchFeedObject({ id = null, feedObject = null, feedObjectType = t
|
|
|
61
60
|
}, [__feedObjectId, __feedObjectType]);
|
|
62
61
|
(0, use_deep_compare_effect_1.useDeepCompareEffectNoCheck)(() => {
|
|
63
62
|
if (feedObject) {
|
|
64
|
-
if (cacheStrategy ===
|
|
63
|
+
if (cacheStrategy === utils_1.CacheStrategies.NETWORK_ONLY) {
|
|
65
64
|
setObj(feedObject);
|
|
66
|
-
|
|
65
|
+
utils_1.LRUCache.set(__feedObjectCacheKey, feedObject);
|
|
67
66
|
}
|
|
68
67
|
else {
|
|
69
|
-
setObj(
|
|
68
|
+
setObj(utils_1.LRUCache.get(__feedObjectCacheKey, feedObject));
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
71
|
}, [feedObject]);
|
|
73
|
-
return {
|
|
72
|
+
return {
|
|
73
|
+
obj,
|
|
74
|
+
setObj: (newObj) => {
|
|
75
|
+
utils_1.LRUCache.set(__feedObjectCacheKey, newObj);
|
|
76
|
+
setObj(Object.assign({}, newObj));
|
|
77
|
+
},
|
|
78
|
+
error,
|
|
79
|
+
};
|
|
74
80
|
}
|
|
75
81
|
exports.default = useSCFetchFeedObject;
|
|
76
82
|
//# sourceMappingURL=useSCFetchFeedObject.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCFetchFeedObject.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchFeedObject.ts"],"names":[],"mappings":";;AAAA,iCAAmD;AACnD,8DAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"useSCFetchFeedObject.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchFeedObject.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { SCIncubatorType } from '@selfcommunity/types';
|
|
3
|
+
import { CacheStrategies } from '@selfcommunity/utils';
|
|
3
4
|
/**
|
|
4
5
|
:::info
|
|
5
6
|
This custom hook is used to fetch an incubator object.
|
|
@@ -7,10 +8,12 @@ import { SCIncubatorType } from '@selfcommunity/types';
|
|
|
7
8
|
* @param object
|
|
8
9
|
* @param object.id
|
|
9
10
|
* @param object.incubator
|
|
11
|
+
* @param object.cacheStrategy
|
|
10
12
|
*/
|
|
11
|
-
export default function useSCFetchIncubator({ id, incubator }: {
|
|
13
|
+
export default function useSCFetchIncubator({ id, incubator, cacheStrategy, }: {
|
|
12
14
|
id?: number;
|
|
13
15
|
incubator?: SCIncubatorType;
|
|
16
|
+
cacheStrategy?: CacheStrategies;
|
|
14
17
|
}): {
|
|
15
18
|
scIncubator: SCIncubatorType;
|
|
16
19
|
setSCIncubator: import("react").Dispatch<import("react").SetStateAction<SCIncubatorType>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCFetchIncubator.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchIncubator.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSCFetchIncubator.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchIncubator.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAC,eAAe,EAA4C,MAAM,sBAAsB,CAAC;AAMhG;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,EAAS,EACT,SAAgB,EAChB,aAA2C,GAC5C,EAAE;IACD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC;;;;EA8DA"}
|
|
@@ -4,6 +4,9 @@ const react_1 = require("react");
|
|
|
4
4
|
const Errors_1 = require("../constants/Errors");
|
|
5
5
|
const api_services_1 = require("@selfcommunity/api-services");
|
|
6
6
|
const utils_1 = require("@selfcommunity/utils");
|
|
7
|
+
const Cache_1 = require("../constants/Cache");
|
|
8
|
+
const use_deep_compare_effect_1 = require("use-deep-compare-effect");
|
|
9
|
+
const SCUserProvider_1 = require("../components/provider/SCUserProvider");
|
|
7
10
|
/**
|
|
8
11
|
:::info
|
|
9
12
|
This custom hook is used to fetch an incubator object.
|
|
@@ -11,9 +14,17 @@ const utils_1 = require("@selfcommunity/utils");
|
|
|
11
14
|
* @param object
|
|
12
15
|
* @param object.id
|
|
13
16
|
* @param object.incubator
|
|
17
|
+
* @param object.cacheStrategy
|
|
14
18
|
*/
|
|
15
|
-
function useSCFetchIncubator({ id = null, incubator = null }) {
|
|
16
|
-
const
|
|
19
|
+
function useSCFetchIncubator({ id = null, incubator = null, cacheStrategy = utils_1.CacheStrategies.CACHE_FIRST, }) {
|
|
20
|
+
const __incubatorId = incubator ? incubator.id : id;
|
|
21
|
+
// CONTEXT
|
|
22
|
+
const scUserContext = (0, SCUserProvider_1.useSCUser)();
|
|
23
|
+
const authUserId = scUserContext.user ? scUserContext.user.id : null;
|
|
24
|
+
// CACHE
|
|
25
|
+
const __incubatorCacheKey = (0, Cache_1.getIncubatorObjectCacheKey)(__incubatorId);
|
|
26
|
+
const __incubator = authUserId ? incubator : (0, utils_1.objectWithoutProperties)(incubator, ['subscribed']);
|
|
27
|
+
const [scIncubator, setSCIncubator] = (0, react_1.useState)(cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY ? utils_1.LRUCache.get(__incubatorCacheKey, __incubator) : null);
|
|
17
28
|
const [error, setError] = (0, react_1.useState)(null);
|
|
18
29
|
/**
|
|
19
30
|
* Memoized fetchIncubator
|
|
@@ -21,7 +32,7 @@ function useSCFetchIncubator({ id = null, incubator = null }) {
|
|
|
21
32
|
const fetchIncubator = (0, react_1.useMemo)(() => () => {
|
|
22
33
|
return api_services_1.http
|
|
23
34
|
.request({
|
|
24
|
-
url: api_services_1.Endpoints.GetASpecificIncubator.url({ id:
|
|
35
|
+
url: api_services_1.Endpoints.GetASpecificIncubator.url({ id: __incubatorId }),
|
|
25
36
|
method: api_services_1.Endpoints.GetASpecificIncubator.method,
|
|
26
37
|
})
|
|
27
38
|
.then((res) => {
|
|
@@ -30,23 +41,33 @@ function useSCFetchIncubator({ id = null, incubator = null }) {
|
|
|
30
41
|
}
|
|
31
42
|
return Promise.resolve(res.data);
|
|
32
43
|
});
|
|
33
|
-
}, [
|
|
44
|
+
}, [__incubatorId]);
|
|
34
45
|
/**
|
|
35
46
|
* If id resolve the obj
|
|
36
47
|
*/
|
|
37
48
|
(0, react_1.useEffect)(() => {
|
|
38
|
-
if (id) {
|
|
49
|
+
if (__incubatorId && (!scIncubator || (scIncubator && __incubatorId !== scIncubator.id))) {
|
|
39
50
|
fetchIncubator()
|
|
40
51
|
.then((obj) => {
|
|
41
|
-
|
|
52
|
+
const _i = authUserId ? obj : (0, utils_1.objectWithoutProperties)(obj, ['subscribed']);
|
|
53
|
+
setSCIncubator(_i);
|
|
54
|
+
utils_1.LRUCache.set(__incubatorCacheKey, _i);
|
|
42
55
|
})
|
|
43
56
|
.catch((err) => {
|
|
57
|
+
utils_1.LRUCache.delete(__incubatorCacheKey);
|
|
44
58
|
setError(`Incubator with id ${id} not found`);
|
|
45
59
|
utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, `Incubator with id ${id} not found`);
|
|
46
60
|
utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, err.message);
|
|
47
61
|
});
|
|
48
62
|
}
|
|
49
|
-
}, [
|
|
63
|
+
}, [__incubatorId]);
|
|
64
|
+
(0, use_deep_compare_effect_1.useDeepCompareEffectNoCheck)(() => {
|
|
65
|
+
if (incubator) {
|
|
66
|
+
const _i = authUserId ? incubator : (0, utils_1.objectWithoutProperties)(incubator, ['subscribed']);
|
|
67
|
+
setSCIncubator(_i);
|
|
68
|
+
utils_1.LRUCache.set(__incubatorCacheKey, _i);
|
|
69
|
+
}
|
|
70
|
+
}, [incubator]);
|
|
50
71
|
return { scIncubator, setSCIncubator, error };
|
|
51
72
|
}
|
|
52
73
|
exports.default = useSCFetchIncubator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCFetchIncubator.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchIncubator.ts"],"names":[],"mappings":";;AAAA,iCAAmD;AACnD,gDAAkD;AAElD,8DAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"useSCFetchIncubator.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchIncubator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { SCPrivateMessageSnippetType } from '@selfcommunity/types';
|
|
2
|
+
import { CacheStrategies } from '@selfcommunity/utils';
|
|
3
|
+
/**
|
|
4
|
+
:::info
|
|
5
|
+
This custom hook is used to fetch snippets.
|
|
6
|
+
@param object.cacheStrategy
|
|
7
|
+
|
|
8
|
+
:::tipContext can be consumed in this way:
|
|
9
|
+
|
|
10
|
+
```jsx
|
|
11
|
+
const {snippets, isLoading} = useSCFetchPrivateMessageSnippets();
|
|
12
|
+
```
|
|
13
|
+
:::
|
|
14
|
+
* @param props
|
|
15
|
+
*/
|
|
16
|
+
declare const useSCFetchPrivateMessageSnippets: (props?: {
|
|
17
|
+
cacheStrategy?: CacheStrategies;
|
|
18
|
+
}) => {
|
|
19
|
+
data: {
|
|
20
|
+
snippets: SCPrivateMessageSnippetType[];
|
|
21
|
+
isLoading: boolean;
|
|
22
|
+
};
|
|
23
|
+
updateSnippets: (updatedData: any) => void;
|
|
24
|
+
};
|
|
25
|
+
export default useSCFetchPrivateMessageSnippets;
|
|
26
|
+
//# sourceMappingURL=useSCFetchPrivateMessageSnippets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSCFetchPrivateMessageSnippets.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchPrivateMessageSnippets.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,2BAA2B,EAAC,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAuBvE;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,gCAAgC,WAAY;IAAC,aAAa,CAAC,EAAE,eAAe,CAAA;CAAC;;kBASrC,2BAA2B,EAAE;mBAAa,OAAO;;;CAmE9F,CAAC;AAEF,eAAe,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const react_1 = require("react");
|
|
13
|
+
const Errors_1 = require("../constants/Errors");
|
|
14
|
+
const api_services_1 = require("@selfcommunity/api-services");
|
|
15
|
+
const utils_1 = require("@selfcommunity/utils");
|
|
16
|
+
const Cache_1 = require("../constants/Cache");
|
|
17
|
+
const SCUserProvider_1 = require("../components/provider/SCUserProvider");
|
|
18
|
+
const init = { snippets: [], isLoading: true };
|
|
19
|
+
// HYDRATE the cache
|
|
20
|
+
const hydrate = (ids) => {
|
|
21
|
+
if (!ids) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
const snippets = ids.map((id) => {
|
|
25
|
+
const __snippetCacheKey = (0, Cache_1.getPmSnippetObjectCacheKey)(id);
|
|
26
|
+
return utils_1.LRUCache.get(__snippetCacheKey);
|
|
27
|
+
});
|
|
28
|
+
if (snippets.filter((c) => !c).length > 0) {
|
|
29
|
+
// REVALIDATE CACHE
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
return snippets;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
:::info
|
|
36
|
+
This custom hook is used to fetch snippets.
|
|
37
|
+
@param object.cacheStrategy
|
|
38
|
+
|
|
39
|
+
:::tipContext can be consumed in this way:
|
|
40
|
+
|
|
41
|
+
```jsx
|
|
42
|
+
const {snippets, isLoading} = useSCFetchPrivateMessageSnippets();
|
|
43
|
+
```
|
|
44
|
+
:::
|
|
45
|
+
* @param props
|
|
46
|
+
*/
|
|
47
|
+
const useSCFetchPrivateMessageSnippets = (props) => {
|
|
48
|
+
// PROPS
|
|
49
|
+
const { cacheStrategy = utils_1.CacheStrategies.CACHE_FIRST } = props || {};
|
|
50
|
+
// CACHE
|
|
51
|
+
const __snippetsCacheKey = (0, Cache_1.getPmSnippetsObjectCacheKey)();
|
|
52
|
+
// STATE
|
|
53
|
+
const snippets = cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY ? hydrate(utils_1.LRUCache.get(__snippetsCacheKey, null)) : null;
|
|
54
|
+
const [data, setData] = (0, react_1.useState)(snippets !== null ? { snippets, isLoading: false } : init);
|
|
55
|
+
// HOOKS
|
|
56
|
+
const scUserContext = (0, SCUserProvider_1.useSCUser)();
|
|
57
|
+
/**
|
|
58
|
+
* Fetch snippets
|
|
59
|
+
*/
|
|
60
|
+
const fetchSnippets = (next = api_services_1.Endpoints.GetSnippets.url()) => __awaiter(void 0, void 0, void 0, function* () {
|
|
61
|
+
const response = yield api_services_1.http.request({
|
|
62
|
+
url: next,
|
|
63
|
+
method: api_services_1.Endpoints.GetSnippets.method,
|
|
64
|
+
});
|
|
65
|
+
const data = response.data;
|
|
66
|
+
if (data.next) {
|
|
67
|
+
return data.results.concat(yield fetchSnippets(data.next));
|
|
68
|
+
}
|
|
69
|
+
return data.results;
|
|
70
|
+
});
|
|
71
|
+
/**
|
|
72
|
+
* Get snippets
|
|
73
|
+
*/
|
|
74
|
+
(0, react_1.useEffect)(() => {
|
|
75
|
+
if (cacheStrategy === utils_1.CacheStrategies.CACHE_FIRST && snippets) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
scUserContext.user &&
|
|
79
|
+
fetchSnippets()
|
|
80
|
+
.then((data) => {
|
|
81
|
+
setData({ snippets: data, isLoading: false });
|
|
82
|
+
utils_1.LRUCache.set(__snippetsCacheKey, data.map((snippet) => {
|
|
83
|
+
const __snippetCacheKey = (0, Cache_1.getPmSnippetObjectCacheKey)(snippet.id);
|
|
84
|
+
utils_1.LRUCache.set(__snippetCacheKey, snippet);
|
|
85
|
+
return snippet.id;
|
|
86
|
+
}));
|
|
87
|
+
})
|
|
88
|
+
.catch((error) => {
|
|
89
|
+
console.log(error);
|
|
90
|
+
utils_1.Logger.error(Errors_1.SCOPE_SC_CORE, 'Unable to retrieve snippets');
|
|
91
|
+
});
|
|
92
|
+
}, [scUserContext]);
|
|
93
|
+
/**
|
|
94
|
+
* Updated snippets list
|
|
95
|
+
* @param updatedData
|
|
96
|
+
*/
|
|
97
|
+
const updateSnippets = (updatedData) => {
|
|
98
|
+
if (updatedData) {
|
|
99
|
+
setData({ snippets: updatedData, isLoading: false });
|
|
100
|
+
//cache update
|
|
101
|
+
utils_1.LRUCache.set(__snippetsCacheKey, updatedData.map((snippet) => {
|
|
102
|
+
const __snippetCacheKey = (0, Cache_1.getPmSnippetObjectCacheKey)(snippet.id);
|
|
103
|
+
utils_1.LRUCache.set(__snippetCacheKey, snippet);
|
|
104
|
+
return snippet.id;
|
|
105
|
+
}));
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
return { data, updateSnippets };
|
|
109
|
+
};
|
|
110
|
+
exports.default = useSCFetchPrivateMessageSnippets;
|
|
111
|
+
//# sourceMappingURL=useSCFetchPrivateMessageSnippets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSCFetchPrivateMessageSnippets.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchPrivateMessageSnippets.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCFetchReactions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchReactions.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"useSCFetchReactions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchReactions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAwBvE;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,mBAAmB,WAAY;IAAC,aAAa,CAAC,EAAE,eAAe,CAAA;CAAC;aAYzB,cAAc;eAAa,cAAc,EAAE;eAAa,OAAO;CAgD3G,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,27 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -34,12 +11,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
34
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
12
|
const react_1 = require("react");
|
|
36
13
|
const Errors_1 = require("../constants/Errors");
|
|
14
|
+
const types_1 = require("@selfcommunity/types");
|
|
37
15
|
const api_services_1 = require("@selfcommunity/api-services");
|
|
38
16
|
const utils_1 = require("@selfcommunity/utils");
|
|
39
17
|
const Cache_1 = require("../constants/Cache");
|
|
40
18
|
const SCPreferencesProvider_1 = require("../components/provider/SCPreferencesProvider");
|
|
41
|
-
const
|
|
42
|
-
const init = { reactions: [], isLoading: true };
|
|
19
|
+
const init = { default: null, reactions: [], isLoading: true };
|
|
43
20
|
// HYDRATE the cache
|
|
44
21
|
const hydrate = (ids) => {
|
|
45
22
|
if (!ids) {
|
|
@@ -74,10 +51,10 @@ const useSCFetchReactions = (props) => {
|
|
|
74
51
|
// PROPS
|
|
75
52
|
const { cacheStrategy = utils_1.CacheStrategies.CACHE_FIRST } = props || {};
|
|
76
53
|
// CACHE
|
|
77
|
-
const
|
|
54
|
+
const __reactionsCacheKey = (0, Cache_1.getReactionsObjectCacheKey)();
|
|
78
55
|
// STATE
|
|
79
|
-
const reactions = cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY ? hydrate(utils_1.LRUCache.get(
|
|
80
|
-
const [data, setData] = (0, react_1.useState)(reactions !== null ? { reactions, isLoading: false } : init);
|
|
56
|
+
const reactions = cacheStrategy !== utils_1.CacheStrategies.NETWORK_ONLY ? hydrate(utils_1.LRUCache.get(__reactionsCacheKey, null)) : null;
|
|
57
|
+
const [data, setData] = (0, react_1.useState)(reactions !== null ? { default: reactions.find((reaction) => reaction.id === 1), reactions, isLoading: false } : init);
|
|
81
58
|
/**
|
|
82
59
|
* Fetch reactions
|
|
83
60
|
*/
|
|
@@ -99,13 +76,13 @@ const useSCFetchReactions = (props) => {
|
|
|
99
76
|
if (cacheStrategy === utils_1.CacheStrategies.CACHE_FIRST && reactions) {
|
|
100
77
|
return;
|
|
101
78
|
}
|
|
102
|
-
if (!scPreferences.features.includes(
|
|
79
|
+
if (!scPreferences.features.includes(types_1.SCFeatureName.REACTION)) {
|
|
103
80
|
return;
|
|
104
81
|
}
|
|
105
82
|
fetchReactions()
|
|
106
83
|
.then((data) => {
|
|
107
|
-
setData({ reactions: data, isLoading: false });
|
|
108
|
-
utils_1.LRUCache.set(
|
|
84
|
+
setData({ reactions: data, isLoading: false, default: data.find((reaction) => reaction.id === 1) });
|
|
85
|
+
utils_1.LRUCache.set(__reactionsCacheKey, data.map((r) => {
|
|
109
86
|
const __categoryCacheKey = (0, Cache_1.getReactionObjectCacheKey)(r.id);
|
|
110
87
|
utils_1.LRUCache.set(__categoryCacheKey, r);
|
|
111
88
|
return r.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCFetchReactions.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchReactions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSCFetchReactions.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchReactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCFetchUser.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchUser.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSCFetchUser.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchUser.ts"],"names":[],"mappings":";AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAMhD;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAAC,EAAS,EAAE,IAAW,EAAC,EAAE;IAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAAC;;;;EAkDzG"}
|
|
@@ -4,6 +4,7 @@ const react_1 = require("react");
|
|
|
4
4
|
const Errors_1 = require("../constants/Errors");
|
|
5
5
|
const api_services_1 = require("@selfcommunity/api-services");
|
|
6
6
|
const utils_1 = require("@selfcommunity/utils");
|
|
7
|
+
const SCUserProvider_1 = require("../components/provider/SCUserProvider");
|
|
7
8
|
/**
|
|
8
9
|
:::info
|
|
9
10
|
This custom hook is used to fetch a user object.
|
|
@@ -13,7 +14,11 @@ const utils_1 = require("@selfcommunity/utils");
|
|
|
13
14
|
* @param object.user
|
|
14
15
|
*/
|
|
15
16
|
function useSCFetchUser({ id = null, user = null }) {
|
|
16
|
-
|
|
17
|
+
// CONTEXT
|
|
18
|
+
const scUserContext = (0, SCUserProvider_1.useSCUser)();
|
|
19
|
+
const authUserId = scUserContext.user ? scUserContext.user.id : null;
|
|
20
|
+
const __user = authUserId ? user : (0, utils_1.objectWithoutProperties)(user, ['connection_status']);
|
|
21
|
+
const [scUser, setSCUser] = (0, react_1.useState)(__user);
|
|
17
22
|
const [error, setError] = (0, react_1.useState)(null);
|
|
18
23
|
/**
|
|
19
24
|
* Memoized fetchUser
|
|
@@ -38,7 +43,7 @@ function useSCFetchUser({ id = null, user = null }) {
|
|
|
38
43
|
if (id) {
|
|
39
44
|
fetchUser()
|
|
40
45
|
.then((obj) => {
|
|
41
|
-
setSCUser(obj);
|
|
46
|
+
setSCUser(authUserId ? obj : (0, utils_1.objectWithoutProperties)(obj, ['connection_status']));
|
|
42
47
|
})
|
|
43
48
|
.catch((err) => {
|
|
44
49
|
setError(`User with id ${id} not found`);
|
|
@@ -47,9 +52,9 @@ function useSCFetchUser({ id = null, user = null }) {
|
|
|
47
52
|
});
|
|
48
53
|
}
|
|
49
54
|
else {
|
|
50
|
-
setSCUser(
|
|
55
|
+
setSCUser(__user);
|
|
51
56
|
}
|
|
52
|
-
}, [id,
|
|
57
|
+
}, [id, __user]);
|
|
53
58
|
return { scUser, setSCUser, error };
|
|
54
59
|
}
|
|
55
60
|
exports.default = useSCFetchUser;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSCFetchUser.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchUser.ts"],"names":[],"mappings":";;AAAA,iCAAmD;AACnD,gDAAkD;AAElD,8DAA0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"useSCFetchUser.js","sourceRoot":"","sources":["../../../src/hooks/useSCFetchUser.ts"],"names":[],"mappings":";;AAAA,iCAAmD;AACnD,gDAAkD;AAElD,8DAA0E;AAC1E,gDAAqE;AACrE,0EAAgE;AAGhE;;;;;;;GAOG;AACH,SAAwB,cAAc,CAAC,EAAC,EAAE,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAA4C;IACxG,UAAU;IACV,MAAM,aAAa,GAAsB,IAAA,0BAAS,GAAE,CAAC;IACrD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErE,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,+BAAuB,EAAa,IAAI,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAEpG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAa,MAAM,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAS,IAAI,CAAC,CAAC;IAEjD;;OAEG;IACH,MAAM,SAAS,GAAG,IAAA,eAAO,EACvB,GAAG,EAAE,CAAC,GAAG,EAAE;QACT,OAAO,mBAAI;aACR,OAAO,CAAC;YACP,GAAG,EAAE,wBAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC;YACjC,MAAM,EAAE,wBAAS,CAAC,IAAI,CAAC,MAAM;SAC9B,CAAC;aACD,IAAI,CAAC,CAAC,GAA6B,EAAE,EAAE;YACtC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;gBACrB,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,EAAE,CAAC,CACL,CAAC;IAEF;;OAEG;IACH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,EAAE,EAAE;YACN,SAAS,EAAE;iBACR,IAAI,CAAC,CAAC,GAAe,EAAE,EAAE;gBACxB,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,+BAAuB,EAAa,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAChG,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBACzC,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBAC5D,cAAM,CAAC,KAAK,CAAC,sBAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;aAAM;YACL,SAAS,CAAC,MAAM,CAAC,CAAC;SACnB;IACH,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAEjB,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC;AACpC,CAAC;AAlDD,iCAkDC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { CacheStrategies } from '@selfcommunity/utils';
|
|
2
|
+
import { SCCommentType, SCContributionType, SCFeedObjectType, SCReactionType, SCVoteType } from '@selfcommunity/types';
|
|
3
|
+
interface FetchVoteProps {
|
|
4
|
+
/**
|
|
5
|
+
* Id of the contribution object to vote
|
|
6
|
+
* @default null
|
|
7
|
+
*/
|
|
8
|
+
id: number;
|
|
9
|
+
/**
|
|
10
|
+
* Type of the contribution object to vote
|
|
11
|
+
* @default null
|
|
12
|
+
*/
|
|
13
|
+
contributionType: SCContributionType;
|
|
14
|
+
/**
|
|
15
|
+
* Contribution object to vote
|
|
16
|
+
* @default null
|
|
17
|
+
*/
|
|
18
|
+
contribution?: SCFeedObjectType | SCCommentType | null;
|
|
19
|
+
/**
|
|
20
|
+
* onVote callback
|
|
21
|
+
* @default null
|
|
22
|
+
*/
|
|
23
|
+
onVote?: (contribution: SCFeedObjectType | SCCommentType) => any;
|
|
24
|
+
/**
|
|
25
|
+
* Cache strategy
|
|
26
|
+
* @default CACHE_FIRST
|
|
27
|
+
* */
|
|
28
|
+
cacheStrategy?: CacheStrategies;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
:::info
|
|
32
|
+
This custom hook is used to fetch a contribution vote.
|
|
33
|
+
:::
|
|
34
|
+
*/
|
|
35
|
+
export default function useSCFetchVote({ id, contribution, contributionType, onVote, cacheStrategy, }: FetchVoteProps): {
|
|
36
|
+
isLoading: boolean;
|
|
37
|
+
isVoting: boolean;
|
|
38
|
+
handleVote: (reaction?: SCReactionType) => void;
|
|
39
|
+
reactions: {
|
|
40
|
+
default: SCReactionType;
|
|
41
|
+
reactions: SCReactionType[];
|
|
42
|
+
isLoading: boolean;
|
|
43
|
+
};
|
|
44
|
+
error: string;
|
|
45
|
+
handleFetchVoteList: ({ reaction, reset }: {
|
|
46
|
+
reaction?: SCReactionType;
|
|
47
|
+
reset?: boolean;
|
|
48
|
+
}) => void;
|
|
49
|
+
voteList: SCVoteType[];
|
|
50
|
+
isLoadingVoteList: boolean;
|
|
51
|
+
voteListHasNext: boolean;
|
|
52
|
+
contributionVoted: boolean;
|
|
53
|
+
contributionVoteCount: number;
|
|
54
|
+
contributionReaction: SCReactionType;
|
|
55
|
+
contributionReactionsCount: [];
|
|
56
|
+
};
|
|
57
|
+
export {};
|
|
58
|
+
//# sourceMappingURL=useSCFetchVote.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSCFetchVote.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSCFetchVote.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAmB,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EACL,aAAa,EACb,kBAAkB,EAElB,gBAAgB,EAGhB,cAAc,EAEd,UAAU,EACX,MAAM,sBAAsB,CAAC;AAU9B,UAAU,cAAc;IACtB;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;OAGG;IACH,gBAAgB,EAAE,kBAAkB,CAAC;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,gBAAgB,GAAG,aAAa,GAAG,IAAI,CAAC;IAEvD;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,gBAAgB,GAAG,aAAa,KAAK,GAAG,CAAC;IACjE;;;SAGK;IACL,aAAa,CAAC,EAAE,eAAe,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,EAAE,EACF,YAAmB,EACnB,gBAAgB,EAChB,MAAa,EACb,aAA2C,GAC5C,EAAE,cAAc;;;4BA+FgB,cAAc;;;;;;;;mBAqE8B,cAAc;gBAAU,OAAO;;;;;;;;;EA4C3G"}
|