An ATproto social media client -- with an independent Appview.
1const {withPlugins} = require('@expo/config-plugins')
2const {withAppEntitlements} = require('./withAppEntitlements')
3const {withXcodeTarget} = require('./withXcodeTarget')
4const {withExtensionEntitlements} = require('./withExtensionEntitlements')
5const {withExtensionInfoPlist} = require('./withExtensionInfoPlist')
6const {withExtensionViewController} = require('./withExtensionViewController')
7const {withSounds} = require('./withSounds')
8
9const EXTENSION_NAME = 'BlueskyNSE'
10const EXTENSION_CONTROLLER_NAME = 'NotificationService'
11
12const withNotificationsExtension = config => {
13 const soundFiles = ['dm.aiff']
14
15 return withPlugins(config, [
16 // IOS
17 withAppEntitlements,
18 [
19 withExtensionEntitlements,
20 {
21 extensionName: EXTENSION_NAME,
22 },
23 ],
24 [
25 withExtensionInfoPlist,
26 {
27 extensionName: EXTENSION_NAME,
28 },
29 ],
30 [
31 withExtensionViewController,
32 {
33 extensionName: EXTENSION_NAME,
34 controllerName: EXTENSION_CONTROLLER_NAME,
35 },
36 ],
37 [
38 withSounds,
39 {
40 extensionName: EXTENSION_NAME,
41 soundFiles,
42 },
43 ],
44 [
45 withXcodeTarget,
46 {
47 extensionName: EXTENSION_NAME,
48 controllerName: EXTENSION_CONTROLLER_NAME,
49 soundFiles,
50 },
51 ],
52 ])
53}
54
55module.exports = withNotificationsExtension