@magmamath/students-features 0.6.7-rc.2 → 0.6.7-rc.4

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.
Files changed (173) hide show
  1. package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js +0 -1
  2. package/dist/commonjs/features/endOfAssignment/components/Modal/Modal.js.map +1 -1
  3. package/dist/commonjs/features/gifCelebrations/GifCelebrations.js +62 -0
  4. package/dist/commonjs/features/gifCelebrations/GifCelebrations.js.map +1 -0
  5. package/dist/commonjs/features/gifCelebrations/assets/confetti.webp +0 -0
  6. package/dist/commonjs/features/gifCelebrations/assets/gifFallback.gif +0 -0
  7. package/dist/commonjs/features/gifCelebrations/components/Backdrop.js +44 -0
  8. package/dist/commonjs/features/gifCelebrations/components/Backdrop.js.map +1 -0
  9. package/dist/commonjs/features/gifCelebrations/components/ContentContainer.js +46 -0
  10. package/dist/commonjs/features/gifCelebrations/components/ContentContainer.js.map +1 -0
  11. package/dist/commonjs/features/gifCelebrations/components/Gif.js +90 -0
  12. package/dist/commonjs/features/gifCelebrations/components/Gif.js.map +1 -0
  13. package/dist/commonjs/features/gifCelebrations/components/Progress.js +96 -0
  14. package/dist/commonjs/features/gifCelebrations/components/Progress.js.map +1 -0
  15. package/dist/commonjs/features/gifCelebrations/constants.js +34 -0
  16. package/dist/commonjs/features/gifCelebrations/constants.js.map +1 -0
  17. package/dist/commonjs/features/gifCelebrations/helpers.js +114 -0
  18. package/dist/commonjs/features/gifCelebrations/helpers.js.map +1 -0
  19. package/dist/commonjs/features/gifCelebrations/index.js +20 -0
  20. package/dist/commonjs/features/gifCelebrations/index.js.map +1 -0
  21. package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.cache.js +30 -0
  22. package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.cache.js.map +1 -0
  23. package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.model.js +138 -0
  24. package/dist/commonjs/features/gifCelebrations/model/GifCelebrations.model.js.map +1 -0
  25. package/dist/commonjs/features/gifCelebrations/model/GifCelebrationsApi.js +27 -0
  26. package/dist/commonjs/features/gifCelebrations/model/GifCelebrationsApi.js.map +1 -0
  27. package/dist/commonjs/features/gifCelebrations/types/model.types.js +6 -0
  28. package/dist/commonjs/features/gifCelebrations/types/model.types.js.map +1 -0
  29. package/dist/commonjs/index.js +12 -0
  30. package/dist/commonjs/index.js.map +1 -1
  31. package/dist/commonjs/lib/effector/createControllerEffect.js.map +1 -1
  32. package/dist/commonjs/lib/helpers/helpers.js.map +1 -1
  33. package/dist/commonjs/react-app-env.d.js +2 -0
  34. package/dist/commonjs/react-app-env.d.js.map +1 -0
  35. package/dist/commonjs/shared/translation/localization/en.json +5 -0
  36. package/dist/commonjs/shared/translation/localization/gb.json +5 -0
  37. package/dist/commonjs/shared/translation/localization/sw.json +5 -0
  38. package/dist/commonjs/types/common.types.js +2 -0
  39. package/dist/commonjs/types/common.types.js.map +1 -0
  40. package/dist/module/features/endOfAssignment/components/Modal/Modal.js +1 -2
  41. package/dist/module/features/endOfAssignment/components/Modal/Modal.js.map +1 -1
  42. package/dist/module/features/gifCelebrations/GifCelebrations.js +55 -0
  43. package/dist/module/features/gifCelebrations/GifCelebrations.js.map +1 -0
  44. package/dist/module/features/gifCelebrations/assets/confetti.webp +0 -0
  45. package/dist/module/features/gifCelebrations/assets/gifFallback.gif +0 -0
  46. package/dist/module/features/gifCelebrations/components/Backdrop.js +36 -0
  47. package/dist/module/features/gifCelebrations/components/Backdrop.js.map +1 -0
  48. package/dist/module/features/gifCelebrations/components/ContentContainer.js +38 -0
  49. package/dist/module/features/gifCelebrations/components/ContentContainer.js.map +1 -0
  50. package/dist/module/features/gifCelebrations/components/Gif.js +82 -0
  51. package/dist/module/features/gifCelebrations/components/Gif.js.map +1 -0
  52. package/dist/module/features/gifCelebrations/components/Progress.js +88 -0
  53. package/dist/module/features/gifCelebrations/components/Progress.js.map +1 -0
  54. package/dist/module/features/gifCelebrations/constants.js +30 -0
  55. package/dist/module/features/gifCelebrations/constants.js.map +1 -0
  56. package/dist/module/features/gifCelebrations/helpers.js +103 -0
  57. package/dist/module/features/gifCelebrations/helpers.js.map +1 -0
  58. package/dist/module/features/gifCelebrations/index.js +5 -0
  59. package/dist/module/features/gifCelebrations/index.js.map +1 -0
  60. package/dist/module/features/gifCelebrations/model/GifCelebrations.cache.js +25 -0
  61. package/dist/module/features/gifCelebrations/model/GifCelebrations.cache.js.map +1 -0
  62. package/dist/module/features/gifCelebrations/model/GifCelebrations.model.js +133 -0
  63. package/dist/module/features/gifCelebrations/model/GifCelebrations.model.js.map +1 -0
  64. package/dist/module/features/gifCelebrations/model/GifCelebrationsApi.js +22 -0
  65. package/dist/module/features/gifCelebrations/model/GifCelebrationsApi.js.map +1 -0
  66. package/dist/module/features/gifCelebrations/types/model.types.js +4 -0
  67. package/dist/module/features/gifCelebrations/types/model.types.js.map +1 -0
  68. package/dist/module/index.js +1 -0
  69. package/dist/module/index.js.map +1 -1
  70. package/dist/module/lib/effector/createControllerEffect.js.map +1 -1
  71. package/dist/module/react-app-env.d.js +2 -0
  72. package/dist/module/react-app-env.d.js.map +1 -0
  73. package/dist/module/shared/translation/localization/en.json +5 -0
  74. package/dist/module/shared/translation/localization/gb.json +5 -0
  75. package/dist/module/shared/translation/localization/sw.json +5 -0
  76. package/dist/module/types/common.types.js +2 -0
  77. package/dist/module/types/common.types.js.map +1 -0
  78. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/Modal.d.ts.map +1 -1
  79. package/dist/typescript/commonjs/features/gifCelebrations/GifCelebrations.d.ts +10 -0
  80. package/dist/typescript/commonjs/features/gifCelebrations/GifCelebrations.d.ts.map +1 -0
  81. package/dist/typescript/commonjs/features/gifCelebrations/components/Backdrop.d.ts +10 -0
  82. package/dist/typescript/commonjs/features/gifCelebrations/components/Backdrop.d.ts.map +1 -0
  83. package/dist/typescript/commonjs/features/gifCelebrations/components/ContentContainer.d.ts +10 -0
  84. package/dist/typescript/commonjs/features/gifCelebrations/components/ContentContainer.d.ts.map +1 -0
  85. package/dist/typescript/commonjs/features/gifCelebrations/components/Gif.d.ts +10 -0
  86. package/dist/typescript/commonjs/features/gifCelebrations/components/Gif.d.ts.map +1 -0
  87. package/dist/typescript/commonjs/features/gifCelebrations/components/Progress.d.ts +10 -0
  88. package/dist/typescript/commonjs/features/gifCelebrations/components/Progress.d.ts.map +1 -0
  89. package/dist/typescript/commonjs/features/gifCelebrations/constants.d.ts +26 -0
  90. package/dist/typescript/commonjs/features/gifCelebrations/constants.d.ts.map +1 -0
  91. package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts +29 -0
  92. package/dist/typescript/commonjs/features/gifCelebrations/helpers.d.ts.map +1 -0
  93. package/dist/typescript/commonjs/features/gifCelebrations/index.d.ts +3 -0
  94. package/dist/typescript/commonjs/features/gifCelebrations/index.d.ts.map +1 -0
  95. package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts +18 -0
  96. package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map +1 -0
  97. package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts +25 -0
  98. package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrations.model.d.ts.map +1 -0
  99. package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrationsApi.d.ts +7 -0
  100. package/dist/typescript/commonjs/features/gifCelebrations/model/GifCelebrationsApi.d.ts.map +1 -0
  101. package/dist/typescript/commonjs/features/gifCelebrations/types/model.types.d.ts +45 -0
  102. package/dist/typescript/commonjs/features/gifCelebrations/types/model.types.d.ts.map +1 -0
  103. package/dist/typescript/commonjs/index.d.ts +1 -0
  104. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  105. package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts +1 -1
  106. package/dist/typescript/commonjs/lib/effector/createControllerEffect.d.ts.map +1 -1
  107. package/dist/typescript/commonjs/lib/helpers/helpers.d.ts.map +1 -1
  108. package/dist/typescript/commonjs/shared/translation/constants.d.ts +15 -0
  109. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  110. package/dist/typescript/commonjs/shared/translation/model.d.ts +10 -0
  111. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  112. package/dist/typescript/commonjs/types/common.types.d.ts +5 -0
  113. package/dist/typescript/commonjs/types/common.types.d.ts.map +1 -0
  114. package/dist/typescript/module/features/endOfAssignment/components/Modal/Modal.d.ts.map +1 -1
  115. package/dist/typescript/module/features/gifCelebrations/GifCelebrations.d.ts +10 -0
  116. package/dist/typescript/module/features/gifCelebrations/GifCelebrations.d.ts.map +1 -0
  117. package/dist/typescript/module/features/gifCelebrations/components/Backdrop.d.ts +10 -0
  118. package/dist/typescript/module/features/gifCelebrations/components/Backdrop.d.ts.map +1 -0
  119. package/dist/typescript/module/features/gifCelebrations/components/ContentContainer.d.ts +10 -0
  120. package/dist/typescript/module/features/gifCelebrations/components/ContentContainer.d.ts.map +1 -0
  121. package/dist/typescript/module/features/gifCelebrations/components/Gif.d.ts +10 -0
  122. package/dist/typescript/module/features/gifCelebrations/components/Gif.d.ts.map +1 -0
  123. package/dist/typescript/module/features/gifCelebrations/components/Progress.d.ts +10 -0
  124. package/dist/typescript/module/features/gifCelebrations/components/Progress.d.ts.map +1 -0
  125. package/dist/typescript/module/features/gifCelebrations/constants.d.ts +26 -0
  126. package/dist/typescript/module/features/gifCelebrations/constants.d.ts.map +1 -0
  127. package/dist/typescript/module/features/gifCelebrations/helpers.d.ts +29 -0
  128. package/dist/typescript/module/features/gifCelebrations/helpers.d.ts.map +1 -0
  129. package/dist/typescript/module/features/gifCelebrations/index.d.ts +3 -0
  130. package/dist/typescript/module/features/gifCelebrations/index.d.ts.map +1 -0
  131. package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.cache.d.ts +18 -0
  132. package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.cache.d.ts.map +1 -0
  133. package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.model.d.ts +25 -0
  134. package/dist/typescript/module/features/gifCelebrations/model/GifCelebrations.model.d.ts.map +1 -0
  135. package/dist/typescript/module/features/gifCelebrations/model/GifCelebrationsApi.d.ts +7 -0
  136. package/dist/typescript/module/features/gifCelebrations/model/GifCelebrationsApi.d.ts.map +1 -0
  137. package/dist/typescript/module/features/gifCelebrations/types/model.types.d.ts +45 -0
  138. package/dist/typescript/module/features/gifCelebrations/types/model.types.d.ts.map +1 -0
  139. package/dist/typescript/module/index.d.ts +1 -0
  140. package/dist/typescript/module/index.d.ts.map +1 -1
  141. package/dist/typescript/module/lib/effector/createControllerEffect.d.ts +1 -1
  142. package/dist/typescript/module/lib/effector/createControllerEffect.d.ts.map +1 -1
  143. package/dist/typescript/module/lib/helpers/helpers.d.ts.map +1 -1
  144. package/dist/typescript/module/shared/translation/constants.d.ts +15 -0
  145. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  146. package/dist/typescript/module/shared/translation/model.d.ts +10 -0
  147. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  148. package/dist/typescript/module/types/common.types.d.ts +5 -0
  149. package/dist/typescript/module/types/common.types.d.ts.map +1 -0
  150. package/package.json +3 -5
  151. package/src/features/endOfAssignment/components/Modal/Modal.tsx +1 -2
  152. package/src/features/gifCelebrations/GifCelebrations.tsx +75 -0
  153. package/src/features/gifCelebrations/assets/confetti.webp +0 -0
  154. package/src/features/gifCelebrations/assets/gifFallback.gif +0 -0
  155. package/src/features/gifCelebrations/components/Backdrop.tsx +41 -0
  156. package/src/features/gifCelebrations/components/ContentContainer.tsx +44 -0
  157. package/src/features/gifCelebrations/components/Gif.tsx +88 -0
  158. package/src/features/gifCelebrations/components/Progress.tsx +106 -0
  159. package/src/features/gifCelebrations/constants.ts +32 -0
  160. package/src/features/gifCelebrations/helpers.ts +144 -0
  161. package/src/features/gifCelebrations/index.ts +2 -0
  162. package/src/features/gifCelebrations/model/GifCelebrations.cache.ts +41 -0
  163. package/src/features/gifCelebrations/model/GifCelebrations.model.ts +177 -0
  164. package/src/features/gifCelebrations/model/GifCelebrationsApi.ts +26 -0
  165. package/src/features/gifCelebrations/types/model.types.ts +53 -0
  166. package/src/index.ts +1 -0
  167. package/src/lib/effector/createControllerEffect.ts +41 -41
  168. package/src/lib/helpers/helpers.ts +1 -1
  169. package/src/react-app-env.d.ts +6 -0
  170. package/src/shared/translation/localization/en.json +5 -0
  171. package/src/shared/translation/localization/gb.json +5 -0
  172. package/src/shared/translation/localization/sw.json +5 -0
  173. 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,3 @@
1
+ export { GifCelebrations } from './GifCelebrations';
2
+ export { GifCelebrationsModel } from './model/GifCelebrations.model';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,25 @@
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 setupEventHandlers;
23
+ private readonly updateGifShownStatus;
24
+ }
25
+ //# 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,kBAAkB;IA8E1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAyBpC;CACF"}
@@ -0,0 +1,7 @@
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
+ private failedGetGifxTimeout;
5
+ constructor(api: GifCelebrationApiRequests);
6
+ }
7
+ //# 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;AAGhE,qBAAa,kBAAkB;IAC7B,SAAgB,SAAS,8HAAA;IAEzB,OAAO,CAAC,oBAAoB,CAA8B;gBAE9C,GAAG,EAAE,yBAAyB;CAgB3C"}
@@ -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"}
@@ -6,4 +6,5 @@ export * from './features/celebrations';
6
6
  export * from './features/endOfAssignment';
7
7
  export * from './features/formulaSheet';
8
8
  export * from './features/problemSelector';
9
+ export * from './features/gifCelebrations';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -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;IAChD,UAAU,EAAE,eAAe,CAAA;CAC9B,CAAA;AAED,KAAK,sBAAsB,CAAC,CAAC,IAAI;IAC7B,IAAI,EAAE,CAAC,CAAA;IACP,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,KAAK,qBAAqB,GAAG;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,CAAA;AAErD,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,EAChD,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC,CAAC,uCAM9D,sBAAsB,CAAC,CAAC,CAAC,gBAwB/B;AAED,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,CAAC,MACnC,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,CAAC,CAAC,2BAa/D,CAAA"}
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,CAAC;AAE7B,eAAO,MAAM,gBAAgB,cACsC,CAAA;AASnE,eAAO,MAAM,mBAAmB,SAAU,IAAI,WAuB7C,CAAA"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIhC,CAAA"}
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;;;;;;;;;;;;;;;;;;;;;cACD,OAAO,oBAAoB,KAAK,YAAY,EACpE,CAAA;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;EAMzB,CAAA"}
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,5 @@
1
+ export type Size = {
2
+ width: number;
3
+ height: number;
4
+ };
5
+ //# sourceMappingURL=common.types.d.ts.map
@@ -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,6BAgCZ,CAAA"}
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,3 @@
1
+ export { GifCelebrations } from './GifCelebrations';
2
+ export { GifCelebrationsModel } from './model/GifCelebrations.model';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,25 @@
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 setupEventHandlers;
23
+ private readonly updateGifShownStatus;
24
+ }
25
+ //# 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,kBAAkB;IA8E1B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAyBpC;CACF"}
@@ -0,0 +1,7 @@
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
+ private failedGetGifxTimeout;
5
+ constructor(api: GifCelebrationApiRequests);
6
+ }
7
+ //# 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;AAGhE,qBAAa,kBAAkB;IAC7B,SAAgB,SAAS,8HAAA;IAEzB,OAAO,CAAC,oBAAoB,CAA8B;gBAE9C,GAAG,EAAE,yBAAyB;CAgB3C"}
@@ -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"}