@magmamath/students-features 0.7.0 → 0.8.0-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 (229) hide show
  1. package/dist/commonjs/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +8 -15
  2. package/dist/commonjs/features/chatbot/components/Chat/Chat.js.map +1 -0
  3. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js +1 -1
  4. package/dist/commonjs/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  5. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js +74 -0
  6. package/dist/commonjs/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
  7. package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js +144 -0
  8. package/dist/commonjs/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
  9. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +138 -0
  10. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
  11. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +66 -0
  12. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
  13. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.js +106 -0
  14. package/dist/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
  15. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js +7 -4
  16. package/dist/commonjs/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
  17. package/dist/commonjs/features/chatbot/components/Chatbot.js +2 -2
  18. package/dist/commonjs/features/chatbot/components/Chatbot.js.map +1 -1
  19. package/dist/commonjs/features/chatbot/constants.js +6 -1
  20. package/dist/commonjs/features/chatbot/constants.js.map +1 -1
  21. package/dist/commonjs/features/chatbot/helpers.js +75 -1
  22. package/dist/commonjs/features/chatbot/helpers.js.map +1 -1
  23. package/dist/commonjs/features/chatbot/index.js.map +1 -1
  24. package/dist/commonjs/features/chatbot/model/ChatBotModel.js +49 -11
  25. package/dist/commonjs/features/chatbot/model/ChatBotModel.js.map +1 -1
  26. package/dist/commonjs/features/chatbot/model/ChatBotTextInput.js +16 -0
  27. package/dist/commonjs/features/chatbot/model/ChatBotTextInput.js.map +1 -0
  28. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js +11 -19
  29. package/dist/commonjs/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  30. package/dist/commonjs/features/chatbot/model/{translation.js → ChatbotTranslation.js} +29 -1
  31. package/dist/commonjs/features/chatbot/model/ChatbotTranslation.js.map +1 -0
  32. package/dist/commonjs/features/chatbot/types/model.types.js +6 -1
  33. package/dist/commonjs/features/chatbot/types/model.types.js.map +1 -1
  34. package/dist/commonjs/features/chatbot/types/units.types.js +10 -0
  35. package/dist/commonjs/features/chatbot/types/units.types.js.map +1 -1
  36. package/dist/commonjs/shared/hooks/useKeyDownListener.js +3 -2
  37. package/dist/commonjs/shared/hooks/useKeyDownListener.js.map +1 -1
  38. package/dist/commonjs/shared/translation/localization/ca.json +3 -2
  39. package/dist/commonjs/shared/translation/localization/en.json +3 -2
  40. package/dist/commonjs/shared/translation/localization/gb.json +3 -2
  41. package/dist/commonjs/shared/translation/localization/sct.json +3 -2
  42. package/dist/commonjs/shared/translation/localization/sw.json +3 -2
  43. package/dist/module/features/chatbot/components/{ChatMessages/ChatbotMessages.js → Chat/Chat.js} +6 -13
  44. package/dist/module/features/chatbot/components/Chat/Chat.js.map +1 -0
  45. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js +1 -1
  46. package/dist/module/features/chatbot/components/ChatControls/ChatControls.js.map +1 -1
  47. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js +67 -0
  48. package/dist/module/features/chatbot/components/ChatInput/ChatInput.js.map +1 -0
  49. package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js +138 -0
  50. package/dist/module/features/chatbot/components/ChatInput/RequestHintButton.js.map +1 -0
  51. package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js +131 -0
  52. package/dist/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.js.map +1 -0
  53. package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js +60 -0
  54. package/dist/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.js.map +1 -0
  55. package/dist/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.js +98 -0
  56. package/dist/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.js.map +1 -0
  57. package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js +7 -4
  58. package/dist/module/features/chatbot/components/ChatMessage/MessageLoader.js.map +1 -1
  59. package/dist/module/features/chatbot/components/Chatbot.js +2 -2
  60. package/dist/module/features/chatbot/components/Chatbot.js.map +1 -1
  61. package/dist/module/features/chatbot/constants.js +5 -0
  62. package/dist/module/features/chatbot/constants.js.map +1 -1
  63. package/dist/module/features/chatbot/helpers.js +71 -0
  64. package/dist/module/features/chatbot/helpers.js.map +1 -1
  65. package/dist/module/features/chatbot/index.js.map +1 -1
  66. package/dist/module/features/chatbot/model/ChatBotModel.js +49 -11
  67. package/dist/module/features/chatbot/model/ChatBotModel.js.map +1 -1
  68. package/dist/module/features/chatbot/model/ChatBotTextInput.js +11 -0
  69. package/dist/module/features/chatbot/model/ChatBotTextInput.js.map +1 -0
  70. package/dist/module/features/chatbot/model/ChatBotThreadManager.js +11 -19
  71. package/dist/module/features/chatbot/model/ChatBotThreadManager.js.map +1 -1
  72. package/dist/module/features/chatbot/model/{translation.js → ChatbotTranslation.js} +29 -1
  73. package/dist/module/features/chatbot/model/ChatbotTranslation.js.map +1 -0
  74. package/dist/module/features/chatbot/types/model.types.js +5 -0
  75. package/dist/module/features/chatbot/types/model.types.js.map +1 -1
  76. package/dist/module/features/chatbot/types/units.types.js +6 -0
  77. package/dist/module/features/chatbot/types/units.types.js.map +1 -1
  78. package/dist/module/shared/hooks/useKeyDownListener.js +3 -2
  79. package/dist/module/shared/hooks/useKeyDownListener.js.map +1 -1
  80. package/dist/module/shared/translation/localization/ca.json +3 -2
  81. package/dist/module/shared/translation/localization/en.json +3 -2
  82. package/dist/module/shared/translation/localization/gb.json +3 -2
  83. package/dist/module/shared/translation/localization/sct.json +3 -2
  84. package/dist/module/shared/translation/localization/sw.json +3 -2
  85. package/dist/typescript/{module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts → commonjs/features/chatbot/components/Chat/Chat.d.ts} +3 -3
  86. package/dist/typescript/commonjs/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
  87. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts +1 -1
  88. package/dist/typescript/commonjs/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  89. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts +9 -0
  90. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
  91. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts +16 -0
  92. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
  93. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +16 -0
  94. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
  95. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
  96. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
  97. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts +10 -0
  98. package/dist/typescript/commonjs/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
  99. package/dist/typescript/commonjs/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
  100. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts +3 -1
  101. package/dist/typescript/commonjs/features/chatbot/components/Chatbot.d.ts.map +1 -1
  102. package/dist/typescript/commonjs/features/chatbot/constants.d.ts +5 -0
  103. package/dist/typescript/commonjs/features/chatbot/constants.d.ts.map +1 -1
  104. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts +5 -0
  105. package/dist/typescript/commonjs/features/chatbot/helpers.d.ts.map +1 -1
  106. package/dist/typescript/commonjs/features/chatbot/index.d.ts.map +1 -1
  107. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts +5 -6
  108. package/dist/typescript/commonjs/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  109. package/dist/typescript/commonjs/features/chatbot/model/ChatBotTextInput.d.ts +8 -0
  110. package/dist/typescript/commonjs/features/chatbot/model/ChatBotTextInput.d.ts.map +1 -0
  111. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts +3 -2
  112. package/dist/typescript/commonjs/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  113. package/dist/typescript/{module/features/chatbot/model/translation.d.ts → commonjs/features/chatbot/model/ChatbotTranslation.d.ts} +3 -2
  114. package/dist/typescript/commonjs/features/chatbot/model/ChatbotTranslation.d.ts.map +1 -0
  115. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts +28 -6
  116. package/dist/typescript/commonjs/features/chatbot/types/api.types.d.ts.map +1 -1
  117. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts +28 -3
  118. package/dist/typescript/commonjs/features/chatbot/types/model.types.d.ts.map +1 -1
  119. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts +5 -0
  120. package/dist/typescript/commonjs/features/chatbot/types/translation.types.d.ts.map +1 -1
  121. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts +5 -0
  122. package/dist/typescript/commonjs/features/chatbot/types/units.types.d.ts.map +1 -1
  123. package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts +1 -1
  124. package/dist/typescript/commonjs/shared/hooks/useKeyDownListener.d.ts.map +1 -1
  125. package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts +1 -1
  126. package/dist/typescript/commonjs/shared/hooks/useKeyboard.d.ts.map +1 -1
  127. package/dist/typescript/commonjs/shared/translation/constants.d.ts +5 -0
  128. package/dist/typescript/commonjs/shared/translation/constants.d.ts.map +1 -1
  129. package/dist/typescript/commonjs/shared/translation/model.d.ts +2 -0
  130. package/dist/typescript/commonjs/shared/translation/model.d.ts.map +1 -1
  131. package/dist/typescript/{commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts → module/features/chatbot/components/Chat/Chat.d.ts} +3 -3
  132. package/dist/typescript/module/features/chatbot/components/Chat/Chat.d.ts.map +1 -0
  133. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts +1 -1
  134. package/dist/typescript/module/features/chatbot/components/ChatControls/ChatControls.d.ts.map +1 -1
  135. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts +9 -0
  136. package/dist/typescript/module/features/chatbot/components/ChatInput/ChatInput.d.ts.map +1 -0
  137. package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts +16 -0
  138. package/dist/typescript/module/features/chatbot/components/ChatInput/RequestHintButton.d.ts.map +1 -0
  139. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts +16 -0
  140. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/ChatTextInput.d.ts.map +1 -0
  141. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts +11 -0
  142. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.d.ts.map +1 -0
  143. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts +10 -0
  144. package/dist/typescript/module/features/chatbot/components/ChatInput/freeText/SendMessageButton.d.ts.map +1 -0
  145. package/dist/typescript/module/features/chatbot/components/ChatMessage/MessageLoader.d.ts.map +1 -1
  146. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts +3 -1
  147. package/dist/typescript/module/features/chatbot/components/Chatbot.d.ts.map +1 -1
  148. package/dist/typescript/module/features/chatbot/constants.d.ts +5 -0
  149. package/dist/typescript/module/features/chatbot/constants.d.ts.map +1 -1
  150. package/dist/typescript/module/features/chatbot/helpers.d.ts +5 -0
  151. package/dist/typescript/module/features/chatbot/helpers.d.ts.map +1 -1
  152. package/dist/typescript/module/features/chatbot/index.d.ts.map +1 -1
  153. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts +5 -6
  154. package/dist/typescript/module/features/chatbot/model/ChatBotModel.d.ts.map +1 -1
  155. package/dist/typescript/module/features/chatbot/model/ChatBotTextInput.d.ts +8 -0
  156. package/dist/typescript/module/features/chatbot/model/ChatBotTextInput.d.ts.map +1 -0
  157. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts +3 -2
  158. package/dist/typescript/module/features/chatbot/model/ChatBotThreadManager.d.ts.map +1 -1
  159. package/dist/typescript/{commonjs/features/chatbot/model/translation.d.ts → module/features/chatbot/model/ChatbotTranslation.d.ts} +3 -2
  160. package/dist/typescript/module/features/chatbot/model/ChatbotTranslation.d.ts.map +1 -0
  161. package/dist/typescript/module/features/chatbot/types/api.types.d.ts +28 -6
  162. package/dist/typescript/module/features/chatbot/types/api.types.d.ts.map +1 -1
  163. package/dist/typescript/module/features/chatbot/types/model.types.d.ts +28 -3
  164. package/dist/typescript/module/features/chatbot/types/model.types.d.ts.map +1 -1
  165. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts +5 -0
  166. package/dist/typescript/module/features/chatbot/types/translation.types.d.ts.map +1 -1
  167. package/dist/typescript/module/features/chatbot/types/units.types.d.ts +5 -0
  168. package/dist/typescript/module/features/chatbot/types/units.types.d.ts.map +1 -1
  169. package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts +1 -1
  170. package/dist/typescript/module/shared/hooks/useKeyDownListener.d.ts.map +1 -1
  171. package/dist/typescript/module/shared/hooks/useKeyboard.d.ts +1 -1
  172. package/dist/typescript/module/shared/hooks/useKeyboard.d.ts.map +1 -1
  173. package/dist/typescript/module/shared/translation/constants.d.ts +5 -0
  174. package/dist/typescript/module/shared/translation/constants.d.ts.map +1 -1
  175. package/dist/typescript/module/shared/translation/model.d.ts +2 -0
  176. package/dist/typescript/module/shared/translation/model.d.ts.map +1 -1
  177. package/package.json +1 -1
  178. package/src/features/chatbot/components/{ChatMessages/ChatbotMessages.tsx → Chat/Chat.tsx} +13 -18
  179. package/src/features/chatbot/components/ChatControls/ChatControls.tsx +2 -2
  180. package/src/features/chatbot/components/ChatInput/ChatInput.tsx +88 -0
  181. package/src/features/chatbot/components/ChatInput/RequestHintButton.tsx +156 -0
  182. package/src/features/chatbot/components/ChatInput/freeText/ChatTextInput.tsx +156 -0
  183. package/src/features/chatbot/components/ChatInput/freeText/FreeTextInputBlock.tsx +71 -0
  184. package/src/features/chatbot/components/ChatInput/freeText/SendMessageButton.tsx +111 -0
  185. package/src/features/chatbot/components/ChatMessage/MessageLoader.tsx +6 -2
  186. package/src/features/chatbot/components/Chatbot.tsx +5 -3
  187. package/src/features/chatbot/constants.ts +7 -0
  188. package/src/features/chatbot/helpers.ts +70 -1
  189. package/src/features/chatbot/index.ts +1 -0
  190. package/src/features/chatbot/model/ChatBotModel.ts +82 -37
  191. package/src/features/chatbot/model/ChatBotTextInput.ts +10 -0
  192. package/src/features/chatbot/model/ChatBotThreadManager.ts +17 -19
  193. package/src/features/chatbot/model/{translation.ts → ChatbotTranslation.ts} +32 -2
  194. package/src/features/chatbot/types/api.types.ts +31 -6
  195. package/src/features/chatbot/types/model.types.ts +35 -2
  196. package/src/features/chatbot/types/translation.types.ts +6 -0
  197. package/src/features/chatbot/types/units.types.ts +6 -0
  198. package/src/shared/hooks/useKeyDownListener.ts +3 -1
  199. package/src/shared/translation/localization/ca.json +3 -2
  200. package/src/shared/translation/localization/en.json +3 -2
  201. package/src/shared/translation/localization/gb.json +3 -2
  202. package/src/shared/translation/localization/sct.json +3 -2
  203. package/src/shared/translation/localization/sw.json +3 -2
  204. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js +0 -59
  205. package/dist/commonjs/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
  206. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -99
  207. package/dist/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
  208. package/dist/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
  209. package/dist/commonjs/features/chatbot/model/translation.js.map +0 -1
  210. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js +0 -53
  211. package/dist/module/features/chatbot/components/Alternatives/Alternatives.js.map +0 -1
  212. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js +0 -92
  213. package/dist/module/features/chatbot/components/Alternatives/HelpRequestOption.js.map +0 -1
  214. package/dist/module/features/chatbot/components/ChatMessages/ChatbotMessages.js.map +0 -1
  215. package/dist/module/features/chatbot/model/translation.js.map +0 -1
  216. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
  217. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
  218. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +0 -10
  219. package/dist/typescript/commonjs/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
  220. package/dist/typescript/commonjs/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
  221. package/dist/typescript/commonjs/features/chatbot/model/translation.d.ts.map +0 -1
  222. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts +0 -11
  223. package/dist/typescript/module/features/chatbot/components/Alternatives/Alternatives.d.ts.map +0 -1
  224. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts +0 -10
  225. package/dist/typescript/module/features/chatbot/components/Alternatives/HelpRequestOption.d.ts.map +0 -1
  226. package/dist/typescript/module/features/chatbot/components/ChatMessages/ChatbotMessages.d.ts.map +0 -1
  227. package/dist/typescript/module/features/chatbot/model/translation.d.ts.map +0 -1
  228. package/src/features/chatbot/components/Alternatives/Alternatives.tsx +0 -60
  229. package/src/features/chatbot/components/Alternatives/HelpRequestOption.tsx +0 -91
@@ -1,60 +0,0 @@
1
- import React from 'react'
2
- import { StyleSheet, View } from 'react-native'
3
- import { useStoreMap, useUnit } from 'effector-react'
4
-
5
- import { HelpRequestOption } from './HelpRequestOption'
6
- import { useChatModel } from '../../context/ChatBotModelContext'
7
- import { ColorScheme } from '../../types/style.types'
8
- import { CONTROLS_COLORS_MAP } from '../../constants'
9
-
10
- type AlternativesProps = {
11
- onPressAlternative: (message: string, translatedMessage?: string) => void
12
- hasMessages: boolean
13
- isHintFeedback: boolean
14
- colorScheme?: ColorScheme
15
- }
16
-
17
- export const Alternatives = ({
18
- onPressAlternative,
19
- hasMessages,
20
- isHintFeedback,
21
- colorScheme = ColorScheme.Blue,
22
- }: AlternativesProps) => {
23
- const model = useChatModel()
24
- const isTranslated = useUnit(model.translation.$isTranslated)
25
- const alternatives = useUnit(model.$alternatives)
26
- const isTranslationPending = useUnit(model.translation.translateAllMessagesFx.pending)
27
- const lastMessageOptions = useStoreMap(model.$currentChatData, ({ messages }) => {
28
- const lastMessage = messages.at(-1)
29
- return lastMessage?.options ?? []
30
- })
31
-
32
- const options = (() => {
33
- if (hasMessages) return lastMessageOptions
34
- if (isHintFeedback) return alternatives?.options.hints ?? []
35
- return alternatives?.options.default ?? []
36
- })()
37
-
38
- return (
39
- <View style={styles.container}>
40
- {options.map(({ text, translatedText }, index) => (
41
- <HelpRequestOption
42
- key={index}
43
- onPress={() => onPressAlternative(text, translatedText)}
44
- message={isTranslated ? (translatedText as string) : text}
45
- disabled={isTranslationPending}
46
- hoverColor={CONTROLS_COLORS_MAP[colorScheme].hover}
47
- />
48
- ))}
49
- </View>
50
- )
51
- }
52
-
53
- const styles = StyleSheet.create({
54
- container: {
55
- flex: 1,
56
- width: 305,
57
- marginVertical: 8,
58
- gap: 8,
59
- },
60
- })
@@ -1,91 +0,0 @@
1
- import React, { useEffect, useRef, useState } from 'react'
2
- import { Animated, Pressable, StyleSheet } from 'react-native'
3
- import { COLORS, FONT_FAMILY, SPACING } from '@magmamath/react-native-ui'
4
- import { ArrowRightIcon } from '../../../../shared/icons/ArrowRightIcon'
5
-
6
- type HelpRequestOptionProps = {
7
- onPress: () => void
8
- message: string
9
- disabled: boolean
10
- hoverColor?: string
11
- }
12
-
13
- export const HelpRequestOption = ({
14
- onPress,
15
- message,
16
- disabled = false,
17
- hoverColor = COLORS.PRIMARY_BLUE,
18
- }: HelpRequestOptionProps) => {
19
- const [isHovered, setIsHovered] = useState(false)
20
- const hoverAnim = useRef(new Animated.Value(0)).current
21
-
22
- const backgroundColor = hoverAnim.interpolate({
23
- inputRange: [0, 1],
24
- outputRange: [COLORS.NEUTRAL_1, hoverColor],
25
- })
26
- const textColor = hoverAnim.interpolate({
27
- inputRange: [0, 1],
28
- outputRange: [COLORS.NEUTRAL_10, COLORS.NEUTRAL_1],
29
- })
30
-
31
- useEffect(() => {
32
- Animated.timing(hoverAnim, {
33
- toValue: isHovered ? 1 : 0,
34
- duration: 200,
35
- useNativeDriver: false,
36
- }).start()
37
- }, [isHovered, hoverAnim])
38
-
39
- return (
40
- <Pressable
41
- onHoverIn={() => setIsHovered(true)}
42
- onHoverOut={() => setIsHovered(false)}
43
- onPress={onPress}
44
- style={styles.button}
45
- disabled={disabled}
46
- accessibilityState={{ disabled }}
47
- accessibilityRole="button"
48
- >
49
- <Animated.View
50
- style={[styles.textWrapper, { backgroundColor, borderColor: backgroundColor }]}
51
- >
52
- <Animated.Text numberOfLines={1} style={[styles.text, { color: textColor }]}>
53
- {message}
54
- </Animated.Text>
55
- <ArrowRightIcon color={isHovered ? COLORS.NEUTRAL_1 : COLORS.NEUTRAL_10} />
56
- </Animated.View>
57
- </Pressable>
58
- )
59
- }
60
-
61
- const styles = StyleSheet.create({
62
- button: {
63
- flexDirection: 'row',
64
- alignItems: 'center',
65
- justifyContent: 'space-between',
66
- width: '100%',
67
- },
68
- text: {
69
- fontSize: 20,
70
- fontWeight: 400,
71
- fontFamily: FONT_FAMILY.buenosAires,
72
- color: COLORS.NEUTRAL_10,
73
- },
74
- textWrapper: {
75
- flex: 1,
76
- flexDirection: 'row',
77
- alignItems: 'center',
78
- justifyContent: 'space-between',
79
- maxWidth: 305,
80
- paddingHorizontal: SPACING[400],
81
- paddingVertical: SPACING[200],
82
- borderWidth: 1,
83
- borderRadius: 48,
84
- elevation: 3,
85
- shadowColor: '#333',
86
- shadowOffset: { width: 0, height: 1 },
87
- shadowOpacity: 0.25,
88
- shadowRadius: 3,
89
- backgroundColor: COLORS.NEUTRAL_1,
90
- },
91
- })