@appsupportkit/support-sdk 0.2.0 → 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 (196) hide show
  1. package/lib/commonjs/api.js +17 -2
  2. package/lib/commonjs/api.js.map +1 -1
  3. package/lib/commonjs/components/SupportButton.js +123 -23
  4. package/lib/commonjs/components/SupportButton.js.map +1 -1
  5. package/lib/commonjs/components/icons.js +36 -0
  6. package/lib/commonjs/components/icons.js.map +1 -1
  7. package/lib/commonjs/components/primitives.js +9 -7
  8. package/lib/commonjs/components/primitives.js.map +1 -1
  9. package/lib/commonjs/components/screens/ComposeScreen.js +14 -23
  10. package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -1
  11. package/lib/commonjs/components/screens/HomeScreen.js +70 -22
  12. package/lib/commonjs/components/screens/HomeScreen.js.map +1 -1
  13. package/lib/commonjs/components/screens/LanguageScreen.js +150 -0
  14. package/lib/commonjs/components/screens/LanguageScreen.js.map +1 -0
  15. package/lib/commonjs/components/screens/ThreadScreen.js +31 -19
  16. package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -1
  17. package/lib/commonjs/i18n/index.js +101 -0
  18. package/lib/commonjs/i18n/index.js.map +1 -0
  19. package/lib/commonjs/i18n/languages.js +95 -0
  20. package/lib/commonjs/i18n/languages.js.map +1 -0
  21. package/lib/commonjs/i18n/strings/de.js +72 -0
  22. package/lib/commonjs/i18n/strings/de.js.map +1 -0
  23. package/lib/commonjs/i18n/strings/en.js +88 -0
  24. package/lib/commonjs/i18n/strings/en.js.map +1 -0
  25. package/lib/commonjs/i18n/strings/es.js +72 -0
  26. package/lib/commonjs/i18n/strings/es.js.map +1 -0
  27. package/lib/commonjs/i18n/strings/fr.js +72 -0
  28. package/lib/commonjs/i18n/strings/fr.js.map +1 -0
  29. package/lib/commonjs/i18n/strings/hi.js +72 -0
  30. package/lib/commonjs/i18n/strings/hi.js.map +1 -0
  31. package/lib/commonjs/i18n/strings/it.js +72 -0
  32. package/lib/commonjs/i18n/strings/it.js.map +1 -0
  33. package/lib/commonjs/i18n/strings/ja.js +72 -0
  34. package/lib/commonjs/i18n/strings/ja.js.map +1 -0
  35. package/lib/commonjs/i18n/strings/ko.js +72 -0
  36. package/lib/commonjs/i18n/strings/ko.js.map +1 -0
  37. package/lib/commonjs/i18n/strings/nl.js +72 -0
  38. package/lib/commonjs/i18n/strings/nl.js.map +1 -0
  39. package/lib/commonjs/i18n/strings/pl.js +72 -0
  40. package/lib/commonjs/i18n/strings/pl.js.map +1 -0
  41. package/lib/commonjs/i18n/strings/pt.js +72 -0
  42. package/lib/commonjs/i18n/strings/pt.js.map +1 -0
  43. package/lib/commonjs/i18n/strings/ru.js +72 -0
  44. package/lib/commonjs/i18n/strings/ru.js.map +1 -0
  45. package/lib/commonjs/i18n/strings/tr.js +72 -0
  46. package/lib/commonjs/i18n/strings/tr.js.map +1 -0
  47. package/lib/commonjs/i18n/strings/zh.js +72 -0
  48. package/lib/commonjs/i18n/strings/zh.js.map +1 -0
  49. package/lib/commonjs/index.js +31 -0
  50. package/lib/commonjs/index.js.map +1 -1
  51. package/lib/commonjs/types.js +11 -0
  52. package/lib/commonjs/types.js.map +1 -1
  53. package/lib/commonjs/useSupportThreads.js +19 -9
  54. package/lib/commonjs/useSupportThreads.js.map +1 -1
  55. package/lib/commonjs/utils.js +32 -17
  56. package/lib/commonjs/utils.js.map +1 -1
  57. package/lib/module/api.js +16 -2
  58. package/lib/module/api.js.map +1 -1
  59. package/lib/module/components/SupportButton.js +126 -26
  60. package/lib/module/components/SupportButton.js.map +1 -1
  61. package/lib/module/components/icons.js +35 -0
  62. package/lib/module/components/icons.js.map +1 -1
  63. package/lib/module/components/primitives.js +9 -7
  64. package/lib/module/components/primitives.js.map +1 -1
  65. package/lib/module/components/screens/ComposeScreen.js +15 -22
  66. package/lib/module/components/screens/ComposeScreen.js.map +1 -1
  67. package/lib/module/components/screens/HomeScreen.js +71 -23
  68. package/lib/module/components/screens/HomeScreen.js.map +1 -1
  69. package/lib/module/components/screens/LanguageScreen.js +147 -0
  70. package/lib/module/components/screens/LanguageScreen.js.map +1 -0
  71. package/lib/module/components/screens/ThreadScreen.js +31 -19
  72. package/lib/module/components/screens/ThreadScreen.js.map +1 -1
  73. package/lib/module/i18n/index.js +56 -0
  74. package/lib/module/i18n/index.js.map +1 -0
  75. package/lib/module/i18n/languages.js +88 -0
  76. package/lib/module/i18n/languages.js.map +1 -0
  77. package/lib/module/i18n/strings/de.js +68 -0
  78. package/lib/module/i18n/strings/de.js.map +1 -0
  79. package/lib/module/i18n/strings/en.js +84 -0
  80. package/lib/module/i18n/strings/en.js.map +1 -0
  81. package/lib/module/i18n/strings/es.js +68 -0
  82. package/lib/module/i18n/strings/es.js.map +1 -0
  83. package/lib/module/i18n/strings/fr.js +68 -0
  84. package/lib/module/i18n/strings/fr.js.map +1 -0
  85. package/lib/module/i18n/strings/hi.js +68 -0
  86. package/lib/module/i18n/strings/hi.js.map +1 -0
  87. package/lib/module/i18n/strings/it.js +68 -0
  88. package/lib/module/i18n/strings/it.js.map +1 -0
  89. package/lib/module/i18n/strings/ja.js +68 -0
  90. package/lib/module/i18n/strings/ja.js.map +1 -0
  91. package/lib/module/i18n/strings/ko.js +68 -0
  92. package/lib/module/i18n/strings/ko.js.map +1 -0
  93. package/lib/module/i18n/strings/nl.js +68 -0
  94. package/lib/module/i18n/strings/nl.js.map +1 -0
  95. package/lib/module/i18n/strings/pl.js +68 -0
  96. package/lib/module/i18n/strings/pl.js.map +1 -0
  97. package/lib/module/i18n/strings/pt.js +68 -0
  98. package/lib/module/i18n/strings/pt.js.map +1 -0
  99. package/lib/module/i18n/strings/ru.js +68 -0
  100. package/lib/module/i18n/strings/ru.js.map +1 -0
  101. package/lib/module/i18n/strings/tr.js +68 -0
  102. package/lib/module/i18n/strings/tr.js.map +1 -0
  103. package/lib/module/i18n/strings/zh.js +68 -0
  104. package/lib/module/i18n/strings/zh.js.map +1 -0
  105. package/lib/module/index.js +1 -0
  106. package/lib/module/index.js.map +1 -1
  107. package/lib/module/types.js +11 -0
  108. package/lib/module/types.js.map +1 -1
  109. package/lib/module/useSupportThreads.js +19 -9
  110. package/lib/module/useSupportThreads.js.map +1 -1
  111. package/lib/module/utils.js +32 -17
  112. package/lib/module/utils.js.map +1 -1
  113. package/lib/typescript/api.d.ts +9 -0
  114. package/lib/typescript/api.d.ts.map +1 -1
  115. package/lib/typescript/components/SupportButton.d.ts.map +1 -1
  116. package/lib/typescript/components/icons.d.ts +5 -0
  117. package/lib/typescript/components/icons.d.ts.map +1 -1
  118. package/lib/typescript/components/primitives.d.ts +7 -3
  119. package/lib/typescript/components/primitives.d.ts.map +1 -1
  120. package/lib/typescript/components/screens/ComposeScreen.d.ts +3 -1
  121. package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -1
  122. package/lib/typescript/components/screens/HomeScreen.d.ts +6 -1
  123. package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -1
  124. package/lib/typescript/components/screens/LanguageScreen.d.ts +30 -0
  125. package/lib/typescript/components/screens/LanguageScreen.d.ts.map +1 -0
  126. package/lib/typescript/components/screens/ThreadScreen.d.ts +3 -1
  127. package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -1
  128. package/lib/typescript/i18n/index.d.ts +15 -0
  129. package/lib/typescript/i18n/index.d.ts.map +1 -0
  130. package/lib/typescript/i18n/languages.d.ts +36 -0
  131. package/lib/typescript/i18n/languages.d.ts.map +1 -0
  132. package/lib/typescript/i18n/strings/de.d.ts +3 -0
  133. package/lib/typescript/i18n/strings/de.d.ts.map +1 -0
  134. package/lib/typescript/i18n/strings/en.d.ts +83 -0
  135. package/lib/typescript/i18n/strings/en.d.ts.map +1 -0
  136. package/lib/typescript/i18n/strings/es.d.ts +3 -0
  137. package/lib/typescript/i18n/strings/es.d.ts.map +1 -0
  138. package/lib/typescript/i18n/strings/fr.d.ts +3 -0
  139. package/lib/typescript/i18n/strings/fr.d.ts.map +1 -0
  140. package/lib/typescript/i18n/strings/hi.d.ts +3 -0
  141. package/lib/typescript/i18n/strings/hi.d.ts.map +1 -0
  142. package/lib/typescript/i18n/strings/it.d.ts +3 -0
  143. package/lib/typescript/i18n/strings/it.d.ts.map +1 -0
  144. package/lib/typescript/i18n/strings/ja.d.ts +3 -0
  145. package/lib/typescript/i18n/strings/ja.d.ts.map +1 -0
  146. package/lib/typescript/i18n/strings/ko.d.ts +3 -0
  147. package/lib/typescript/i18n/strings/ko.d.ts.map +1 -0
  148. package/lib/typescript/i18n/strings/nl.d.ts +3 -0
  149. package/lib/typescript/i18n/strings/nl.d.ts.map +1 -0
  150. package/lib/typescript/i18n/strings/pl.d.ts +3 -0
  151. package/lib/typescript/i18n/strings/pl.d.ts.map +1 -0
  152. package/lib/typescript/i18n/strings/pt.d.ts +3 -0
  153. package/lib/typescript/i18n/strings/pt.d.ts.map +1 -0
  154. package/lib/typescript/i18n/strings/ru.d.ts +3 -0
  155. package/lib/typescript/i18n/strings/ru.d.ts.map +1 -0
  156. package/lib/typescript/i18n/strings/tr.d.ts +3 -0
  157. package/lib/typescript/i18n/strings/tr.d.ts.map +1 -0
  158. package/lib/typescript/i18n/strings/zh.d.ts +3 -0
  159. package/lib/typescript/i18n/strings/zh.d.ts.map +1 -0
  160. package/lib/typescript/index.d.ts +1 -0
  161. package/lib/typescript/index.d.ts.map +1 -1
  162. package/lib/typescript/types.d.ts +32 -2
  163. package/lib/typescript/types.d.ts.map +1 -1
  164. package/lib/typescript/useSupportThreads.d.ts +11 -1
  165. package/lib/typescript/useSupportThreads.d.ts.map +1 -1
  166. package/lib/typescript/utils.d.ts +6 -5
  167. package/lib/typescript/utils.d.ts.map +1 -1
  168. package/package.json +2 -2
  169. package/src/api.ts +24 -1
  170. package/src/components/SupportButton.tsx +162 -33
  171. package/src/components/icons.tsx +36 -0
  172. package/src/components/primitives.tsx +14 -4
  173. package/src/components/screens/ComposeScreen.tsx +19 -23
  174. package/src/components/screens/HomeScreen.tsx +84 -25
  175. package/src/components/screens/LanguageScreen.tsx +172 -0
  176. package/src/components/screens/ThreadScreen.tsx +48 -21
  177. package/src/i18n/index.ts +81 -0
  178. package/src/i18n/languages.ts +106 -0
  179. package/src/i18n/strings/de.ts +78 -0
  180. package/src/i18n/strings/en.ts +94 -0
  181. package/src/i18n/strings/es.ts +77 -0
  182. package/src/i18n/strings/fr.ts +78 -0
  183. package/src/i18n/strings/hi.ts +77 -0
  184. package/src/i18n/strings/it.ts +77 -0
  185. package/src/i18n/strings/ja.ts +77 -0
  186. package/src/i18n/strings/ko.ts +76 -0
  187. package/src/i18n/strings/nl.ts +77 -0
  188. package/src/i18n/strings/pl.ts +77 -0
  189. package/src/i18n/strings/pt.ts +77 -0
  190. package/src/i18n/strings/ru.ts +77 -0
  191. package/src/i18n/strings/tr.ts +77 -0
  192. package/src/i18n/strings/zh.ts +75 -0
  193. package/src/index.tsx +8 -0
  194. package/src/types.ts +32 -2
  195. package/src/useSupportThreads.ts +30 -10
  196. package/src/utils.ts +22 -17
@@ -12,7 +12,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
12
12
  const GROUP_WINDOW_MS = 5 * 60 * 1000;
13
13
  /** The counter only appears once the limit is actually in play. */
14
14
  const COUNTER_VISIBLE_FROM = USER_MESSAGE_MAX - 60;
15
- function buildRows(messages, unreadCount) {
15
+ function buildRows(messages, unreadCount, strings) {
16
16
  // Unread messages are always the newest admin ones, so the divider goes
17
17
  // above the Nth-from-last admin message.
18
18
  let remaining = unreadCount;
@@ -26,8 +26,11 @@ function buildRows(messages, unreadCount) {
26
26
  return messages.map((message, i) => {
27
27
  const previous = i > 0 ? messages[i - 1] ?? null : null;
28
28
  const next = i < messages.length - 1 ? messages[i + 1] ?? null : null;
29
- const withinGroup = (a, b) => a !== null && a.sender === b.sender && a.admin_name === b.admin_name && Math.abs(Date.parse(b.created_at) - Date.parse(a.created_at)) < GROUP_WINDOW_MS;
30
- const day = previous === null || !isSameDay(previous.created_at, message.created_at) ? dayLabel(message.created_at) : null;
29
+ // Grouped by sender alone. Two replies from two different admins are two
30
+ // messages from "Support" as far as this side is concerned, so breaking
31
+ // the group between them would be a visible seam with no visible cause.
32
+ const withinGroup = (a, b) => a !== null && a.sender === b.sender && Math.abs(Date.parse(b.created_at) - Date.parse(a.created_at)) < GROUP_WINDOW_MS;
33
+ const day = previous === null || !isSameDay(previous.created_at, message.created_at) ? dayLabel(message.created_at, strings) : null;
31
34
  const startsUnread = message.id === firstUnreadId;
32
35
  return {
33
36
  message,
@@ -77,7 +80,8 @@ function Separator({
77
80
  }
78
81
  function MessageBubble({
79
82
  row,
80
- theme
83
+ theme,
84
+ strings
81
85
  }) {
82
86
  const {
83
87
  message,
@@ -99,7 +103,7 @@ function MessageBubble({
99
103
  style: [textStyles.meta(theme), {
100
104
  paddingHorizontal: 4
101
105
  }],
102
- children: message.admin_name ?? 'Support'
106
+ children: strings.t('thread.support')
103
107
  }), /*#__PURE__*/_jsx(View, {
104
108
  style: {
105
109
  paddingHorizontal: 14,
@@ -122,12 +126,13 @@ function MessageBubble({
122
126
  style: [textStyles.meta(theme), {
123
127
  paddingHorizontal: 4
124
128
  }],
125
- children: formatTime(message.created_at)
129
+ children: message.translation_pending ? strings.t('thread.translating') : formatTime(message.created_at, strings)
126
130
  })]
127
131
  });
128
132
  }
129
133
  export function ThreadScreen({
130
134
  theme,
135
+ strings,
131
136
  thread,
132
137
  onBack,
133
138
  onSend
@@ -143,7 +148,7 @@ export function ThreadScreen({
143
148
  const trimmed = draft.trim();
144
149
  const valid = trimmed.length >= USER_MESSAGE_MIN && trimmed.length <= USER_MESSAGE_MAX;
145
150
  const tooShort = trimmed.length > 0 && trimmed.length < USER_MESSAGE_MIN;
146
- const rows = useMemo(() => buildRows(thread.messages, unreadOnOpen), [thread.messages, unreadOnOpen]);
151
+ const rows = useMemo(() => buildRows(thread.messages, unreadOnOpen, strings), [thread.messages, unreadOnOpen, strings]);
147
152
  useEffect(() => {
148
153
  scrollRef.current?.scrollToEnd({
149
154
  animated: false
@@ -175,7 +180,7 @@ export function ThreadScreen({
175
180
  children: [/*#__PURE__*/_jsx(IconButton, {
176
181
  onPress: onBack,
177
182
  theme: theme,
178
- accessibilityLabel: "Back to conversations",
183
+ accessibilityLabel: strings.t('compose.back'),
179
184
  size: 32,
180
185
  children: /*#__PURE__*/_jsx(Chevron, {
181
186
  color: theme.colors.textSecondary,
@@ -184,15 +189,17 @@ export function ThreadScreen({
184
189
  })
185
190
  }), /*#__PURE__*/_jsx(TypeChipView, {
186
191
  type: thread.type,
187
- theme: theme
192
+ theme: theme,
193
+ strings: strings
188
194
  }), /*#__PURE__*/_jsx(StatusIndicator, {
189
195
  status: thread.status,
190
- theme: theme
196
+ theme: theme,
197
+ strings: strings
191
198
  }), /*#__PURE__*/_jsx(Text, {
192
199
  style: [textStyles.meta(theme), {
193
200
  marginLeft: 'auto'
194
201
  }],
195
- children: relativeTime(thread.created_at)
202
+ children: relativeTime(thread.created_at, strings)
196
203
  })]
197
204
  }), /*#__PURE__*/_jsxs(ScrollView, {
198
205
  ref: scrollRef,
@@ -212,19 +219,22 @@ export function ThreadScreen({
212
219
  label: row.day,
213
220
  theme: theme
214
221
  }), row.startsUnread && /*#__PURE__*/_jsx(Separator, {
215
- label: "New",
222
+ label: strings.t('thread.new'),
216
223
  theme: theme,
217
224
  tone: "accent"
218
225
  }), /*#__PURE__*/_jsx(MessageBubble, {
219
226
  row: row,
220
- theme: theme
227
+ theme: theme,
228
+ strings: strings
221
229
  })]
222
230
  }, row.message.id)), resolved && thread.resolved_at !== null && /*#__PURE__*/_jsx(View, {
223
231
  style: {
224
232
  marginTop: 16
225
233
  },
226
234
  children: /*#__PURE__*/_jsx(Separator, {
227
- label: `Resolved by ${thread.resolved_by_name ?? 'support'} · ${formatDate(thread.resolved_at)}`,
235
+ label: strings.t('thread.resolvedAt', {
236
+ date: formatDate(thread.resolved_at, strings)
237
+ }),
228
238
  theme: theme
229
239
  })
230
240
  })]
@@ -245,7 +255,7 @@ export function ThreadScreen({
245
255
  },
246
256
  children: /*#__PURE__*/_jsx(Text, {
247
257
  style: textStyles.secondary(theme),
248
- children: "This conversation is resolved and read-only"
258
+ children: strings.t('thread.readOnly')
249
259
  })
250
260
  }) : /*#__PURE__*/_jsxs(_Fragment, {
251
261
  children: [/*#__PURE__*/_jsxs(View, {
@@ -262,7 +272,7 @@ export function ThreadScreen({
262
272
  },
263
273
  multiline: true,
264
274
  editable: !sending,
265
- placeholder: "Write a reply\u2026",
275
+ placeholder: strings.t('thread.placeholder'),
266
276
  placeholderTextColor: theme.colors.textTertiary,
267
277
  style: {
268
278
  flex: 1,
@@ -286,7 +296,7 @@ export function ThreadScreen({
286
296
  tone: "accent",
287
297
  size: 44,
288
298
  disabled: !valid || sending,
289
- accessibilityLabel: sending ? 'Sending' : 'Send reply',
299
+ accessibilityLabel: strings.t(sending ? 'thread.sendingA11y' : 'thread.sendA11y'),
290
300
  children: /*#__PURE__*/_jsx(ArrowUpIcon, {
291
301
  color: theme.colors.accentForeground,
292
302
  size: 19
@@ -306,9 +316,11 @@ export function ThreadScreen({
306
316
  color: theme.colors.statusDanger
307
317
  },
308
318
  children: failedMessage
309
- }) : tooShort ? /*#__PURE__*/_jsxs(Text, {
319
+ }) : tooShort ? /*#__PURE__*/_jsx(Text, {
310
320
  style: textStyles.meta(theme),
311
- children: ["At least ", USER_MESSAGE_MIN, " characters"]
321
+ children: strings.t('compose.minChars', {
322
+ count: USER_MESSAGE_MIN
323
+ })
312
324
  }) : null, draft.length >= COUNTER_VISIBLE_FROM && /*#__PURE__*/_jsxs(Text, {
313
325
  style: [textStyles.meta(theme), {
314
326
  marginLeft: 'auto'
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useRef","useState","KeyboardAvoidingView","Platform","ScrollView","Text","TextInput","View","USER_MESSAGE_MAX","USER_MESSAGE_MIN","dayLabel","formatDate","formatTime","isSameDay","relativeTime","ArrowUpIcon","Chevron","IconButton","StatusIndicator","textStyles","TypeChipView","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GROUP_WINDOW_MS","COUNTER_VISIBLE_FROM","buildRows","messages","unreadCount","remaining","firstUnreadId","i","length","candidate","undefined","sender","id","map","message","previous","next","withinGroup","a","b","admin_name","Math","abs","Date","parse","created_at","day","startsUnread","firstInGroup","lastInGroup","Separator","label","theme","tone","color","colors","accent","textTertiary","style","flexDirection","alignItems","gap","paddingVertical","children","flex","height","backgroundColor","accentMuted","border","fontSize","fontWeight","letterSpacing","MessageBubble","row","own","round","radii","bubble","tight","bubbleTail","maxWidth","alignSelf","marginTop","meta","paddingHorizontal","surface","borderWidth","borderColor","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","body","accentForeground","ThreadScreen","thread","onBack","onSend","draft","setDraft","sending","setSending","failedMessage","setFailedMessage","scrollRef","unreadOnOpen","unread_count","resolved","status","trimmed","trim","valid","tooShort","rows","current","scrollToEnd","animated","handleSend","errorMessage","behavior","OS","paddingBottom","borderBottomWidth","borderBottomColor","onPress","accessibilityLabel","size","textSecondary","direction","type","marginLeft","ref","contentContainerStyle","keyboardShouldPersistTaps","onContentSizeChange","resolved_at","resolved_by_name","borderTopWidth","borderTopColor","paddingTop","borderRadius","control","secondary","value","onChangeText","v","multiline","editable","placeholder","placeholderTextColor","minHeight","maxHeight","cardLg","textPrimary","lineHeight","textAlignVertical","disabled","statusDanger"],"sourceRoot":"../../../../src","sources":["components/screens/ThreadScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useMemo","useRef","useState","KeyboardAvoidingView","Platform","ScrollView","Text","TextInput","View","USER_MESSAGE_MAX","USER_MESSAGE_MIN","dayLabel","formatDate","formatTime","isSameDay","relativeTime","ArrowUpIcon","Chevron","IconButton","StatusIndicator","textStyles","TypeChipView","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GROUP_WINDOW_MS","COUNTER_VISIBLE_FROM","buildRows","messages","unreadCount","strings","remaining","firstUnreadId","i","length","candidate","undefined","sender","id","map","message","previous","next","withinGroup","a","b","Math","abs","Date","parse","created_at","day","startsUnread","firstInGroup","lastInGroup","Separator","label","theme","tone","color","colors","accent","textTertiary","style","flexDirection","alignItems","gap","paddingVertical","children","flex","height","backgroundColor","accentMuted","border","fontSize","fontWeight","letterSpacing","MessageBubble","row","own","round","radii","bubble","tight","bubbleTail","maxWidth","alignSelf","marginTop","meta","paddingHorizontal","t","surface","borderWidth","borderColor","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","body","accentForeground","translation_pending","ThreadScreen","thread","onBack","onSend","draft","setDraft","sending","setSending","failedMessage","setFailedMessage","scrollRef","unreadOnOpen","unread_count","resolved","status","trimmed","trim","valid","tooShort","rows","current","scrollToEnd","animated","handleSend","errorMessage","behavior","OS","paddingBottom","borderBottomWidth","borderBottomColor","onPress","accessibilityLabel","size","textSecondary","direction","type","marginLeft","ref","contentContainerStyle","keyboardShouldPersistTaps","onContentSizeChange","resolved_at","date","borderTopWidth","borderTopColor","paddingTop","borderRadius","control","secondary","value","onChangeText","v","multiline","editable","placeholder","placeholderTextColor","minHeight","maxHeight","cardLg","textPrimary","lineHeight","textAlignVertical","disabled","statusDanger","count"],"sourceRoot":"../../../../src","sources":["components/screens/ThreadScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ // UI copy, in the user's language.
4
+ //
5
+ // Message bodies are translated by the backend at write time; the sheet's own
6
+ // chrome is not — it is a fixed set of strings that never changes, so it ships
7
+ // as a bundled table. A model call to render the word "Send" would be absurd,
8
+ // and it would also mean the SDK couldn't draw its own UI offline.
9
+
10
+ import { DEFAULT_LANGUAGE } from './languages';
11
+ import { en } from './strings/en';
12
+ import { de } from './strings/de';
13
+ import { es } from './strings/es';
14
+ import { fr } from './strings/fr';
15
+ import { hi } from './strings/hi';
16
+ import { it } from './strings/it';
17
+ import { ja } from './strings/ja';
18
+ import { ko } from './strings/ko';
19
+ import { nl } from './strings/nl';
20
+ import { pl } from './strings/pl';
21
+ import { pt } from './strings/pt';
22
+ import { ru } from './strings/ru';
23
+ import { tr } from './strings/tr';
24
+ import { zh } from './strings/zh';
25
+ const TABLES = {
26
+ en,
27
+ es,
28
+ fr,
29
+ de,
30
+ nl,
31
+ pt,
32
+ it,
33
+ pl,
34
+ tr,
35
+ ru,
36
+ ja,
37
+ ko,
38
+ zh,
39
+ hi
40
+ };
41
+
42
+ /** Fills `{name}` placeholders. Unknown tokens are left alone, not blanked. */
43
+ function format(template, vars) {
44
+ if (!vars) return template;
45
+ return template.replace(/\{(\w+)\}/g, (match, key) => key in vars ? String(vars[key]) : match);
46
+ }
47
+ export function createTranslator(language) {
48
+ const table = TABLES[language] ?? TABLES[DEFAULT_LANGUAGE];
49
+ return {
50
+ language,
51
+ locale: language,
52
+ t: (key, vars) => format(table[key] ?? en[key], vars)
53
+ };
54
+ }
55
+ export { asLanguage, baseLanguage, DEFAULT_LANGUAGE, deviceLanguage, isSupportedLanguage, LANGUAGE_LABELS, SUPPORTED_LANGUAGES } from './languages';
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_LANGUAGE","en","de","es","fr","hi","it","ja","ko","nl","pl","pt","ru","tr","zh","TABLES","format","template","vars","replace","match","key","String","createTranslator","language","table","locale","t","asLanguage","baseLanguage","deviceLanguage","isSupportedLanguage","LANGUAGE_LABELS","SUPPORTED_LANGUAGES"],"sourceRoot":"../../../src","sources":["i18n/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,gBAAgB,QAAuB,aAAa;AAC7D,SAASC,EAAE,QAA0C,cAAc;AACnE,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AACjC,SAASC,EAAE,QAAQ,cAAc;AAEjC,MAAMC,MAAqC,GAAG;EAC5Cd,EAAE;EACFE,EAAE;EACFC,EAAE;EACFF,EAAE;EACFO,EAAE;EACFE,EAAE;EACFL,EAAE;EACFI,EAAE;EACFG,EAAE;EACFD,EAAE;EACFL,EAAE;EACFC,EAAE;EACFM,EAAE;EACFT;AACF,CAAC;;AAED;AACA,SAASW,MAAMA,CACbC,QAAgB,EAChBC,IAAsC,EAC9B;EACR,IAAI,CAACA,IAAI,EAAE,OAAOD,QAAQ;EAC1B,OAAOA,QAAQ,CAACE,OAAO,CAAC,YAAY,EAAE,CAACC,KAAK,EAAEC,GAAW,KACvDA,GAAG,IAAIH,IAAI,GAAGI,MAAM,CAACJ,IAAI,CAACG,GAAG,CAAC,CAAC,GAAGD,KACpC,CAAC;AACH;AAYA,OAAO,SAASG,gBAAgBA,CAACC,QAAkB,EAAc;EAC/D,MAAMC,KAAK,GAAGV,MAAM,CAACS,QAAQ,CAAC,IAAIT,MAAM,CAACf,gBAAgB,CAAC;EAC1D,OAAO;IACLwB,QAAQ;IACRE,MAAM,EAAEF,QAAQ;IAChBG,CAAC,EAAEA,CAACN,GAAG,EAAEH,IAAI,KAAKF,MAAM,CAACS,KAAK,CAACJ,GAAG,CAAC,IAAIpB,EAAE,CAACoB,GAAG,CAAC,EAAEH,IAAI;EACtD,CAAC;AACH;AAGA,SACEU,UAAU,EACVC,YAAY,EACZ7B,gBAAgB,EAChB8B,cAAc,EACdC,mBAAmB,EACnBC,eAAe,EACfC,mBAAmB,QAEd,aAAa","ignoreList":[]}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ import { NativeModules, Platform } from 'react-native';
4
+
5
+ /**
6
+ * The languages the picker offers.
7
+ *
8
+ * Kept in sync by hand with supabase/functions/_shared/languages.ts — the two
9
+ * run in different runtimes and share no build step. Adding one means adding a
10
+ * string table here too, which the compiler enforces.
11
+ *
12
+ * Right-to-left languages are deliberately absent for now: React Native only
13
+ * flips layout direction through I18nManager, which needs an app restart the
14
+ * SDK has no business triggering inside a host app.
15
+ */
16
+ export const SUPPORTED_LANGUAGES = ['en', 'es', 'fr', 'de', 'nl', 'pt', 'it', 'pl', 'tr', 'ru', 'ja', 'ko', 'zh', 'hi'];
17
+ /** The language the support team reads and writes. */
18
+ export const DEFAULT_LANGUAGE = 'en';
19
+
20
+ /**
21
+ * Endonyms — a language is listed the way its own speakers write it, so the
22
+ * picker is readable to someone who can't read the current UI language.
23
+ */
24
+ export const LANGUAGE_LABELS = {
25
+ en: 'English',
26
+ es: 'Español',
27
+ fr: 'Français',
28
+ de: 'Deutsch',
29
+ nl: 'Nederlands',
30
+ pt: 'Português',
31
+ it: 'Italiano',
32
+ pl: 'Polski',
33
+ tr: 'Türkçe',
34
+ ru: 'Русский',
35
+ ja: '日本語',
36
+ ko: '한국어',
37
+ zh: '简体中文',
38
+ hi: 'हिन्दी'
39
+ };
40
+
41
+ /** Strips a region qualifier: "pt-BR" → "pt". */
42
+ export function baseLanguage(code) {
43
+ return code.trim().toLowerCase().split(/[-_]/)[0] ?? '';
44
+ }
45
+ export function isSupportedLanguage(code) {
46
+ return SUPPORTED_LANGUAGES.includes(baseLanguage(code));
47
+ }
48
+
49
+ /** Narrows any string to a supported language, or null. */
50
+ export function asLanguage(code) {
51
+ if (!code) return null;
52
+ const base = baseLanguage(code);
53
+ return isSupportedLanguage(base) ? base : null;
54
+ }
55
+ function rawDeviceLocale() {
56
+ try {
57
+ if (Platform.OS === 'ios') {
58
+ const settings = NativeModules.SettingsManager?.settings;
59
+ const locale = settings?.AppleLocale ?? settings?.AppleLanguages?.[0];
60
+ if (typeof locale === 'string') return locale;
61
+ } else {
62
+ const locale = NativeModules.I18nManager?.localeIdentifier;
63
+ if (typeof locale === 'string') return locale;
64
+ }
65
+ } catch {
66
+ // Fall through to Intl.
67
+ }
68
+ try {
69
+ return Intl.DateTimeFormat().resolvedOptions().locale;
70
+ } catch {
71
+ return null;
72
+ }
73
+ }
74
+
75
+ /**
76
+ * The device's language, if the SDK supports it.
77
+ *
78
+ * Used to pre-select a row in the picker and to render the picker itself, so
79
+ * the one screen shown before we know the user's choice is already in a
80
+ * language they probably read. Deliberately not used to *skip* the picker: a
81
+ * device set to French says nothing about which language its owner wants to
82
+ * write support messages in.
83
+ */
84
+ export function deviceLanguage() {
85
+ const locale = rawDeviceLocale();
86
+ return locale === null ? null : asLanguage(locale);
87
+ }
88
+ //# sourceMappingURL=languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["NativeModules","Platform","SUPPORTED_LANGUAGES","DEFAULT_LANGUAGE","LANGUAGE_LABELS","en","es","fr","de","nl","pt","it","pl","tr","ru","ja","ko","zh","hi","baseLanguage","code","trim","toLowerCase","split","isSupportedLanguage","includes","asLanguage","base","rawDeviceLocale","OS","settings","SettingsManager","locale","AppleLocale","AppleLanguages","I18nManager","localeIdentifier","Intl","DateTimeFormat","resolvedOptions","deviceLanguage"],"sourceRoot":"../../../src","sources":["i18n/languages.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAG,CACjC,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACI;AAIV;AACA,OAAO,MAAMC,gBAA0B,GAAG,IAAI;;AAE9C;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAyC,GAAG;EACvDC,EAAE,EAAE,SAAS;EACbC,EAAE,EAAE,SAAS;EACbC,EAAE,EAAE,UAAU;EACdC,EAAE,EAAE,SAAS;EACbC,EAAE,EAAE,YAAY;EAChBC,EAAE,EAAE,WAAW;EACfC,EAAE,EAAE,UAAU;EACdC,EAAE,EAAE,QAAQ;EACZC,EAAE,EAAE,QAAQ;EACZC,EAAE,EAAE,SAAS;EACbC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,KAAK;EACTC,EAAE,EAAE,MAAM;EACVC,EAAE,EAAE;AACN,CAAC;;AAED;AACA,OAAO,SAASC,YAAYA,CAACC,IAAY,EAAU;EACjD,OAAOA,IAAI,CAACC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AACzD;AAEA,OAAO,SAASC,mBAAmBA,CAACJ,IAAY,EAAoB;EAClE,OAAQlB,mBAAmB,CAAuBuB,QAAQ,CAACN,YAAY,CAACC,IAAI,CAAC,CAAC;AAChF;;AAEA;AACA,OAAO,SAASM,UAAUA,CAACN,IAA+B,EAAmB;EAC3E,IAAI,CAACA,IAAI,EAAE,OAAO,IAAI;EACtB,MAAMO,IAAI,GAAGR,YAAY,CAACC,IAAI,CAAC;EAC/B,OAAOI,mBAAmB,CAACG,IAAI,CAAC,GAAGA,IAAI,GAAG,IAAI;AAChD;AAEA,SAASC,eAAeA,CAAA,EAAkB;EACxC,IAAI;IACF,IAAI3B,QAAQ,CAAC4B,EAAE,KAAK,KAAK,EAAE;MACzB,MAAMC,QAAQ,GAAG9B,aAAa,CAAC+B,eAAe,EAAED,QAAQ;MACxD,MAAME,MAAM,GAAGF,QAAQ,EAAEG,WAAW,IAAIH,QAAQ,EAAEI,cAAc,GAAG,CAAC,CAAC;MACrE,IAAI,OAAOF,MAAM,KAAK,QAAQ,EAAE,OAAOA,MAAM;IAC/C,CAAC,MAAM;MACL,MAAMA,MAAM,GAAGhC,aAAa,CAACmC,WAAW,EAAEC,gBAAgB;MAC1D,IAAI,OAAOJ,MAAM,KAAK,QAAQ,EAAE,OAAOA,MAAM;IAC/C;EACF,CAAC,CAAC,MAAM;IACN;EAAA;EAGF,IAAI;IACF,OAAOK,IAAI,CAACC,cAAc,CAAC,CAAC,CAACC,eAAe,CAAC,CAAC,CAACP,MAAM;EACvD,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,cAAcA,CAAA,EAAoB;EAChD,MAAMR,MAAM,GAAGJ,eAAe,CAAC,CAAC;EAChC,OAAOI,MAAM,KAAK,IAAI,GAAG,IAAI,GAAGN,UAAU,CAACM,MAAM,CAAC;AACpD","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ export const de = {
4
+ 'home.title': 'Support',
5
+ 'home.subtitle': 'Starte ein Gespräch — wir antworten direkt hier.',
6
+ 'home.close': 'Support schließen',
7
+ 'home.open': 'Offen',
8
+ 'home.resolved': 'Erledigt',
9
+ 'home.empty': 'Noch keine Gespräche',
10
+ 'home.emptyHint': 'Alles, was du sendest, landet beim Team, und die Antworten kommen in dieses Fenster zurück.',
11
+ 'home.noMessages': 'Noch keine Nachrichten',
12
+ 'home.you': 'Du',
13
+ 'home.threadA11y': 'Gespräch: {type}',
14
+ 'home.threadUnreadA11y': 'Gespräch: {type}, {count} ungelesen',
15
+ 'home.newA11y': 'Neu: {type}',
16
+ 'home.language': 'Sprache',
17
+ 'type.feedback': 'Feedback',
18
+ 'type.feature_request': 'Funktionswunsch',
19
+ 'type.bug_report': 'Fehlerbericht',
20
+ 'hint.feedback': 'Sag uns, was du denkst',
21
+ 'hint.feature_request': 'Schlage eine Verbesserung vor',
22
+ 'hint.bug_report': 'Etwas funktioniert nicht',
23
+ 'prompt.feedback': 'Was sollten wir wissen?',
24
+ 'prompt.feature_request': 'Was würdest du dir wünschen?',
25
+ 'prompt.bug_report': 'Was ist passiert, und was hattest du erwartet?',
26
+ 'sub.feedback': 'Gut oder schlecht — es geht direkt ans Team.',
27
+ 'sub.feature_request': 'Sag uns, was du erreichen möchtest.',
28
+ 'sub.bug_report': 'Schritte, Bildschirm und deine Erwartung helfen uns weiter.',
29
+ 'compose.back': 'Zurück zu den Gesprächen',
30
+ 'compose.sent': 'Gesendet',
31
+ 'compose.sentHint': 'Wir antworten direkt hier. Du findest das Gespräch unter Offen, und der Button zeigt ein Abzeichen, sobald wir geantwortet haben.',
32
+ 'compose.done': 'Fertig',
33
+ 'compose.send': 'Senden',
34
+ 'compose.sending': 'Wird gesendet…',
35
+ 'compose.minChars': 'Mindestens {count} Zeichen',
36
+ 'thread.support': 'Support',
37
+ 'thread.new': 'Neu',
38
+ 'thread.resolvedAt': 'Erledigt · {date}',
39
+ 'thread.readOnly': 'Dieses Gespräch ist erledigt und schreibgeschützt',
40
+ 'thread.placeholder': 'Antwort schreiben…',
41
+ 'thread.sendA11y': 'Antwort senden',
42
+ 'thread.sendingA11y': 'Wird gesendet',
43
+ 'thread.translating': 'Wird übersetzt…',
44
+ 'status.open': 'Offen',
45
+ 'status.resolved': 'Erledigt',
46
+ 'error.tryAgain': 'Erneut versuchen',
47
+ 'error.rateLimited': 'Zu viele Anfragen — versuche es später noch einmal',
48
+ 'error.offline': 'Du bist offline — prüfe deine Verbindung',
49
+ 'error.sendFailed': 'Senden fehlgeschlagen — versuche es noch einmal',
50
+ 'error.loadFailed': 'Deine Gespräche konnten nicht geladen werden',
51
+ 'error.unavailable': 'Der Support ist gerade nicht verfügbar',
52
+ 'error.loadRateLimited': 'Zu viele Anfragen — versuche es gleich noch einmal',
53
+ 'lang.title': 'Wähle deine Sprache',
54
+ 'lang.subtitle': 'Schreib in der Sprache, die dir liegt — wir übersetzen zwischen dir und dem Support-Team.',
55
+ 'lang.continue': 'Weiter',
56
+ 'lang.change': 'Sprache ändern',
57
+ 'lang.saveFailed': 'Speichern fehlgeschlagen — versuche es noch einmal',
58
+ 'time.justNow': 'gerade eben',
59
+ 'time.minutes': 'vor {count} Min.',
60
+ 'time.hours': 'vor {count} Std.',
61
+ 'time.days': 'vor {count} T.',
62
+ 'time.weeks': 'vor {count} Wo.',
63
+ 'time.months': 'vor {count} Mon.',
64
+ 'time.years': 'vor {count} J.',
65
+ 'time.today': 'Heute',
66
+ 'time.yesterday': 'Gestern'
67
+ };
68
+ //# sourceMappingURL=de.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["de"],"sourceRoot":"../../../../src","sources":["i18n/strings/de.ts"],"mappings":";;AAEA,OAAO,MAAMA,EAAe,GAAG;EAC7B,YAAY,EAAE,SAAS;EACvB,eAAe,EAAE,kDAAkD;EACnE,YAAY,EAAE,mBAAmB;EACjC,WAAW,EAAE,OAAO;EACpB,eAAe,EAAE,UAAU;EAC3B,YAAY,EAAE,sBAAsB;EACpC,gBAAgB,EACd,6FAA6F;EAC/F,iBAAiB,EAAE,wBAAwB;EAC3C,UAAU,EAAE,IAAI;EAChB,iBAAiB,EAAE,kBAAkB;EACrC,uBAAuB,EAAE,qCAAqC;EAC9D,cAAc,EAAE,aAAa;EAC7B,eAAe,EAAE,SAAS;EAE1B,eAAe,EAAE,UAAU;EAC3B,sBAAsB,EAAE,iBAAiB;EACzC,iBAAiB,EAAE,eAAe;EAClC,eAAe,EAAE,wBAAwB;EACzC,sBAAsB,EAAE,+BAA+B;EACvD,iBAAiB,EAAE,0BAA0B;EAC7C,iBAAiB,EAAE,yBAAyB;EAC5C,wBAAwB,EAAE,8BAA8B;EACxD,mBAAmB,EAAE,gDAAgD;EACrE,cAAc,EAAE,8CAA8C;EAC9D,qBAAqB,EAAE,qCAAqC;EAC5D,gBAAgB,EACd,6DAA6D;EAE/D,cAAc,EAAE,0BAA0B;EAC1C,cAAc,EAAE,UAAU;EAC1B,kBAAkB,EAChB,mIAAmI;EACrI,cAAc,EAAE,QAAQ;EACxB,cAAc,EAAE,QAAQ;EACxB,iBAAiB,EAAE,gBAAgB;EACnC,kBAAkB,EAAE,4BAA4B;EAEhD,gBAAgB,EAAE,SAAS;EAC3B,YAAY,EAAE,KAAK;EACnB,mBAAmB,EAAE,mBAAmB;EACxC,iBAAiB,EAAE,mDAAmD;EACtE,oBAAoB,EAAE,oBAAoB;EAC1C,iBAAiB,EAAE,gBAAgB;EACnC,oBAAoB,EAAE,eAAe;EACrC,oBAAoB,EAAE,iBAAiB;EAEvC,aAAa,EAAE,OAAO;EACtB,iBAAiB,EAAE,UAAU;EAE7B,gBAAgB,EAAE,kBAAkB;EACpC,mBAAmB,EAAE,oDAAoD;EACzE,eAAe,EAAE,0CAA0C;EAC3D,kBAAkB,EAAE,iDAAiD;EACrE,kBAAkB,EAAE,8CAA8C;EAClE,mBAAmB,EAAE,wCAAwC;EAC7D,uBAAuB,EAAE,oDAAoD;EAE7E,YAAY,EAAE,qBAAqB;EACnC,eAAe,EACb,2FAA2F;EAC7F,eAAe,EAAE,QAAQ;EACzB,aAAa,EAAE,gBAAgB;EAC/B,iBAAiB,EAAE,oDAAoD;EAEvE,cAAc,EAAE,aAAa;EAC7B,cAAc,EAAE,kBAAkB;EAClC,YAAY,EAAE,kBAAkB;EAChC,WAAW,EAAE,gBAAgB;EAC7B,YAAY,EAAE,iBAAiB;EAC/B,aAAa,EAAE,kBAAkB;EACjC,YAAY,EAAE,gBAAgB;EAC9B,YAAY,EAAE,OAAO;EACrB,gBAAgB,EAAE;AACpB,CAAC","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * English is the source table: every other language is typed against it, so a
5
+ * missing or misspelled key fails the build rather than falling back silently
6
+ * at runtime.
7
+ *
8
+ * Placeholders are `{name}` tokens filled in by `format()` — the table stays
9
+ * pure data so it can be handed to a translator (or lifted to JSON) without
10
+ * touching code.
11
+ *
12
+ * Keys that read identically in English are still separate when their context
13
+ * differs: `home.open` labels a section of several threads, `status.open`
14
+ * labels one thread's state, and plenty of languages inflect those
15
+ * differently.
16
+ */
17
+ export const en = {
18
+ 'home.title': 'Support',
19
+ 'home.subtitle': 'Start a conversation — we reply right here.',
20
+ 'home.close': 'Close support',
21
+ 'home.open': 'Open',
22
+ 'home.resolved': 'Resolved',
23
+ 'home.empty': 'No conversations yet',
24
+ 'home.emptyHint': 'Anything you send lands with the team, and their replies come back to this sheet.',
25
+ 'home.noMessages': 'No messages yet',
26
+ 'home.you': 'You',
27
+ 'home.threadA11y': '{type} thread',
28
+ 'home.threadUnreadA11y': '{type} thread, {count} unread',
29
+ 'home.newA11y': 'New {type}',
30
+ 'home.language': 'Language',
31
+ 'type.feedback': 'Feedback',
32
+ 'type.feature_request': 'Feature request',
33
+ 'type.bug_report': 'Bug report',
34
+ 'hint.feedback': 'Tell us what you think',
35
+ 'hint.feature_request': 'Suggest an improvement',
36
+ 'hint.bug_report': "Something isn't working",
37
+ 'prompt.feedback': 'What should we know?',
38
+ 'prompt.feature_request': 'What would you like to see?',
39
+ 'prompt.bug_report': 'What happened, and what did you expect?',
40
+ 'sub.feedback': 'Good or bad — it goes straight to the team.',
41
+ 'sub.feature_request': 'Tell us what you are trying to do.',
42
+ 'sub.bug_report': 'Steps, screen, and what you expected all help.',
43
+ 'compose.back': 'Back to conversations',
44
+ 'compose.sent': 'Sent',
45
+ 'compose.sentHint': "We'll reply right here. You'll find the conversation under Open, and the button shows a badge when we answer.",
46
+ 'compose.done': 'Done',
47
+ 'compose.send': 'Send',
48
+ 'compose.sending': 'Sending…',
49
+ 'compose.minChars': 'At least {count} characters',
50
+ 'thread.support': 'Support',
51
+ 'thread.new': 'New',
52
+ 'thread.resolvedAt': 'Resolved · {date}',
53
+ 'thread.readOnly': 'This conversation is resolved and read-only',
54
+ 'thread.placeholder': 'Write a reply…',
55
+ 'thread.sendA11y': 'Send reply',
56
+ 'thread.sendingA11y': 'Sending',
57
+ 'thread.translating': 'Translating…',
58
+ 'status.open': 'Open',
59
+ 'status.resolved': 'Resolved',
60
+ 'error.tryAgain': 'Try again',
61
+ 'error.rateLimited': 'Too many requests — try again later',
62
+ 'error.offline': "You're offline — check your connection",
63
+ 'error.sendFailed': "Couldn't send — try again",
64
+ 'error.loadFailed': "Couldn't load your conversations",
65
+ 'error.unavailable': 'Support is unavailable right now',
66
+ 'error.loadRateLimited': 'Too many requests — try again in a bit',
67
+ 'lang.title': 'Choose your language',
68
+ 'lang.subtitle': 'Write in whichever language you prefer — we translate between you and the support team.',
69
+ 'lang.continue': 'Continue',
70
+ 'lang.change': 'Change language',
71
+ 'lang.saveFailed': "Couldn't save — try again",
72
+ 'time.justNow': 'just now',
73
+ 'time.minutes': '{count}m ago',
74
+ 'time.hours': '{count}h ago',
75
+ 'time.days': '{count}d ago',
76
+ 'time.weeks': '{count}w ago',
77
+ 'time.months': '{count}mo ago',
78
+ 'time.years': '{count}y ago',
79
+ 'time.today': 'Today',
80
+ 'time.yesterday': 'Yesterday'
81
+ };
82
+
83
+ /** Every language provides every key — enforced at compile time. */
84
+ //# sourceMappingURL=en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["en"],"sourceRoot":"../../../../src","sources":["i18n/strings/en.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,EAAE,GAAG;EAChB,YAAY,EAAE,SAAS;EACvB,eAAe,EAAE,6CAA6C;EAC9D,YAAY,EAAE,eAAe;EAC7B,WAAW,EAAE,MAAM;EACnB,eAAe,EAAE,UAAU;EAC3B,YAAY,EAAE,sBAAsB;EACpC,gBAAgB,EACd,mFAAmF;EACrF,iBAAiB,EAAE,iBAAiB;EACpC,UAAU,EAAE,KAAK;EACjB,iBAAiB,EAAE,eAAe;EAClC,uBAAuB,EAAE,+BAA+B;EACxD,cAAc,EAAE,YAAY;EAC5B,eAAe,EAAE,UAAU;EAE3B,eAAe,EAAE,UAAU;EAC3B,sBAAsB,EAAE,iBAAiB;EACzC,iBAAiB,EAAE,YAAY;EAC/B,eAAe,EAAE,wBAAwB;EACzC,sBAAsB,EAAE,wBAAwB;EAChD,iBAAiB,EAAE,yBAAyB;EAC5C,iBAAiB,EAAE,sBAAsB;EACzC,wBAAwB,EAAE,6BAA6B;EACvD,mBAAmB,EAAE,yCAAyC;EAC9D,cAAc,EAAE,6CAA6C;EAC7D,qBAAqB,EAAE,oCAAoC;EAC3D,gBAAgB,EAAE,gDAAgD;EAElE,cAAc,EAAE,uBAAuB;EACvC,cAAc,EAAE,MAAM;EACtB,kBAAkB,EAChB,+GAA+G;EACjH,cAAc,EAAE,MAAM;EACtB,cAAc,EAAE,MAAM;EACtB,iBAAiB,EAAE,UAAU;EAC7B,kBAAkB,EAAE,6BAA6B;EAEjD,gBAAgB,EAAE,SAAS;EAC3B,YAAY,EAAE,KAAK;EACnB,mBAAmB,EAAE,mBAAmB;EACxC,iBAAiB,EAAE,6CAA6C;EAChE,oBAAoB,EAAE,gBAAgB;EACtC,iBAAiB,EAAE,YAAY;EAC/B,oBAAoB,EAAE,SAAS;EAC/B,oBAAoB,EAAE,cAAc;EAEpC,aAAa,EAAE,MAAM;EACrB,iBAAiB,EAAE,UAAU;EAE7B,gBAAgB,EAAE,WAAW;EAC7B,mBAAmB,EAAE,qCAAqC;EAC1D,eAAe,EAAE,wCAAwC;EACzD,kBAAkB,EAAE,2BAA2B;EAC/C,kBAAkB,EAAE,kCAAkC;EACtD,mBAAmB,EAAE,kCAAkC;EACvD,uBAAuB,EAAE,wCAAwC;EAEjE,YAAY,EAAE,sBAAsB;EACpC,eAAe,EACb,yFAAyF;EAC3F,eAAe,EAAE,UAAU;EAC3B,aAAa,EAAE,iBAAiB;EAChC,iBAAiB,EAAE,2BAA2B;EAE9C,cAAc,EAAE,UAAU;EAC1B,cAAc,EAAE,cAAc;EAC9B,YAAY,EAAE,cAAc;EAC5B,WAAW,EAAE,cAAc;EAC3B,YAAY,EAAE,cAAc;EAC5B,aAAa,EAAE,eAAe;EAC9B,YAAY,EAAE,cAAc;EAC5B,YAAY,EAAE,OAAO;EACrB,gBAAgB,EAAE;AACpB,CAAU;;AAIV","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ export const es = {
4
+ 'home.title': 'Soporte',
5
+ 'home.subtitle': 'Inicia una conversación: te respondemos aquí mismo.',
6
+ 'home.close': 'Cerrar soporte',
7
+ 'home.open': 'Abiertas',
8
+ 'home.resolved': 'Resueltas',
9
+ 'home.empty': 'Aún no hay conversaciones',
10
+ 'home.emptyHint': 'Todo lo que envíes llega al equipo, y sus respuestas vuelven a esta ventana.',
11
+ 'home.noMessages': 'Aún no hay mensajes',
12
+ 'home.you': 'Tú',
13
+ 'home.threadA11y': 'Conversación de {type}',
14
+ 'home.threadUnreadA11y': 'Conversación de {type}, {count} sin leer',
15
+ 'home.newA11y': 'Nuevo: {type}',
16
+ 'home.language': 'Idioma',
17
+ 'type.feedback': 'Comentarios',
18
+ 'type.feature_request': 'Sugerencia',
19
+ 'type.bug_report': 'Informe de error',
20
+ 'hint.feedback': 'Cuéntanos qué opinas',
21
+ 'hint.feature_request': 'Propón una mejora',
22
+ 'hint.bug_report': 'Algo no funciona',
23
+ 'prompt.feedback': '¿Qué deberíamos saber?',
24
+ 'prompt.feature_request': '¿Qué te gustaría ver?',
25
+ 'prompt.bug_report': '¿Qué pasó y qué esperabas?',
26
+ 'sub.feedback': 'Bueno o malo: va directo al equipo.',
27
+ 'sub.feature_request': 'Cuéntanos qué intentas hacer.',
28
+ 'sub.bug_report': 'Los pasos, la pantalla y lo que esperabas ayudan.',
29
+ 'compose.back': 'Volver a las conversaciones',
30
+ 'compose.sent': 'Enviado',
31
+ 'compose.sentHint': 'Te responderemos aquí mismo. Encontrarás la conversación en Abiertas, y el botón muestra un aviso cuando contestemos.',
32
+ 'compose.done': 'Listo',
33
+ 'compose.send': 'Enviar',
34
+ 'compose.sending': 'Enviando…',
35
+ 'compose.minChars': 'Al menos {count} caracteres',
36
+ 'thread.support': 'Soporte',
37
+ 'thread.new': 'Nuevo',
38
+ 'thread.resolvedAt': 'Resuelta · {date}',
39
+ 'thread.readOnly': 'Esta conversación está resuelta y es de solo lectura',
40
+ 'thread.placeholder': 'Escribe una respuesta…',
41
+ 'thread.sendA11y': 'Enviar respuesta',
42
+ 'thread.sendingA11y': 'Enviando',
43
+ 'thread.translating': 'Traduciendo…',
44
+ 'status.open': 'Abierta',
45
+ 'status.resolved': 'Resuelta',
46
+ 'error.tryAgain': 'Reintentar',
47
+ 'error.rateLimited': 'Demasiadas solicitudes: inténtalo más tarde',
48
+ 'error.offline': 'Sin conexión: revisa tu red',
49
+ 'error.sendFailed': 'No se pudo enviar: inténtalo de nuevo',
50
+ 'error.loadFailed': 'No se pudieron cargar tus conversaciones',
51
+ 'error.unavailable': 'El soporte no está disponible ahora mismo',
52
+ 'error.loadRateLimited': 'Demasiadas solicitudes: inténtalo en un momento',
53
+ 'lang.title': 'Elige tu idioma',
54
+ 'lang.subtitle': 'Escribe en el idioma que prefieras: traducimos entre tú y el equipo de soporte.',
55
+ 'lang.continue': 'Continuar',
56
+ 'lang.change': 'Cambiar idioma',
57
+ 'lang.saveFailed': 'No se pudo guardar: inténtalo de nuevo',
58
+ 'time.justNow': 'ahora mismo',
59
+ 'time.minutes': 'hace {count} min',
60
+ 'time.hours': 'hace {count} h',
61
+ 'time.days': 'hace {count} d',
62
+ 'time.weeks': 'hace {count} sem',
63
+ 'time.months': 'hace {count} meses',
64
+ 'time.years': 'hace {count} años',
65
+ 'time.today': 'Hoy',
66
+ 'time.yesterday': 'Ayer'
67
+ };
68
+ //# sourceMappingURL=es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["es"],"sourceRoot":"../../../../src","sources":["i18n/strings/es.ts"],"mappings":";;AAEA,OAAO,MAAMA,EAAe,GAAG;EAC7B,YAAY,EAAE,SAAS;EACvB,eAAe,EAAE,qDAAqD;EACtE,YAAY,EAAE,gBAAgB;EAC9B,WAAW,EAAE,UAAU;EACvB,eAAe,EAAE,WAAW;EAC5B,YAAY,EAAE,2BAA2B;EACzC,gBAAgB,EACd,8EAA8E;EAChF,iBAAiB,EAAE,qBAAqB;EACxC,UAAU,EAAE,IAAI;EAChB,iBAAiB,EAAE,wBAAwB;EAC3C,uBAAuB,EAAE,0CAA0C;EACnE,cAAc,EAAE,eAAe;EAC/B,eAAe,EAAE,QAAQ;EAEzB,eAAe,EAAE,aAAa;EAC9B,sBAAsB,EAAE,YAAY;EACpC,iBAAiB,EAAE,kBAAkB;EACrC,eAAe,EAAE,sBAAsB;EACvC,sBAAsB,EAAE,mBAAmB;EAC3C,iBAAiB,EAAE,kBAAkB;EACrC,iBAAiB,EAAE,wBAAwB;EAC3C,wBAAwB,EAAE,uBAAuB;EACjD,mBAAmB,EAAE,4BAA4B;EACjD,cAAc,EAAE,qCAAqC;EACrD,qBAAqB,EAAE,+BAA+B;EACtD,gBAAgB,EAAE,mDAAmD;EAErE,cAAc,EAAE,6BAA6B;EAC7C,cAAc,EAAE,SAAS;EACzB,kBAAkB,EAChB,uHAAuH;EACzH,cAAc,EAAE,OAAO;EACvB,cAAc,EAAE,QAAQ;EACxB,iBAAiB,EAAE,WAAW;EAC9B,kBAAkB,EAAE,6BAA6B;EAEjD,gBAAgB,EAAE,SAAS;EAC3B,YAAY,EAAE,OAAO;EACrB,mBAAmB,EAAE,mBAAmB;EACxC,iBAAiB,EAAE,sDAAsD;EACzE,oBAAoB,EAAE,wBAAwB;EAC9C,iBAAiB,EAAE,kBAAkB;EACrC,oBAAoB,EAAE,UAAU;EAChC,oBAAoB,EAAE,cAAc;EAEpC,aAAa,EAAE,SAAS;EACxB,iBAAiB,EAAE,UAAU;EAE7B,gBAAgB,EAAE,YAAY;EAC9B,mBAAmB,EAAE,6CAA6C;EAClE,eAAe,EAAE,6BAA6B;EAC9C,kBAAkB,EAAE,uCAAuC;EAC3D,kBAAkB,EAAE,0CAA0C;EAC9D,mBAAmB,EAAE,2CAA2C;EAChE,uBAAuB,EAAE,iDAAiD;EAE1E,YAAY,EAAE,iBAAiB;EAC/B,eAAe,EACb,iFAAiF;EACnF,eAAe,EAAE,WAAW;EAC5B,aAAa,EAAE,gBAAgB;EAC/B,iBAAiB,EAAE,wCAAwC;EAE3D,cAAc,EAAE,aAAa;EAC7B,cAAc,EAAE,kBAAkB;EAClC,YAAY,EAAE,gBAAgB;EAC9B,WAAW,EAAE,gBAAgB;EAC7B,YAAY,EAAE,kBAAkB;EAChC,aAAa,EAAE,oBAAoB;EACnC,YAAY,EAAE,mBAAmB;EACjC,YAAY,EAAE,KAAK;EACnB,gBAAgB,EAAE;AACpB,CAAC","ignoreList":[]}