@streamlayer/feature-gamification 0.14.2 → 0.15.1
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/gamification.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export declare class Gamification extends AbstractFeature<'games', PlainMessage<
|
|
|
36
36
|
questions?: ApiStore<GetApiResponseType<typeof queries.$pickHistory>>;
|
|
37
37
|
/** pinned leaderboard id */
|
|
38
38
|
leaderboardId: WritableAtom<string | undefined>;
|
|
39
|
+
/** leaderboard list */
|
|
40
|
+
leaderboardList?: ApiStore<GetApiResponseType<typeof queries.$leaderboardList>>;
|
|
39
41
|
/** onboarding status */
|
|
40
42
|
onboardingStatus: WritableAtom<OnboardingStatus | undefined>;
|
|
41
43
|
/** opened question */
|
package/lib/gamification.js
CHANGED
|
@@ -39,6 +39,8 @@ export class Gamification extends AbstractFeature {
|
|
|
39
39
|
questions;
|
|
40
40
|
/** pinned leaderboard id */
|
|
41
41
|
leaderboardId;
|
|
42
|
+
/** leaderboard list */
|
|
43
|
+
leaderboardList;
|
|
42
44
|
/** onboarding status */
|
|
43
45
|
onboardingStatus;
|
|
44
46
|
/** opened question */
|
|
@@ -189,6 +191,7 @@ export class Gamification extends AbstractFeature {
|
|
|
189
191
|
else {
|
|
190
192
|
this.userSummary.invalidate();
|
|
191
193
|
}
|
|
194
|
+
this.leaderboardList = new ApiStore(queries.$leaderboardList(this.background.slStreamId, this.leaderboardId, transport), 'gamification:leaderboardList');
|
|
192
195
|
if (!this.questions) {
|
|
193
196
|
this.questions = new ApiStore(queries.$pickHistory(this.background.slStreamId, transport), 'gamification:questions');
|
|
194
197
|
}
|
package/lib/queries/index.d.ts
CHANGED
|
@@ -294,5 +294,5 @@ export declare const getQuestionByUser: (questionId: string, transport: Transpor
|
|
|
294
294
|
export declare const $questionByUser: ($questionId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<import("packages/sdk-web-types/lib").ExtendedQuestion | undefined, any>;
|
|
295
295
|
export declare const $pickHistory: (slStreamId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<(import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").PickHistory | undefined)[] | undefined, any>;
|
|
296
296
|
export declare const $insightHistory: (slStreamId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<(import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").InsightHistory | undefined)[] | undefined, any>;
|
|
297
|
-
export { $userSummary } from './leaderboard';
|
|
297
|
+
export { $userSummary, $leaderboardList } from './leaderboard';
|
|
298
298
|
export { $moderation } from './moderation';
|
package/lib/queries/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { Transport } from '@streamlayer/sdk-web-api';
|
|
2
2
|
import { ReadableAtom } from 'nanostores';
|
|
3
3
|
export declare const $userSummary: ($eventId: ReadableAtom<string | undefined>, $userId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/interactive/leaderboard/interactive.leaderboard_pb").LeaderboardSummaryItem | undefined, any>;
|
|
4
|
+
export declare const $leaderboardList: ($eventId: ReadableAtom<string | undefined>, $leaderboardId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/interactive/leaderboard/interactive.leaderboard_pb").ListResponse_ListResponseData[], any>;
|
|
@@ -14,3 +14,19 @@ export const $userSummary = ($eventId, $userId, transport) => {
|
|
|
14
14
|
},
|
|
15
15
|
});
|
|
16
16
|
};
|
|
17
|
+
export const $leaderboardList = ($eventId, $leaderboardId, transport) => {
|
|
18
|
+
const { client, queryKey } = transport.createPromiseClient(Leaderboard, {
|
|
19
|
+
method: 'list',
|
|
20
|
+
params: [$eventId, $leaderboardId],
|
|
21
|
+
});
|
|
22
|
+
return transport.nanoquery.createFetcherStore(queryKey, {
|
|
23
|
+
fetcher: async (_, __, eventId, leaderboardId) => {
|
|
24
|
+
const res = await client.list({
|
|
25
|
+
usersIds: [],
|
|
26
|
+
eventId: eventId,
|
|
27
|
+
leaderboardId: leaderboardId,
|
|
28
|
+
});
|
|
29
|
+
return res.data;
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
};
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamlayer/feature-gamification",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@bufbuild/protobuf": "^1.4.2",
|
|
6
6
|
"@streamlayer/sl-eslib": "^5.45.1",
|
|
7
7
|
"nanostores": "^0.9.4",
|
|
8
|
-
"@streamlayer/sdk-web-interfaces": "^0.17.
|
|
9
|
-
"@streamlayer/sdk-web-core": "^0.11.
|
|
10
|
-
"@streamlayer/sdk-web-api": "^0.1
|
|
11
|
-
"@streamlayer/sdk-web-types": "^0.
|
|
12
|
-
"@streamlayer/sdk-web-storage": "^0.3.
|
|
13
|
-
"@streamlayer/sdk-web-logger": "^0.5.
|
|
14
|
-
"@streamlayer/sdk-web-notifications": "^0.9.
|
|
8
|
+
"@streamlayer/sdk-web-interfaces": "^0.17.3",
|
|
9
|
+
"@streamlayer/sdk-web-core": "^0.11.4",
|
|
10
|
+
"@streamlayer/sdk-web-api": "^0.0.1",
|
|
11
|
+
"@streamlayer/sdk-web-types": "^0.15.1",
|
|
12
|
+
"@streamlayer/sdk-web-storage": "^0.3.2",
|
|
13
|
+
"@streamlayer/sdk-web-logger": "^0.5.2",
|
|
14
|
+
"@streamlayer/sdk-web-notifications": "^0.9.3"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"tslib": "^2.6.2"
|