@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
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ export const ru = {
4
+ 'home.title': 'Поддержка',
5
+ 'home.subtitle': 'Начните разговор — мы ответим прямо здесь.',
6
+ 'home.close': 'Закрыть поддержку',
7
+ 'home.open': 'Открытые',
8
+ 'home.resolved': 'Решённые',
9
+ 'home.empty': 'Пока нет разговоров',
10
+ 'home.emptyHint': 'Всё, что вы отправите, попадёт к команде, а ответы вернутся в это окно.',
11
+ 'home.noMessages': 'Пока нет сообщений',
12
+ 'home.you': 'Вы',
13
+ 'home.threadA11y': 'Разговор: {type}',
14
+ 'home.threadUnreadA11y': 'Разговор: {type}, непрочитанных: {count}',
15
+ 'home.newA11y': 'Новое: {type}',
16
+ 'home.language': 'Язык',
17
+ 'type.feedback': 'Отзыв',
18
+ 'type.feature_request': 'Запрос функции',
19
+ 'type.bug_report': 'Сообщение об ошибке',
20
+ 'hint.feedback': 'Расскажите, что вы думаете',
21
+ 'hint.feature_request': 'Предложите улучшение',
22
+ 'hint.bug_report': 'Что-то не работает',
23
+ 'prompt.feedback': 'Что нам следует знать?',
24
+ 'prompt.feature_request': 'Что вы хотели бы увидеть?',
25
+ 'prompt.bug_report': 'Что произошло и чего вы ожидали?',
26
+ 'sub.feedback': 'Хороший или плохой — он идёт прямо к команде.',
27
+ 'sub.feature_request': 'Расскажите, что вы пытаетесь сделать.',
28
+ 'sub.bug_report': 'Шаги, экран и ваши ожидания — всё это помогает.',
29
+ 'compose.back': 'Назад к разговорам',
30
+ 'compose.sent': 'Отправлено',
31
+ 'compose.sentHint': 'Мы ответим прямо здесь. Разговор появится в разделе «Открытые», а на кнопке загорится значок, когда мы ответим.',
32
+ 'compose.done': 'Готово',
33
+ 'compose.send': 'Отправить',
34
+ 'compose.sending': 'Отправка…',
35
+ 'compose.minChars': 'Не менее {count} символов',
36
+ 'thread.support': 'Поддержка',
37
+ 'thread.new': 'Новое',
38
+ 'thread.resolvedAt': 'Решено · {date}',
39
+ 'thread.readOnly': 'Этот разговор решён и доступен только для чтения',
40
+ 'thread.placeholder': 'Напишите ответ…',
41
+ 'thread.sendA11y': 'Отправить ответ',
42
+ 'thread.sendingA11y': 'Отправка',
43
+ 'thread.translating': 'Перевод…',
44
+ 'status.open': 'Открыт',
45
+ 'status.resolved': 'Решён',
46
+ 'error.tryAgain': 'Повторить',
47
+ 'error.rateLimited': 'Слишком много запросов — попробуйте позже',
48
+ 'error.offline': 'Нет подключения — проверьте сеть',
49
+ 'error.sendFailed': 'Не удалось отправить — попробуйте ещё раз',
50
+ 'error.loadFailed': 'Не удалось загрузить ваши разговоры',
51
+ 'error.unavailable': 'Поддержка сейчас недоступна',
52
+ 'error.loadRateLimited': 'Слишком много запросов — попробуйте через минуту',
53
+ 'lang.title': 'Выберите язык',
54
+ 'lang.subtitle': 'Пишите на удобном вам языке — мы переводим между вами и командой поддержки.',
55
+ 'lang.continue': 'Продолжить',
56
+ 'lang.change': 'Изменить язык',
57
+ 'lang.saveFailed': 'Не удалось сохранить — попробуйте ещё раз',
58
+ 'time.justNow': 'только что',
59
+ 'time.minutes': '{count} мин назад',
60
+ 'time.hours': '{count} ч назад',
61
+ 'time.days': '{count} дн назад',
62
+ 'time.weeks': '{count} нед назад',
63
+ 'time.months': '{count} мес назад',
64
+ 'time.years': '{count} г назад',
65
+ 'time.today': 'Сегодня',
66
+ 'time.yesterday': 'Вчера'
67
+ };
68
+ //# sourceMappingURL=ru.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ru"],"sourceRoot":"../../../../src","sources":["i18n/strings/ru.ts"],"mappings":";;AAEA,OAAO,MAAMA,EAAe,GAAG;EAC7B,YAAY,EAAE,WAAW;EACzB,eAAe,EAAE,4CAA4C;EAC7D,YAAY,EAAE,mBAAmB;EACjC,WAAW,EAAE,UAAU;EACvB,eAAe,EAAE,UAAU;EAC3B,YAAY,EAAE,qBAAqB;EACnC,gBAAgB,EACd,yEAAyE;EAC3E,iBAAiB,EAAE,oBAAoB;EACvC,UAAU,EAAE,IAAI;EAChB,iBAAiB,EAAE,kBAAkB;EACrC,uBAAuB,EAAE,0CAA0C;EACnE,cAAc,EAAE,eAAe;EAC/B,eAAe,EAAE,MAAM;EAEvB,eAAe,EAAE,OAAO;EACxB,sBAAsB,EAAE,gBAAgB;EACxC,iBAAiB,EAAE,qBAAqB;EACxC,eAAe,EAAE,4BAA4B;EAC7C,sBAAsB,EAAE,sBAAsB;EAC9C,iBAAiB,EAAE,oBAAoB;EACvC,iBAAiB,EAAE,wBAAwB;EAC3C,wBAAwB,EAAE,2BAA2B;EACrD,mBAAmB,EAAE,kCAAkC;EACvD,cAAc,EAAE,+CAA+C;EAC/D,qBAAqB,EAAE,uCAAuC;EAC9D,gBAAgB,EAAE,iDAAiD;EAEnE,cAAc,EAAE,oBAAoB;EACpC,cAAc,EAAE,YAAY;EAC5B,kBAAkB,EAChB,iHAAiH;EACnH,cAAc,EAAE,QAAQ;EACxB,cAAc,EAAE,WAAW;EAC3B,iBAAiB,EAAE,WAAW;EAC9B,kBAAkB,EAAE,2BAA2B;EAE/C,gBAAgB,EAAE,WAAW;EAC7B,YAAY,EAAE,OAAO;EACrB,mBAAmB,EAAE,iBAAiB;EACtC,iBAAiB,EAAE,kDAAkD;EACrE,oBAAoB,EAAE,iBAAiB;EACvC,iBAAiB,EAAE,iBAAiB;EACpC,oBAAoB,EAAE,UAAU;EAChC,oBAAoB,EAAE,UAAU;EAEhC,aAAa,EAAE,QAAQ;EACvB,iBAAiB,EAAE,OAAO;EAE1B,gBAAgB,EAAE,WAAW;EAC7B,mBAAmB,EAAE,2CAA2C;EAChE,eAAe,EAAE,kCAAkC;EACnD,kBAAkB,EAAE,2CAA2C;EAC/D,kBAAkB,EAAE,qCAAqC;EACzD,mBAAmB,EAAE,6BAA6B;EAClD,uBAAuB,EAAE,kDAAkD;EAE3E,YAAY,EAAE,eAAe;EAC7B,eAAe,EACb,6EAA6E;EAC/E,eAAe,EAAE,YAAY;EAC7B,aAAa,EAAE,eAAe;EAC9B,iBAAiB,EAAE,2CAA2C;EAE9D,cAAc,EAAE,YAAY;EAC5B,cAAc,EAAE,mBAAmB;EACnC,YAAY,EAAE,iBAAiB;EAC/B,WAAW,EAAE,kBAAkB;EAC/B,YAAY,EAAE,mBAAmB;EACjC,aAAa,EAAE,mBAAmB;EAClC,YAAY,EAAE,iBAAiB;EAC/B,YAAY,EAAE,SAAS;EACvB,gBAAgB,EAAE;AACpB,CAAC","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ export const tr = {
4
+ 'home.title': 'Destek',
5
+ 'home.subtitle': 'Bir görüşme başlatın — tam burada yanıtlıyoruz.',
6
+ 'home.close': 'Desteği kapat',
7
+ 'home.open': 'Açık',
8
+ 'home.resolved': 'Çözüldü',
9
+ 'home.empty': 'Henüz görüşme yok',
10
+ 'home.emptyHint': 'Gönderdiğiniz her şey ekibe ulaşır ve yanıtları bu pencereye geri gelir.',
11
+ 'home.noMessages': 'Henüz mesaj yok',
12
+ 'home.you': 'Siz',
13
+ 'home.threadA11y': 'Görüşme: {type}',
14
+ 'home.threadUnreadA11y': 'Görüşme: {type}, {count} okunmamış',
15
+ 'home.newA11y': 'Yeni: {type}',
16
+ 'home.language': 'Dil',
17
+ 'type.feedback': 'Geri bildirim',
18
+ 'type.feature_request': 'Özellik isteği',
19
+ 'type.bug_report': 'Hata bildirimi',
20
+ 'hint.feedback': 'Ne düşündüğünüzü söyleyin',
21
+ 'hint.feature_request': 'Bir iyileştirme önerin',
22
+ 'hint.bug_report': 'Bir şey çalışmıyor',
23
+ 'prompt.feedback': 'Neyi bilmemiz gerekiyor?',
24
+ 'prompt.feature_request': 'Neyi görmek istersiniz?',
25
+ 'prompt.bug_report': 'Ne oldu ve ne olmasını bekliyordunuz?',
26
+ 'sub.feedback': 'İyi ya da kötü — doğrudan ekibe gider.',
27
+ 'sub.feature_request': 'Ne yapmaya çalıştığınızı anlatın.',
28
+ 'sub.bug_report': 'Adımlar, ekran ve beklentiniz bize yardımcı olur.',
29
+ 'compose.back': 'Görüşmelere dön',
30
+ 'compose.sent': 'Gönderildi',
31
+ 'compose.sentHint': 'Tam burada yanıtlayacağız. Görüşmeyi Açık bölümünde bulursunuz ve yanıtladığımızda düğmede bir işaret belirir.',
32
+ 'compose.done': 'Tamam',
33
+ 'compose.send': 'Gönder',
34
+ 'compose.sending': 'Gönderiliyor…',
35
+ 'compose.minChars': 'En az {count} karakter',
36
+ 'thread.support': 'Destek',
37
+ 'thread.new': 'Yeni',
38
+ 'thread.resolvedAt': 'Çözüldü · {date}',
39
+ 'thread.readOnly': 'Bu görüşme çözüldü ve salt okunur',
40
+ 'thread.placeholder': 'Bir yanıt yazın…',
41
+ 'thread.sendA11y': 'Yanıtı gönder',
42
+ 'thread.sendingA11y': 'Gönderiliyor',
43
+ 'thread.translating': 'Çevriliyor…',
44
+ 'status.open': 'Açık',
45
+ 'status.resolved': 'Çözüldü',
46
+ 'error.tryAgain': 'Tekrar dene',
47
+ 'error.rateLimited': 'Çok fazla istek — daha sonra tekrar deneyin',
48
+ 'error.offline': 'Çevrimdışısınız — bağlantınızı kontrol edin',
49
+ 'error.sendFailed': 'Gönderilemedi — tekrar deneyin',
50
+ 'error.loadFailed': 'Görüşmeleriniz yüklenemedi',
51
+ 'error.unavailable': 'Destek şu anda kullanılamıyor',
52
+ 'error.loadRateLimited': 'Çok fazla istek — birazdan tekrar deneyin',
53
+ 'lang.title': 'Dilinizi seçin',
54
+ 'lang.subtitle': 'İstediğiniz dilde yazın — sizinle destek ekibi arasında çeviri yapıyoruz.',
55
+ 'lang.continue': 'Devam',
56
+ 'lang.change': 'Dili değiştir',
57
+ 'lang.saveFailed': 'Kaydedilemedi — tekrar deneyin',
58
+ 'time.justNow': 'az önce',
59
+ 'time.minutes': '{count} dk önce',
60
+ 'time.hours': '{count} sa önce',
61
+ 'time.days': '{count} g önce',
62
+ 'time.weeks': '{count} hf önce',
63
+ 'time.months': '{count} ay önce',
64
+ 'time.years': '{count} yıl önce',
65
+ 'time.today': 'Bugün',
66
+ 'time.yesterday': 'Dün'
67
+ };
68
+ //# sourceMappingURL=tr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tr"],"sourceRoot":"../../../../src","sources":["i18n/strings/tr.ts"],"mappings":";;AAEA,OAAO,MAAMA,EAAe,GAAG;EAC7B,YAAY,EAAE,QAAQ;EACtB,eAAe,EAAE,iDAAiD;EAClE,YAAY,EAAE,eAAe;EAC7B,WAAW,EAAE,MAAM;EACnB,eAAe,EAAE,SAAS;EAC1B,YAAY,EAAE,mBAAmB;EACjC,gBAAgB,EACd,0EAA0E;EAC5E,iBAAiB,EAAE,iBAAiB;EACpC,UAAU,EAAE,KAAK;EACjB,iBAAiB,EAAE,iBAAiB;EACpC,uBAAuB,EAAE,oCAAoC;EAC7D,cAAc,EAAE,cAAc;EAC9B,eAAe,EAAE,KAAK;EAEtB,eAAe,EAAE,eAAe;EAChC,sBAAsB,EAAE,gBAAgB;EACxC,iBAAiB,EAAE,gBAAgB;EACnC,eAAe,EAAE,2BAA2B;EAC5C,sBAAsB,EAAE,wBAAwB;EAChD,iBAAiB,EAAE,oBAAoB;EACvC,iBAAiB,EAAE,0BAA0B;EAC7C,wBAAwB,EAAE,yBAAyB;EACnD,mBAAmB,EAAE,uCAAuC;EAC5D,cAAc,EAAE,wCAAwC;EACxD,qBAAqB,EAAE,mCAAmC;EAC1D,gBAAgB,EAAE,mDAAmD;EAErE,cAAc,EAAE,iBAAiB;EACjC,cAAc,EAAE,YAAY;EAC5B,kBAAkB,EAChB,gHAAgH;EAClH,cAAc,EAAE,OAAO;EACvB,cAAc,EAAE,QAAQ;EACxB,iBAAiB,EAAE,eAAe;EAClC,kBAAkB,EAAE,wBAAwB;EAE5C,gBAAgB,EAAE,QAAQ;EAC1B,YAAY,EAAE,MAAM;EACpB,mBAAmB,EAAE,kBAAkB;EACvC,iBAAiB,EAAE,mCAAmC;EACtD,oBAAoB,EAAE,kBAAkB;EACxC,iBAAiB,EAAE,eAAe;EAClC,oBAAoB,EAAE,cAAc;EACpC,oBAAoB,EAAE,aAAa;EAEnC,aAAa,EAAE,MAAM;EACrB,iBAAiB,EAAE,SAAS;EAE5B,gBAAgB,EAAE,aAAa;EAC/B,mBAAmB,EAAE,6CAA6C;EAClE,eAAe,EAAE,6CAA6C;EAC9D,kBAAkB,EAAE,gCAAgC;EACpD,kBAAkB,EAAE,4BAA4B;EAChD,mBAAmB,EAAE,+BAA+B;EACpD,uBAAuB,EAAE,2CAA2C;EAEpE,YAAY,EAAE,gBAAgB;EAC9B,eAAe,EACb,2EAA2E;EAC7E,eAAe,EAAE,OAAO;EACxB,aAAa,EAAE,eAAe;EAC9B,iBAAiB,EAAE,gCAAgC;EAEnD,cAAc,EAAE,SAAS;EACzB,cAAc,EAAE,iBAAiB;EACjC,YAAY,EAAE,iBAAiB;EAC/B,WAAW,EAAE,gBAAgB;EAC7B,YAAY,EAAE,iBAAiB;EAC/B,aAAa,EAAE,iBAAiB;EAChC,YAAY,EAAE,kBAAkB;EAChC,YAAY,EAAE,OAAO;EACrB,gBAAgB,EAAE;AACpB,CAAC","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ export const zh = {
4
+ 'home.title': '客服支持',
5
+ 'home.subtitle': '发起一次对话 —— 我们就在这里回复你。',
6
+ 'home.close': '关闭客服',
7
+ 'home.open': '进行中',
8
+ 'home.resolved': '已解决',
9
+ 'home.empty': '还没有对话',
10
+ 'home.emptyHint': '你发送的内容都会送到团队,他们的回复也会回到这个窗口。',
11
+ 'home.noMessages': '还没有消息',
12
+ 'home.you': '你',
13
+ 'home.threadA11y': '对话:{type}',
14
+ 'home.threadUnreadA11y': '对话:{type},{count} 条未读',
15
+ 'home.newA11y': '新建:{type}',
16
+ 'home.language': '语言',
17
+ 'type.feedback': '反馈',
18
+ 'type.feature_request': '功能请求',
19
+ 'type.bug_report': '错误报告',
20
+ 'hint.feedback': '告诉我们你的想法',
21
+ 'hint.feature_request': '提出一个改进建议',
22
+ 'hint.bug_report': '有功能无法正常使用',
23
+ 'prompt.feedback': '有什么想让我们知道的?',
24
+ 'prompt.feature_request': '你希望看到什么?',
25
+ 'prompt.bug_report': '发生了什么,你期待的结果是什么?',
26
+ 'sub.feedback': '好评差评都会直接送到团队。',
27
+ 'sub.feature_request': '告诉我们你想完成什么。',
28
+ 'sub.bug_report': '操作步骤、所在页面和你的预期都很有帮助。',
29
+ 'compose.back': '返回对话列表',
30
+ 'compose.sent': '已发送',
31
+ 'compose.sentHint': '我们会在这里回复。对话会出现在「进行中」,我们回复后按钮上会显示提示。',
32
+ 'compose.done': '完成',
33
+ 'compose.send': '发送',
34
+ 'compose.sending': '发送中…',
35
+ 'compose.minChars': '至少输入 {count} 个字符',
36
+ 'thread.support': '客服支持',
37
+ 'thread.new': '新消息',
38
+ 'thread.resolvedAt': '已解决 · {date}',
39
+ 'thread.readOnly': '此对话已解决,仅供查看',
40
+ 'thread.placeholder': '写下回复…',
41
+ 'thread.sendA11y': '发送回复',
42
+ 'thread.sendingA11y': '发送中',
43
+ 'thread.translating': '翻译中…',
44
+ 'status.open': '进行中',
45
+ 'status.resolved': '已解决',
46
+ 'error.tryAgain': '重试',
47
+ 'error.rateLimited': '请求过于频繁 —— 请稍后再试',
48
+ 'error.offline': '你已离线 —— 请检查网络连接',
49
+ 'error.sendFailed': '发送失败 —— 请重试',
50
+ 'error.loadFailed': '无法加载你的对话',
51
+ 'error.unavailable': '客服支持暂时不可用',
52
+ 'error.loadRateLimited': '请求过于频繁 —— 请稍等片刻再试',
53
+ 'lang.title': '选择你的语言',
54
+ 'lang.subtitle': '用你习惯的语言书写 —— 我们会在你和客服团队之间翻译。',
55
+ 'lang.continue': '继续',
56
+ 'lang.change': '更改语言',
57
+ 'lang.saveFailed': '保存失败 —— 请重试',
58
+ 'time.justNow': '刚刚',
59
+ 'time.minutes': '{count} 分钟前',
60
+ 'time.hours': '{count} 小时前',
61
+ 'time.days': '{count} 天前',
62
+ 'time.weeks': '{count} 周前',
63
+ 'time.months': '{count} 个月前',
64
+ 'time.years': '{count} 年前',
65
+ 'time.today': '今天',
66
+ 'time.yesterday': '昨天'
67
+ };
68
+ //# sourceMappingURL=zh.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["zh"],"sourceRoot":"../../../../src","sources":["i18n/strings/zh.ts"],"mappings":";;AAEA,OAAO,MAAMA,EAAe,GAAG;EAC7B,YAAY,EAAE,MAAM;EACpB,eAAe,EAAE,sBAAsB;EACvC,YAAY,EAAE,MAAM;EACpB,WAAW,EAAE,KAAK;EAClB,eAAe,EAAE,KAAK;EACtB,YAAY,EAAE,OAAO;EACrB,gBAAgB,EAAE,6BAA6B;EAC/C,iBAAiB,EAAE,OAAO;EAC1B,UAAU,EAAE,GAAG;EACf,iBAAiB,EAAE,WAAW;EAC9B,uBAAuB,EAAE,uBAAuB;EAChD,cAAc,EAAE,WAAW;EAC3B,eAAe,EAAE,IAAI;EAErB,eAAe,EAAE,IAAI;EACrB,sBAAsB,EAAE,MAAM;EAC9B,iBAAiB,EAAE,MAAM;EACzB,eAAe,EAAE,UAAU;EAC3B,sBAAsB,EAAE,UAAU;EAClC,iBAAiB,EAAE,WAAW;EAC9B,iBAAiB,EAAE,aAAa;EAChC,wBAAwB,EAAE,UAAU;EACpC,mBAAmB,EAAE,kBAAkB;EACvC,cAAc,EAAE,eAAe;EAC/B,qBAAqB,EAAE,aAAa;EACpC,gBAAgB,EAAE,sBAAsB;EAExC,cAAc,EAAE,QAAQ;EACxB,cAAc,EAAE,KAAK;EACrB,kBAAkB,EAChB,qCAAqC;EACvC,cAAc,EAAE,IAAI;EACpB,cAAc,EAAE,IAAI;EACpB,iBAAiB,EAAE,MAAM;EACzB,kBAAkB,EAAE,kBAAkB;EAEtC,gBAAgB,EAAE,MAAM;EACxB,YAAY,EAAE,KAAK;EACnB,mBAAmB,EAAE,cAAc;EACnC,iBAAiB,EAAE,aAAa;EAChC,oBAAoB,EAAE,OAAO;EAC7B,iBAAiB,EAAE,MAAM;EACzB,oBAAoB,EAAE,KAAK;EAC3B,oBAAoB,EAAE,MAAM;EAE5B,aAAa,EAAE,KAAK;EACpB,iBAAiB,EAAE,KAAK;EAExB,gBAAgB,EAAE,IAAI;EACtB,mBAAmB,EAAE,iBAAiB;EACtC,eAAe,EAAE,iBAAiB;EAClC,kBAAkB,EAAE,aAAa;EACjC,kBAAkB,EAAE,UAAU;EAC9B,mBAAmB,EAAE,WAAW;EAChC,uBAAuB,EAAE,mBAAmB;EAE5C,YAAY,EAAE,QAAQ;EACtB,eAAe,EAAE,8BAA8B;EAC/C,eAAe,EAAE,IAAI;EACrB,aAAa,EAAE,MAAM;EACrB,iBAAiB,EAAE,aAAa;EAEhC,cAAc,EAAE,IAAI;EACpB,cAAc,EAAE,aAAa;EAC7B,YAAY,EAAE,aAAa;EAC3B,WAAW,EAAE,YAAY;EACzB,YAAY,EAAE,YAAY;EAC1B,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,YAAY;EAC1B,YAAY,EAAE,IAAI;EAClB,gBAAgB,EAAE;AACpB,CAAC","ignoreList":[]}
@@ -4,5 +4,6 @@ export { SupportButton } from './components/SupportButton';
4
4
  export { supportDarkTheme, supportLightTheme, resolveTheme } from './theme';
5
5
  export { SupportApiError } from './api';
6
6
  export { isPushAvailable } from './push';
7
+ export { DEFAULT_LANGUAGE, deviceLanguage, isSupportedLanguage, LANGUAGE_LABELS, SUPPORTED_LANGUAGES } from './i18n/languages';
7
8
  export { QUERY_TYPE_LABEL, USER_MESSAGE_MAX, USER_MESSAGE_MIN } from './types';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SupportButton","supportDarkTheme","supportLightTheme","resolveTheme","SupportApiError","isPushAvailable","QUERY_TYPE_LABEL","USER_MESSAGE_MAX","USER_MESSAGE_MIN"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,4BAA4B;AAC1D,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,YAAY,QAEP,SAAS;AAChB,SAASC,eAAe,QAAQ,OAAO;AACvC,SAASC,eAAe,QAAQ,QAAQ;AAcxC,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,QACX,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["SupportButton","supportDarkTheme","supportLightTheme","resolveTheme","SupportApiError","isPushAvailable","DEFAULT_LANGUAGE","deviceLanguage","isSupportedLanguage","LANGUAGE_LABELS","SUPPORTED_LANGUAGES","QUERY_TYPE_LABEL","USER_MESSAGE_MAX","USER_MESSAGE_MIN"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,4BAA4B;AAC1D,SACEC,gBAAgB,EAChBC,iBAAiB,EACjBC,YAAY,QAEP,SAAS;AAChB,SAASC,eAAe,QAAQ,OAAO;AACvC,SAASC,eAAe,QAAQ,QAAQ;AACxC,SACEC,gBAAgB,EAChBC,cAAc,EACdC,mBAAmB,EACnBC,eAAe,EACfC,mBAAmB,QAEd,kBAAkB;AAczB,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,QACX,SAAS","ignoreList":[]}
@@ -7,6 +7,17 @@
7
7
  * minimal — bare mark, no fill or border. Sits in a nav bar.
8
8
  */
9
9
 
10
+ /**
11
+ * Note the absence of any admin identity: end users see one support team,
12
+ * not the people staffing it, so the names never leave the server. The
13
+ * dashboard still shows who wrote and who resolved what.
14
+ */
15
+
16
+ /**
17
+ * English labels, kept for host apps that render their own entry points.
18
+ * Inside the sheet the labels come from the string table instead, so they
19
+ * follow the user's language.
20
+ */
10
21
  export const QUERY_TYPE_LABEL = {
11
22
  feedback: 'Feedback',
12
23
  feature_request: 'Feature request',
@@ -1 +1 @@
1
- {"version":3,"names":["QUERY_TYPE_LABEL","feedback","feature_request","bug_report","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAQA;AACA;AACA;AACA;AACA;AACA;;AA4FA,OAAO,MAAMA,gBAA2C,GAAG;EACzDC,QAAQ,EAAE,UAAU;EACpBC,eAAe,EAAE,iBAAiB;EAClCC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG,EAAE;AAClC,OAAO,MAAMC,gBAAgB,GAAG,GAAG","ignoreList":[]}
1
+ {"version":3,"names":["QUERY_TYPE_LABEL","feedback","feature_request","bug_report","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AASA;AACA;AACA;AACA;AACA;AACA;;AAwFA;AACA;AACA;AACA;AACA;;AAwBA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,gBAA2C,GAAG;EACzDC,QAAQ,EAAE,UAAU;EACpBC,eAAe,EAAE,iBAAiB;EAClCC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG,EAAE;AAClC,OAAO,MAAMC,gBAAgB,GAAG,GAAG","ignoreList":[]}
@@ -39,19 +39,23 @@ const MARK_READ_BACKOFF_MS = 1_500;
39
39
  * an integration mistake — the end user retrying forever won't fix a key
40
40
  * that doesn't match the app — so the real cause is logged for whoever is
41
41
  * running the build instead of hidden behind "couldn't load".
42
+ *
43
+ * Returns a key rather than a message: the hook has no business knowing what
44
+ * language the sheet is in, and resolving it here would make every callback
45
+ * depend on the translator.
42
46
  */
43
- function loadErrorMessage(e) {
47
+ function loadErrorKey(e) {
44
48
  if (e instanceof SupportApiError) {
45
- if (e.offline) return "You're offline — check your connection";
49
+ if (e.offline) return 'error.offline';
46
50
  if (e.status === 401 || e.status === 403) {
47
51
  if (__DEV__) {
48
52
  console.error('SupportButton: the support API rejected this app (401). Check that ' + '`apiKey` is the key shown when the app was registered and that ' + '`appName` matches that app exactly.');
49
53
  }
50
- return 'Support is unavailable right now';
54
+ return 'error.unavailable';
51
55
  }
52
- if (e.status === 429) return 'Too many requests — try again in a bit';
56
+ if (e.status === 429) return 'error.loadRateLimited';
53
57
  }
54
- return "Couldn't load your conversations";
58
+ return 'error.loadFailed';
55
59
  }
56
60
  export function useSupportThreads({
57
61
  config,
@@ -65,7 +69,9 @@ export function useSupportThreads({
65
69
  const [totalUnread, setTotalUnread] = useState(0);
66
70
  const [loading, setLoading] = useState(false);
67
71
  const [refreshing, setRefreshing] = useState(false);
68
- const [error, setError] = useState(null);
72
+ const [errorKey, setErrorKey] = useState(null);
73
+ const [serverLanguage, setServerLanguage] = useState(null);
74
+ const [languageLoaded, setLanguageLoaded] = useState(false);
69
75
  const mounted = useRef(true);
70
76
  /** Last server payload, before local read reconciliation. */
71
77
  const rawThreads = useRef(null);
@@ -187,7 +193,9 @@ export function useSupportThreads({
187
193
  appliedSeq.current = seq;
188
194
  rawThreads.current = data.threads;
189
195
  watermarks.current = pruneWatermarks(watermarks.current, data.threads);
190
- setError(null);
196
+ setErrorKey(null);
197
+ setServerLanguage(data.language);
198
+ setLanguageLoaded(true);
191
199
  publish();
192
200
 
193
201
  // Replies that arrived while the user is sitting in the thread are
@@ -198,7 +206,7 @@ export function useSupportThreads({
198
206
  } catch (e) {
199
207
  if (!mounted.current) return;
200
208
  // A failed background poll must not blow away cached threads.
201
- if (rawThreads.current === null) setError(loadErrorMessage(e));
209
+ if (rawThreads.current === null) setErrorKey(loadErrorKey(e));
202
210
  } finally {
203
211
  if (mounted.current) {
204
212
  if (spinner) setRefreshing(false);
@@ -273,7 +281,9 @@ export function useSupportThreads({
273
281
  totalUnread,
274
282
  loading,
275
283
  refreshing,
276
- error,
284
+ errorKey,
285
+ serverLanguage,
286
+ languageLoaded,
277
287
  refresh,
278
288
  reload
279
289
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","useState","AppState","getThreads","getUnreadCount","markRead","SupportApiError","latestAdminMessageAt","pruneWatermarks","reconcileThreads","sumUnread","THREAD_POLL_MS","SHEET_POLL_MS","IDLE_POLL_MS","MIN_POLL_MS","MARK_READ_MAX_ATTEMPTS","MARK_READ_BACKOFF_MS","loadErrorMessage","e","offline","status","__DEV__","console","error","useSupportThreads","config","revenuecatId","enabled","sheetOpen","activeThreadId","idlePollMs","threads","setThreads","totalUnread","setTotalUnread","loading","setLoading","refreshing","setRefreshing","setError","mounted","rawThreads","watermarks","Map","reads","requestSeq","appliedSeq","readEpoch","activeThreadIdRef","current","timers","attempt","values","timer","clearTimeout","clear","publish","raw","reconciled","sendRead","threadId","get","inFlight","covers","target","queryId","then","attempts","delete","catch","setTimeout","flushReads","markThreadRead","thread","find","t","id","latest","set","fetchThreads","mode","seq","blank","spinner","skeleton","data","active","fetchCount","epoch","total_unread","idle","intervalMs","tick","size","setInterval","Math","max","appStateSub","addEventListener","state","clearInterval","remove","refresh","reload"],"sourceRoot":"../../src","sources":["useSupportThreads.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SACEC,UAAU,EACVC,cAAc,EACdC,QAAQ,EACRC,eAAe,QAEV,OAAO;AAEd,SACEC,oBAAoB,EACpBC,eAAe,EACfC,gBAAgB,EAChBC,SAAS,QAEJ,UAAU;;AAEjB;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,KAAK;AAC5B,MAAMC,aAAa,GAAG,MAAM;AAC5B,OAAO,MAAMC,YAAY,GAAG,MAAM;AAClC,MAAMC,WAAW,GAAG,KAAK;;AAEzB;AACA;AACA;AACA,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,oBAAoB,GAAG,KAAK;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAACC,CAAU,EAAU;EAC5C,IAAIA,CAAC,YAAYZ,eAAe,EAAE;IAChC,IAAIY,CAAC,CAACC,OAAO,EAAE,OAAO,wCAAwC;IAC9D,IAAID,CAAC,CAACE,MAAM,KAAK,GAAG,IAAIF,CAAC,CAACE,MAAM,KAAK,GAAG,EAAE;MACxC,IAAIC,OAAO,EAAE;QACXC,OAAO,CAACC,KAAK,CACX,qEAAqE,GACnE,iEAAiE,GACjE,qCACJ,CAAC;MACH;MACA,OAAO,kCAAkC;IAC3C;IACA,IAAIL,CAAC,CAACE,MAAM,KAAK,GAAG,EAAE,OAAO,wCAAwC;EACvE;EACA,OAAO,kCAAkC;AAC3C;AA2BA,OAAO,SAASI,iBAAiBA,CAAC;EAChCC,MAAM;EACNC,YAAY;EACZC,OAAO;EACPC,SAAS;EACTC,cAAc;EACdC;AASF,CAAC,EAAuB;EACtB,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG/B,QAAQ,CAAkB,IAAI,CAAC;EAC7D,MAAM,CAACgC,WAAW,EAAEC,cAAc,CAAC,GAAGjC,QAAQ,CAAC,CAAC,CAAC;EACjD,MAAM,CAACkC,OAAO,EAAEC,UAAU,CAAC,GAAGnC,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACoC,UAAU,EAAEC,aAAa,CAAC,GAAGrC,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACsB,KAAK,EAAEgB,QAAQ,CAAC,GAAGtC,QAAQ,CAAgB,IAAI,CAAC;EAEvD,MAAMuC,OAAO,GAAGxC,MAAM,CAAC,IAAI,CAAC;EAC5B;EACA,MAAMyC,UAAU,GAAGzC,MAAM,CAAkB,IAAI,CAAC;EAChD,MAAM0C,UAAU,GAAG1C,MAAM,CAAiB,IAAI2C,GAAG,CAAC,CAAC,CAAC;EACpD,MAAMC,KAAK,GAAG5C,MAAM,CAAC,IAAI2C,GAAG,CAAsB,CAAC,CAAC;EACpD,MAAME,UAAU,GAAG7C,MAAM,CAAC,CAAC,CAAC;EAC5B,MAAM8C,UAAU,GAAG9C,MAAM,CAAC,CAAC,CAAC;EAC5B,MAAM+C,SAAS,GAAG/C,MAAM,CAAC,CAAC,CAAC;EAC3B,MAAMgD,iBAAiB,GAAGhD,MAAM,CAAgB6B,cAAc,CAAC;EAE/D9B,SAAS,CAAC,MAAM;IACdiD,iBAAiB,CAACC,OAAO,GAAGpB,cAAc;EAC5C,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB9B,SAAS,CAAC,MAAM;IACdyC,OAAO,CAACS,OAAO,GAAG,IAAI;IACtB,MAAMC,MAAM,GAAGN,KAAK,CAACK,OAAO;IAC5B,OAAO,MAAM;MACXT,OAAO,CAACS,OAAO,GAAG,KAAK;MACvB,KAAK,MAAME,OAAO,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;QACrC,IAAID,OAAO,CAACE,KAAK,KAAK,IAAI,EAAEC,YAAY,CAACH,OAAO,CAACE,KAAK,CAAC;MACzD;MACAH,MAAM,CAACK,KAAK,CAAC,CAAC;IAChB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAO,GAAG1D,WAAW,CAAC,MAAM;IAChC,MAAM2D,GAAG,GAAGhB,UAAU,CAACQ,OAAO;IAC9B,IAAIQ,GAAG,KAAK,IAAI,EAAE;IAClB,MAAMC,UAAU,GAAGjD,gBAAgB,CAACgD,GAAG,EAAEf,UAAU,CAACO,OAAO,CAAC;IAC5DjB,UAAU,CAAC0B,UAAU,CAAC;IACtBxB,cAAc,CAACxB,SAAS,CAACgD,UAAU,CAAC,CAAC;EACvC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMC,QAAQ,GAAG7D,WAAW,CACzB8D,QAAgB,IAAK;IACpB,MAAMT,OAAO,GAAGP,KAAK,CAACK,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC;IAC3C,IAAI,CAACT,OAAO,IAAIA,OAAO,CAACW,QAAQ,KAAK,IAAI,EAAE;IAC3C,MAAMC,MAAM,GAAGZ,OAAO,CAACa,MAAM;IAC7Bb,OAAO,CAACW,QAAQ,GAAGC,MAAM;IACzBZ,OAAO,CAACE,KAAK,GAAG,IAAI;IAEpBhD,QAAQ,CAACoB,MAAM,EAAE;MAAEwC,OAAO,EAAEL,QAAQ;MAAElC;IAAa,CAAC,CAAC,CAClDwC,IAAI,CAAC,MAAM;MACV,IAAI,CAAC1B,OAAO,CAACS,OAAO,EAAE;MACtB,MAAMA,OAAO,GAAGL,KAAK,CAACK,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC;MAC3C,IAAI,CAACX,OAAO,EAAE;MACdA,OAAO,CAACa,QAAQ,GAAG,IAAI;MACvB;MACA;MACA,IAAIb,OAAO,CAACe,MAAM,GAAGD,MAAM,EAAE;QAC3Bd,OAAO,CAACkB,QAAQ,GAAG,CAAC;QACpBR,QAAQ,CAACC,QAAQ,CAAC;QAClB;MACF;MACAhB,KAAK,CAACK,OAAO,CAACmB,MAAM,CAACR,QAAQ,CAAC;MAC9B;MACA;MACAb,SAAS,CAACE,OAAO,IAAI,CAAC;IACxB,CAAC,CAAC,CACDoB,KAAK,CAAC,MAAM;MACX,IAAI,CAAC7B,OAAO,CAACS,OAAO,EAAE;MACtB,MAAMA,OAAO,GAAGL,KAAK,CAACK,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC;MAC3C,IAAI,CAACX,OAAO,EAAE;MACdA,OAAO,CAACa,QAAQ,GAAG,IAAI;MACvBb,OAAO,CAACkB,QAAQ,IAAI,CAAC;MACrB,IAAIlB,OAAO,CAACkB,QAAQ,IAAIpD,sBAAsB,EAAE;MAChDkC,OAAO,CAACI,KAAK,GAAGiB,UAAU,CACxB,MAAMX,QAAQ,CAACC,QAAQ,CAAC,EACxB5C,oBAAoB,GAAG,CAAC,KAAKiC,OAAO,CAACkB,QAAQ,GAAG,CAAC,CACnD,CAAC;IACH,CAAC,CAAC;EACN,CAAC,EACD,CAAC1C,MAAM,EAAEC,YAAY,CACvB,CAAC;;EAED;EACA,MAAM6C,UAAU,GAAGzE,WAAW,CAAC,MAAM;IACnC,KAAK,MAAM,CAAC8D,QAAQ,EAAET,OAAO,CAAC,IAAIP,KAAK,CAACK,OAAO,EAAE;MAC/C,IAAIE,OAAO,CAACW,QAAQ,KAAK,IAAI,IAAIX,OAAO,CAACE,KAAK,KAAK,IAAI,EAAE;MACzDF,OAAO,CAACgB,QAAQ,GAAG,CAAC;MACpBR,QAAQ,CAACC,QAAQ,CAAC;IACpB;EACF,CAAC,EAAE,CAACD,QAAQ,CAAC,CAAC;;EAEd;AACF;AACA;AACA;AACA;EACE,MAAMa,cAAc,GAAG1E,WAAW,CAC/B8D,QAAgB,IAAK;IACpB,MAAMa,MAAM,GAAGhC,UAAU,CAACQ,OAAO,EAAEyB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKhB,QAAQ,CAAC;IACjE,IAAI,CAACa,MAAM,EAAE;IACb,MAAMI,MAAM,GAAGtE,oBAAoB,CAACkE,MAAM,CAAC;IAC3C,IAAII,MAAM,KAAK,CAAC,EAAE;IAClB,IAAIA,MAAM,KAAKnC,UAAU,CAACO,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;IAEvDlB,UAAU,CAACO,OAAO,CAAC6B,GAAG,CAAClB,QAAQ,EAAEiB,MAAM,CAAC;IACxC;IACA9B,SAAS,CAACE,OAAO,IAAI,CAAC;IACtBO,OAAO,CAAC,CAAC;IAET,MAAML,OAAO,GAAGP,KAAK,CAACK,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC;IAC3C,IAAIT,OAAO,EAAEA,OAAO,CAACa,MAAM,GAAGa,MAAM,CAAC,KAChC;MACHjC,KAAK,CAACK,OAAO,CAAC6B,GAAG,CAAClB,QAAQ,EAAE;QAC1BI,MAAM,EAAEa,MAAM;QACdf,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CAAC;QACXd,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;IACAM,QAAQ,CAACC,QAAQ,CAAC;EACpB,CAAC,EACD,CAACJ,OAAO,EAAEG,QAAQ,CACpB,CAAC;EAED,MAAMoB,YAAY,GAAGjF,WAAW,CAC9B,MAAOkF,IAAuC,IAAK;IACjD,IAAI,CAACrD,OAAO,EAAE;IACd,MAAMsD,GAAG,GAAIpC,UAAU,CAACI,OAAO,IAAI,CAAE;IACrC;IACA;IACA,MAAMiC,KAAK,GAAGzC,UAAU,CAACQ,OAAO,KAAK,IAAI;IACzC,MAAMkC,OAAO,GAAGH,IAAI,KAAK,MAAM,IAAI,CAACE,KAAK;IACzC,MAAME,QAAQ,GAAGJ,IAAI,KAAK,YAAY,IAAIE,KAAK;IAC/C,IAAIC,OAAO,EAAE7C,aAAa,CAAC,IAAI,CAAC;IAChC,IAAI8C,QAAQ,EAAEhD,UAAU,CAAC,IAAI,CAAC;IAE9B,IAAI;MACF,MAAMiD,IAAI,GAAG,MAAMlF,UAAU,CAACsB,MAAM,EAAEC,YAAY,CAAC;MACnD,IAAI,CAACc,OAAO,CAACS,OAAO,EAAE;MACtB;MACA,IAAIgC,GAAG,IAAInC,UAAU,CAACG,OAAO,EAAE;MAC/BH,UAAU,CAACG,OAAO,GAAGgC,GAAG;MAExBxC,UAAU,CAACQ,OAAO,GAAGoC,IAAI,CAACtD,OAAO;MACjCW,UAAU,CAACO,OAAO,GAAGzC,eAAe,CAACkC,UAAU,CAACO,OAAO,EAAEoC,IAAI,CAACtD,OAAO,CAAC;MACtEQ,QAAQ,CAAC,IAAI,CAAC;MACdiB,OAAO,CAAC,CAAC;;MAET;MACA;MACA,MAAM8B,MAAM,GAAGtC,iBAAiB,CAACC,OAAO;MACxC,IAAIqC,MAAM,KAAK,IAAI,EAAEd,cAAc,CAACc,MAAM,CAAC;MAC3Cf,UAAU,CAAC,CAAC;IACd,CAAC,CAAC,OAAOrD,CAAC,EAAE;MACV,IAAI,CAACsB,OAAO,CAACS,OAAO,EAAE;MACtB;MACA,IAAIR,UAAU,CAACQ,OAAO,KAAK,IAAI,EAAEV,QAAQ,CAACtB,gBAAgB,CAACC,CAAC,CAAC,CAAC;IAChE,CAAC,SAAS;MACR,IAAIsB,OAAO,CAACS,OAAO,EAAE;QACnB,IAAIkC,OAAO,EAAE7C,aAAa,CAAC,KAAK,CAAC;QACjC,IAAI8C,QAAQ,EAAEhD,UAAU,CAAC,KAAK,CAAC;MACjC;IACF;EACF,CAAC,EACD,CAACX,MAAM,EAAEE,OAAO,EAAED,YAAY,EAAE8B,OAAO,EAAEgB,cAAc,EAAED,UAAU,CACrE,CAAC;;EAED;EACA,MAAMgB,UAAU,GAAGzF,WAAW,CAAC,YAAY;IACzC,IAAI,CAAC6B,OAAO,EAAE;IACd,MAAMsD,GAAG,GAAIpC,UAAU,CAACI,OAAO,IAAI,CAAE;IACrC,MAAMuC,KAAK,GAAGzC,SAAS,CAACE,OAAO;IAC/B,IAAI;MACF,MAAMoC,IAAI,GAAG,MAAMjF,cAAc,CAACqB,MAAM,EAAEC,YAAY,CAAC;MACvD,IAAI,CAACc,OAAO,CAACS,OAAO,EAAE;MACtB;MACA;MACA,IAAIF,SAAS,CAACE,OAAO,KAAKuC,KAAK,EAAE;MACjC,IAAIP,GAAG,IAAInC,UAAU,CAACG,OAAO,EAAE;MAC/BH,UAAU,CAACG,OAAO,GAAGgC,GAAG;MACxB/C,cAAc,CAACmD,IAAI,CAACI,YAAY,CAAC;IACnC,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ,CAAC,EAAE,CAAChE,MAAM,EAAEE,OAAO,EAAED,YAAY,CAAC,CAAC;;EAEnC;EACA3B,SAAS,CAAC,MAAM;IACd,KAAKgF,YAAY,CAAC,SAAS,CAAC;EAC9B,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;;EAElB;EACAhF,SAAS,CAAC,MAAM;IACd,IAAI6B,SAAS,EAAE,KAAKmD,YAAY,CAAC,YAAY,CAAC;EAChD,CAAC,EAAE,CAACnD,SAAS,EAAEmD,YAAY,CAAC,CAAC;;EAE7B;EACAhF,SAAS,CAAC,MAAM;IACd,IAAI8B,cAAc,KAAK,IAAI,EAAE2C,cAAc,CAAC3C,cAAc,CAAC;EAC7D,CAAC,EAAE,CAACA,cAAc,EAAE2C,cAAc,CAAC,CAAC;;EAEpC;EACA;EACAzE,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4B,OAAO,EAAE;IACd,MAAM+D,IAAI,GAAG,CAAC9D,SAAS;IACvB,MAAM+D,UAAU,GAAGD,IAAI,GACnB5D,UAAU,GACVD,cAAc,KAAK,IAAI,GACrBlB,cAAc,GACdC,aAAa;IAEnB,MAAMgF,IAAI,GAAGA,CAAA,KAAM;MACjB;MACA;MACA,IAAIF,IAAI,IAAI9C,KAAK,CAACK,OAAO,CAAC4C,IAAI,KAAK,CAAC,EAAE,KAAKN,UAAU,CAAC,CAAC,CAAC,KACnD,KAAKR,YAAY,CAAC,YAAY,CAAC;IACtC,CAAC;;IAED;IACA;IACA,MAAM1B,KAAK,GACTsC,UAAU,GAAG,CAAC,GACVG,WAAW,CAACF,IAAI,EAAEG,IAAI,CAACC,GAAG,CAACL,UAAU,EAAE7E,WAAW,CAAC,CAAC,GACpD,IAAI;IAEV,MAAMmF,WAAW,GAAG/F,QAAQ,CAACgG,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MACjE,IAAIA,KAAK,KAAK,QAAQ,EAAEP,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,MAAM;MACX,IAAIvC,KAAK,KAAK,IAAI,EAAE+C,aAAa,CAAC/C,KAAK,CAAC;MACxC4C,WAAW,CAACI,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CACD1E,OAAO,EACPC,SAAS,EACTC,cAAc,EACdC,UAAU,EACViD,YAAY,EACZQ,UAAU,CACX,CAAC;EAEF,MAAMe,OAAO,GAAGxG,WAAW,CAAC,MAAM;IAChC,KAAKiF,YAAY,CAAC,MAAM,CAAC;EAC3B,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAMwB,MAAM,GAAGzG,WAAW,CAAC,MAAMiF,YAAY,CAAC,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE5E,OAAO;IACLhD,OAAO;IACPE,WAAW;IACXE,OAAO;IACPE,UAAU;IACVd,KAAK;IACL+E,OAAO;IACPC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","useState","AppState","getThreads","getUnreadCount","markRead","SupportApiError","latestAdminMessageAt","pruneWatermarks","reconcileThreads","sumUnread","THREAD_POLL_MS","SHEET_POLL_MS","IDLE_POLL_MS","MIN_POLL_MS","MARK_READ_MAX_ATTEMPTS","MARK_READ_BACKOFF_MS","loadErrorKey","e","offline","status","__DEV__","console","error","useSupportThreads","config","revenuecatId","enabled","sheetOpen","activeThreadId","idlePollMs","threads","setThreads","totalUnread","setTotalUnread","loading","setLoading","refreshing","setRefreshing","errorKey","setErrorKey","serverLanguage","setServerLanguage","languageLoaded","setLanguageLoaded","mounted","rawThreads","watermarks","Map","reads","requestSeq","appliedSeq","readEpoch","activeThreadIdRef","current","timers","attempt","values","timer","clearTimeout","clear","publish","raw","reconciled","sendRead","threadId","get","inFlight","covers","target","queryId","then","attempts","delete","catch","setTimeout","flushReads","markThreadRead","thread","find","t","id","latest","set","fetchThreads","mode","seq","blank","spinner","skeleton","data","language","active","fetchCount","epoch","total_unread","idle","intervalMs","tick","size","setInterval","Math","max","appStateSub","addEventListener","state","clearInterval","remove","refresh","reload"],"sourceRoot":"../../src","sources":["useSupportThreads.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChE,SAASC,QAAQ,QAAQ,cAAc;AACvC,SACEC,UAAU,EACVC,cAAc,EACdC,QAAQ,EACRC,eAAe,QAEV,OAAO;AAGd,SACEC,oBAAoB,EACpBC,eAAe,EACfC,gBAAgB,EAChBC,SAAS,QAEJ,UAAU;;AAEjB;AACA;AACA;AACA;AACA,MAAMC,cAAc,GAAG,KAAK;AAC5B,MAAMC,aAAa,GAAG,MAAM;AAC5B,OAAO,MAAMC,YAAY,GAAG,MAAM;AAClC,MAAMC,WAAW,GAAG,KAAK;;AAEzB;AACA;AACA;AACA,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,oBAAoB,GAAG,KAAK;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAACC,CAAU,EAAa;EAC3C,IAAIA,CAAC,YAAYZ,eAAe,EAAE;IAChC,IAAIY,CAAC,CAACC,OAAO,EAAE,OAAO,eAAe;IACrC,IAAID,CAAC,CAACE,MAAM,KAAK,GAAG,IAAIF,CAAC,CAACE,MAAM,KAAK,GAAG,EAAE;MACxC,IAAIC,OAAO,EAAE;QACXC,OAAO,CAACC,KAAK,CACX,qEAAqE,GACnE,iEAAiE,GACjE,qCACJ,CAAC;MACH;MACA,OAAO,mBAAmB;IAC5B;IACA,IAAIL,CAAC,CAACE,MAAM,KAAK,GAAG,EAAE,OAAO,uBAAuB;EACtD;EACA,OAAO,kBAAkB;AAC3B;AAoCA,OAAO,SAASI,iBAAiBA,CAAC;EAChCC,MAAM;EACNC,YAAY;EACZC,OAAO;EACPC,SAAS;EACTC,cAAc;EACdC;AASF,CAAC,EAAuB;EACtB,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG/B,QAAQ,CAAkB,IAAI,CAAC;EAC7D,MAAM,CAACgC,WAAW,EAAEC,cAAc,CAAC,GAAGjC,QAAQ,CAAC,CAAC,CAAC;EACjD,MAAM,CAACkC,OAAO,EAAEC,UAAU,CAAC,GAAGnC,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACoC,UAAU,EAAEC,aAAa,CAAC,GAAGrC,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACsC,QAAQ,EAAEC,WAAW,CAAC,GAAGvC,QAAQ,CAAmB,IAAI,CAAC;EAChE,MAAM,CAACwC,cAAc,EAAEC,iBAAiB,CAAC,GAAGzC,QAAQ,CAAgB,IAAI,CAAC;EACzE,MAAM,CAAC0C,cAAc,EAAEC,iBAAiB,CAAC,GAAG3C,QAAQ,CAAC,KAAK,CAAC;EAE3D,MAAM4C,OAAO,GAAG7C,MAAM,CAAC,IAAI,CAAC;EAC5B;EACA,MAAM8C,UAAU,GAAG9C,MAAM,CAAkB,IAAI,CAAC;EAChD,MAAM+C,UAAU,GAAG/C,MAAM,CAAiB,IAAIgD,GAAG,CAAC,CAAC,CAAC;EACpD,MAAMC,KAAK,GAAGjD,MAAM,CAAC,IAAIgD,GAAG,CAAsB,CAAC,CAAC;EACpD,MAAME,UAAU,GAAGlD,MAAM,CAAC,CAAC,CAAC;EAC5B,MAAMmD,UAAU,GAAGnD,MAAM,CAAC,CAAC,CAAC;EAC5B,MAAMoD,SAAS,GAAGpD,MAAM,CAAC,CAAC,CAAC;EAC3B,MAAMqD,iBAAiB,GAAGrD,MAAM,CAAgB6B,cAAc,CAAC;EAE/D9B,SAAS,CAAC,MAAM;IACdsD,iBAAiB,CAACC,OAAO,GAAGzB,cAAc;EAC5C,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB9B,SAAS,CAAC,MAAM;IACd8C,OAAO,CAACS,OAAO,GAAG,IAAI;IACtB,MAAMC,MAAM,GAAGN,KAAK,CAACK,OAAO;IAC5B,OAAO,MAAM;MACXT,OAAO,CAACS,OAAO,GAAG,KAAK;MACvB,KAAK,MAAME,OAAO,IAAID,MAAM,CAACE,MAAM,CAAC,CAAC,EAAE;QACrC,IAAID,OAAO,CAACE,KAAK,KAAK,IAAI,EAAEC,YAAY,CAACH,OAAO,CAACE,KAAK,CAAC;MACzD;MACAH,MAAM,CAACK,KAAK,CAAC,CAAC;IAChB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,OAAO,GAAG/D,WAAW,CAAC,MAAM;IAChC,MAAMgE,GAAG,GAAGhB,UAAU,CAACQ,OAAO;IAC9B,IAAIQ,GAAG,KAAK,IAAI,EAAE;IAClB,MAAMC,UAAU,GAAGtD,gBAAgB,CAACqD,GAAG,EAAEf,UAAU,CAACO,OAAO,CAAC;IAC5DtB,UAAU,CAAC+B,UAAU,CAAC;IACtB7B,cAAc,CAACxB,SAAS,CAACqD,UAAU,CAAC,CAAC;EACvC,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA,MAAMC,QAAQ,GAAGlE,WAAW,CACzBmE,QAAgB,IAAK;IACpB,MAAMT,OAAO,GAAGP,KAAK,CAACK,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC;IAC3C,IAAI,CAACT,OAAO,IAAIA,OAAO,CAACW,QAAQ,KAAK,IAAI,EAAE;IAC3C,MAAMC,MAAM,GAAGZ,OAAO,CAACa,MAAM;IAC7Bb,OAAO,CAACW,QAAQ,GAAGC,MAAM;IACzBZ,OAAO,CAACE,KAAK,GAAG,IAAI;IAEpBrD,QAAQ,CAACoB,MAAM,EAAE;MAAE6C,OAAO,EAAEL,QAAQ;MAAEvC;IAAa,CAAC,CAAC,CAClD6C,IAAI,CAAC,MAAM;MACV,IAAI,CAAC1B,OAAO,CAACS,OAAO,EAAE;MACtB,MAAMA,OAAO,GAAGL,KAAK,CAACK,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC;MAC3C,IAAI,CAACX,OAAO,EAAE;MACdA,OAAO,CAACa,QAAQ,GAAG,IAAI;MACvB;MACA;MACA,IAAIb,OAAO,CAACe,MAAM,GAAGD,MAAM,EAAE;QAC3Bd,OAAO,CAACkB,QAAQ,GAAG,CAAC;QACpBR,QAAQ,CAACC,QAAQ,CAAC;QAClB;MACF;MACAhB,KAAK,CAACK,OAAO,CAACmB,MAAM,CAACR,QAAQ,CAAC;MAC9B;MACA;MACAb,SAAS,CAACE,OAAO,IAAI,CAAC;IACxB,CAAC,CAAC,CACDoB,KAAK,CAAC,MAAM;MACX,IAAI,CAAC7B,OAAO,CAACS,OAAO,EAAE;MACtB,MAAMA,OAAO,GAAGL,KAAK,CAACK,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC;MAC3C,IAAI,CAACX,OAAO,EAAE;MACdA,OAAO,CAACa,QAAQ,GAAG,IAAI;MACvBb,OAAO,CAACkB,QAAQ,IAAI,CAAC;MACrB,IAAIlB,OAAO,CAACkB,QAAQ,IAAIzD,sBAAsB,EAAE;MAChDuC,OAAO,CAACI,KAAK,GAAGiB,UAAU,CACxB,MAAMX,QAAQ,CAACC,QAAQ,CAAC,EACxBjD,oBAAoB,GAAG,CAAC,KAAKsC,OAAO,CAACkB,QAAQ,GAAG,CAAC,CACnD,CAAC;IACH,CAAC,CAAC;EACN,CAAC,EACD,CAAC/C,MAAM,EAAEC,YAAY,CACvB,CAAC;;EAED;EACA,MAAMkD,UAAU,GAAG9E,WAAW,CAAC,MAAM;IACnC,KAAK,MAAM,CAACmE,QAAQ,EAAET,OAAO,CAAC,IAAIP,KAAK,CAACK,OAAO,EAAE;MAC/C,IAAIE,OAAO,CAACW,QAAQ,KAAK,IAAI,IAAIX,OAAO,CAACE,KAAK,KAAK,IAAI,EAAE;MACzDF,OAAO,CAACgB,QAAQ,GAAG,CAAC;MACpBR,QAAQ,CAACC,QAAQ,CAAC;IACpB;EACF,CAAC,EAAE,CAACD,QAAQ,CAAC,CAAC;;EAEd;AACF;AACA;AACA;AACA;EACE,MAAMa,cAAc,GAAG/E,WAAW,CAC/BmE,QAAgB,IAAK;IACpB,MAAMa,MAAM,GAAGhC,UAAU,CAACQ,OAAO,EAAEyB,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,EAAE,KAAKhB,QAAQ,CAAC;IACjE,IAAI,CAACa,MAAM,EAAE;IACb,MAAMI,MAAM,GAAG3E,oBAAoB,CAACuE,MAAM,CAAC;IAC3C,IAAII,MAAM,KAAK,CAAC,EAAE;IAClB,IAAIA,MAAM,KAAKnC,UAAU,CAACO,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;IAEvDlB,UAAU,CAACO,OAAO,CAAC6B,GAAG,CAAClB,QAAQ,EAAEiB,MAAM,CAAC;IACxC;IACA9B,SAAS,CAACE,OAAO,IAAI,CAAC;IACtBO,OAAO,CAAC,CAAC;IAET,MAAML,OAAO,GAAGP,KAAK,CAACK,OAAO,CAACY,GAAG,CAACD,QAAQ,CAAC;IAC3C,IAAIT,OAAO,EAAEA,OAAO,CAACa,MAAM,GAAGa,MAAM,CAAC,KAChC;MACHjC,KAAK,CAACK,OAAO,CAAC6B,GAAG,CAAClB,QAAQ,EAAE;QAC1BI,MAAM,EAAEa,MAAM;QACdf,QAAQ,EAAE,IAAI;QACdK,QAAQ,EAAE,CAAC;QACXd,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;IACAM,QAAQ,CAACC,QAAQ,CAAC;EACpB,CAAC,EACD,CAACJ,OAAO,EAAEG,QAAQ,CACpB,CAAC;EAED,MAAMoB,YAAY,GAAGtF,WAAW,CAC9B,MAAOuF,IAAuC,IAAK;IACjD,IAAI,CAAC1D,OAAO,EAAE;IACd,MAAM2D,GAAG,GAAIpC,UAAU,CAACI,OAAO,IAAI,CAAE;IACrC;IACA;IACA,MAAMiC,KAAK,GAAGzC,UAAU,CAACQ,OAAO,KAAK,IAAI;IACzC,MAAMkC,OAAO,GAAGH,IAAI,KAAK,MAAM,IAAI,CAACE,KAAK;IACzC,MAAME,QAAQ,GAAGJ,IAAI,KAAK,YAAY,IAAIE,KAAK;IAC/C,IAAIC,OAAO,EAAElD,aAAa,CAAC,IAAI,CAAC;IAChC,IAAImD,QAAQ,EAAErD,UAAU,CAAC,IAAI,CAAC;IAE9B,IAAI;MACF,MAAMsD,IAAI,GAAG,MAAMvF,UAAU,CAACsB,MAAM,EAAEC,YAAY,CAAC;MACnD,IAAI,CAACmB,OAAO,CAACS,OAAO,EAAE;MACtB;MACA,IAAIgC,GAAG,IAAInC,UAAU,CAACG,OAAO,EAAE;MAC/BH,UAAU,CAACG,OAAO,GAAGgC,GAAG;MAExBxC,UAAU,CAACQ,OAAO,GAAGoC,IAAI,CAAC3D,OAAO;MACjCgB,UAAU,CAACO,OAAO,GAAG9C,eAAe,CAACuC,UAAU,CAACO,OAAO,EAAEoC,IAAI,CAAC3D,OAAO,CAAC;MACtES,WAAW,CAAC,IAAI,CAAC;MACjBE,iBAAiB,CAACgD,IAAI,CAACC,QAAQ,CAAC;MAChC/C,iBAAiB,CAAC,IAAI,CAAC;MACvBiB,OAAO,CAAC,CAAC;;MAET;MACA;MACA,MAAM+B,MAAM,GAAGvC,iBAAiB,CAACC,OAAO;MACxC,IAAIsC,MAAM,KAAK,IAAI,EAAEf,cAAc,CAACe,MAAM,CAAC;MAC3ChB,UAAU,CAAC,CAAC;IACd,CAAC,CAAC,OAAO1D,CAAC,EAAE;MACV,IAAI,CAAC2B,OAAO,CAACS,OAAO,EAAE;MACtB;MACA,IAAIR,UAAU,CAACQ,OAAO,KAAK,IAAI,EAAEd,WAAW,CAACvB,YAAY,CAACC,CAAC,CAAC,CAAC;IAC/D,CAAC,SAAS;MACR,IAAI2B,OAAO,CAACS,OAAO,EAAE;QACnB,IAAIkC,OAAO,EAAElD,aAAa,CAAC,KAAK,CAAC;QACjC,IAAImD,QAAQ,EAAErD,UAAU,CAAC,KAAK,CAAC;MACjC;IACF;EACF,CAAC,EACD,CAACX,MAAM,EAAEE,OAAO,EAAED,YAAY,EAAEmC,OAAO,EAAEgB,cAAc,EAAED,UAAU,CACrE,CAAC;;EAED;EACA,MAAMiB,UAAU,GAAG/F,WAAW,CAAC,YAAY;IACzC,IAAI,CAAC6B,OAAO,EAAE;IACd,MAAM2D,GAAG,GAAIpC,UAAU,CAACI,OAAO,IAAI,CAAE;IACrC,MAAMwC,KAAK,GAAG1C,SAAS,CAACE,OAAO;IAC/B,IAAI;MACF,MAAMoC,IAAI,GAAG,MAAMtF,cAAc,CAACqB,MAAM,EAAEC,YAAY,CAAC;MACvD,IAAI,CAACmB,OAAO,CAACS,OAAO,EAAE;MACtB;MACA;MACA,IAAIF,SAAS,CAACE,OAAO,KAAKwC,KAAK,EAAE;MACjC,IAAIR,GAAG,IAAInC,UAAU,CAACG,OAAO,EAAE;MAC/BH,UAAU,CAACG,OAAO,GAAGgC,GAAG;MACxBpD,cAAc,CAACwD,IAAI,CAACK,YAAY,CAAC;IACnC,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ,CAAC,EAAE,CAACtE,MAAM,EAAEE,OAAO,EAAED,YAAY,CAAC,CAAC;;EAEnC;EACA3B,SAAS,CAAC,MAAM;IACd,KAAKqF,YAAY,CAAC,SAAS,CAAC;EAC9B,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;;EAElB;EACArF,SAAS,CAAC,MAAM;IACd,IAAI6B,SAAS,EAAE,KAAKwD,YAAY,CAAC,YAAY,CAAC;EAChD,CAAC,EAAE,CAACxD,SAAS,EAAEwD,YAAY,CAAC,CAAC;;EAE7B;EACArF,SAAS,CAAC,MAAM;IACd,IAAI8B,cAAc,KAAK,IAAI,EAAEgD,cAAc,CAAChD,cAAc,CAAC;EAC7D,CAAC,EAAE,CAACA,cAAc,EAAEgD,cAAc,CAAC,CAAC;;EAEpC;EACA;EACA9E,SAAS,CAAC,MAAM;IACd,IAAI,CAAC4B,OAAO,EAAE;IACd,MAAMqE,IAAI,GAAG,CAACpE,SAAS;IACvB,MAAMqE,UAAU,GAAGD,IAAI,GACnBlE,UAAU,GACVD,cAAc,KAAK,IAAI,GACrBlB,cAAc,GACdC,aAAa;IAEnB,MAAMsF,IAAI,GAAGA,CAAA,KAAM;MACjB;MACA;MACA,IAAIF,IAAI,IAAI/C,KAAK,CAACK,OAAO,CAAC6C,IAAI,KAAK,CAAC,EAAE,KAAKN,UAAU,CAAC,CAAC,CAAC,KACnD,KAAKT,YAAY,CAAC,YAAY,CAAC;IACtC,CAAC;;IAED;IACA;IACA,MAAM1B,KAAK,GACTuC,UAAU,GAAG,CAAC,GACVG,WAAW,CAACF,IAAI,EAAEG,IAAI,CAACC,GAAG,CAACL,UAAU,EAAEnF,WAAW,CAAC,CAAC,GACpD,IAAI;IAEV,MAAMyF,WAAW,GAAGrG,QAAQ,CAACsG,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MACjE,IAAIA,KAAK,KAAK,QAAQ,EAAEP,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,OAAO,MAAM;MACX,IAAIxC,KAAK,KAAK,IAAI,EAAEgD,aAAa,CAAChD,KAAK,CAAC;MACxC6C,WAAW,CAACI,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CACDhF,OAAO,EACPC,SAAS,EACTC,cAAc,EACdC,UAAU,EACVsD,YAAY,EACZS,UAAU,CACX,CAAC;EAEF,MAAMe,OAAO,GAAG9G,WAAW,CAAC,MAAM;IAChC,KAAKsF,YAAY,CAAC,MAAM,CAAC;EAC3B,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAElB,MAAMyB,MAAM,GAAG/G,WAAW,CAAC,MAAMsF,YAAY,CAAC,YAAY,CAAC,EAAE,CAACA,YAAY,CAAC,CAAC;EAE5E,OAAO;IACLrD,OAAO;IACPE,WAAW;IACXE,OAAO;IACPE,UAAU;IACVE,QAAQ;IACRE,cAAc;IACdE,cAAc;IACdiE,OAAO;IACPC;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,33 +1,48 @@
1
1
  "use strict";
2
2
 
3
+ // Dates and times follow the language the user picked, not the device's:
4
+ // a sheet that says "Traduction…" above "2 days ago" reads as broken.
5
+
3
6
  /** "2h ago" relative time — mirrors the web dashboard's formatting. */
4
- export function relativeTime(iso) {
7
+ export function relativeTime(iso, strings) {
5
8
  const then = new Date(iso).getTime();
6
9
  const seconds = Math.max(0, Math.floor((Date.now() - then) / 1000));
7
- if (seconds < 60) return 'just now';
10
+ if (seconds < 60) return strings.t('time.justNow');
8
11
  const minutes = Math.floor(seconds / 60);
9
- if (minutes < 60) return `${minutes}m ago`;
12
+ if (minutes < 60) return strings.t('time.minutes', {
13
+ count: minutes
14
+ });
10
15
  const hours = Math.floor(minutes / 60);
11
- if (hours < 24) return `${hours}h ago`;
16
+ if (hours < 24) return strings.t('time.hours', {
17
+ count: hours
18
+ });
12
19
  const days = Math.floor(hours / 24);
13
- if (days < 7) return `${days}d ago`;
20
+ if (days < 7) return strings.t('time.days', {
21
+ count: days
22
+ });
14
23
  const weeks = Math.floor(days / 7);
15
- if (weeks < 5) return `${weeks}w ago`;
24
+ if (weeks < 5) return strings.t('time.weeks', {
25
+ count: weeks
26
+ });
16
27
  const months = Math.floor(days / 30);
17
- if (months < 12) return `${months}mo ago`;
18
- return `${Math.floor(days / 365)}y ago`;
28
+ if (months < 12) return strings.t('time.months', {
29
+ count: months
30
+ });
31
+ return strings.t('time.years', {
32
+ count: Math.floor(days / 365)
33
+ });
19
34
  }
20
- export function formatDate(iso) {
21
- return new Date(iso).toLocaleDateString(undefined, {
35
+ export function formatDate(iso, strings) {
36
+ return new Date(iso).toLocaleDateString(strings.locale, {
22
37
  year: 'numeric',
23
38
  month: 'short',
24
39
  day: 'numeric'
25
40
  });
26
41
  }
27
42
 
28
- /** "14:32" in the device's locale — shown under a group of messages. */
29
- export function formatTime(iso) {
30
- return new Date(iso).toLocaleTimeString(undefined, {
43
+ /** "14:32" in the user's locale — shown under a group of messages. */
44
+ export function formatTime(iso, strings) {
45
+ return new Date(iso).toLocaleTimeString(strings.locale, {
31
46
  hour: 'numeric',
32
47
  minute: '2-digit'
33
48
  });
@@ -39,13 +54,13 @@ export function isSameDay(a, b) {
39
54
  }
40
55
 
41
56
  /** Date separator label: Today / Yesterday / "Mon, 5 Jan". */
42
- export function dayLabel(iso) {
57
+ export function dayLabel(iso, strings) {
43
58
  const now = new Date();
44
- if (isSameDay(iso, now.toISOString())) return 'Today';
59
+ if (isSameDay(iso, now.toISOString())) return strings.t('time.today');
45
60
  const yesterday = new Date(now.getTime() - 86_400_000);
46
- if (isSameDay(iso, yesterday.toISOString())) return 'Yesterday';
61
+ if (isSameDay(iso, yesterday.toISOString())) return strings.t('time.yesterday');
47
62
  const date = new Date(iso);
48
- return date.toLocaleDateString(undefined, {
63
+ return date.toLocaleDateString(strings.locale, {
49
64
  weekday: 'short',
50
65
  month: 'short',
51
66
  day: 'numeric',
@@ -1 +1 @@
1
- {"version":3,"names":["relativeTime","iso","then","Date","getTime","seconds","Math","max","floor","now","minutes","hours","days","weeks","months","formatDate","toLocaleDateString","undefined","year","month","day","formatTime","toLocaleTimeString","hour","minute","isSameDay","a","b","first","second","getFullYear","getMonth","getDate","dayLabel","toISOString","yesterday","date","weekday","validateProps","props","appName","length","apiKey","supabaseUrl","test","user","name","isPaid","revenuecatId","appVersion"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["relativeTime","iso","strings","then","Date","getTime","seconds","Math","max","floor","now","t","minutes","count","hours","days","weeks","months","formatDate","toLocaleDateString","locale","year","month","day","formatTime","toLocaleTimeString","hour","minute","isSameDay","a","b","first","second","getFullYear","getMonth","getDate","dayLabel","toISOString","yesterday","date","weekday","validateProps","props","appName","length","apiKey","supabaseUrl","test","user","name","isPaid","revenuecatId","appVersion"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,13 @@ export declare function registerPush(config: ApiConfig, input: {
27
27
  }): Promise<{
28
28
  ok: boolean;
29
29
  }>;
30
+ /** Records the language the user reads and writes support messages in. */
31
+ export declare function setLanguage(config: ApiConfig, input: {
32
+ revenuecatId: string;
33
+ language: string;
34
+ }): Promise<{
35
+ language: string;
36
+ }>;
30
37
  export declare function submitQuery(config: ApiConfig, input: {
31
38
  queryType: QueryType;
32
39
  message: string;
@@ -34,6 +41,7 @@ export declare function submitQuery(config: ApiConfig, input: {
34
41
  isPaid: boolean;
35
42
  revenuecatId: string;
36
43
  appVersion: string;
44
+ language: string;
37
45
  }): Promise<{
38
46
  query_id: string;
39
47
  }>;
@@ -41,6 +49,7 @@ export declare function postMessage(config: ApiConfig, input: {
41
49
  queryId: string;
42
50
  revenuecatId: string;
43
51
  message: string;
52
+ language: string;
44
53
  }): Promise<{
45
54
  message_id: string;
46
55
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,UAAQ;CAMpE;AA2CD,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnC;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IACL,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CAW1B;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IACL,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,GACA,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAa/B;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChE,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CASjC;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ1B"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,SAAS,EACT,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,UAAQ;CAMpE;AA2CD,wBAAgB,UAAU,CACxB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CAK1B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAKnC;AAED,0EAA0E;AAC1E,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IACL,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CAW1B;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAQ/B;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IACL,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAe/B;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACA,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAUjC;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,CAAC,CAQ1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SupportButton.d.ts","sourceRoot":"","sources":["../../../src/components/SupportButton.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAa,kBAAkB,EAAU,MAAM,UAAU,CAAC;AActE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,sCA4LtD"}
1
+ {"version":3,"file":"SupportButton.d.ts","sourceRoot":"","sources":["../../../src/components/SupportButton.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAa,kBAAkB,EAAU,MAAM,UAAU,CAAC;AAgBtE;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,sCAmTtD"}
@@ -24,6 +24,11 @@ export declare function CheckIcon({ color, size }: {
24
24
  color: string;
25
25
  size?: number;
26
26
  }): import("react").JSX.Element;
27
+ /** Globe: circle, equator, and a pill standing in for the meridian curve. */
28
+ export declare function GlobeIcon({ color, size }: {
29
+ color: string;
30
+ size?: number;
31
+ }): import("react").JSX.Element;
27
32
  /** Send arrow: a stem plus a chevron head, both centered on the same axis. */
28
33
  export declare function ArrowUpIcon({ color, size }: {
29
34
  color: string;
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/icons.tsx"],"names":[],"mappings":"AAOA,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BA0B9E;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAyBpF;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAyBrF;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAS,EACT,SAAmB,GACpB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACvC,+BAeA;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAc/E;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAc/E;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAsCjF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,IAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,+BA4CA"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/icons.tsx"],"names":[],"mappings":"AAOA,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BA0B9E;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAyBpF;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAyBrF;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAS,EACT,SAAmB,GACpB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACvC,+BAeA;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAc/E;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAc/E;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAiC/E;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+BAsCjF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,IAAS,GACV,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,+BA4CA"}
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type StyleProp, type TextStyle, type ViewStyle } from 'react-native';
3
+ import type { Translator } from '../i18n';
3
4
  import type { SupportTheme } from '../theme';
4
5
  import type { QueryStatus, QueryType } from '../types';
5
6
  export declare function typeIcon(type: QueryType, color: string, size?: number): ReactNode;
@@ -12,9 +13,10 @@ export declare function TypeGlyph({ type, theme, size, }: {
12
13
  size?: number;
13
14
  }): import("react").JSX.Element;
14
15
  /** Status dot + label — same visual language as the dashboard. */
15
- export declare function StatusIndicator({ status, theme, }: {
16
+ export declare function StatusIndicator({ status, theme, strings, }: {
16
17
  status: QueryStatus;
17
18
  theme: SupportTheme;
19
+ strings: Translator;
18
20
  }): import("react").JSX.Element;
19
21
  /** Pressable row with the standard press wash. */
20
22
  export declare function PressableRow({ onPress, children, theme, style, accessibilityLabel, }: {
@@ -64,10 +66,11 @@ export declare function EmptyState({ message, hint, theme, icon, }: {
64
66
  icon?: ReactNode;
65
67
  }): import("react").JSX.Element;
66
68
  /** Inline failure state with retry — errors are designed, not toasted. */
67
- export declare function ErrorState({ message, onRetry, theme, }: {
69
+ export declare function ErrorState({ message, onRetry, theme, strings, }: {
68
70
  message: string;
69
71
  onRetry: () => void;
70
72
  theme: SupportTheme;
73
+ strings: Translator;
71
74
  }): import("react").JSX.Element;
72
75
  /** Pulsing block matching final layout dimensions. */
73
76
  export declare function SkeletonBlock({ width, height, theme, radius, style, }: {
@@ -84,8 +87,9 @@ export declare const textStyles: {
84
87
  secondary: (theme: SupportTheme) => TextStyle;
85
88
  meta: (theme: SupportTheme) => TextStyle;
86
89
  };
87
- export declare function TypeChipView({ type, theme, }: {
90
+ export declare function TypeChipView({ type, theme, strings, }: {
88
91
  type: QueryType;
89
92
  theme: SupportTheme;
93
+ strings: Translator;
90
94
  }): import("react").JSX.Element;
91
95
  //# sourceMappingURL=primitives.d.ts.map