@appsupportkit/support-sdk 0.1.0 → 0.1.2
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 +29 -0
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/SupportButton.js +81 -6
- package/lib/commonjs/components/SupportButton.js.map +1 -1
- package/lib/commonjs/components/screens/ComposeScreen.js +7 -7
- package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -1
- package/lib/commonjs/components/screens/HomeScreen.js +5 -1
- package/lib/commonjs/components/screens/HomeScreen.js.map +1 -1
- package/lib/commonjs/components/screens/ThreadScreen.js +7 -7
- package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/push.js +103 -0
- package/lib/commonjs/push.js.map +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/api.js +27 -0
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/SupportButton.js +83 -8
- package/lib/module/components/SupportButton.js.map +1 -1
- package/lib/module/components/screens/ComposeScreen.js +7 -7
- package/lib/module/components/screens/ComposeScreen.js.map +1 -1
- package/lib/module/components/screens/HomeScreen.js +5 -1
- package/lib/module/components/screens/HomeScreen.js.map +1 -1
- package/lib/module/components/screens/ThreadScreen.js +7 -7
- package/lib/module/components/screens/ThreadScreen.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/push.js +98 -0
- package/lib/module/push.js.map +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/api.d.ts +17 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/components/SupportButton.d.ts.map +1 -1
- package/lib/typescript/components/screens/ComposeScreen.d.ts +2 -2
- package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -1
- package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -1
- package/lib/typescript/components/screens/ThreadScreen.d.ts +2 -2
- package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/push.d.ts +18 -0
- package/lib/typescript/push.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +18 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +7 -1
- package/src/api.ts +41 -1
- package/src/components/SupportButton.tsx +108 -10
- package/src/components/screens/ComposeScreen.tsx +10 -10
- package/src/components/screens/HomeScreen.tsx +3 -1
- package/src/components/screens/ThreadScreen.tsx +10 -10
- package/src/index.tsx +2 -0
- package/src/push.ts +97 -0
- package/src/types.ts +18 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["loadNotifications","mod","require","getPermissionsAsync","notifications","isPushAvailable","exports","normalizeStatus","status","ensurePushPermission","expoProjectId","asked","token","current","canAskAgain","requested","requestPermissionsAsync","getExpoPushTokenAsync","projectId","undefined","data"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AASA,SAASA,iBAAiBA,CAAA,EAAmC;EAC3D,IAAI;IACF;IACA,MAAMC,GAAG,GAAGC,OAAO,CAAC,oBAAoB,CAA4B;IACpE,OAAO,OAAOD,GAAG,EAAEE,mBAAmB,KAAK,UAAU,GAAGF,GAAG,GAAG,IAAI;EACpE,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,MAAMG,aAAa,GAAGJ,iBAAiB,CAAC,CAAC;;AAEzC;AACO,MAAMK,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAGD,aAAa,KAAK,IAAI;AASrD,SAASG,eAAeA,CAACC,MAAc,EAAwB;EAC7D,IAAIA,MAAM,KAAK,SAAS,EAAE,OAAO,SAAS;EAC1C,IAAIA,MAAM,KAAK,QAAQ,EAAE,OAAO,QAAQ;EACxC,OAAO,cAAc;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeC,oBAAoBA,CACxCC,aAAsB,EACK;EAC3B,IAAI,CAACN,aAAa,EAAE;IAClB,OAAO;MAAEI,MAAM,EAAE,cAAc;MAAEG,KAAK,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAK,CAAC;EAC9D;EAEA,IAAI;IACF,MAAMC,OAAO,GAAG,MAAMT,aAAa,CAACD,mBAAmB,CAAC,CAAC;IACzD,IAAIK,MAAM,GAAGD,eAAe,CAACM,OAAO,CAACL,MAAM,CAAC;IAC5C,IAAIG,KAAK,GAAG,KAAK;;IAEjB;IACA;IACA,IAAIH,MAAM,KAAK,cAAc,IAAIK,OAAO,CAACC,WAAW,EAAE;MACpD,MAAMC,SAAS,GAAG,MAAMX,aAAa,CAACY,uBAAuB,CAAC,CAAC;MAC/DR,MAAM,GAAGD,eAAe,CAACQ,SAAS,CAACP,MAAM,CAAC;MAC1CG,KAAK,GAAG,IAAI;IACd;IAEA,IAAIH,MAAM,KAAK,SAAS,EAAE;MACxB,OAAO;QAAEA,MAAM;QAAEG,KAAK;QAAEC,KAAK,EAAE;MAAK,CAAC;IACvC;;IAEA;IACA;IACA;IACA,IAAI;MACF,MAAMA,KAAK,GAAG,MAAMR,aAAa,CAACa,qBAAqB,CACrDP,aAAa,GAAG;QAAEQ,SAAS,EAAER;MAAc,CAAC,GAAGS,SACjD,CAAC;MACD,OAAO;QAAEX,MAAM;QAAEG,KAAK;QAAEC,KAAK,EAAEA,KAAK,CAACQ;MAAK,CAAC;IAC7C,CAAC,CAAC,MAAM;MACN,OAAO;QAAEZ,MAAM;QAAEG,KAAK;QAAEC,KAAK,EAAE;MAAK,CAAC;IACvC;EACF,CAAC,CAAC,MAAM;IACN,OAAO;MAAEJ,MAAM,EAAE,cAAc;MAAEG,KAAK,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAK,CAAC;EAC9D;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["QUERY_TYPE_LABEL","exports","feedback","feature_request","bug_report","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["QUERY_TYPE_LABEL","exports","feedback","feature_request","bug_report","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;AAiFO,MAAMA,gBAA2C,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EACzDE,QAAQ,EAAE,UAAU;EACpBC,eAAe,EAAE,iBAAiB;EAClCC,UAAU,EAAE;AACd,CAAC;AAEM,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,EAAE;AAC3B,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,GAAG","ignoreList":[]}
|
package/lib/module/api.js
CHANGED
|
@@ -48,6 +48,33 @@ export function getThreads(config, revenuecatId) {
|
|
|
48
48
|
method: 'GET'
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Badge-only endpoint (~18 bytes) used for idle polling, instead of
|
|
54
|
+
* re-fetching every thread and message just to check for new replies.
|
|
55
|
+
*/
|
|
56
|
+
export function getUnreadCount(config, revenuecatId) {
|
|
57
|
+
const params = new URLSearchParams({
|
|
58
|
+
revenuecat_id: revenuecatId
|
|
59
|
+
});
|
|
60
|
+
return request(config, `get-unread-count?${params.toString()}`, {
|
|
61
|
+
method: 'GET'
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Reports the OS notification permission outcome (including denials). */
|
|
66
|
+
export function registerPush(config, input) {
|
|
67
|
+
return request(config, 'register-push', {
|
|
68
|
+
method: 'POST',
|
|
69
|
+
body: JSON.stringify({
|
|
70
|
+
app_name: config.appName,
|
|
71
|
+
revenuecat_id: input.revenuecatId,
|
|
72
|
+
permission_status: input.permissionStatus,
|
|
73
|
+
expo_push_token: input.expoPushToken,
|
|
74
|
+
asked: input.asked
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
}
|
|
51
78
|
export function submitQuery(config, input) {
|
|
52
79
|
return request(config, 'submit-query', {
|
|
53
80
|
method: 'POST',
|
package/lib/module/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SupportApiError","Error","constructor","message","status","offline","name","request","config","path","init","url","supabaseUrl","replace","response","fetch","headers","apiKey","payload","json","ok","error","getThreads","revenuecatId","params","URLSearchParams","revenuecat_id","toString","method","
|
|
1
|
+
{"version":3,"names":["SupportApiError","Error","constructor","message","status","offline","name","request","config","path","init","url","supabaseUrl","replace","response","fetch","headers","apiKey","payload","json","ok","error","getThreads","revenuecatId","params","URLSearchParams","revenuecat_id","toString","method","getUnreadCount","registerPush","input","body","JSON","stringify","app_name","appName","permission_status","permissionStatus","expo_push_token","expoPushToken","asked","submitQuery","query_type","queryType","user_name","userName","is_paid","isPaid","app_version","appVersion","postMessage","query_id","queryId","markRead"],"sourceRoot":"../../src","sources":["api.ts"],"mappings":";;AAAA;AACA;;AAaA,OAAO,MAAMA,eAAe,SAASC,KAAK,CAAC;EAEzC;;EAGAC,WAAWA,CAACC,OAAe,EAAEC,MAAqB,EAAEC,OAAO,GAAG,KAAK,EAAE;IACnE,KAAK,CAACF,OAAO,CAAC;IACd,IAAI,CAACG,IAAI,GAAG,iBAAiB;IAC7B,IAAI,CAACF,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,OAAO,GAAGA,OAAO;EACxB;AACF;AAEA,eAAeE,OAAOA,CACpBC,MAAiB,EACjBC,IAAY,EACZC,IAAiB,EACL;EACZ,MAAMC,GAAG,GAAG,GAAGH,MAAM,CAACI,WAAW,CAACC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiBJ,IAAI,EAAE;EAC3E,IAAIK,QAAkB;EACtB,IAAI;IACFA,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;MAC1B,GAAGD,IAAI;MACPM,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;QAClC,WAAW,EAAER,MAAM,CAACS,MAAM;QAC1B,GAAGP,IAAI,CAACM;MACV;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,MAAM;IACN,MAAM,IAAIhB,eAAe,CAAC,wBAAwB,EAAE,IAAI,EAAE,IAAI,CAAC;EACjE;EAEA,IAAIkB,OAAgB,GAAG,IAAI;EAC3B,IAAI;IACFA,OAAO,GAAG,MAAMJ,QAAQ,CAACK,IAAI,CAAC,CAAC;EACjC,CAAC,CAAC,MAAM;IACN;EAAA;EAGF,IAAI,CAACL,QAAQ,CAACM,EAAE,EAAE;IAChB,MAAMjB,OAAO,GACXe,OAAO,KAAK,IAAI,IAChB,OAAOA,OAAO,KAAK,QAAQ,IAC3B,OAAO,IAAIA,OAAO,IAClB,OAAQA,OAAO,CAAwBG,KAAK,KAAK,QAAQ,GACpDH,OAAO,CAAuBG,KAAK,GACpC,mBAAmBP,QAAQ,CAACV,MAAM,GAAG;IAC3C,MAAM,IAAIJ,eAAe,CAACG,OAAO,EAAEW,QAAQ,CAACV,MAAM,CAAC;EACrD;EAEA,OAAOc,OAAO;AAChB;AAEA,OAAO,SAASI,UAAUA,CACxBd,MAAiB,EACjBe,YAAoB,EACM;EAC1B,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAAC;IAAEC,aAAa,EAAEH;EAAa,CAAC,CAAC;EACnE,OAAOhB,OAAO,CAAkBC,MAAM,EAAE,eAAegB,MAAM,CAACG,QAAQ,CAAC,CAAC,EAAE,EAAE;IAC1EC,MAAM,EAAE;EACV,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,cAAcA,CAC5BrB,MAAiB,EACjBe,YAAoB,EACe;EACnC,MAAMC,MAAM,GAAG,IAAIC,eAAe,CAAC;IAAEC,aAAa,EAAEH;EAAa,CAAC,CAAC;EACnE,OAAOhB,OAAO,CAACC,MAAM,EAAE,oBAAoBgB,MAAM,CAACG,QAAQ,CAAC,CAAC,EAAE,EAAE;IAC9DC,MAAM,EAAE;EACV,CAAC,CAAC;AACJ;;AAEA;AACA,OAAO,SAASE,YAAYA,CAC1BtB,MAAiB,EACjBuB,KAKC,EACyB;EAC1B,OAAOxB,OAAO,CAACC,MAAM,EAAE,eAAe,EAAE;IACtCoB,MAAM,EAAE,MAAM;IACdI,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACnBC,QAAQ,EAAE3B,MAAM,CAAC4B,OAAO;MACxBV,aAAa,EAAEK,KAAK,CAACR,YAAY;MACjCc,iBAAiB,EAAEN,KAAK,CAACO,gBAAgB;MACzCC,eAAe,EAAER,KAAK,CAACS,aAAa;MACpCC,KAAK,EAAEV,KAAK,CAACU;IACf,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,WAAWA,CACzBlC,MAAiB,EACjBuB,KAOC,EAC8B;EAC/B,OAAOxB,OAAO,CAACC,MAAM,EAAE,cAAc,EAAE;IACrCoB,MAAM,EAAE,MAAM;IACdI,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACnBC,QAAQ,EAAE3B,MAAM,CAAC4B,OAAO;MACxBO,UAAU,EAAEZ,KAAK,CAACa,SAAS;MAC3BzC,OAAO,EAAE4B,KAAK,CAAC5B,OAAO;MACtB0C,SAAS,EAAEd,KAAK,CAACe,QAAQ;MACzBC,OAAO,EAAEhB,KAAK,CAACiB,MAAM;MACrBtB,aAAa,EAAEK,KAAK,CAACR,YAAY;MACjC0B,WAAW,EAAElB,KAAK,CAACmB;IACrB,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,WAAWA,CACzB3C,MAAiB,EACjBuB,KAAiE,EAChC;EACjC,OAAOxB,OAAO,CAACC,MAAM,EAAE,cAAc,EAAE;IACrCoB,MAAM,EAAE,MAAM;IACdI,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACnBkB,QAAQ,EAAErB,KAAK,CAACsB,OAAO;MACvB3B,aAAa,EAAEK,KAAK,CAACR,YAAY;MACjCpB,OAAO,EAAE4B,KAAK,CAAC5B;IACjB,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,SAASmD,QAAQA,CACtB9C,MAAiB,EACjBuB,KAAgD,EACtB;EAC1B,OAAOxB,OAAO,CAACC,MAAM,EAAE,WAAW,EAAE;IAClCoB,MAAM,EAAE,MAAM;IACdI,IAAI,EAAEC,IAAI,CAACC,SAAS,CAAC;MACnBkB,QAAQ,EAAErB,KAAK,CAACsB,OAAO;MACvB3B,aAAa,EAAEK,KAAK,CAACR;IACvB,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
-
import { Pressable, Text, View } from 'react-native';
|
|
5
|
-
import { getThreads, markRead, postMessage, submitQuery, SupportApiError } from '../api';
|
|
4
|
+
import { AppState, Pressable, Text, View } from 'react-native';
|
|
5
|
+
import { getThreads, getUnreadCount, markRead, postMessage, registerPush, submitQuery, SupportApiError } from '../api';
|
|
6
|
+
import { ensurePushPermission, isPushAvailable } from '../push';
|
|
6
7
|
import { resolveTheme } from '../theme';
|
|
7
8
|
import { validateProps } from '../utils';
|
|
8
9
|
import { BottomSheet } from './BottomSheet';
|
|
@@ -11,6 +12,15 @@ import { ComposeScreen } from './screens/ComposeScreen';
|
|
|
11
12
|
import { HomeScreen } from './screens/HomeScreen';
|
|
12
13
|
import { ThreadScreen } from './screens/ThreadScreen';
|
|
13
14
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
15
|
+
// Poll cadence by context: fast where latency is felt (staring at a thread
|
|
16
|
+
// waiting for a reply), slow when the sheet is closed — and the idle tick
|
|
17
|
+
// uses the count-only endpoint, so it costs ~18 bytes instead of the full
|
|
18
|
+
// thread list.
|
|
19
|
+
const THREAD_POLL_MS = 5_000;
|
|
20
|
+
const SHEET_POLL_MS = 15_000;
|
|
21
|
+
const IDLE_POLL_MS = 60_000;
|
|
22
|
+
const MIN_POLL_MS = 3_000;
|
|
23
|
+
|
|
14
24
|
/**
|
|
15
25
|
* The single entry point of the SDK: a button with an unread badge that
|
|
16
26
|
* opens the support bottom sheet. Polls get-threads on mount and whenever
|
|
@@ -56,11 +66,66 @@ export function SupportButton(props) {
|
|
|
56
66
|
}
|
|
57
67
|
}, [config, props.user.revenuecatId, validationError]);
|
|
58
68
|
|
|
69
|
+
/** Badge-only refresh — the cheap endpoint used while idle. */
|
|
70
|
+
const refreshBadge = useCallback(async () => {
|
|
71
|
+
if (validationError) return;
|
|
72
|
+
try {
|
|
73
|
+
const data = await getUnreadCount(config, props.user.revenuecatId);
|
|
74
|
+
if (mounted.current) setTotalUnread(data.total_unread);
|
|
75
|
+
} catch {
|
|
76
|
+
// Best-effort: the next tick or the next sheet open reconciles.
|
|
77
|
+
}
|
|
78
|
+
}, [config, props.user.revenuecatId, validationError]);
|
|
79
|
+
|
|
59
80
|
// Poll on mount…
|
|
60
81
|
useEffect(() => {
|
|
61
82
|
void refresh();
|
|
62
83
|
}, [refresh]);
|
|
63
84
|
|
|
85
|
+
// …then adapt the cadence to what the user is looking at, and refresh
|
|
86
|
+
// whenever the app returns to the foreground.
|
|
87
|
+
const idlePollMs = props.pollIntervalMs ?? IDLE_POLL_MS;
|
|
88
|
+
const screenName = screen.name;
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
const idle = !sheetOpen;
|
|
91
|
+
const intervalMs = idle ? idlePollMs : screenName === 'thread' ? THREAD_POLL_MS : SHEET_POLL_MS;
|
|
92
|
+
|
|
93
|
+
// While idle only the badge matters, so use the count-only endpoint.
|
|
94
|
+
const tick = () => void (idle ? refreshBadge() : refresh());
|
|
95
|
+
|
|
96
|
+
// Clamped so a typo like `pollIntervalMs={30}` can't hammer the API;
|
|
97
|
+
// 0 (or negative) disables idle polling entirely.
|
|
98
|
+
const timer = intervalMs > 0 ? setInterval(tick, Math.max(intervalMs, MIN_POLL_MS)) : null;
|
|
99
|
+
const appStateSub = AppState.addEventListener('change', state => {
|
|
100
|
+
if (state === 'active') tick();
|
|
101
|
+
});
|
|
102
|
+
return () => {
|
|
103
|
+
if (timer !== null) clearInterval(timer);
|
|
104
|
+
appStateSub.remove();
|
|
105
|
+
};
|
|
106
|
+
}, [sheetOpen, screenName, idlePollMs, refresh, refreshBadge]);
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Asks for notification permission the moment the sheet opens, then
|
|
110
|
+
* reports the outcome (including denials) so the dashboard knows whether
|
|
111
|
+
* this user is reachable. Deliberately fire-and-forget: nothing in the
|
|
112
|
+
* support flow waits on it or breaks if it fails.
|
|
113
|
+
*/
|
|
114
|
+
const syncPushPermission = useCallback(async () => {
|
|
115
|
+
if (validationError || !isPushAvailable) return;
|
|
116
|
+
try {
|
|
117
|
+
const registration = await ensurePushPermission(props.expoProjectId);
|
|
118
|
+
await registerPush(config, {
|
|
119
|
+
revenuecatId: props.user.revenuecatId,
|
|
120
|
+
permissionStatus: registration.status,
|
|
121
|
+
expoPushToken: registration.token,
|
|
122
|
+
asked: registration.asked
|
|
123
|
+
});
|
|
124
|
+
} catch {
|
|
125
|
+
// Push is an enhancement — never surfaced to the user as an error.
|
|
126
|
+
}
|
|
127
|
+
}, [config, props.user.revenuecatId, props.expoProjectId, validationError]);
|
|
128
|
+
|
|
64
129
|
// …and on sheet open.
|
|
65
130
|
function openSheet() {
|
|
66
131
|
setScreen({
|
|
@@ -68,6 +133,9 @@ export function SupportButton(props) {
|
|
|
68
133
|
});
|
|
69
134
|
setSheetOpen(true);
|
|
70
135
|
void refresh();
|
|
136
|
+
// The OS prompt appears right as the sheet opens; if the user declines,
|
|
137
|
+
// everything below carries on exactly as before.
|
|
138
|
+
void syncPushPermission();
|
|
71
139
|
}
|
|
72
140
|
function closeSheet() {
|
|
73
141
|
setSheetOpen(false);
|
|
@@ -118,6 +186,13 @@ export function SupportButton(props) {
|
|
|
118
186
|
});
|
|
119
187
|
}
|
|
120
188
|
}
|
|
189
|
+
function writeErrorMessage(e) {
|
|
190
|
+
if (e instanceof SupportApiError) {
|
|
191
|
+
if (e.status === 429) return 'Too many requests — try again later';
|
|
192
|
+
if (e.offline) return "You're offline — check your connection";
|
|
193
|
+
}
|
|
194
|
+
return "Couldn't send — try again";
|
|
195
|
+
}
|
|
121
196
|
async function handleSubmit(type, message) {
|
|
122
197
|
try {
|
|
123
198
|
await submitQuery(config, {
|
|
@@ -129,9 +204,9 @@ export function SupportButton(props) {
|
|
|
129
204
|
appVersion: props.user.appVersion
|
|
130
205
|
});
|
|
131
206
|
void refresh();
|
|
132
|
-
return
|
|
133
|
-
} catch {
|
|
134
|
-
return
|
|
207
|
+
return null;
|
|
208
|
+
} catch (e) {
|
|
209
|
+
return writeErrorMessage(e);
|
|
135
210
|
}
|
|
136
211
|
}
|
|
137
212
|
async function handleSend(threadId, message) {
|
|
@@ -142,9 +217,9 @@ export function SupportButton(props) {
|
|
|
142
217
|
message
|
|
143
218
|
});
|
|
144
219
|
await refresh();
|
|
145
|
-
return
|
|
146
|
-
} catch {
|
|
147
|
-
return
|
|
220
|
+
return null;
|
|
221
|
+
} catch (e) {
|
|
222
|
+
return writeErrorMessage(e);
|
|
148
223
|
}
|
|
149
224
|
}
|
|
150
225
|
const activeThread = screen.name === 'thread' ? (threads ?? []).find(t => t.id === screen.threadId) ?? null : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","Pressable","Text","View","getThreads","markRead","postMessage","submitQuery","SupportApiError","resolveTheme","validateProps","BottomSheet","BubbleMark","ComposeScreen","HomeScreen","ThreadScreen","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SupportButton","props","validationError","theme","config","supabaseUrl","apiKey","appName","sheetOpen","setSheetOpen","screen","setScreen","name","threads","setThreads","totalUnread","setTotalUnread","loading","setLoading","error","setError","mounted","current","refresh","data","user","revenuecatId","total_unread","e","offline","openSheet","closeSheet","__DEV__","console","style","padding","borderWidth","borderColor","colors","statusDanger","borderRadius","radii","control","children","fontSize","color","openThread","thread","threadId","id","unread_count","prev","map","t","n","Math","max","queryId","catch","handleSubmit","type","message","queryType","userName","isPaid","appVersion","handleSend","activeThread","find","onPress","accessibilityRole","accessibilityLabel","pressed","width","height","border","backgroundColor","surfaceHover","surface","alignItems","justifyContent","textPrimary","size","position","top","right","minWidth","paddingHorizontal","accent","fontWeight","accentForeground","fontVariant","visible","onClose","onRetry","onCompose","onOpenThread","onBack","onSubmit","onSend"],"sourceRoot":"../../../src","sources":["components/SupportButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","AppState","Pressable","Text","View","getThreads","getUnreadCount","markRead","postMessage","registerPush","submitQuery","SupportApiError","ensurePushPermission","isPushAvailable","resolveTheme","validateProps","BottomSheet","BubbleMark","ComposeScreen","HomeScreen","ThreadScreen","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","THREAD_POLL_MS","SHEET_POLL_MS","IDLE_POLL_MS","MIN_POLL_MS","SupportButton","props","validationError","theme","config","supabaseUrl","apiKey","appName","sheetOpen","setSheetOpen","screen","setScreen","name","threads","setThreads","totalUnread","setTotalUnread","loading","setLoading","error","setError","mounted","current","refresh","data","user","revenuecatId","total_unread","e","offline","refreshBadge","idlePollMs","pollIntervalMs","screenName","idle","intervalMs","tick","timer","setInterval","Math","max","appStateSub","addEventListener","state","clearInterval","remove","syncPushPermission","registration","expoProjectId","permissionStatus","status","expoPushToken","token","asked","openSheet","closeSheet","__DEV__","console","style","padding","borderWidth","borderColor","colors","statusDanger","borderRadius","radii","control","children","fontSize","color","openThread","thread","threadId","id","unread_count","prev","map","t","n","queryId","catch","writeErrorMessage","handleSubmit","type","message","queryType","userName","isPaid","appVersion","handleSend","activeThread","find","onPress","accessibilityRole","accessibilityLabel","pressed","width","height","border","backgroundColor","surfaceHover","surface","alignItems","justifyContent","textPrimary","size","position","top","right","minWidth","paddingHorizontal","accent","fontWeight","accentForeground","fontVariant","visible","onClose","onRetry","onCompose","onOpenThread","onBack","onSubmit","onSend"],"sourceRoot":"../../../src","sources":["components/SupportButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ export function ComposeScreen({
|
|
|
14
14
|
}) {
|
|
15
15
|
const [message, setMessage] = useState('');
|
|
16
16
|
const [submitting, setSubmitting] = useState(false);
|
|
17
|
-
const [
|
|
17
|
+
const [failedMessage, setFailedMessage] = useState(null);
|
|
18
18
|
const [sent, setSent] = useState(false);
|
|
19
19
|
const trimmed = message.trim();
|
|
20
20
|
const valid = trimmed.length >= USER_MESSAGE_MIN && trimmed.length <= USER_MESSAGE_MAX;
|
|
@@ -22,10 +22,10 @@ export function ComposeScreen({
|
|
|
22
22
|
async function handleSubmit() {
|
|
23
23
|
if (!valid || submitting) return;
|
|
24
24
|
setSubmitting(true);
|
|
25
|
-
|
|
26
|
-
const
|
|
25
|
+
setFailedMessage(null);
|
|
26
|
+
const errorMessage = await onSubmit(trimmed);
|
|
27
27
|
setSubmitting(false);
|
|
28
|
-
if (
|
|
28
|
+
if (errorMessage === null) setSent(true);else setFailedMessage(errorMessage);
|
|
29
29
|
}
|
|
30
30
|
if (sent) {
|
|
31
31
|
return /*#__PURE__*/_jsxs(View, {
|
|
@@ -109,7 +109,7 @@ export function ComposeScreen({
|
|
|
109
109
|
value: message,
|
|
110
110
|
onChangeText: v => {
|
|
111
111
|
setMessage(v);
|
|
112
|
-
|
|
112
|
+
setFailedMessage(null);
|
|
113
113
|
},
|
|
114
114
|
multiline: true,
|
|
115
115
|
autoFocus: true,
|
|
@@ -143,12 +143,12 @@ export function ComposeScreen({
|
|
|
143
143
|
}), trimmed.length > 0 && trimmed.length < USER_MESSAGE_MIN && /*#__PURE__*/_jsxs(Text, {
|
|
144
144
|
style: textStyles.meta(theme),
|
|
145
145
|
children: ["At least ", USER_MESSAGE_MIN, " characters"]
|
|
146
|
-
}),
|
|
146
|
+
}), failedMessage !== null && /*#__PURE__*/_jsx(Text, {
|
|
147
147
|
style: {
|
|
148
148
|
fontSize: 11,
|
|
149
149
|
color: theme.colors.statusDanger
|
|
150
150
|
},
|
|
151
|
-
children:
|
|
151
|
+
children: failedMessage
|
|
152
152
|
}), /*#__PURE__*/_jsx(View, {
|
|
153
153
|
style: {
|
|
154
154
|
marginLeft: 'auto'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","KeyboardAvoidingView","Platform","Text","TextInput","View","QUERY_TYPE_LABEL","USER_MESSAGE_MAX","USER_MESSAGE_MIN","CheckIcon","Chevron","PressableRow","PrimaryButton","textStyles","jsx","_jsx","jsxs","_jsxs","ComposeScreen","theme","type","onBack","onSubmit","message","setMessage","submitting","setSubmitting","
|
|
1
|
+
{"version":3,"names":["useState","KeyboardAvoidingView","Platform","Text","TextInput","View","QUERY_TYPE_LABEL","USER_MESSAGE_MAX","USER_MESSAGE_MIN","CheckIcon","Chevron","PressableRow","PrimaryButton","textStyles","jsx","_jsx","jsxs","_jsxs","ComposeScreen","theme","type","onBack","onSubmit","message","setMessage","submitting","setSubmitting","failedMessage","setFailedMessage","sent","setSent","trimmed","trim","valid","length","overLimit","handleSubmit","errorMessage","style","flex","alignItems","justifyContent","gap","padding","children","width","height","borderRadius","borderWidth","borderColor","colors","statusResolved","color","size","body","secondary","textAlign","marginTop","label","onPress","behavior","OS","undefined","flexDirection","paddingHorizontal","paddingBottom","accessibilityLabel","radii","control","textSecondary","direction","title","value","onChangeText","v","multiline","autoFocus","placeholder","placeholderTextColor","textTertiary","minHeight","maxHeight","border","backgroundColor","surface","textPrimary","fontSize","lineHeight","textAlignVertical","meta","statusDanger","marginLeft","disabled"],"sourceRoot":"../../../../src","sources":["components/screens/ComposeScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -148,7 +148,11 @@ export function HomeScreen({
|
|
|
148
148
|
color: theme.colors.textTertiary
|
|
149
149
|
})]
|
|
150
150
|
}, type))
|
|
151
|
-
}), error
|
|
151
|
+
}), error && threads === null ?
|
|
152
|
+
/*#__PURE__*/
|
|
153
|
+
// Only take over the screen when there's nothing cached to show —
|
|
154
|
+
// a failed background poll shouldn't hide an already-loaded list.
|
|
155
|
+
_jsx(ErrorState, {
|
|
152
156
|
message: error,
|
|
153
157
|
onRetry: onRetry,
|
|
154
158
|
theme: theme
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ScrollView","Text","View","QUERY_TYPE_LABEL","relativeTime","Chevron","CloseIcon","EmptyState","ErrorState","PressableRow","SkeletonBlock","textStyles","typeColor","typeIcon","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","COMPOSE_TYPES","ThreadRow","thread","theme","onPress","preview","last_message","body","accessibilityLabel","type","style","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","colors","border","children","flexDirection","alignItems","gap","unread_count","width","height","borderRadius","backgroundColor","accent","fontSize","fontWeight","color","meta","marginLeft","created_at","marginTop","numberOfLines","flex","textPrimary","textSecondary","textTertiary","HomeScreen","threads","loading","error","onRetry","onCompose","onOpenThread","onClose","open","filter","t","status","resolved","paddingBottom","title","padding","radii","control","size","marginHorizontal","borderWidth","borderColor","card","surface","overflow","map","i","toLowerCase","borderTopWidth","borderTopColor","message","paddingTop","length","textTransform","letterSpacing","id"],"sourceRoot":"../../../../src","sources":["components/screens/HomeScreen.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["ScrollView","Text","View","QUERY_TYPE_LABEL","relativeTime","Chevron","CloseIcon","EmptyState","ErrorState","PressableRow","SkeletonBlock","textStyles","typeColor","typeIcon","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","COMPOSE_TYPES","ThreadRow","thread","theme","onPress","preview","last_message","body","accessibilityLabel","type","style","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomColor","colors","border","children","flexDirection","alignItems","gap","unread_count","width","height","borderRadius","backgroundColor","accent","fontSize","fontWeight","color","meta","marginLeft","created_at","marginTop","numberOfLines","flex","textPrimary","textSecondary","textTertiary","HomeScreen","threads","loading","error","onRetry","onCompose","onOpenThread","onClose","open","filter","t","status","resolved","paddingBottom","title","padding","radii","control","size","marginHorizontal","borderWidth","borderColor","card","surface","overflow","map","i","toLowerCase","borderTopWidth","borderTopColor","message","paddingTop","length","textTransform","letterSpacing","id"],"sourceRoot":"../../../../src","sources":["components/screens/HomeScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ export function ThreadScreen({
|
|
|
15
15
|
}) {
|
|
16
16
|
const [draft, setDraft] = useState('');
|
|
17
17
|
const [sending, setSending] = useState(false);
|
|
18
|
-
const [
|
|
18
|
+
const [failedMessage, setFailedMessage] = useState(null);
|
|
19
19
|
const scrollRef = useRef(null);
|
|
20
20
|
const resolved = thread.status === 'resolved';
|
|
21
21
|
const trimmed = draft.trim();
|
|
@@ -28,10 +28,10 @@ export function ThreadScreen({
|
|
|
28
28
|
async function handleSend() {
|
|
29
29
|
if (!valid || sending || resolved) return;
|
|
30
30
|
setSending(true);
|
|
31
|
-
|
|
32
|
-
const
|
|
31
|
+
setFailedMessage(null);
|
|
32
|
+
const errorMessage = await onSend(trimmed);
|
|
33
33
|
setSending(false);
|
|
34
|
-
if (
|
|
34
|
+
if (errorMessage === null) setDraft('');else setFailedMessage(errorMessage);
|
|
35
35
|
}
|
|
36
36
|
return /*#__PURE__*/_jsxs(KeyboardAvoidingView, {
|
|
37
37
|
style: {
|
|
@@ -154,7 +154,7 @@ export function ThreadScreen({
|
|
|
154
154
|
value: draft,
|
|
155
155
|
onChangeText: v => {
|
|
156
156
|
setDraft(v);
|
|
157
|
-
|
|
157
|
+
setFailedMessage(null);
|
|
158
158
|
},
|
|
159
159
|
multiline: true,
|
|
160
160
|
placeholder: "Reply",
|
|
@@ -184,12 +184,12 @@ export function ThreadScreen({
|
|
|
184
184
|
color: theme.colors.statusDanger
|
|
185
185
|
}],
|
|
186
186
|
children: [draft.length, "/", USER_MESSAGE_MAX]
|
|
187
|
-
}),
|
|
187
|
+
}), failedMessage !== null && /*#__PURE__*/_jsx(Text, {
|
|
188
188
|
style: {
|
|
189
189
|
fontSize: 11,
|
|
190
190
|
color: theme.colors.statusDanger
|
|
191
191
|
},
|
|
192
|
-
children:
|
|
192
|
+
children: failedMessage
|
|
193
193
|
}), /*#__PURE__*/_jsx(View, {
|
|
194
194
|
style: {
|
|
195
195
|
marginLeft: 'auto'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","useState","KeyboardAvoidingView","Platform","ScrollView","Text","TextInput","View","USER_MESSAGE_MAX","USER_MESSAGE_MIN","formatDate","relativeTime","Chevron","PressableRow","PrimaryButton","StatusIndicator","textStyles","TypeChipView","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ThreadScreen","theme","thread","onBack","onSend","draft","setDraft","sending","setSending","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useState","KeyboardAvoidingView","Platform","ScrollView","Text","TextInput","View","USER_MESSAGE_MAX","USER_MESSAGE_MIN","formatDate","relativeTime","Chevron","PressableRow","PrimaryButton","StatusIndicator","textStyles","TypeChipView","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ThreadScreen","theme","thread","onBack","onSend","draft","setDraft","sending","setSending","failedMessage","setFailedMessage","scrollRef","resolved","status","trimmed","trim","valid","length","current","scrollToEnd","animated","messages","handleSend","errorMessage","style","flex","behavior","OS","undefined","children","flexDirection","alignItems","gap","paddingHorizontal","paddingBottom","borderBottomWidth","borderBottomColor","colors","border","onPress","accessibilityLabel","padding","borderRadius","radii","control","color","textSecondary","direction","size","type","meta","marginLeft","created_at","ref","contentContainerStyle","map","m","own","sender","maxWidth","alignSelf","admin_name","card","paddingVertical","backgroundColor","accentMuted","surface","borderWidth","borderColor","body","id","resolved_at","marginVertical","height","resolved_by_name","borderTopWidth","borderTopColor","paddingTop","textAlign","value","onChangeText","v","multiline","placeholder","placeholderTextColor","textTertiary","minHeight","maxHeight","textPrimary","fontSize","lineHeight","textAlignVertical","statusDanger","label","disabled"],"sourceRoot":"../../../../src","sources":["components/screens/ThreadScreen.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
export { SupportButton } from './components/SupportButton';
|
|
4
4
|
export { supportDarkTheme, supportLightTheme, resolveTheme } from './theme';
|
|
5
5
|
export { SupportApiError } from './api';
|
|
6
|
+
export { isPushAvailable } from './push';
|
|
6
7
|
export { QUERY_TYPE_LABEL, USER_MESSAGE_MAX, USER_MESSAGE_MIN } from './types';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SupportButton","supportDarkTheme","supportLightTheme","resolveTheme","SupportApiError","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;
|
|
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;AAaxC,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,QACX,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Optional push-notification support.
|
|
4
|
+
//
|
|
5
|
+
// expo-notifications is an OPTIONAL peer dependency: if the host app has it
|
|
6
|
+
// installed we ask for permission and mint a token, otherwise every function
|
|
7
|
+
// here degrades to "undetermined" and the support flow is unaffected. The
|
|
8
|
+
// require is wrapped in try/catch so bundling succeeds either way.
|
|
9
|
+
//
|
|
10
|
+
// Nothing in the support experience is gated on the result — a user who
|
|
11
|
+
// denies notifications keeps full use of threads, replies, and unread
|
|
12
|
+
// badges. The status is reported purely so the dashboard can show whether
|
|
13
|
+
// the user is reachable.
|
|
14
|
+
|
|
15
|
+
/** The slice of expo-notifications this SDK uses. */
|
|
16
|
+
|
|
17
|
+
function loadNotifications() {
|
|
18
|
+
try {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
20
|
+
const mod = require('expo-notifications');
|
|
21
|
+
return typeof mod?.getPermissionsAsync === 'function' ? mod : null;
|
|
22
|
+
} catch {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
const notifications = loadNotifications();
|
|
27
|
+
|
|
28
|
+
/** True when the host app has expo-notifications installed. */
|
|
29
|
+
export const isPushAvailable = notifications !== null;
|
|
30
|
+
function normalizeStatus(status) {
|
|
31
|
+
if (status === 'granted') return 'granted';
|
|
32
|
+
if (status === 'denied') return 'denied';
|
|
33
|
+
return 'undetermined';
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Ensures notification permission has been requested, and returns the
|
|
38
|
+
* outcome plus an Expo push token when one is obtainable.
|
|
39
|
+
*
|
|
40
|
+
* Never throws: any failure resolves to an 'undetermined' registration so
|
|
41
|
+
* callers can report it and move on.
|
|
42
|
+
*/
|
|
43
|
+
export async function ensurePushPermission(expoProjectId) {
|
|
44
|
+
if (!notifications) {
|
|
45
|
+
return {
|
|
46
|
+
status: 'undetermined',
|
|
47
|
+
asked: false,
|
|
48
|
+
token: null
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const current = await notifications.getPermissionsAsync();
|
|
53
|
+
let status = normalizeStatus(current.status);
|
|
54
|
+
let asked = false;
|
|
55
|
+
|
|
56
|
+
// Only prompt when the OS will actually show something. Re-prompting a
|
|
57
|
+
// user who already decided is impossible on iOS and annoying on Android.
|
|
58
|
+
if (status === 'undetermined' && current.canAskAgain) {
|
|
59
|
+
const requested = await notifications.requestPermissionsAsync();
|
|
60
|
+
status = normalizeStatus(requested.status);
|
|
61
|
+
asked = true;
|
|
62
|
+
}
|
|
63
|
+
if (status !== 'granted') {
|
|
64
|
+
return {
|
|
65
|
+
status,
|
|
66
|
+
asked,
|
|
67
|
+
token: null
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Token minting needs a dev/production build with push credentials —
|
|
72
|
+
// it fails in Expo Go. A granted permission with no token is still
|
|
73
|
+
// useful information for the dashboard, so report it either way.
|
|
74
|
+
try {
|
|
75
|
+
const token = await notifications.getExpoPushTokenAsync(expoProjectId ? {
|
|
76
|
+
projectId: expoProjectId
|
|
77
|
+
} : undefined);
|
|
78
|
+
return {
|
|
79
|
+
status,
|
|
80
|
+
asked,
|
|
81
|
+
token: token.data
|
|
82
|
+
};
|
|
83
|
+
} catch {
|
|
84
|
+
return {
|
|
85
|
+
status,
|
|
86
|
+
asked,
|
|
87
|
+
token: null
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
} catch {
|
|
91
|
+
return {
|
|
92
|
+
status: 'undetermined',
|
|
93
|
+
asked: false,
|
|
94
|
+
token: null
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=push.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["loadNotifications","mod","require","getPermissionsAsync","notifications","isPushAvailable","normalizeStatus","status","ensurePushPermission","expoProjectId","asked","token","current","canAskAgain","requested","requestPermissionsAsync","getExpoPushTokenAsync","projectId","undefined","data"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;;AASA,SAASA,iBAAiBA,CAAA,EAAmC;EAC3D,IAAI;IACF;IACA,MAAMC,GAAG,GAAGC,OAAO,CAAC,oBAAoB,CAA4B;IACpE,OAAO,OAAOD,GAAG,EAAEE,mBAAmB,KAAK,UAAU,GAAGF,GAAG,GAAG,IAAI;EACpE,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;AAEA,MAAMG,aAAa,GAAGJ,iBAAiB,CAAC,CAAC;;AAEzC;AACA,OAAO,MAAMK,eAAe,GAAGD,aAAa,KAAK,IAAI;AASrD,SAASE,eAAeA,CAACC,MAAc,EAAwB;EAC7D,IAAIA,MAAM,KAAK,SAAS,EAAE,OAAO,SAAS;EAC1C,IAAIA,MAAM,KAAK,QAAQ,EAAE,OAAO,QAAQ;EACxC,OAAO,cAAc;AACvB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,oBAAoBA,CACxCC,aAAsB,EACK;EAC3B,IAAI,CAACL,aAAa,EAAE;IAClB,OAAO;MAAEG,MAAM,EAAE,cAAc;MAAEG,KAAK,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAK,CAAC;EAC9D;EAEA,IAAI;IACF,MAAMC,OAAO,GAAG,MAAMR,aAAa,CAACD,mBAAmB,CAAC,CAAC;IACzD,IAAII,MAAM,GAAGD,eAAe,CAACM,OAAO,CAACL,MAAM,CAAC;IAC5C,IAAIG,KAAK,GAAG,KAAK;;IAEjB;IACA;IACA,IAAIH,MAAM,KAAK,cAAc,IAAIK,OAAO,CAACC,WAAW,EAAE;MACpD,MAAMC,SAAS,GAAG,MAAMV,aAAa,CAACW,uBAAuB,CAAC,CAAC;MAC/DR,MAAM,GAAGD,eAAe,CAACQ,SAAS,CAACP,MAAM,CAAC;MAC1CG,KAAK,GAAG,IAAI;IACd;IAEA,IAAIH,MAAM,KAAK,SAAS,EAAE;MACxB,OAAO;QAAEA,MAAM;QAAEG,KAAK;QAAEC,KAAK,EAAE;MAAK,CAAC;IACvC;;IAEA;IACA;IACA;IACA,IAAI;MACF,MAAMA,KAAK,GAAG,MAAMP,aAAa,CAACY,qBAAqB,CACrDP,aAAa,GAAG;QAAEQ,SAAS,EAAER;MAAc,CAAC,GAAGS,SACjD,CAAC;MACD,OAAO;QAAEX,MAAM;QAAEG,KAAK;QAAEC,KAAK,EAAEA,KAAK,CAACQ;MAAK,CAAC;IAC7C,CAAC,CAAC,MAAM;MACN,OAAO;QAAEZ,MAAM;QAAEG,KAAK;QAAEC,KAAK,EAAE;MAAK,CAAC;IACvC;EACF,CAAC,CAAC,MAAM;IACN,OAAO;MAAEJ,MAAM,EAAE,cAAc;MAAEG,KAAK,EAAE,KAAK;MAAEC,KAAK,EAAE;IAAK,CAAC;EAC9D;AACF","ignoreList":[]}
|
package/lib/module/types.js.map
CHANGED
|
@@ -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":";;
|
|
1
|
+
{"version":3,"names":["QUERY_TYPE_LABEL","feedback","feature_request","bug_report","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;AAiFA,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":[]}
|