@cuemath/leap 3.2.23-as1 → 3.2.23-j1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/illustrations/illustrations.js +0 -6
- package/dist/assets/illustrations/illustrations.js.map +1 -1
- package/dist/assets/images/images.js +0 -10
- package/dist/assets/images/images.js.map +1 -1
- package/dist/assets/lottie/lottie.js +2 -7
- package/dist/assets/lottie/lottie.js.map +1 -1
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js +2 -1
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-constants.js.map +1 -1
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js +8 -8
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message-styled.js.map +1 -1
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js +82 -60
- package/dist/features/auth/comps/animated-avatar-message/animated-avatar-message.js.map +1 -1
- package/dist/features/ui/constants/z-index.js +3 -5
- package/dist/features/ui/constants/z-index.js.map +1 -1
- package/dist/features/ui/inputs/base-select-input/base-select-input.js +67 -77
- package/dist/features/ui/inputs/base-select-input/base-select-input.js.map +1 -1
- package/dist/features/ui/lottie-animation/lottie-animation.js +27 -24
- package/dist/features/ui/lottie-animation/lottie-animation.js.map +1 -1
- package/dist/index.d.ts +4 -245
- package/dist/index.js +603 -619
- package/dist/index.js.map +1 -1
- package/dist/node_modules/decode-uri-component/index.js.map +1 -0
- package/dist/node_modules/query-string/base.js +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/native.js +7 -0
- package/dist/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/node_modules/uuid/dist/esm-browser/rng.js +3 -2
- package/dist/node_modules/uuid/dist/esm-browser/rng.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js +6 -10
- package/dist/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -1
- package/dist/node_modules/uuid/dist/esm-browser/v4.js +12 -9
- package/dist/node_modules/uuid/dist/esm-browser/v4.js.map +1 -1
- package/dist/static/animated-avatar.95f31960.json +1 -0
- package/dist/static/animated-avatar.c3a0fa98.json +1 -0
- package/package.json +1 -2
- package/dist/assets/line-icons/icons/cue-coin.js +0 -182
- package/dist/assets/line-icons/icons/cue-coin.js.map +0 -1
- package/dist/assets/line-icons/icons/wins-common-icon.js +0 -26
- package/dist/assets/line-icons/icons/wins-common-icon.js.map +0 -1
- package/dist/assets/line-icons/icons/wins-epic-icon.js +0 -25
- package/dist/assets/line-icons/icons/wins-epic-icon.js.map +0 -1
- package/dist/assets/line-icons/icons/wins-legendary-icon.js +0 -25
- package/dist/assets/line-icons/icons/wins-legendary-icon.js.map +0 -1
- package/dist/assets/line-icons/icons/wins-mystery-icon.js +0 -105
- package/dist/assets/line-icons/icons/wins-mystery-icon.js.map +0 -1
- package/dist/assets/line-icons/icons/wins-mythic-icon.js +0 -28
- package/dist/assets/line-icons/icons/wins-mythic-icon.js.map +0 -1
- package/dist/assets/line-icons/icons/wins-rare-icon.js +0 -28
- package/dist/assets/line-icons/icons/wins-rare-icon.js.map +0 -1
- package/dist/features/notification/notification.js +0 -129
- package/dist/features/notification/notification.js.map +0 -1
- package/dist/features/ui/carousal/carousal-styles.js +0 -45
- package/dist/features/ui/carousal/carousal-styles.js.map +0 -1
- package/dist/features/ui/carousal/carousal.js +0 -76
- package/dist/features/ui/carousal/carousal.js.map +0 -1
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation-styled.js +0 -9
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation-styled.js.map +0 -1
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js +0 -80
- package/dist/features/ui/dot-lottie-animations/dot-lottie-animation.js.map +0 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js +0 -108
- package/dist/features/wins-dashboard/belts-elements-stickers/belts-elements-stickers.js.map +0 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/belts.js +0 -94
- package/dist/features/wins-dashboard/belts-elements-stickers/belts.js.map +0 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/elements.js +0 -182
- package/dist/features/wins-dashboard/belts-elements-stickers/elements.js.map +0 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js +0 -35
- package/dist/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.js.map +0 -1
- package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js +0 -82
- package/dist/features/wins-dashboard/belts-elements-stickers/reward-elements.js.map +0 -1
- package/dist/features/wins-dashboard/constants.js +0 -161
- package/dist/features/wins-dashboard/constants.js.map +0 -1
- package/dist/features/wins-dashboard/header/wins-header.js +0 -95
- package/dist/features/wins-dashboard/header/wins-header.js.map +0 -1
- package/dist/features/wins-dashboard/student-badges/animated-tabbar.js +0 -65
- package/dist/features/wins-dashboard/student-badges/animated-tabbar.js.map +0 -1
- package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-hook.js +0 -107
- package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-hook.js.map +0 -1
- package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js +0 -135
- package/dist/features/wins-dashboard/student-badges/hooks/use-student-badge-list-hook.js.map +0 -1
- package/dist/features/wins-dashboard/student-badges/student-badge.js +0 -161
- package/dist/features/wins-dashboard/student-badges/student-badge.js.map +0 -1
- package/dist/features/wins-dashboard/student-badges/student-badges-lists.js +0 -136
- package/dist/features/wins-dashboard/student-badges/student-badges-lists.js.map +0 -1
- package/dist/node_modules/@lottiefiles/dotlottie-web/dist/index.js +0 -1881
- package/dist/node_modules/@lottiefiles/dotlottie-web/dist/index.js.map +0 -1
- package/dist/node_modules/query-string/node_modules/decode-uri-component/index.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- package/dist/static/awesome.4239f583.json +0 -1
- package/dist/static/black-belt.81b3ebf9.png +0 -0
- package/dist/static/blue-belt.508a1b4b.png +0 -0
- package/dist/static/brown-belt.09bb7e93.png +0 -0
- package/dist/static/clapping-hands.17e7ecf0.json +0 -1
- package/dist/static/common.9e8ceef1.svg +0 -1
- package/dist/static/cool.cd6921bb.json +0 -1
- package/dist/static/epic.37a0265a.svg +0 -1
- package/dist/static/green-belt.5501296f.png +0 -0
- package/dist/static/legendary.f15d09ca.svg +0 -1
- package/dist/static/like-button.281a2618.json +0 -1
- package/dist/static/mastered-badge.91d25e92.png +0 -0
- package/dist/static/mystery.81ada5fb.svg +0 -1
- package/dist/static/mythic.58ba0ae0.svg +0 -1
- package/dist/static/orange-belt.1fefcc8c.png +0 -0
- package/dist/static/purple-belt.e15611b4.png +0 -0
- package/dist/static/rare.1ffaa311.svg +0 -1
- package/dist/static/red-belt.11f841d9.png +0 -0
- package/dist/static/star-strike-emoji.c0b31028.json +0 -1
- package/dist/static/trophy.5ef1853a.json +0 -1
- package/dist/static/white-belt.ea93103e.png +0 -0
- package/dist/static/yellow-belt.0c47b8cc.png +0 -0
- /package/dist/node_modules/{query-string/node_modules/decode-uri-component → decode-uri-component}/index.js +0 -0
@@ -1,182 +0,0 @@
|
|
1
|
-
import { jsxs as h, jsx as o } from "react/jsx-runtime";
|
2
|
-
import { useState as S } from "react";
|
3
|
-
import r, { css as a } from "styled-components";
|
4
|
-
import l from "../../ui/layout/flex-view.js";
|
5
|
-
import T from "../../ui/lottie-animation/lottie-animation.js";
|
6
|
-
import w from "../../ui/separator/separator.js";
|
7
|
-
import m from "../../ui/text/text.js";
|
8
|
-
import { SCREEN_SIZES as u, getRewardElement as L, elementColors as D } from "../constants.js";
|
9
|
-
const W = {
|
10
|
-
TETRA: 0.5,
|
11
|
-
COSA: 0.3,
|
12
|
-
DODA: 0.3,
|
13
|
-
HEXO: 0.5,
|
14
|
-
OCTO: 0.5,
|
15
|
-
EKA: 0.5,
|
16
|
-
DVI: 0.3,
|
17
|
-
CHATVA: 0.3,
|
18
|
-
ASHTA: 0.5,
|
19
|
-
ZODASA: 0.4,
|
20
|
-
CLAP: 0.6,
|
21
|
-
COOL: 0.6,
|
22
|
-
LIKE: 0.6,
|
23
|
-
WOW: 0.6,
|
24
|
-
CHEER: 0.6,
|
25
|
-
"ROCK-ON": 0.6
|
26
|
-
}, R = {
|
27
|
-
ASHTA: "Ashta",
|
28
|
-
CHATVA: "Chatva",
|
29
|
-
COSA: "Cosa",
|
30
|
-
DODA: "Doca",
|
31
|
-
DVI: "Dvi",
|
32
|
-
EKA: "Eka",
|
33
|
-
HEXO: "Hexo",
|
34
|
-
OCTO: "Octo",
|
35
|
-
TETRA: "T'tro",
|
36
|
-
ZODASA: "Zodasa",
|
37
|
-
CONGRATS: "Congrats",
|
38
|
-
COOL: "Cool",
|
39
|
-
KUDOS: "Kudos",
|
40
|
-
GREAT: "Great",
|
41
|
-
WOW: "Wow",
|
42
|
-
AWESOME: "Awesome"
|
43
|
-
}, P = (t, e) => {
|
44
|
-
let i = null, s = "-4px", n = null;
|
45
|
-
return t ? n = "-4px" : (i = `${e ? "-2px" : "2px"}`, s = `${e ? "-4px" : "2px"}`), `
|
46
|
-
bottom: ${i};
|
47
|
-
top: ${n};
|
48
|
-
right: ${s};
|
49
|
-
`;
|
50
|
-
}, H = r(l)`
|
51
|
-
align-items: center;
|
52
|
-
gap: 4px;
|
53
|
-
`, K = r(l)`
|
54
|
-
position: absolute;
|
55
|
-
top: -3px;
|
56
|
-
align-items: center;
|
57
|
-
justify-content: center;
|
58
|
-
width: 62px;
|
59
|
-
height: 62px;
|
60
|
-
`, V = r.div`
|
61
|
-
position: relative;
|
62
|
-
width: 62px;
|
63
|
-
height: 62px;
|
64
|
-
`, y = r.div`
|
65
|
-
position: relative;
|
66
|
-
`, G = r.img`
|
67
|
-
width: 56px;
|
68
|
-
height: 56px;
|
69
|
-
${({ $disabled: t, $disabledVal: e }) => t && a`
|
70
|
-
filter: saturate(0);
|
71
|
-
opacity: ${e};
|
72
|
-
`}
|
73
|
-
`, I = r.div`
|
74
|
-
border: 1px solid ${({ theme: t }) => t.colors.GREY_2};
|
75
|
-
border-radius: 8px;
|
76
|
-
`, j = r(l)`
|
77
|
-
width: 62px;
|
78
|
-
height: 62px;
|
79
|
-
align-items: center;
|
80
|
-
justify-content: center;
|
81
|
-
${({ $disabled: t, $disabledVal: e }) => t && a`
|
82
|
-
filter: saturate(0);
|
83
|
-
opacity: ${e};
|
84
|
-
`}
|
85
|
-
`, Z = r(l)`
|
86
|
-
position: absolute;
|
87
|
-
${({ $isSticker: t, $isCoddingType: e }) => P(t, e)};
|
88
|
-
background-color: ${({ theme: t }) => t.colors.GREY_2};
|
89
|
-
border-radius: ${({ $borderRadius: t }) => t};
|
90
|
-
border: ${({ $borderColor: t }) => `1px solid ${t}`};
|
91
|
-
width: ${({ $width: t }) => t}px;
|
92
|
-
height: 16px;
|
93
|
-
align-items: center;
|
94
|
-
justify-content: center;
|
95
|
-
${({ $currentScreenWidth: t, $width: e }) => t < u.LAPTOP && a`
|
96
|
-
width: ${e + 6}px;
|
97
|
-
height: 22px;
|
98
|
-
`}
|
99
|
-
`, v = r(m)`
|
100
|
-
font-size: 9px;
|
101
|
-
line-height: 14px;
|
102
|
-
${({ $currentScreenWidth: t }) => t < u.LAPTOP && a`
|
103
|
-
font-size: 12px;
|
104
|
-
line-height: 14px;
|
105
|
-
`}
|
106
|
-
`, B = r(m)`
|
107
|
-
color: ${({ theme: t }) => t.colors.BLACK};
|
108
|
-
opacity: ${({ $disabled: t }) => t ? 1 : 0.5};
|
109
|
-
`, U = ({
|
110
|
-
isAchieved: t = !1,
|
111
|
-
count: e = 0,
|
112
|
-
elementType: i,
|
113
|
-
isCoddingType: s = !1,
|
114
|
-
isSticker: n = !1,
|
115
|
-
lotties: A = {},
|
116
|
-
currentScreenWidth: p
|
117
|
-
}) => {
|
118
|
-
const [g, C] = S(!0), d = e >= 100, O = R[i], c = W[i] || 1, { height: f, width: E, lottieSrc: $ } = A[i] || {}, x = (b) => {
|
119
|
-
C(b);
|
120
|
-
};
|
121
|
-
return /* @__PURE__ */ h(H, { children: [
|
122
|
-
/* @__PURE__ */ o(V, { children: /* @__PURE__ */ o(K, { $flexDirection: "row", children: /* @__PURE__ */ h(y, { children: [
|
123
|
-
!n && /* @__PURE__ */ o(
|
124
|
-
G,
|
125
|
-
{
|
126
|
-
$disabled: !t,
|
127
|
-
$disabledVal: c,
|
128
|
-
src: L(i),
|
129
|
-
alt: "reward"
|
130
|
-
}
|
131
|
-
),
|
132
|
-
n && $ && /* @__PURE__ */ o(I, { $disabled: !t, children: /* @__PURE__ */ o(
|
133
|
-
j,
|
134
|
-
{
|
135
|
-
$disabled: !t,
|
136
|
-
$disabledVal: c,
|
137
|
-
onMouseEnter: () => x(!1),
|
138
|
-
onMouseLeave: () => x(!0),
|
139
|
-
children: /* @__PURE__ */ o(
|
140
|
-
T,
|
141
|
-
{
|
142
|
-
src: $,
|
143
|
-
width: E,
|
144
|
-
height: f,
|
145
|
-
settings: {
|
146
|
-
loop: !0,
|
147
|
-
autoplay: !g && t
|
148
|
-
}
|
149
|
-
}
|
150
|
-
)
|
151
|
-
}
|
152
|
-
) }),
|
153
|
-
t && /* @__PURE__ */ o(
|
154
|
-
Z,
|
155
|
-
{
|
156
|
-
$isSticker: n,
|
157
|
-
$borderColor: D[i] || "#000",
|
158
|
-
$width: d ? 28 : 16,
|
159
|
-
$borderRadius: d ? "26px" : "50%",
|
160
|
-
$isCoddingType: s,
|
161
|
-
$currentScreenWidth: p,
|
162
|
-
$flexDirection: "row",
|
163
|
-
children: /* @__PURE__ */ o(
|
164
|
-
v,
|
165
|
-
{
|
166
|
-
$currentScreenWidth: p,
|
167
|
-
$renderAs: "body3",
|
168
|
-
$color: "BLACK",
|
169
|
-
children: e
|
170
|
-
}
|
171
|
-
)
|
172
|
-
}
|
173
|
-
)
|
174
|
-
] }) }) }),
|
175
|
-
/* @__PURE__ */ o(w, { height: 4 }),
|
176
|
-
/* @__PURE__ */ o(B, { $renderAs: "body3", $disabled: t, children: O })
|
177
|
-
] });
|
178
|
-
};
|
179
|
-
export {
|
180
|
-
U as default
|
181
|
-
};
|
182
|
-
//# sourceMappingURL=elements.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"elements.js","sources":["../../../../src/features/wins-dashboard/belts-elements-stickers/elements.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport LottieAnimation from '../../ui/lottie-animation/lottie-animation';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport { elementColors, getRewardElement, SCREEN_SIZES } from '../constants';\n\nconst disablePercentages: Record<string, number> = {\n 'TETRA': 0.5,\n 'COSA': 0.3,\n 'DODA': 0.3,\n 'HEXO': 0.5,\n 'OCTO': 0.5,\n 'EKA': 0.5,\n 'DVI': 0.3,\n 'CHATVA': 0.3,\n 'ASHTA': 0.5,\n 'ZODASA': 0.4,\n 'CLAP': 0.6,\n 'COOL': 0.6,\n 'LIKE': 0.6,\n 'WOW': 0.6,\n 'CHEER': 0.6,\n 'ROCK-ON': 0.6,\n};\n\nconst elementTitles: Record<string, string> = {\n ASHTA: 'Ashta',\n CHATVA: 'Chatva',\n COSA: 'Cosa',\n DODA: 'Doca',\n DVI: 'Dvi',\n EKA: 'Eka',\n HEXO: 'Hexo',\n OCTO: 'Octo',\n TETRA: `T'tro`,\n ZODASA: 'Zodasa',\n CONGRATS: 'Congrats',\n COOL: 'Cool',\n KUDOS: 'Kudos',\n GREAT: 'Great',\n WOW: 'Wow',\n AWESOME: 'Awesome',\n};\n\nconst getPositionStyles = (isSticker: boolean, isCoddingType: boolean): string => {\n let bottom: string | null = null;\n let right = '-4px';\n let top: string | null = null;\n\n if (!isSticker) {\n bottom = `${isCoddingType ? '-2px' : '2px'}`;\n right = `${isCoddingType ? '-4px' : '2px'}`;\n } else {\n top = '-4px';\n }\n\n return `\n bottom: ${bottom};\n top: ${top};\n right: ${right};\n `;\n};\n\nconst ElementContainer = styled(FlexView)`\n align-items: center;\n gap: 4px;\n`;\n\nconst Wrapper = styled(FlexView)`\n position: absolute;\n top: -3px;\n align-items: center;\n justify-content: center;\n width: 62px;\n height: 62px;\n`;\n\nconst BgWrapper = styled.div`\n position: relative;\n width: 62px;\n height: 62px;\n`;\n\nconst GemContainer = styled.div`\n position: relative;\n`;\n\ninterface ImageWrapperProps {\n $disabled: boolean;\n $disabledVal: number;\n}\n\nconst ImageWrapper = styled.img<ImageWrapperProps>`\n width: 56px;\n height: 56px;\n ${({ $disabled, $disabledVal }) =>\n $disabled &&\n css`\n filter: saturate(0);\n opacity: ${$disabledVal};\n `}\n`;\n\ninterface LottieContainerProps {\n $disabled: boolean;\n}\n\nconst LottieContainer = styled.div<LottieContainerProps>`\n border: 1px solid ${({ theme }) => theme.colors.GREY_2};\n border-radius: 8px;\n`;\n\ninterface LottieWrapperProps {\n $disabled: boolean;\n $disabledVal: number;\n}\n\nconst LottieWrapper = styled(FlexView)<LottieWrapperProps>`\n width: 62px;\n height: 62px;\n align-items: center;\n justify-content: center;\n ${({ $disabled, $disabledVal }) =>\n $disabled &&\n css`\n filter: saturate(0);\n opacity: ${$disabledVal};\n `}\n`;\n\ninterface CountWrapperProps {\n $isSticker: boolean;\n $isCoddingType: boolean;\n $borderColor: string;\n $width: number;\n $borderRadius: string;\n $currentScreenWidth: number;\n}\n\nconst CountWrapper = styled(FlexView)<CountWrapperProps>`\n position: absolute;\n ${({ $isSticker, $isCoddingType }) => getPositionStyles($isSticker, $isCoddingType)};\n background-color: ${({ theme }) => theme.colors.GREY_2};\n border-radius: ${({ $borderRadius }) => $borderRadius};\n border: ${({ $borderColor }) => `1px solid ${$borderColor}`};\n width: ${({ $width }) => $width}px;\n height: 16px;\n align-items: center;\n justify-content: center;\n ${({ $currentScreenWidth, $width }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n width: ${$width + 6}px;\n height: 22px;\n `}\n`;\n\ninterface CountTextProps {\n $currentScreenWidth: number;\n}\n\nconst CountText = styled(Text)<CountTextProps>`\n font-size: 9px;\n line-height: 14px;\n ${({ $currentScreenWidth }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n font-size: 12px;\n line-height: 14px;\n `}\n`;\n\ninterface ElementTextProps {\n $disabled: boolean;\n}\n\nconst ElementText = styled(Text)<ElementTextProps>`\n color: ${({ theme }) => theme.colors.BLACK};\n opacity: ${({ $disabled }) => ($disabled ? 1 : 0.5)};\n`;\n\ninterface LottieData {\n height: number;\n width: number;\n lottieSrc: string;\n}\n\ninterface ElementProps {\n isAchieved?: boolean;\n count?: number;\n elementType: string;\n isCoddingType?: boolean;\n isSticker?: boolean;\n lotties?: Record<string, LottieData>;\n currentScreenWidth: number;\n}\n\nconst Element: React.FC<ElementProps> = ({\n isAchieved = false,\n count = 0,\n elementType,\n isCoddingType = false,\n isSticker = false,\n lotties = {},\n currentScreenWidth,\n}) => {\n const [isPaused, setIsPaused] = useState(true);\n const isLargeCount = count >= 100;\n const elementTitle = elementTitles[elementType];\n const disabledVal = disablePercentages[elementType] || 1;\n const { height, width, lottieSrc } = lotties[elementType] || {};\n\n const animateLottie = (val: boolean) => {\n setIsPaused(val);\n };\n\n return (\n <ElementContainer>\n <BgWrapper>\n <Wrapper $flexDirection=\"row\">\n <GemContainer>\n {!isSticker && (\n <ImageWrapper\n $disabled={!isAchieved}\n $disabledVal={disabledVal}\n src={getRewardElement(elementType)}\n alt=\"reward\"\n />\n )}\n {isSticker && lottieSrc && (\n <LottieContainer $disabled={!isAchieved}>\n <LottieWrapper\n $disabled={!isAchieved}\n $disabledVal={disabledVal}\n onMouseEnter={() => animateLottie(false)}\n onMouseLeave={() => animateLottie(true)}\n >\n <LottieAnimation\n src={lottieSrc}\n width={width}\n height={height}\n settings={{\n loop: true,\n autoplay: !isPaused && isAchieved,\n }}\n />\n </LottieWrapper>\n </LottieContainer>\n )}\n\n {isAchieved && (\n <CountWrapper\n $isSticker={isSticker}\n $borderColor={elementColors[elementType as keyof typeof elementColors] || '#000'}\n $width={isLargeCount ? 28 : 16}\n $borderRadius={isLargeCount ? '26px' : '50%'}\n $isCoddingType={isCoddingType}\n $currentScreenWidth={currentScreenWidth}\n $flexDirection=\"row\"\n >\n <CountText\n $currentScreenWidth={currentScreenWidth}\n $renderAs=\"body3\"\n $color=\"BLACK\"\n >\n {count}\n </CountText>\n </CountWrapper>\n )}\n </GemContainer>\n </Wrapper>\n </BgWrapper>\n <Separator height={4} />\n <ElementText $renderAs=\"body3\" $disabled={isAchieved}>\n {elementTitle}\n </ElementText>\n </ElementContainer>\n );\n};\n\nexport default Element;\n"],"names":["disablePercentages","elementTitles","getPositionStyles","isSticker","isCoddingType","bottom","right","top","ElementContainer","styled","FlexView","Wrapper","BgWrapper","GemContainer","ImageWrapper","$disabled","$disabledVal","css","LottieContainer","theme","LottieWrapper","CountWrapper","$isSticker","$isCoddingType","$borderRadius","$borderColor","$width","$currentScreenWidth","SCREEN_SIZES","CountText","Text","ElementText","Element","isAchieved","count","elementType","lotties","currentScreenWidth","isPaused","setIsPaused","useState","isLargeCount","elementTitle","disabledVal","height","width","lottieSrc","animateLottie","val","jsx","getRewardElement","LottieAnimation","elementColors","Separator"],"mappings":"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"}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
import { jsx as i } from "react/jsx-runtime";
|
2
|
-
import s from "styled-components";
|
3
|
-
const a = s.div`
|
4
|
-
position: relative;
|
5
|
-
overflow: hidden;
|
6
|
-
background: ${({ $backgroundColor: r, theme: o }) => o.colors[r] || r};
|
7
|
-
width: 100%;
|
8
|
-
height: ${({ $height: r }) => `${r}px`};
|
9
|
-
border-radius: ${({ $height: r, $corners: o }) => o ? `${r / 2}px` : 0};
|
10
|
-
`, $ = s.div`
|
11
|
-
position: absolute;
|
12
|
-
background: ${({ $backgroundColor: r, theme: o }) => o.colors[r] || r};
|
13
|
-
transition: width 300ms ease-in-out;
|
14
|
-
width: ${({ $progress: r }) => `${r}%`};
|
15
|
-
height: 100%;
|
16
|
-
border-radius: ${({ $borderRadius: r }) => r || 0}px;
|
17
|
-
`, c = ({
|
18
|
-
borderRadius: r = 0,
|
19
|
-
height: o = 8,
|
20
|
-
progress: t,
|
21
|
-
corners: e = !0,
|
22
|
-
backgroundColor: d = "GREY_1",
|
23
|
-
progressColor: n = "GREY_4"
|
24
|
-
}) => /* @__PURE__ */ i(a, { $height: o, $corners: e, $backgroundColor: d, children: /* @__PURE__ */ i(
|
25
|
-
$,
|
26
|
-
{
|
27
|
-
$progress: t,
|
28
|
-
$backgroundColor: n,
|
29
|
-
$borderRadius: r
|
30
|
-
}
|
31
|
-
) });
|
32
|
-
export {
|
33
|
-
c as default
|
34
|
-
};
|
35
|
-
//# sourceMappingURL=progress-bar-horizontal.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"progress-bar-horizontal.js","sources":["../../../../src/features/wins-dashboard/belts-elements-stickers/progress-bar-horizontal.tsx"],"sourcesContent":["import type { TColorNames } from '../../ui/types';\n\nimport React from 'react';\nimport styled from 'styled-components';\n\nconst Background = styled.div<{\n $backgroundColor: TColorNames | string;\n $height: number;\n $corners: boolean;\n}>`\n position: relative;\n overflow: hidden;\n background: ${({ $backgroundColor, theme }) =>\n theme.colors[$backgroundColor as TColorNames] || $backgroundColor};\n width: 100%;\n height: ${({ $height }) => `${$height}px`};\n border-radius: ${({ $height, $corners }) => ($corners ? `${$height / 2}px` : 0)};\n`;\n\nconst Progress = styled.div<{\n $backgroundColor: TColorNames | string;\n $progress: number;\n $borderRadius: number;\n}>`\n position: absolute;\n background: ${({ $backgroundColor, theme }) =>\n theme.colors[$backgroundColor as TColorNames] || $backgroundColor};\n transition: width 300ms ease-in-out;\n width: ${({ $progress }) => `${$progress}%`};\n height: 100%;\n border-radius: ${({ $borderRadius }) => $borderRadius || 0}px;\n`;\n\ninterface ProgressBarHorizontalProps {\n borderRadius?: number;\n progress: number;\n height?: number;\n backgroundColor?: TColorNames | string;\n progressColor?: TColorNames | string;\n corners?: boolean;\n}\n\nconst ProgressBarHorizontal: React.FC<ProgressBarHorizontalProps> = ({\n borderRadius = 0,\n height = 8,\n progress,\n corners = true,\n backgroundColor = 'GREY_1',\n progressColor = 'GREY_4',\n}) => {\n return (\n <Background $height={height} $corners={corners} $backgroundColor={backgroundColor}>\n <Progress\n $progress={progress}\n $backgroundColor={progressColor}\n $borderRadius={borderRadius}\n />\n </Background>\n );\n};\n\nexport default ProgressBarHorizontal;\n"],"names":["Background","styled","$backgroundColor","theme","$height","$corners","Progress","$progress","$borderRadius","ProgressBarHorizontal","borderRadius","height","progress","corners","backgroundColor","progressColor","jsx"],"mappings":";;AAKA,MAAMA,IAAaC,EAAO;AAAA;AAAA;AAAA,gBAOV,CAAC,EAAE,kBAAAC,GAAkB,OAAAC,QACjCA,EAAM,OAAOD,CAA+B,KAAKA,CAAgB;AAAA;AAAA,YAEzD,CAAC,EAAE,SAAAE,EAAc,MAAA,GAAGA,CAAO,IAAI;AAAA,mBACxB,CAAC,EAAE,SAAAA,GAAS,UAAAC,EAAS,MAAOA,IAAW,GAAGD,IAAU,CAAC,OAAO,CAAE;AAAA,GAG3EE,IAAWL,EAAO;AAAA;AAAA,gBAMR,CAAC,EAAE,kBAAAC,GAAkB,OAAAC,QACjCA,EAAM,OAAOD,CAA+B,KAAKA,CAAgB;AAAA;AAAA,WAE1D,CAAC,EAAE,WAAAK,EAAgB,MAAA,GAAGA,CAAS,GAAG;AAAA;AAAA,mBAE1B,CAAC,EAAE,eAAAC,QAAoBA,KAAiB,CAAC;AAAA,GAYtDC,IAA8D,CAAC;AAAA,EACnE,cAAAC,IAAe;AAAA,EACf,QAAAC,IAAS;AAAA,EACT,UAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,iBAAAC,IAAkB;AAAA,EAClB,eAAAC,IAAgB;AAClB,wBAEKf,GAAW,EAAA,SAASW,GAAQ,UAAUE,GAAS,kBAAkBC,GAChE,UAAA,gBAAAE;AAAA,EAACV;AAAA,EAAA;AAAA,IACC,WAAWM;AAAA,IACX,kBAAkBG;AAAA,IAClB,eAAeL;AAAA,EAAA;AAEnB,EAAA,CAAA;"}
|
@@ -1,82 +0,0 @@
|
|
1
|
-
import { jsxs as I, jsx as r } from "react/jsx-runtime";
|
2
|
-
import l, { css as m } from "styled-components";
|
3
|
-
import f from "../../ui/layout/flex-view.js";
|
4
|
-
import $ from "../../ui/separator/separator.js";
|
5
|
-
import S from "../../ui/text/text.js";
|
6
|
-
import { SCREEN_SIZES as a, INSTRUCTION_REWARDS as N, MATH_REWARDS as R, STICKERS as w } from "../constants.js";
|
7
|
-
import A from "./elements.js";
|
8
|
-
const E = {
|
9
|
-
STICKER: "STICKERS",
|
10
|
-
CODING: "CODING",
|
11
|
-
CHIP: "CHIPS",
|
12
|
-
ELEMENT: "ELEMENTS"
|
13
|
-
}, g = l(f)`
|
14
|
-
background-color: ${({ theme: t }) => t.colors.WHITE};
|
15
|
-
`, L = l(f)`
|
16
|
-
max-width: 280px;
|
17
|
-
width: 100%;
|
18
|
-
${({ $currentScreenWidth: t }) => t < a.LAPTOP && m`
|
19
|
-
max-width: 764px;
|
20
|
-
width: 100%;
|
21
|
-
`}
|
22
|
-
`, P = l.div`
|
23
|
-
width: 33%;
|
24
|
-
padding-bottom: 16px;
|
25
|
-
${({ $currentScreenWidth: t }) => t < a.LAPTOP && m`
|
26
|
-
width: 15%;
|
27
|
-
height: 33%;
|
28
|
-
`}
|
29
|
-
`, O = l.div`
|
30
|
-
padding-left: ${({ $isSticker: t }) => t ? "13px" : "19px"};
|
31
|
-
color: ${({ theme: t }) => t.colors.BLACK};
|
32
|
-
font-size: 20px;
|
33
|
-
font-weight: 800;
|
34
|
-
${({ $currentScreenWidth: t }) => t < a.LAPTOP && m`
|
35
|
-
padding-left: 0;
|
36
|
-
`}
|
37
|
-
`, u = (t, o) => {
|
38
|
-
let e = E.STICKER;
|
39
|
-
return t || (e = o ? E.CHIP : E.ELEMENT), e;
|
40
|
-
}, T = (t, o, e, n, s = {}, c) => /* @__PURE__ */ r(P, { $currentScreenWidth: c, children: /* @__PURE__ */ r(
|
41
|
-
A,
|
42
|
-
{
|
43
|
-
isAchieved: t in o,
|
44
|
-
count: o[t],
|
45
|
-
elementType: t,
|
46
|
-
isCoddingType: e,
|
47
|
-
isSticker: n,
|
48
|
-
lotties: s,
|
49
|
-
currentScreenWidth: c
|
50
|
-
}
|
51
|
-
) }, t), v = ({
|
52
|
-
elements: t,
|
53
|
-
isSticker: o = !1,
|
54
|
-
lotties: e = {},
|
55
|
-
currentScreenWidth: n,
|
56
|
-
programStream: s
|
57
|
-
}) => {
|
58
|
-
const c = s === E.CODING ? [...N] : [...R], d = s === E.CODING, h = w, p = {};
|
59
|
-
return t && t.forEach((i) => {
|
60
|
-
const { name: x, count: C } = i;
|
61
|
-
p[x] = C;
|
62
|
-
}), /* @__PURE__ */ I(g, { children: [
|
63
|
-
/* @__PURE__ */ r(O, { $currentScreenWidth: n, $isSticker: o, children: /* @__PURE__ */ r(S, { $renderAs: "h5", $color: "BLACK", children: u(o, d) }) }),
|
64
|
-
/* @__PURE__ */ r($, { height: 18 }),
|
65
|
-
/* @__PURE__ */ r(L, { $flexWrap: !0, $flexDirection: "row", $currentScreenWidth: n, children: o ? h.map(
|
66
|
-
(i) => T(
|
67
|
-
i,
|
68
|
-
p,
|
69
|
-
d,
|
70
|
-
o,
|
71
|
-
e,
|
72
|
-
n
|
73
|
-
)
|
74
|
-
) : c.map(
|
75
|
-
(i) => T(i, p, d, !1, {}, n)
|
76
|
-
) })
|
77
|
-
] });
|
78
|
-
};
|
79
|
-
export {
|
80
|
-
v as default
|
81
|
-
};
|
82
|
-
//# sourceMappingURL=reward-elements.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"reward-elements.js","sources":["../../../../src/features/wins-dashboard/belts-elements-stickers/reward-elements.tsx"],"sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\nimport { INSTRUCTION_REWARDS, MATH_REWARDS, SCREEN_SIZES, STICKERS } from '../constants';\nimport Element from './elements';\n\nconst ELEMENT_TEXT = {\n STICKER: 'STICKERS',\n CODING: 'CODING',\n CHIP: 'CHIPS',\n ELEMENT: 'ELEMENTS',\n};\n\nconst InfoWrapper = styled(FlexView)`\n background-color: ${({ theme }) => theme.colors.WHITE};\n`;\n\ninterface ElementContainerProps {\n $currentScreenWidth: number;\n}\n\nconst ElementContainer = styled(FlexView)<ElementContainerProps>`\n max-width: 280px;\n width: 100%;\n ${({ $currentScreenWidth }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n max-width: 764px;\n width: 100%;\n `}\n`;\n\ninterface ElementWrapperProps {\n $currentScreenWidth: number;\n}\n\nconst ElementWrapper = styled.div<ElementWrapperProps>`\n width: 33%;\n padding-bottom: 16px;\n ${({ $currentScreenWidth }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n width: 15%;\n height: 33%;\n `}\n`;\n\ninterface ElementTextProps {\n $isSticker: boolean;\n $currentScreenWidth: number;\n}\n\nconst ElementText = styled.div<ElementTextProps>`\n padding-left: ${({ $isSticker }) => ($isSticker ? '13px' : '19px')};\n color: ${({ theme }) => theme.colors.BLACK};\n font-size: 20px;\n font-weight: 800;\n ${({ $currentScreenWidth }) =>\n $currentScreenWidth < SCREEN_SIZES.LAPTOP &&\n css`\n padding-left: 0;\n `}\n`;\n\nconst getElementText = (isSticker: boolean, isCoddingType: boolean): string => {\n let name = ELEMENT_TEXT.STICKER;\n\n if (!isSticker) {\n name = isCoddingType ? ELEMENT_TEXT.CHIP : ELEMENT_TEXT.ELEMENT;\n }\n\n return name;\n};\n\ninterface ElementData {\n name: string;\n count: number;\n}\n\ninterface LottieProps {\n height: number;\n width: number;\n lottieSrc: string;\n}\n\nconst getElements = (\n element: string,\n elementsCount: Record<string, number>,\n isCoddingType: boolean,\n isSticker: boolean,\n lotties: Record<string, LottieProps> = {},\n currentScreenWidth: number,\n) => {\n return (\n <ElementWrapper $currentScreenWidth={currentScreenWidth} key={element}>\n <Element\n isAchieved={element in elementsCount}\n count={elementsCount[element]}\n elementType={element}\n isCoddingType={isCoddingType}\n isSticker={isSticker}\n lotties={lotties}\n currentScreenWidth={currentScreenWidth}\n />\n </ElementWrapper>\n );\n};\n\ninterface RewardElementsProps {\n elements?: ElementData[];\n isSticker?: boolean;\n lotties?: Record<string, LottieProps>;\n currentScreenWidth: number;\n programStream?: string;\n}\n\nconst RewardElements: React.FC<RewardElementsProps> = ({\n elements,\n isSticker = false,\n lotties = {},\n currentScreenWidth,\n programStream,\n}) => {\n const totalElements =\n programStream === ELEMENT_TEXT.CODING ? [...INSTRUCTION_REWARDS] : [...MATH_REWARDS];\n const isCoddingType = programStream === ELEMENT_TEXT.CODING;\n const totalStickers = STICKERS;\n const elementsCount: Record<string, number> = {};\n\n if (elements) {\n elements.forEach(element => {\n const { name, count } = element;\n\n elementsCount[name] = count;\n });\n }\n\n return (\n <InfoWrapper>\n <ElementText $currentScreenWidth={currentScreenWidth} $isSticker={isSticker}>\n <Text $renderAs=\"h5\" $color=\"BLACK\">\n {getElementText(isSticker, isCoddingType)}\n </Text>\n </ElementText>\n <Separator height={18} />\n <ElementContainer $flexWrap $flexDirection=\"row\" $currentScreenWidth={currentScreenWidth}>\n {!isSticker\n ? totalElements.map(element =>\n getElements(element, elementsCount, isCoddingType, false, {}, currentScreenWidth),\n )\n : totalStickers.map(sticker =>\n getElements(\n sticker,\n elementsCount,\n isCoddingType,\n isSticker,\n lotties,\n currentScreenWidth,\n ),\n )}\n </ElementContainer>\n </InfoWrapper>\n );\n};\n\nexport default RewardElements;\n"],"names":["ELEMENT_TEXT","InfoWrapper","styled","FlexView","theme","ElementContainer","$currentScreenWidth","SCREEN_SIZES","css","ElementWrapper","ElementText","$isSticker","getElementText","isSticker","isCoddingType","name","getElements","element","elementsCount","lotties","currentScreenWidth","jsx","Element","RewardElements","elements","programStream","totalElements","INSTRUCTION_REWARDS","MATH_REWARDS","totalStickers","STICKERS","count","Text","Separator","sticker"],"mappings":";;;;;;;AASA,MAAMA,IAAe;AAAA,EACnB,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AACX,GAEMC,IAAcC,EAAOC,CAAQ;AAAA,sBACb,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA,GAOjDC,IAAmBH,EAAOC,CAAQ;AAAA;AAAA;AAAA,IAGpC,CAAC,EAAE,qBAAAG,EACH,MAAAA,IAAsBC,EAAa,UACnCC;AAAA;AAAA;AAAA,KAGC;AAAA,GAOCC,IAAiBP,EAAO;AAAA;AAAA;AAAA,IAG1B,CAAC,EAAE,qBAAAI,EACH,MAAAA,IAAsBC,EAAa,UACnCC;AAAA;AAAA;AAAA,KAGC;AAAA,GAQCE,IAAcR,EAAO;AAAA,kBACT,CAAC,EAAE,YAAAS,EAAA,MAAkBA,IAAa,SAAS,MAAO;AAAA,WACzD,CAAC,EAAE,OAAAP,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA;AAAA;AAAA,IAGxC,CAAC,EAAE,qBAAAE,EACH,MAAAA,IAAsBC,EAAa,UACnCC;AAAA;AAAA,KAEC;AAAA,GAGCI,IAAiB,CAACC,GAAoBC,MAAmC;AAC7E,MAAIC,IAAOf,EAAa;AAExB,SAAKa,MACIE,IAAAD,IAAgBd,EAAa,OAAOA,EAAa,UAGnDe;AACT,GAaMC,IAAc,CAClBC,GACAC,GACAJ,GACAD,GACAM,IAAuC,CAAC,GACxCC,MAGE,gBAAAC,EAACZ,GAAe,EAAA,qBAAqBW,GACnC,UAAA,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,YAAYL,KAAWC;AAAA,IACvB,OAAOA,EAAcD,CAAO;AAAA,IAC5B,aAAaA;AAAA,IACb,eAAAH;AAAA,IACA,WAAAD;AAAA,IACA,SAAAM;AAAA,IACA,oBAAAC;AAAA,EAAA;AAAA,KAR0DH,CAU9D,GAYEM,IAAgD,CAAC;AAAA,EACrD,UAAAC;AAAA,EACA,WAAAX,IAAY;AAAA,EACZ,SAAAM,IAAU,CAAC;AAAA,EACX,oBAAAC;AAAA,EACA,eAAAK;AACF,MAAM;AACE,QAAAC,IACJD,MAAkBzB,EAAa,SAAS,CAAC,GAAG2B,CAAmB,IAAI,CAAC,GAAGC,CAAY,GAC/Ed,IAAgBW,MAAkBzB,EAAa,QAC/C6B,IAAgBC,GAChBZ,IAAwC,CAAA;AAE9C,SAAIM,KACFA,EAAS,QAAQ,CAAWP,MAAA;AACpB,UAAA,EAAE,MAAAF,GAAM,OAAAgB,EAAU,IAAAd;AAExB,IAAAC,EAAcH,CAAI,IAAIgB;AAAA,EAAA,CACvB,qBAIA9B,GACC,EAAA,UAAA;AAAA,IAAA,gBAAAoB,EAACX,GAAY,EAAA,qBAAqBU,GAAoB,YAAYP,GAChE,UAAC,gBAAAQ,EAAAW,GAAA,EAAK,WAAU,MAAK,QAAO,SACzB,UAAApB,EAAeC,GAAWC,CAAa,EAC1C,CAAA,GACF;AAAA,IACA,gBAAAO,EAACY,GAAU,EAAA,QAAQ,GAAI,CAAA;AAAA,IACvB,gBAAAZ,EAAChB,GAAiB,EAAA,WAAS,IAAC,gBAAe,OAAM,qBAAqBe,GACnE,UAACP,IAIEgB,EAAc;AAAA,MAAI,CAChBK,MAAAlB;AAAA,QACEkB;AAAA,QACAhB;AAAA,QACAJ;AAAA,QACAD;AAAA,QACAM;AAAA,QACAC;AAAA,MACF;AAAA,IAAA,IAXFM,EAAc;AAAA,MAAI,CAAAT,MAChBD,EAAYC,GAASC,GAAeJ,GAAe,IAAO,IAAIM,CAAkB;AAAA,OAYxF;AAAA,EACF,EAAA,CAAA;AAEJ;"}
|
@@ -1,161 +0,0 @@
|
|
1
|
-
import { ILLUSTRATIONS as T } from "../../assets/illustrations/illustrations.js";
|
2
|
-
import { IMAGES as E } from "../../assets/images/images.js";
|
3
|
-
import R from "../../assets/line-icons/icons/wins-common-icon.js";
|
4
|
-
import o from "../../assets/line-icons/icons/wins-epic-icon.js";
|
5
|
-
import C from "../../assets/line-icons/icons/wins-legendary-icon.js";
|
6
|
-
import D from "../../assets/line-icons/icons/wins-mystery-icon.js";
|
7
|
-
import n from "../../assets/line-icons/icons/wins-mythic-icon.js";
|
8
|
-
import c from "../../assets/line-icons/icons/wins-rare-icon.js";
|
9
|
-
import { LOTTIE as t } from "../../assets/lottie/lottie.js";
|
10
|
-
import { getTheme as s } from "../ui/theme/get-theme.js";
|
11
|
-
const m = {
|
12
|
-
TABLET: 864,
|
13
|
-
LAPTOP: 1024,
|
14
|
-
LAPTOPL: 1280
|
15
|
-
}, { colors: O } = s(), a = {
|
16
|
-
ASHTA: "#FF7E3B",
|
17
|
-
CHATVA: "#DA5107",
|
18
|
-
COSA: "#0A47C2",
|
19
|
-
DODA: "#850F85",
|
20
|
-
DVI: "#0A47C2",
|
21
|
-
EKA: "#3DD771",
|
22
|
-
HEXO: "#3DD771",
|
23
|
-
OCTO: "#FF7E3B",
|
24
|
-
TETRA: "#FFBA07",
|
25
|
-
ZODASA: "#1EB5F0",
|
26
|
-
CONGRATS: O.GREY_2,
|
27
|
-
COOL: O.GREY_2,
|
28
|
-
KUDOS: O.GREY_2,
|
29
|
-
GREAT: O.GREY_2,
|
30
|
-
WOW: O.GREY_2,
|
31
|
-
AWESOME: O.GREY_2
|
32
|
-
}, A = {
|
33
|
-
COMMON: "COMMON",
|
34
|
-
RARE: "RARE",
|
35
|
-
EPIC: "EPIC",
|
36
|
-
LEGENDARY: "LEGENDARY",
|
37
|
-
MYTHIC: "MYTHIC",
|
38
|
-
MYSTERY: "MYSTERY"
|
39
|
-
}, H = {
|
40
|
-
ACKNOWLEDGED: "ACKNOWLEDGED",
|
41
|
-
ASSIGNED: "ASSIGNED",
|
42
|
-
UNASSIGNED: "UNASSIGNED"
|
43
|
-
}, h = {
|
44
|
-
[A.COMMON]: "#1EB5F0",
|
45
|
-
[A.RARE]: "#3DD771",
|
46
|
-
[A.EPIC]: "#ED6CEF",
|
47
|
-
[A.LEGENDARY]: "#FF7E3B",
|
48
|
-
[A.MYTHIC]: "#FFBA07",
|
49
|
-
[A.MYSTERY]: O.WHITE
|
50
|
-
}, u = {
|
51
|
-
[A.COMMON]: R,
|
52
|
-
[A.RARE]: c,
|
53
|
-
[A.EPIC]: o,
|
54
|
-
[A.LEGENDARY]: C,
|
55
|
-
[A.MYTHIC]: n,
|
56
|
-
[A.MYSTERY]: D
|
57
|
-
}, P = {
|
58
|
-
[A.COMMON]: T.COMMON,
|
59
|
-
[A.RARE]: T.RARE,
|
60
|
-
[A.EPIC]: T.EPIC,
|
61
|
-
[A.LEGENDARY]: T.LEGENDARY,
|
62
|
-
[A.MYTHIC]: T.MYTHIC,
|
63
|
-
[A.MYSTERY]: T.MYSTERY
|
64
|
-
}, S = {
|
65
|
-
black: E.BLACK_BELT,
|
66
|
-
blue: E.BLUE_BELT,
|
67
|
-
brown: E.BROWN_BELT,
|
68
|
-
green: E.GREEN_BELT,
|
69
|
-
orange: E.ORANGE_BELT,
|
70
|
-
purple: E.PURPLE_BELT,
|
71
|
-
red: E.RED_BELT,
|
72
|
-
white: E.WHITE_BELT,
|
73
|
-
yellow: E.YELLOW_BELT
|
74
|
-
}, l = (r) => {
|
75
|
-
const e = r == null ? void 0 : r.toLowerCase();
|
76
|
-
return e && e in S ? S[e] : E.MASTERED_BADGE;
|
77
|
-
}, K = ["TETRA", "COSA", "DODA", "HEXO", "OCTO"], U = ["EKA", "DVI", "CHATVA", "ASHTA", "ZODASA"], F = ["CONGRATS", "COOL", "KUDOS", "GREAT", "WOW", "AWESOME"], f = (r) => {
|
78
|
-
switch (r) {
|
79
|
-
case "COSA":
|
80
|
-
return E.COSA;
|
81
|
-
case "OCTO":
|
82
|
-
return E.OCTO;
|
83
|
-
case "DODA":
|
84
|
-
return E.DODA;
|
85
|
-
case "HEXO":
|
86
|
-
return E.HEXO;
|
87
|
-
case "TETRA":
|
88
|
-
return E.TETRA;
|
89
|
-
case "EKA":
|
90
|
-
return E.EKA;
|
91
|
-
case "DVI":
|
92
|
-
return E.DVI;
|
93
|
-
case "CHATVA":
|
94
|
-
return E.CHATVA;
|
95
|
-
case "ASHTA":
|
96
|
-
return E.ASHTA;
|
97
|
-
case "ZODASA":
|
98
|
-
return E.ZODASA;
|
99
|
-
case "CONGRATS":
|
100
|
-
return E.CONGRATS;
|
101
|
-
case "COOL":
|
102
|
-
return E.COOL;
|
103
|
-
case "KUDOS":
|
104
|
-
return E.KUDOS;
|
105
|
-
case "GREAT":
|
106
|
-
return E.GREAT;
|
107
|
-
case "WOW":
|
108
|
-
return E.WOW;
|
109
|
-
case "AWESOME":
|
110
|
-
return E.AWESOME;
|
111
|
-
default:
|
112
|
-
return E.TETRA;
|
113
|
-
}
|
114
|
-
}, g = {
|
115
|
-
CONGRATS: {
|
116
|
-
height: 50,
|
117
|
-
width: 50,
|
118
|
-
lottieSrc: t.TROPHY
|
119
|
-
},
|
120
|
-
COOL: {
|
121
|
-
height: 50,
|
122
|
-
width: 50,
|
123
|
-
lottieSrc: t.COOL
|
124
|
-
},
|
125
|
-
KUDOS: {
|
126
|
-
height: 50,
|
127
|
-
width: 50,
|
128
|
-
lottieSrc: t.CLAPPING_HANDS
|
129
|
-
},
|
130
|
-
GREAT: {
|
131
|
-
height: 63,
|
132
|
-
width: 50,
|
133
|
-
lottieSrc: t.LIKE_BUTTON
|
134
|
-
},
|
135
|
-
WOW: {
|
136
|
-
height: 55,
|
137
|
-
width: 55,
|
138
|
-
lottieSrc: t.STAR_STRIKE_EMOJI
|
139
|
-
},
|
140
|
-
AWESOME: {
|
141
|
-
height: 50,
|
142
|
-
width: 50,
|
143
|
-
lottieSrc: t.AWESOME
|
144
|
-
}
|
145
|
-
};
|
146
|
-
export {
|
147
|
-
h as BADGE_TYPE_BACKGROUND,
|
148
|
-
P as BADGE_TYPE_BADGE_ICON,
|
149
|
-
u as BADGE_TYPE_TAB_ICON,
|
150
|
-
U as INSTRUCTION_REWARDS,
|
151
|
-
K as MATH_REWARDS,
|
152
|
-
m as SCREEN_SIZES,
|
153
|
-
F as STICKERS,
|
154
|
-
H as STUDENT_BADGE_STATUS,
|
155
|
-
A as STUDENT_BADGE_TYPE,
|
156
|
-
g as StickerMap,
|
157
|
-
a as elementColors,
|
158
|
-
l as getBeltIcon,
|
159
|
-
f as getRewardElement
|
160
|
-
};
|
161
|
-
//# sourceMappingURL=constants.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../src/features/wins-dashboard/constants.ts"],"sourcesContent":["import { ILLUSTRATIONS } from '../../assets/illustrations/illustrations';\nimport { IMAGES } from '../../assets/images/images';\nimport WinsCommonIcon from '../../assets/line-icons/icons/wins-common-icon';\nimport WinsEpicIcon from '../../assets/line-icons/icons/wins-epic-icon';\nimport WinsLegendaryIcon from '../../assets/line-icons/icons/wins-legendary-icon';\nimport WinsMysteryIcon from '../../assets/line-icons/icons/wins-mystery-icon';\nimport WinsMythicIcon from '../../assets/line-icons/icons/wins-mythic-icon';\nimport WinsRareIcon from '../../assets/line-icons/icons/wins-rare-icon';\nimport { LOTTIE } from '../../assets/lottie/lottie';\nimport { getTheme } from '../ui/theme/get-theme';\n\nexport const SCREEN_SIZES = {\n TABLET: 864,\n LAPTOP: 1024,\n LAPTOPL: 1280,\n};\n\nexport const DEVICES = {\n TABLET: `(max-width: ${SCREEN_SIZES.TABLET}px)`,\n LAPTOP: `(max-width: ${SCREEN_SIZES.LAPTOP}px)`,\n LAPTOPL: `(max-width: ${SCREEN_SIZES.LAPTOPL}px)`,\n};\n\nconst { colors } = getTheme();\n\nexport const elementColors = {\n ASHTA: '#FF7E3B',\n CHATVA: '#DA5107',\n COSA: '#0A47C2',\n DODA: '#850F85',\n DVI: '#0A47C2',\n EKA: '#3DD771',\n HEXO: '#3DD771',\n OCTO: '#FF7E3B',\n TETRA: '#FFBA07',\n ZODASA: '#1EB5F0',\n CONGRATS: colors.GREY_2,\n COOL: colors.GREY_2,\n KUDOS: colors.GREY_2,\n GREAT: colors.GREY_2,\n WOW: colors.GREY_2,\n AWESOME: colors.GREY_2,\n};\n\nexport const STUDENT_BADGE_TYPE = {\n COMMON: 'COMMON',\n RARE: 'RARE',\n EPIC: 'EPIC',\n LEGENDARY: 'LEGENDARY',\n MYTHIC: 'MYTHIC',\n MYSTERY: 'MYSTERY',\n};\n\nexport const STUDENT_BADGE_STATUS = {\n ACKNOWLEDGED: 'ACKNOWLEDGED',\n ASSIGNED: 'ASSIGNED',\n UNASSIGNED: 'UNASSIGNED',\n};\n\nexport const BADGE_TYPE_BACKGROUND = {\n [STUDENT_BADGE_TYPE.COMMON]: '#1EB5F0',\n [STUDENT_BADGE_TYPE.RARE]: '#3DD771',\n [STUDENT_BADGE_TYPE.EPIC]: '#ED6CEF',\n [STUDENT_BADGE_TYPE.LEGENDARY]: '#FF7E3B',\n [STUDENT_BADGE_TYPE.MYTHIC]: '#FFBA07',\n [STUDENT_BADGE_TYPE.MYSTERY]: colors.WHITE,\n};\n\nexport const BADGE_TYPE_TAB_ICON: Record<\n string,\n React.FC<{ color?: string; selected?: boolean }>\n> = {\n [STUDENT_BADGE_TYPE.COMMON]: WinsCommonIcon,\n [STUDENT_BADGE_TYPE.RARE]: WinsRareIcon,\n [STUDENT_BADGE_TYPE.EPIC]: WinsEpicIcon,\n [STUDENT_BADGE_TYPE.LEGENDARY]: WinsLegendaryIcon,\n [STUDENT_BADGE_TYPE.MYTHIC]: WinsMythicIcon,\n [STUDENT_BADGE_TYPE.MYSTERY]: WinsMysteryIcon,\n};\n\nexport const BADGE_TYPE_BADGE_ICON = {\n [STUDENT_BADGE_TYPE.COMMON]: ILLUSTRATIONS.COMMON,\n [STUDENT_BADGE_TYPE.RARE]: ILLUSTRATIONS.RARE,\n [STUDENT_BADGE_TYPE.EPIC]: ILLUSTRATIONS.EPIC,\n [STUDENT_BADGE_TYPE.LEGENDARY]: ILLUSTRATIONS.LEGENDARY,\n [STUDENT_BADGE_TYPE.MYTHIC]: ILLUSTRATIONS.MYTHIC,\n [STUDENT_BADGE_TYPE.MYSTERY]: ILLUSTRATIONS.MYSTERY,\n};\n\n// Audio URLs for badge sounds (commented out for now until MP3 files are available)\n// export const BADGE_TYPE_BADGE_SOUND = {\n// [STUDENT_BADGE_TYPE.COMMON]: '/static/sounds/common-badge.mp3',\n// [STUDENT_BADGE_TYPE.RARE]: '/static/sounds/rare-badge.mp3',\n// [STUDENT_BADGE_TYPE.EPIC]: '/static/sounds/epic-badge.mp3',\n// [STUDENT_BADGE_TYPE.LEGENDARY]: '/static/sounds/legendary-badge.mp3',\n// [STUDENT_BADGE_TYPE.MYTHIC]: '/static/sounds/mythic-badge.mp3',\n// [STUDENT_BADGE_TYPE.MYSTERY]: '/static/sounds/mystery-badge.mp3',\n// };\n\nconst BELT_COLORS = [\n 'black',\n 'blue',\n 'brown',\n 'green',\n 'orange',\n 'purple',\n 'red',\n 'white',\n 'yellow',\n] as const;\n\ntype BeltColor = (typeof BELT_COLORS)[number];\n\nconst COLOR_TO_BELT_MAP: Record<BeltColor, string> = {\n black: IMAGES.BLACK_BELT,\n blue: IMAGES.BLUE_BELT,\n brown: IMAGES.BROWN_BELT,\n green: IMAGES.GREEN_BELT,\n orange: IMAGES.ORANGE_BELT,\n purple: IMAGES.PURPLE_BELT,\n red: IMAGES.RED_BELT,\n white: IMAGES.WHITE_BELT,\n yellow: IMAGES.YELLOW_BELT,\n};\n\nexport const getBeltIcon = (type: string) => {\n const key = type?.toLowerCase() as BeltColor;\n\n if (key && key in COLOR_TO_BELT_MAP) return COLOR_TO_BELT_MAP[key];\n\n return IMAGES.MASTERED_BADGE;\n};\n\nexport const MATH_REWARDS = ['TETRA', 'COSA', 'DODA', 'HEXO', 'OCTO'];\n\nexport const INSTRUCTION_REWARDS = ['EKA', 'DVI', 'CHATVA', 'ASHTA', 'ZODASA'];\n\nexport const STICKERS = ['CONGRATS', 'COOL', 'KUDOS', 'GREAT', 'WOW', 'AWESOME'];\n\nexport const getRewardElement = (rewardType: string): string => {\n switch (rewardType) {\n case 'COSA':\n return IMAGES.COSA;\n case 'OCTO':\n return IMAGES.OCTO;\n case 'DODA':\n return IMAGES.DODA;\n case 'HEXO':\n return IMAGES.HEXO;\n case 'TETRA':\n return IMAGES.TETRA;\n case 'EKA':\n return IMAGES.EKA;\n case 'DVI':\n return IMAGES.DVI;\n case 'CHATVA':\n return IMAGES.CHATVA;\n case 'ASHTA':\n return IMAGES.ASHTA;\n case 'ZODASA':\n return IMAGES.ZODASA;\n case 'CONGRATS':\n return IMAGES.CONGRATS;\n case 'COOL':\n return IMAGES.COOL;\n case 'KUDOS':\n return IMAGES.KUDOS;\n case 'GREAT':\n return IMAGES.GREAT;\n case 'WOW':\n return IMAGES.WOW;\n case 'AWESOME':\n return IMAGES.AWESOME;\n default:\n return IMAGES.TETRA;\n }\n};\n\nexport const StickerMap = {\n CONGRATS: {\n height: 50,\n width: 50,\n lottieSrc: LOTTIE.TROPHY,\n },\n COOL: {\n height: 50,\n width: 50,\n lottieSrc: LOTTIE.COOL,\n },\n KUDOS: {\n height: 50,\n width: 50,\n lottieSrc: LOTTIE.CLAPPING_HANDS,\n },\n GREAT: {\n height: 63,\n width: 50,\n lottieSrc: LOTTIE.LIKE_BUTTON,\n },\n WOW: {\n height: 55,\n width: 55,\n lottieSrc: LOTTIE.STAR_STRIKE_EMOJI,\n },\n AWESOME: {\n height: 50,\n width: 50,\n lottieSrc: LOTTIE.AWESOME,\n },\n};\n\nexport const TYPES = {\n SENT_BADGES: 'SENT_BADGES',\n PENDING_BADGES: 'PENDING_BADGES',\n};\n\nexport const ACTION = {\n ACKNOWLEDGE: 'ACKNOWLEDGE',\n};\n"],"names":["SCREEN_SIZES","colors","getTheme","elementColors","STUDENT_BADGE_TYPE","STUDENT_BADGE_STATUS","BADGE_TYPE_BACKGROUND","BADGE_TYPE_TAB_ICON","WinsCommonIcon","WinsRareIcon","WinsEpicIcon","WinsLegendaryIcon","WinsMythicIcon","WinsMysteryIcon","BADGE_TYPE_BADGE_ICON","ILLUSTRATIONS","COLOR_TO_BELT_MAP","IMAGES","getBeltIcon","type","key","MATH_REWARDS","INSTRUCTION_REWARDS","STICKERS","getRewardElement","rewardType","StickerMap","LOTTIE"],"mappings":"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"}
|
@@ -1,95 +0,0 @@
|
|
1
|
-
import { jsxs as r, jsx as e, Fragment as k } from "react/jsx-runtime";
|
2
|
-
import { useCallback as u } from "react";
|
3
|
-
import h, { css as C } from "styled-components";
|
4
|
-
import W from "../../../assets/line-icons/icons/back2.js";
|
5
|
-
import y from "../../../assets/line-icons/icons/cue-coin.js";
|
6
|
-
import H from "../../ui/buttons/clickable/clickable.js";
|
7
|
-
import T from "../../ui/inputs/select-input/select-input.js";
|
8
|
-
import n from "../../ui/layout/flex-view.js";
|
9
|
-
import f from "../../ui/separator/separator.js";
|
10
|
-
import m from "../../ui/text/text.js";
|
11
|
-
const j = h(n)`
|
12
|
-
background: ${({ theme: i }) => i.colors.WHITE};
|
13
|
-
border-bottom: 1px solid ${({ theme: i }) => i.colors.GREY_2};
|
14
|
-
height: 64px;
|
15
|
-
left: ${({ widthOffset: i }) => i}px;
|
16
|
-
padding-left: 32px;
|
17
|
-
padding-right: 20px;
|
18
|
-
position: fixed;
|
19
|
-
right: 0;
|
20
|
-
top: ${({ topOffset: i }) => i}px;
|
21
|
-
width: calc(100% - ${({ widthOffset: i }) => i}px);
|
22
|
-
${({ showLeftBorder: i }) => i && C`
|
23
|
-
position: sticky;
|
24
|
-
left: 0;
|
25
|
-
top: 0;
|
26
|
-
width: 100%;
|
27
|
-
border-left: 1px solid ${({ theme: t }) => t.colors.GREY_2};
|
28
|
-
`}
|
29
|
-
z-index: ${({
|
30
|
-
theme: {
|
31
|
-
zIndex: { HEADER: i }
|
32
|
-
}
|
33
|
-
}) => i};
|
34
|
-
`, v = h(n)`
|
35
|
-
flex: 1;
|
36
|
-
`, p = ({ variant: i, coin: t }) => /* @__PURE__ */ r(k, { children: [
|
37
|
-
/* @__PURE__ */ e(y, { variant: i, width: 32, height: 32 }),
|
38
|
-
/* @__PURE__ */ e(f, { width: 8 }),
|
39
|
-
/* @__PURE__ */ e(m, { $renderAs: "h5", children: t })
|
40
|
-
] }), A = ({
|
41
|
-
currentSelectedProgram: i,
|
42
|
-
goldCoins: t = 0,
|
43
|
-
onBackClick: x,
|
44
|
-
onProgramChange: l,
|
45
|
-
programOptions: d = [],
|
46
|
-
silverCoins: c = 0,
|
47
|
-
showLeftBorder: $ = !1,
|
48
|
-
topOffset: w = 0,
|
49
|
-
widthOffset: b = 0
|
50
|
-
}) => {
|
51
|
-
const g = u(
|
52
|
-
(o) => {
|
53
|
-
const a = d.find((I) => I.id === o);
|
54
|
-
l && a && l(a);
|
55
|
-
},
|
56
|
-
[l, d]
|
57
|
-
), s = d.map((o) => ({
|
58
|
-
id: o.id,
|
59
|
-
label: o.name
|
60
|
-
// Use 'name' from API data for display
|
61
|
-
}));
|
62
|
-
return /* @__PURE__ */ r(
|
63
|
-
j,
|
64
|
-
{
|
65
|
-
$flexDirection: "row",
|
66
|
-
topOffset: w,
|
67
|
-
widthOffset: b,
|
68
|
-
showLeftBorder: $,
|
69
|
-
children: [
|
70
|
-
/* @__PURE__ */ r(n, { $flexDirection: "row", $alignItems: "center", $flexGapX: 0.5, children: [
|
71
|
-
/* @__PURE__ */ e(H, { label: "Back", onClick: x, children: /* @__PURE__ */ e(W, { width: 24, height: 24 }) }),
|
72
|
-
/* @__PURE__ */ e(m, { $renderAs: "h6", children: "Wins" })
|
73
|
-
] }),
|
74
|
-
s.length > 1 && /* @__PURE__ */ e(v, { $justifyContent: "center", $alignItems: "center", children: /* @__PURE__ */ e(
|
75
|
-
T,
|
76
|
-
{
|
77
|
-
options: s,
|
78
|
-
value: (i == null ? void 0 : i.id) || "",
|
79
|
-
onChange: g,
|
80
|
-
renderAs: "primary"
|
81
|
-
}
|
82
|
-
) }),
|
83
|
-
/* @__PURE__ */ r(n, { $flexDirection: "row", $alignItems: "center", children: [
|
84
|
-
t > 0 && /* @__PURE__ */ e(p, { variant: "gold", coin: t }),
|
85
|
-
/* @__PURE__ */ e(f, { width: 8 }),
|
86
|
-
c > 0 && /* @__PURE__ */ e(p, { variant: "silver", coin: c })
|
87
|
-
] })
|
88
|
-
]
|
89
|
-
}
|
90
|
-
);
|
91
|
-
}, X = A;
|
92
|
-
export {
|
93
|
-
X as default
|
94
|
-
};
|
95
|
-
//# sourceMappingURL=wins-header.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"wins-header.js","sources":["../../../../src/features/wins-dashboard/header/wins-header.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Back2Icon from '../../../assets/line-icons/icons/back2';\nimport CueCoinIcon from '../../../assets/line-icons/icons/cue-coin';\nimport Clickable from '../../ui/buttons/clickable/clickable';\nimport SelectInput from '../../ui/inputs/select-input/select-input';\nimport FlexView from '../../ui/layout/flex-view';\nimport Separator from '../../ui/separator/separator';\nimport Text from '../../ui/text/text';\n\ninterface HeaderProps {\n topOffset: number;\n widthOffset: number;\n showLeftBorder: boolean;\n}\n\nconst Header = styled(FlexView)<HeaderProps>`\n background: ${({ theme }) => theme.colors.WHITE};\n border-bottom: 1px solid ${({ theme }) => theme.colors.GREY_2};\n height: 64px;\n left: ${({ widthOffset }) => widthOffset}px;\n padding-left: 32px;\n padding-right: 20px;\n position: fixed;\n right: 0;\n top: ${({ topOffset }) => topOffset}px;\n width: calc(100% - ${({ widthOffset }) => widthOffset}px);\n ${({ showLeftBorder }) =>\n showLeftBorder &&\n css`\n position: sticky;\n left: 0;\n top: 0;\n width: 100%;\n border-left: 1px solid ${({ theme }) => theme.colors.GREY_2};\n `}\n z-index: ${({\n theme: {\n zIndex: { HEADER },\n },\n }) => HEADER};\n`;\n\nconst ProgramSwitcherWrapper = styled(FlexView)`\n flex: 1;\n`;\n\ninterface CoinViewProps {\n variant: 'gold' | 'silver';\n coin: number;\n}\n\nconst CoinView: React.FC<CoinViewProps> = ({ variant, coin }) => {\n return (\n <>\n <CueCoinIcon variant={variant} width={32} height={32} />\n <Separator width={8} />\n <Text $renderAs=\"h5\">{coin}</Text>\n </>\n );\n};\n\ninterface IProgramOption {\n badges_enabled: boolean;\n board: string;\n board_id: string;\n code: string;\n cue_program_type: string;\n description: string;\n grade: string;\n grades: string[];\n id: string;\n is_active: boolean;\n is_current: boolean;\n is_current_stream_program: boolean;\n is_demo: boolean;\n is_live: boolean;\n name: string;\n program_type: string;\n rewards_enabled: boolean;\n stream: string;\n sub_stream: string | null;\n [key: string]: unknown;\n}\n\ninterface WinsTabHeaderProps {\n currentSelectedProgram?: IProgramOption;\n goldCoins?: number;\n onBackClick?: () => void;\n onProgramChange?: (p: IProgramOption) => void;\n programOptions?: IProgramOption[];\n silverCoins?: number;\n showLeftBorder?: boolean;\n topOffset?: number;\n widthOffset?: number;\n}\n\nconst WinsTabHeader: React.FC<WinsTabHeaderProps> = ({\n currentSelectedProgram,\n goldCoins = 0,\n onBackClick,\n onProgramChange,\n programOptions = [],\n silverCoins = 0,\n showLeftBorder = false,\n topOffset = 0,\n widthOffset = 0,\n}) => {\n const handleProgramChange = useCallback(\n (selectedId: string) => {\n // Find the original program option from programOptions\n const originalOption = programOptions.find(op => op.id === selectedId);\n\n if (onProgramChange && originalOption) {\n onProgramChange(originalOption);\n }\n },\n [onProgramChange, programOptions],\n );\n\n // Transform program options to SelectInput format\n const selectOptions = programOptions.map(option => ({\n id: option.id,\n label: option.name, // Use 'name' from API data for display\n }));\n\n return (\n <Header\n $flexDirection=\"row\"\n topOffset={topOffset}\n widthOffset={widthOffset}\n showLeftBorder={showLeftBorder}\n >\n <FlexView $flexDirection=\"row\" $alignItems=\"center\" $flexGapX={0.5}>\n <Clickable label=\"Back\" onClick={onBackClick}>\n <Back2Icon width={24} height={24} />\n </Clickable>\n <Text $renderAs=\"h6\">Wins</Text>\n </FlexView>\n {selectOptions.length > 1 && (\n <ProgramSwitcherWrapper $justifyContent=\"center\" $alignItems=\"center\">\n <SelectInput\n options={selectOptions}\n value={currentSelectedProgram?.id || ''}\n onChange={handleProgramChange}\n renderAs=\"primary\"\n />\n </ProgramSwitcherWrapper>\n )}\n <FlexView $flexDirection=\"row\" $alignItems=\"center\">\n {goldCoins > 0 && <CoinView variant=\"gold\" coin={goldCoins} />}\n <Separator width={8} />\n {silverCoins > 0 && <CoinView variant=\"silver\" coin={silverCoins} />}\n </FlexView>\n </Header>\n );\n};\n\nexport default WinsTabHeader;\n"],"names":["Header","styled","FlexView","theme","widthOffset","topOffset","showLeftBorder","css","HEADER","ProgramSwitcherWrapper","CoinView","variant","coin","jsxs","Fragment","jsx","CueCoinIcon","Separator","Text","WinsTabHeader","currentSelectedProgram","goldCoins","onBackClick","onProgramChange","programOptions","silverCoins","handleProgramChange","useCallback","selectedId","originalOption","op","selectOptions","option","Clickable","Back2Icon","SelectInput","WinsTabHeader$1"],"mappings":";;;;;;;;;;AAiBA,MAAMA,IAASC,EAAOC,CAAQ;AAAA,gBACd,CAAC,EAAE,OAAAC,EAAA,MAAYA,EAAM,OAAO,KAAK;AAAA,6BACpB,CAAC,EAAE,OAAAA,EAAA,MAAYA,EAAM,OAAO,MAAM;AAAA;AAAA,UAErD,CAAC,EAAE,aAAAC,EAAY,MAAMA,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA,SAKjC,CAAC,EAAE,WAAAC,EAAU,MAAMA,CAAS;AAAA,uBACd,CAAC,EAAE,aAAAD,EAAY,MAAMA,CAAW;AAAA,IACnD,CAAC,EAAE,gBAAAE,QACHA,KACAC;AAAA;AAAA;AAAA;AAAA;AAAA,+BAK2B,CAAC,EAAE,OAAAJ,EAAA,MAAYA,EAAM,OAAO,MAAM;AAAA,KAC5D;AAAA,aACQ,CAAC;AAAA,EACV,OAAO;AAAA,IACL,QAAQ,EAAE,QAAAK,EAAO;AAAA,EACnB;AACF,MAAMA,CAAM;AAAA,GAGRC,IAAyBR,EAAOC,CAAQ;AAAA;AAAA,GASxCQ,IAAoC,CAAC,EAAE,SAAAC,GAAS,MAAAC,QAGhD,gBAAAC,EAAAC,GAAA,EAAA,UAAA;AAAA,EAAA,gBAAAC,EAACC,GAAY,EAAA,SAAAL,GAAkB,OAAO,IAAI,QAAQ,IAAI;AAAA,EACtD,gBAAAI,EAACE,GAAU,EAAA,OAAO,EAAG,CAAA;AAAA,EACpB,gBAAAF,EAAAG,GAAA,EAAK,WAAU,MAAM,UAAKN,GAAA;AAC7B,EAAA,CAAA,GAuCEO,IAA8C,CAAC;AAAA,EACnD,wBAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,aAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAC,IAAiB,CAAC;AAAA,EAClB,aAAAC,IAAc;AAAA,EACd,gBAAAnB,IAAiB;AAAA,EACjB,WAAAD,IAAY;AAAA,EACZ,aAAAD,IAAc;AAChB,MAAM;AACJ,QAAMsB,IAAsBC;AAAA,IAC1B,CAACC,MAAuB;AAEtB,YAAMC,IAAiBL,EAAe,KAAK,CAAMM,MAAAA,EAAG,OAAOF,CAAU;AAErE,MAAIL,KAAmBM,KACrBN,EAAgBM,CAAc;AAAA,IAElC;AAAA,IACA,CAACN,GAAiBC,CAAc;AAAA,EAAA,GAI5BO,IAAgBP,EAAe,IAAI,CAAWQ,OAAA;AAAA,IAClD,IAAIA,EAAO;AAAA,IACX,OAAOA,EAAO;AAAA;AAAA,EACd,EAAA;AAGA,SAAA,gBAAAnB;AAAA,IAACb;AAAA,IAAA;AAAA,MACC,gBAAe;AAAA,MACf,WAAAK;AAAA,MACA,aAAAD;AAAA,MACA,gBAAAE;AAAA,MAEA,UAAA;AAAA,QAAA,gBAAAO,EAACX,KAAS,gBAAe,OAAM,aAAY,UAAS,WAAW,KAC7D,UAAA;AAAA,UAAC,gBAAAa,EAAAkB,GAAA,EAAU,OAAM,QAAO,SAASX,GAC/B,UAAC,gBAAAP,EAAAmB,GAAA,EAAU,OAAO,IAAI,QAAQ,GAAI,CAAA,GACpC;AAAA,UACC,gBAAAnB,EAAAG,GAAA,EAAK,WAAU,MAAK,UAAI,QAAA;AAAA,QAAA,GAC3B;AAAA,QACCa,EAAc,SAAS,KACtB,gBAAAhB,EAACN,KAAuB,iBAAgB,UAAS,aAAY,UAC3D,UAAA,gBAAAM;AAAA,UAACoB;AAAA,UAAA;AAAA,YACC,SAASJ;AAAA,YACT,QAAOX,KAAA,gBAAAA,EAAwB,OAAM;AAAA,YACrC,UAAUM;AAAA,YACV,UAAS;AAAA,UAAA;AAAA,QAAA,GAEb;AAAA,QAED,gBAAAb,EAAAX,GAAA,EAAS,gBAAe,OAAM,aAAY,UACxC,UAAA;AAAA,UAAAmB,IAAY,KAAM,gBAAAN,EAAAL,GAAA,EAAS,SAAQ,QAAO,MAAMW,GAAW;AAAA,UAC5D,gBAAAN,EAACE,GAAU,EAAA,OAAO,EAAG,CAAA;AAAA,UACpBQ,IAAc,KAAK,gBAAAV,EAACL,KAAS,SAAQ,UAAS,MAAMe,GAAa;AAAA,QAAA,GACpE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN,GAEAW,IAAejB;"}
|