@streamlayer/react-ui 0.2.6 → 0.3.2
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/package.json +1 -1
- package/src/lib/demo/Gamification.js +9 -0
- package/src/lib/demo/Gamification.js.map +1 -1
- package/src/lib/gamification/login/index.js +6 -1
- package/src/lib/gamification/login/index.js.map +1 -1
- package/src/lib/gamification/vote/components/voting-option/index.d.ts +1 -0
- package/src/lib/gamification/vote/components/voting-option/index.js +5 -2
- package/src/lib/gamification/vote/components/voting-option/index.js.map +1 -1
- package/src/lib/gamification/vote/index.js +10 -2
- package/src/lib/gamification/vote/index.js.map +1 -1
- package/src/lib/gamification/vote/styles.d.ts +4 -0
- package/src/lib/gamification/vote/styles.js +12 -0
- package/src/lib/gamification/vote/styles.js.map +1 -1
- package/src/utils/login.d.ts +1 -0
- package/src/utils/login.js +8 -0
- package/src/utils/login.js.map +1 -1
package/package.json
CHANGED
|
@@ -4,6 +4,15 @@ import { UserSummary, QuestionsList, Question, Notifications, InPlayGame } from
|
|
|
4
4
|
import { DemoContainer, DemoContainerNotifications, UserStatisticsContainer } from './styles';
|
|
5
5
|
export const GamificationComponent = ({ gamification, sdk, }) => {
|
|
6
6
|
const onbordingComplete = useStore(gamification.onbordingComplete);
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
const { slStreamId } = useStore(sdk.sdkStore);
|
|
10
|
+
if (slStreamId?.loading) {
|
|
11
|
+
return (_jsx(DemoContainer, { children: _jsx("div", { children: "Event is loading" }) }));
|
|
12
|
+
}
|
|
13
|
+
if (!slStreamId?.data) {
|
|
14
|
+
return (_jsx(DemoContainer, { children: _jsx("div", { children: "Event is forbidden" }) }));
|
|
15
|
+
}
|
|
7
16
|
if (!onbordingComplete) {
|
|
8
17
|
return (_jsx(DemoContainer, { children: _jsx(InPlayGame, { action: gamification.submitInplay }) }));
|
|
9
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Gamification.js","sourceRoot":"","sources":["../../../../../../packages/react-ui/src/lib/demo/Gamification.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAE7F,MAAM,CAAC,MAAM,qBAAqB,GAAkE,CAAC,EACnG,YAAY,EACZ,GAAG,GACJ,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Gamification.js","sourceRoot":"","sources":["../../../../../../packages/react-ui/src/lib/demo/Gamification.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9F,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAE7F,MAAM,CAAC,MAAM,qBAAqB,GAAkE,CAAC,EACnG,YAAY,EACZ,GAAG,GACJ,EAAE,EAAE;IACH,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;IAClE,6DAA6D;IAC7D,aAAa;IACb,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAE7C,IAAI,UAAU,EAAE,OAAO,EAAE;QACvB,OAAO,CACL,KAAC,aAAa,cACZ,6CAA2B,GACb,CACjB,CAAA;KACF;IAED,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;QACrB,OAAO,CACL,KAAC,aAAa,cACZ,+CAA6B,GACf,CACjB,CAAA;KACF;IAED,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,CACL,KAAC,aAAa,cACZ,KAAC,UAAU,IAAC,MAAM,EAAE,YAAY,CAAC,YAAY,GAAI,GACnC,CACjB,CAAA;KACF;IAED,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAE,EAAE;QAC1C,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,YAAY,CAAC,aAAa,EAAE,CAAA;IAC9B,CAAC,CAAA;IAED,MAAM,IAAI,GAAG,CAAC,UAAkB,EAAE,QAAgB,EAAE,EAAE;QACpD,KAAK,YAAY,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACtD,CAAC,CAAA;IAED,OAAO,CACL,MAAC,aAAa,eACZ,KAAC,0BAA0B,cACzB,KAAC,aAAa,IAAC,kBAAkB,EAAE,GAAG,CAAC,qBAAqB,EAAE,EAAE,YAAY,EAAE,YAAY,GAAI,GACnE,EAC7B,KAAC,uBAAuB,cACrB,YAAY,CAAC,WAAW,IAAI,KAAC,WAAW,IAAC,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAI,GAChE,EACzB,YAAY,CAAC,SAAS,IAAI,CACzB,KAAC,aAAa,IAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,GAAI,CACxF,EACA,YAAY,CAAC,cAAc,IAAI,CAC9B,KAAC,QAAQ,IAAC,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAI,CACtG,IACa,CACjB,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -20,7 +20,12 @@ export const Login = ({ login, anonymousLogin }) => {
|
|
|
20
20
|
e.preventDefault();
|
|
21
21
|
try {
|
|
22
22
|
const parsed = phoneInput.replaceAll('+', '');
|
|
23
|
-
|
|
23
|
+
try {
|
|
24
|
+
await loginApi.requestLoginCode(parsed);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
await loginApi.register(parsed);
|
|
28
|
+
}
|
|
24
29
|
setPhone(parsed);
|
|
25
30
|
}
|
|
26
31
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/react-ui/src/lib/gamification/login/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,UAAU,EAAE,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChG,OAAO,oCAAoC,CAAA;AAC3C,OAAO,aAAa,MAAM,mBAAmB,CAAA;AAE7C,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,mDAAmD,CAAA;AAEzE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE1G,MAAM,CAAC,MAAM,KAAK,GAGb,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE;IACjC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACpC,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,kBAAkB,EAAE,SAAS;QAC7B,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,KAAK,EAAE,CAAmC,EAAE,EAAE;QAChE,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,IAAI;YACF,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAE7C,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/react-ui/src/lib/gamification/login/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ interface VotingOptionProps {
|
|
|
11
11
|
hasCorrectAnswer: boolean;
|
|
12
12
|
answered: boolean;
|
|
13
13
|
onVote: (questionId: string, answerId: string) => void;
|
|
14
|
+
toggleIsLoadingSubmitAnswer: (flag: boolean) => void;
|
|
14
15
|
}
|
|
15
16
|
export declare const VotingOption: React.FC<VotingOptionProps>;
|
|
16
17
|
export {};
|
|
@@ -2,10 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
|
2
2
|
import checkIconGreen from '../../../../../assets/icons/icon-check.svg';
|
|
3
3
|
import checkIconWhite from '../../../../../assets/icons/icon-check-white.svg';
|
|
4
4
|
import { Container, AnsweredContainer, ButtonPct, Icon, Title, Percentage, Button, Indicators, CheckIconWrap, CheckIcon, } from './styles';
|
|
5
|
-
export const VotingOption = ({ icon, id, title, questionId, disabled, percentage, onVote, correct, questionAnswered, hasCorrectAnswer, answered, }) => {
|
|
5
|
+
export const VotingOption = ({ icon, id, title, questionId, disabled, percentage, onVote, toggleIsLoadingSubmitAnswer, correct, questionAnswered, hasCorrectAnswer, answered, }) => {
|
|
6
6
|
if (questionAnswered && answered) {
|
|
7
7
|
return (_jsxs(AnsweredContainer, { answeredCorrect: !hasCorrectAnswer || correct, questionAnswered: false, children: [_jsx(ButtonPct, { style: { width: `${percentage}%` } }), _jsxs(Button, { disabled: disabled, onClick: () => onVote(questionId, id), children: [icon && _jsx(Icon, { alt: "option-icon", src: icon }), _jsx(Title, { children: title }), _jsxs(Indicators, { children: [hasCorrectAnswer && correct && (_jsx(CheckIconWrap, { children: _jsx(CheckIcon, { alt: "icon-correct", src: answered ? checkIconWhite : checkIconGreen }) })), _jsxs(Percentage, { children: [percentage, "%"] })] })] })] }));
|
|
8
8
|
}
|
|
9
|
-
return (_jsxs(Container, { questionAnswered: questionAnswered, children: [questionAnswered && _jsx(ButtonPct, { style: { width: `${percentage}%` } }), _jsxs(Button, { disabled: disabled, onClick: () =>
|
|
9
|
+
return (_jsxs(Container, { questionAnswered: questionAnswered, children: [questionAnswered && _jsx(ButtonPct, { style: { width: `${percentage}%` } }), _jsxs(Button, { disabled: disabled, onClick: () => {
|
|
10
|
+
toggleIsLoadingSubmitAnswer(true);
|
|
11
|
+
onVote(questionId, id);
|
|
12
|
+
}, children: [icon && _jsx(Icon, { alt: "option-icon", src: icon }), _jsx(Title, { children: title }), questionAnswered && (_jsxs(Indicators, { children: [hasCorrectAnswer && correct && (_jsx(CheckIconWrap, { children: _jsx(CheckIcon, { alt: "icon-correct", src: answered ? checkIconWhite : checkIconGreen }) })), _jsxs(Percentage, { children: [percentage, "%"] })] }))] })] }));
|
|
10
13
|
};
|
|
11
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-ui/src/lib/gamification/vote/components/voting-option/index.tsx"],"names":[],"mappings":";AAAA,OAAO,cAAc,MAAM,4CAA4C,CAAA;AACvE,OAAO,cAAc,MAAM,kDAAkD,CAAA;AAE7E,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,IAAI,EACJ,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-ui/src/lib/gamification/vote/components/voting-option/index.tsx"],"names":[],"mappings":";AAAA,OAAO,cAAc,MAAM,4CAA4C,CAAA;AACvE,OAAO,cAAc,MAAM,kDAAkD,CAAA;AAE7E,OAAO,EACL,SAAS,EACT,iBAAiB,EACjB,SAAS,EACT,IAAI,EACJ,KAAK,EACL,UAAU,EACV,MAAM,EACN,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,UAAU,CAAA;AAiBjB,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,IAAI,EACJ,EAAE,EACF,KAAK,EACL,UAAU,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EACN,2BAA2B,EAC3B,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,GACT,EAAE,EAAE;IACH,IAAI,gBAAgB,IAAI,QAAQ,EAAE;QAChC,OAAO,CACL,MAAC,iBAAiB,IAAC,eAAe,EAAE,CAAC,gBAAgB,IAAI,OAAO,EAAE,gBAAgB,EAAE,KAAK,aACvF,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,GAAG,EAAE,GAAI,EACjD,MAAC,MAAM,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,aAC9D,IAAI,IAAI,KAAC,IAAI,IAAC,GAAG,EAAC,aAAa,EAAC,GAAG,EAAE,IAAI,GAAI,EAC9C,KAAC,KAAK,cAAE,KAAK,GAAS,EACtB,MAAC,UAAU,eACR,gBAAgB,IAAI,OAAO,IAAI,CAC9B,KAAC,aAAa,cACZ,KAAC,SAAS,IAAC,GAAG,EAAC,cAAc,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,GAAI,GACnE,CACjB,EACD,MAAC,UAAU,eAAE,UAAU,SAAe,IAC3B,IACN,IACS,CACrB,CAAA;KACF;IAED,OAAO,CACL,MAAC,SAAS,IAAC,gBAAgB,EAAE,gBAAgB,aAC1C,gBAAgB,IAAI,KAAC,SAAS,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,GAAG,EAAE,GAAI,EACtE,MAAC,MAAM,IACL,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE;oBACZ,2BAA2B,CAAC,IAAI,CAAC,CAAA;oBACjC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;gBACxB,CAAC,aAEA,IAAI,IAAI,KAAC,IAAI,IAAC,GAAG,EAAC,aAAa,EAAC,GAAG,EAAE,IAAI,GAAI,EAC9C,KAAC,KAAK,cAAE,KAAK,GAAS,EACrB,gBAAgB,IAAI,CACnB,MAAC,UAAU,eACR,gBAAgB,IAAI,OAAO,IAAI,CAC9B,KAAC,aAAa,cACZ,KAAC,SAAS,IAAC,GAAG,EAAC,cAAc,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,GAAI,GACnE,CACjB,EACD,MAAC,UAAU,eAAE,UAAU,SAAe,IAC3B,CACd,IACM,IACC,CACb,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { QuestionType } from '@streamlayer/sdk-web-types';
|
|
3
|
+
import { useState, useEffect, useCallback } from 'react';
|
|
3
4
|
import checkIcon from '../../../assets/icons/icon-check.svg';
|
|
4
5
|
import closeIcon from '../../../assets/icons/icon-close.svg';
|
|
5
6
|
import { VotingOption } from './components/voting-option';
|
|
6
|
-
import { Container, Title, Options, Feedback, FeedbackIcon, FeedbackTitle, FeedbackDescription } from './styles';
|
|
7
|
+
import { Container, Title, Options, Loader, Feedback, FeedbackIcon, FeedbackTitle, FeedbackDescription } from './styles';
|
|
7
8
|
export const Vote = ({ title, questionId, options, questionAnswered, feedbackMessages, questionAnsweredCorrectly, questionType, }) => {
|
|
8
|
-
|
|
9
|
+
const [isLoadingSubmitAnswer, setIsLoadingSubmitAnswer] = useState(false);
|
|
10
|
+
const toggleIsLoadingSubmitAnswer = useCallback((flag) => {
|
|
11
|
+
setIsLoadingSubmitAnswer(flag);
|
|
12
|
+
}, [setIsLoadingSubmitAnswer]);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
toggleIsLoadingSubmitAnswer(false);
|
|
15
|
+
}, [options, toggleIsLoadingSubmitAnswer]);
|
|
16
|
+
return (_jsxs(Container, { children: [_jsx(Title, { children: title }), _jsxs(Options, { children: [isLoadingSubmitAnswer && _jsx(Loader, { children: "Loading..." }), options.map((props) => (_jsx(VotingOption, { toggleIsLoadingSubmitAnswer: toggleIsLoadingSubmitAnswer, questionId: questionId, ...props }, props.id)))] }), questionAnswered && questionType === QuestionType.TRIVIA && (_jsxs(Feedback, { children: [_jsx(FeedbackIcon, { alt: "reaction-to-answer", src: questionAnsweredCorrectly ? checkIcon : closeIcon }), _jsxs("div", { children: [_jsx(FeedbackTitle, { children: questionAnsweredCorrectly
|
|
9
17
|
? feedbackMessages.correctFeedback.title
|
|
10
18
|
: feedbackMessages.incorrectFeedback.title }), _jsx(FeedbackDescription, { children: questionAnsweredCorrectly
|
|
11
19
|
? feedbackMessages.correctFeedback.description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/react-ui/src/lib/gamification/vote/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,SAAS,MAAM,sCAAsC,CAAA;AAC5D,OAAO,SAAS,MAAM,sCAAsC,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/react-ui/src/lib/gamification/vote/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,SAAS,MAAM,sCAAsC,CAAA;AAC5D,OAAO,SAAS,MAAM,sCAAsC,CAAA;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACzD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAWxH,MAAM,CAAC,MAAM,IAAI,GAAwB,CAAC,EACxC,KAAK,EACL,UAAU,EACV,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,YAAY,GACb,EAAE,EAAE;IACH,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzE,MAAM,2BAA2B,GAAG,WAAW,CAC7C,CAAC,IAAa,EAAE,EAAE;QAChB,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC,EACD,CAAC,wBAAwB,CAAC,CAC3B,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,2BAA2B,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAA;IAE1C,OAAO,CACL,MAAC,SAAS,eACR,KAAC,KAAK,cAAE,KAAK,GAAS,EACtB,MAAC,OAAO,eACL,qBAAqB,IAAI,KAAC,MAAM,6BAAoB,EACpD,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACtB,KAAC,YAAY,IACX,2BAA2B,EAAE,2BAA2B,EACxD,UAAU,EAAE,UAAU,KAElB,KAAK,IADJ,KAAK,CAAC,EAAE,CAEb,CACH,CAAC,IACM,EACT,gBAAgB,IAAI,YAAY,KAAK,YAAY,CAAC,MAAM,IAAI,CAC3D,MAAC,QAAQ,eACP,KAAC,YAAY,IAAC,GAAG,EAAC,oBAAoB,EAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAiB,EAC9G,0BACE,KAAC,aAAa,cACX,yBAAyB;oCACxB,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,KAAK;oCACxC,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,KAAK,GAC9B,EAChB,KAAC,mBAAmB,cACjB,yBAAyB;oCACxB,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,WAAW;oCAC9C,CAAC,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,GAC9B,IAClB,IACG,CACZ,IACS,CACb,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -11,6 +11,10 @@ export declare const Options: import("@emotion/styled").StyledComponent<{
|
|
|
11
11
|
theme?: import("@emotion/react").Theme | undefined;
|
|
12
12
|
as?: import("react").ElementType<any> | undefined;
|
|
13
13
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
14
|
+
export declare const Loader: import("@emotion/styled").StyledComponent<{
|
|
15
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
16
|
+
as?: import("react").ElementType<any> | undefined;
|
|
17
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
14
18
|
export declare const Feedback: import("@emotion/styled").StyledComponent<{
|
|
15
19
|
theme?: import("@emotion/react").Theme | undefined;
|
|
16
20
|
as?: import("react").ElementType<any> | undefined;
|
|
@@ -15,11 +15,23 @@ export const Title = styled.div `
|
|
|
15
15
|
export const Options = styled.div `
|
|
16
16
|
overflow-y: auto;
|
|
17
17
|
max-height: 220px;
|
|
18
|
+
position: relative;
|
|
18
19
|
|
|
19
20
|
& > div:not(:last-child) {
|
|
20
21
|
margin-bottom: 12px;
|
|
21
22
|
}
|
|
22
23
|
`;
|
|
24
|
+
export const Loader = styled.div `
|
|
25
|
+
position: absolute;
|
|
26
|
+
left: 0px;
|
|
27
|
+
background-color: ${(props) => props.theme.COLORS.BG_TRANSPARENT_VOTE_CONTAINER};
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: 100%;
|
|
30
|
+
z-index: 1;
|
|
31
|
+
display: flex;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
align-items: center;
|
|
34
|
+
`;
|
|
23
35
|
export const Feedback = styled.div `
|
|
24
36
|
padding: 14px 12px 14px 16px;
|
|
25
37
|
display: flex;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../../../packages/react-ui/src/lib/gamification/vote/styles.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;WAExB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;CAO7C,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;CAE9B,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../../../packages/react-ui/src/lib/gamification/vote/styles.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAA;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAA;;WAExB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK;;;;;;;CAO7C,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;CAE9B,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;CAQhC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;;;sBAGV,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B;;;;;;;CAOhF,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAIjC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAIrC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOtC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;CAQ5C,CAAA"}
|
package/src/utils/login.d.ts
CHANGED
package/src/utils/login.js
CHANGED
|
@@ -9,6 +9,14 @@ export const requestLoginCode = async (phone) => {
|
|
|
9
9
|
await userClient.requestPassword({ id: phone });
|
|
10
10
|
return true;
|
|
11
11
|
};
|
|
12
|
+
export const register = async (phone) => {
|
|
13
|
+
const transport = createGrpcWebTransport({
|
|
14
|
+
baseUrl: process.env.NX_GRPC_HOST || 'https://grpc-web.next.streamlayer.io:443',
|
|
15
|
+
});
|
|
16
|
+
const userClient = createPromiseClient(Users, transport);
|
|
17
|
+
await userClient.register({ id: phone });
|
|
18
|
+
return true;
|
|
19
|
+
};
|
|
12
20
|
export const login = async (phone, code) => {
|
|
13
21
|
const transport = createGrpcWebTransport({
|
|
14
22
|
baseUrl: process.env.NX_GRPC_HOST || 'https://grpc-web.next.streamlayer.io:443',
|
package/src/utils/login.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../../packages/react-ui/src/utils/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACtD,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0CAA0C;KAChF,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAExD,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAE/C,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE;IACzD,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0CAA0C;KAChF,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAExD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjE,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,CAAA;AACvB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../../packages/react-ui/src/utils/login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAA;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IACtD,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0CAA0C;KAChF,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAExD,MAAM,UAAU,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAE/C,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;IAC9C,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0CAA0C;KAChF,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAExD,MAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAExC,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,KAAa,EAAE,IAAY,EAAE,EAAE;IACzD,MAAM,SAAS,GAAG,sBAAsB,CAAC;QACvC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0CAA0C;KAChF,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IAExD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjE,OAAO,GAAG,EAAE,IAAI,EAAE,GAAG,CAAA;AACvB,CAAC,CAAA"}
|