@magmamath/students-features 0.6.7-rc.2 → 0.6.7-rc.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/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js +0 -1
- package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js.map +1 -1
- package/dist/commonjs/features/gifCelebrations/GifCelebrations.js +62 -0
- package/dist/commonjs/features/gifCelebrations/GifCelebrations.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/assets/confetti.webp +0 -0
- package/dist/commonjs/features/gifCelebrations/assets/gifFallback.gif +0 -0
- package/dist/commonjs/features/gifCelebrations/components/Backdrop.js +44 -0
- package/dist/commonjs/features/gifCelebrations/components/Backdrop.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/components/ContentContainer.js +46 -0
- package/dist/commonjs/features/gifCelebrations/components/ContentContainer.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/components/Gif.js +90 -0
- package/dist/commonjs/features/gifCelebrations/components/Gif.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/components/Progress.js +96 -0
- package/dist/commonjs/features/gifCelebrations/components/Progress.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/constants.js +34 -0
- package/dist/commonjs/features/gifCelebrations/constants.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/helpers.js +114 -0
- package/dist/commonjs/features/gifCelebrations/helpers.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/index.js +20 -0
- package/dist/commonjs/features/gifCelebrations/index.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.cache.js +30 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.cache.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.model.js +150 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.model.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrationsApi.js +14 -0
- package/dist/commonjs/features/gifCelebrations/model/GifCelebrationsApi.js.map +1 -0
- package/dist/commonjs/features/gifCelebrations/types/model.types.js +6 -0
- package/dist/commonjs/features/gifCelebrations/types/model.types.js.map +1 -0
- package/dist/commonjs/index.js +12 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/lib/effector/createControllerEffect.js.map +1 -1
- package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
- package/dist/commonjs/react-app-env.d.js +2 -0
- package/dist/commonjs/react-app-env.d.js.map +1 -0
- package/dist/commonjs/shared/translation/localization/en.json +5 -0
- package/dist/commonjs/shared/translation/localization/gb.json +5 -0
- package/dist/commonjs/shared/translation/localization/sw.json +5 -0
- package/dist/commonjs/types/common.types.js +2 -0
- package/dist/commonjs/types/common.types.js.map +1 -0
- package/dist/module/features/endOfAssignment/components/Modal/Modal.js +1 -2
- package/dist/module/features/endOfAssignment/components/Modal/Modal.js.map +1 -1
- package/dist/module/features/gifCelebrations/GifCelebrations.js +55 -0
- package/dist/module/features/gifCelebrations/GifCelebrations.js.map +1 -0
- package/dist/module/features/gifCelebrations/assets/confetti.webp +0 -0
- package/dist/module/features/gifCelebrations/assets/gifFallback.gif +0 -0
- package/dist/module/features/gifCelebrations/components/Backdrop.js +36 -0
- package/dist/module/features/gifCelebrations/components/Backdrop.js.map +1 -0
- package/dist/module/features/gifCelebrations/components/ContentContainer.js +38 -0
- package/dist/module/features/gifCelebrations/components/ContentContainer.js.map +1 -0
- package/dist/module/features/gifCelebrations/components/Gif.js +82 -0
- package/dist/module/features/gifCelebrations/components/Gif.js.map +1 -0
- package/dist/module/features/gifCelebrations/components/Progress.js +88 -0
- package/dist/module/features/gifCelebrations/components/Progress.js.map +1 -0
- package/dist/module/features/gifCelebrations/constants.js +30 -0
- package/dist/module/features/gifCelebrations/constants.js.map +1 -0
- package/dist/module/features/gifCelebrations/helpers.js +103 -0
- package/dist/module/features/gifCelebrations/helpers.js.map +1 -0
- package/dist/module/features/gifCelebrations/index.js +5 -0
- package/dist/module/features/gifCelebrations/index.js.map +1 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrations.cache.js +25 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrations.cache.js.map +1 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrations.model.js +145 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrations.model.js.map +1 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrationsApi.js +9 -0
- package/dist/module/features/gifCelebrations/model/GifCelebrationsApi.js.map +1 -0
- package/dist/module/features/gifCelebrations/types/model.types.js +4 -0
- package/dist/module/features/gifCelebrations/types/model.types.js.map +1 -0
- package/dist/module/index.js +1 -0
- package/dist/module/index.js.map +1 -1
- package/dist/module/lib/effector/createControllerEffect.js.map +1 -1
- package/dist/module/react-app-env.d.js +2 -0
- package/dist/module/react-app-env.d.js.map +1 -0
- package/dist/module/shared/translation/localization/en.json +5 -0
- package/dist/module/shared/translation/localization/gb.json +5 -0
- package/dist/module/shared/translation/localization/sw.json +5 -0
- package/dist/module/types/common.types.js +2 -0
- package/dist/module/types/common.types.js.map +1 -0
- package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/Modal.d.ts.map +1 -1
- package/dist/typescript/commonjs/features/gifCelebrations/GifCelebrations.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/GifCelebrations.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Backdrop.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Backdrop.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/ContentContainer.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/ContentContainer.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Gif.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Gif.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Progress.d.ts +10 -0
- package/dist/typescript/commonjs/features/gifCelebrations/components/Progress.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/constants.d.ts +26 -0
- package/dist/typescript/commonjs/features/gifCelebrations/constants.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts +29 -0
- package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/index.d.ts +3 -0
- package/dist/typescript/commonjs/features/gifCelebrations/index.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts +18 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts +26 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrationsApi.d.ts +6 -0
- package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrationsApi.d.ts.map +1 -0
- package/dist/typescript/commonjs/features/gifCelebrations/types/model.types.d.ts +45 -0
- package/dist/typescript/commonjs/features/gifCelebrations/types/model.types.d.ts.map +1 -0
- package/dist/typescript/commonjs/index.d.ts +1 -0
- package/dist/typescript/commonjs/index.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts +1 -1
- package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts.map +1 -1
- package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/constants.d.ts +15 -0
- package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/commonjs/shared/translation/model.d.ts +10 -0
- package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/commonjs/types/common.types.d.ts +5 -0
- package/dist/typescript/commonjs/types/common.types.d.ts.map +1 -0
- package/dist/typescript/module/features/endOfAssignment/components/Modal/Modal.d.ts.map +1 -1
- package/dist/typescript/module/features/gifCelebrations/GifCelebrations.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/GifCelebrations.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/components/Backdrop.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/components/Backdrop.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/components/ContentContainer.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/components/ContentContainer.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/components/Gif.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/components/Gif.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/components/Progress.d.ts +10 -0
- package/dist/typescript/module/features/gifCelebrations/components/Progress.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/constants.d.ts +26 -0
- package/dist/typescript/module/features/gifCelebrations/constants.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/helpers.d.ts +29 -0
- package/dist/typescript/module/features/gifCelebrations/helpers.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/index.d.ts +3 -0
- package/dist/typescript/module/features/gifCelebrations/index.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.cache.d.ts +18 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.model.d.ts +26 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.model.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrationsApi.d.ts +6 -0
- package/dist/typescript/module/features/gifCelebrations/model/GifCelebrationsApi.d.ts.map +1 -0
- package/dist/typescript/module/features/gifCelebrations/types/model.types.d.ts +45 -0
- package/dist/typescript/module/features/gifCelebrations/types/model.types.d.ts.map +1 -0
- package/dist/typescript/module/index.d.ts +1 -0
- package/dist/typescript/module/index.d.ts.map +1 -1
- package/dist/typescript/module/lib/effector/createControllerEffect.d.ts +1 -1
- package/dist/typescript/module/lib/effector/createControllerEffect.d.ts.map +1 -1
- package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/constants.d.ts +15 -0
- package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
- package/dist/typescript/module/shared/translation/model.d.ts +10 -0
- package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
- package/dist/typescript/module/types/common.types.d.ts +5 -0
- package/dist/typescript/module/types/common.types.d.ts.map +1 -0
- package/package.json +3 -5
- package/src/features/endOfAssignment/components/Modal/Modal.tsx +1 -2
- package/src/features/gifCelebrations/GifCelebrations.tsx +75 -0
- package/src/features/gifCelebrations/assets/confetti.webp +0 -0
- package/src/features/gifCelebrations/assets/gifFallback.gif +0 -0
- package/src/features/gifCelebrations/components/Backdrop.tsx +41 -0
- package/src/features/gifCelebrations/components/ContentContainer.tsx +44 -0
- package/src/features/gifCelebrations/components/Gif.tsx +88 -0
- package/src/features/gifCelebrations/components/Progress.tsx +106 -0
- package/src/features/gifCelebrations/constants.ts +32 -0
- package/src/features/gifCelebrations/helpers.ts +144 -0
- package/src/features/gifCelebrations/index.ts +2 -0
- package/src/features/gifCelebrations/model/GifCelebrations.cache.ts +41 -0
- package/src/features/gifCelebrations/model/GifCelebrations.model.ts +192 -0
- package/src/features/gifCelebrations/model/GifCelebrationsApi.ts +10 -0
- package/src/features/gifCelebrations/types/model.types.ts +53 -0
- package/src/index.ts +1 -0
- package/src/lib/effector/createControllerEffect.ts +41 -41
- package/src/lib/helpers/helpers.ts +1 -1
- package/src/react-app-env.d.ts +6 -0
- package/src/shared/translation/localization/en.json +5 -0
- package/src/shared/translation/localization/gb.json +5 -0
- package/src/shared/translation/localization/sw.json +5 -0
- package/src/types/common.types.ts +4 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { ProgressValue } from '../types/model.types';
|
|
4
|
+
type ProgressProps = {
|
|
5
|
+
progress: SharedValue<ProgressValue>;
|
|
6
|
+
completedPercent: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const Progress: ({ progress, completedPercent }: ProgressProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Progress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAiB,EAAoB,WAAW,EAAe,MAAM,yBAAyB,CAAA;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGpD,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACpC,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,QAAQ,mCAAoC,aAAa,sBAqCrE,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const BACKDROP_COLOR: {
|
|
2
|
+
INITIAL: string;
|
|
3
|
+
FINAL: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const CONTENT_CONTAINER: {
|
|
6
|
+
ANGLE: number;
|
|
7
|
+
CONTAINER_WIDTH: number;
|
|
8
|
+
ROTATION_PADDING: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const ANIMATION_DURATION = 1750;
|
|
11
|
+
export declare const MIN_PROBLEMS_TO_SHOW_GIF = 7;
|
|
12
|
+
export declare const MAX_GIF_SIZE: {
|
|
13
|
+
WIDTH: number;
|
|
14
|
+
HEIGHT: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const MIN_GIF_SIZE = 300;
|
|
17
|
+
export declare const GROUPS_PERCENTAGES: {
|
|
18
|
+
group1: number[];
|
|
19
|
+
group2: number[];
|
|
20
|
+
group3: number[];
|
|
21
|
+
};
|
|
22
|
+
export declare const MIN_WIDTH_FOR_ONE_DIGIT = 12;
|
|
23
|
+
export declare const MIN_WIDTH_FOR_TWO_DIGITS = 15;
|
|
24
|
+
export declare const GET_GIFS_TIMEOUT = 5000;
|
|
25
|
+
export declare const GIFS_FETCHED_KEY = "gifsFetchedTimestamp";
|
|
26
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;CAG1B,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAA;AAED,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC,eAAO,MAAM,YAAY;;;CAGxB,CAAA;AACD,eAAO,MAAM,YAAY,MAAM,CAAA;AAE/B,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAA;AAED,eAAO,MAAM,uBAAuB,KAAK,CAAA;AACzC,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAEpC,eAAO,MAAM,gBAAgB,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TranslationKeys } from 'src/shared/translation/types';
|
|
2
|
+
import { CustomGetCachePathMethod, GifsGroups, GifsStructure, GroupNumber, ProblemsGifsTable } from './types/model.types';
|
|
3
|
+
/**
|
|
4
|
+
* Number of problems When we show gif
|
|
5
|
+
* <6 Never
|
|
6
|
+
* 7-12 50% completion
|
|
7
|
+
* 13-18 33%, 66% completion
|
|
8
|
+
* 19-24 25%, 50%, 75 completion
|
|
9
|
+
* 25-30 20%, 40%, 60%, 80% completion
|
|
10
|
+
* .>30 15%, 30%, 45%, 60%, 75% completion
|
|
11
|
+
*
|
|
12
|
+
* We are also going to have different buckets with different gifs. The logic is as follows:
|
|
13
|
+
* Group 1: 15%, 20%, 25%, 30% - Early celebrations
|
|
14
|
+
* Group 2: 33%, 40%, 45%, 50% - Mid celebrations
|
|
15
|
+
* Group 3: 60%, 66%, 75%, 80% - Party
|
|
16
|
+
* or
|
|
17
|
+
* Group 1: <=30% - Early celebrations
|
|
18
|
+
* Group 2: >30% <60% - Mid celebrations
|
|
19
|
+
* Group 3: >=60% - Party
|
|
20
|
+
*/
|
|
21
|
+
export declare const generateProblemsGifsTable: (problemsAmount: number, resolvedProblems: number, gifs: GifsStructure) => ProblemsGifsTable;
|
|
22
|
+
export declare const generateGifsStructure: (gifs: GifsGroups) => GifsStructure;
|
|
23
|
+
export declare const getGifLabel: (relatedGroup: GroupNumber) => TranslationKeys;
|
|
24
|
+
export declare const getProgressLineWidth: (completedPercent: number) => number;
|
|
25
|
+
export declare const findGroupForPercentage: (percentage: number) => "group1" | "group2" | "group3";
|
|
26
|
+
export declare const getImagePath: (url: string, cacheMethod?: CustomGetCachePathMethod) => Promise<string>;
|
|
27
|
+
export declare const constrainDimension: (value: number, min: number, max: number) => number;
|
|
28
|
+
export declare const shouldRefreshGifs: (timestamp: string | null | undefined) => boolean;
|
|
29
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,WAAW,EAEX,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAI5B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,mBACpB,MAAM,oBACJ,MAAM,QAClB,aAAa,KAClB,iBA4BF,CAAA;AAaD,eAAO,MAAM,qBAAqB,SAAU,UAAU,KAAG,aAUtD,CAAA;AAEH,eAAO,MAAM,WAAW,iBAAkB,WAAW,KAAG,eASvD,CAAA;AAED,eAAO,MAAM,oBAAoB,qBAAsB,MAAM,WAQ5D,CAAA;AAED,eAAO,MAAM,sBAAsB,eAAgB,MAAM,mCAQxD,CAAA;AAED,eAAO,MAAM,YAAY,QAAe,MAAM,gBAAgB,wBAAwB,oBAWrF,CAAA;AAED,eAAO,MAAM,kBAAkB,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,WACrC,CAAA;AAErC,eAAO,MAAM,iBAAiB,cAAe,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,OASxE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GifsGroups, GifsStructure, CustomGetCachePathMethod, CustomPrefetchMethod } from '../types/model.types';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
type GifCelebrationsCacheProps = {
|
|
4
|
+
customPrefetchMethod?: CustomPrefetchMethod;
|
|
5
|
+
customGetCachePathMethod?: CustomGetCachePathMethod;
|
|
6
|
+
};
|
|
7
|
+
export declare class GifCelebrationsCache {
|
|
8
|
+
readonly initialSet: import("effector").EventCallable<GifsGroups>;
|
|
9
|
+
readonly set: import("effector").EventCallable<GifsStructure>;
|
|
10
|
+
readonly reset: import("effector").EventCallable<void>;
|
|
11
|
+
readonly getCachePathMethod?: CustomGetCachePathMethod;
|
|
12
|
+
readonly prefetchMethod: CustomPrefetchMethod | typeof Image.prefetch;
|
|
13
|
+
readonly prefetchGifs: import("effector").Effect<string[], void, Error>;
|
|
14
|
+
readonly $gifs: import("effector").StoreWritable<GifsStructure | null>;
|
|
15
|
+
constructor({ customGetCachePathMethod, customPrefetchMethod }: GifCelebrationsCacheProps);
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=GifCelebrations.cache.d.ts.map
|
package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GifCelebrations.cache.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrations.cache.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,KAAK,yBAAyB,GAAG;IAC/B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD,CAAA;AAED,qBAAa,oBAAoB;IAC/B,SAAgB,UAAU,+CAA4B;IACtD,SAAgB,GAAG,kDAA+B;IAClD,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;IAC7D,SAAgB,cAAc,EAAE,oBAAoB,GAAG,OAAO,KAAK,CAAC,QAAQ,CAAA;IAE5E,SAAgB,YAAY,mDAM1B;IAEF,SAAgB,KAAK,yDAGa;gBAEtB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,EAAE,yBAAyB;CAI1F"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Store } from 'effector';
|
|
2
|
+
import { GifCelebrationsApi } from './GifCelebrationsApi';
|
|
3
|
+
import { GifCelebrationsModelProps, GifObject, ProblemsGifsTable } from '../types/model.types';
|
|
4
|
+
import { GifCelebrationsCache } from './GifCelebrations.cache';
|
|
5
|
+
export declare class GifCelebrationsModel {
|
|
6
|
+
readonly api: GifCelebrationsApi;
|
|
7
|
+
readonly cache: GifCelebrationsCache;
|
|
8
|
+
readonly $problemsAmount: Store<number>;
|
|
9
|
+
readonly $resolvedProblemsAmount: Store<number>;
|
|
10
|
+
readonly play: import("effector").EventCallable<void>;
|
|
11
|
+
readonly stop: import("effector").EventCallable<void>;
|
|
12
|
+
readonly resetGifTriggerable: import("effector").EventCallable<void>;
|
|
13
|
+
readonly setGifTriggerable: import("effector").EventCallable<boolean>;
|
|
14
|
+
readonly $isGifTriggerable: import("effector").StoreWritable<boolean>;
|
|
15
|
+
readonly resetProblemsGifsTable: import("effector").EventCallable<void>;
|
|
16
|
+
readonly $problemsGifsTable: import("effector").StoreWritable<ProblemsGifsTable | null>;
|
|
17
|
+
readonly setActiveGif: import("effector").EventCallable<GifObject>;
|
|
18
|
+
readonly $activeGif: import("effector").StoreWritable<GifObject | null>;
|
|
19
|
+
private readonly localStorage;
|
|
20
|
+
readonly initialize: import("effector").EventCallable<void>;
|
|
21
|
+
constructor({ api, problemsAmount, resolvedProblemsAmount, customLocalStorage, customGetCachePathMethod, customPrefetchMethod, }: GifCelebrationsModelProps);
|
|
22
|
+
private failedGetGifxTimeout;
|
|
23
|
+
private setupEventHandlers;
|
|
24
|
+
private readonly updateGifShownStatus;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=GifCelebrations.model.d.ts.map
|
package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GifCelebrations.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrations.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,EAAE,MAAM,UAAU,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAEL,yBAAyB,EACzB,SAAS,EAET,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAU9D,qBAAa,oBAAoB;IAC/B,SAAgB,GAAG,EAAE,kBAAkB,CAAA;IACvC,SAAgB,KAAK,EAAE,oBAAoB,CAAA;IAE3C,SAAgB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC9C,SAAgB,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEtD,SAAgB,IAAI,yCAAgB;IACpC,SAAgB,IAAI,yCAAgB;IAEpC,SAAgB,mBAAmB,yCAAgB;IACnD,SAAgB,iBAAiB,4CAAyB;IAC1D,SAAgB,iBAAiB,4CAM9B;IAEH,SAAgB,sBAAsB,yCAAgB;IACtD,SAAgB,kBAAkB,6DAEjC;IAED,SAAgB,YAAY,8CAA2B;IACvD,SAAgB,UAAU,qDAGe;IAEzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;IAEvE,SAAgB,UAAU,yCAAgB;gBAE9B,EACV,GAAG,EACH,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,EAAE,yBAAyB;IAW5B,OAAO,CAAC,oBAAoB,CAA8B;IAE1D,OAAO,CAAC,kBAAkB;IA2F1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAyBpC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GifCelebrationApiRequests } from '../types/model.types';
|
|
2
|
+
export declare class GifCelebrationsApi {
|
|
3
|
+
readonly getGifsFx: import("./../../../lib/effector/createControllerEffect").ControlledEffect<void, import("../types/model.types").GifResponse>;
|
|
4
|
+
constructor(api: GifCelebrationApiRequests);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=GifCelebrationsApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GifCelebrationsApi.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrationsApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,qBAAa,kBAAkB;IAC7B,SAAgB,SAAS,8HAAA;gBAEb,GAAG,EAAE,yBAAyB;CAG3C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Store } from 'effector';
|
|
2
|
+
export type CustomGetCachePathMethod = (uri: string) => Promise<string | null>;
|
|
3
|
+
export type CustomPrefetchMethod = (gifs: string[] | string) => Promise<unknown>;
|
|
4
|
+
export type CustomLocalStorage = {
|
|
5
|
+
setItem: (key: string, value: string) => void;
|
|
6
|
+
getItem: (key: string) => string | null | undefined;
|
|
7
|
+
};
|
|
8
|
+
export type GroupNumber = number;
|
|
9
|
+
export type GifCelebrationApiRequests = {
|
|
10
|
+
getGifs: () => Promise<GifResponse>;
|
|
11
|
+
};
|
|
12
|
+
export type GifCelebrationsModelProps = {
|
|
13
|
+
api: GifCelebrationApiRequests;
|
|
14
|
+
problemsAmount: Store<number>;
|
|
15
|
+
resolvedProblemsAmount: Store<number>;
|
|
16
|
+
customLocalStorage?: CustomLocalStorage;
|
|
17
|
+
customPrefetchMethod?: CustomPrefetchMethod;
|
|
18
|
+
customGetCachePathMethod?: CustomGetCachePathMethod;
|
|
19
|
+
};
|
|
20
|
+
export type GifsGroup = string[];
|
|
21
|
+
export type GroupNumberString = `group${GroupNumber}`;
|
|
22
|
+
export type GifsGroups = Record<GroupNumberString, GifsGroup>;
|
|
23
|
+
export type GifObject = {
|
|
24
|
+
url: string;
|
|
25
|
+
group: GroupNumberString;
|
|
26
|
+
isShown?: boolean;
|
|
27
|
+
};
|
|
28
|
+
export type GifsStructure = Record<GroupNumberString, GifObject[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Usually, the response contains 3 groups of gifs:
|
|
31
|
+
* - group1: early celebrations
|
|
32
|
+
* - group2: mid celebrations
|
|
33
|
+
* - group3: party
|
|
34
|
+
*/
|
|
35
|
+
export type GifResponse = {
|
|
36
|
+
data: GifsGroups;
|
|
37
|
+
ok: boolean;
|
|
38
|
+
};
|
|
39
|
+
export type GifsPayload = {
|
|
40
|
+
group: number;
|
|
41
|
+
};
|
|
42
|
+
export type ProblemsGifsTable = Record<number, GifObject>;
|
|
43
|
+
export type ProgressValue = 0 | 1 | 2;
|
|
44
|
+
export type TextComponentType = (text: string) => React.ReactNode;
|
|
45
|
+
//# sourceMappingURL=model.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/types/model.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAChF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,yBAAyB,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7B,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACrC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;AAChC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,WAAW,EAAE,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,iBAAiB,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAA;AAClE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,UAAU,CAAA;IAChB,EAAE,EAAE,OAAO,CAAA;CACZ,CAAA;AACD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACzD,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,4BAA4B,CAAA"}
|
|
@@ -11,6 +11,6 @@ type RequestOptionalConfig = {
|
|
|
11
11
|
signal?: AbortSignal;
|
|
12
12
|
};
|
|
13
13
|
export declare function controlledRequest<R = void, P = void>(request: (props: P, config?: RequestOptionalConfig) => Promise<R>): ({ data, controller, abortAfter, }: ControlledRequestProps<P>) => Promise<R>;
|
|
14
|
-
export declare const createControllerEffect: <T, P>(fn: (props: P, config?: RequestOptionalConfig) => Promise<T>) => ControlledEffect<P, T>;
|
|
14
|
+
export declare const createControllerEffect: <T, P = void>(fn: (props: P, config?: RequestOptionalConfig) => Promise<T>) => ControlledEffect<P, T>;
|
|
15
15
|
export {};
|
|
16
16
|
//# sourceMappingURL=createControllerEffect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createControllerEffect.d.ts","sourceRoot":"","sources":["../../../../../src/lib/effector/createControllerEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAMpD,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"createControllerEffect.d.ts","sourceRoot":"","sources":["../../../../../src/lib/effector/createControllerEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,UAAU,CAAA;AAMpD,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;IAClD,UAAU,EAAE,eAAe,CAAA;CAC5B,CAAA;AAED,KAAK,sBAAsB,CAAC,CAAC,IAAI;IAC/B,IAAI,EAAE,CAAC,CAAA;IACP,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,qBAAqB,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAA;AAErD,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAClD,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC,CAAC,uCAM9D,sBAAsB,CAAC,CAAC,CAAC,gBAwB7B;AAED,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,CAAC,aACrC,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC,CAAC,2BAa7D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/lib/helpers/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,YAAW,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/lib/helpers/helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,YAAW,CAAA;AAE5B,eAAO,MAAM,gBAAgB,cACsC,CAAA;AASnE,eAAO,MAAM,mBAAmB,SAAU,IAAI,WAuB7C,CAAA"}
|
|
@@ -20,6 +20,11 @@ export declare const LOCALIZATION_CONFIGS: {
|
|
|
20
20
|
howCanIHelp: string;
|
|
21
21
|
showError: string;
|
|
22
22
|
};
|
|
23
|
+
gifCelebrations: {
|
|
24
|
+
greatStart: string;
|
|
25
|
+
onTheWay: string;
|
|
26
|
+
almostThere: string;
|
|
27
|
+
};
|
|
23
28
|
};
|
|
24
29
|
"en-GB": {
|
|
25
30
|
"teacherFeedback.noComments": string;
|
|
@@ -42,6 +47,11 @@ export declare const LOCALIZATION_CONFIGS: {
|
|
|
42
47
|
howCanIHelp: string;
|
|
43
48
|
showError: string;
|
|
44
49
|
};
|
|
50
|
+
gifCelebrations: {
|
|
51
|
+
greatStart: string;
|
|
52
|
+
onTheWay: string;
|
|
53
|
+
almostThere: string;
|
|
54
|
+
};
|
|
45
55
|
};
|
|
46
56
|
"sv-SE": {
|
|
47
57
|
"teacherFeedback.noComments": string;
|
|
@@ -64,6 +74,11 @@ export declare const LOCALIZATION_CONFIGS: {
|
|
|
64
74
|
howCanIHelp: string;
|
|
65
75
|
showError: string;
|
|
66
76
|
};
|
|
77
|
+
gifCelebrations: {
|
|
78
|
+
greatStart: string;
|
|
79
|
+
onTheWay: string;
|
|
80
|
+
almostThere: string;
|
|
81
|
+
};
|
|
67
82
|
};
|
|
68
83
|
};
|
|
69
84
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/constants.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/constants.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhC,CAAA"}
|
|
@@ -21,6 +21,11 @@ export declare const setLocalization: import("effector").EventCallable<{
|
|
|
21
21
|
howCanIHelp: string;
|
|
22
22
|
showError: string;
|
|
23
23
|
};
|
|
24
|
+
gifCelebrations: {
|
|
25
|
+
greatStart: string;
|
|
26
|
+
onTheWay: string;
|
|
27
|
+
almostThere: string;
|
|
28
|
+
};
|
|
24
29
|
} | ((config: typeof LOCALIZATION_CONFIGS) => Translations)>;
|
|
25
30
|
export declare const $localization: import("effector").StoreWritable<{
|
|
26
31
|
"teacherFeedback.noComments": string;
|
|
@@ -43,5 +48,10 @@ export declare const $localization: import("effector").StoreWritable<{
|
|
|
43
48
|
howCanIHelp: string;
|
|
44
49
|
showError: string;
|
|
45
50
|
};
|
|
51
|
+
gifCelebrations: {
|
|
52
|
+
greatStart: string;
|
|
53
|
+
onTheWay: string;
|
|
54
|
+
almostThere: string;
|
|
55
|
+
};
|
|
46
56
|
}>;
|
|
47
57
|
//# sourceMappingURL=model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/shared/translation/model.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;cACD,OAAO,oBAAoB,KAAK,YAAY,EACpE,CAAA;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../../../src/types/common.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/endOfAssignment/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAA;AAC7D,OAAO,EAGL,SAAS,EAET,SAAS,EAGT,SAAS,EACV,MAAM,cAAc,CAAA;AAwBrB,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,SAAS,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;QAC9B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;QAChC,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;QACpD,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;QACrD,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;QAC7B,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KACnC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,KAAK,2EAOf,UAAU,
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/endOfAssignment/components/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAA;AAC7D,OAAO,EAGL,SAAS,EAET,SAAS,EAGT,SAAS,EACV,MAAM,cAAc,CAAA;AAwBrB,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,SAAS,CAAA;IAClB,aAAa,EAAE,OAAO,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;QAC9B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;QAChC,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;QACpD,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;QACrD,MAAM,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;QAC7B,WAAW,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;KACnC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,KAAK,2EAOf,UAAU,6BA+BZ,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { GifCelebrationsModel } from './model/GifCelebrations.model';
|
|
3
|
+
import { TextComponentType } from './types/model.types';
|
|
4
|
+
type GifCelebrationsProps = {
|
|
5
|
+
model: GifCelebrationsModel;
|
|
6
|
+
TextComponent: TextComponentType;
|
|
7
|
+
};
|
|
8
|
+
export declare const GifCelebrations: ({ model, TextComponent }: GifCelebrationsProps) => React.JSX.Element | null;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=GifCelebrations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GifCelebrations.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/GifCelebrations.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAQxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAiB,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEtE,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,oBAAoB,CAAA;IAC3B,aAAa,EAAE,iBAAiB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,eAAe,6BAA8B,oBAAoB,6BA0D7E,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { ProgressValue } from '../types/model.types';
|
|
4
|
+
type BackdropProps = {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
progress: SharedValue<ProgressValue>;
|
|
7
|
+
};
|
|
8
|
+
export declare const Backdrop: ({ children, progress }: BackdropProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Backdrop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Backdrop.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Backdrop.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAiB,EAAsC,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAEnG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,QAAQ,2BAA4B,aAAa,sBAmB7D,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { ProgressValue } from '../types/model.types';
|
|
4
|
+
type ContentContainerProps = {
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
progress: SharedValue<ProgressValue>;
|
|
7
|
+
};
|
|
8
|
+
export declare const ContentContainer: ({ children, progress }: ContentContainerProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=ContentContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentContainer.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/ContentContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAiB,EAAiC,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;CACrC,CAAA;AAED,eAAO,MAAM,gBAAgB,2BAA4B,qBAAqB,sBAsB7E,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CustomGetCachePathMethod, GifObject, TextComponentType } from '../types/model.types';
|
|
3
|
+
type GifProps = {
|
|
4
|
+
gifObject: GifObject;
|
|
5
|
+
getCachePathMethod?: CustomGetCachePathMethod;
|
|
6
|
+
TextComponent: TextComponentType;
|
|
7
|
+
};
|
|
8
|
+
export declare const Gif: ({ gifObject, getCachePathMethod, TextComponent }: GifProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Gif.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Gif.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Gif.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAO7F,KAAK,QAAQ,GAAG;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;IAC7C,aAAa,EAAE,iBAAiB,CAAA;CACjC,CAAA;AAED,eAAO,MAAM,GAAG,qDAAsD,QAAQ,sBAkD7E,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SharedValue } from 'react-native-reanimated';
|
|
3
|
+
import { ProgressValue } from '../types/model.types';
|
|
4
|
+
type ProgressProps = {
|
|
5
|
+
progress: SharedValue<ProgressValue>;
|
|
6
|
+
completedPercent: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const Progress: ({ progress, completedPercent }: ProgressProps) => React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/components/Progress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAiB,EAAoB,WAAW,EAAe,MAAM,yBAAyB,CAAA;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGpD,KAAK,aAAa,GAAG;IACnB,QAAQ,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IACpC,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,QAAQ,mCAAoC,aAAa,sBAqCrE,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const BACKDROP_COLOR: {
|
|
2
|
+
INITIAL: string;
|
|
3
|
+
FINAL: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const CONTENT_CONTAINER: {
|
|
6
|
+
ANGLE: number;
|
|
7
|
+
CONTAINER_WIDTH: number;
|
|
8
|
+
ROTATION_PADDING: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const ANIMATION_DURATION = 1750;
|
|
11
|
+
export declare const MIN_PROBLEMS_TO_SHOW_GIF = 7;
|
|
12
|
+
export declare const MAX_GIF_SIZE: {
|
|
13
|
+
WIDTH: number;
|
|
14
|
+
HEIGHT: number;
|
|
15
|
+
};
|
|
16
|
+
export declare const MIN_GIF_SIZE = 300;
|
|
17
|
+
export declare const GROUPS_PERCENTAGES: {
|
|
18
|
+
group1: number[];
|
|
19
|
+
group2: number[];
|
|
20
|
+
group3: number[];
|
|
21
|
+
};
|
|
22
|
+
export declare const MIN_WIDTH_FOR_ONE_DIGIT = 12;
|
|
23
|
+
export declare const MIN_WIDTH_FOR_TWO_DIGITS = 15;
|
|
24
|
+
export declare const GET_GIFS_TIMEOUT = 5000;
|
|
25
|
+
export declare const GIFS_FETCHED_KEY = "gifsFetchedTimestamp";
|
|
26
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc;;;CAG1B,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;CAI7B,CAAA;AAED,eAAO,MAAM,kBAAkB,OAAO,CAAA;AACtC,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC,eAAO,MAAM,YAAY;;;CAGxB,CAAA;AACD,eAAO,MAAM,YAAY,MAAM,CAAA;AAE/B,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAA;AAED,eAAO,MAAM,uBAAuB,KAAK,CAAA;AACzC,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAE1C,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAEpC,eAAO,MAAM,gBAAgB,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TranslationKeys } from 'src/shared/translation/types';
|
|
2
|
+
import { CustomGetCachePathMethod, GifsGroups, GifsStructure, GroupNumber, ProblemsGifsTable } from './types/model.types';
|
|
3
|
+
/**
|
|
4
|
+
* Number of problems When we show gif
|
|
5
|
+
* <6 Never
|
|
6
|
+
* 7-12 50% completion
|
|
7
|
+
* 13-18 33%, 66% completion
|
|
8
|
+
* 19-24 25%, 50%, 75 completion
|
|
9
|
+
* 25-30 20%, 40%, 60%, 80% completion
|
|
10
|
+
* .>30 15%, 30%, 45%, 60%, 75% completion
|
|
11
|
+
*
|
|
12
|
+
* We are also going to have different buckets with different gifs. The logic is as follows:
|
|
13
|
+
* Group 1: 15%, 20%, 25%, 30% - Early celebrations
|
|
14
|
+
* Group 2: 33%, 40%, 45%, 50% - Mid celebrations
|
|
15
|
+
* Group 3: 60%, 66%, 75%, 80% - Party
|
|
16
|
+
* or
|
|
17
|
+
* Group 1: <=30% - Early celebrations
|
|
18
|
+
* Group 2: >30% <60% - Mid celebrations
|
|
19
|
+
* Group 3: >=60% - Party
|
|
20
|
+
*/
|
|
21
|
+
export declare const generateProblemsGifsTable: (problemsAmount: number, resolvedProblems: number, gifs: GifsStructure) => ProblemsGifsTable;
|
|
22
|
+
export declare const generateGifsStructure: (gifs: GifsGroups) => GifsStructure;
|
|
23
|
+
export declare const getGifLabel: (relatedGroup: GroupNumber) => TranslationKeys;
|
|
24
|
+
export declare const getProgressLineWidth: (completedPercent: number) => number;
|
|
25
|
+
export declare const findGroupForPercentage: (percentage: number) => "group1" | "group2" | "group3";
|
|
26
|
+
export declare const getImagePath: (url: string, cacheMethod?: CustomGetCachePathMethod) => Promise<string>;
|
|
27
|
+
export declare const constrainDimension: (value: number, min: number, max: number) => number;
|
|
28
|
+
export declare const shouldRefreshGifs: (timestamp: string | null | undefined) => boolean;
|
|
29
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EACL,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,WAAW,EAEX,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAI5B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,mBACpB,MAAM,oBACJ,MAAM,QAClB,aAAa,KAClB,iBA4BF,CAAA;AAaD,eAAO,MAAM,qBAAqB,SAAU,UAAU,KAAG,aAUtD,CAAA;AAEH,eAAO,MAAM,WAAW,iBAAkB,WAAW,KAAG,eASvD,CAAA;AAED,eAAO,MAAM,oBAAoB,qBAAsB,MAAM,WAQ5D,CAAA;AAED,eAAO,MAAM,sBAAsB,eAAgB,MAAM,mCAQxD,CAAA;AAED,eAAO,MAAM,YAAY,QAAe,MAAM,gBAAgB,wBAAwB,oBAWrF,CAAA;AAED,eAAO,MAAM,kBAAkB,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,WACrC,CAAA;AAErC,eAAO,MAAM,iBAAiB,cAAe,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,OASxE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/gifCelebrations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { GifsGroups, GifsStructure, CustomGetCachePathMethod, CustomPrefetchMethod } from '../types/model.types';
|
|
2
|
+
import { Image } from 'react-native';
|
|
3
|
+
type GifCelebrationsCacheProps = {
|
|
4
|
+
customPrefetchMethod?: CustomPrefetchMethod;
|
|
5
|
+
customGetCachePathMethod?: CustomGetCachePathMethod;
|
|
6
|
+
};
|
|
7
|
+
export declare class GifCelebrationsCache {
|
|
8
|
+
readonly initialSet: import("effector").EventCallable<GifsGroups>;
|
|
9
|
+
readonly set: import("effector").EventCallable<GifsStructure>;
|
|
10
|
+
readonly reset: import("effector").EventCallable<void>;
|
|
11
|
+
readonly getCachePathMethod?: CustomGetCachePathMethod;
|
|
12
|
+
readonly prefetchMethod: CustomPrefetchMethod | typeof Image.prefetch;
|
|
13
|
+
readonly prefetchGifs: import("effector").Effect<string[], void, Error>;
|
|
14
|
+
readonly $gifs: import("effector").StoreWritable<GifsStructure | null>;
|
|
15
|
+
constructor({ customGetCachePathMethod, customPrefetchMethod }: GifCelebrationsCacheProps);
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=GifCelebrations.cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GifCelebrations.cache.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrations.cache.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,KAAK,yBAAyB,GAAG;IAC/B,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD,CAAA;AAED,qBAAa,oBAAoB;IAC/B,SAAgB,UAAU,+CAA4B;IACtD,SAAgB,GAAG,kDAA+B;IAClD,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;IAC7D,SAAgB,cAAc,EAAE,oBAAoB,GAAG,OAAO,KAAK,CAAC,QAAQ,CAAA;IAE5E,SAAgB,YAAY,mDAM1B;IAEF,SAAgB,KAAK,yDAGa;gBAEtB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,EAAE,yBAAyB;CAI1F"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Store } from 'effector';
|
|
2
|
+
import { GifCelebrationsApi } from './GifCelebrationsApi';
|
|
3
|
+
import { GifCelebrationsModelProps, GifObject, ProblemsGifsTable } from '../types/model.types';
|
|
4
|
+
import { GifCelebrationsCache } from './GifCelebrations.cache';
|
|
5
|
+
export declare class GifCelebrationsModel {
|
|
6
|
+
readonly api: GifCelebrationsApi;
|
|
7
|
+
readonly cache: GifCelebrationsCache;
|
|
8
|
+
readonly $problemsAmount: Store<number>;
|
|
9
|
+
readonly $resolvedProblemsAmount: Store<number>;
|
|
10
|
+
readonly play: import("effector").EventCallable<void>;
|
|
11
|
+
readonly stop: import("effector").EventCallable<void>;
|
|
12
|
+
readonly resetGifTriggerable: import("effector").EventCallable<void>;
|
|
13
|
+
readonly setGifTriggerable: import("effector").EventCallable<boolean>;
|
|
14
|
+
readonly $isGifTriggerable: import("effector").StoreWritable<boolean>;
|
|
15
|
+
readonly resetProblemsGifsTable: import("effector").EventCallable<void>;
|
|
16
|
+
readonly $problemsGifsTable: import("effector").StoreWritable<ProblemsGifsTable | null>;
|
|
17
|
+
readonly setActiveGif: import("effector").EventCallable<GifObject>;
|
|
18
|
+
readonly $activeGif: import("effector").StoreWritable<GifObject | null>;
|
|
19
|
+
private readonly localStorage;
|
|
20
|
+
readonly initialize: import("effector").EventCallable<void>;
|
|
21
|
+
constructor({ api, problemsAmount, resolvedProblemsAmount, customLocalStorage, customGetCachePathMethod, customPrefetchMethod, }: GifCelebrationsModelProps);
|
|
22
|
+
private failedGetGifxTimeout;
|
|
23
|
+
private setupEventHandlers;
|
|
24
|
+
private readonly updateGifShownStatus;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=GifCelebrations.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GifCelebrations.model.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrations.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,EAAE,MAAM,UAAU,CAAA;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAEL,yBAAyB,EACzB,SAAS,EAET,iBAAiB,EAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAU9D,qBAAa,oBAAoB;IAC/B,SAAgB,GAAG,EAAE,kBAAkB,CAAA;IACvC,SAAgB,KAAK,EAAE,oBAAoB,CAAA;IAE3C,SAAgB,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC9C,SAAgB,uBAAuB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEtD,SAAgB,IAAI,yCAAgB;IACpC,SAAgB,IAAI,yCAAgB;IAEpC,SAAgB,mBAAmB,yCAAgB;IACnD,SAAgB,iBAAiB,4CAAyB;IAC1D,SAAgB,iBAAiB,4CAM9B;IAEH,SAAgB,sBAAsB,yCAAgB;IACtD,SAAgB,kBAAkB,6DAEjC;IAED,SAAgB,YAAY,8CAA2B;IACvD,SAAgB,UAAU,qDAGe;IAEzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;IAEvE,SAAgB,UAAU,yCAAgB;gBAE9B,EACV,GAAG,EACH,cAAc,EACd,sBAAsB,EACtB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,EAAE,yBAAyB;IAW5B,OAAO,CAAC,oBAAoB,CAA8B;IAE1D,OAAO,CAAC,kBAAkB;IA2F1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAyBpC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GifCelebrationApiRequests } from '../types/model.types';
|
|
2
|
+
export declare class GifCelebrationsApi {
|
|
3
|
+
readonly getGifsFx: import("./../../../lib/effector/createControllerEffect").ControlledEffect<void, import("../types/model.types").GifResponse>;
|
|
4
|
+
constructor(api: GifCelebrationApiRequests);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=GifCelebrationsApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GifCelebrationsApi.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/model/GifCelebrationsApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,qBAAa,kBAAkB;IAC7B,SAAgB,SAAS,8HAAA;gBAEb,GAAG,EAAE,yBAAyB;CAG3C"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Store } from 'effector';
|
|
2
|
+
export type CustomGetCachePathMethod = (uri: string) => Promise<string | null>;
|
|
3
|
+
export type CustomPrefetchMethod = (gifs: string[] | string) => Promise<unknown>;
|
|
4
|
+
export type CustomLocalStorage = {
|
|
5
|
+
setItem: (key: string, value: string) => void;
|
|
6
|
+
getItem: (key: string) => string | null | undefined;
|
|
7
|
+
};
|
|
8
|
+
export type GroupNumber = number;
|
|
9
|
+
export type GifCelebrationApiRequests = {
|
|
10
|
+
getGifs: () => Promise<GifResponse>;
|
|
11
|
+
};
|
|
12
|
+
export type GifCelebrationsModelProps = {
|
|
13
|
+
api: GifCelebrationApiRequests;
|
|
14
|
+
problemsAmount: Store<number>;
|
|
15
|
+
resolvedProblemsAmount: Store<number>;
|
|
16
|
+
customLocalStorage?: CustomLocalStorage;
|
|
17
|
+
customPrefetchMethod?: CustomPrefetchMethod;
|
|
18
|
+
customGetCachePathMethod?: CustomGetCachePathMethod;
|
|
19
|
+
};
|
|
20
|
+
export type GifsGroup = string[];
|
|
21
|
+
export type GroupNumberString = `group${GroupNumber}`;
|
|
22
|
+
export type GifsGroups = Record<GroupNumberString, GifsGroup>;
|
|
23
|
+
export type GifObject = {
|
|
24
|
+
url: string;
|
|
25
|
+
group: GroupNumberString;
|
|
26
|
+
isShown?: boolean;
|
|
27
|
+
};
|
|
28
|
+
export type GifsStructure = Record<GroupNumberString, GifObject[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Usually, the response contains 3 groups of gifs:
|
|
31
|
+
* - group1: early celebrations
|
|
32
|
+
* - group2: mid celebrations
|
|
33
|
+
* - group3: party
|
|
34
|
+
*/
|
|
35
|
+
export type GifResponse = {
|
|
36
|
+
data: GifsGroups;
|
|
37
|
+
ok: boolean;
|
|
38
|
+
};
|
|
39
|
+
export type GifsPayload = {
|
|
40
|
+
group: number;
|
|
41
|
+
};
|
|
42
|
+
export type ProblemsGifsTable = Record<number, GifObject>;
|
|
43
|
+
export type ProgressValue = 0 | 1 | 2;
|
|
44
|
+
export type TextComponentType = (text: string) => React.ReactNode;
|
|
45
|
+
//# sourceMappingURL=model.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.types.d.ts","sourceRoot":"","sources":["../../../../../../src/features/gifCelebrations/types/model.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,MAAM,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAChF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,yBAAyB,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC7B,sBAAsB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACrC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,oBAAoB,CAAC,EAAE,oBAAoB,CAAA;IAC3C,wBAAwB,CAAC,EAAE,wBAAwB,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;AAChC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,WAAW,EAAE,CAAA;AACrD,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,iBAAiB,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAA;AAClE;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,UAAU,CAAA;IAChB,EAAE,EAAE,OAAO,CAAA;CACZ,CAAA;AACD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACzD,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA"}
|