about summary refs log tree commit diff
path: root/plugins/notificationsExtension/withNotificationsExtension.js
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/notificationsExtension/withNotificationsExtension.js')
-rw-r--r--plugins/notificationsExtension/withNotificationsExtension.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/plugins/notificationsExtension/withNotificationsExtension.js b/plugins/notificationsExtension/withNotificationsExtension.js
new file mode 100644
index 000000000..6a00cfd23
--- /dev/null
+++ b/plugins/notificationsExtension/withNotificationsExtension.js
@@ -0,0 +1,55 @@
+const {withPlugins} = require('@expo/config-plugins')
+const {withAppEntitlements} = require('./withAppEntitlements')
+const {withXcodeTarget} = require('./withXcodeTarget')
+const {withExtensionEntitlements} = require('./withExtensionEntitlements')
+const {withExtensionInfoPlist} = require('./withExtensionInfoPlist')
+const {withExtensionViewController} = require('./withExtensionViewController')
+const {withSounds} = require('./withSounds')
+
+const EXTENSION_NAME = 'BlueskyNSE'
+const EXTENSION_CONTROLLER_NAME = 'NotificationService'
+
+const withNotificationsExtension = config => {
+  const soundFiles = ['dm.aiff']
+
+  return withPlugins(config, [
+    // IOS
+    withAppEntitlements,
+    [
+      withExtensionEntitlements,
+      {
+        extensionName: EXTENSION_NAME,
+      },
+    ],
+    [
+      withExtensionInfoPlist,
+      {
+        extensionName: EXTENSION_NAME,
+      },
+    ],
+    [
+      withExtensionViewController,
+      {
+        extensionName: EXTENSION_NAME,
+        controllerName: EXTENSION_CONTROLLER_NAME,
+      },
+    ],
+    [
+      withSounds,
+      {
+        extensionName: EXTENSION_NAME,
+        soundFiles,
+      },
+    ],
+    [
+      withXcodeTarget,
+      {
+        extensionName: EXTENSION_NAME,
+        controllerName: EXTENSION_CONTROLLER_NAME,
+        soundFiles,
+      },
+    ],
+  ])
+}
+
+module.exports = withNotificationsExtension