@selfcommunity/react-core 0.4.50-events.97 → 0.4.50-events.99

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.
@@ -11,6 +11,7 @@ const SCPreferencesProvider_1 = require("../components/provider/SCPreferencesPro
11
11
  const Errors_1 = require("../constants/Errors");
12
12
  const Notification_1 = require("../constants/Notification");
13
13
  const useSCCachingManager_1 = tslib_1.__importDefault(require("./useSCCachingManager"));
14
+ const event_1 = require("../utils/event");
14
15
  /**
15
16
  :::info
16
17
  This custom hook is used to manage the events followed.
@@ -129,7 +130,7 @@ function useSCSubscribedEventsManager(user) {
129
130
  });
130
131
  }
131
132
  else {
132
- const requestConfig = !event.subscription_status
133
+ const requestConfig = !event.subscription_status || event.subscription_status === types_1.SCEventSubscriptionStatusType.INVITED
133
134
  ? {
134
135
  url: api_services_1.Endpoints.SubscribeToEvent.url({ id: event.id }),
135
136
  method: api_services_1.Endpoints.SubscribeToEvent.method,
@@ -148,11 +149,7 @@ function useSCSubscribedEventsManager(user) {
148
149
  return Promise.reject(res);
149
150
  }
150
151
  updateCache([event.id]);
151
- setData((prev) => getDataUpdated(prev, event.id, event.privacy === types_1.SCEventPrivacyType.PRIVATE && event.subscription_status !== types_1.SCEventSubscriptionStatusType.INVITED
152
- ? types_1.SCEventSubscriptionStatusType.REQUESTED
153
- : event.subscription_status === types_1.SCEventSubscriptionStatusType.GOING
154
- ? types_1.SCEventSubscriptionStatusType.SUBSCRIBED
155
- : types_1.SCEventSubscriptionStatusType.GOING));
152
+ setData((prev) => getDataUpdated(prev, event.id, (0, event_1.getEventStatus)(event, true)));
156
153
  setUnLoading(event.id);
157
154
  return Promise.resolve(res.data);
158
155
  });
@@ -179,9 +176,7 @@ function useSCSubscribedEventsManager(user) {
179
176
  return Promise.reject(res);
180
177
  }
181
178
  updateCache([event.id]);
182
- setData((prev) => getDataUpdated(prev, event.id, event.subscription_status === types_1.SCEventSubscriptionStatusType.NOT_GOING
183
- ? types_1.SCEventSubscriptionStatusType.SUBSCRIBED
184
- : types_1.SCEventSubscriptionStatusType.NOT_GOING));
179
+ setData((prev) => getDataUpdated(prev, event.id, (0, event_1.getEventStatus)(event, false)));
185
180
  setUnLoading(event.id);
186
181
  return Promise.resolve(res.data);
187
182
  });
@@ -76,6 +76,7 @@ import * as SCRoutes from './constants/Routes';
76
76
  import * as UserUtils from './utils/user';
77
77
  import getTheme from './themes/theme';
78
78
  import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect } from './utils/hooks';
79
+ import { getEventStatus } from './utils/event';
79
80
  /**
80
81
  * Constants:
81
82
  * Locale, Preferences
@@ -85,4 +86,4 @@ import * as Preferences from './constants/Preferences';
85
86
  /**
86
87
  * List all exports
87
88
  */
88
- 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, 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, 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
- exports.useSCFetchContributors = 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.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 = void 0;
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;
5
5
  const tslib_1 = require("tslib");
6
6
  /**
7
7
  * ContextProvider component
@@ -139,6 +139,8 @@ 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
+ const event_1 = require("./utils/event");
143
+ Object.defineProperty(exports, "getEventStatus", { enumerable: true, get: function () { return event_1.getEventStatus; } });
142
144
  /**
143
145
  * Constants:
144
146
  * Locale, Preferences
@@ -0,0 +1,8 @@
1
+ import { SCEventSubscriptionStatusType, SCEventType } from '@selfcommunity/types';
2
+ /**
3
+ * Get event status
4
+ * @returns status or null
5
+ * @param event
6
+ * @param going
7
+ */
8
+ export declare function getEventStatus(event: SCEventType, going: boolean): SCEventSubscriptionStatusType | null;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEventStatus = void 0;
4
+ const types_1 = require("@selfcommunity/types");
5
+ /**
6
+ * Get event status
7
+ * @returns status or null
8
+ * @param event
9
+ * @param going
10
+ */
11
+ function getEventStatus(event, going) {
12
+ const { subscription_status: status, privacy } = event;
13
+ if (!status) {
14
+ return privacy === types_1.SCEventPrivacyType.PRIVATE ? types_1.SCEventSubscriptionStatusType.REQUESTED : types_1.SCEventSubscriptionStatusType.SUBSCRIBED;
15
+ }
16
+ switch (status) {
17
+ case types_1.SCEventSubscriptionStatusType.INVITED:
18
+ case types_1.SCEventSubscriptionStatusType.GOING:
19
+ case types_1.SCEventSubscriptionStatusType.NOT_GOING:
20
+ return types_1.SCEventSubscriptionStatusType.SUBSCRIBED;
21
+ case types_1.SCEventSubscriptionStatusType.SUBSCRIBED:
22
+ return going ? types_1.SCEventSubscriptionStatusType.GOING : types_1.SCEventSubscriptionStatusType.NOT_GOING;
23
+ case types_1.SCEventSubscriptionStatusType.REQUESTED:
24
+ return privacy === types_1.SCEventPrivacyType.PRIVATE ? null : types_1.SCEventSubscriptionStatusType.SUBSCRIBED;
25
+ default:
26
+ return null;
27
+ }
28
+ }
29
+ exports.getEventStatus = getEventStatus;
@@ -1,5 +1,5 @@
1
1
  import { Endpoints, http } from '@selfcommunity/api-services';
2
- import { SCEventPrivacyType, SCEventSubscriptionStatusType, SCFeatureName, SCNotificationTopicType, SCNotificationTypologyType, } from '@selfcommunity/types';
2
+ import { SCEventSubscriptionStatusType, SCFeatureName, SCNotificationTopicType, SCNotificationTypologyType, } from '@selfcommunity/types';
3
3
  import { Logger } from '@selfcommunity/utils';
4
4
  import PubSub from 'pubsub-js';
5
5
  import { useEffect, useMemo, useRef } from 'react';
@@ -8,6 +8,7 @@ import { useSCPreferences } from '../components/provider/SCPreferencesProvider';
8
8
  import { SCOPE_SC_CORE } from '../constants/Errors';
9
9
  import { SCNotificationMapping } from '../constants/Notification';
10
10
  import useSCCachingManager from './useSCCachingManager';
11
+ import { getEventStatus } from '../utils/event';
11
12
  /**
12
13
  :::info
13
14
  This custom hook is used to manage the events followed.
@@ -126,7 +127,7 @@ export default function useSCSubscribedEventsManager(user) {
126
127
  });
127
128
  }
128
129
  else {
129
- const requestConfig = !event.subscription_status
130
+ const requestConfig = !event.subscription_status || event.subscription_status === SCEventSubscriptionStatusType.INVITED
130
131
  ? {
131
132
  url: Endpoints.SubscribeToEvent.url({ id: event.id }),
132
133
  method: Endpoints.SubscribeToEvent.method,
@@ -145,11 +146,7 @@ export default function useSCSubscribedEventsManager(user) {
145
146
  return Promise.reject(res);
146
147
  }
147
148
  updateCache([event.id]);
148
- setData((prev) => getDataUpdated(prev, event.id, event.privacy === SCEventPrivacyType.PRIVATE && event.subscription_status !== SCEventSubscriptionStatusType.INVITED
149
- ? SCEventSubscriptionStatusType.REQUESTED
150
- : event.subscription_status === SCEventSubscriptionStatusType.GOING
151
- ? SCEventSubscriptionStatusType.SUBSCRIBED
152
- : SCEventSubscriptionStatusType.GOING));
149
+ setData((prev) => getDataUpdated(prev, event.id, getEventStatus(event, true)));
153
150
  setUnLoading(event.id);
154
151
  return Promise.resolve(res.data);
155
152
  });
@@ -176,9 +173,7 @@ export default function useSCSubscribedEventsManager(user) {
176
173
  return Promise.reject(res);
177
174
  }
178
175
  updateCache([event.id]);
179
- setData((prev) => getDataUpdated(prev, event.id, event.subscription_status === SCEventSubscriptionStatusType.NOT_GOING
180
- ? SCEventSubscriptionStatusType.SUBSCRIBED
181
- : SCEventSubscriptionStatusType.NOT_GOING));
176
+ setData((prev) => getDataUpdated(prev, event.id, getEventStatus(event, false)));
182
177
  setUnLoading(event.id);
183
178
  return Promise.resolve(res.data);
184
179
  });
@@ -76,6 +76,7 @@ import * as SCRoutes from './constants/Routes';
76
76
  import * as UserUtils from './utils/user';
77
77
  import getTheme from './themes/theme';
78
78
  import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect } from './utils/hooks';
79
+ import { getEventStatus } from './utils/event';
79
80
  /**
80
81
  * Constants:
81
82
  * Locale, Preferences
@@ -85,4 +86,4 @@ import * as Preferences from './constants/Preferences';
85
86
  /**
86
87
  * List all exports
87
88
  */
88
- 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, 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, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, };
package/lib/esm/index.js CHANGED
@@ -72,6 +72,7 @@ import * as SCRoutes from './constants/Routes';
72
72
  import * as UserUtils from './utils/user';
73
73
  import getTheme from './themes/theme';
74
74
  import { useIsComponentMountedRef, usePreviousValue, useIsomorphicLayoutEffect, useEffectOnce, useNoInitialEffect } from './utils/hooks';
75
+ import { getEventStatus } from './utils/event';
75
76
  /**
76
77
  * Constants:
77
78
  * Locale, Preferences
@@ -81,4 +82,4 @@ import * as Preferences from './constants/Preferences';
81
82
  /**
82
83
  * List all exports
83
84
  */
84
- 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, 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, useSCFetchPrivateMessageSnippets, useSCFetchBroadcastMessages, useSCFetchUserBlockedBy, useSCUserIsBlocked, useSCFetchGroup, useSCFetchGroups, useSCFetchEvent, useSCFetchEvents, };
@@ -0,0 +1,8 @@
1
+ import { SCEventSubscriptionStatusType, SCEventType } from '@selfcommunity/types';
2
+ /**
3
+ * Get event status
4
+ * @returns status or null
5
+ * @param event
6
+ * @param going
7
+ */
8
+ export declare function getEventStatus(event: SCEventType, going: boolean): SCEventSubscriptionStatusType | null;
@@ -0,0 +1,25 @@
1
+ import { SCEventPrivacyType, SCEventSubscriptionStatusType } from '@selfcommunity/types';
2
+ /**
3
+ * Get event status
4
+ * @returns status or null
5
+ * @param event
6
+ * @param going
7
+ */
8
+ export function getEventStatus(event, going) {
9
+ const { subscription_status: status, privacy } = event;
10
+ if (!status) {
11
+ return privacy === SCEventPrivacyType.PRIVATE ? SCEventSubscriptionStatusType.REQUESTED : SCEventSubscriptionStatusType.SUBSCRIBED;
12
+ }
13
+ switch (status) {
14
+ case SCEventSubscriptionStatusType.INVITED:
15
+ case SCEventSubscriptionStatusType.GOING:
16
+ case SCEventSubscriptionStatusType.NOT_GOING:
17
+ return SCEventSubscriptionStatusType.SUBSCRIBED;
18
+ case SCEventSubscriptionStatusType.SUBSCRIBED:
19
+ return going ? SCEventSubscriptionStatusType.GOING : SCEventSubscriptionStatusType.NOT_GOING;
20
+ case SCEventSubscriptionStatusType.REQUESTED:
21
+ return privacy === SCEventPrivacyType.PRIVATE ? null : SCEventSubscriptionStatusType.SUBSCRIBED;
22
+ default:
23
+ return null;
24
+ }
25
+ }