@streamlayer/react 0.40.1 → 0.40.3
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/app/useStreamLayerApp.d.ts +9 -1
- package/lib/cjs/gamification-feature.js +1 -1
- package/lib/cjs/index2.js +9 -9
- package/lib/cjs/masters.js +1 -1
- package/lib/cjs/masters2.js +47 -47
- package/lib/cjs/useSdkFeature.js +1 -1
- package/lib/cjs/useStreamLayerApp.js +1 -1
- package/lib/dist/cjs/index.js +199 -1
- package/lib/dist/es/index.js +43362 -7
- package/lib/dist/index.d.ts +119 -27
- package/lib/dist/style.css +1 -1
- package/lib/es/gamification-feature.js +10 -1355
- package/lib/es/index2.js +48 -35
- package/lib/es/masters.js +8 -6
- package/lib/es/masters2.js +12872 -11449
- package/lib/es/useSdkFeature.js +145 -80
- package/lib/es/useStreamLayerApp.js +18 -9
- package/lib/style.css +1 -1
- package/package.json +13 -13
- package/lib/dist/cjs/gamification-feature.js +0 -1
- package/lib/dist/cjs/masters.js +0 -200
- package/lib/dist/es/gamification-feature.js +0 -1626
- package/lib/dist/es/masters.js +0 -43234
package/lib/dist/index.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ declare module "../../sdk-web-types/src/sl-types" {
|
|
|
5
5
|
import type { GameSettings as IGameSettings } from '@streamlayer/sl-eslib/sdkSettings/game/common/game_common_pb';
|
|
6
6
|
import type { ClientSettings } from '@streamlayer/sl-eslib/sdkSettings/client/client_pb';
|
|
7
7
|
import type { MeResponse } from '@streamlayer/sl-eslib/users/users_pb';
|
|
8
|
-
export { QuestionType, QuestionStatus, QuestionImages, ImagePosition,
|
|
9
|
-
import type { PickHistory as IPickHistory, InsightHistory as IInsightHistory, TweetHistory as ITweetHistory, FeedItemAttributes, InstantView as IInstantView } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
|
|
8
|
+
export { QuestionType, QuestionStatus, QuestionImages, ImagePosition, SilenceSetting, QuestionOptions, } from '@streamlayer/sl-eslib/interactive/interactive.common_pb';
|
|
9
|
+
import type { PickHistory as IPickHistory, InsightHistory as IInsightHistory, TweetHistory as ITweetHistory, FeedItem as IFeedItem, FeedItemAttributes as IFeedItemAttributes, InstantView as IInstantView } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
|
|
10
10
|
export { PickHistoryStatus } from '@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb';
|
|
11
11
|
import type { LeaderboardItem as ILeaderboardItem } from '@streamlayer/sl-eslib/interactive/leaderboard/interactive.leaderboard_pb';
|
|
12
|
-
import type { ExtendedQuestionAnswer as IExtendedQuestionAnswer } from '@streamlayer/sl-eslib/interactive/interactive.common_pb';
|
|
12
|
+
import type { ExtendedQuestionAnswer as IExtendedQuestionAnswer, Question as IQuestion, ExtendedQuestion as IExtendedQuestion } from '@streamlayer/sl-eslib/interactive/interactive.common_pb';
|
|
13
13
|
export type PickHistory = PlainMessage<IPickHistory>;
|
|
14
14
|
export type ExtendedQuestionAnswer = PlainMessage<IExtendedQuestionAnswer>;
|
|
15
15
|
export type InsightHistory = PlainMessage<IInsightHistory>;
|
|
@@ -21,9 +21,12 @@ declare module "../../sdk-web-types/src/sl-types" {
|
|
|
21
21
|
export type User = MeResponse;
|
|
22
22
|
export type UserSettings = ClientSettings;
|
|
23
23
|
export type LeaderboardItem = ILeaderboardItem;
|
|
24
|
-
export type FeedItem = PlainMessage<
|
|
24
|
+
export type FeedItem = PlainMessage<IFeedItem>;
|
|
25
|
+
export type FeedItemAttributes = PlainMessage<IFeedItemAttributes>;
|
|
25
26
|
export type InstantView = PlainMessage<IInstantView>;
|
|
26
27
|
export type GameSettings = PlainMessage<IGameSettings>;
|
|
28
|
+
export type Question = PlainMessage<IQuestion>;
|
|
29
|
+
export type ExtendedQuestion = PlainMessage<IExtendedQuestion>;
|
|
27
30
|
export { SdkOverlayType as FeatureType, SdkOverlaySettings, GamesOverlaySettings, } from '@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb';
|
|
28
31
|
}
|
|
29
32
|
declare module "../../sdk-web-types/src/index" {
|
|
@@ -216,6 +219,62 @@ declare module "../../sdk-web-interfaces/src/index" {
|
|
|
216
219
|
declare module "../../sdk-web-api/src/utils/devtools" {
|
|
217
220
|
export const __GRPC_DEVTOOLS_EXTENSION__: any;
|
|
218
221
|
}
|
|
222
|
+
declare module "../../sdk-web-logger/src/index" {
|
|
223
|
+
import { pino, ChildLoggerOptions } from 'pino';
|
|
224
|
+
export const createLogger: (name: string, options?: ChildLoggerOptions) => pino.Logger<never>;
|
|
225
|
+
export type Logger = ReturnType<typeof createLogger>;
|
|
226
|
+
}
|
|
227
|
+
declare module "../../sdk-web-api/src/grpc/retry" {
|
|
228
|
+
import { type Interceptor } from '@connectrpc/connect';
|
|
229
|
+
/**
|
|
230
|
+
* Retry interceptor
|
|
231
|
+
*
|
|
232
|
+
* This interceptor is used to retry requests in case of network errors.
|
|
233
|
+
* Retries are performed according to the exponential backoff algorithm.
|
|
234
|
+
* Allowing retries for the following error codes:
|
|
235
|
+
* [
|
|
236
|
+
* Code.Unknown,
|
|
237
|
+
* Code.Internal,
|
|
238
|
+
* Code.DeadlineExceeded,
|
|
239
|
+
* Code.ResourceExhausted,
|
|
240
|
+
* Code.FailedPrecondition,
|
|
241
|
+
* Code.Unavailable,
|
|
242
|
+
* Code.DataLoss,
|
|
243
|
+
* ]
|
|
244
|
+
*
|
|
245
|
+
* Retry params:
|
|
246
|
+
* - retryAttempts: number of attempts to retry the request, 0 means no retries
|
|
247
|
+
* - retryDelay: max delay between retries in milliseconds
|
|
248
|
+
*
|
|
249
|
+
* Example:
|
|
250
|
+
* ```ts
|
|
251
|
+
const { client, createRequestOptions, queryKey } = transport.createPromiseClient(Leaderboard, {
|
|
252
|
+
method: 'summary',
|
|
253
|
+
params: [$eventId, $userId],
|
|
254
|
+
})
|
|
255
|
+
|
|
256
|
+
return transport.nanoquery.createFetcherStore(queryKey, {
|
|
257
|
+
fetcher: async (_, __, eventId, userId) => {
|
|
258
|
+
const contextValues = createRequestOptions({
|
|
259
|
+
retryAttempts: 5,
|
|
260
|
+
retryDelay: 10000,
|
|
261
|
+
})
|
|
262
|
+
|
|
263
|
+
const res = await client.summary(
|
|
264
|
+
{
|
|
265
|
+
eventId: eventId as unknown as bigint,
|
|
266
|
+
userId: userId as string,
|
|
267
|
+
},
|
|
268
|
+
{ contextValues }
|
|
269
|
+
)
|
|
270
|
+
|
|
271
|
+
return res.data?.attributes
|
|
272
|
+
},
|
|
273
|
+
})
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
export const retry: Interceptor;
|
|
277
|
+
}
|
|
219
278
|
declare module "../../sdk-web-api/src/grpc/transport" {
|
|
220
279
|
import { createRouterTransport, ConnectRouter, Interceptor, PromiseClient, UnaryRequest, StreamRequest } from '@connectrpc/connect';
|
|
221
280
|
import type { ServiceType, Message, PlainMessage } from '@bufbuild/protobuf';
|
|
@@ -244,6 +303,12 @@ declare module "../../sdk-web-api/src/grpc/transport" {
|
|
|
244
303
|
createMutatorStore: NanoqueryReturnType[1];
|
|
245
304
|
utils: NanoqueryReturnType[2];
|
|
246
305
|
};
|
|
306
|
+
export const RequestOptionsKeys: {
|
|
307
|
+
retryAttempts: import("@connectrpc/connect").ContextKey<number>;
|
|
308
|
+
retryDelay: import("@connectrpc/connect").ContextKey<number>;
|
|
309
|
+
};
|
|
310
|
+
type RequestOptionsKey = keyof typeof RequestOptionsKeys;
|
|
311
|
+
type RequestOptions = Partial<Record<RequestOptionsKey, (typeof RequestOptionsKeys)[RequestOptionsKey]['defaultValue']>>;
|
|
247
312
|
/**
|
|
248
313
|
* transport wrapper, initialize grpc transport, store headers and connect interceptors
|
|
249
314
|
*/
|
|
@@ -275,6 +340,7 @@ declare module "../../sdk-web-api/src/grpc/transport" {
|
|
|
275
340
|
method: keyof T["methods"];
|
|
276
341
|
}) => {
|
|
277
342
|
client: PromiseClient<T>;
|
|
343
|
+
createRequestOptions: (options: RequestOptions) => import("@connectrpc/connect").ContextValues;
|
|
278
344
|
queryKey: ((string | number | true) | import("nanostores").ReadableAtom<(string | number | true) | (false | void | null | undefined)> | import("@nanostores/query").FetcherStore<any, any>)[];
|
|
279
345
|
queryKeyStr: string;
|
|
280
346
|
};
|
|
@@ -398,6 +464,8 @@ declare module "../../sdk-web-api/src/grpc/queries/organization" {
|
|
|
398
464
|
brandDefaults?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").BrandDefaults | undefined;
|
|
399
465
|
pub?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").JWK | undefined;
|
|
400
466
|
getstream?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").GetStreamSettingsClient | undefined;
|
|
467
|
+
publicName?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").PublicName | undefined;
|
|
468
|
+
analyticsVersion?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").AnalyticsVersion | undefined;
|
|
401
469
|
} | undefined, any>;
|
|
402
470
|
export const $organizationAdvertising: ($enabled: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, any>;
|
|
403
471
|
}
|
|
@@ -492,6 +560,8 @@ declare module "../../sdk-web-core/src/store/init" {
|
|
|
492
560
|
brandDefaults?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").BrandDefaults | undefined;
|
|
493
561
|
pub?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").JWK | undefined;
|
|
494
562
|
getstream?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").GetStreamSettingsClient | undefined;
|
|
563
|
+
publicName?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").PublicName | undefined;
|
|
564
|
+
analyticsVersion?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").AnalyticsVersion | undefined;
|
|
495
565
|
} | undefined, import("@nanostores/query").FetcherStore<{
|
|
496
566
|
id: string;
|
|
497
567
|
overlays?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").SdkOverlay[] | undefined;
|
|
@@ -508,6 +578,8 @@ declare module "../../sdk-web-core/src/store/init" {
|
|
|
508
578
|
brandDefaults?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").BrandDefaults | undefined;
|
|
509
579
|
pub?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").JWK | undefined;
|
|
510
580
|
getstream?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").GetStreamSettingsClient | undefined;
|
|
581
|
+
publicName?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").PublicName | undefined;
|
|
582
|
+
analyticsVersion?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").AnalyticsVersion | undefined;
|
|
511
583
|
} | undefined, any>>;
|
|
512
584
|
readonly organizationAdvertising: ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, any>>;
|
|
513
585
|
};
|
|
@@ -588,6 +660,8 @@ declare module "../../sdk-web-core/src/store/store" {
|
|
|
588
660
|
brandDefaults?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").BrandDefaults | undefined;
|
|
589
661
|
pub?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").JWK | undefined;
|
|
590
662
|
getstream?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").GetStreamSettingsClient | undefined;
|
|
663
|
+
publicName?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").PublicName | undefined;
|
|
664
|
+
analyticsVersion?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").AnalyticsVersion | undefined;
|
|
591
665
|
} | undefined, import("@nanostores/query").FetcherStore<{
|
|
592
666
|
id: string;
|
|
593
667
|
overlays?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").SdkOverlay[] | undefined;
|
|
@@ -604,6 +678,8 @@ declare module "../../sdk-web-core/src/store/store" {
|
|
|
604
678
|
brandDefaults?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").BrandDefaults | undefined;
|
|
605
679
|
pub?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").JWK | undefined;
|
|
606
680
|
getstream?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").GetStreamSettingsClient | undefined;
|
|
681
|
+
publicName?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").PublicName | undefined;
|
|
682
|
+
analyticsVersion?: import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").AnalyticsVersion | undefined;
|
|
607
683
|
} | undefined, any>>;
|
|
608
684
|
readonly organizationAdvertising: import('../../sdk-web-interfaces/src/index.ts').ApiStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/sdkSettings/sdkSettings.common_pb").Advertising | undefined, any>>;
|
|
609
685
|
};
|
|
@@ -615,11 +691,6 @@ declare module "../../sdk-web-core/src/store/store" {
|
|
|
615
691
|
[Index in keyof StoreObj]: (params: FetcherValue<CoreStoreInterface[Index]>) => void;
|
|
616
692
|
};
|
|
617
693
|
}
|
|
618
|
-
declare module "../../sdk-web-logger/src/index" {
|
|
619
|
-
import { pino, ChildLoggerOptions } from 'pino';
|
|
620
|
-
export const createLogger: (name: string, options?: ChildLoggerOptions) => pino.Logger<never>;
|
|
621
|
-
export type Logger = ReturnType<typeof createLogger>;
|
|
622
|
-
}
|
|
623
694
|
declare module "../../sdk-web-core/src/deepLink/index" {
|
|
624
695
|
import { StreamLayerContext } from '../../sdk-web-interfaces/src/index.ts';
|
|
625
696
|
import { MapStore } from '../../sdk-web-interfaces/src/index.ts';
|
|
@@ -661,7 +732,9 @@ declare module "../../sdk-web-core/src/deepLink/index" {
|
|
|
661
732
|
* Bypass authorization, used for login with external token.
|
|
662
733
|
* Automatically login user if SDK initialized and READY.
|
|
663
734
|
*/
|
|
664
|
-
export const deepLink: (instance: StreamLayerContext, opts:
|
|
735
|
+
export const deepLink: (instance: StreamLayerContext, opts: {
|
|
736
|
+
onDeepLinkHandled?: DeepLinkCallback;
|
|
737
|
+
}, done: () => void) => void;
|
|
665
738
|
}
|
|
666
739
|
declare module "../../sdk-web-core/src/auth/bypass/index" {
|
|
667
740
|
import { AbstractAuthenticationProvider } from '../../sdk-web-interfaces/src/index.ts';
|
|
@@ -789,7 +862,9 @@ declare module "../../sdk-web-core/src/videoPlayer/index" {
|
|
|
789
862
|
controlVideoPlayer: VideoPlayerCallback;
|
|
790
863
|
}
|
|
791
864
|
}
|
|
792
|
-
export const videoPlayer: (instance: StreamLayerContext, opts:
|
|
865
|
+
export const videoPlayer: (instance: StreamLayerContext, opts: {
|
|
866
|
+
videoPlayerController?: VideoPlayerCallback;
|
|
867
|
+
}, done: () => void) => void;
|
|
793
868
|
}
|
|
794
869
|
declare module "../../sdk-web-core/src/index" {
|
|
795
870
|
import { StreamLayerContext } from '../../sdk-web-interfaces/src/index.ts';
|
|
@@ -861,7 +936,7 @@ declare module "../../sdk-web-notifications/src/storage" {
|
|
|
861
936
|
}
|
|
862
937
|
}
|
|
863
938
|
declare module "../../sdk-web-notifications/src/notifications" {
|
|
864
|
-
import { InstantView, QuestionType, GameSettings, TweetHistory
|
|
939
|
+
import { InstantView, QuestionType, GameSettings, TweetHistory } from '../../sdk-web-types/src/index.ts';
|
|
865
940
|
import { NotificationsQueue, NotificationsQueueOptions } from "../../sdk-web-notifications/src/queue/index";
|
|
866
941
|
export type NotificationData = {
|
|
867
942
|
questionType: QuestionType;
|
|
@@ -876,9 +951,7 @@ declare module "../../sdk-web-notifications/src/notifications" {
|
|
|
876
951
|
correctAnswerTitle?: string;
|
|
877
952
|
questionTitle?: string;
|
|
878
953
|
};
|
|
879
|
-
insight?: InstantView
|
|
880
|
-
imageMode?: QuestionImages;
|
|
881
|
-
};
|
|
954
|
+
insight?: InstantView;
|
|
882
955
|
onboarding?: GameSettings & {
|
|
883
956
|
instantOpen?: boolean;
|
|
884
957
|
};
|
|
@@ -889,6 +962,7 @@ declare module "../../sdk-web-notifications/src/notifications" {
|
|
|
889
962
|
account: string;
|
|
890
963
|
accountVerified: boolean;
|
|
891
964
|
tweet: TweetHistory['tweet'] | undefined;
|
|
965
|
+
tweetId: string;
|
|
892
966
|
};
|
|
893
967
|
};
|
|
894
968
|
export enum NotificationType {
|
|
@@ -1291,9 +1365,9 @@ declare module "../../feature-gamification/src/queries/index" {
|
|
|
1291
1365
|
};
|
|
1292
1366
|
};
|
|
1293
1367
|
}, QuestionSubscriptionRequest, QuestionSubscriptionResponse, "subscription" | "votingSubscription" | "questionSubscription" | "feedSubscription", ((request: import("@bufbuild/protobuf").PartialMessage<SubscriptionRequest>, options?: import("@connectrpc/connect").CallOptions | undefined) => AsyncIterable<SubscriptionResponse>) | ((request: import("@bufbuild/protobuf").PartialMessage<VotingSubscriptionRequest>, options?: import("@connectrpc/connect").CallOptions | undefined) => AsyncIterable<VotingSubscriptionResponse>) | ((request: import("@bufbuild/protobuf").PartialMessage<QuestionSubscriptionRequest>, options?: import("@connectrpc/connect").CallOptions | undefined) => AsyncIterable<QuestionSubscriptionResponse>) | ((request: import("@bufbuild/protobuf").PartialMessage<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").FeedSubscriptionRequest>, options?: import("@connectrpc/connect").CallOptions | undefined) => AsyncIterable<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").FeedSubscriptionResponse>)>;
|
|
1294
|
-
export const getQuestionByUser: (questionId: string, transport: Transport) => Promise<import(
|
|
1368
|
+
export const getQuestionByUser: (questionId: string, transport: Transport) => Promise<import("@streamlayer/sl-eslib/interactive/interactive.common_pb").ExtendedQuestion | undefined>;
|
|
1295
1369
|
export const getQuestionDetail: (questionId: string, transport: Transport) => Promise<import("@streamlayer/sl-eslib/interactive/interactive.common_pb").Question | undefined>;
|
|
1296
|
-
export const $questionByUser: ($questionId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<import(
|
|
1370
|
+
export const $questionByUser: ($questionId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/interactive/interactive.common_pb").ExtendedQuestion | undefined, any>;
|
|
1297
1371
|
export const $pickHistory: (slStreamId: ReadableAtom<string | undefined>, transport: Transport) => import("@nanostores/query").FetcherStore<(import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").PickHistory | undefined)[], any>;
|
|
1298
1372
|
export const $feedList: ($slStreamId: ReadableAtom<string | undefined>, $interactiveAllowed: ReadableAtom<InteractiveAllowed>, transport: Transport) => import("@nanostores/query").FetcherStore<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").FeedItem[], any>;
|
|
1299
1373
|
export { $userSummary, $leaderboardList } from "../../feature-gamification/src/queries/leaderboard";
|
|
@@ -1302,24 +1376,27 @@ declare module "../../feature-gamification/src/queries/index" {
|
|
|
1302
1376
|
}
|
|
1303
1377
|
declare module "../../feature-gamification/src/detail" {
|
|
1304
1378
|
import type { Transport } from '../../sdk-web-api/src/index.ts';
|
|
1379
|
+
import { FeedItem, ExtendedQuestion } from '../../sdk-web-types/src/index.ts';
|
|
1305
1380
|
import { ReadableAtom } from 'nanostores';
|
|
1306
|
-
import { getQuestionByUser } from "../../feature-gamification/src/queries/index";
|
|
1307
1381
|
import { type GamificationBackground } from "../../feature-gamification/src/background";
|
|
1308
|
-
type ExtendedQuestion = Awaited<ReturnType<typeof getQuestionByUser>>;
|
|
1309
1382
|
type ExtendedQuestionStore = {
|
|
1310
1383
|
data?: ExtendedQuestion;
|
|
1311
1384
|
loading?: boolean;
|
|
1312
1385
|
error?: string;
|
|
1313
1386
|
};
|
|
1314
|
-
export const detail: (transport: Transport, $openedQuestionId: ReadableAtom<
|
|
1315
|
-
|
|
1387
|
+
export const detail: (transport: Transport, $openedQuestionId: ReadableAtom<{
|
|
1388
|
+
questionId: string;
|
|
1389
|
+
question?: FeedItem;
|
|
1390
|
+
} | undefined>, $feedList: ReturnType<GamificationBackground['feedList']['getStore']>) => {
|
|
1391
|
+
$store: import("nanostores").WritableAtom<import("@bufbuild/protobuf").PlainMessage<import("@streamlayer/sl-eslib/interactive/feed/interactive.feed_pb").FeedItem> | undefined>;
|
|
1316
1392
|
$extendedStore: import("nanostores").MapStore<ExtendedQuestionStore>;
|
|
1317
|
-
updateExtendedQuestion: (question: ExtendedQuestion) => void;
|
|
1393
|
+
updateExtendedQuestion: (question: ExtendedQuestion | undefined) => void;
|
|
1318
1394
|
};
|
|
1319
1395
|
}
|
|
1320
1396
|
declare module "../../feature-gamification/src/background" {
|
|
1321
1397
|
import { ApiStore, type StreamLayerContext } from '../../sdk-web-interfaces/src/index.ts';
|
|
1322
1398
|
import type { GetApiResponseType } from '../../sdk-web-api/src/index.ts';
|
|
1399
|
+
import { FeedItem } from '../../sdk-web-types/src/index.ts';
|
|
1323
1400
|
import '@streamlayer/sdk-web-core/store';
|
|
1324
1401
|
import { ReadableAtom, WritableAtom } from 'nanostores';
|
|
1325
1402
|
import * as queries from "../../feature-gamification/src/queries/index";
|
|
@@ -1344,7 +1421,10 @@ declare module "../../feature-gamification/src/background" {
|
|
|
1344
1421
|
*/
|
|
1345
1422
|
interactiveAllowed: WritableAtom<InteractiveAllowed>;
|
|
1346
1423
|
/** opened question, using to download statistics */
|
|
1347
|
-
openedQuestionId: WritableAtom<
|
|
1424
|
+
openedQuestionId: WritableAtom<{
|
|
1425
|
+
questionId: string;
|
|
1426
|
+
question?: FeedItem;
|
|
1427
|
+
} | undefined>;
|
|
1348
1428
|
/** opened question statistics */
|
|
1349
1429
|
openedQuestion: ReturnType<typeof detail>;
|
|
1350
1430
|
/** last active question in feed */
|
|
@@ -1380,7 +1460,7 @@ declare module "../../feature-gamification/src/background" {
|
|
|
1380
1460
|
/**
|
|
1381
1461
|
* Open question and mark notification for this question as viewed
|
|
1382
1462
|
*/
|
|
1383
|
-
openQuestion: (questionId: string) => void;
|
|
1463
|
+
openQuestion: (questionId: string, question?: FeedItem) => void;
|
|
1384
1464
|
/**
|
|
1385
1465
|
* Close question and mark notification for this question as viewed
|
|
1386
1466
|
*/
|
|
@@ -1485,7 +1565,7 @@ declare module "../../feature-gamification/src/deepLink" {
|
|
|
1485
1565
|
}
|
|
1486
1566
|
declare module "../../feature-gamification/src/gamification" {
|
|
1487
1567
|
import { AbstractFeature, ApiStore, FeatureSource, type FeatureProps, type StreamLayerContext } from '../../sdk-web-interfaces/src/index.ts';
|
|
1488
|
-
import { type GamesOverlaySettings } from '../../sdk-web-types/src/index.ts';
|
|
1568
|
+
import { type GamesOverlaySettings, FeedItem } from '../../sdk-web-types/src/index.ts';
|
|
1489
1569
|
import type { GetApiResponseType } from '../../sdk-web-api/src/index.ts';
|
|
1490
1570
|
import '@streamlayer/sdk-web-core/store';
|
|
1491
1571
|
import type { PlainMessage } from '@bufbuild/protobuf';
|
|
@@ -1543,7 +1623,7 @@ declare module "../../feature-gamification/src/gamification" {
|
|
|
1543
1623
|
disconnect: () => void;
|
|
1544
1624
|
submitAnswer: (questionId: string, answerId: string) => Promise<void>;
|
|
1545
1625
|
skipQuestion: (questionId: string) => Promise<void>;
|
|
1546
|
-
openQuestion: (questionId: string) => void;
|
|
1626
|
+
openQuestion: (questionId: string, question?: FeedItem) => void;
|
|
1547
1627
|
closeQuestion: (questionId?: string) => void;
|
|
1548
1628
|
openUser: (userId: string) => void;
|
|
1549
1629
|
closeUser: () => void;
|
|
@@ -1592,12 +1672,14 @@ declare module "../../sdk-web-features/src/index" {
|
|
|
1592
1672
|
getFeature: <T extends FeatureType = FeatureType>(featureType: T) => (T extends FeatureType.GAMES ? Gamification : Feature) | undefined;
|
|
1593
1673
|
getActiveFeature: SingleStore<FeatureType>['getStore'];
|
|
1594
1674
|
closeFeature: (destroy?: boolean) => void;
|
|
1675
|
+
featuresList: SingleStore<Set<FeatureType>>;
|
|
1595
1676
|
}
|
|
1596
1677
|
}
|
|
1597
1678
|
export const features: (instance: StreamLayerContext, opts: unknown, done: () => void) => void;
|
|
1598
1679
|
}
|
|
1599
1680
|
declare module "../../sdk-web/src/index" {
|
|
1600
1681
|
import { StreamLayerContext } from '../../sdk-web-interfaces/src/index.ts';
|
|
1682
|
+
import type { DeepLinkCallback, VideoPlayerCallback } from '../../sdk-web-core/src/index.ts';
|
|
1601
1683
|
import avvio from 'avvio';
|
|
1602
1684
|
import './polyfills/raf';
|
|
1603
1685
|
export type StreamLayerInstance = avvio.mixedInstance<StreamLayerContext>;
|
|
@@ -1605,16 +1687,26 @@ declare module "../../sdk-web/src/index" {
|
|
|
1605
1687
|
type DoneFn = Function;
|
|
1606
1688
|
export function StreamLayer(sdkKey: string, production?: boolean, autoEnable?: boolean, meta?: {
|
|
1607
1689
|
version?: string;
|
|
1690
|
+
onDeepLinkHandled?: DeepLinkCallback;
|
|
1691
|
+
videoPlayerController?: VideoPlayerCallback;
|
|
1608
1692
|
}): avvio.Avvio<StreamLayerContext>;
|
|
1609
1693
|
}
|
|
1610
1694
|
declare module "app/useStreamLayerApp" {
|
|
1611
1695
|
import type { StreamLayerSDK, StreamLayerPlugin } from '../../sdk-web-interfaces/src/index.ts';
|
|
1696
|
+
import type { DeepLinkCallback, VideoPlayerCallback } from '../../sdk-web-core/src/index.ts';
|
|
1612
1697
|
global {
|
|
1613
1698
|
interface Window {
|
|
1614
1699
|
sl: unknown;
|
|
1615
1700
|
}
|
|
1616
1701
|
}
|
|
1617
|
-
export const useStreamLayerApp: (sdkKey
|
|
1702
|
+
export const useStreamLayerApp: ({ sdkKey, plugins, production, autoEnable, onDeepLinkHandled, videoPlayerController, }: {
|
|
1703
|
+
sdkKey: string;
|
|
1704
|
+
plugins?: Set<StreamLayerPlugin> | undefined;
|
|
1705
|
+
production?: boolean | undefined;
|
|
1706
|
+
autoEnable?: boolean | undefined;
|
|
1707
|
+
onDeepLinkHandled?: DeepLinkCallback | undefined;
|
|
1708
|
+
videoPlayerController?: VideoPlayerCallback | undefined;
|
|
1709
|
+
}) => StreamLayerSDK | null;
|
|
1618
1710
|
}
|
|
1619
1711
|
declare module "app/provider" {
|
|
1620
1712
|
import type { StreamLayerSDK, StreamLayerPlugin } from '../../sdk-web-interfaces/src/index.ts';
|