@buoy-gg/notifications 7.0.41
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/LICENSE +58 -0
- package/README.md +28 -0
- package/lib/commonjs/components/LocalNotificationTest.js +185 -0
- package/lib/commonjs/components/LocalNotificationTest.js.map +1 -0
- package/lib/commonjs/components/NotificationTestView.js +329 -0
- package/lib/commonjs/components/NotificationTestView.js.map +1 -0
- package/lib/commonjs/components/NotificationToolView.js +673 -0
- package/lib/commonjs/components/NotificationToolView.js.map +1 -0
- package/lib/commonjs/components/notificationStyles.js +292 -0
- package/lib/commonjs/components/notificationStyles.js.map +1 -0
- package/lib/commonjs/expo.js +247 -0
- package/lib/commonjs/expo.js.map +1 -0
- package/lib/commonjs/index.js +148 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/json.js +58 -0
- package/lib/commonjs/json.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/payload.js +68 -0
- package/lib/commonjs/payload.js.map +1 -0
- package/lib/commonjs/preset.js +56 -0
- package/lib/commonjs/preset.js.map +1 -0
- package/lib/commonjs/preview.js +18 -0
- package/lib/commonjs/preview.js.map +1 -0
- package/lib/commonjs/recorder.js +339 -0
- package/lib/commonjs/recorder.js.map +1 -0
- package/lib/commonjs/runtime.js +110 -0
- package/lib/commonjs/runtime.js.map +1 -0
- package/lib/commonjs/storage.js +61 -0
- package/lib/commonjs/storage.js.map +1 -0
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/components/LocalNotificationTest.js +180 -0
- package/lib/module/components/LocalNotificationTest.js.map +1 -0
- package/lib/module/components/NotificationTestView.js +324 -0
- package/lib/module/components/NotificationTestView.js.map +1 -0
- package/lib/module/components/NotificationToolView.js +668 -0
- package/lib/module/components/NotificationToolView.js.map +1 -0
- package/lib/module/components/notificationStyles.js +288 -0
- package/lib/module/components/notificationStyles.js.map +1 -0
- package/lib/module/expo.js +241 -0
- package/lib/module/expo.js.map +1 -0
- package/lib/module/index.js +13 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/json.js +51 -0
- package/lib/module/json.js.map +1 -0
- package/lib/module/payload.js +63 -0
- package/lib/module/payload.js.map +1 -0
- package/lib/module/preset.js +50 -0
- package/lib/module/preset.js.map +1 -0
- package/lib/module/preview.js +14 -0
- package/lib/module/preview.js.map +1 -0
- package/lib/module/recorder.js +332 -0
- package/lib/module/recorder.js.map +1 -0
- package/lib/module/runtime.js +103 -0
- package/lib/module/runtime.js.map +1 -0
- package/lib/module/storage.js +56 -0
- package/lib/module/storage.js.map +1 -0
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/components/LocalNotificationTest.d.ts +8 -0
- package/lib/typescript/components/LocalNotificationTest.d.ts.map +1 -0
- package/lib/typescript/components/NotificationTestView.d.ts +27 -0
- package/lib/typescript/components/NotificationTestView.d.ts.map +1 -0
- package/lib/typescript/components/NotificationToolView.d.ts +16 -0
- package/lib/typescript/components/NotificationToolView.d.ts.map +1 -0
- package/lib/typescript/components/notificationStyles.d.ts +284 -0
- package/lib/typescript/components/notificationStyles.d.ts.map +1 -0
- package/lib/typescript/expo.d.ts +66 -0
- package/lib/typescript/expo.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +15 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/json.d.ts +7 -0
- package/lib/typescript/json.d.ts.map +1 -0
- package/lib/typescript/payload.d.ts +18 -0
- package/lib/typescript/payload.d.ts.map +1 -0
- package/lib/typescript/preset.d.ts +31 -0
- package/lib/typescript/preset.d.ts.map +1 -0
- package/lib/typescript/preview.d.ts +4 -0
- package/lib/typescript/preview.d.ts.map +1 -0
- package/lib/typescript/recorder.d.ts +52 -0
- package/lib/typescript/recorder.d.ts.map +1 -0
- package/lib/typescript/runtime.d.ts +50 -0
- package/lib/typescript/runtime.d.ts.map +1 -0
- package/lib/typescript/storage.d.ts +23 -0
- package/lib/typescript/storage.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +64 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/package.json +66 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
PROPRIETARY SOFTWARE LICENSE
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024-present Buoy. All rights reserved.
|
|
4
|
+
|
|
5
|
+
This software and its source code are proprietary and confidential.
|
|
6
|
+
|
|
7
|
+
NOTICE: This is NOT open source software. This software is licensed,
|
|
8
|
+
not sold, and is protected by copyright laws and international treaties.
|
|
9
|
+
|
|
10
|
+
TERMS AND CONDITIONS:
|
|
11
|
+
|
|
12
|
+
1. LICENSE GRANT
|
|
13
|
+
Subject to the terms of this Agreement and payment of applicable fees,
|
|
14
|
+
Buoy grants you a limited, non-exclusive, non-transferable license
|
|
15
|
+
to use the compiled software packages in your applications.
|
|
16
|
+
|
|
17
|
+
2. RESTRICTIONS
|
|
18
|
+
You may NOT:
|
|
19
|
+
- Copy, modify, or distribute the source code
|
|
20
|
+
- Reverse engineer, decompile, or disassemble the software
|
|
21
|
+
- Remove or alter any proprietary notices or labels
|
|
22
|
+
- Sublicense, rent, lease, or lend the software
|
|
23
|
+
- Use the software to create competing products
|
|
24
|
+
- Share access credentials with unauthorized parties
|
|
25
|
+
|
|
26
|
+
3. OWNERSHIP
|
|
27
|
+
React Buoy retains all right, title, and interest in the software,
|
|
28
|
+
including all intellectual property rights. This license does not
|
|
29
|
+
grant you any rights to trademarks or service marks.
|
|
30
|
+
|
|
31
|
+
4. TERMINATION
|
|
32
|
+
This license is effective until terminated. Your rights under this
|
|
33
|
+
license will terminate automatically without notice if you fail to
|
|
34
|
+
comply with any of its terms. Upon termination, you must cease all
|
|
35
|
+
use and destroy all copies of the software.
|
|
36
|
+
|
|
37
|
+
5. DISCLAIMER OF WARRANTIES
|
|
38
|
+
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
|
39
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
40
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.
|
|
41
|
+
|
|
42
|
+
6. LIMITATION OF LIABILITY
|
|
43
|
+
IN NO EVENT SHALL BUOY BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
|
|
44
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN
|
|
45
|
+
CONNECTION WITH THIS LICENSE OR THE USE OF THE SOFTWARE.
|
|
46
|
+
|
|
47
|
+
7. GOVERNING LAW
|
|
48
|
+
This Agreement shall be governed by and construed in accordance with
|
|
49
|
+
the laws of the United States, without regard to its conflict of
|
|
50
|
+
law provisions.
|
|
51
|
+
|
|
52
|
+
For licensing inquiries and subscription information:
|
|
53
|
+
- Website: https://buoy.gg
|
|
54
|
+
- Email: AustinLovesWorking@gmail.com
|
|
55
|
+
|
|
56
|
+
Unauthorized reproduction or distribution of this software, or any
|
|
57
|
+
portion of it, may result in severe civil and criminal penalties,
|
|
58
|
+
and will be prosecuted to the maximum extent possible under the law.
|
package/README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# @buoy-gg/notifications
|
|
2
|
+
|
|
3
|
+
Inspect Expo notification receipt, responses, presentation decisions and device tokens in React Native and Buoy Desktop. Desktop also sends APNs payloads to explicitly selected iOS simulator apps.
|
|
4
|
+
|
|
5
|
+
Desktop and mobile open with the same editable notification preview and a Send notification button. The result updates on the same screen when the connected app receives or responds to it. Mobile schedules a local notification on the current device; desktop injects a push into the selected iOS simulator. Options contains custom data and delivery controls, with raw APNs payloads, saved notifications, and send history available on desktop. Activity contains captured events and their payloads. The settings button opens capture controls, permissions, and device tokens on desktop and mobile.
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import * as Notifications from 'expo-notifications';
|
|
9
|
+
import { installExpoNotificationCapture } from '@buoy-gg/notifications';
|
|
10
|
+
|
|
11
|
+
// Run in the app entry point before rendering the root component.
|
|
12
|
+
export const notificationRecorder = installExpoNotificationCapture(Notifications, {
|
|
13
|
+
appId: 'com.example.myapp',
|
|
14
|
+
providerVersion: '56.0.25',
|
|
15
|
+
});
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Use an app-specific Expo development build with `expo-notifications` configured. Pass the app's existing SDK; this package does not install a native notification module. Core discovers the preset and sync adapter when installed.
|
|
19
|
+
|
|
20
|
+
The recorder uses bounded persistent history and continues during a desktop disconnect. A new development installation starts a 30-minute capture session. Re-arm or stop it in the inspector. Cold-launch testing requires a persistent storage backend, which the panel reports.
|
|
21
|
+
|
|
22
|
+
Capture preserves the app's notification policies and handlers. Opt-in wrappers observe presentation and background-task results. Token registration is explicit. Raw APNs payloads remain unchanged; the Expo composer places custom data in the top-level `body` object.
|
|
23
|
+
|
|
24
|
+
Release capture is off unless the app explicitly enables it. Release sync still requires Buoy's Pro and external-sync opt-in. Android and third-party notification providers have different delivery paths; this release's native validation covers Expo 56 on iOS.
|
|
25
|
+
|
|
26
|
+
See the [setup and testing guide](https://buoy.gg/buoy/latest/docs/tools/push-notifications) for the integration, limits and supported flows.
|
|
27
|
+
|
|
28
|
+
Apps can pass optional `preview` branding to `installExpoNotificationCapture`: `appName`, a base64 PNG/JPEG/WebP `iconUri` (up to 32 KB), and six-digit hex `backgroundColor` and `textColor`. The same preview appears on mobile and on desktop when the selected app matches. This styles the Buoy preview; the operating system controls the actual notification banner.
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LocalNotificationTest = LocalNotificationTest;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
10
|
+
var _NotificationTestView = require("./NotificationTestView");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
13
|
+
function LocalNotificationTest({
|
|
14
|
+
snapshot,
|
|
15
|
+
onAction,
|
|
16
|
+
onViewActivity
|
|
17
|
+
}) {
|
|
18
|
+
const [title, setTitle] = (0, _react.useState)("Test notification");
|
|
19
|
+
const [message, setMessage] = (0, _react.useState)("Tap to open the app.");
|
|
20
|
+
const [data, setData] = (0, _react.useState)("{}");
|
|
21
|
+
const [seconds, setSeconds] = (0, _react.useState)("1");
|
|
22
|
+
const [busy, setBusy] = (0, _react.useState)(false);
|
|
23
|
+
const lock = (0, _react.useRef)(false);
|
|
24
|
+
const [error, setError] = (0, _react.useState)(null);
|
|
25
|
+
const [latest, setLatest] = (0, _react.useState)(null);
|
|
26
|
+
let custom = {};
|
|
27
|
+
let validation = null;
|
|
28
|
+
try {
|
|
29
|
+
custom = JSON.parse(data);
|
|
30
|
+
if (!custom || typeof custom !== "object" || Array.isArray(custom)) throw new Error();
|
|
31
|
+
} catch {
|
|
32
|
+
validation = "Custom data must be a JSON object. Open Options to edit it.";
|
|
33
|
+
}
|
|
34
|
+
async function send() {
|
|
35
|
+
if (lock.current || validation) return;
|
|
36
|
+
lock.current = true;
|
|
37
|
+
setBusy(true);
|
|
38
|
+
setLatest(null);
|
|
39
|
+
setError(null);
|
|
40
|
+
const test = {
|
|
41
|
+
testId: `buoy-local-${Date.now()}-${Math.random().toString(36).slice(2)}`,
|
|
42
|
+
startedAt: Date.now(),
|
|
43
|
+
appId: snapshot?.appId ?? null
|
|
44
|
+
};
|
|
45
|
+
try {
|
|
46
|
+
await onAction("setCaptureSession", {
|
|
47
|
+
runId: test.testId,
|
|
48
|
+
durationMs: 1800000
|
|
49
|
+
});
|
|
50
|
+
await onAction("scheduleLocal", {
|
|
51
|
+
title,
|
|
52
|
+
body: message,
|
|
53
|
+
data: {
|
|
54
|
+
...custom,
|
|
55
|
+
__buoyTestId: test.testId
|
|
56
|
+
},
|
|
57
|
+
seconds: Number(seconds)
|
|
58
|
+
});
|
|
59
|
+
setLatest(test);
|
|
60
|
+
} catch (error) {
|
|
61
|
+
setError(error instanceof Error ? error.message : String(error));
|
|
62
|
+
} finally {
|
|
63
|
+
lock.current = false;
|
|
64
|
+
setBusy(false);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const events = latest && latest.appId === snapshot?.appId ? snapshot.events.filter(event => event.testId === latest.testId && event.capturedAt >= latest.startedAt) : [];
|
|
68
|
+
const received = events.some(event => event.kind === "received");
|
|
69
|
+
const tapped = events.some(event => event.kind === "response" || event.kind === "startup-response");
|
|
70
|
+
const outcome = events.some(event => event.kind === "app-outcome");
|
|
71
|
+
const supported = !!snapshot?.capabilities.includes("local-scheduling");
|
|
72
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_NotificationTestView.NotificationTestView, {
|
|
73
|
+
title: title,
|
|
74
|
+
message: message,
|
|
75
|
+
onTitleChange: setTitle,
|
|
76
|
+
onMessageChange: setMessage,
|
|
77
|
+
appName: "This app",
|
|
78
|
+
appearance: snapshot?.preview,
|
|
79
|
+
destination: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
80
|
+
style: s.destination,
|
|
81
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
82
|
+
style: s.field,
|
|
83
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
84
|
+
style: s.label,
|
|
85
|
+
children: "Device"
|
|
86
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
87
|
+
style: s.value,
|
|
88
|
+
children: "This device"
|
|
89
|
+
})]
|
|
90
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
91
|
+
style: s.field,
|
|
92
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
93
|
+
style: s.label,
|
|
94
|
+
children: "Delivery"
|
|
95
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
96
|
+
style: s.value,
|
|
97
|
+
children: "Local notification"
|
|
98
|
+
})]
|
|
99
|
+
})]
|
|
100
|
+
}),
|
|
101
|
+
options: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
102
|
+
style: s.options,
|
|
103
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
104
|
+
style: s.label,
|
|
105
|
+
children: "Send after"
|
|
106
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.NightSegmented, {
|
|
107
|
+
tabs: [{
|
|
108
|
+
key: "1",
|
|
109
|
+
label: "1 second"
|
|
110
|
+
}, {
|
|
111
|
+
key: "10",
|
|
112
|
+
label: "10 seconds"
|
|
113
|
+
}],
|
|
114
|
+
activeKey: seconds,
|
|
115
|
+
onChange: setSeconds,
|
|
116
|
+
size: "sm",
|
|
117
|
+
glass: true
|
|
118
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
119
|
+
style: s.label,
|
|
120
|
+
children: "Custom data"
|
|
121
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
122
|
+
accessibilityLabel: "Notification custom data",
|
|
123
|
+
value: data,
|
|
124
|
+
onChangeText: setData,
|
|
125
|
+
multiline: true,
|
|
126
|
+
autoCapitalize: "none",
|
|
127
|
+
autoCorrect: false,
|
|
128
|
+
style: s.json
|
|
129
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
130
|
+
style: s.label,
|
|
131
|
+
children: "Use the delay to leave the app before delivery. Simulator push and raw APNs payloads are available on desktop."
|
|
132
|
+
})]
|
|
133
|
+
}),
|
|
134
|
+
result: latest ? {
|
|
135
|
+
title: outcome ? "App reported an outcome" : tapped ? "Notification tapped" : received ? "Received by app" : "Notification scheduled",
|
|
136
|
+
message: tapped ? "Open Activity to inspect the app’s response." : "Tap the notification to test what opens."
|
|
137
|
+
} : null,
|
|
138
|
+
onViewActivity: onViewActivity,
|
|
139
|
+
onSend: () => {
|
|
140
|
+
void send();
|
|
141
|
+
},
|
|
142
|
+
busy: busy,
|
|
143
|
+
disabled: !supported || !!validation,
|
|
144
|
+
error: error ?? validation,
|
|
145
|
+
hint: !supported ? "Connect Expo notification capture to send a local test." : seconds === "10" ? "You have 10 seconds to leave the app." : "Sends locally on this device after one second."
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
const s = _reactNative.StyleSheet.create({
|
|
149
|
+
destination: {
|
|
150
|
+
flexDirection: "row",
|
|
151
|
+
gap: 12
|
|
152
|
+
},
|
|
153
|
+
field: {
|
|
154
|
+
flex: 1,
|
|
155
|
+
gap: 7
|
|
156
|
+
},
|
|
157
|
+
label: {
|
|
158
|
+
color: _sharedUi.night.color.textSecondary,
|
|
159
|
+
fontSize: 12,
|
|
160
|
+
lineHeight: 18
|
|
161
|
+
},
|
|
162
|
+
value: {
|
|
163
|
+
color: _sharedUi.night.color.text,
|
|
164
|
+
fontSize: 13,
|
|
165
|
+
borderWidth: 1,
|
|
166
|
+
borderColor: _sharedUi.night.color.glassBorder,
|
|
167
|
+
backgroundColor: _sharedUi.night.color.glass,
|
|
168
|
+
borderRadius: 10,
|
|
169
|
+
padding: 11
|
|
170
|
+
},
|
|
171
|
+
options: {
|
|
172
|
+
gap: 12
|
|
173
|
+
},
|
|
174
|
+
json: {
|
|
175
|
+
color: _sharedUi.night.color.text,
|
|
176
|
+
fontSize: 12,
|
|
177
|
+
minHeight: 100,
|
|
178
|
+
textAlignVertical: "top",
|
|
179
|
+
padding: 12,
|
|
180
|
+
borderWidth: 1,
|
|
181
|
+
borderColor: _sharedUi.night.color.glassBorder,
|
|
182
|
+
borderRadius: 10
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
//# sourceMappingURL=LocalNotificationTest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_sharedUi","_NotificationTestView","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","LocalNotificationTest","snapshot","onAction","onViewActivity","title","setTitle","useState","message","setMessage","data","setData","seconds","setSeconds","busy","setBusy","lock","useRef","error","setError","latest","setLatest","custom","validation","JSON","parse","Array","isArray","Error","send","current","test","testId","Date","now","Math","random","toString","slice","startedAt","appId","runId","durationMs","body","__buoyTestId","Number","String","events","filter","event","capturedAt","received","some","kind","tapped","outcome","supported","capabilities","includes","jsx","NotificationTestView","onTitleChange","onMessageChange","appName","appearance","preview","destination","jsxs","View","style","s","children","field","Text","label","value","options","NightSegmented","tabs","key","activeKey","onChange","size","glass","TextInput","accessibilityLabel","onChangeText","multiline","autoCapitalize","autoCorrect","json","result","onSend","disabled","hint","StyleSheet","create","flexDirection","gap","flex","color","night","textSecondary","fontSize","lineHeight","text","borderWidth","borderColor","glassBorder","backgroundColor","borderRadius","padding","minHeight","textAlignVertical"],"sourceRoot":"../../../src","sources":["components/LocalNotificationTest.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.NotificationTestView = NotificationTestView;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _sharedUi = require("@buoy-gg/shared-ui");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
|
+
function NotificationTestView(props) {
|
|
13
|
+
const [iconFailed, setIconFailed] = (0, _react.useState)(false);
|
|
14
|
+
(0, _react.useEffect)(() => setIconFailed(false), [props.appearance?.iconUri]);
|
|
15
|
+
const ink = props.appearance?.textColor ? {
|
|
16
|
+
color: props.appearance.textColor
|
|
17
|
+
} : undefined;
|
|
18
|
+
const [optionsOpen, setOptionsOpen] = (0, _react.useState)(false);
|
|
19
|
+
const insets = (0, _sharedUi.useSafeAreaInsets)({
|
|
20
|
+
minBottom: 12
|
|
21
|
+
});
|
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
23
|
+
style: s.root,
|
|
24
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
|
|
25
|
+
testID: "notification-test-scroll",
|
|
26
|
+
style: s.root,
|
|
27
|
+
contentContainerStyle: s.scroll,
|
|
28
|
+
keyboardShouldPersistTaps: "handled",
|
|
29
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
30
|
+
style: s.content,
|
|
31
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
32
|
+
style: s.intro,
|
|
33
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
34
|
+
accessibilityRole: "header",
|
|
35
|
+
style: s.heading,
|
|
36
|
+
children: "Test a notification"
|
|
37
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
38
|
+
style: s.caption,
|
|
39
|
+
children: "Send a test notification to your app."
|
|
40
|
+
})]
|
|
41
|
+
}), props.destination, props.previewNote ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
42
|
+
style: s.caption,
|
|
43
|
+
children: props.previewNote
|
|
44
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
45
|
+
style: [s.preview, props.appearance?.backgroundColor ? {
|
|
46
|
+
backgroundColor: props.appearance.backgroundColor,
|
|
47
|
+
borderColor: props.appearance.backgroundColor
|
|
48
|
+
} : undefined],
|
|
49
|
+
accessibilityLabel: "Notification preview",
|
|
50
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
51
|
+
style: s.row,
|
|
52
|
+
children: [props.appearance?.iconUri && !iconFailed ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
53
|
+
testID: "buoy-internal-notification-preview",
|
|
54
|
+
source: {
|
|
55
|
+
uri: props.appearance.iconUri
|
|
56
|
+
},
|
|
57
|
+
accessibilityLabel: `${props.appearance.appName ?? props.appName} icon`,
|
|
58
|
+
style: s.appIcon,
|
|
59
|
+
onError: () => setIconFailed(true)
|
|
60
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
61
|
+
style: s.iconFallback,
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.NotificationsIcon, {
|
|
63
|
+
size: 22,
|
|
64
|
+
color: _sharedUi.night.color.accent
|
|
65
|
+
})
|
|
66
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
67
|
+
numberOfLines: 1,
|
|
68
|
+
style: [s.caption, s.appName, ink],
|
|
69
|
+
children: props.appearance?.appName ?? props.appName
|
|
70
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
71
|
+
style: [s.caption, ink],
|
|
72
|
+
children: "now"
|
|
73
|
+
})]
|
|
74
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
75
|
+
accessibilityLabel: "Notification title",
|
|
76
|
+
placeholder: "Title",
|
|
77
|
+
placeholderTextColor: _sharedUi.night.color.placeholder,
|
|
78
|
+
value: props.title,
|
|
79
|
+
onChangeText: props.onTitleChange,
|
|
80
|
+
style: [s.input, s.title, ink],
|
|
81
|
+
editable: !props.busy
|
|
82
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
83
|
+
accessibilityLabel: "Notification message",
|
|
84
|
+
placeholder: "Message",
|
|
85
|
+
placeholderTextColor: _sharedUi.night.color.placeholder,
|
|
86
|
+
value: props.message,
|
|
87
|
+
onChangeText: props.onMessageChange,
|
|
88
|
+
style: [s.input, ink],
|
|
89
|
+
editable: !props.busy
|
|
90
|
+
})]
|
|
91
|
+
}), props.result && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
92
|
+
accessibilityRole: "summary",
|
|
93
|
+
accessibilityLiveRegion: "polite",
|
|
94
|
+
testID: "notification-test-result",
|
|
95
|
+
style: s.result,
|
|
96
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
97
|
+
style: s.row,
|
|
98
|
+
children: [props.result.failed ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.XCircle, {
|
|
99
|
+
size: 16,
|
|
100
|
+
color: _sharedUi.night.color.danger
|
|
101
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.CheckCircle, {
|
|
102
|
+
size: 16,
|
|
103
|
+
color: _sharedUi.night.color.accent
|
|
104
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
105
|
+
style: s.resultTitle,
|
|
106
|
+
children: props.result.title
|
|
107
|
+
})]
|
|
108
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
109
|
+
style: s.caption,
|
|
110
|
+
children: props.result.message
|
|
111
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
112
|
+
accessibilityRole: "button",
|
|
113
|
+
accessibilityLabel: "View activity",
|
|
114
|
+
onPress: props.onViewActivity,
|
|
115
|
+
style: s.secondary,
|
|
116
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
117
|
+
style: s.secondaryText,
|
|
118
|
+
children: "View activity"
|
|
119
|
+
})
|
|
120
|
+
})]
|
|
121
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
122
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
123
|
+
accessibilityRole: "button",
|
|
124
|
+
accessibilityLabel: "Notification options",
|
|
125
|
+
accessibilityState: {
|
|
126
|
+
expanded: optionsOpen
|
|
127
|
+
},
|
|
128
|
+
onPress: () => setOptionsOpen(!optionsOpen),
|
|
129
|
+
style: s.options,
|
|
130
|
+
children: [optionsOpen ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronDown, {
|
|
131
|
+
size: 12,
|
|
132
|
+
color: _sharedUi.night.color.textSecondary
|
|
133
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.ChevronRight, {
|
|
134
|
+
size: 12,
|
|
135
|
+
color: _sharedUi.night.color.textSecondary
|
|
136
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
137
|
+
style: s.caption,
|
|
138
|
+
children: "Options"
|
|
139
|
+
})]
|
|
140
|
+
}), optionsOpen && props.options]
|
|
141
|
+
})]
|
|
142
|
+
})
|
|
143
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
144
|
+
style: [s.footer, {
|
|
145
|
+
paddingBottom: insets.bottom
|
|
146
|
+
}],
|
|
147
|
+
children: [!!props.error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
148
|
+
accessibilityRole: "alert",
|
|
149
|
+
style: s.error,
|
|
150
|
+
children: props.error
|
|
151
|
+
}), !!props.notice && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
152
|
+
accessibilityLiveRegion: "polite",
|
|
153
|
+
style: s.caption,
|
|
154
|
+
children: props.notice
|
|
155
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
156
|
+
style: s.footerRow,
|
|
157
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
158
|
+
style: [s.caption, s.hint],
|
|
159
|
+
children: props.hint
|
|
160
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
161
|
+
accessibilityRole: "button",
|
|
162
|
+
accessibilityLabel: props.busy ? "Sending…" : "Send notification",
|
|
163
|
+
accessibilityState: {
|
|
164
|
+
disabled: props.disabled || props.busy
|
|
165
|
+
},
|
|
166
|
+
disabled: props.disabled || props.busy,
|
|
167
|
+
onPress: props.onSend,
|
|
168
|
+
style: ({
|
|
169
|
+
pressed
|
|
170
|
+
}) => [s.send, (props.disabled || props.busy) && s.disabled, pressed && s.pressed],
|
|
171
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.NotificationsIcon, {
|
|
172
|
+
size: 15,
|
|
173
|
+
color: _sharedUi.night.color.onAccent
|
|
174
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
175
|
+
style: s.sendText,
|
|
176
|
+
children: props.busy ? "Sending…" : "Send notification"
|
|
177
|
+
})]
|
|
178
|
+
})]
|
|
179
|
+
})]
|
|
180
|
+
})]
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
const s = _reactNative.StyleSheet.create({
|
|
184
|
+
root: {
|
|
185
|
+
flex: 1,
|
|
186
|
+
minHeight: 0,
|
|
187
|
+
minWidth: 0
|
|
188
|
+
},
|
|
189
|
+
scroll: {
|
|
190
|
+
padding: 16,
|
|
191
|
+
flexGrow: 1
|
|
192
|
+
},
|
|
193
|
+
content: {
|
|
194
|
+
width: "100%",
|
|
195
|
+
maxWidth: 620,
|
|
196
|
+
alignSelf: "center",
|
|
197
|
+
gap: 20
|
|
198
|
+
},
|
|
199
|
+
intro: {
|
|
200
|
+
gap: 8,
|
|
201
|
+
paddingTop: 8
|
|
202
|
+
},
|
|
203
|
+
heading: {
|
|
204
|
+
color: _sharedUi.night.color.text,
|
|
205
|
+
fontSize: 22,
|
|
206
|
+
fontWeight: "600",
|
|
207
|
+
letterSpacing: -0.5
|
|
208
|
+
},
|
|
209
|
+
caption: {
|
|
210
|
+
color: _sharedUi.night.color.textSecondary,
|
|
211
|
+
fontSize: 12,
|
|
212
|
+
lineHeight: 18
|
|
213
|
+
},
|
|
214
|
+
row: {
|
|
215
|
+
flexDirection: "row",
|
|
216
|
+
alignItems: "center",
|
|
217
|
+
gap: 8
|
|
218
|
+
},
|
|
219
|
+
appName: {
|
|
220
|
+
flex: 1,
|
|
221
|
+
fontWeight: "600"
|
|
222
|
+
},
|
|
223
|
+
appIcon: {
|
|
224
|
+
width: 36,
|
|
225
|
+
height: 36,
|
|
226
|
+
borderRadius: 8
|
|
227
|
+
},
|
|
228
|
+
iconFallback: {
|
|
229
|
+
width: 36,
|
|
230
|
+
height: 36,
|
|
231
|
+
alignItems: "center",
|
|
232
|
+
justifyContent: "center",
|
|
233
|
+
borderRadius: 8,
|
|
234
|
+
backgroundColor: _sharedUi.night.color.fillSecondary
|
|
235
|
+
},
|
|
236
|
+
preview: {
|
|
237
|
+
padding: 16,
|
|
238
|
+
gap: 8,
|
|
239
|
+
borderWidth: 1,
|
|
240
|
+
borderColor: _sharedUi.night.color.glassBorder,
|
|
241
|
+
borderRadius: 20,
|
|
242
|
+
backgroundColor: _sharedUi.night.color.glass
|
|
243
|
+
},
|
|
244
|
+
input: {
|
|
245
|
+
color: _sharedUi.night.color.text,
|
|
246
|
+
fontSize: 14,
|
|
247
|
+
padding: 6,
|
|
248
|
+
minHeight: 36
|
|
249
|
+
},
|
|
250
|
+
title: {
|
|
251
|
+
fontSize: 16,
|
|
252
|
+
fontWeight: "600"
|
|
253
|
+
},
|
|
254
|
+
result: {
|
|
255
|
+
gap: 10,
|
|
256
|
+
padding: 16,
|
|
257
|
+
borderWidth: 1,
|
|
258
|
+
borderColor: _sharedUi.night.color.glassBorder,
|
|
259
|
+
borderRadius: 14
|
|
260
|
+
},
|
|
261
|
+
resultTitle: {
|
|
262
|
+
color: _sharedUi.night.color.text,
|
|
263
|
+
fontWeight: "500",
|
|
264
|
+
fontSize: 13,
|
|
265
|
+
flexShrink: 1
|
|
266
|
+
},
|
|
267
|
+
secondary: {
|
|
268
|
+
alignSelf: "flex-start",
|
|
269
|
+
paddingHorizontal: 14,
|
|
270
|
+
paddingVertical: 8,
|
|
271
|
+
borderRadius: 24,
|
|
272
|
+
backgroundColor: _sharedUi.night.color.fillSecondary
|
|
273
|
+
},
|
|
274
|
+
secondaryText: {
|
|
275
|
+
color: _sharedUi.night.color.accent,
|
|
276
|
+
fontSize: 13
|
|
277
|
+
},
|
|
278
|
+
options: {
|
|
279
|
+
flexDirection: "row",
|
|
280
|
+
alignItems: "center",
|
|
281
|
+
gap: 6,
|
|
282
|
+
paddingVertical: 12
|
|
283
|
+
},
|
|
284
|
+
footer: {
|
|
285
|
+
padding: 14,
|
|
286
|
+
gap: 8,
|
|
287
|
+
borderTopWidth: 1,
|
|
288
|
+
borderTopColor: _sharedUi.night.color.separator
|
|
289
|
+
},
|
|
290
|
+
footerRow: {
|
|
291
|
+
flexDirection: "row",
|
|
292
|
+
flexWrap: "wrap",
|
|
293
|
+
alignItems: "center",
|
|
294
|
+
justifyContent: "space-between",
|
|
295
|
+
gap: 12
|
|
296
|
+
},
|
|
297
|
+
hint: {
|
|
298
|
+
flexGrow: 1,
|
|
299
|
+
flexShrink: 1,
|
|
300
|
+
flexBasis: 200
|
|
301
|
+
},
|
|
302
|
+
send: {
|
|
303
|
+
flexDirection: "row",
|
|
304
|
+
alignItems: "center",
|
|
305
|
+
justifyContent: "center",
|
|
306
|
+
gap: 8,
|
|
307
|
+
borderRadius: 24,
|
|
308
|
+
paddingHorizontal: 18,
|
|
309
|
+
paddingVertical: 12,
|
|
310
|
+
backgroundColor: _sharedUi.night.color.accent
|
|
311
|
+
},
|
|
312
|
+
sendText: {
|
|
313
|
+
color: _sharedUi.night.color.onAccent,
|
|
314
|
+
fontSize: 13,
|
|
315
|
+
fontWeight: "600"
|
|
316
|
+
},
|
|
317
|
+
disabled: {
|
|
318
|
+
opacity: 0.4
|
|
319
|
+
},
|
|
320
|
+
pressed: {
|
|
321
|
+
opacity: 0.8
|
|
322
|
+
},
|
|
323
|
+
error: {
|
|
324
|
+
color: _sharedUi.night.color.danger,
|
|
325
|
+
fontSize: 12,
|
|
326
|
+
lineHeight: 18
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
//# sourceMappingURL=NotificationTestView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_sharedUi","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","NotificationTestView","props","iconFailed","setIconFailed","useState","useEffect","appearance","iconUri","ink","textColor","color","undefined","optionsOpen","setOptionsOpen","insets","useSafeAreaInsets","minBottom","jsxs","View","style","s","root","children","jsx","ScrollView","testID","contentContainerStyle","scroll","keyboardShouldPersistTaps","content","intro","Text","accessibilityRole","heading","caption","destination","previewNote","preview","backgroundColor","borderColor","accessibilityLabel","row","Image","source","uri","appName","appIcon","onError","iconFallback","NotificationsIcon","size","night","accent","numberOfLines","TextInput","placeholder","placeholderTextColor","value","title","onChangeText","onTitleChange","input","editable","busy","message","onMessageChange","result","accessibilityLiveRegion","failed","XCircle","danger","CheckCircle","resultTitle","Pressable","onPress","onViewActivity","secondary","secondaryText","accessibilityState","expanded","options","ChevronDown","textSecondary","ChevronRight","footer","paddingBottom","bottom","error","notice","footerRow","hint","disabled","onSend","pressed","send","onAccent","sendText","StyleSheet","create","flex","minHeight","minWidth","padding","flexGrow","width","maxWidth","alignSelf","gap","paddingTop","text","fontSize","fontWeight","letterSpacing","lineHeight","flexDirection","alignItems","height","borderRadius","justifyContent","fillSecondary","borderWidth","glassBorder","glass","flexShrink","paddingHorizontal","paddingVertical","borderTopWidth","borderTopColor","separator","flexWrap","flexBasis","opacity"],"sourceRoot":"../../../src","sources":["components/NotificationTestView.tsx"],"mappings":"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","ignoreList":[]}
|