@magmamath/students-features 0.5.7 → 0.5.8-rc-0

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 (110) hide show
  1. package/dist/commonjs/features/endOfAssignment/components/Modal/assets/SunrisingIcon.js +78 -4
  2. package/dist/commonjs/features/endOfAssignment/components/Modal/assets/SunrisingIcon.js.map +1 -1
  3. package/dist/commonjs/features/endOfAssignment/components/Modal/assets/TrophyIcon.js +6 -4
  4. package/dist/commonjs/features/endOfAssignment/components/Modal/assets/TrophyIcon.js.map +1 -1
  5. package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js +42 -21
  6. package/dist/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
  7. package/dist/commonjs/features/problemSelector/components/ProblemSelector.js +43 -0
  8. package/dist/commonjs/features/problemSelector/components/ProblemSelector.js.map +1 -0
  9. package/dist/commonjs/features/problemSelector/components/ProblemSelectorButton.js +69 -0
  10. package/dist/commonjs/features/problemSelector/components/ProblemSelectorButton.js.map +1 -0
  11. package/dist/commonjs/features/problemSelector/constants.js +220 -0
  12. package/dist/commonjs/features/problemSelector/constants.js.map +1 -0
  13. package/dist/commonjs/features/problemSelector/index.js +20 -0
  14. package/dist/commonjs/features/problemSelector/index.js.map +1 -0
  15. package/dist/commonjs/features/problemSelector/types.js +6 -0
  16. package/dist/commonjs/features/problemSelector/types.js.map +1 -0
  17. package/dist/commonjs/index.js +12 -0
  18. package/dist/commonjs/index.js.map +1 -1
  19. package/dist/commonjs/shared/icons/LockIcon.js +31 -0
  20. package/dist/commonjs/shared/icons/LockIcon.js.map +1 -0
  21. package/dist/commonjs/shared/icons/Pi.js +3 -1
  22. package/dist/commonjs/shared/icons/Pi.js.map +1 -1
  23. package/dist/commonjs/shared/icons/Valentine.js +3 -1
  24. package/dist/commonjs/shared/icons/Valentine.js.map +1 -1
  25. package/dist/commonjs/shared/icons/Winter.js +3 -1
  26. package/dist/commonjs/shared/icons/Winter.js.map +1 -1
  27. package/dist/module/features/endOfAssignment/components/Modal/assets/SunrisingIcon.js +78 -4
  28. package/dist/module/features/endOfAssignment/components/Modal/assets/SunrisingIcon.js.map +1 -1
  29. package/dist/module/features/endOfAssignment/components/Modal/assets/TrophyIcon.js +6 -4
  30. package/dist/module/features/endOfAssignment/components/Modal/assets/TrophyIcon.js.map +1 -1
  31. package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js +43 -22
  32. package/dist/module/features/endOfAssignment/components/NoAnswer/NoAnswer.js.map +1 -1
  33. package/dist/module/features/problemSelector/components/ProblemSelector.js +36 -0
  34. package/dist/module/features/problemSelector/components/ProblemSelector.js.map +1 -0
  35. package/dist/module/features/problemSelector/components/ProblemSelectorButton.js +63 -0
  36. package/dist/module/features/problemSelector/components/ProblemSelectorButton.js.map +1 -0
  37. package/dist/module/features/problemSelector/constants.js +216 -0
  38. package/dist/module/features/problemSelector/constants.js.map +1 -0
  39. package/dist/module/features/problemSelector/index.js +5 -0
  40. package/dist/module/features/problemSelector/index.js.map +1 -0
  41. package/dist/module/features/problemSelector/types.js +4 -0
  42. package/dist/module/features/problemSelector/types.js.map +1 -0
  43. package/dist/module/index.js +1 -0
  44. package/dist/module/index.js.map +1 -1
  45. package/dist/module/shared/icons/LockIcon.js +23 -0
  46. package/dist/module/shared/icons/LockIcon.js.map +1 -0
  47. package/dist/module/shared/icons/Pi.js +3 -1
  48. package/dist/module/shared/icons/Pi.js.map +1 -1
  49. package/dist/module/shared/icons/Valentine.js +3 -1
  50. package/dist/module/shared/icons/Valentine.js.map +1 -1
  51. package/dist/module/shared/icons/Winter.js +3 -1
  52. package/dist/module/shared/icons/Winter.js.map +1 -1
  53. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/assets/SunrisingIcon.d.ts +1 -1
  54. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/assets/SunrisingIcon.d.ts.map +1 -1
  55. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/assets/TrophyIcon.d.ts +1 -1
  56. package/dist/typescript/commonjs/features/endOfAssignment/components/Modal/assets/TrophyIcon.d.ts.map +1 -1
  57. package/dist/typescript/commonjs/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +1 -1
  58. package/dist/typescript/commonjs/features/problemSelector/components/ProblemSelector.d.ts +8 -0
  59. package/dist/typescript/commonjs/features/problemSelector/components/ProblemSelector.d.ts.map +1 -0
  60. package/dist/typescript/commonjs/features/problemSelector/components/ProblemSelectorButton.d.ts +4 -0
  61. package/dist/typescript/commonjs/features/problemSelector/components/ProblemSelectorButton.d.ts.map +1 -0
  62. package/dist/typescript/commonjs/features/problemSelector/constants.d.ts +22 -0
  63. package/dist/typescript/commonjs/features/problemSelector/constants.d.ts.map +1 -0
  64. package/dist/typescript/commonjs/features/problemSelector/index.d.ts +4 -0
  65. package/dist/typescript/commonjs/features/problemSelector/index.d.ts.map +1 -0
  66. package/dist/typescript/commonjs/features/problemSelector/types.d.ts +11 -0
  67. package/dist/typescript/commonjs/features/problemSelector/types.d.ts.map +1 -0
  68. package/dist/typescript/commonjs/index.d.ts +1 -0
  69. package/dist/typescript/commonjs/index.d.ts.map +1 -1
  70. package/dist/typescript/commonjs/shared/icons/LockIcon.d.ts +4 -0
  71. package/dist/typescript/commonjs/shared/icons/LockIcon.d.ts.map +1 -0
  72. package/dist/typescript/commonjs/shared/icons/Pi.d.ts.map +1 -1
  73. package/dist/typescript/commonjs/shared/icons/Valentine.d.ts.map +1 -1
  74. package/dist/typescript/commonjs/shared/icons/Winter.d.ts.map +1 -1
  75. package/dist/typescript/module/features/endOfAssignment/components/Modal/assets/SunrisingIcon.d.ts +1 -1
  76. package/dist/typescript/module/features/endOfAssignment/components/Modal/assets/SunrisingIcon.d.ts.map +1 -1
  77. package/dist/typescript/module/features/endOfAssignment/components/Modal/assets/TrophyIcon.d.ts +1 -1
  78. package/dist/typescript/module/features/endOfAssignment/components/Modal/assets/TrophyIcon.d.ts.map +1 -1
  79. package/dist/typescript/module/features/endOfAssignment/components/NoAnswer/NoAnswer.d.ts.map +1 -1
  80. package/dist/typescript/module/features/problemSelector/components/ProblemSelector.d.ts +8 -0
  81. package/dist/typescript/module/features/problemSelector/components/ProblemSelector.d.ts.map +1 -0
  82. package/dist/typescript/module/features/problemSelector/components/ProblemSelectorButton.d.ts +4 -0
  83. package/dist/typescript/module/features/problemSelector/components/ProblemSelectorButton.d.ts.map +1 -0
  84. package/dist/typescript/module/features/problemSelector/constants.d.ts +22 -0
  85. package/dist/typescript/module/features/problemSelector/constants.d.ts.map +1 -0
  86. package/dist/typescript/module/features/problemSelector/index.d.ts +4 -0
  87. package/dist/typescript/module/features/problemSelector/index.d.ts.map +1 -0
  88. package/dist/typescript/module/features/problemSelector/types.d.ts +11 -0
  89. package/dist/typescript/module/features/problemSelector/types.d.ts.map +1 -0
  90. package/dist/typescript/module/index.d.ts +1 -0
  91. package/dist/typescript/module/index.d.ts.map +1 -1
  92. package/dist/typescript/module/shared/icons/LockIcon.d.ts +4 -0
  93. package/dist/typescript/module/shared/icons/LockIcon.d.ts.map +1 -0
  94. package/dist/typescript/module/shared/icons/Pi.d.ts.map +1 -1
  95. package/dist/typescript/module/shared/icons/Valentine.d.ts.map +1 -1
  96. package/dist/typescript/module/shared/icons/Winter.d.ts.map +1 -1
  97. package/package.json +2 -2
  98. package/src/features/endOfAssignment/components/Modal/assets/SunrisingIcon.tsx +28 -3
  99. package/src/features/endOfAssignment/components/Modal/assets/TrophyIcon.tsx +4 -3
  100. package/src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx +52 -25
  101. package/src/features/problemSelector/components/ProblemSelector.tsx +37 -0
  102. package/src/features/problemSelector/components/ProblemSelectorButton.tsx +81 -0
  103. package/src/features/problemSelector/constants.ts +216 -0
  104. package/src/features/problemSelector/index.ts +3 -0
  105. package/src/features/problemSelector/types.ts +13 -0
  106. package/src/index.ts +1 -0
  107. package/src/shared/icons/LockIcon.tsx +16 -0
  108. package/src/shared/icons/Pi.tsx +4 -1
  109. package/src/shared/icons/Valentine.tsx +4 -1
  110. package/src/shared/icons/Winter.tsx +5 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","Winter","size","color","NEUTRAL_8","width","height","viewBox","fill","children","fillRule","clipRule","d"],"sourceRoot":"../../../../src","sources":["shared/icons/Winter.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAASC,MAAM,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGnD,SAASC,MAAMA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGL,MAAM,CAACM;AAAqB,CAAC,EAAE;EAClE,oBACEJ,IAAA,CAACJ,GAAG;IAACS,KAAK,EAAEH,IAAK;IAACI,MAAM,EAAEJ,IAAI,GAAG,IAAK;IAACK,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eACpET,IAAA,CAACH,IAAI;MACHa,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,CAAC,EAAC,yzCAAyzC;MAC3zCJ,IAAI,EAAEL;IAAM,CACb;EAAC,CACC,CAAC;AAEV;AAEA,eAAeF,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["React","Svg","Path","COLORS","jsx","_jsx","Winter","size","color","NEUTRAL_8","actualSize","height","width","viewBox","fill","children","fillRule","clipRule","d"],"sourceRoot":"../../../../src","sources":["shared/icons/Winter.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAC5C,SAASC,MAAM,QAAQ,4BAA4B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAGnD,SAASC,MAAMA,CAAC;EAAEC,IAAI,GAAG,EAAE;EAAEC,KAAK,GAAGL,MAAM,CAACM;AAAqB,CAAC,EAAE;EAClE,MAAMC,UAAU,GAAG,OAAOH,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAG,CAAC;EAEtD,MAAMI,MAAM,GAAGD,UAAU,GAAG,IAAI;EAEhC,oBACEL,IAAA,CAACJ,GAAG;IAACW,KAAK,EAAEL,IAAK;IAACI,MAAM,EAAEA,MAAO;IAACE,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,eAC/DV,IAAA,CAACH,IAAI;MACHc,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,CAAC,EAAC,yzCAAyzC;MAC3zCJ,IAAI,EAAEN;IAAM,CACb;EAAC,CACC,CAAC;AAEV;AAEA,eAAeF,MAAM","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { IconProps } from '../../../../../shared/icons/icon.types';
3
- export declare const SunrisingIcon: (props: IconProps) => React.JSX.Element;
3
+ export declare const SunrisingIcon: ({ size }: IconProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=SunrisingIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SunrisingIcon.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/endOfAssignment/components/Modal/assets/SunrisingIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,eAAO,MAAM,aAAa,UAAW,SAAS,sBA+L7C,CAAA"}
1
+ {"version":3,"file":"SunrisingIcon.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/endOfAssignment/components/Modal/assets/SunrisingIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,eAAO,MAAM,aAAa,aAAc,SAAS,sBAwNhD,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { IconProps } from '../../../../../shared/icons/icon.types';
3
- export declare const TrophyIcon: (props: IconProps) => React.JSX.Element;
3
+ export declare const TrophyIcon: ({ size }: IconProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=TrophyIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrophyIcon.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/endOfAssignment/components/Modal/assets/TrophyIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,eAAO,MAAM,UAAU,UAAW,SAAS,sBAyD1C,CAAA"}
1
+ {"version":3,"file":"TrophyIcon.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/endOfAssignment/components/Modal/assets/TrophyIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,eAAO,MAAM,UAAU,aAAc,SAAS,sBA0D7C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"NoAnswer.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAMlD,eAAO,MAAM,QAAQ,4CAA6C,oBAAoB,sBA0DrF,CAAA"}
1
+ {"version":3,"file":"NoAnswer.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAKlD,eAAO,MAAM,QAAQ,4CAA6C,oBAAoB,sBAqFrF,CAAA"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ProblemSelectorButtonProps } from '../types';
3
+ type ProblemSelectorProps = {
4
+ buttons: ProblemSelectorButtonProps[];
5
+ };
6
+ export declare const ProblemSelector: ({ buttons }: ProblemSelectorProps) => React.JSX.Element | null;
7
+ export {};
8
+ //# sourceMappingURL=ProblemSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProblemSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/features/problemSelector/components/ProblemSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAErD,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,0BAA0B,EAAE,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,eAAe,gBAAiB,oBAAoB,6BAYhE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ProblemSelectorButtonProps } from '../types';
3
+ export declare const ProblemSelectorButton: ({ text, state, onClick, badgeValue, locked, }: ProblemSelectorButtonProps) => React.JSX.Element;
4
+ //# sourceMappingURL=ProblemSelectorButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProblemSelectorButton.d.ts","sourceRoot":"","sources":["../../../../../../src/features/problemSelector/components/ProblemSelectorButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAErD,eAAO,MAAM,qBAAqB,kDAM/B,0BAA0B,sBA+C5B,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { ButtonColorPreset } from '@magmamath/react-native-ui';
2
+ import { ProblemSelectorButtonState } from './types';
3
+ export declare const BUTTON_SIZE = 49.5;
4
+ export declare const BADGE_COORDINATES: {
5
+ top: number;
6
+ right: number;
7
+ };
8
+ export declare const ICON_SIZE: {
9
+ width: number;
10
+ height: number;
11
+ };
12
+ export declare const PROBLEM_SELECTOR_CONTENT_WIDTH = 265;
13
+ export declare const PROBLEM_SELECTOR_BUTTON_STATE: {
14
+ readonly SELECTED: "selected";
15
+ readonly SOLVED: "solved";
16
+ readonly SOLVED_FIRST_ATTEMPT: "solved-first-attempt";
17
+ readonly NOT_SOLVED: "not-solved";
18
+ readonly MISTAKE: "mistake";
19
+ readonly EXAM: "exam";
20
+ };
21
+ export declare const COLOR_SCHEME_MAP: Record<ProblemSelectorButtonState, ButtonColorPreset>;
22
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/problemSelector/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEpD,eAAO,MAAM,WAAW,OAAO,CAAA;AAC/B,eAAO,MAAM,iBAAiB;;;CAAuB,CAAA;AACrD,eAAO,MAAM,SAAS;;;CAA4B,CAAA;AAClD,eAAO,MAAM,8BAA8B,MAAM,CAAA;AAEjD,eAAO,MAAM,6BAA6B;;;;;;;CAOhC,CAAA;AAEV,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAsMlF,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { ProblemSelector } from './components/ProblemSelector';
2
+ export { PROBLEM_SELECTOR_BUTTON_STATE } from './constants';
3
+ export type { ProblemSelectorButtonProps, ProblemSelectorButtonState } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/problemSelector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAC3D,YAAY,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { PROBLEM_SELECTOR_BUTTON_STATE } from './constants';
2
+ export type ProblemSelectorButtonState = (typeof PROBLEM_SELECTOR_BUTTON_STATE)[keyof typeof PROBLEM_SELECTOR_BUTTON_STATE];
3
+ export type ProblemSelectorButtonProps = {
4
+ key: string;
5
+ text: string;
6
+ state: ProblemSelectorButtonState;
7
+ locked: boolean;
8
+ onClick: () => void;
9
+ badgeValue?: number;
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/problemSelector/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAE3D,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,OAAO,6BAA6B,CAAC,CAAA;AAEpF,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,0BAA0B,CAAA;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA"}
@@ -5,4 +5,5 @@ export * from './features/feedback';
5
5
  export * from './features/celebrations';
6
6
  export * from './features/endOfAssignment';
7
7
  export * from './features/formulaSheet';
8
+ export * from './features/problemSelector';
8
9
  //# 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"}
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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IconProps } from './icon.types';
3
+ export declare const LockIcon: ({ width, height, color }: IconProps) => React.JSX.Element;
4
+ //# sourceMappingURL=LockIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockIcon.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/LockIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,eAAO,MAAM,QAAQ,6BAA2D,SAAS,sBASxF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pi.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Pi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,EAAE,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAS7D;AAED,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"Pi.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Pi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,EAAE,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAY7D;AAED,eAAe,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Valentine.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Valentine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,SAAS,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBASpE;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"Valentine.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Valentine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,SAAS,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAYpE;AAED,eAAe,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Winter.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Winter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,MAAM,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAWjE;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"Winter.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Winter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,MAAM,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAejE;AAED,eAAe,MAAM,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { IconProps } from '../../../../../shared/icons/icon.types';
3
- export declare const SunrisingIcon: (props: IconProps) => React.JSX.Element;
3
+ export declare const SunrisingIcon: ({ size }: IconProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=SunrisingIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SunrisingIcon.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/endOfAssignment/components/Modal/assets/SunrisingIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,eAAO,MAAM,aAAa,UAAW,SAAS,sBA+L7C,CAAA"}
1
+ {"version":3,"file":"SunrisingIcon.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/endOfAssignment/components/Modal/assets/SunrisingIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,eAAO,MAAM,aAAa,aAAc,SAAS,sBAwNhD,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  import { IconProps } from '../../../../../shared/icons/icon.types';
3
- export declare const TrophyIcon: (props: IconProps) => React.JSX.Element;
3
+ export declare const TrophyIcon: ({ size }: IconProps) => React.JSX.Element;
4
4
  //# sourceMappingURL=TrophyIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TrophyIcon.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/endOfAssignment/components/Modal/assets/TrophyIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,eAAO,MAAM,UAAU,UAAW,SAAS,sBAyD1C,CAAA"}
1
+ {"version":3,"file":"TrophyIcon.d.ts","sourceRoot":"","sources":["../../../../../../../../src/features/endOfAssignment/components/Modal/assets/TrophyIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAElE,eAAO,MAAM,UAAU,aAAc,SAAS,sBA0D7C,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"NoAnswer.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAazB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAMlD,eAAO,MAAM,QAAQ,4CAA6C,oBAAoB,sBA0DrF,CAAA"}
1
+ {"version":3,"file":"NoAnswer.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/endOfAssignment/components/NoAnswer/NoAnswer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAKlD,eAAO,MAAM,QAAQ,4CAA6C,oBAAoB,sBAqFrF,CAAA"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { ProblemSelectorButtonProps } from '../types';
3
+ type ProblemSelectorProps = {
4
+ buttons: ProblemSelectorButtonProps[];
5
+ };
6
+ export declare const ProblemSelector: ({ buttons }: ProblemSelectorProps) => React.JSX.Element | null;
7
+ export {};
8
+ //# sourceMappingURL=ProblemSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProblemSelector.d.ts","sourceRoot":"","sources":["../../../../../../src/features/problemSelector/components/ProblemSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAErD,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,0BAA0B,EAAE,CAAA;CACtC,CAAA;AAED,eAAO,MAAM,eAAe,gBAAiB,oBAAoB,6BAYhE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ProblemSelectorButtonProps } from '../types';
3
+ export declare const ProblemSelectorButton: ({ text, state, onClick, badgeValue, locked, }: ProblemSelectorButtonProps) => React.JSX.Element;
4
+ //# sourceMappingURL=ProblemSelectorButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProblemSelectorButton.d.ts","sourceRoot":"","sources":["../../../../../../src/features/problemSelector/components/ProblemSelectorButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AAErD,eAAO,MAAM,qBAAqB,kDAM/B,0BAA0B,sBA+C5B,CAAA"}
@@ -0,0 +1,22 @@
1
+ import { ButtonColorPreset } from '@magmamath/react-native-ui';
2
+ import { ProblemSelectorButtonState } from './types';
3
+ export declare const BUTTON_SIZE = 49.5;
4
+ export declare const BADGE_COORDINATES: {
5
+ top: number;
6
+ right: number;
7
+ };
8
+ export declare const ICON_SIZE: {
9
+ width: number;
10
+ height: number;
11
+ };
12
+ export declare const PROBLEM_SELECTOR_CONTENT_WIDTH = 265;
13
+ export declare const PROBLEM_SELECTOR_BUTTON_STATE: {
14
+ readonly SELECTED: "selected";
15
+ readonly SOLVED: "solved";
16
+ readonly SOLVED_FIRST_ATTEMPT: "solved-first-attempt";
17
+ readonly NOT_SOLVED: "not-solved";
18
+ readonly MISTAKE: "mistake";
19
+ readonly EXAM: "exam";
20
+ };
21
+ export declare const COLOR_SCHEME_MAP: Record<ProblemSelectorButtonState, ButtonColorPreset>;
22
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/features/problemSelector/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAwB,MAAM,4BAA4B,CAAA;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEpD,eAAO,MAAM,WAAW,OAAO,CAAA;AAC/B,eAAO,MAAM,iBAAiB;;;CAAuB,CAAA;AACrD,eAAO,MAAM,SAAS;;;CAA4B,CAAA;AAClD,eAAO,MAAM,8BAA8B,MAAM,CAAA;AAEjD,eAAO,MAAM,6BAA6B;;;;;;;CAOhC,CAAA;AAEV,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,0BAA0B,EAAE,iBAAiB,CAsMlF,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { ProblemSelector } from './components/ProblemSelector';
2
+ export { PROBLEM_SELECTOR_BUTTON_STATE } from './constants';
3
+ export type { ProblemSelectorButtonProps, ProblemSelectorButtonState } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/features/problemSelector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAC3D,YAAY,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { PROBLEM_SELECTOR_BUTTON_STATE } from './constants';
2
+ export type ProblemSelectorButtonState = (typeof PROBLEM_SELECTOR_BUTTON_STATE)[keyof typeof PROBLEM_SELECTOR_BUTTON_STATE];
3
+ export type ProblemSelectorButtonProps = {
4
+ key: string;
5
+ text: string;
6
+ state: ProblemSelectorButtonState;
7
+ locked: boolean;
8
+ onClick: () => void;
9
+ badgeValue?: number;
10
+ };
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/features/problemSelector/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAA;AAE3D,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,OAAO,6BAA6B,CAAC,CAAA;AAEpF,MAAM,MAAM,0BAA0B,GAAG;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,0BAA0B,CAAA;IACjC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA"}
@@ -5,4 +5,5 @@ export * from './features/feedback';
5
5
  export * from './features/celebrations';
6
6
  export * from './features/endOfAssignment';
7
7
  export * from './features/formulaSheet';
8
+ export * from './features/problemSelector';
8
9
  //# 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"}
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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IconProps } from './icon.types';
3
+ export declare const LockIcon: ({ width, height, color }: IconProps) => React.JSX.Element;
4
+ //# sourceMappingURL=LockIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockIcon.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/LockIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,eAAO,MAAM,QAAQ,6BAA2D,SAAS,sBASxF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pi.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Pi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,EAAE,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAS7D;AAED,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"Pi.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Pi.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,EAAE,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAY7D;AAED,eAAe,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Valentine.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Valentine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,SAAS,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBASpE;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"Valentine.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Valentine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,SAAS,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAYpE;AAED,eAAe,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Winter.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Winter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,MAAM,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAWjE;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"Winter.d.ts","sourceRoot":"","sources":["../../../../../src/shared/icons/Winter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,iBAAS,MAAM,CAAC,EAAE,IAAS,EAAE,KAAwB,EAAE,EAAE,SAAS,qBAejE;AAED,eAAe,MAAM,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "0.5.7",
3
+ "version": "0.5.8-rc-0",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -29,7 +29,7 @@
29
29
  "react-native-svg": "^15.10.0"
30
30
  },
31
31
  "devDependencies": {
32
- "@magmamath/react-native-ui": "0.4.12",
32
+ "@magmamath/react-native-ui": "0.4.17",
33
33
  "@react-native/eslint-config": "^0.73.1",
34
34
  "@release-it/conventional-changelog": "^9.0.2",
35
35
  "@types/jest": "^29.5.5",
@@ -2,11 +2,12 @@ import * as React from 'react'
2
2
  import Svg, { G, Path, Defs, LinearGradient, Stop } from 'react-native-svg'
3
3
  import { IconProps } from '../../../../../shared/icons/icon.types'
4
4
 
5
- export const SunrisingIcon = (props: IconProps) => {
6
- const height = (props.size ?? 0) * 0.606
5
+ export const SunrisingIcon = ({ size }: IconProps) => {
6
+ const actualSize = typeof size === 'number' ? size : 0
7
+ const height = actualSize * 0.606
7
8
 
8
9
  return (
9
- <Svg width={props.size} height={height} viewBox="0 0 909 551" fill="none" {...props}>
10
+ <Svg width={size} height={height} viewBox="0 0 909 551" fill="none">
10
11
  <G opacity={0.1}>
11
12
  <Path
12
13
  d="M164.04-598.854a893.984 893.984 0 01222.319 28.085L164.04 295.106v-893.96z"
@@ -68,6 +69,8 @@ export const SunrisingIcon = (props: IconProps) => {
68
69
  >
69
70
  <Stop stopColor="#FF245F" />
70
71
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
72
+ <Stop stopColor="#FF245F" />
73
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
71
74
  </LinearGradient>
72
75
  <LinearGradient
73
76
  id="paint1_linear_3505_1308"
@@ -79,6 +82,8 @@ export const SunrisingIcon = (props: IconProps) => {
79
82
  >
80
83
  <Stop stopColor="#FF245F" />
81
84
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
85
+ <Stop stopColor="#FF245F" />
86
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
82
87
  </LinearGradient>
83
88
  <LinearGradient
84
89
  id="paint2_linear_3505_1308"
@@ -90,6 +95,8 @@ export const SunrisingIcon = (props: IconProps) => {
90
95
  >
91
96
  <Stop stopColor="#FF245F" />
92
97
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
98
+ <Stop stopColor="#FF245F" />
99
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
93
100
  </LinearGradient>
94
101
  <LinearGradient
95
102
  id="paint3_linear_3505_1308"
@@ -101,6 +108,8 @@ export const SunrisingIcon = (props: IconProps) => {
101
108
  >
102
109
  <Stop stopColor="#FF245F" />
103
110
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
111
+ <Stop stopColor="#FF245F" />
112
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
104
113
  </LinearGradient>
105
114
  <LinearGradient
106
115
  id="paint4_linear_3505_1308"
@@ -112,6 +121,8 @@ export const SunrisingIcon = (props: IconProps) => {
112
121
  >
113
122
  <Stop stopColor="#FF245F" />
114
123
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
124
+ <Stop stopColor="#FF245F" />
125
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
115
126
  </LinearGradient>
116
127
  <LinearGradient
117
128
  id="paint5_linear_3505_1308"
@@ -123,6 +134,8 @@ export const SunrisingIcon = (props: IconProps) => {
123
134
  >
124
135
  <Stop stopColor="#FF245F" />
125
136
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
137
+ <Stop stopColor="#FF245F" />
138
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
126
139
  </LinearGradient>
127
140
  <LinearGradient
128
141
  id="paint6_linear_3505_1308"
@@ -134,6 +147,8 @@ export const SunrisingIcon = (props: IconProps) => {
134
147
  >
135
148
  <Stop stopColor="#FF245F" />
136
149
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
150
+ <Stop stopColor="#FF245F" />
151
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
137
152
  </LinearGradient>
138
153
  <LinearGradient
139
154
  id="paint7_linear_3505_1308"
@@ -145,6 +160,8 @@ export const SunrisingIcon = (props: IconProps) => {
145
160
  >
146
161
  <Stop stopColor="#FF245F" />
147
162
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
163
+ <Stop stopColor="#FF245F" />
164
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
148
165
  </LinearGradient>
149
166
  <LinearGradient
150
167
  id="paint8_linear_3505_1308"
@@ -156,6 +173,8 @@ export const SunrisingIcon = (props: IconProps) => {
156
173
  >
157
174
  <Stop stopColor="#FF245F" />
158
175
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
176
+ <Stop stopColor="#FF245F" />
177
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
159
178
  </LinearGradient>
160
179
  <LinearGradient
161
180
  id="paint9_linear_3505_1308"
@@ -167,6 +186,8 @@ export const SunrisingIcon = (props: IconProps) => {
167
186
  >
168
187
  <Stop stopColor="#FF245F" />
169
188
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
189
+ <Stop stopColor="#FF245F" />
190
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
170
191
  </LinearGradient>
171
192
  <LinearGradient
172
193
  id="paint10_linear_3505_1308"
@@ -178,6 +199,8 @@ export const SunrisingIcon = (props: IconProps) => {
178
199
  >
179
200
  <Stop stopColor="#FF245F" />
180
201
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
202
+ <Stop stopColor="#FF245F" />
203
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
181
204
  </LinearGradient>
182
205
  <LinearGradient
183
206
  id="paint11_linear_3505_1308"
@@ -189,6 +212,8 @@ export const SunrisingIcon = (props: IconProps) => {
189
212
  >
190
213
  <Stop stopColor="#FF245F" />
191
214
  <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
215
+ <Stop stopColor="#FF245F" />
216
+ <Stop offset={1} stopColor="#FF7917" stopOpacity={0} />
192
217
  </LinearGradient>
193
218
  </Defs>
194
219
  </Svg>
@@ -2,11 +2,12 @@ import * as React from 'react'
2
2
  import Svg, { Path } from 'react-native-svg'
3
3
  import { IconProps } from '../../../../../shared/icons/icon.types'
4
4
 
5
- export const TrophyIcon = (props: IconProps) => {
6
- const height = (props.size ?? 0) * 0.982
5
+ export const TrophyIcon = ({ size }: IconProps) => {
6
+ const actualSize = typeof size === 'number' ? size : 0
7
+ const height = actualSize * 0.982
7
8
 
8
9
  return (
9
- <Svg width={props.size} height={height} viewBox="0 0 466 458" fill="none" {...props}>
10
+ <Svg width={size} height={height} viewBox="0 0 466 458" fill="none">
10
11
  <Path
11
12
  d="M258.454 244.45l-5.731 32.767 16.384 2.86c8.047 1.407 15.796 2.106 23.222 2.106 15.697.011 29.985-3.137 42.766-9.389 6.728-3.292 13.025-7.438 18.9-12.449 44.672-38.12 50.247-115.859 49.604-158.813-.288-18.467-9.466-35.848-24.575-46.49-9.355-6.606-20.23-10.209-31.348-10.575a57.996 57.996 0 00-17.935 2.206c-14.355 4.09-26.36 13.38-33.875 25.994l-32.379-14.332L250.03 88.75l39.162 17.326c6.274 2.771 13.247 2.916 19.632.388 6.374-2.516 11.373-7.382 14.055-13.7a24.56 24.56 0 0115.974-14.112c2.993-.853 6.052-1.13 9.056-.853a24.578 24.578 0 0111.961 4.422c6.44 4.534 10.353 11.95 10.475 19.82 1.164 76.841-18.822 112.224-32.024 127.144-2.195 2.494-4.213 4.412-5.909 5.864-14.632 12.47-33.465 16.483-57.586 12.271l-16.372-2.871zM37.623 282.187c7.429 0 15.173-.703 23.223-2.111l16.379-2.864-5.73-32.757-16.378 2.865c-24.126 4.221-42.953.202-57.575-12.274-11.858-10.119-39.295-43.336-37.936-133.006.119-7.871 4.036-15.28 10.476-19.82a24.601 24.601 0 0121.015-3.57A24.606 24.606 0 017.075 92.764c2.683 6.318 7.675 11.186 14.058 13.709 6.384 2.522 13.355 2.38 19.63-.396l39.152-17.329-13.46-30.41-32.37 14.328C26.57 60.055 14.57 50.762.213 46.67c-16.936-4.828-34.901-1.777-49.293 8.369-15.102 10.647-24.286 28.03-24.565 46.498-.652 42.947 4.926 120.686 49.6 158.806 17.036 14.535 37.71 21.844 61.668 21.844z"
12
13
  fill="#FFD690"
@@ -5,6 +5,7 @@ import { useUnit } from 'effector-react'
5
5
  import {
6
6
  Button,
7
7
  ButtonColor,
8
+ ButtonSize,
8
9
  ButtonVariant,
9
10
  COLORS,
10
11
  SPACING,
@@ -13,7 +14,6 @@ import {
13
14
 
14
15
  import { EOAModalContentProps } from '../../types'
15
16
  import { NoAnswerContent } from './NoAnswerContent'
16
- import { PracticeButton } from '../../ui/PracticeButton'
17
17
  import { useKeyBoard } from '../../../../shared/hooks/useKeyboard'
18
18
  import { KeyboardKeys } from '../../../../lib/constants'
19
19
 
@@ -22,17 +22,49 @@ export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalConten
22
22
 
23
23
  const { stats, isExam, user } = popUpData ?? {}
24
24
 
25
- const buttonColorScheme = isExam ? ButtonColor.YELLOW : ButtonColor.BLUE
26
- const practiceButtonVisible = user?.practiceButtonVisible && (!isExam || !!user?.practiceMode)
25
+ function getButtons() {
26
+ const buttons = [
27
+ {
28
+ text: textContent.leftButtonText ?? '',
29
+ colorScheme: isExam ? ButtonColor.PURPLE : ButtonColor.BLUE,
30
+ onPress: () => model.hidePopUpAndLeave(),
31
+ },
32
+ ]
27
33
 
28
- const handlePrimaryButtonPress = () => {
29
- isExam ? onPracticePress?.() : model.goToFirstProblemPressed()
30
- model.hidePopUp()
34
+ if (!isExam) {
35
+ buttons.push({
36
+ text: textContent.rightButtonText ?? '',
37
+ colorScheme: ButtonColor.BLUE,
38
+ onPress: () => {
39
+ model.goToFirstProblemPressed()
40
+ model.hidePopUp()
41
+ },
42
+ })
43
+ return buttons
44
+ }
45
+
46
+ const isPracticeAvailable = !!user?.practiceMode && user?.practiceButtonVisible
47
+
48
+ if (isPracticeAvailable) {
49
+ buttons.push({
50
+ text: textContent.rightButtonText ?? '',
51
+ colorScheme: ButtonColor.YELLOW,
52
+ onPress: () => {
53
+ onPracticePress?.()
54
+ model.hidePopUp()
55
+ },
56
+ })
57
+ }
58
+
59
+ return buttons
31
60
  }
32
61
 
62
+ const buttons = getButtons()
63
+
33
64
  useKeyBoard((event) => {
34
65
  if (event.key === KeyboardKeys.ENTER) {
35
- practiceButtonVisible ? handlePrimaryButtonPress() : model.hidePopUpAndLeave()
66
+ const primaryButton = buttons.at(-1)
67
+ primaryButton?.onPress()
36
68
  }
37
69
  })
38
70
 
@@ -44,7 +76,7 @@ export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalConten
44
76
  {textContent.title}
45
77
  </Typography>
46
78
  )}
47
- {!!textContent.subtitle && practiceButtonVisible && (
79
+ {!!textContent.subtitle && buttons.length === 2 && (
48
80
  <Typography variant="h4" style={styles.subtitle}>
49
81
  {textContent.subtitle}
50
82
  </Typography>
@@ -55,23 +87,18 @@ export const NoAnswer = ({ model, textContent, onPracticePress }: EOAModalConten
55
87
  problemsAmount={stats?.problemsAmount ?? 0}
56
88
  />
57
89
  <View style={styles.buttonsContainer}>
58
- <Button
59
- variant={practiceButtonVisible ? ButtonVariant.TERTIARY : ButtonVariant.PRIMARY}
60
- size="large"
61
- colorScheme={popUpData?.isExam ? ButtonColor.PURPLE : ButtonColor.BLUE}
62
- style={{ text: { textTransform: 'uppercase' } }}
63
- onPress={model.hidePopUpAndLeave}
64
- >
65
- {textContent.leftButtonText ?? ''}
66
- </Button>
67
-
68
- {practiceButtonVisible && (
69
- <PracticeButton
70
- onPress={handlePrimaryButtonPress}
71
- text={textContent.rightButtonText}
72
- colorScheme={buttonColorScheme}
73
- />
74
- )}
90
+ {buttons.map((button, index) => (
91
+ <Button
92
+ key={index}
93
+ variant={index === buttons.length - 1 ? ButtonVariant.PRIMARY : ButtonVariant.TERTIARY}
94
+ size={ButtonSize.LARGE}
95
+ colorScheme={button.colorScheme}
96
+ style={{ text: { textTransform: 'uppercase' } }}
97
+ onPress={button.onPress}
98
+ >
99
+ {button.text}
100
+ </Button>
101
+ ))}
75
102
  </View>
76
103
  </View>
77
104
  )