@appsupportkit/support-sdk 0.2.0 → 0.4.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.
- package/lib/commonjs/api.js +61 -12
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js +1 -1
- package/lib/commonjs/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/components/LauncherButton.js +4 -4
- package/lib/commonjs/components/LauncherButton.js.map +1 -1
- package/lib/commonjs/components/SupportButton.js +192 -66
- package/lib/commonjs/components/SupportButton.js.map +1 -1
- package/lib/commonjs/components/icons.js +117 -110
- package/lib/commonjs/components/icons.js.map +1 -1
- package/lib/commonjs/components/primitives.js +3 -154
- package/lib/commonjs/components/primitives.js.map +1 -1
- package/lib/commonjs/components/screens/ChatScreen.js +487 -0
- package/lib/commonjs/components/screens/ChatScreen.js.map +1 -0
- package/lib/commonjs/components/screens/LanguageScreen.js +150 -0
- package/lib/commonjs/components/screens/LanguageScreen.js.map +1 -0
- package/lib/commonjs/i18n/index.js +101 -0
- package/lib/commonjs/i18n/index.js.map +1 -0
- package/lib/commonjs/i18n/languages.js +95 -0
- package/lib/commonjs/i18n/languages.js.map +1 -0
- package/lib/commonjs/i18n/strings/de.js +75 -0
- package/lib/commonjs/i18n/strings/de.js.map +1 -0
- package/lib/commonjs/i18n/strings/en.js +91 -0
- package/lib/commonjs/i18n/strings/en.js.map +1 -0
- package/lib/commonjs/i18n/strings/es.js +75 -0
- package/lib/commonjs/i18n/strings/es.js.map +1 -0
- package/lib/commonjs/i18n/strings/fr.js +75 -0
- package/lib/commonjs/i18n/strings/fr.js.map +1 -0
- package/lib/commonjs/i18n/strings/hi.js +75 -0
- package/lib/commonjs/i18n/strings/hi.js.map +1 -0
- package/lib/commonjs/i18n/strings/it.js +75 -0
- package/lib/commonjs/i18n/strings/it.js.map +1 -0
- package/lib/commonjs/i18n/strings/ja.js +75 -0
- package/lib/commonjs/i18n/strings/ja.js.map +1 -0
- package/lib/commonjs/i18n/strings/ko.js +75 -0
- package/lib/commonjs/i18n/strings/ko.js.map +1 -0
- package/lib/commonjs/i18n/strings/nl.js +75 -0
- package/lib/commonjs/i18n/strings/nl.js.map +1 -0
- package/lib/commonjs/i18n/strings/pl.js +75 -0
- package/lib/commonjs/i18n/strings/pl.js.map +1 -0
- package/lib/commonjs/i18n/strings/pt.js +75 -0
- package/lib/commonjs/i18n/strings/pt.js.map +1 -0
- package/lib/commonjs/i18n/strings/ru.js +75 -0
- package/lib/commonjs/i18n/strings/ru.js.map +1 -0
- package/lib/commonjs/i18n/strings/tr.js +75 -0
- package/lib/commonjs/i18n/strings/tr.js.map +1 -0
- package/lib/commonjs/i18n/strings/zh.js +75 -0
- package/lib/commonjs/i18n/strings/zh.js.map +1 -0
- package/lib/commonjs/index.js +38 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/push.js +78 -3
- package/lib/commonjs/push.js.map +1 -1
- package/lib/commonjs/review.js +54 -0
- package/lib/commonjs/review.js.map +1 -0
- package/lib/commonjs/theme.js +142 -23
- package/lib/commonjs/theme.js.map +1 -1
- package/lib/commonjs/types.js +32 -3
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useSupportThreads.js +41 -24
- package/lib/commonjs/useSupportThreads.js.map +1 -1
- package/lib/commonjs/utils.js +25 -30
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/version.js +13 -0
- package/lib/commonjs/version.js.map +1 -0
- package/lib/module/api.js +57 -10
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/BottomSheet.js +1 -1
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/LauncherButton.js +5 -5
- package/lib/module/components/LauncherButton.js.map +1 -1
- package/lib/module/components/SupportButton.js +199 -73
- package/lib/module/components/SupportButton.js.map +1 -1
- package/lib/module/components/icons.js +115 -107
- package/lib/module/components/icons.js.map +1 -1
- package/lib/module/components/primitives.js +5 -147
- package/lib/module/components/primitives.js.map +1 -1
- package/lib/module/components/screens/ChatScreen.js +485 -0
- package/lib/module/components/screens/ChatScreen.js.map +1 -0
- package/lib/module/components/screens/LanguageScreen.js +147 -0
- package/lib/module/components/screens/LanguageScreen.js.map +1 -0
- package/lib/module/i18n/index.js +56 -0
- package/lib/module/i18n/index.js.map +1 -0
- package/lib/module/i18n/languages.js +88 -0
- package/lib/module/i18n/languages.js.map +1 -0
- package/lib/module/i18n/strings/de.js +71 -0
- package/lib/module/i18n/strings/de.js.map +1 -0
- package/lib/module/i18n/strings/en.js +87 -0
- package/lib/module/i18n/strings/en.js.map +1 -0
- package/lib/module/i18n/strings/es.js +71 -0
- package/lib/module/i18n/strings/es.js.map +1 -0
- package/lib/module/i18n/strings/fr.js +71 -0
- package/lib/module/i18n/strings/fr.js.map +1 -0
- package/lib/module/i18n/strings/hi.js +71 -0
- package/lib/module/i18n/strings/hi.js.map +1 -0
- package/lib/module/i18n/strings/it.js +71 -0
- package/lib/module/i18n/strings/it.js.map +1 -0
- package/lib/module/i18n/strings/ja.js +71 -0
- package/lib/module/i18n/strings/ja.js.map +1 -0
- package/lib/module/i18n/strings/ko.js +71 -0
- package/lib/module/i18n/strings/ko.js.map +1 -0
- package/lib/module/i18n/strings/nl.js +71 -0
- package/lib/module/i18n/strings/nl.js.map +1 -0
- package/lib/module/i18n/strings/pl.js +71 -0
- package/lib/module/i18n/strings/pl.js.map +1 -0
- package/lib/module/i18n/strings/pt.js +71 -0
- package/lib/module/i18n/strings/pt.js.map +1 -0
- package/lib/module/i18n/strings/ru.js +71 -0
- package/lib/module/i18n/strings/ru.js.map +1 -0
- package/lib/module/i18n/strings/tr.js +71 -0
- package/lib/module/i18n/strings/tr.js.map +1 -0
- package/lib/module/i18n/strings/zh.js +71 -0
- package/lib/module/i18n/strings/zh.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/push.js +77 -3
- package/lib/module/push.js.map +1 -1
- package/lib/module/review.js +48 -0
- package/lib/module/review.js.map +1 -0
- package/lib/module/theme.js +141 -23
- package/lib/module/theme.js.map +1 -1
- package/lib/module/types.js +32 -3
- package/lib/module/types.js.map +1 -1
- package/lib/module/useSupportThreads.js +41 -24
- package/lib/module/useSupportThreads.js.map +1 -1
- package/lib/module/utils.js +24 -29
- package/lib/module/utils.js.map +1 -1
- package/lib/module/version.js +9 -0
- package/lib/module/version.js.map +1 -0
- package/lib/typescript/api.d.ts +40 -10
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/components/SupportButton.d.ts +2 -2
- package/lib/typescript/components/SupportButton.d.ts.map +1 -1
- package/lib/typescript/components/icons.d.ts +10 -14
- package/lib/typescript/components/icons.d.ts.map +1 -1
- package/lib/typescript/components/primitives.d.ts +3 -30
- package/lib/typescript/components/primitives.d.ts.map +1 -1
- package/lib/typescript/components/screens/ChatScreen.d.ts +21 -0
- package/lib/typescript/components/screens/ChatScreen.d.ts.map +1 -0
- package/lib/typescript/components/screens/LanguageScreen.d.ts +30 -0
- package/lib/typescript/components/screens/LanguageScreen.d.ts.map +1 -0
- package/lib/typescript/i18n/index.d.ts +15 -0
- package/lib/typescript/i18n/index.d.ts.map +1 -0
- package/lib/typescript/i18n/languages.d.ts +36 -0
- package/lib/typescript/i18n/languages.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/de.d.ts +3 -0
- package/lib/typescript/i18n/strings/de.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/en.d.ts +86 -0
- package/lib/typescript/i18n/strings/en.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/es.d.ts +3 -0
- package/lib/typescript/i18n/strings/es.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/fr.d.ts +3 -0
- package/lib/typescript/i18n/strings/fr.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/hi.d.ts +3 -0
- package/lib/typescript/i18n/strings/hi.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/it.d.ts +3 -0
- package/lib/typescript/i18n/strings/it.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/ja.d.ts +3 -0
- package/lib/typescript/i18n/strings/ja.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/ko.d.ts +3 -0
- package/lib/typescript/i18n/strings/ko.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/nl.d.ts +3 -0
- package/lib/typescript/i18n/strings/nl.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/pl.d.ts +3 -0
- package/lib/typescript/i18n/strings/pl.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/pt.d.ts +3 -0
- package/lib/typescript/i18n/strings/pt.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/ru.d.ts +3 -0
- package/lib/typescript/i18n/strings/ru.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/tr.d.ts +3 -0
- package/lib/typescript/i18n/strings/tr.d.ts.map +1 -0
- package/lib/typescript/i18n/strings/zh.d.ts +3 -0
- package/lib/typescript/i18n/strings/zh.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +4 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/push.d.ts +14 -2
- package/lib/typescript/push.d.ts.map +1 -1
- package/lib/typescript/review.d.ts +15 -0
- package/lib/typescript/review.d.ts.map +1 -0
- package/lib/typescript/theme.d.ts +23 -5
- package/lib/typescript/theme.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +86 -13
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/useSupportThreads.d.ts +20 -4
- package/lib/typescript/useSupportThreads.d.ts.map +1 -1
- package/lib/typescript/utils.d.ts +8 -6
- package/lib/typescript/utils.d.ts.map +1 -1
- package/lib/typescript/version.d.ts +7 -0
- package/lib/typescript/version.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/api.ts +75 -23
- package/src/components/BottomSheet.tsx +1 -1
- package/src/components/LauncherButton.tsx +4 -4
- package/src/components/SupportButton.tsx +244 -86
- package/src/components/icons.tsx +96 -101
- package/src/components/primitives.tsx +9 -161
- package/src/components/screens/ChatScreen.tsx +541 -0
- package/src/components/screens/LanguageScreen.tsx +172 -0
- package/src/i18n/index.ts +81 -0
- package/src/i18n/languages.ts +106 -0
- package/src/i18n/strings/de.ts +81 -0
- package/src/i18n/strings/en.ts +97 -0
- package/src/i18n/strings/es.ts +80 -0
- package/src/i18n/strings/fr.ts +81 -0
- package/src/i18n/strings/hi.ts +80 -0
- package/src/i18n/strings/it.ts +80 -0
- package/src/i18n/strings/ja.ts +80 -0
- package/src/i18n/strings/ko.ts +79 -0
- package/src/i18n/strings/nl.ts +80 -0
- package/src/i18n/strings/pl.ts +80 -0
- package/src/i18n/strings/pt.ts +80 -0
- package/src/i18n/strings/ru.ts +80 -0
- package/src/i18n/strings/tr.ts +80 -0
- package/src/i18n/strings/zh.ts +78 -0
- package/src/index.tsx +13 -0
- package/src/push.ts +100 -2
- package/src/review.ts +54 -0
- package/src/theme.ts +182 -28
- package/src/types.ts +85 -13
- package/src/useSupportThreads.ts +61 -28
- package/src/utils.ts +27 -29
- package/src/version.ts +6 -0
- package/lib/commonjs/components/screens/ComposeScreen.js +0 -228
- package/lib/commonjs/components/screens/ComposeScreen.js.map +0 -1
- package/lib/commonjs/components/screens/HomeScreen.js +0 -286
- package/lib/commonjs/components/screens/HomeScreen.js.map +0 -1
- package/lib/commonjs/components/screens/ThreadScreen.js +0 -327
- package/lib/commonjs/components/screens/ThreadScreen.js.map +0 -1
- package/lib/module/components/screens/ComposeScreen.js +0 -224
- package/lib/module/components/screens/ComposeScreen.js.map +0 -1
- package/lib/module/components/screens/HomeScreen.js +0 -282
- package/lib/module/components/screens/HomeScreen.js.map +0 -1
- package/lib/module/components/screens/ThreadScreen.js +0 -325
- package/lib/module/components/screens/ThreadScreen.js.map +0 -1
- package/lib/typescript/components/screens/ComposeScreen.d.ts +0 -10
- package/lib/typescript/components/screens/ComposeScreen.d.ts.map +0 -1
- package/lib/typescript/components/screens/HomeScreen.d.ts +0 -14
- package/lib/typescript/components/screens/HomeScreen.d.ts.map +0 -1
- package/lib/typescript/components/screens/ThreadScreen.d.ts +0 -10
- package/lib/typescript/components/screens/ThreadScreen.d.ts.map +0 -1
- package/src/components/screens/ComposeScreen.tsx +0 -233
- package/src/components/screens/HomeScreen.tsx +0 -287
- package/src/components/screens/ThreadScreen.tsx +0 -397
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","useState","Animated","Easing","Modal","PanResponder","Pressable","useWindowDimensions","View","SafeAreaProvider","SafeAreaView","jsx","_jsx","jsxs","_jsxs","SLIDE_MS","FADE_MS","BottomSheet","visible","onClose","theme","children","height","windowHeight","sheetHeight","Math","min","rendered","setRendered","translateY","Value","current","backdrop","shown","setValue","parallel","timing","toValue","duration","easing","bezier","useNativeDriver","out","cubic","start","motion","slow","in","finished","requestClose","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_e","g","abs","dy","onPanResponderMove","onPanResponderRelease","vy","transparent","animationType","onRequestClose","statusBarTranslucent","style","flex","justifyContent","position","top","right","bottom","left","backgroundColor","opacity","onPress","accessibilityLabel","colors","
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","Animated","Easing","Modal","PanResponder","Pressable","useWindowDimensions","View","SafeAreaProvider","SafeAreaView","jsx","_jsx","jsxs","_jsxs","SLIDE_MS","FADE_MS","BottomSheet","visible","onClose","theme","children","height","windowHeight","sheetHeight","Math","min","rendered","setRendered","translateY","Value","current","backdrop","shown","setValue","parallel","timing","toValue","duration","easing","bezier","useNativeDriver","out","cubic","start","motion","slow","in","finished","requestClose","panResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_e","g","abs","dy","onPanResponderMove","onPanResponderRelease","vy","transparent","animationType","onRequestClose","statusBarTranslucent","style","flex","justifyContent","position","top","right","bottom","left","backgroundColor","opacity","onPress","accessibilityLabel","colors","sheet","borderTopLeftRadius","radii","borderTopRightRadius","borderWidth","borderBottomWidth","borderColor","border","overflow","transform","shadows","panHandlers","alignItems","paddingTop","paddingBottom","width","borderRadius","borderStrong","edges"],"sourceRoot":"../../../src","sources":["components/BottomSheet.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// bordered button in a header, and a bare icon in a toolbar.
|
|
7
7
|
import { useEffect, useRef } from 'react';
|
|
8
8
|
import { Animated, Easing, Pressable, Text, View } from 'react-native';
|
|
9
|
-
import {
|
|
9
|
+
import { ConversationMark } from './icons';
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
const PRESS_SCALE = 0.93;
|
|
12
12
|
|
|
@@ -57,7 +57,7 @@ export function LauncherButton({
|
|
|
57
57
|
const soft = variant === 'soft';
|
|
58
58
|
const fill = solid ? theme.colors.accent : soft ? theme.colors.surface : 'transparent';
|
|
59
59
|
const markColor = solid ? theme.colors.accentForeground : soft ? theme.colors.accent : theme.launcher.minimalMark;
|
|
60
|
-
//
|
|
60
|
+
// The gap between the bubbles is cut in whatever sits behind the mark —
|
|
61
61
|
// the button's own fill, or the app background when there isn't one.
|
|
62
62
|
const markHoleColor = solid ? theme.colors.accent : soft ? theme.colors.surface : theme.colors.bg;
|
|
63
63
|
// Dark: a hairline separates the fill from a near-black app background.
|
|
@@ -76,7 +76,7 @@ export function LauncherButton({
|
|
|
76
76
|
const badgeBg = solid ? theme.colors.accentForeground : theme.colors.accent;
|
|
77
77
|
const badgeFg = solid ? theme.colors.accent : theme.colors.accentForeground;
|
|
78
78
|
const height = label ? Math.max(44, size * 0.84) : size;
|
|
79
|
-
const markSize = Math.round(size * (label ? 0.
|
|
79
|
+
const markSize = Math.round(size * (label ? 0.4 : 0.46));
|
|
80
80
|
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
81
81
|
style: [{
|
|
82
82
|
transform: [{
|
|
@@ -128,9 +128,9 @@ export function LauncherButton({
|
|
|
128
128
|
...border,
|
|
129
129
|
...(variant === 'minimal' ? null : theme.shadows.launcher)
|
|
130
130
|
},
|
|
131
|
-
children: [/*#__PURE__*/_jsx(
|
|
131
|
+
children: [/*#__PURE__*/_jsx(ConversationMark, {
|
|
132
132
|
color: markColor,
|
|
133
|
-
|
|
133
|
+
holeColor: markHoleColor,
|
|
134
134
|
size: markSize
|
|
135
135
|
}), label !== undefined && /*#__PURE__*/_jsx(Text, {
|
|
136
136
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","Animated","Easing","Pressable","Text","View","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","Animated","Easing","Pressable","Text","View","ConversationMark","jsx","_jsx","jsxs","_jsxs","PRESS_SCALE","badgeLabel","unread","String","LauncherButton","theme","variant","size","label","style","onPress","scale","Value","current","pulse","previousUnread","setValue","animation","loop","timing","toValue","duration","easing","out","ease","useNativeDriver","iterations","start","stop","undefined","press","to","motion","base","fast","cubic","solid","soft","fill","colors","accent","surface","markColor","accentForeground","launcher","minimalMark","markHoleColor","bg","border","borderWidth","borderColor","solidRing","badgeBg","badgeFg","height","Math","max","markSize","round","transform","pointerEvents","children","position","top","left","width","right","borderRadius","radii","pill","backgroundColor","opacity","interpolate","inputRange","outputRange","onPressIn","onPressOut","hitSlop","accessibilityRole","accessibilityLabel","paddingHorizontal","flexDirection","alignItems","justifyContent","gap","shadows","color","holeColor","fontSize","fontWeight","letterSpacing","textPrimary","minWidth","badge","lineHeight","fontVariant"],"sourceRoot":"../../../src","sources":["components/LauncherButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,41 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useMemo, useState } from 'react';
|
|
4
|
-
import { Text, View } from 'react-native';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
4
|
+
import { Platform, Text, useColorScheme, View } from 'react-native';
|
|
5
|
+
import { registerPush, registerUser, reviewOpened, sendMessage, setLanguage as setLanguageRequest, SupportApiError } from '../api';
|
|
6
|
+
import { createTranslator } from '../i18n';
|
|
7
|
+
import { asLanguage, DEFAULT_LANGUAGE, deviceLanguage } from '../i18n/languages';
|
|
8
|
+
import { ensurePushPermission, isPushAvailable, onSupportNotificationTap } from '../push';
|
|
9
|
+
import { openStoreReview, storeLinks, storePlatform } from '../review';
|
|
10
|
+
import { themeFor } from '../theme';
|
|
8
11
|
import { IDLE_POLL_MS, useSupportThreads } from '../useSupportThreads';
|
|
9
|
-
import { validateProps } from '../utils';
|
|
12
|
+
import { userPlan, validateProps } from '../utils';
|
|
10
13
|
import { BottomSheet } from './BottomSheet';
|
|
11
14
|
import { LauncherButton } from './LauncherButton';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
15
|
+
import { ChatScreen } from './screens/ChatScreen';
|
|
16
|
+
import { LanguageScreen } from './screens/LanguageScreen';
|
|
17
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
18
|
/**
|
|
17
19
|
* The single entry point of the SDK: a launcher with an unread badge that
|
|
18
|
-
* opens the support bottom sheet.
|
|
19
|
-
* handled by useSupportThreads.
|
|
20
|
+
* opens the support chat in a bottom sheet. Conversations, polling, and read
|
|
21
|
+
* receipts are handled by useSupportThreads.
|
|
20
22
|
*/
|
|
21
23
|
export function SupportButton(props) {
|
|
22
24
|
const validationError = validateProps(props);
|
|
23
|
-
|
|
25
|
+
|
|
26
|
+
// "system" (the default) follows the host app's appearance and re-renders
|
|
27
|
+
// when it changes.
|
|
28
|
+
const colorScheme = useColorScheme();
|
|
29
|
+
const themeName = props.theme === 'light' || props.theme === 'dark' ? props.theme : colorScheme === 'dark' ? 'dark' : 'light';
|
|
30
|
+
// Picked down to one string first, so an inline `{ light, dark }` object
|
|
31
|
+
// doesn't rebuild the theme on every render.
|
|
32
|
+
const perModeAccent = typeof props.accentColor === 'object' && props.accentColor !== null;
|
|
33
|
+
const accent = perModeAccent ? props.accentColor[themeName] : props.accentColor;
|
|
34
|
+
const theme = useMemo(() => themeFor(themeName, accent, !perModeAccent), [themeName, accent, perModeAccent]);
|
|
24
35
|
const config = useMemo(() => ({
|
|
25
36
|
supabaseUrl: props.supabaseUrl,
|
|
26
37
|
apiKey: props.apiKey,
|
|
27
38
|
appName: props.appName
|
|
28
39
|
}), [props.supabaseUrl, props.apiKey, props.appName]);
|
|
29
40
|
const [sheetOpen, setSheetOpen] = useState(false);
|
|
30
|
-
const [screen, setScreen] = useState(
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
const [screen, setScreen] = useState('chat');
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* What the user picked, once they have picked. Until then the sheet is
|
|
45
|
+
* rendered in the host app's hint or the device's language, which is a
|
|
46
|
+
* guess — hence `chosen`, which is what decides whether to ask.
|
|
47
|
+
*/
|
|
48
|
+
const [chosen, setChosen] = useState(null);
|
|
33
49
|
const {
|
|
34
50
|
threads,
|
|
35
51
|
totalUnread,
|
|
36
52
|
loading,
|
|
37
|
-
|
|
38
|
-
|
|
53
|
+
errorKey,
|
|
54
|
+
serverLanguage,
|
|
55
|
+
languageLoaded,
|
|
56
|
+
store,
|
|
39
57
|
refresh,
|
|
40
58
|
reload
|
|
41
59
|
} = useSupportThreads({
|
|
@@ -43,9 +61,31 @@ export function SupportButton(props) {
|
|
|
43
61
|
revenuecatId: props.user.revenuecatId,
|
|
44
62
|
enabled: validationError === null,
|
|
45
63
|
sheetOpen,
|
|
46
|
-
|
|
64
|
+
// Not while the first-run language prompt covers it: nothing behind
|
|
65
|
+
// the prompt has been seen, so nothing may be marked read.
|
|
66
|
+
chatVisible: sheetOpen && screen === 'chat' && chosen !== null,
|
|
47
67
|
idlePollMs: props.pollIntervalMs ?? IDLE_POLL_MS
|
|
48
68
|
});
|
|
69
|
+
const [draftLanguage, setDraftLanguage] = useState(null);
|
|
70
|
+
const [savingLanguage, setSavingLanguage] = useState(false);
|
|
71
|
+
const [languageError, setLanguageError] = useState(null);
|
|
72
|
+
|
|
73
|
+
// A preference saved on another device (or an earlier install) wins over
|
|
74
|
+
// any local guess, and answers the "have they chosen?" question for free.
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
const stored = asLanguage(serverLanguage);
|
|
77
|
+
if (stored !== null) setChosen(stored);
|
|
78
|
+
}, [serverLanguage]);
|
|
79
|
+
const fallbackLanguage = props.defaultLanguage ?? deviceLanguage() ?? DEFAULT_LANGUAGE;
|
|
80
|
+
const language = chosen ?? fallbackLanguage;
|
|
81
|
+
const strings = useMemo(() => createTranslator(draftLanguage ?? language), [draftLanguage, language]);
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Ask once, on first open — but only once the server has told us whether
|
|
85
|
+
* this user already answered. Asking before then would show the picker to
|
|
86
|
+
* someone who chose months ago on another device.
|
|
87
|
+
*/
|
|
88
|
+
const mustChooseLanguage = languageLoaded && chosen === null;
|
|
49
89
|
|
|
50
90
|
/**
|
|
51
91
|
* Asks for notification permission the moment the sheet opens, then
|
|
@@ -67,10 +107,60 @@ export function SupportButton(props) {
|
|
|
67
107
|
// Push is an enhancement — never surfaced to the user as an error.
|
|
68
108
|
}
|
|
69
109
|
}, [config, props.user.revenuecatId, props.expoProjectId, validationError]);
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
110
|
+
const {
|
|
111
|
+
name: userName,
|
|
112
|
+
revenuecatId,
|
|
113
|
+
appVersion
|
|
114
|
+
} = props.user;
|
|
115
|
+
const plan = userPlan(props.user);
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Reports the user on load, and whenever who they are changes, so the team
|
|
119
|
+
* can find and message them before they ever open support. Refreshes the
|
|
120
|
+
* push token too when permission was already granted — never prompting:
|
|
121
|
+
* the OS prompt only appears once the user opens support.
|
|
122
|
+
*/
|
|
123
|
+
useEffect(() => {
|
|
124
|
+
if (validationError !== null) return;
|
|
125
|
+
registerUser(config, {
|
|
126
|
+
revenuecatId,
|
|
127
|
+
user: {
|
|
128
|
+
name: userName,
|
|
129
|
+
plan,
|
|
130
|
+
appVersion,
|
|
131
|
+
platform: storePlatform()
|
|
132
|
+
}
|
|
133
|
+
}).catch(() => {
|
|
134
|
+
// Best effort; the next load reports again.
|
|
135
|
+
});
|
|
136
|
+
if (!isPushAvailable) return;
|
|
137
|
+
void (async () => {
|
|
138
|
+
const registration = await ensurePushPermission(props.expoProjectId, {
|
|
139
|
+
prompt: false
|
|
140
|
+
});
|
|
141
|
+
if (registration.status !== 'granted') return;
|
|
142
|
+
await registerPush(config, {
|
|
143
|
+
revenuecatId,
|
|
144
|
+
permissionStatus: registration.status,
|
|
145
|
+
expoPushToken: registration.token,
|
|
146
|
+
asked: false
|
|
147
|
+
});
|
|
148
|
+
})().catch(() => {});
|
|
149
|
+
}, [config, validationError, revenuecatId, userName, plan, appVersion, props.expoProjectId]);
|
|
150
|
+
|
|
151
|
+
// A tapped support-reply notification opens the chat. If the threads
|
|
152
|
+
// haven't loaded yet (cold start), it fills in as soon as they do.
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
if (validationError !== null) return;
|
|
155
|
+
return onSupportNotificationTap(() => {
|
|
156
|
+
setDraftLanguage(null);
|
|
157
|
+
setLanguageError(null);
|
|
158
|
+
setScreen('chat');
|
|
159
|
+
setSheetOpen(true);
|
|
73
160
|
});
|
|
161
|
+
}, [validationError]);
|
|
162
|
+
function openSheet() {
|
|
163
|
+
setScreen('chat');
|
|
74
164
|
setSheetOpen(true);
|
|
75
165
|
// The OS prompt appears right as the sheet opens; if the user declines,
|
|
76
166
|
// everything below carries on exactly as before.
|
|
@@ -78,9 +168,9 @@ export function SupportButton(props) {
|
|
|
78
168
|
}
|
|
79
169
|
function closeSheet() {
|
|
80
170
|
setSheetOpen(false);
|
|
81
|
-
setScreen(
|
|
82
|
-
|
|
83
|
-
|
|
171
|
+
setScreen('chat');
|
|
172
|
+
setDraftLanguage(null);
|
|
173
|
+
setLanguageError(null);
|
|
84
174
|
}
|
|
85
175
|
if (validationError !== null) {
|
|
86
176
|
// Dev-mode: loud and actionable. Production: render nothing rather than
|
|
@@ -107,33 +197,52 @@ export function SupportButton(props) {
|
|
|
107
197
|
}
|
|
108
198
|
function writeErrorMessage(e) {
|
|
109
199
|
if (e instanceof SupportApiError) {
|
|
110
|
-
if (e.status === 429) return '
|
|
111
|
-
if (e.offline) return
|
|
200
|
+
if (e.status === 429) return strings.t('error.rateLimited');
|
|
201
|
+
if (e.offline) return strings.t('error.offline');
|
|
112
202
|
}
|
|
113
|
-
return
|
|
203
|
+
return strings.t('error.sendFailed');
|
|
114
204
|
}
|
|
115
|
-
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Persists the picked language and leaves the picker.
|
|
208
|
+
*
|
|
209
|
+
* A failed save keeps the user on the screen with a retry: getting this
|
|
210
|
+
* wrong means every message they write is translated from the wrong
|
|
211
|
+
* language, which is worse than one more tap.
|
|
212
|
+
*/
|
|
213
|
+
async function confirmLanguage() {
|
|
214
|
+
const next = draftLanguage ?? language;
|
|
215
|
+
setSavingLanguage(true);
|
|
216
|
+
setLanguageError(null);
|
|
116
217
|
try {
|
|
117
|
-
await
|
|
118
|
-
queryType: type,
|
|
119
|
-
message,
|
|
120
|
-
userName: props.user.name,
|
|
121
|
-
isPaid: props.user.isPaid,
|
|
218
|
+
await setLanguageRequest(config, {
|
|
122
219
|
revenuecatId: props.user.revenuecatId,
|
|
123
|
-
|
|
220
|
+
language: next
|
|
124
221
|
});
|
|
222
|
+
setChosen(next);
|
|
223
|
+
setDraftLanguage(null);
|
|
224
|
+
setScreen('chat');
|
|
225
|
+
// On a change, the server re-queues existing replies for translation
|
|
226
|
+
// into the new language; they arrive over the next poll or two.
|
|
125
227
|
void reload();
|
|
126
|
-
return null;
|
|
127
228
|
} catch (e) {
|
|
128
|
-
|
|
229
|
+
setLanguageError(e instanceof SupportApiError && e.offline ? strings.t('error.offline') : strings.t('lang.saveFailed'));
|
|
230
|
+
} finally {
|
|
231
|
+
setSavingLanguage(false);
|
|
129
232
|
}
|
|
130
233
|
}
|
|
131
|
-
async function handleSend(
|
|
234
|
+
async function handleSend(message) {
|
|
132
235
|
try {
|
|
133
|
-
await
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
236
|
+
await sendMessage(config, {
|
|
237
|
+
revenuecatId,
|
|
238
|
+
message,
|
|
239
|
+
language,
|
|
240
|
+
user: {
|
|
241
|
+
name: userName,
|
|
242
|
+
plan,
|
|
243
|
+
appVersion,
|
|
244
|
+
platform: storePlatform()
|
|
245
|
+
}
|
|
137
246
|
});
|
|
138
247
|
await reload();
|
|
139
248
|
return null;
|
|
@@ -141,23 +250,37 @@ export function SupportButton(props) {
|
|
|
141
250
|
return writeErrorMessage(e);
|
|
142
251
|
}
|
|
143
252
|
}
|
|
144
|
-
const
|
|
145
|
-
const
|
|
253
|
+
const reviewLinks = storeLinks(store);
|
|
254
|
+
const reviewLabel = reviewLinks === null ? null : strings.t(Platform.OS === 'ios' ? 'review.appStore' : 'review.playStore');
|
|
255
|
+
|
|
256
|
+
/** Opens the store's review page and lets the team know it was tapped. */
|
|
257
|
+
function openReview(messageId) {
|
|
258
|
+
if (reviewLinks === null) return;
|
|
259
|
+
void openStoreReview(reviewLinks);
|
|
260
|
+
reviewOpened(config, {
|
|
261
|
+
revenuecatId,
|
|
262
|
+
messageId
|
|
263
|
+
}).catch(() => {
|
|
264
|
+
// The receipt is for the dashboard; the user already has the store.
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
const languagePicker = /*#__PURE__*/_jsx(LanguageScreen, {
|
|
146
268
|
theme: theme,
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
269
|
+
strings: strings,
|
|
270
|
+
selected: draftLanguage ?? language,
|
|
271
|
+
onSelect: setDraftLanguage,
|
|
272
|
+
onConfirm: () => void confirmLanguage()
|
|
273
|
+
// No way back on first run: there is nothing behind it yet, so the
|
|
274
|
+
// only exit is choosing — or closing the sheet, which asks again.
|
|
275
|
+
,
|
|
276
|
+
onBack: mustChooseLanguage ? undefined : () => {
|
|
277
|
+
setDraftLanguage(null);
|
|
278
|
+
setLanguageError(null);
|
|
279
|
+
setScreen('chat');
|
|
280
|
+
},
|
|
281
|
+
onDismiss: mustChooseLanguage ? closeSheet : undefined,
|
|
282
|
+
saving: savingLanguage,
|
|
283
|
+
error: languageError
|
|
161
284
|
});
|
|
162
285
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
163
286
|
children: [/*#__PURE__*/_jsx(LauncherButton, {
|
|
@@ -168,25 +291,28 @@ export function SupportButton(props) {
|
|
|
168
291
|
label: props.label,
|
|
169
292
|
style: props.style,
|
|
170
293
|
onPress: openSheet
|
|
171
|
-
}), /*#__PURE__*/
|
|
294
|
+
}), /*#__PURE__*/_jsx(BottomSheet, {
|
|
172
295
|
visible: sheetOpen,
|
|
173
296
|
onClose: closeSheet,
|
|
174
297
|
theme: theme,
|
|
175
|
-
children:
|
|
298
|
+
children: mustChooseLanguage || screen === 'language' ? languagePicker : /*#__PURE__*/_jsx(ChatScreen, {
|
|
176
299
|
theme: theme,
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
300
|
+
strings: strings,
|
|
301
|
+
language: language,
|
|
302
|
+
threads: threads,
|
|
303
|
+
loading: loading,
|
|
304
|
+
error: errorKey === null ? null : strings.t(errorKey),
|
|
305
|
+
onRetry: refresh,
|
|
306
|
+
onSend: handleSend,
|
|
307
|
+
onChangeLanguage: () => {
|
|
308
|
+
setDraftLanguage(language);
|
|
309
|
+
setLanguageError(null);
|
|
310
|
+
setScreen('language');
|
|
311
|
+
},
|
|
312
|
+
onClose: closeSheet,
|
|
313
|
+
reviewLabel: reviewLabel,
|
|
314
|
+
onOpenReview: openReview
|
|
315
|
+
})
|
|
190
316
|
})]
|
|
191
317
|
});
|
|
192
318
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useMemo","useState","Text","View","postMessage","registerPush","submitQuery","SupportApiError","ensurePushPermission","isPushAvailable","resolveTheme","IDLE_POLL_MS","useSupportThreads","validateProps","BottomSheet","LauncherButton","ComposeScreen","HomeScreen","ThreadScreen","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SupportButton","props","validationError","theme","accentColor","config","supabaseUrl","apiKey","appName","sheetOpen","setSheetOpen","screen","setScreen","name","threads","totalUnread","loading","refreshing","error","refresh","reload","revenuecatId","user","enabled","activeThreadId","threadId","idlePollMs","pollIntervalMs","syncPushPermission","registration","expoProjectId","permissionStatus","status","expoPushToken","token","asked","openSheet","closeSheet","__DEV__","console","style","padding","borderWidth","borderColor","colors","statusDanger","borderRadius","radii","control","children","fontSize","color","writeErrorMessage","e","offline","handleSubmit","type","message","queryType","userName","isPaid","appVersion","handleSend","queryId","activeThread","find","t","id","home","onRefresh","onCompose","onOpenThread","thread","onClose","unread","variant","size","label","onPress","visible","onBack","onSubmit","onSend"],"sourceRoot":"../../../src","sources":["components/SupportButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useState","Platform","Text","useColorScheme","View","registerPush","registerUser","reviewOpened","sendMessage","setLanguage","setLanguageRequest","SupportApiError","createTranslator","asLanguage","DEFAULT_LANGUAGE","deviceLanguage","ensurePushPermission","isPushAvailable","onSupportNotificationTap","openStoreReview","storeLinks","storePlatform","themeFor","IDLE_POLL_MS","useSupportThreads","userPlan","validateProps","BottomSheet","LauncherButton","ChatScreen","LanguageScreen","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SupportButton","props","validationError","colorScheme","themeName","theme","perModeAccent","accentColor","accent","config","supabaseUrl","apiKey","appName","sheetOpen","setSheetOpen","screen","setScreen","chosen","setChosen","threads","totalUnread","loading","errorKey","serverLanguage","languageLoaded","store","refresh","reload","revenuecatId","user","enabled","chatVisible","idlePollMs","pollIntervalMs","draftLanguage","setDraftLanguage","savingLanguage","setSavingLanguage","languageError","setLanguageError","stored","fallbackLanguage","defaultLanguage","language","strings","mustChooseLanguage","syncPushPermission","registration","expoProjectId","permissionStatus","status","expoPushToken","token","asked","name","userName","appVersion","plan","platform","catch","prompt","openSheet","closeSheet","__DEV__","console","error","style","padding","borderWidth","borderColor","colors","statusDanger","borderRadius","radii","control","children","fontSize","color","writeErrorMessage","e","t","offline","confirmLanguage","next","handleSend","message","reviewLinks","reviewLabel","OS","openReview","messageId","languagePicker","selected","onSelect","onConfirm","onBack","undefined","onDismiss","saving","unread","variant","size","label","onPress","visible","onClose","onRetry","onSend","onChangeLanguage","onOpenReview"],"sourceRoot":"../../../src","sources":["components/SupportButton.tsx"],"mappings":"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","ignoreList":[]}
|