@kiosinc/commons-rn 0.1.93 → 0.1.95
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/helpers/AssetManager.js +5 -1
- package/lib/commonjs/helpers/AssetManager.js.map +1 -1
- package/lib/commonjs/helpers/notifications/NotificationHandler.js +5 -5
- package/lib/commonjs/helpers/notifications/NotificationHandler.js.map +1 -1
- package/lib/module/helpers/AssetManager.js +5 -1
- package/lib/module/helpers/AssetManager.js.map +1 -1
- package/lib/module/helpers/notifications/NotificationHandler.js +5 -5
- package/lib/module/helpers/notifications/NotificationHandler.js.map +1 -1
- package/lib/typescript/src/helpers/AssetManager.d.ts +1 -1
- package/lib/typescript/src/helpers/AssetManager.d.ts.map +1 -1
- package/lib/typescript/src/helpers/notifications/NotificationHandler.d.ts +1 -1
- package/lib/typescript/src/helpers/notifications/NotificationHandler.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/helpers/AssetManager.ts +6 -1
- package/src/helpers/notifications/NotificationHandler.ts +7 -5
|
@@ -15,12 +15,16 @@ class AssetManager {
|
|
|
15
15
|
const fileExtension = path.split('.')?.pop()?.toLowerCase() ?? '';
|
|
16
16
|
const videoExtensions = ['mp4', 'avi', 'mov', 'mkv', 'wmv', 'flv', 'webm'];
|
|
17
17
|
const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
|
|
18
|
+
const fileExtensions = ['pdf'];
|
|
18
19
|
if (videoExtensions.includes(fileExtension)) {
|
|
19
20
|
return 'video';
|
|
20
21
|
}
|
|
21
22
|
if (imageExtensions.includes(fileExtension)) {
|
|
22
23
|
return 'image';
|
|
23
24
|
}
|
|
25
|
+
if (fileExtensions.includes(fileExtension)) {
|
|
26
|
+
return fileExtension;
|
|
27
|
+
}
|
|
24
28
|
_reactNative.Alert.alert(`Unsupported default asset ${path}`);
|
|
25
29
|
return null;
|
|
26
30
|
}
|
|
@@ -101,7 +105,7 @@ class AssetManager {
|
|
|
101
105
|
// If not cached, fetch from storage and cache the result
|
|
102
106
|
const downloadURL = await (0, _storage.default)().refFromURL(path).getDownloadURL();
|
|
103
107
|
const metaData = await (0, _storage.default)().refFromURL(path).getMetadata();
|
|
104
|
-
const type = metaData?.customMetadata?.type ?? AssetManager.detectTypeFromPath(path);
|
|
108
|
+
const type = (metaData?.customMetadata?.type || metaData.contentType) ?? AssetManager.detectTypeFromPath(path);
|
|
105
109
|
const assetDetails = {
|
|
106
110
|
uri: downloadURL,
|
|
107
111
|
type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeFastImage","_interopRequireDefault","require","_storage","_reactNativeBlobUtil","_reactNative","obj","__esModule","default","AssetManager","assetCache","detectTypeFromPath","path","fileExtension","split","pop","toLowerCase","videoExtensions","imageExtensions","includes","Alert","alert","clearCache","FastImage","clearDiskCache","clearMemoryCache","uploadImage","uri","base64","type","setProgress","reference","storage","ref","task","putString","StringFormat","BASE64","cacheControl","putFile","previousTime","Date","now","previousBytesTransferred","speed","on","taskSnapshot","currentTime","currentBytesTransferred","bytesTransferred","timeDifference","bytesDifference","uploadSpeedMegabytesPerSecond","toFixed","percentage","Math","ceil","totalBytes","updateMetadata","customMetadata","url","toString","downloadImage","dirs","ReactNativeBlobUtil","fs","res","config","DocumentDir","fetch","fileExists","documentDir","exists","getBase64","readFile","getAssetURL","downloadURL","refFromURL","getDownloadURL","metaData","getMetadata","assetDetails","e","exports"],"sourceRoot":"../../../src","sources":["helpers/AssetManager.ts"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAAqC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAG9B,MAAMG,YAAY,CAAC;EACxB,OAAeC,UAAU,GAKrB,CAAC,CAAC;EAEN,OAAOC,kBAAkBA,CAACC,IAAY,EAAE;IACtC,MAAMC,aAAa,GAAGD,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,EAAEC,GAAG,CAAC,CAAC,EAAEC,WAAW,CAAC,CAAC,IAAI,EAAE;IACjE,MAAMC,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IAC1E,MAAMC,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAC5D,
|
|
1
|
+
{"version":3,"names":["_reactNativeFastImage","_interopRequireDefault","require","_storage","_reactNativeBlobUtil","_reactNative","obj","__esModule","default","AssetManager","assetCache","detectTypeFromPath","path","fileExtension","split","pop","toLowerCase","videoExtensions","imageExtensions","fileExtensions","includes","Alert","alert","clearCache","FastImage","clearDiskCache","clearMemoryCache","uploadImage","uri","base64","type","setProgress","reference","storage","ref","task","putString","StringFormat","BASE64","cacheControl","putFile","previousTime","Date","now","previousBytesTransferred","speed","on","taskSnapshot","currentTime","currentBytesTransferred","bytesTransferred","timeDifference","bytesDifference","uploadSpeedMegabytesPerSecond","toFixed","percentage","Math","ceil","totalBytes","updateMetadata","customMetadata","url","toString","downloadImage","dirs","ReactNativeBlobUtil","fs","res","config","DocumentDir","fetch","fileExists","documentDir","exists","getBase64","readFile","getAssetURL","downloadURL","refFromURL","getDownloadURL","metaData","getMetadata","contentType","assetDetails","e","exports"],"sourceRoot":"../../../src","sources":["helpers/AssetManager.ts"],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ class NotificationHandler {
|
|
|
13
13
|
const authStatus = await (0, _messaging.default)().requestPermission();
|
|
14
14
|
const enabled = authStatus === _messaging.default.AuthorizationStatus.AUTHORIZED || authStatus === _messaging.default.AuthorizationStatus.PROVISIONAL;
|
|
15
15
|
if (enabled) {
|
|
16
|
-
console.log('
|
|
16
|
+
console.log('Notification permission granted:', authStatus);
|
|
17
17
|
}
|
|
18
18
|
} catch (error) {
|
|
19
19
|
console.error('Permission request failed:', error);
|
|
@@ -36,7 +36,6 @@ class NotificationHandler {
|
|
|
36
36
|
static async refreshToken(onTokenRefreshed) {
|
|
37
37
|
(0, _messaging.default)().onTokenRefresh(async fcmToken => {
|
|
38
38
|
console.log('New FCM Token:', fcmToken);
|
|
39
|
-
// Execute the callback with the new token
|
|
40
39
|
onTokenRefreshed(fcmToken);
|
|
41
40
|
});
|
|
42
41
|
}
|
|
@@ -49,10 +48,10 @@ class NotificationHandler {
|
|
|
49
48
|
});
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
// Handle Notification Clicks
|
|
51
|
+
// Handle Notification Clicks in Background/Quit State
|
|
53
52
|
static onNotificationOpenedApp(callback) {
|
|
54
53
|
(0, _messaging.default)().onNotificationOpenedApp(remoteMessage => {
|
|
55
|
-
console.log('App opened from background
|
|
54
|
+
console.log('App opened from background via notification:', remoteMessage);
|
|
56
55
|
callback(remoteMessage);
|
|
57
56
|
});
|
|
58
57
|
}
|
|
@@ -67,9 +66,10 @@ class NotificationHandler {
|
|
|
67
66
|
}
|
|
68
67
|
|
|
69
68
|
// Background Message Handler
|
|
70
|
-
static handleBackgroundMessage() {
|
|
69
|
+
static handleBackgroundMessage(callback) {
|
|
71
70
|
(0, _messaging.default)().setBackgroundMessageHandler(async remoteMessage => {
|
|
72
71
|
console.log('Message handled in the background!', remoteMessage);
|
|
72
|
+
callback(remoteMessage);
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_messaging","_interopRequireDefault","require","obj","__esModule","default","NotificationHandler","requestPermission","authStatus","messaging","enabled","AuthorizationStatus","AUTHORIZED","PROVISIONAL","console","log","error","getToken","token","refreshToken","onTokenRefreshed","onTokenRefresh","fcmToken","onNotificationReceived","callback","onMessage","remoteMessage","onNotificationOpenedApp","onNotificationInitialAppOpen","getInitialNotification","handleBackgroundMessage","setBackgroundMessageHandler","subscribeToTopic","topic","unsubscribeFromTopic","exports"],"sourceRoot":"../../../../src","sources":["helpers/notifications/NotificationHandler.ts"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAE0C,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEnC,MAAMG,mBAAmB,CAAC;EAC/B;EACA,aAAaC,iBAAiBA,CAAA,EAAkB;IAC9C,IAAI;MACF,MAAMC,UAAU,GAAG,MAAM,IAAAC,kBAAS,EAAC,CAAC,CAACF,iBAAiB,CAAC,CAAC;MACxD,MAAMG,OAAO,GACXF,UAAU,KAAKC,kBAAS,CAACE,mBAAmB,CAACC,UAAU,IACvDJ,UAAU,KAAKC,kBAAS,CAACE,mBAAmB,CAACE,WAAW;MAE1D,IAAIH,OAAO,EAAE;QACXI,OAAO,CAACC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"names":["_messaging","_interopRequireDefault","require","obj","__esModule","default","NotificationHandler","requestPermission","authStatus","messaging","enabled","AuthorizationStatus","AUTHORIZED","PROVISIONAL","console","log","error","getToken","token","refreshToken","onTokenRefreshed","onTokenRefresh","fcmToken","onNotificationReceived","callback","onMessage","remoteMessage","onNotificationOpenedApp","onNotificationInitialAppOpen","getInitialNotification","handleBackgroundMessage","setBackgroundMessageHandler","subscribeToTopic","topic","unsubscribeFromTopic","exports"],"sourceRoot":"../../../../src","sources":["helpers/notifications/NotificationHandler.ts"],"mappings":"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"}
|
|
@@ -8,12 +8,16 @@ export class AssetManager {
|
|
|
8
8
|
const fileExtension = path.split('.')?.pop()?.toLowerCase() ?? '';
|
|
9
9
|
const videoExtensions = ['mp4', 'avi', 'mov', 'mkv', 'wmv', 'flv', 'webm'];
|
|
10
10
|
const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
|
|
11
|
+
const fileExtensions = ['pdf'];
|
|
11
12
|
if (videoExtensions.includes(fileExtension)) {
|
|
12
13
|
return 'video';
|
|
13
14
|
}
|
|
14
15
|
if (imageExtensions.includes(fileExtension)) {
|
|
15
16
|
return 'image';
|
|
16
17
|
}
|
|
18
|
+
if (fileExtensions.includes(fileExtension)) {
|
|
19
|
+
return fileExtension;
|
|
20
|
+
}
|
|
17
21
|
Alert.alert(`Unsupported default asset ${path}`);
|
|
18
22
|
return null;
|
|
19
23
|
}
|
|
@@ -94,7 +98,7 @@ export class AssetManager {
|
|
|
94
98
|
// If not cached, fetch from storage and cache the result
|
|
95
99
|
const downloadURL = await storage().refFromURL(path).getDownloadURL();
|
|
96
100
|
const metaData = await storage().refFromURL(path).getMetadata();
|
|
97
|
-
const type = metaData?.customMetadata?.type ?? AssetManager.detectTypeFromPath(path);
|
|
101
|
+
const type = (metaData?.customMetadata?.type || metaData.contentType) ?? AssetManager.detectTypeFromPath(path);
|
|
98
102
|
const assetDetails = {
|
|
99
103
|
uri: downloadURL,
|
|
100
104
|
type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FastImage","storage","ReactNativeBlobUtil","Alert","AssetManager","assetCache","detectTypeFromPath","path","fileExtension","split","pop","toLowerCase","videoExtensions","imageExtensions","includes","alert","clearCache","clearDiskCache","clearMemoryCache","uploadImage","uri","base64","type","setProgress","reference","ref","task","putString","StringFormat","BASE64","cacheControl","putFile","previousTime","Date","now","previousBytesTransferred","speed","on","taskSnapshot","currentTime","currentBytesTransferred","bytesTransferred","timeDifference","bytesDifference","uploadSpeedMegabytesPerSecond","toFixed","percentage","Math","ceil","totalBytes","updateMetadata","customMetadata","url","toString","downloadImage","dirs","fs","res","config","DocumentDir","fetch","fileExists","documentDir","exists","getBase64","readFile","getAssetURL","downloadURL","refFromURL","getDownloadURL","metaData","getMetadata","assetDetails","e"],"sourceRoot":"../../../src","sources":["helpers/AssetManager.ts"],"mappings":"AAAA,OAAOA,SAAS,MAAM,yBAAyB;AAC/C,OAAOC,OAAO,MAAgC,gCAAgC;AAC9E,OAAOC,mBAAmB,MAAM,wBAAwB;AACxD,SAASC,KAAK,QAAQ,cAAc;AAGpC,OAAO,MAAMC,YAAY,CAAC;EACxB,OAAeC,UAAU,GAKrB,CAAC,CAAC;EAEN,OAAOC,kBAAkBA,CAACC,IAAY,EAAE;IACtC,MAAMC,aAAa,GAAGD,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC,EAAEC,GAAG,CAAC,CAAC,EAAEC,WAAW,CAAC,CAAC,IAAI,EAAE;IACjE,MAAMC,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC;IAC1E,MAAMC,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;IAC5D,
|
|
1
|
+
{"version":3,"names":["FastImage","storage","ReactNativeBlobUtil","Alert","AssetManager","assetCache","detectTypeFromPath","path","fileExtension","split","pop","toLowerCase","videoExtensions","imageExtensions","fileExtensions","includes","alert","clearCache","clearDiskCache","clearMemoryCache","uploadImage","uri","base64","type","setProgress","reference","ref","task","putString","StringFormat","BASE64","cacheControl","putFile","previousTime","Date","now","previousBytesTransferred","speed","on","taskSnapshot","currentTime","currentBytesTransferred","bytesTransferred","timeDifference","bytesDifference","uploadSpeedMegabytesPerSecond","toFixed","percentage","Math","ceil","totalBytes","updateMetadata","customMetadata","url","toString","downloadImage","dirs","fs","res","config","DocumentDir","fetch","fileExists","documentDir","exists","getBase64","readFile","getAssetURL","downloadURL","refFromURL","getDownloadURL","metaData","getMetadata","contentType","assetDetails","e"],"sourceRoot":"../../../src","sources":["helpers/AssetManager.ts"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export class NotificationHandler {
|
|
|
6
6
|
const authStatus = await messaging().requestPermission();
|
|
7
7
|
const enabled = authStatus === messaging.AuthorizationStatus.AUTHORIZED || authStatus === messaging.AuthorizationStatus.PROVISIONAL;
|
|
8
8
|
if (enabled) {
|
|
9
|
-
console.log('
|
|
9
|
+
console.log('Notification permission granted:', authStatus);
|
|
10
10
|
}
|
|
11
11
|
} catch (error) {
|
|
12
12
|
console.error('Permission request failed:', error);
|
|
@@ -29,7 +29,6 @@ export class NotificationHandler {
|
|
|
29
29
|
static async refreshToken(onTokenRefreshed) {
|
|
30
30
|
messaging().onTokenRefresh(async fcmToken => {
|
|
31
31
|
console.log('New FCM Token:', fcmToken);
|
|
32
|
-
// Execute the callback with the new token
|
|
33
32
|
onTokenRefreshed(fcmToken);
|
|
34
33
|
});
|
|
35
34
|
}
|
|
@@ -42,10 +41,10 @@ export class NotificationHandler {
|
|
|
42
41
|
});
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
// Handle Notification Clicks
|
|
44
|
+
// Handle Notification Clicks in Background/Quit State
|
|
46
45
|
static onNotificationOpenedApp(callback) {
|
|
47
46
|
messaging().onNotificationOpenedApp(remoteMessage => {
|
|
48
|
-
console.log('App opened from background
|
|
47
|
+
console.log('App opened from background via notification:', remoteMessage);
|
|
49
48
|
callback(remoteMessage);
|
|
50
49
|
});
|
|
51
50
|
}
|
|
@@ -60,9 +59,10 @@ export class NotificationHandler {
|
|
|
60
59
|
}
|
|
61
60
|
|
|
62
61
|
// Background Message Handler
|
|
63
|
-
static handleBackgroundMessage() {
|
|
62
|
+
static handleBackgroundMessage(callback) {
|
|
64
63
|
messaging().setBackgroundMessageHandler(async remoteMessage => {
|
|
65
64
|
console.log('Message handled in the background!', remoteMessage);
|
|
65
|
+
callback(remoteMessage);
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["messaging","NotificationHandler","requestPermission","authStatus","enabled","AuthorizationStatus","AUTHORIZED","PROVISIONAL","console","log","error","getToken","token","refreshToken","onTokenRefreshed","onTokenRefresh","fcmToken","onNotificationReceived","callback","onMessage","remoteMessage","onNotificationOpenedApp","onNotificationInitialAppOpen","getInitialNotification","handleBackgroundMessage","setBackgroundMessageHandler","subscribeToTopic","topic","unsubscribeFromTopic"],"sourceRoot":"../../../../src","sources":["helpers/notifications/NotificationHandler.ts"],"mappings":"AAAA,OAAOA,SAAS,MAET,kCAAkC;AAEzC,OAAO,MAAMC,mBAAmB,CAAC;EAC/B;EACA,aAAaC,iBAAiBA,CAAA,EAAkB;IAC9C,IAAI;MACF,MAAMC,UAAU,GAAG,MAAMH,SAAS,CAAC,CAAC,CAACE,iBAAiB,CAAC,CAAC;MACxD,MAAME,OAAO,GACXD,UAAU,KAAKH,SAAS,CAACK,mBAAmB,CAACC,UAAU,IACvDH,UAAU,KAAKH,SAAS,CAACK,mBAAmB,CAACE,WAAW;MAE1D,IAAIH,OAAO,EAAE;QACXI,OAAO,CAACC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"names":["messaging","NotificationHandler","requestPermission","authStatus","enabled","AuthorizationStatus","AUTHORIZED","PROVISIONAL","console","log","error","getToken","token","refreshToken","onTokenRefreshed","onTokenRefresh","fcmToken","onNotificationReceived","callback","onMessage","remoteMessage","onNotificationOpenedApp","onNotificationInitialAppOpen","getInitialNotification","handleBackgroundMessage","setBackgroundMessageHandler","subscribeToTopic","topic","unsubscribeFromTopic"],"sourceRoot":"../../../../src","sources":["helpers/notifications/NotificationHandler.ts"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { FirebaseStorageTypes } from '@react-native-firebase/storage';
|
|
|
3
3
|
type TaskSnapshot = FirebaseStorageTypes.TaskSnapshot;
|
|
4
4
|
export declare class AssetManager {
|
|
5
5
|
private static assetCache;
|
|
6
|
-
static detectTypeFromPath(path: string):
|
|
6
|
+
static detectTypeFromPath(path: string): string | null;
|
|
7
7
|
static clearCache(): Promise<void>;
|
|
8
8
|
static uploadImage({ uri, base64, path, type, setProgress, }: {
|
|
9
9
|
uri: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetManager.d.ts","sourceRoot":"","sources":["../../../../src/helpers/AssetManager.ts"],"names":[],"mappings":";AACA,OAAgB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAI/E,KAAK,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAC;AACtD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAKlB;IAEP,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"AssetManager.d.ts","sourceRoot":"","sources":["../../../../src/helpers/AssetManager.ts"],"names":[],"mappings":";AACA,OAAgB,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAI/E,KAAK,YAAY,GAAG,oBAAoB,CAAC,YAAY,CAAC;AACtD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAKlB;IAEP,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM;WAkBzB,UAAU;WAKV,WAAW,CAAC,EACvB,GAAG,EACH,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;QACxB,WAAW,EAAE,KAAK,CAAC,QAAQ,CACzB,KAAK,CAAC,cAAc,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;YACnB,KAAK,EAAE,MAAM,CAAC;SACf,CAAC,CACH,CAAC;KACH,GAAG,OAAO,CAAC;QACV,YAAY,EAAE,YAAY,CAAC;QAC3B,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;WAyDW,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAQzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAK1C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAKxC,WAAW,CAAC,IAAI,EAAE,MAAM;;;;CAyBtC"}
|
|
@@ -6,7 +6,7 @@ export declare class NotificationHandler {
|
|
|
6
6
|
static onNotificationReceived(callback: (message: FirebaseMessagingTypes.RemoteMessage) => void): void;
|
|
7
7
|
static onNotificationOpenedApp(callback: (message: FirebaseMessagingTypes.RemoteMessage | null) => void): void;
|
|
8
8
|
static onNotificationInitialAppOpen(callback: (message: FirebaseMessagingTypes.RemoteMessage | null) => void): Promise<void>;
|
|
9
|
-
static handleBackgroundMessage(): void;
|
|
9
|
+
static handleBackgroundMessage(callback: (message: FirebaseMessagingTypes.RemoteMessage | null) => void): void;
|
|
10
10
|
static subscribeToTopic(topic: string): Promise<void>;
|
|
11
11
|
static unsubscribeFromTopic(topic: string): Promise<void>;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationHandler.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/notifications/NotificationHandler.ts"],"names":[],"mappings":"AAAA,OAAkB,EAChB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,qBAAa,mBAAmB;WAEjB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;WAgBlC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAYlC,YAAY,CACvB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACxC,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"NotificationHandler.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/notifications/NotificationHandler.ts"],"names":[],"mappings":"AAAA,OAAkB,EAChB,sBAAsB,EACvB,MAAM,kCAAkC,CAAC;AAE1C,qBAAa,mBAAmB;WAEjB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;WAgBlC,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAYlC,YAAY,CACvB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GACxC,OAAO,CAAC,IAAI,CAAC;IAQhB,MAAM,CAAC,sBAAsB,CAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,aAAa,KAAK,IAAI,GAChE,IAAI;IAUP,MAAM,CAAC,uBAAuB,CAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,aAAa,GAAG,IAAI,KAAK,IAAI,GACvE,IAAI;WAaM,4BAA4B,CACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,aAAa,GAAG,IAAI,KAAK,IAAI,GACvE,OAAO,CAAC,IAAI,CAAC;IAYhB,MAAM,CAAC,uBAAuB,CAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,CAAC,aAAa,GAAG,IAAI,KAAK,IAAI,GACvE,IAAI;WAUM,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;WAU9C,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQhE"}
|
package/package.json
CHANGED
|
@@ -16,12 +16,16 @@ export class AssetManager {
|
|
|
16
16
|
const fileExtension = path.split('.')?.pop()?.toLowerCase() ?? '';
|
|
17
17
|
const videoExtensions = ['mp4', 'avi', 'mov', 'mkv', 'wmv', 'flv', 'webm'];
|
|
18
18
|
const imageExtensions = ['jpg', 'jpeg', 'png', 'gif', 'bmp'];
|
|
19
|
+
const fileExtensions = ['pdf'];
|
|
19
20
|
if (videoExtensions.includes(fileExtension)) {
|
|
20
21
|
return 'video';
|
|
21
22
|
}
|
|
22
23
|
if (imageExtensions.includes(fileExtension)) {
|
|
23
24
|
return 'image';
|
|
24
25
|
}
|
|
26
|
+
if (fileExtensions.includes(fileExtension)) {
|
|
27
|
+
return fileExtension;
|
|
28
|
+
}
|
|
25
29
|
Alert.alert(`Unsupported default asset ${path}`);
|
|
26
30
|
return null;
|
|
27
31
|
}
|
|
@@ -136,7 +140,8 @@ export class AssetManager {
|
|
|
136
140
|
// If not cached, fetch from storage and cache the result
|
|
137
141
|
const downloadURL = await storage().refFromURL(path).getDownloadURL();
|
|
138
142
|
const metaData = await storage().refFromURL(path).getMetadata();
|
|
139
|
-
|
|
143
|
+
|
|
144
|
+
const type = ((metaData?.customMetadata?.type || metaData.contentType) ??
|
|
140
145
|
AssetManager.detectTypeFromPath(path)) as string;
|
|
141
146
|
const assetDetails = {
|
|
142
147
|
uri: downloadURL,
|
|
@@ -12,7 +12,7 @@ export class NotificationHandler {
|
|
|
12
12
|
authStatus === messaging.AuthorizationStatus.PROVISIONAL;
|
|
13
13
|
|
|
14
14
|
if (enabled) {
|
|
15
|
-
console.log('
|
|
15
|
+
console.log('Notification permission granted:', authStatus);
|
|
16
16
|
}
|
|
17
17
|
} catch (error) {
|
|
18
18
|
console.error('Permission request failed:', error);
|
|
@@ -37,7 +37,6 @@ export class NotificationHandler {
|
|
|
37
37
|
): Promise<void> {
|
|
38
38
|
messaging().onTokenRefresh(async (fcmToken: string) => {
|
|
39
39
|
console.log('New FCM Token:', fcmToken);
|
|
40
|
-
// Execute the callback with the new token
|
|
41
40
|
onTokenRefreshed(fcmToken);
|
|
42
41
|
});
|
|
43
42
|
}
|
|
@@ -54,14 +53,14 @@ export class NotificationHandler {
|
|
|
54
53
|
);
|
|
55
54
|
}
|
|
56
55
|
|
|
57
|
-
// Handle Notification Clicks
|
|
56
|
+
// Handle Notification Clicks in Background/Quit State
|
|
58
57
|
static onNotificationOpenedApp(
|
|
59
58
|
callback: (message: FirebaseMessagingTypes.RemoteMessage | null) => void
|
|
60
59
|
): void {
|
|
61
60
|
messaging().onNotificationOpenedApp(
|
|
62
61
|
(remoteMessage: FirebaseMessagingTypes.RemoteMessage) => {
|
|
63
62
|
console.log(
|
|
64
|
-
'App opened from background
|
|
63
|
+
'App opened from background via notification:',
|
|
65
64
|
remoteMessage
|
|
66
65
|
);
|
|
67
66
|
callback(remoteMessage);
|
|
@@ -84,10 +83,13 @@ export class NotificationHandler {
|
|
|
84
83
|
}
|
|
85
84
|
|
|
86
85
|
// Background Message Handler
|
|
87
|
-
static handleBackgroundMessage(
|
|
86
|
+
static handleBackgroundMessage(
|
|
87
|
+
callback: (message: FirebaseMessagingTypes.RemoteMessage | null) => void
|
|
88
|
+
): void {
|
|
88
89
|
messaging().setBackgroundMessageHandler(
|
|
89
90
|
async (remoteMessage: FirebaseMessagingTypes.RemoteMessage) => {
|
|
90
91
|
console.log('Message handled in the background!', remoteMessage);
|
|
92
|
+
callback(remoteMessage);
|
|
91
93
|
}
|
|
92
94
|
);
|
|
93
95
|
}
|