@ludo.ninja/components 2.3.95 → 2.3.97
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/build/api/server-experiences/queries/useFetchMyExperience/index.d.ts +2 -0
- package/build/api/server-experiences/queries/{useFetchMyExperienceWithLevel → useFetchMyExperience}/index.js +4 -7
- package/build/components/headers/header/index.js +2 -2
- package/build/components/headers/headerSearch/index.js +1 -2
- package/build/components/sidebar/sidebarInviteCodeLabel/index.js +9 -9
- package/build/layouts/GlobalLayout.js +2 -3
- package/build/modules/user/profileData/profileDataInitialization.js +2 -5
- package/build/modules/user/store.d.ts +5 -2
- package/build/modules/user/store.js +3 -3
- package/package.json +2 -2
- package/build/api/server-experiences/queries/useFetchMyExperienceWithLevel/index.d.ts +0 -2
- package/build/api/subscriptions/SubscriberInviteNotification.d.ts +0 -1
- package/build/api/subscriptions/SubscriberInviteNotification.js +0 -53
- package/build/api/subscriptions/SubscriberOpportunityNotification.d.ts +0 -1
- package/build/api/subscriptions/SubscriberOpportunityNotification.js +0 -75
|
@@ -6,7 +6,7 @@ const api_1 = require("@ludo.ninja/api");
|
|
|
6
6
|
const store_1 = require("../../../../modules/user/store");
|
|
7
7
|
const ui_1 = require("../../../../store/ui");
|
|
8
8
|
const getErrorAlertProps_1 = require("../../../../utils/getErrorAlertProps");
|
|
9
|
-
const
|
|
9
|
+
const useFetchMyExperience = () => {
|
|
10
10
|
const { isSignedIn, setUserExp, resetUserExp, setErrorExp, setIsLoadingExp, } = (0, store_1.useUserStore)((state) => ({
|
|
11
11
|
user: state.user,
|
|
12
12
|
isSignedIn: state.isSignedIn,
|
|
@@ -18,17 +18,14 @@ const useFetchMyExperienceWithLevel = () => {
|
|
|
18
18
|
const { openAlert } = (0, ui_1.useUiStore)((state) => ({
|
|
19
19
|
openAlert: state.openAlert
|
|
20
20
|
}));
|
|
21
|
-
const [fetchExp] = (0, client_1.useLazyQuery)(api_1.experiencesSchema.
|
|
21
|
+
const [fetchExp] = (0, client_1.useLazyQuery)(api_1.experiencesSchema.FetchMyExperienceDocument, {
|
|
22
22
|
context: {
|
|
23
23
|
uri: api_1.hosts.experiencesHost,
|
|
24
24
|
},
|
|
25
|
-
onCompleted: ({
|
|
25
|
+
onCompleted: ({ fetchMyExperience: xps }) => {
|
|
26
26
|
setIsLoadingExp(false);
|
|
27
27
|
setUserExp({
|
|
28
28
|
xps,
|
|
29
|
-
level,
|
|
30
|
-
levelMaxXps,
|
|
31
|
-
levelMinXps,
|
|
32
29
|
});
|
|
33
30
|
},
|
|
34
31
|
onError: (err) => {
|
|
@@ -45,4 +42,4 @@ const useFetchMyExperienceWithLevel = () => {
|
|
|
45
42
|
}
|
|
46
43
|
}, [isSignedIn]);
|
|
47
44
|
};
|
|
48
|
-
exports.default =
|
|
45
|
+
exports.default = useFetchMyExperience;
|
|
@@ -13,7 +13,7 @@ const ui_1 = require("../../../store/ui");
|
|
|
13
13
|
const auth_1 = require("../../../utils/auth");
|
|
14
14
|
const ludoDomains_1 = require("@ludo.ninja/core/build/ludoDomains");
|
|
15
15
|
const env_1 = require("../../../store/env");
|
|
16
|
-
|
|
16
|
+
// import HeaderStreak from "@/components/headers/components/headerStreak";
|
|
17
17
|
// Component
|
|
18
18
|
const Header = () => {
|
|
19
19
|
const isSignedIn = (0, store_1.useUserStore)((state) => state.isSignedIn);
|
|
@@ -27,7 +27,7 @@ const Header = () => {
|
|
|
27
27
|
openSidebar,
|
|
28
28
|
}, slots: {
|
|
29
29
|
headerExpLabel: ((0, jsx_runtime_1.jsx)(headerExperienceLabel_1.default, { userId: getUser?.userId || "" })),
|
|
30
|
-
headerDaysStreak:
|
|
30
|
+
// headerDaysStreak: <HeaderStreak tooltipPosition={'bottom'} />,
|
|
31
31
|
headerUserPick: (0, jsx_runtime_1.jsx)(headerUserPic_1.default, { userId: getUser?.userId || "" }),
|
|
32
32
|
logoLinkComponent: ({ children }) => (0, jsx_runtime_1.jsx)(link_1.default, { href: ludoDomains_1.ludoDomains[NEXT_PUBLIC_ENV_VALUE][isProd() ? "profile" : "app"], children: children }),
|
|
33
33
|
} }));
|
|
@@ -13,7 +13,6 @@ const ui_1 = require("../../../store/ui");
|
|
|
13
13
|
const auth_1 = require("../../../utils/auth");
|
|
14
14
|
const ludoDomains_1 = require("@ludo.ninja/core/build/ludoDomains");
|
|
15
15
|
const header_1 = require("@ludo.ninja/ui/build/components/header");
|
|
16
|
-
const headerStreak_1 = __importDefault(require("../components/headerStreak"));
|
|
17
16
|
// Component
|
|
18
17
|
const HeaderSearch = ({ showXP = true }) => {
|
|
19
18
|
const openSidebar = (0, ui_1.useUiStore)((state) => state.openSidebar);
|
|
@@ -28,7 +27,7 @@ const HeaderSearch = ({ showXP = true }) => {
|
|
|
28
27
|
}, slots: {
|
|
29
28
|
...(showXP ? {
|
|
30
29
|
headerExpLabel: (0, jsx_runtime_1.jsx)(headerExperienceLabel_1.default, { userId: getUser?.userId || "" }),
|
|
31
|
-
headerDaysStreak:
|
|
30
|
+
// headerDaysStreak: <HeaderStreak tooltipPosition={'bottom'} hideOnTablet={!isProd()} />
|
|
32
31
|
} : {}),
|
|
33
32
|
headerUserPick: (0, jsx_runtime_1.jsx)(headerUserPic_1.default, { userId: getUser?.userId || "" }),
|
|
34
33
|
logoLinkComponent: ({ children }) => ((0, jsx_runtime_1.jsx)("a", { href: ludoDomains_1.ludoDomains[NEXT_PUBLIC_ENV_VALUE][isProd() ? "profile" : "app"], children: children })),
|
|
@@ -12,7 +12,7 @@ const ExperienceLabel_1 = __importDefault(require("../../../system/Labels/Experi
|
|
|
12
12
|
const InviteLabel_1 = __importDefault(require("../../../system/Labels/InviteLabel"));
|
|
13
13
|
const env_1 = require("../../../store/env");
|
|
14
14
|
const ludoDomains_1 = require("@ludo.ninja/core/build/ludoDomains");
|
|
15
|
-
|
|
15
|
+
// import UserStreak from "@/components/base/UserStreak";
|
|
16
16
|
// Styles
|
|
17
17
|
const StyledSidebarInviteCodeLabel = styled_components_1.default.div `
|
|
18
18
|
display: flex;
|
|
@@ -24,13 +24,13 @@ const StyledSidebarInviteCodeLabel = styled_components_1.default.div `
|
|
|
24
24
|
margin-top: ${(0, _4k_1.adaptiveValueCalc)(16)};
|
|
25
25
|
}
|
|
26
26
|
`;
|
|
27
|
-
const StyledUserStreak = (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
`;
|
|
27
|
+
// const StyledUserStreak = styled(UserStreak)`
|
|
28
|
+
// margin-top: 16px;
|
|
29
|
+
//
|
|
30
|
+
// ${mediaQuery.minWidthFourK} {
|
|
31
|
+
// margin-top: ${adaptiveValueCalc(16)};
|
|
32
|
+
// }
|
|
33
|
+
// `;
|
|
34
34
|
// Component
|
|
35
35
|
const SidebarInviteCodeLabel = () => {
|
|
36
36
|
const { getUser, userExp, isLoadingExp, errorExp, isLoadingProfileData, inviteCodes, } = (0, store_1.useUserStore)((state) => ({
|
|
@@ -43,7 +43,7 @@ const SidebarInviteCodeLabel = () => {
|
|
|
43
43
|
}));
|
|
44
44
|
const NEXT_PUBLIC_ENV_VALUE = (0, env_1.useEnvStore)((state) => state.NEXT_PUBLIC_ENV_VALUE);
|
|
45
45
|
const unUsedInviteCodes = inviteCodes?.filter((code) => !code.isUsed);
|
|
46
|
-
return ((0, jsx_runtime_1.
|
|
46
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(StyledSidebarInviteCodeLabel, { children: [(0, jsx_runtime_1.jsx)(ExperienceLabel_1.default, { value: userExp.xps, link: `${ludoDomains_1.ludoDomains[NEXT_PUBLIC_ENV_VALUE]["app"]}/rewards/${getUser?.userId}`, loading: isLoadingExp || !!errorExp }), !!unUsedInviteCodes && ((0, jsx_runtime_1.jsx)(InviteLabel_1.default, { value: unUsedInviteCodes.length, link: `${ludoDomains_1.ludoDomains[NEXT_PUBLIC_ENV_VALUE]["app"]}/invite-codes`, loading: isLoadingProfileData }))] }) }));
|
|
47
47
|
};
|
|
48
48
|
// Export
|
|
49
49
|
exports.default = SidebarInviteCodeLabel;
|
|
@@ -19,14 +19,13 @@ const Overlay_1 = __importDefault(require("../system/Overlay"));
|
|
|
19
19
|
const screen_1 = require("../utils/screen");
|
|
20
20
|
const useMultiAudio_1 = __importDefault(require("../hooks/audio/useMultiAudio"));
|
|
21
21
|
const CreatorNotifications_1 = require("../modules/notifications/CreatorNotifications");
|
|
22
|
-
const
|
|
22
|
+
const useFetchMyExperience_1 = __importDefault(require("../api/server-experiences/queries/useFetchMyExperience"));
|
|
23
23
|
const sessionScroll_1 = require("../modules/sessionScroll");
|
|
24
24
|
const SubscriberNotifications_1 = require("../api/subscriptions/SubscriberNotifications");
|
|
25
25
|
const GlobalLayout = ({ children }) => {
|
|
26
|
-
(0,
|
|
26
|
+
(0, useFetchMyExperience_1.default)();
|
|
27
27
|
(0, useMultiAudio_1.default)();
|
|
28
28
|
(0, useAuthVerification_1.useAuthVerification)();
|
|
29
|
-
(0, useFetchMyExperienceWithLevel_1.default)();
|
|
30
29
|
const NEXT_PUBLIC_ENV_VALUE = (0, env_1.useEnvStore)((state) => state.NEXT_PUBLIC_ENV_VALUE);
|
|
31
30
|
const envValue = NEXT_PUBLIC_ENV_VALUE !== 'prod' ? NEXT_PUBLIC_ENV_VALUE : '';
|
|
32
31
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(profileDataInitialization_1.ProfileDataInitialization, {}), (0, jsx_runtime_1.jsx)(envLine_1.default, { isNeedToShow: envValue }), (0, jsx_runtime_1.jsx)(globalStyles_1.default, {}), children, (0, jsx_runtime_1.jsx)(CreatorNotifications_1.CreatorNotifications, {}), (0, jsx_runtime_1.jsx)(screen_1.InitializeAppHeight, {}), (0, jsx_runtime_1.jsx)(SubscriberNotifications_1.SubscriberNotification, {}), (0, jsx_runtime_1.jsx)(Overlay_1.default, {}), (0, jsx_runtime_1.jsx)(initializer_1.SidebarInitializer, {}), (0, jsx_runtime_1.jsx)(Alert_1.default, {}), (0, jsx_runtime_1.jsx)(Modal_1.default, {}), (0, jsx_runtime_1.jsx)(ModalSidebar_1.default, {}), (0, jsx_runtime_1.jsx)(CreatorModalSidebarPortal_1.CreatorModalSidebarPortal, {}), (0, jsx_runtime_1.jsx)(sessionScroll_1.DeleteScrollStateInterceptor, {})] }));
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.ProfileDataInitialization = void 0;
|
|
7
4
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
@@ -9,7 +6,7 @@ const store_1 = require("../store");
|
|
|
9
6
|
const ui_1 = require("../../../store/ui");
|
|
10
7
|
const api_1 = require("@ludo.ninja/api");
|
|
11
8
|
const api_2 = require("@ludo.ninja/api");
|
|
12
|
-
|
|
9
|
+
// import useFetchMyActivityStreak from "@/api/server-experiences/queries/useFetchMyActivityStreak";
|
|
13
10
|
const getErrorAlertProps_1 = require("../../../utils/getErrorAlertProps");
|
|
14
11
|
const FetcherMyProfile = ( /*{ userId }: { userId: string }*/) => {
|
|
15
12
|
const openAlert = (0, ui_1.useUiStore)((state) => state.openAlert);
|
|
@@ -54,7 +51,7 @@ const FetcherMyProfile = ( /*{ userId }: { userId: string }*/) => {
|
|
|
54
51
|
setIsLoadingProfileData(false);
|
|
55
52
|
},
|
|
56
53
|
});
|
|
57
|
-
|
|
54
|
+
// useFetchMyActivityStreak()
|
|
58
55
|
return null;
|
|
59
56
|
};
|
|
60
57
|
const ProfileDataInitialization = () => {
|
|
@@ -3,14 +3,17 @@ import { ApolloError } from "@apollo/client";
|
|
|
3
3
|
import { experiencesSchema as schema } from "@ludo.ninja/api";
|
|
4
4
|
import { identitySchema } from "@ludo.ninja/api";
|
|
5
5
|
import { ProfileEntity } from "@ludo.ninja/core";
|
|
6
|
+
export type UserXp = {
|
|
7
|
+
xps: number;
|
|
8
|
+
};
|
|
6
9
|
export declare const initialUserStreak: Omit<schema.IActivityStreak, 'userId'>;
|
|
7
10
|
type TMyProfile = identitySchema.IFetchMyProfileV2Query["fetchMyProfileV2"];
|
|
8
11
|
export interface IUserStore {
|
|
9
12
|
user: IUser | null;
|
|
10
13
|
setUser: (user: IUser | null) => void;
|
|
11
14
|
isSignedIn: boolean;
|
|
12
|
-
userExp:
|
|
13
|
-
setUserExp: (userExp:
|
|
15
|
+
userExp: UserXp;
|
|
16
|
+
setUserExp: (userExp: UserXp) => void;
|
|
14
17
|
resetUserExp: () => void;
|
|
15
18
|
isLoadingExp: boolean;
|
|
16
19
|
setIsLoadingExp: (isLoadingExp: boolean) => void;
|
|
@@ -6,9 +6,9 @@ const next_zustand_1 = require("next-zustand");
|
|
|
6
6
|
const shallow_1 = require("zustand/shallow");
|
|
7
7
|
const initialUserExp = {
|
|
8
8
|
xps: 0,
|
|
9
|
-
level: 1,
|
|
10
|
-
levelMaxXps: 0,
|
|
11
|
-
levelMinXps: 0,
|
|
9
|
+
// level: 1,
|
|
10
|
+
// levelMaxXps: 0,
|
|
11
|
+
// levelMinXps: 0,
|
|
12
12
|
};
|
|
13
13
|
exports.initialUserStreak = {
|
|
14
14
|
totalDays: 0,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ludo.ninja/components",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.97",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"publish": "npm publish --access public -workspace @ludo.ninja/components"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@ludo.ninja/api": "^3.2.
|
|
26
|
+
"@ludo.ninja/api": "^3.2.45",
|
|
27
27
|
"@next/third-parties": "^15.3.4",
|
|
28
28
|
"@react-three/drei": "^9.68.3",
|
|
29
29
|
"@react-three/fiber": "^8.13.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const SubscriberInviteNotification: () => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SubscriberInviteNotification = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const router_1 = require("next/router");
|
|
7
|
-
const client_1 = require("@apollo/client");
|
|
8
|
-
const api_1 = require("@ludo.ninja/api");
|
|
9
|
-
const store_1 = require("../../modules/user/store");
|
|
10
|
-
const ui_1 = require("../../store/ui");
|
|
11
|
-
const notifications_1 = require("../../modules/notifications");
|
|
12
|
-
const ludoDomains_1 = require("@ludo.ninja/core/build/ludoDomains");
|
|
13
|
-
const env_1 = require("../../store/env");
|
|
14
|
-
const Subscription = () => {
|
|
15
|
-
const NEXT_PUBLIC_ENV_VALUE = (0, env_1.useEnvStore)(state => state.NEXT_PUBLIC_ENV_VALUE);
|
|
16
|
-
const { authToken } = api_1.authCookies.getCookies();
|
|
17
|
-
const router = (0, router_1.useRouter)();
|
|
18
|
-
const addNotification = (0, ui_1.useUiStore)((state) => state.addNotification);
|
|
19
|
-
(0, client_1.useSubscription)(api_1.experiencesSchema.OnInviteCodeUsedDocument, {
|
|
20
|
-
variables: { authToken },
|
|
21
|
-
// onComplete: () => {
|
|
22
|
-
// console.log('complete');
|
|
23
|
-
// },
|
|
24
|
-
onData: (options) => {
|
|
25
|
-
const inviteCode = options.data.data?.onInviteCodeUsed.inviteCode;
|
|
26
|
-
// console.log('onData', inviteCode);
|
|
27
|
-
if (inviteCode) {
|
|
28
|
-
addNotification((0, notifications_1.createInviteNotification)({
|
|
29
|
-
inviteCode,
|
|
30
|
-
onClick: () => {
|
|
31
|
-
const domain = ludoDomains_1.ludoDomains[NEXT_PUBLIC_ENV_VALUE]["app"];
|
|
32
|
-
if (domain === window.origin) {
|
|
33
|
-
router.push(`/invite-codes`);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
window.open(`${domain}/invite-codes`, '_self');
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
},
|
|
42
|
-
});
|
|
43
|
-
return null;
|
|
44
|
-
};
|
|
45
|
-
const SubscriberInviteNotification = () => {
|
|
46
|
-
const isSignedIn = (0, store_1.useUserStore)((state) => state.isSignedIn);
|
|
47
|
-
const [startSubscription, setStartSubscription] = (0, react_1.useState)(false);
|
|
48
|
-
(0, react_1.useEffect)(() => {
|
|
49
|
-
setStartSubscription(isSignedIn);
|
|
50
|
-
}, [isSignedIn]);
|
|
51
|
-
return startSubscription ? (0, jsx_runtime_1.jsx)(Subscription, {}) : null;
|
|
52
|
-
};
|
|
53
|
-
exports.SubscriberInviteNotification = SubscriberInviteNotification;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const SubscriberOpportunityNotification: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SubscriberOpportunityNotification = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const client_1 = require("@apollo/client");
|
|
7
|
-
const api_1 = require("@ludo.ninja/api");
|
|
8
|
-
const notifications_1 = require("../../modules/notifications");
|
|
9
|
-
const store_1 = require("../../modules/user/store");
|
|
10
|
-
const env_1 = require("../../store/env");
|
|
11
|
-
const ui_1 = require("../../store/ui");
|
|
12
|
-
const Subscription = () => {
|
|
13
|
-
const { authToken } = api_1.authCookies.getCookies();
|
|
14
|
-
const addNotification = (0, ui_1.useUiStore)((state) => state.addNotification);
|
|
15
|
-
const getMediaENVDomain = (0, env_1.useEnvStore)((state) => state.getMediaDomain);
|
|
16
|
-
(0, client_1.useSubscription)(api_1.experiencesSchema.OnUserOpportunityNotificationDocument, {
|
|
17
|
-
variables: { authToken },
|
|
18
|
-
// onComplete: () => {
|
|
19
|
-
// console.log('complete');
|
|
20
|
-
// },
|
|
21
|
-
onData: (options) => {
|
|
22
|
-
const opportunity = options.data.data?.onUserOpportunityNotification;
|
|
23
|
-
// console.log('OnUser', opportunity);
|
|
24
|
-
if (opportunity) {
|
|
25
|
-
addNotification((0, notifications_1.createOpportunityNotification)({
|
|
26
|
-
image: opportunity.media
|
|
27
|
-
? `${getMediaENVDomain()}/opportunity-medias/${opportunity.media}`
|
|
28
|
-
: '',
|
|
29
|
-
title: opportunity.name || 'Opportunity',
|
|
30
|
-
description: opportunity.description || '',
|
|
31
|
-
onClick: () => {
|
|
32
|
-
if (opportunity.projectUrl) {
|
|
33
|
-
window.open(opportunity.projectUrl, '_blank');
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
}));
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
return null;
|
|
41
|
-
};
|
|
42
|
-
const SubscriptionCommon = () => {
|
|
43
|
-
const addNotification = (0, ui_1.useUiStore)((state) => state.addNotification);
|
|
44
|
-
const getMediaENVDomain = (0, env_1.useEnvStore)((state) => state.getMediaDomain);
|
|
45
|
-
(0, client_1.useSubscription)(api_1.experiencesSchema.OnCommonOpportunityNotificationDocument, {
|
|
46
|
-
onData: (options) => {
|
|
47
|
-
const opportunity = options.data.data?.onCommonOpportunityNotification;
|
|
48
|
-
// console.log('OnCommon', opportunity);
|
|
49
|
-
if (opportunity && opportunity.notificationType === 'push') {
|
|
50
|
-
addNotification((0, notifications_1.createOpportunityNotification)({
|
|
51
|
-
image: opportunity.media
|
|
52
|
-
? `${getMediaENVDomain()}/opportunity-medias/${opportunity.media}`
|
|
53
|
-
: '',
|
|
54
|
-
title: opportunity.name || 'Opportunity',
|
|
55
|
-
description: opportunity.description || '',
|
|
56
|
-
onClick: () => {
|
|
57
|
-
if (opportunity.projectUrl) {
|
|
58
|
-
window.open(opportunity.projectUrl, '_blank');
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
});
|
|
65
|
-
return null;
|
|
66
|
-
};
|
|
67
|
-
const SubscriberOpportunityNotification = () => {
|
|
68
|
-
const isSignedIn = (0, store_1.useUserStore)((state) => state.isSignedIn);
|
|
69
|
-
const [startSubscription, setStartSubscription] = (0, react_1.useState)(false);
|
|
70
|
-
(0, react_1.useEffect)(() => {
|
|
71
|
-
setStartSubscription(isSignedIn);
|
|
72
|
-
}, [isSignedIn]);
|
|
73
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SubscriptionCommon, {}), startSubscription && (0, jsx_runtime_1.jsx)(Subscription, {})] }));
|
|
74
|
-
};
|
|
75
|
-
exports.SubscriberOpportunityNotification = SubscriberOpportunityNotification;
|