@appsupportkit/support-sdk 0.1.2 → 0.3.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 (224) hide show
  1. package/lib/commonjs/api.js +17 -2
  2. package/lib/commonjs/api.js.map +1 -1
  3. package/lib/commonjs/components/BottomSheet.js +67 -47
  4. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  5. package/lib/commonjs/components/LauncherButton.js +177 -0
  6. package/lib/commonjs/components/LauncherButton.js.map +1 -0
  7. package/lib/commonjs/components/SupportButton.js +168 -190
  8. package/lib/commonjs/components/SupportButton.js.map +1 -1
  9. package/lib/commonjs/components/icons.js +110 -23
  10. package/lib/commonjs/components/icons.js.map +1 -1
  11. package/lib/commonjs/components/primitives.js +191 -44
  12. package/lib/commonjs/components/primitives.js.map +1 -1
  13. package/lib/commonjs/components/screens/ComposeScreen.js +108 -60
  14. package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -1
  15. package/lib/commonjs/components/screens/HomeScreen.js +221 -118
  16. package/lib/commonjs/components/screens/HomeScreen.js.map +1 -1
  17. package/lib/commonjs/components/screens/LanguageScreen.js +150 -0
  18. package/lib/commonjs/components/screens/LanguageScreen.js.map +1 -0
  19. package/lib/commonjs/components/screens/ThreadScreen.js +237 -111
  20. package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -1
  21. package/lib/commonjs/i18n/index.js +101 -0
  22. package/lib/commonjs/i18n/index.js.map +1 -0
  23. package/lib/commonjs/i18n/languages.js +95 -0
  24. package/lib/commonjs/i18n/languages.js.map +1 -0
  25. package/lib/commonjs/i18n/strings/de.js +72 -0
  26. package/lib/commonjs/i18n/strings/de.js.map +1 -0
  27. package/lib/commonjs/i18n/strings/en.js +88 -0
  28. package/lib/commonjs/i18n/strings/en.js.map +1 -0
  29. package/lib/commonjs/i18n/strings/es.js +72 -0
  30. package/lib/commonjs/i18n/strings/es.js.map +1 -0
  31. package/lib/commonjs/i18n/strings/fr.js +72 -0
  32. package/lib/commonjs/i18n/strings/fr.js.map +1 -0
  33. package/lib/commonjs/i18n/strings/hi.js +72 -0
  34. package/lib/commonjs/i18n/strings/hi.js.map +1 -0
  35. package/lib/commonjs/i18n/strings/it.js +72 -0
  36. package/lib/commonjs/i18n/strings/it.js.map +1 -0
  37. package/lib/commonjs/i18n/strings/ja.js +72 -0
  38. package/lib/commonjs/i18n/strings/ja.js.map +1 -0
  39. package/lib/commonjs/i18n/strings/ko.js +72 -0
  40. package/lib/commonjs/i18n/strings/ko.js.map +1 -0
  41. package/lib/commonjs/i18n/strings/nl.js +72 -0
  42. package/lib/commonjs/i18n/strings/nl.js.map +1 -0
  43. package/lib/commonjs/i18n/strings/pl.js +72 -0
  44. package/lib/commonjs/i18n/strings/pl.js.map +1 -0
  45. package/lib/commonjs/i18n/strings/pt.js +72 -0
  46. package/lib/commonjs/i18n/strings/pt.js.map +1 -0
  47. package/lib/commonjs/i18n/strings/ru.js +72 -0
  48. package/lib/commonjs/i18n/strings/ru.js.map +1 -0
  49. package/lib/commonjs/i18n/strings/tr.js +72 -0
  50. package/lib/commonjs/i18n/strings/tr.js.map +1 -0
  51. package/lib/commonjs/i18n/strings/zh.js +72 -0
  52. package/lib/commonjs/i18n/strings/zh.js.map +1 -0
  53. package/lib/commonjs/index.js +31 -0
  54. package/lib/commonjs/index.js.map +1 -1
  55. package/lib/commonjs/theme.js +136 -17
  56. package/lib/commonjs/theme.js.map +1 -1
  57. package/lib/commonjs/types.js +18 -0
  58. package/lib/commonjs/types.js.map +1 -1
  59. package/lib/commonjs/unread.js +92 -0
  60. package/lib/commonjs/unread.js.map +1 -0
  61. package/lib/commonjs/useSupportThreads.js +296 -0
  62. package/lib/commonjs/useSupportThreads.js.map +1 -0
  63. package/lib/commonjs/utils.js +58 -10
  64. package/lib/commonjs/utils.js.map +1 -1
  65. package/lib/module/api.js +16 -2
  66. package/lib/module/api.js.map +1 -1
  67. package/lib/module/components/BottomSheet.js +68 -48
  68. package/lib/module/components/BottomSheet.js.map +1 -1
  69. package/lib/module/components/LauncherButton.js +172 -0
  70. package/lib/module/components/LauncherButton.js.map +1 -0
  71. package/lib/module/components/SupportButton.js +172 -194
  72. package/lib/module/components/SupportButton.js.map +1 -1
  73. package/lib/module/components/icons.js +107 -22
  74. package/lib/module/components/icons.js.map +1 -1
  75. package/lib/module/components/primitives.js +187 -45
  76. package/lib/module/components/primitives.js.map +1 -1
  77. package/lib/module/components/screens/ComposeScreen.js +114 -64
  78. package/lib/module/components/screens/ComposeScreen.js.map +1 -1
  79. package/lib/module/components/screens/HomeScreen.js +224 -121
  80. package/lib/module/components/screens/HomeScreen.js.map +1 -1
  81. package/lib/module/components/screens/LanguageScreen.js +147 -0
  82. package/lib/module/components/screens/LanguageScreen.js.map +1 -0
  83. package/lib/module/components/screens/ThreadScreen.js +243 -115
  84. package/lib/module/components/screens/ThreadScreen.js.map +1 -1
  85. package/lib/module/i18n/index.js +56 -0
  86. package/lib/module/i18n/index.js.map +1 -0
  87. package/lib/module/i18n/languages.js +88 -0
  88. package/lib/module/i18n/languages.js.map +1 -0
  89. package/lib/module/i18n/strings/de.js +68 -0
  90. package/lib/module/i18n/strings/de.js.map +1 -0
  91. package/lib/module/i18n/strings/en.js +84 -0
  92. package/lib/module/i18n/strings/en.js.map +1 -0
  93. package/lib/module/i18n/strings/es.js +68 -0
  94. package/lib/module/i18n/strings/es.js.map +1 -0
  95. package/lib/module/i18n/strings/fr.js +68 -0
  96. package/lib/module/i18n/strings/fr.js.map +1 -0
  97. package/lib/module/i18n/strings/hi.js +68 -0
  98. package/lib/module/i18n/strings/hi.js.map +1 -0
  99. package/lib/module/i18n/strings/it.js +68 -0
  100. package/lib/module/i18n/strings/it.js.map +1 -0
  101. package/lib/module/i18n/strings/ja.js +68 -0
  102. package/lib/module/i18n/strings/ja.js.map +1 -0
  103. package/lib/module/i18n/strings/ko.js +68 -0
  104. package/lib/module/i18n/strings/ko.js.map +1 -0
  105. package/lib/module/i18n/strings/nl.js +68 -0
  106. package/lib/module/i18n/strings/nl.js.map +1 -0
  107. package/lib/module/i18n/strings/pl.js +68 -0
  108. package/lib/module/i18n/strings/pl.js.map +1 -0
  109. package/lib/module/i18n/strings/pt.js +68 -0
  110. package/lib/module/i18n/strings/pt.js.map +1 -0
  111. package/lib/module/i18n/strings/ru.js +68 -0
  112. package/lib/module/i18n/strings/ru.js.map +1 -0
  113. package/lib/module/i18n/strings/tr.js +68 -0
  114. package/lib/module/i18n/strings/tr.js.map +1 -0
  115. package/lib/module/i18n/strings/zh.js +68 -0
  116. package/lib/module/i18n/strings/zh.js.map +1 -0
  117. package/lib/module/index.js +1 -0
  118. package/lib/module/index.js.map +1 -1
  119. package/lib/module/theme.js +135 -16
  120. package/lib/module/theme.js.map +1 -1
  121. package/lib/module/types.js +18 -0
  122. package/lib/module/types.js.map +1 -1
  123. package/lib/module/unread.js +83 -0
  124. package/lib/module/unread.js.map +1 -0
  125. package/lib/module/useSupportThreads.js +291 -0
  126. package/lib/module/useSupportThreads.js.map +1 -0
  127. package/lib/module/utils.js +55 -10
  128. package/lib/module/utils.js.map +1 -1
  129. package/lib/typescript/api.d.ts +9 -0
  130. package/lib/typescript/api.d.ts.map +1 -1
  131. package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
  132. package/lib/typescript/components/LauncherButton.d.ts +14 -0
  133. package/lib/typescript/components/LauncherButton.d.ts.map +1 -0
  134. package/lib/typescript/components/SupportButton.d.ts +3 -3
  135. package/lib/typescript/components/SupportButton.d.ts.map +1 -1
  136. package/lib/typescript/components/icons.d.ts +18 -2
  137. package/lib/typescript/components/icons.d.ts.map +1 -1
  138. package/lib/typescript/components/primitives.d.ts +42 -7
  139. package/lib/typescript/components/primitives.d.ts.map +1 -1
  140. package/lib/typescript/components/screens/ComposeScreen.d.ts +3 -1
  141. package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -1
  142. package/lib/typescript/components/screens/HomeScreen.d.ts +8 -2
  143. package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -1
  144. package/lib/typescript/components/screens/LanguageScreen.d.ts +30 -0
  145. package/lib/typescript/components/screens/LanguageScreen.d.ts.map +1 -0
  146. package/lib/typescript/components/screens/ThreadScreen.d.ts +3 -1
  147. package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -1
  148. package/lib/typescript/i18n/index.d.ts +15 -0
  149. package/lib/typescript/i18n/index.d.ts.map +1 -0
  150. package/lib/typescript/i18n/languages.d.ts +36 -0
  151. package/lib/typescript/i18n/languages.d.ts.map +1 -0
  152. package/lib/typescript/i18n/strings/de.d.ts +3 -0
  153. package/lib/typescript/i18n/strings/de.d.ts.map +1 -0
  154. package/lib/typescript/i18n/strings/en.d.ts +83 -0
  155. package/lib/typescript/i18n/strings/en.d.ts.map +1 -0
  156. package/lib/typescript/i18n/strings/es.d.ts +3 -0
  157. package/lib/typescript/i18n/strings/es.d.ts.map +1 -0
  158. package/lib/typescript/i18n/strings/fr.d.ts +3 -0
  159. package/lib/typescript/i18n/strings/fr.d.ts.map +1 -0
  160. package/lib/typescript/i18n/strings/hi.d.ts +3 -0
  161. package/lib/typescript/i18n/strings/hi.d.ts.map +1 -0
  162. package/lib/typescript/i18n/strings/it.d.ts +3 -0
  163. package/lib/typescript/i18n/strings/it.d.ts.map +1 -0
  164. package/lib/typescript/i18n/strings/ja.d.ts +3 -0
  165. package/lib/typescript/i18n/strings/ja.d.ts.map +1 -0
  166. package/lib/typescript/i18n/strings/ko.d.ts +3 -0
  167. package/lib/typescript/i18n/strings/ko.d.ts.map +1 -0
  168. package/lib/typescript/i18n/strings/nl.d.ts +3 -0
  169. package/lib/typescript/i18n/strings/nl.d.ts.map +1 -0
  170. package/lib/typescript/i18n/strings/pl.d.ts +3 -0
  171. package/lib/typescript/i18n/strings/pl.d.ts.map +1 -0
  172. package/lib/typescript/i18n/strings/pt.d.ts +3 -0
  173. package/lib/typescript/i18n/strings/pt.d.ts.map +1 -0
  174. package/lib/typescript/i18n/strings/ru.d.ts +3 -0
  175. package/lib/typescript/i18n/strings/ru.d.ts.map +1 -0
  176. package/lib/typescript/i18n/strings/tr.d.ts +3 -0
  177. package/lib/typescript/i18n/strings/tr.d.ts.map +1 -0
  178. package/lib/typescript/i18n/strings/zh.d.ts +3 -0
  179. package/lib/typescript/i18n/strings/zh.d.ts.map +1 -0
  180. package/lib/typescript/index.d.ts +2 -1
  181. package/lib/typescript/index.d.ts.map +1 -1
  182. package/lib/typescript/theme.d.ts +44 -3
  183. package/lib/typescript/theme.d.ts.map +1 -1
  184. package/lib/typescript/types.d.ts +54 -2
  185. package/lib/typescript/types.d.ts.map +1 -1
  186. package/lib/typescript/unread.d.ts +22 -0
  187. package/lib/typescript/unread.d.ts.map +1 -0
  188. package/lib/typescript/useSupportThreads.d.ts +38 -0
  189. package/lib/typescript/useSupportThreads.d.ts.map +1 -0
  190. package/lib/typescript/utils.d.ts +8 -2
  191. package/lib/typescript/utils.d.ts.map +1 -1
  192. package/package.json +3 -3
  193. package/src/api.ts +24 -1
  194. package/src/components/BottomSheet.tsx +61 -43
  195. package/src/components/LauncherButton.tsx +217 -0
  196. package/src/components/SupportButton.tsx +195 -210
  197. package/src/components/icons.tsx +113 -19
  198. package/src/components/primitives.tsx +230 -39
  199. package/src/components/screens/ComposeScreen.tsx +129 -63
  200. package/src/components/screens/HomeScreen.tsx +230 -120
  201. package/src/components/screens/LanguageScreen.tsx +172 -0
  202. package/src/components/screens/ThreadScreen.tsx +319 -122
  203. package/src/i18n/index.ts +81 -0
  204. package/src/i18n/languages.ts +106 -0
  205. package/src/i18n/strings/de.ts +78 -0
  206. package/src/i18n/strings/en.ts +94 -0
  207. package/src/i18n/strings/es.ts +77 -0
  208. package/src/i18n/strings/fr.ts +78 -0
  209. package/src/i18n/strings/hi.ts +77 -0
  210. package/src/i18n/strings/it.ts +77 -0
  211. package/src/i18n/strings/ja.ts +77 -0
  212. package/src/i18n/strings/ko.ts +76 -0
  213. package/src/i18n/strings/nl.ts +77 -0
  214. package/src/i18n/strings/pl.ts +77 -0
  215. package/src/i18n/strings/pt.ts +77 -0
  216. package/src/i18n/strings/ru.ts +77 -0
  217. package/src/i18n/strings/tr.ts +77 -0
  218. package/src/i18n/strings/zh.ts +75 -0
  219. package/src/index.tsx +9 -0
  220. package/src/theme.ts +165 -18
  221. package/src/types.ts +56 -2
  222. package/src/unread.ts +91 -0
  223. package/src/useSupportThreads.ts +392 -0
  224. package/src/utils.ts +48 -10
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.HomeScreen = HomeScreen;
7
7
  var _reactNative = require("react-native");
8
- var _types = require("../../types");
8
+ var _languages = require("../../i18n/languages");
9
9
  var _utils = require("../../utils");
10
10
  var _icons = require("../icons");
11
11
  var _primitives = require("../primitives");
@@ -14,75 +14,137 @@ const COMPOSE_TYPES = ['feedback', 'feature_request', 'bug_report'];
14
14
  function ThreadRow({
15
15
  thread,
16
16
  theme,
17
- onPress
17
+ strings,
18
+ onPress,
19
+ last
18
20
  }) {
19
- const preview = thread.last_message?.body ?? '';
21
+ const unread = thread.unread_count > 0;
22
+ const type = strings.t(`type.${thread.type}`);
23
+ const preview = thread.last_message?.body ?? strings.t('home.noMessages');
24
+ const at = thread.last_message?.created_at ?? thread.created_at;
20
25
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.PressableRow, {
21
26
  onPress: onPress,
22
27
  theme: theme,
23
- accessibilityLabel: `${_types.QUERY_TYPE_LABEL[thread.type]} thread`,
28
+ accessibilityLabel: unread ? strings.t('home.threadUnreadA11y', {
29
+ type,
30
+ count: thread.unread_count
31
+ }) : strings.t('home.threadA11y', {
32
+ type
33
+ }),
24
34
  style: {
35
+ flexDirection: 'row',
36
+ alignItems: 'center',
37
+ gap: 12,
25
38
  paddingHorizontal: 16,
26
- paddingVertical: 10,
27
- borderBottomWidth: 1,
28
- borderBottomColor: theme.colors.border
39
+ paddingVertical: 13,
40
+ borderBottomWidth: last ? 0 : 1,
41
+ borderBottomColor: theme.colors.border,
42
+ opacity: thread.status === 'resolved' ? 0.75 : 1
29
43
  },
30
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
44
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.TypeGlyph, {
45
+ type: thread.type,
46
+ theme: theme,
47
+ size: 38
48
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
31
49
  style: {
32
- flexDirection: 'row',
33
- alignItems: 'center',
34
- gap: 8
50
+ flex: 1,
51
+ gap: 3
35
52
  },
36
- children: [thread.unread_count > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
37
54
  style: {
38
- width: 6,
39
- height: 6,
40
- borderRadius: 3,
41
- backgroundColor: theme.colors.accent
42
- }
43
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
55
+ flexDirection: 'row',
56
+ alignItems: 'center',
57
+ gap: 8
58
+ },
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
60
+ numberOfLines: 1,
61
+ style: {
62
+ flex: 1,
63
+ fontSize: 14,
64
+ fontWeight: unread ? '700' : '600',
65
+ letterSpacing: -0.1,
66
+ color: theme.colors.textPrimary
67
+ },
68
+ children: type
69
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
70
+ style: _primitives.textStyles.meta(theme),
71
+ children: (0, _utils.relativeTime)(at, strings)
72
+ })]
73
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
44
74
  style: {
45
- fontSize: 11,
46
- fontWeight: '500',
47
- color: (0, _primitives.typeColor)(thread.type, theme)
75
+ flexDirection: 'row',
76
+ alignItems: 'center',
77
+ gap: 8
48
78
  },
49
- children: _types.QUERY_TYPE_LABEL[thread.type]
50
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
51
- style: [_primitives.textStyles.meta(theme), {
52
- marginLeft: 'auto'
53
- }],
54
- children: thread.last_message ? (0, _utils.relativeTime)(thread.last_message.created_at) : (0, _utils.relativeTime)(thread.created_at)
79
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
80
+ numberOfLines: 1,
81
+ style: {
82
+ flex: 1,
83
+ fontSize: 13,
84
+ lineHeight: 18,
85
+ color: unread ? theme.colors.textPrimary : theme.colors.textSecondary
86
+ },
87
+ children: [thread.last_message?.sender === 'user' ? `${strings.t('home.you')}: ` : '', preview]
88
+ }), unread ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.UnreadPill, {
89
+ count: thread.unread_count,
90
+ theme: theme
91
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Chevron, {
92
+ color: theme.colors.textTertiary
93
+ })]
55
94
  })]
56
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
95
+ })]
96
+ });
97
+ }
98
+ function ThreadGroup({
99
+ label,
100
+ threads,
101
+ theme,
102
+ strings,
103
+ onOpenThread
104
+ }) {
105
+ if (threads.length === 0) return null;
106
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
107
+ style: {
108
+ marginTop: 24
109
+ },
110
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SectionLabel, {
111
+ theme: theme,
57
112
  style: {
58
- flexDirection: 'row',
59
- alignItems: 'center',
60
- gap: 8,
61
- marginTop: 3
113
+ paddingHorizontal: 16,
114
+ paddingBottom: 8
62
115
  },
63
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
64
- numberOfLines: 1,
65
- style: {
66
- flex: 1,
67
- fontSize: 13,
68
- color: thread.unread_count > 0 ? theme.colors.textPrimary : theme.colors.textSecondary,
69
- fontWeight: thread.unread_count > 0 ? '500' : '400'
70
- },
71
- children: preview
72
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Chevron, {
73
- color: theme.colors.textTertiary
74
- })]
116
+ children: label
117
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
118
+ style: {
119
+ marginHorizontal: 16,
120
+ borderWidth: 1,
121
+ borderColor: theme.colors.border,
122
+ borderRadius: theme.radii.card,
123
+ backgroundColor: theme.colors.surface,
124
+ overflow: 'hidden'
125
+ },
126
+ children: threads.map((thread, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(ThreadRow, {
127
+ thread: thread,
128
+ theme: theme,
129
+ strings: strings,
130
+ onPress: () => onOpenThread(thread),
131
+ last: i === threads.length - 1
132
+ }, thread.id))
75
133
  })]
76
134
  });
77
135
  }
78
136
  function HomeScreen({
79
137
  theme,
138
+ strings,
139
+ language,
80
140
  threads,
81
141
  loading,
142
+ refreshing,
82
143
  error,
83
- onRetry,
144
+ onRefresh,
84
145
  onCompose,
85
146
  onOpenThread,
147
+ onChangeLanguage,
86
148
  onClose
87
149
  }) {
88
150
  const open = (threads ?? []).filter(t => t.status === 'open');
@@ -94,31 +156,48 @@ function HomeScreen({
94
156
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
95
157
  style: {
96
158
  flexDirection: 'row',
97
- alignItems: 'center',
159
+ alignItems: 'flex-start',
98
160
  paddingHorizontal: 16,
99
- paddingBottom: 12
161
+ paddingTop: 4,
162
+ paddingBottom: 16
100
163
  },
101
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
102
- style: _primitives.textStyles.title(theme),
103
- children: "Support"
104
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.PressableRow, {
105
- onPress: onClose,
106
- theme: theme,
107
- accessibilityLabel: "Close",
164
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
108
165
  style: {
109
- marginLeft: 'auto',
110
- padding: 6,
111
- borderRadius: theme.radii.control
166
+ flex: 1,
167
+ gap: 2
112
168
  },
169
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
170
+ style: _primitives.textStyles.title(theme),
171
+ children: strings.t('home.title')
172
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
173
+ style: _primitives.textStyles.secondary(theme),
174
+ children: strings.t('home.subtitle')
175
+ })]
176
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.IconButton, {
177
+ onPress: onClose,
178
+ theme: theme,
179
+ accessibilityLabel: strings.t('home.close'),
180
+ size: 32,
113
181
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.CloseIcon, {
114
182
  color: theme.colors.textSecondary,
115
- size: 13
183
+ size: 12
116
184
  })
117
185
  })]
118
186
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
119
187
  style: {
120
188
  flex: 1
121
189
  },
190
+ contentContainerStyle: {
191
+ paddingBottom: 24
192
+ },
193
+ keyboardShouldPersistTaps: "handled",
194
+ refreshControl: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.RefreshControl, {
195
+ refreshing: refreshing,
196
+ onRefresh: onRefresh,
197
+ tintColor: theme.colors.textTertiary,
198
+ colors: [theme.colors.accent],
199
+ progressBackgroundColor: theme.colors.surface
200
+ }),
122
201
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
123
202
  style: {
124
203
  marginHorizontal: 16,
@@ -131,98 +210,122 @@ function HomeScreen({
131
210
  children: COMPOSE_TYPES.map((type, i) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.PressableRow, {
132
211
  onPress: () => onCompose(type),
133
212
  theme: theme,
134
- accessibilityLabel: `New ${_types.QUERY_TYPE_LABEL[type].toLowerCase()}`,
213
+ accessibilityLabel: strings.t('home.newA11y', {
214
+ type: strings.t(`type.${type}`)
215
+ }),
135
216
  style: {
136
217
  flexDirection: 'row',
137
218
  alignItems: 'center',
138
- gap: 10,
219
+ gap: 12,
139
220
  paddingHorizontal: 14,
140
221
  paddingVertical: 12,
141
222
  borderTopWidth: i === 0 ? 0 : 1,
142
223
  borderTopColor: theme.colors.border
143
224
  },
144
- children: [(0, _primitives.typeIcon)(type, (0, _primitives.typeColor)(type, theme)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
225
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.TypeGlyph, {
226
+ type: type,
227
+ theme: theme,
228
+ size: 34
229
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
145
230
  style: {
146
- fontSize: 14,
147
- color: theme.colors.textPrimary,
148
- flex: 1
231
+ flex: 1,
232
+ gap: 1
149
233
  },
150
- children: _types.QUERY_TYPE_LABEL[type]
234
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
235
+ style: _primitives.textStyles.heading(theme),
236
+ children: strings.t(`type.${type}`)
237
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
238
+ style: _primitives.textStyles.meta(theme),
239
+ children: strings.t(`hint.${type}`)
240
+ })]
151
241
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Chevron, {
152
242
  color: theme.colors.textTertiary
153
243
  })]
154
244
  }, type))
155
- }), error && threads === null ?
245
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
246
+ style: {
247
+ marginTop: 12,
248
+ marginHorizontal: 16,
249
+ borderWidth: 1,
250
+ borderColor: theme.colors.border,
251
+ borderRadius: theme.radii.card,
252
+ backgroundColor: theme.colors.surface,
253
+ overflow: 'hidden'
254
+ },
255
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.PressableRow, {
256
+ onPress: onChangeLanguage,
257
+ theme: theme,
258
+ accessibilityLabel: strings.t('lang.change'),
259
+ style: {
260
+ flexDirection: 'row',
261
+ alignItems: 'center',
262
+ gap: 12,
263
+ paddingHorizontal: 14,
264
+ paddingVertical: 11
265
+ },
266
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.GlobeIcon, {
267
+ color: theme.colors.textTertiary,
268
+ size: 16
269
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
270
+ style: [_primitives.textStyles.secondary(theme), {
271
+ flex: 1
272
+ }],
273
+ children: strings.t('home.language')
274
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
275
+ style: _primitives.textStyles.meta(theme),
276
+ children: _languages.LANGUAGE_LABELS[language]
277
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Chevron, {
278
+ color: theme.colors.textTertiary
279
+ })]
280
+ })
281
+ }), error !== null && threads === null ?
156
282
  /*#__PURE__*/
157
283
  // Only take over the screen when there's nothing cached to show —
158
284
  // a failed background poll shouldn't hide an already-loaded list.
159
285
  (0, _jsxRuntime.jsx)(_primitives.ErrorState, {
160
286
  message: error,
161
- onRetry: onRetry,
162
- theme: theme
287
+ onRetry: onRefresh,
288
+ theme: theme,
289
+ strings: strings
163
290
  }) : loading && threads === null ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
164
291
  style: {
165
292
  paddingHorizontal: 16,
166
- paddingTop: 24,
167
- gap: 14
293
+ paddingTop: 28,
294
+ gap: 12
168
295
  },
169
296
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SkeletonBlock, {
170
- width: 80,
171
- height: 12,
172
- theme: theme
297
+ width: 110,
298
+ height: 11,
299
+ theme: theme,
300
+ radius: 4
173
301
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SkeletonBlock, {
174
302
  width: "100%",
175
- height: 40,
176
- theme: theme
303
+ height: 64,
304
+ theme: theme,
305
+ radius: theme.radii.card
177
306
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.SkeletonBlock, {
178
307
  width: "100%",
179
- height: 40,
180
- theme: theme
308
+ height: 64,
309
+ theme: theme,
310
+ radius: theme.radii.card
181
311
  })]
182
312
  }) : (threads ?? []).length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.EmptyState, {
183
- message: "No queries yet",
313
+ message: strings.t('home.empty'),
314
+ hint: strings.t('home.emptyHint'),
184
315
  theme: theme
185
316
  }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
186
- children: [open.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
187
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
188
- style: {
189
- fontSize: 11,
190
- fontWeight: '500',
191
- textTransform: 'uppercase',
192
- letterSpacing: 0.4,
193
- color: theme.colors.textTertiary,
194
- paddingHorizontal: 16,
195
- paddingTop: 20,
196
- paddingBottom: 6
197
- },
198
- children: "Open"
199
- }), open.map(t => /*#__PURE__*/(0, _jsxRuntime.jsx)(ThreadRow, {
200
- thread: t,
201
- theme: theme,
202
- onPress: () => onOpenThread(t)
203
- }, t.id))]
204
- }), resolved.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
205
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
206
- style: {
207
- fontSize: 11,
208
- fontWeight: '500',
209
- textTransform: 'uppercase',
210
- letterSpacing: 0.4,
211
- color: theme.colors.textTertiary,
212
- paddingHorizontal: 16,
213
- paddingTop: 20,
214
- paddingBottom: 6
215
- },
216
- children: "Resolved"
217
- }), resolved.map(t => /*#__PURE__*/(0, _jsxRuntime.jsx)(ThreadRow, {
218
- thread: t,
219
- theme: theme,
220
- onPress: () => onOpenThread(t)
221
- }, t.id))]
222
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
223
- style: {
224
- height: 16
225
- }
317
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ThreadGroup, {
318
+ label: `${strings.t('home.open')} · ${open.length}`,
319
+ threads: open,
320
+ theme: theme,
321
+ strings: strings,
322
+ onOpenThread: onOpenThread
323
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ThreadGroup, {
324
+ label: strings.t('home.resolved'),
325
+ threads: resolved,
326
+ theme: theme,
327
+ strings: strings,
328
+ onOpenThread: onOpenThread
226
329
  })]
227
330
  })]
228
331
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_types","_utils","_icons","_primitives","_jsxRuntime","COMPOSE_TYPES","ThreadRow","thread","theme","onPress","preview","last_message","body","jsxs","PressableRow","accessibilityLabel","QUERY_TYPE_LABEL","type","style","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","colors","border","children","View","flexDirection","alignItems","gap","unread_count","jsx","width","height","borderRadius","backgroundColor","accent","Text","fontSize","fontWeight","color","typeColor","textStyles","meta","marginLeft","relativeTime","created_at","marginTop","numberOfLines","flex","textPrimary","textSecondary","Chevron","textTertiary","HomeScreen","threads","loading","error","onRetry","onCompose","onOpenThread","onClose","open","filter","t","status","resolved","paddingBottom","title","padding","radii","control","CloseIcon","size","ScrollView","marginHorizontal","borderWidth","borderColor","card","surface","overflow","map","i","toLowerCase","borderTopWidth","borderTopColor","typeIcon","ErrorState","message","paddingTop","SkeletonBlock","length","EmptyState","Fragment","textTransform","letterSpacing","id"],"sourceRoot":"../../../../src","sources":["components/screens/HomeScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_languages","_utils","_icons","_primitives","_jsxRuntime","COMPOSE_TYPES","ThreadRow","thread","theme","strings","onPress","last","unread","unread_count","type","t","preview","last_message","body","at","created_at","jsxs","PressableRow","accessibilityLabel","count","style","flexDirection","alignItems","gap","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","colors","border","opacity","status","children","jsx","TypeGlyph","size","View","flex","Text","numberOfLines","fontSize","fontWeight","letterSpacing","color","textPrimary","textStyles","meta","relativeTime","lineHeight","textSecondary","sender","UnreadPill","Chevron","textTertiary","ThreadGroup","label","threads","onOpenThread","length","marginTop","SectionLabel","paddingBottom","marginHorizontal","borderWidth","borderColor","borderRadius","radii","card","backgroundColor","surface","overflow","map","i","id","HomeScreen","language","loading","refreshing","error","onRefresh","onCompose","onChangeLanguage","onClose","open","filter","resolved","paddingTop","title","secondary","IconButton","CloseIcon","ScrollView","contentContainerStyle","keyboardShouldPersistTaps","refreshControl","RefreshControl","tintColor","accent","progressBackgroundColor","borderTopWidth","borderTopColor","heading","GlobeIcon","LANGUAGE_LABELS","ErrorState","message","onRetry","SkeletonBlock","width","height","radius","EmptyState","hint","Fragment"],"sourceRoot":"../../../../src","sources":["components/screens/HomeScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LanguageScreen = LanguageScreen;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _languages = require("../../i18n/languages");
10
+ var _icons = require("../icons");
11
+ var _primitives = require("../primitives");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /**
14
+ * The one-time language prompt, and the same screen again whenever the user
15
+ * changes their mind from the home header.
16
+ *
17
+ * Selecting a row re-renders the whole sheet in that language immediately —
18
+ * the confirmation button is the only way to see what you are choosing before
19
+ * you commit to it.
20
+ */
21
+ function LanguageScreen({
22
+ theme,
23
+ strings,
24
+ selected,
25
+ onSelect,
26
+ onConfirm,
27
+ onBack,
28
+ onDismiss,
29
+ saving,
30
+ error
31
+ }) {
32
+ // Held so the list doesn't reorder under a finger mid-scroll.
33
+ const [languages] = (0, _react.useState)(() => [..._languages.SUPPORTED_LANGUAGES]);
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
35
+ style: {
36
+ flex: 1
37
+ },
38
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
39
+ style: {
40
+ flexDirection: 'row',
41
+ alignItems: 'flex-start',
42
+ paddingHorizontal: 16,
43
+ paddingTop: 4,
44
+ paddingBottom: 16,
45
+ gap: 10
46
+ },
47
+ children: [onBack !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.IconButton, {
48
+ onPress: onBack,
49
+ theme: theme,
50
+ accessibilityLabel: strings.t('compose.back'),
51
+ size: 32,
52
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Chevron, {
53
+ color: theme.colors.textSecondary,
54
+ direction: "left",
55
+ size: 12
56
+ })
57
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
58
+ style: {
59
+ flex: 1,
60
+ gap: 2
61
+ },
62
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
63
+ style: _primitives.textStyles.title(theme),
64
+ children: strings.t('lang.title')
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
66
+ style: _primitives.textStyles.secondary(theme),
67
+ children: strings.t('lang.subtitle')
68
+ })]
69
+ }), onDismiss !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.IconButton, {
70
+ onPress: onDismiss,
71
+ theme: theme,
72
+ accessibilityLabel: strings.t('home.close'),
73
+ size: 32,
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.CloseIcon, {
75
+ color: theme.colors.textSecondary,
76
+ size: 12
77
+ })
78
+ })]
79
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
80
+ style: {
81
+ flex: 1
82
+ },
83
+ contentContainerStyle: {
84
+ paddingBottom: 8
85
+ },
86
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
87
+ style: {
88
+ marginHorizontal: 16,
89
+ borderWidth: 1,
90
+ borderColor: theme.colors.border,
91
+ borderRadius: theme.radii.card,
92
+ backgroundColor: theme.colors.surface,
93
+ overflow: 'hidden'
94
+ },
95
+ children: languages.map((language, i) => {
96
+ const active = language === selected;
97
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.PressableRow, {
98
+ onPress: () => onSelect(language),
99
+ theme: theme,
100
+ accessibilityLabel: _languages.LANGUAGE_LABELS[language],
101
+ style: {
102
+ flexDirection: 'row',
103
+ alignItems: 'center',
104
+ gap: 12,
105
+ paddingHorizontal: 16,
106
+ paddingVertical: 13,
107
+ borderTopWidth: i === 0 ? 0 : 1,
108
+ borderTopColor: theme.colors.border
109
+ },
110
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
111
+ style: {
112
+ flex: 1,
113
+ fontSize: 15,
114
+ fontWeight: active ? '600' : '400',
115
+ color: theme.colors.textPrimary
116
+ },
117
+ children: _languages.LANGUAGE_LABELS[language]
118
+ }), active && /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.CheckIcon, {
119
+ color: theme.colors.accent,
120
+ size: 16
121
+ })]
122
+ }, language);
123
+ })
124
+ })
125
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
126
+ style: {
127
+ paddingHorizontal: 16,
128
+ paddingTop: 12,
129
+ paddingBottom: 8,
130
+ gap: 8,
131
+ borderTopWidth: 1,
132
+ borderTopColor: theme.colors.border
133
+ },
134
+ children: [error !== null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
135
+ style: {
136
+ fontSize: 12,
137
+ color: theme.colors.statusDanger
138
+ },
139
+ children: error
140
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.PrimaryButton, {
141
+ label: saving ? strings.t('compose.sending') : strings.t('lang.continue'),
142
+ onPress: onConfirm,
143
+ disabled: saving,
144
+ theme: theme,
145
+ fullWidth: true
146
+ })]
147
+ })]
148
+ });
149
+ }
150
+ //# sourceMappingURL=LanguageScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_languages","_icons","_primitives","_jsxRuntime","LanguageScreen","theme","strings","selected","onSelect","onConfirm","onBack","onDismiss","saving","error","languages","useState","SUPPORTED_LANGUAGES","jsxs","View","style","flex","children","flexDirection","alignItems","paddingHorizontal","paddingTop","paddingBottom","gap","undefined","jsx","IconButton","onPress","accessibilityLabel","t","size","Chevron","color","colors","textSecondary","direction","Text","textStyles","title","secondary","CloseIcon","ScrollView","contentContainerStyle","marginHorizontal","borderWidth","borderColor","border","borderRadius","radii","card","backgroundColor","surface","overflow","map","language","i","active","PressableRow","LANGUAGE_LABELS","paddingVertical","borderTopWidth","borderTopColor","fontSize","fontWeight","textPrimary","CheckIcon","accent","statusDanger","PrimaryButton","label","disabled","fullWidth"],"sourceRoot":"../../../../src","sources":["components/screens/LanguageScreen.tsx"],"mappings":"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","ignoreList":[]}