@sendbird/uikit-react-native 3.7.2 → 3.7.3

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.
Files changed (34) hide show
  1. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js +2 -2
  2. package/lib/commonjs/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -1
  3. package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +2 -2
  4. package/lib/commonjs/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -1
  5. package/lib/commonjs/hooks/usePushTokenRegistration.js +10 -7
  6. package/lib/commonjs/hooks/usePushTokenRegistration.js.map +1 -1
  7. package/lib/commonjs/localization/StringSet.en.js +2 -3
  8. package/lib/commonjs/localization/StringSet.en.js.map +1 -1
  9. package/lib/commonjs/version.js +1 -1
  10. package/lib/commonjs/version.js.map +1 -1
  11. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js +1 -1
  12. package/lib/module/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.js.map +1 -1
  13. package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js +1 -1
  14. package/lib/module/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.js.map +1 -1
  15. package/lib/module/hooks/usePushTokenRegistration.js +10 -7
  16. package/lib/module/hooks/usePushTokenRegistration.js.map +1 -1
  17. package/lib/module/localization/StringSet.en.js +2 -2
  18. package/lib/module/localization/StringSet.en.js.map +1 -1
  19. package/lib/module/version.js +1 -1
  20. package/lib/module/version.js.map +1 -1
  21. package/lib/typescript/src/containers/SendbirdUIKitContainer.d.ts +1 -1
  22. package/lib/typescript/src/domain/groupChannel/component/GroupChannelInput.d.ts +1 -1
  23. package/lib/typescript/src/domain/groupChannel/component/GroupChannelMessageList.d.ts +1 -1
  24. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadInput.d.ts +1 -1
  25. package/lib/typescript/src/domain/groupChannelThread/component/GroupChannelThreadMessageList.d.ts +1 -1
  26. package/lib/typescript/src/domain/openChannel/component/OpenChannelInput.d.ts +1 -1
  27. package/lib/typescript/src/domain/openChannel/component/OpenChannelMessageList.d.ts +1 -1
  28. package/lib/typescript/src/version.d.ts +1 -1
  29. package/package.json +6 -6
  30. package/src/components/GroupChannelMessageRenderer/GroupChannelMessageDateSeparator.tsx +1 -1
  31. package/src/components/OpenChannelMessageRenderer/OpenChannelMessageDateSeparator.tsx +1 -1
  32. package/src/hooks/usePushTokenRegistration.ts +10 -7
  33. package/src/localization/StringSet.en.ts +2 -2
  34. package/src/version.ts +1 -1
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _isSameDay = _interopRequireDefault(require("date-fns/isSameDay"));
7
+ var _dateFns = require("date-fns");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactNative = require("react-native");
10
10
  var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
@@ -21,7 +21,7 @@ const GroupChannelMessageDateSeparator = _ref => {
21
21
  const {
22
22
  colors
23
23
  } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
24
- const sameDay = (0, _isSameDay.default)(message.createdAt, (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.createdAt) ?? 0);
24
+ const sameDay = (0, _dateFns.isSameDay)(message.createdAt, (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.createdAt) ?? 0);
25
25
  if (sameDay) return null;
26
26
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
27
27
  style: styles.container
@@ -1 +1 @@
1
- {"version":3,"names":["_isSameDay","_interopRequireDefault","require","_react","_reactNative","_uikitReactNativeFoundation","_useContext","obj","__esModule","default","GroupChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","useLocalization","colors","useUIKitTheme","sameDay","isSameDay","createdAt","createElement","View","style","styles","container","view","backgroundColor","ui","dateSeparator","none","background","Text","caption1","color","text","GROUP_CHANNEL","LIST_DATE_SEPARATOR","Date","createStyleSheet","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal","_default","exports"],"sources":["GroupChannelMessageDateSeparator.tsx"],"sourcesContent":["import isSameDay from 'date-fns/isSameDay';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst GroupChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.GROUP_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default GroupChannelMessageDateSeparator;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AAGA,IAAAI,WAAA,GAAAJ,OAAA;AAAyD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD,MAAMG,gCAAgC,GAAGC,IAAA,IAMnC;EAAA,IANoC;IACxCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,MAAMC,OAAO,GAAG,IAAAC,kBAAS,EAACP,OAAO,CAACQ,SAAS,EAAE,CAAAP,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEO,SAAS,KAAI,CAAC,CAAC;EACzE,IAAIF,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEf,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BtB,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAEX,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/F5B,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAAChB,2BAAA,CAAA2B,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAElB,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACK;EAAK,GAC7DrB,OAAO,CAACsB,aAAa,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAAC1B,OAAO,CAACQ,SAAS,CAAC,CAAC,CAClE,CACF,CACF;AAEX,CAAC;AAED,MAAMI,MAAM,GAAG,IAAAe,4CAAgB,EAAC;EAC9Bd,SAAS,EAAE;IACTe,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDf,IAAI,EAAE;IACJgB,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYnC,gCAAgC;AAAAoC,OAAA,CAAArC,OAAA,GAAAoC,QAAA"}
1
+ {"version":3,"names":["_dateFns","require","_react","_interopRequireDefault","_reactNative","_uikitReactNativeFoundation","_useContext","obj","__esModule","default","GroupChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","useLocalization","colors","useUIKitTheme","sameDay","isSameDay","createdAt","createElement","View","style","styles","container","view","backgroundColor","ui","dateSeparator","none","background","Text","caption1","color","text","GROUP_CHANNEL","LIST_DATE_SEPARATOR","Date","createStyleSheet","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal","_default","exports"],"sources":["GroupChannelMessageDateSeparator.tsx"],"sourcesContent":["import { isSameDay } from 'date-fns';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst GroupChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.GROUP_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default GroupChannelMessageDateSeparator;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,2BAAA,GAAAJ,OAAA;AAGA,IAAAK,WAAA,GAAAL,OAAA;AAAyD,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD,MAAMG,gCAAgC,GAAGC,IAAA,IAMnC;EAAA,IANoC;IACxCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,MAAMC,OAAO,GAAG,IAAAC,kBAAS,EAACP,OAAO,CAACQ,SAAS,EAAE,CAAAP,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEO,SAAS,KAAI,CAAC,CAAC;EACzE,IAAIF,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEhB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BvB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAEX,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/F7B,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,2BAAA,CAAA2B,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAElB,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACK;EAAK,GAC7DrB,OAAO,CAACsB,aAAa,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAAC1B,OAAO,CAACQ,SAAS,CAAC,CAAC,CAClE,CACF,CACF;AAEX,CAAC;AAED,MAAMI,MAAM,GAAG,IAAAe,4CAAgB,EAAC;EAC9Bd,SAAS,EAAE;IACTe,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDf,IAAI,EAAE;IACJgB,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYnC,gCAAgC;AAAAoC,OAAA,CAAArC,OAAA,GAAAoC,QAAA"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _isSameDay = _interopRequireDefault(require("date-fns/isSameDay"));
7
+ var _dateFns = require("date-fns");
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _reactNative = require("react-native");
10
10
  var _uikitReactNativeFoundation = require("@sendbird/uikit-react-native-foundation");
@@ -21,7 +21,7 @@ const OpenChannelMessageDateSeparator = _ref => {
21
21
  const {
22
22
  colors
23
23
  } = (0, _uikitReactNativeFoundation.useUIKitTheme)();
24
- const sameDay = (0, _isSameDay.default)(message.createdAt, (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.createdAt) ?? 0);
24
+ const sameDay = (0, _dateFns.isSameDay)(message.createdAt, (prevMessage === null || prevMessage === void 0 ? void 0 : prevMessage.createdAt) ?? 0);
25
25
  if (sameDay) return null;
26
26
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
27
27
  style: styles.container
@@ -1 +1 @@
1
- {"version":3,"names":["_isSameDay","_interopRequireDefault","require","_react","_reactNative","_uikitReactNativeFoundation","_useContext","obj","__esModule","default","OpenChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","useLocalization","colors","useUIKitTheme","sameDay","isSameDay","createdAt","createElement","View","style","styles","container","view","backgroundColor","ui","dateSeparator","none","background","Text","caption1","color","text","OPEN_CHANNEL","LIST_DATE_SEPARATOR","Date","createStyleSheet","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal","_default","exports"],"sources":["OpenChannelMessageDateSeparator.tsx"],"sourcesContent":["import isSameDay from 'date-fns/isSameDay';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst OpenChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.OPEN_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default OpenChannelMessageDateSeparator;\n"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,IAAAG,2BAAA,GAAAH,OAAA;AAGA,IAAAI,WAAA,GAAAJ,OAAA;AAAyD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD,MAAMG,+BAA+B,GAAGC,IAAA,IAMlC;EAAA,IANmC;IACvCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,MAAMC,OAAO,GAAG,IAAAC,kBAAS,EAACP,OAAO,CAACQ,SAAS,EAAE,CAAAP,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEO,SAAS,KAAI,CAAC,CAAC;EACzE,IAAIF,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEf,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BtB,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAEX,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/F5B,MAAA,CAAAM,OAAA,CAAAY,aAAA,CAAChB,2BAAA,CAAA2B,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAElB,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACK;EAAK,GAC7DrB,OAAO,CAACsB,YAAY,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAAC1B,OAAO,CAACQ,SAAS,CAAC,CAAC,CACjE,CACF,CACF;AAEX,CAAC;AAED,MAAMI,MAAM,GAAG,IAAAe,4CAAgB,EAAC;EAC9Bd,SAAS,EAAE;IACTe,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDf,IAAI,EAAE;IACJgB,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYnC,+BAA+B;AAAAoC,OAAA,CAAArC,OAAA,GAAAoC,QAAA"}
1
+ {"version":3,"names":["_dateFns","require","_react","_interopRequireDefault","_reactNative","_uikitReactNativeFoundation","_useContext","obj","__esModule","default","OpenChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","useLocalization","colors","useUIKitTheme","sameDay","isSameDay","createdAt","createElement","View","style","styles","container","view","backgroundColor","ui","dateSeparator","none","background","Text","caption1","color","text","OPEN_CHANNEL","LIST_DATE_SEPARATOR","Date","createStyleSheet","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal","_default","exports"],"sources":["OpenChannelMessageDateSeparator.tsx"],"sourcesContent":["import { isSameDay } from 'date-fns';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst OpenChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.OPEN_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default OpenChannelMessageDateSeparator;\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,2BAAA,GAAAJ,OAAA;AAGA,IAAAK,WAAA,GAAAL,OAAA;AAAyD,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEzD,MAAMG,+BAA+B,GAAGC,IAAA,IAMlC;EAAA,IANmC;IACvCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACrC,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,yCAAa,GAAE;EAElC,MAAMC,OAAO,GAAG,IAAAC,kBAAS,EAACP,OAAO,CAACQ,SAAS,EAAE,CAAAP,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEO,SAAS,KAAI,CAAC,CAAC;EACzE,IAAIF,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEhB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BvB,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAACjB,YAAA,CAAAkB,IAAI;IAACC,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAEX,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/F7B,MAAA,CAAAO,OAAA,CAAAY,aAAA,CAAChB,2BAAA,CAAA2B,IAAI;IAACC,QAAQ;IAACC,KAAK,EAAElB,MAAM,CAACY,EAAE,CAACC,aAAa,CAACpB,OAAO,CAACqB,IAAI,CAACK;EAAK,GAC7DrB,OAAO,CAACsB,YAAY,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAAC1B,OAAO,CAACQ,SAAS,CAAC,CAAC,CACjE,CACF,CACF;AAEX,CAAC;AAED,MAAMI,MAAM,GAAG,IAAAe,4CAAgB,EAAC;EAC9Bd,SAAS,EAAE;IACTe,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDf,IAAI,EAAE;IACJgB,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEYnC,+BAA+B;AAAAoC,OAAA,CAAArC,OAAA,GAAAoC,QAAA"}
@@ -39,24 +39,27 @@ const usePushTokenRegistration = () => {
39
39
  }
40
40
  }
41
41
 
42
- // Register device token
42
+ // Register token refresh listener
43
+ refreshListener.current = notificationService.onTokenRefresh(registerToken);
44
+
45
+ // Register token
43
46
  const token = await getToken();
44
47
  if (token) {
45
48
  _uikitUtils.Logger.log('[usePushTokenRegistration]', 'registered token:', token);
46
- registerToken(token);
49
+ await registerToken(token);
47
50
  }
48
-
49
- // Remove listener
50
- refreshListener.current = notificationService.onTokenRefresh(registerToken);
51
51
  });
52
52
  const unregisterPushTokenForCurrentUser = (0, _uikitUtils.useFreshCallback)(async () => {
53
53
  var _refreshListener$curr;
54
+ // Unregister token refresh listener
55
+ (_refreshListener$curr = refreshListener.current) === null || _refreshListener$curr === void 0 ? void 0 : _refreshListener$curr.call(refreshListener);
56
+
57
+ // Unregister token
54
58
  const token = await getToken();
55
59
  if (token) {
56
- unregisterToken(token);
60
+ await unregisterToken(token);
57
61
  _uikitUtils.Logger.log('[usePushTokenRegistration]', 'unregistered token:', token);
58
62
  }
59
- (_refreshListener$curr = refreshListener.current) === null || _refreshListener$curr === void 0 ? void 0 : _refreshListener$curr.call(refreshListener);
60
63
  });
61
64
  return {
62
65
  registerPushTokenForCurrentUser,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_uikitUtils","_useContext","usePushTokenRegistration","sdk","useSendbirdChat","notificationService","usePlatformService","refreshListener","useRef","registerToken","unregisterToken","getToken","useIIFE","Platform","select","ios","token","registerAPNSPushTokenForCurrentUser","default","registerFCMPushTokenForCurrentUser","unregisterAPNSPushTokenForCurrentUser","unregisterFCMPushTokenForCurrentUser","getAPNSToken","getFCMToken","registerPushTokenForCurrentUser","useFreshCallback","hasPermission","hasPushPermission","pushPermission","requestPushPermission","Logger","warn","log","current","onTokenRefresh","unregisterPushTokenForCurrentUser","_refreshListener$curr","call","_default","exports"],"sources":["usePushTokenRegistration.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { Platform } from 'react-native';\n\nimport { Logger, useFreshCallback, useIIFE } from '@sendbird/uikit-utils';\n\nimport { usePlatformService, useSendbirdChat } from './useContext';\n\nconst usePushTokenRegistration = () => {\n const { sdk } = useSendbirdChat();\n const { notificationService } = usePlatformService();\n\n const refreshListener = useRef<() => void>();\n const [registerToken, unregisterToken, getToken] = useIIFE(() => {\n return [\n Platform.select({\n ios: (token: string) => sdk.registerAPNSPushTokenForCurrentUser(token),\n default: (token: string) => sdk.registerFCMPushTokenForCurrentUser(token),\n }),\n Platform.select({\n ios: (token: string) => sdk.unregisterAPNSPushTokenForCurrentUser(token),\n default: (token: string) => sdk.unregisterFCMPushTokenForCurrentUser(token),\n }),\n Platform.select({\n ios: notificationService.getAPNSToken,\n default: notificationService.getFCMToken,\n }),\n ];\n });\n\n const registerPushTokenForCurrentUser = useFreshCallback(async () => {\n // Check and request push permission\n const hasPermission = await notificationService.hasPushPermission();\n if (!hasPermission) {\n const pushPermission = await notificationService.requestPushPermission();\n if (!pushPermission) {\n Logger.warn('[usePushTokenRegistration]', 'Not granted push permission');\n return;\n }\n }\n\n // Register device token\n const token = await getToken();\n if (token) {\n Logger.log('[usePushTokenRegistration]', 'registered token:', token);\n registerToken(token);\n }\n\n // Remove listener\n refreshListener.current = notificationService.onTokenRefresh(registerToken);\n });\n\n const unregisterPushTokenForCurrentUser = useFreshCallback(async () => {\n const token = await getToken();\n if (token) {\n unregisterToken(token);\n Logger.log('[usePushTokenRegistration]', 'unregistered token:', token);\n }\n refreshListener.current?.();\n });\n\n return { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser };\n};\n\nexport default usePushTokenRegistration;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAEA,MAAMI,wBAAwB,GAAGA,CAAA,KAAM;EACrC,MAAM;IAAEC;EAAI,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACjC,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAC,8BAAkB,GAAE;EAEpD,MAAMC,eAAe,GAAG,IAAAC,aAAM,GAAc;EAC5C,MAAM,CAACC,aAAa,EAAEC,eAAe,EAAEC,QAAQ,CAAC,GAAG,IAAAC,mBAAO,EAAC,MAAM;IAC/D,OAAO,CACLC,qBAAQ,CAACC,MAAM,CAAC;MACdC,GAAG,EAAGC,KAAa,IAAKb,GAAG,CAACc,mCAAmC,CAACD,KAAK,CAAC;MACtEE,OAAO,EAAGF,KAAa,IAAKb,GAAG,CAACgB,kCAAkC,CAACH,KAAK;IAC1E,CAAC,CAAC,EACFH,qBAAQ,CAACC,MAAM,CAAC;MACdC,GAAG,EAAGC,KAAa,IAAKb,GAAG,CAACiB,qCAAqC,CAACJ,KAAK,CAAC;MACxEE,OAAO,EAAGF,KAAa,IAAKb,GAAG,CAACkB,oCAAoC,CAACL,KAAK;IAC5E,CAAC,CAAC,EACFH,qBAAQ,CAACC,MAAM,CAAC;MACdC,GAAG,EAAEV,mBAAmB,CAACiB,YAAY;MACrCJ,OAAO,EAAEb,mBAAmB,CAACkB;IAC/B,CAAC,CAAC,CACH;EACH,CAAC,CAAC;EAEF,MAAMC,+BAA+B,GAAG,IAAAC,4BAAgB,EAAC,YAAY;IACnE;IACA,MAAMC,aAAa,GAAG,MAAMrB,mBAAmB,CAACsB,iBAAiB,EAAE;IACnE,IAAI,CAACD,aAAa,EAAE;MAClB,MAAME,cAAc,GAAG,MAAMvB,mBAAmB,CAACwB,qBAAqB,EAAE;MACxE,IAAI,CAACD,cAAc,EAAE;QACnBE,kBAAM,CAACC,IAAI,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;QACxE;MACF;IACF;;IAEA;IACA,MAAMf,KAAK,GAAG,MAAML,QAAQ,EAAE;IAC9B,IAAIK,KAAK,EAAE;MACTc,kBAAM,CAACE,GAAG,CAAC,4BAA4B,EAAE,mBAAmB,EAAEhB,KAAK,CAAC;MACpEP,aAAa,CAACO,KAAK,CAAC;IACtB;;IAEA;IACAT,eAAe,CAAC0B,OAAO,GAAG5B,mBAAmB,CAAC6B,cAAc,CAACzB,aAAa,CAAC;EAC7E,CAAC,CAAC;EAEF,MAAM0B,iCAAiC,GAAG,IAAAV,4BAAgB,EAAC,YAAY;IAAA,IAAAW,qBAAA;IACrE,MAAMpB,KAAK,GAAG,MAAML,QAAQ,EAAE;IAC9B,IAAIK,KAAK,EAAE;MACTN,eAAe,CAACM,KAAK,CAAC;MACtBc,kBAAM,CAACE,GAAG,CAAC,4BAA4B,EAAE,qBAAqB,EAAEhB,KAAK,CAAC;IACxE;IACA,CAAAoB,qBAAA,GAAA7B,eAAe,CAAC0B,OAAO,cAAAG,qBAAA,uBAAvBA,qBAAA,CAAAC,IAAA,CAAA9B,eAAe,CAAY;EAC7B,CAAC,CAAC;EAEF,OAAO;IAAEiB,+BAA+B;IAAEW;EAAkC,CAAC;AAC/E,CAAC;AAAC,IAAAG,QAAA,GAEapC,wBAAwB;AAAAqC,OAAA,CAAArB,OAAA,GAAAoB,QAAA"}
1
+ {"version":3,"names":["_react","require","_reactNative","_uikitUtils","_useContext","usePushTokenRegistration","sdk","useSendbirdChat","notificationService","usePlatformService","refreshListener","useRef","registerToken","unregisterToken","getToken","useIIFE","Platform","select","ios","token","registerAPNSPushTokenForCurrentUser","default","registerFCMPushTokenForCurrentUser","unregisterAPNSPushTokenForCurrentUser","unregisterFCMPushTokenForCurrentUser","getAPNSToken","getFCMToken","registerPushTokenForCurrentUser","useFreshCallback","hasPermission","hasPushPermission","pushPermission","requestPushPermission","Logger","warn","current","onTokenRefresh","log","unregisterPushTokenForCurrentUser","_refreshListener$curr","call","_default","exports"],"sources":["usePushTokenRegistration.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { Platform } from 'react-native';\n\nimport { Logger, useFreshCallback, useIIFE } from '@sendbird/uikit-utils';\n\nimport { usePlatformService, useSendbirdChat } from './useContext';\n\nconst usePushTokenRegistration = () => {\n const { sdk } = useSendbirdChat();\n const { notificationService } = usePlatformService();\n\n const refreshListener = useRef<() => void>();\n const [registerToken, unregisterToken, getToken] = useIIFE(() => {\n return [\n Platform.select({\n ios: (token: string) => sdk.registerAPNSPushTokenForCurrentUser(token),\n default: (token: string) => sdk.registerFCMPushTokenForCurrentUser(token),\n }),\n Platform.select({\n ios: (token: string) => sdk.unregisterAPNSPushTokenForCurrentUser(token),\n default: (token: string) => sdk.unregisterFCMPushTokenForCurrentUser(token),\n }),\n Platform.select({\n ios: notificationService.getAPNSToken,\n default: notificationService.getFCMToken,\n }),\n ];\n });\n\n const registerPushTokenForCurrentUser = useFreshCallback(async () => {\n // Check and request push permission\n const hasPermission = await notificationService.hasPushPermission();\n if (!hasPermission) {\n const pushPermission = await notificationService.requestPushPermission();\n if (!pushPermission) {\n Logger.warn('[usePushTokenRegistration]', 'Not granted push permission');\n return;\n }\n }\n\n // Register token refresh listener\n refreshListener.current = notificationService.onTokenRefresh(registerToken);\n\n // Register token\n const token = await getToken();\n if (token) {\n Logger.log('[usePushTokenRegistration]', 'registered token:', token);\n await registerToken(token);\n }\n });\n\n const unregisterPushTokenForCurrentUser = useFreshCallback(async () => {\n // Unregister token refresh listener\n refreshListener.current?.();\n\n // Unregister token\n const token = await getToken();\n if (token) {\n await unregisterToken(token);\n Logger.log('[usePushTokenRegistration]', 'unregistered token:', token);\n }\n });\n\n return { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser };\n};\n\nexport default usePushTokenRegistration;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAEA,MAAMI,wBAAwB,GAAGA,CAAA,KAAM;EACrC,MAAM;IAAEC;EAAI,CAAC,GAAG,IAAAC,2BAAe,GAAE;EACjC,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAC,8BAAkB,GAAE;EAEpD,MAAMC,eAAe,GAAG,IAAAC,aAAM,GAAc;EAC5C,MAAM,CAACC,aAAa,EAAEC,eAAe,EAAEC,QAAQ,CAAC,GAAG,IAAAC,mBAAO,EAAC,MAAM;IAC/D,OAAO,CACLC,qBAAQ,CAACC,MAAM,CAAC;MACdC,GAAG,EAAGC,KAAa,IAAKb,GAAG,CAACc,mCAAmC,CAACD,KAAK,CAAC;MACtEE,OAAO,EAAGF,KAAa,IAAKb,GAAG,CAACgB,kCAAkC,CAACH,KAAK;IAC1E,CAAC,CAAC,EACFH,qBAAQ,CAACC,MAAM,CAAC;MACdC,GAAG,EAAGC,KAAa,IAAKb,GAAG,CAACiB,qCAAqC,CAACJ,KAAK,CAAC;MACxEE,OAAO,EAAGF,KAAa,IAAKb,GAAG,CAACkB,oCAAoC,CAACL,KAAK;IAC5E,CAAC,CAAC,EACFH,qBAAQ,CAACC,MAAM,CAAC;MACdC,GAAG,EAAEV,mBAAmB,CAACiB,YAAY;MACrCJ,OAAO,EAAEb,mBAAmB,CAACkB;IAC/B,CAAC,CAAC,CACH;EACH,CAAC,CAAC;EAEF,MAAMC,+BAA+B,GAAG,IAAAC,4BAAgB,EAAC,YAAY;IACnE;IACA,MAAMC,aAAa,GAAG,MAAMrB,mBAAmB,CAACsB,iBAAiB,EAAE;IACnE,IAAI,CAACD,aAAa,EAAE;MAClB,MAAME,cAAc,GAAG,MAAMvB,mBAAmB,CAACwB,qBAAqB,EAAE;MACxE,IAAI,CAACD,cAAc,EAAE;QACnBE,kBAAM,CAACC,IAAI,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;QACxE;MACF;IACF;;IAEA;IACAxB,eAAe,CAACyB,OAAO,GAAG3B,mBAAmB,CAAC4B,cAAc,CAACxB,aAAa,CAAC;;IAE3E;IACA,MAAMO,KAAK,GAAG,MAAML,QAAQ,EAAE;IAC9B,IAAIK,KAAK,EAAE;MACTc,kBAAM,CAACI,GAAG,CAAC,4BAA4B,EAAE,mBAAmB,EAAElB,KAAK,CAAC;MACpE,MAAMP,aAAa,CAACO,KAAK,CAAC;IAC5B;EACF,CAAC,CAAC;EAEF,MAAMmB,iCAAiC,GAAG,IAAAV,4BAAgB,EAAC,YAAY;IAAA,IAAAW,qBAAA;IACrE;IACA,CAAAA,qBAAA,GAAA7B,eAAe,CAACyB,OAAO,cAAAI,qBAAA,uBAAvBA,qBAAA,CAAAC,IAAA,CAAA9B,eAAe,CAAY;;IAE3B;IACA,MAAMS,KAAK,GAAG,MAAML,QAAQ,EAAE;IAC9B,IAAIK,KAAK,EAAE;MACT,MAAMN,eAAe,CAACM,KAAK,CAAC;MAC5Bc,kBAAM,CAACI,GAAG,CAAC,4BAA4B,EAAE,qBAAqB,EAAElB,KAAK,CAAC;IACxE;EACF,CAAC,CAAC;EAEF,OAAO;IAAEQ,+BAA+B;IAAEW;EAAkC,CAAC;AAC/E,CAAC;AAAC,IAAAG,QAAA,GAEapC,wBAAwB;AAAAqC,OAAA,CAAArB,OAAA,GAAAoB,QAAA"}
@@ -4,11 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _enUS = _interopRequireDefault(require("date-fns/locale/en-US"));
7
+ var _locale = require("date-fns/locale");
8
8
  var _createBaseStringSet = require("./createBaseStringSet");
9
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
9
  const StringSetEn = (0, _createBaseStringSet.createBaseStringSet)({
11
- dateLocale: _enUS.default
10
+ dateLocale: _locale.enUS
12
11
  });
13
12
  var _default = StringSetEn;
14
13
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_enUS","_interopRequireDefault","require","_createBaseStringSet","obj","__esModule","default","StringSetEn","createBaseStringSet","dateLocale","_default","exports"],"sources":["StringSet.en.ts"],"sourcesContent":["import dateLocale from 'date-fns/locale/en-US';\n\nimport { createBaseStringSet } from './createBaseStringSet';\n\nconst StringSetEn = createBaseStringSet({ dateLocale });\n\nexport default StringSetEn;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAA4D,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAE5D,MAAMG,WAAW,GAAG,IAAAC,wCAAmB,EAAC;EAAEC,UAAU,EAAVA;AAAW,CAAC,CAAC;AAAC,IAAAC,QAAA,GAEzCH,WAAW;AAAAI,OAAA,CAAAL,OAAA,GAAAI,QAAA"}
1
+ {"version":3,"names":["_locale","require","_createBaseStringSet","StringSetEn","createBaseStringSet","dateLocale","enUS","_default","exports","default"],"sources":["StringSet.en.ts"],"sourcesContent":["import { enUS } from 'date-fns/locale';\n\nimport { createBaseStringSet } from './createBaseStringSet';\n\nconst StringSetEn = createBaseStringSet({ dateLocale: enUS });\n\nexport default StringSetEn;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,MAAME,WAAW,GAAG,IAAAC,wCAAmB,EAAC;EAAEC,UAAU,EAAEC;AAAK,CAAC,CAAC;AAAC,IAAAC,QAAA,GAE/CJ,WAAW;AAAAK,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- const VERSION = '3.7.2';
7
+ const VERSION = '3.7.3';
8
8
  var _default = VERSION;
9
9
  exports.default = _default;
10
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VERSION","_default","exports","default"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.7.2';\nexport default VERSION;\n"],"mappings":";;;;;;AAAA,MAAMA,OAAO,GAAG,OAAO;AAAC,IAAAC,QAAA,GACTD,OAAO;AAAAE,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["VERSION","_default","exports","default"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.7.3';\nexport default VERSION;\n"],"mappings":";;;;;;AAAA,MAAMA,OAAO,GAAG,OAAO;AAAC,IAAAC,QAAA,GACTD,OAAO;AAAAE,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -1,4 +1,4 @@
1
- import isSameDay from 'date-fns/isSameDay';
1
+ import { isSameDay } from 'date-fns';
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
  import { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
@@ -1 +1 @@
1
- {"version":3,"names":["isSameDay","React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","GroupChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","colors","sameDay","createdAt","createElement","style","styles","container","view","backgroundColor","ui","dateSeparator","default","none","background","caption1","color","text","GROUP_CHANNEL","LIST_DATE_SEPARATOR","Date","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal"],"sources":["GroupChannelMessageDateSeparator.tsx"],"sourcesContent":["import isSameDay from 'date-fns/isSameDay';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst GroupChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.GROUP_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default GroupChannelMessageDateSeparator;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/F,SAASC,eAAe,QAAQ,wBAAwB;AAExD,MAAMC,gCAAgC,GAAGC,IAAA,IAMnC;EAAA,IANoC;IACxCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAGL,eAAe,EAAE;EACrC,MAAM;IAAEM;EAAO,CAAC,GAAGP,aAAa,EAAE;EAElC,MAAMQ,OAAO,GAAGb,SAAS,CAACS,OAAO,CAACK,SAAS,EAAE,CAAAJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,SAAS,KAAI,CAAC,CAAC;EACzE,IAAID,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEZ,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BjB,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAER,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/FxB,KAAA,CAAAc,aAAA,CAACZ,IAAI;IAACuB,QAAQ;IAACC,KAAK,EAAEf,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACI;EAAK,GAC7DjB,OAAO,CAACkB,aAAa,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAACtB,OAAO,CAACK,SAAS,CAAC,CAAC,CAClE,CACF,CACF;AAEX,CAAC;AAED,MAAMG,MAAM,GAAGb,gBAAgB,CAAC;EAC9Bc,SAAS,EAAE;IACTc,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDd,IAAI,EAAE;IACJe,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAe7B,gCAAgC"}
1
+ {"version":3,"names":["isSameDay","React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","GroupChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","colors","sameDay","createdAt","createElement","style","styles","container","view","backgroundColor","ui","dateSeparator","default","none","background","caption1","color","text","GROUP_CHANNEL","LIST_DATE_SEPARATOR","Date","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal"],"sources":["GroupChannelMessageDateSeparator.tsx"],"sourcesContent":["import { isSameDay } from 'date-fns';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst GroupChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.GROUP_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default GroupChannelMessageDateSeparator;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,UAAU;AACpC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/F,SAASC,eAAe,QAAQ,wBAAwB;AAExD,MAAMC,gCAAgC,GAAGC,IAAA,IAMnC;EAAA,IANoC;IACxCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAGL,eAAe,EAAE;EACrC,MAAM;IAAEM;EAAO,CAAC,GAAGP,aAAa,EAAE;EAElC,MAAMQ,OAAO,GAAGb,SAAS,CAACS,OAAO,CAACK,SAAS,EAAE,CAAAJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,SAAS,KAAI,CAAC,CAAC;EACzE,IAAID,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEZ,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BjB,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAER,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/FxB,KAAA,CAAAc,aAAA,CAACZ,IAAI;IAACuB,QAAQ;IAACC,KAAK,EAAEf,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACI;EAAK,GAC7DjB,OAAO,CAACkB,aAAa,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAACtB,OAAO,CAACK,SAAS,CAAC,CAAC,CAClE,CACF,CACF;AAEX,CAAC;AAED,MAAMG,MAAM,GAAGb,gBAAgB,CAAC;EAC9Bc,SAAS,EAAE;IACTc,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDd,IAAI,EAAE;IACJe,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAe7B,gCAAgC"}
@@ -1,4 +1,4 @@
1
- import isSameDay from 'date-fns/isSameDay';
1
+ import { isSameDay } from 'date-fns';
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
  import { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';
@@ -1 +1 @@
1
- {"version":3,"names":["isSameDay","React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","OpenChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","colors","sameDay","createdAt","createElement","style","styles","container","view","backgroundColor","ui","dateSeparator","default","none","background","caption1","color","text","OPEN_CHANNEL","LIST_DATE_SEPARATOR","Date","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal"],"sources":["OpenChannelMessageDateSeparator.tsx"],"sourcesContent":["import isSameDay from 'date-fns/isSameDay';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst OpenChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.OPEN_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default OpenChannelMessageDateSeparator;\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,oBAAoB;AAC1C,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/F,SAASC,eAAe,QAAQ,wBAAwB;AAExD,MAAMC,+BAA+B,GAAGC,IAAA,IAMlC;EAAA,IANmC;IACvCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAGL,eAAe,EAAE;EACrC,MAAM;IAAEM;EAAO,CAAC,GAAGP,aAAa,EAAE;EAElC,MAAMQ,OAAO,GAAGb,SAAS,CAACS,OAAO,CAACK,SAAS,EAAE,CAAAJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,SAAS,KAAI,CAAC,CAAC;EACzE,IAAID,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEZ,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BjB,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAER,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/FxB,KAAA,CAAAc,aAAA,CAACZ,IAAI;IAACuB,QAAQ;IAACC,KAAK,EAAEf,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACI;EAAK,GAC7DjB,OAAO,CAACkB,YAAY,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAACtB,OAAO,CAACK,SAAS,CAAC,CAAC,CACjE,CACF,CACF;AAEX,CAAC;AAED,MAAMG,MAAM,GAAGb,gBAAgB,CAAC;EAC9Bc,SAAS,EAAE;IACTc,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDd,IAAI,EAAE;IACJe,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAe7B,+BAA+B"}
1
+ {"version":3,"names":["isSameDay","React","View","Text","createStyleSheet","useUIKitTheme","useLocalization","OpenChannelMessageDateSeparator","_ref","message","prevMessage","STRINGS","colors","sameDay","createdAt","createElement","style","styles","container","view","backgroundColor","ui","dateSeparator","default","none","background","caption1","color","text","OPEN_CHANNEL","LIST_DATE_SEPARATOR","Date","alignItems","marginVertical","borderRadius","paddingVertical","paddingHorizontal"],"sources":["OpenChannelMessageDateSeparator.tsx"],"sourcesContent":["import { isSameDay } from 'date-fns';\nimport React from 'react';\nimport { View } from 'react-native';\n\nimport { Text, createStyleSheet, useUIKitTheme } from '@sendbird/uikit-react-native-foundation';\nimport type { SendbirdMessage } from '@sendbird/uikit-utils';\n\nimport { useLocalization } from '../../hooks/useContext';\n\nconst OpenChannelMessageDateSeparator = ({\n message,\n prevMessage,\n}: {\n message: SendbirdMessage;\n prevMessage?: SendbirdMessage;\n}) => {\n const { STRINGS } = useLocalization();\n const { colors } = useUIKitTheme();\n\n const sameDay = isSameDay(message.createdAt, prevMessage?.createdAt ?? 0);\n if (sameDay) return null;\n\n return (\n <View style={styles.container}>\n <View style={[styles.view, { backgroundColor: colors.ui.dateSeparator.default.none.background }]}>\n <Text caption1 color={colors.ui.dateSeparator.default.none.text}>\n {STRINGS.OPEN_CHANNEL.LIST_DATE_SEPARATOR(new Date(message.createdAt))}\n </Text>\n </View>\n </View>\n );\n};\n\nconst styles = createStyleSheet({\n container: {\n alignItems: 'center',\n marginVertical: 16,\n },\n view: {\n borderRadius: 10,\n paddingVertical: 4,\n paddingHorizontal: 10,\n },\n});\n\nexport default OpenChannelMessageDateSeparator;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,UAAU;AACpC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,aAAa,QAAQ,yCAAyC;AAG/F,SAASC,eAAe,QAAQ,wBAAwB;AAExD,MAAMC,+BAA+B,GAAGC,IAAA,IAMlC;EAAA,IANmC;IACvCC,OAAO;IACPC;EAIF,CAAC,GAAAF,IAAA;EACC,MAAM;IAAEG;EAAQ,CAAC,GAAGL,eAAe,EAAE;EACrC,MAAM;IAAEM;EAAO,CAAC,GAAGP,aAAa,EAAE;EAElC,MAAMQ,OAAO,GAAGb,SAAS,CAACS,OAAO,CAACK,SAAS,EAAE,CAAAJ,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEI,SAAS,KAAI,CAAC,CAAC;EACzE,IAAID,OAAO,EAAE,OAAO,IAAI;EAExB,oBACEZ,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC;EAAU,gBAC5BjB,KAAA,CAAAc,aAAA,CAACb,IAAI;IAACc,KAAK,EAAE,CAACC,MAAM,CAACE,IAAI,EAAE;MAAEC,eAAe,EAAER,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACC;IAAW,CAAC;EAAE,gBAC/FxB,KAAA,CAAAc,aAAA,CAACZ,IAAI;IAACuB,QAAQ;IAACC,KAAK,EAAEf,MAAM,CAACS,EAAE,CAACC,aAAa,CAACC,OAAO,CAACC,IAAI,CAACI;EAAK,GAC7DjB,OAAO,CAACkB,YAAY,CAACC,mBAAmB,CAAC,IAAIC,IAAI,CAACtB,OAAO,CAACK,SAAS,CAAC,CAAC,CACjE,CACF,CACF;AAEX,CAAC;AAED,MAAMG,MAAM,GAAGb,gBAAgB,CAAC;EAC9Bc,SAAS,EAAE;IACTc,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDd,IAAI,EAAE;IACJe,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,CAAC;IAClBC,iBAAiB,EAAE;EACrB;AACF,CAAC,CAAC;AAEF,eAAe7B,+BAA+B"}
@@ -33,24 +33,27 @@ const usePushTokenRegistration = () => {
33
33
  }
34
34
  }
35
35
 
36
- // Register device token
36
+ // Register token refresh listener
37
+ refreshListener.current = notificationService.onTokenRefresh(registerToken);
38
+
39
+ // Register token
37
40
  const token = await getToken();
38
41
  if (token) {
39
42
  Logger.log('[usePushTokenRegistration]', 'registered token:', token);
40
- registerToken(token);
43
+ await registerToken(token);
41
44
  }
42
-
43
- // Remove listener
44
- refreshListener.current = notificationService.onTokenRefresh(registerToken);
45
45
  });
46
46
  const unregisterPushTokenForCurrentUser = useFreshCallback(async () => {
47
47
  var _refreshListener$curr;
48
+ // Unregister token refresh listener
49
+ (_refreshListener$curr = refreshListener.current) === null || _refreshListener$curr === void 0 ? void 0 : _refreshListener$curr.call(refreshListener);
50
+
51
+ // Unregister token
48
52
  const token = await getToken();
49
53
  if (token) {
50
- unregisterToken(token);
54
+ await unregisterToken(token);
51
55
  Logger.log('[usePushTokenRegistration]', 'unregistered token:', token);
52
56
  }
53
- (_refreshListener$curr = refreshListener.current) === null || _refreshListener$curr === void 0 ? void 0 : _refreshListener$curr.call(refreshListener);
54
57
  });
55
58
  return {
56
59
  registerPushTokenForCurrentUser,
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","Platform","Logger","useFreshCallback","useIIFE","usePlatformService","useSendbirdChat","usePushTokenRegistration","sdk","notificationService","refreshListener","registerToken","unregisterToken","getToken","select","ios","token","registerAPNSPushTokenForCurrentUser","default","registerFCMPushTokenForCurrentUser","unregisterAPNSPushTokenForCurrentUser","unregisterFCMPushTokenForCurrentUser","getAPNSToken","getFCMToken","registerPushTokenForCurrentUser","hasPermission","hasPushPermission","pushPermission","requestPushPermission","warn","log","current","onTokenRefresh","unregisterPushTokenForCurrentUser","_refreshListener$curr","call"],"sources":["usePushTokenRegistration.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { Platform } from 'react-native';\n\nimport { Logger, useFreshCallback, useIIFE } from '@sendbird/uikit-utils';\n\nimport { usePlatformService, useSendbirdChat } from './useContext';\n\nconst usePushTokenRegistration = () => {\n const { sdk } = useSendbirdChat();\n const { notificationService } = usePlatformService();\n\n const refreshListener = useRef<() => void>();\n const [registerToken, unregisterToken, getToken] = useIIFE(() => {\n return [\n Platform.select({\n ios: (token: string) => sdk.registerAPNSPushTokenForCurrentUser(token),\n default: (token: string) => sdk.registerFCMPushTokenForCurrentUser(token),\n }),\n Platform.select({\n ios: (token: string) => sdk.unregisterAPNSPushTokenForCurrentUser(token),\n default: (token: string) => sdk.unregisterFCMPushTokenForCurrentUser(token),\n }),\n Platform.select({\n ios: notificationService.getAPNSToken,\n default: notificationService.getFCMToken,\n }),\n ];\n });\n\n const registerPushTokenForCurrentUser = useFreshCallback(async () => {\n // Check and request push permission\n const hasPermission = await notificationService.hasPushPermission();\n if (!hasPermission) {\n const pushPermission = await notificationService.requestPushPermission();\n if (!pushPermission) {\n Logger.warn('[usePushTokenRegistration]', 'Not granted push permission');\n return;\n }\n }\n\n // Register device token\n const token = await getToken();\n if (token) {\n Logger.log('[usePushTokenRegistration]', 'registered token:', token);\n registerToken(token);\n }\n\n // Remove listener\n refreshListener.current = notificationService.onTokenRefresh(registerToken);\n });\n\n const unregisterPushTokenForCurrentUser = useFreshCallback(async () => {\n const token = await getToken();\n if (token) {\n unregisterToken(token);\n Logger.log('[usePushTokenRegistration]', 'unregistered token:', token);\n }\n refreshListener.current?.();\n });\n\n return { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser };\n};\n\nexport default usePushTokenRegistration;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,MAAM,EAAEC,gBAAgB,EAAEC,OAAO,QAAQ,uBAAuB;AAEzE,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,cAAc;AAElE,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;EACrC,MAAM;IAAEC;EAAI,CAAC,GAAGF,eAAe,EAAE;EACjC,MAAM;IAAEG;EAAoB,CAAC,GAAGJ,kBAAkB,EAAE;EAEpD,MAAMK,eAAe,GAAGV,MAAM,EAAc;EAC5C,MAAM,CAACW,aAAa,EAAEC,eAAe,EAAEC,QAAQ,CAAC,GAAGT,OAAO,CAAC,MAAM;IAC/D,OAAO,CACLH,QAAQ,CAACa,MAAM,CAAC;MACdC,GAAG,EAAGC,KAAa,IAAKR,GAAG,CAACS,mCAAmC,CAACD,KAAK,CAAC;MACtEE,OAAO,EAAGF,KAAa,IAAKR,GAAG,CAACW,kCAAkC,CAACH,KAAK;IAC1E,CAAC,CAAC,EACFf,QAAQ,CAACa,MAAM,CAAC;MACdC,GAAG,EAAGC,KAAa,IAAKR,GAAG,CAACY,qCAAqC,CAACJ,KAAK,CAAC;MACxEE,OAAO,EAAGF,KAAa,IAAKR,GAAG,CAACa,oCAAoC,CAACL,KAAK;IAC5E,CAAC,CAAC,EACFf,QAAQ,CAACa,MAAM,CAAC;MACdC,GAAG,EAAEN,mBAAmB,CAACa,YAAY;MACrCJ,OAAO,EAAET,mBAAmB,CAACc;IAC/B,CAAC,CAAC,CACH;EACH,CAAC,CAAC;EAEF,MAAMC,+BAA+B,GAAGrB,gBAAgB,CAAC,YAAY;IACnE;IACA,MAAMsB,aAAa,GAAG,MAAMhB,mBAAmB,CAACiB,iBAAiB,EAAE;IACnE,IAAI,CAACD,aAAa,EAAE;MAClB,MAAME,cAAc,GAAG,MAAMlB,mBAAmB,CAACmB,qBAAqB,EAAE;MACxE,IAAI,CAACD,cAAc,EAAE;QACnBzB,MAAM,CAAC2B,IAAI,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;QACxE;MACF;IACF;;IAEA;IACA,MAAMb,KAAK,GAAG,MAAMH,QAAQ,EAAE;IAC9B,IAAIG,KAAK,EAAE;MACTd,MAAM,CAAC4B,GAAG,CAAC,4BAA4B,EAAE,mBAAmB,EAAEd,KAAK,CAAC;MACpEL,aAAa,CAACK,KAAK,CAAC;IACtB;;IAEA;IACAN,eAAe,CAACqB,OAAO,GAAGtB,mBAAmB,CAACuB,cAAc,CAACrB,aAAa,CAAC;EAC7E,CAAC,CAAC;EAEF,MAAMsB,iCAAiC,GAAG9B,gBAAgB,CAAC,YAAY;IAAA,IAAA+B,qBAAA;IACrE,MAAMlB,KAAK,GAAG,MAAMH,QAAQ,EAAE;IAC9B,IAAIG,KAAK,EAAE;MACTJ,eAAe,CAACI,KAAK,CAAC;MACtBd,MAAM,CAAC4B,GAAG,CAAC,4BAA4B,EAAE,qBAAqB,EAAEd,KAAK,CAAC;IACxE;IACA,CAAAkB,qBAAA,GAAAxB,eAAe,CAACqB,OAAO,cAAAG,qBAAA,uBAAvBA,qBAAA,CAAAC,IAAA,CAAAzB,eAAe,CAAY;EAC7B,CAAC,CAAC;EAEF,OAAO;IAAEc,+BAA+B;IAAES;EAAkC,CAAC;AAC/E,CAAC;AAED,eAAe1B,wBAAwB"}
1
+ {"version":3,"names":["useRef","Platform","Logger","useFreshCallback","useIIFE","usePlatformService","useSendbirdChat","usePushTokenRegistration","sdk","notificationService","refreshListener","registerToken","unregisterToken","getToken","select","ios","token","registerAPNSPushTokenForCurrentUser","default","registerFCMPushTokenForCurrentUser","unregisterAPNSPushTokenForCurrentUser","unregisterFCMPushTokenForCurrentUser","getAPNSToken","getFCMToken","registerPushTokenForCurrentUser","hasPermission","hasPushPermission","pushPermission","requestPushPermission","warn","current","onTokenRefresh","log","unregisterPushTokenForCurrentUser","_refreshListener$curr","call"],"sources":["usePushTokenRegistration.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { Platform } from 'react-native';\n\nimport { Logger, useFreshCallback, useIIFE } from '@sendbird/uikit-utils';\n\nimport { usePlatformService, useSendbirdChat } from './useContext';\n\nconst usePushTokenRegistration = () => {\n const { sdk } = useSendbirdChat();\n const { notificationService } = usePlatformService();\n\n const refreshListener = useRef<() => void>();\n const [registerToken, unregisterToken, getToken] = useIIFE(() => {\n return [\n Platform.select({\n ios: (token: string) => sdk.registerAPNSPushTokenForCurrentUser(token),\n default: (token: string) => sdk.registerFCMPushTokenForCurrentUser(token),\n }),\n Platform.select({\n ios: (token: string) => sdk.unregisterAPNSPushTokenForCurrentUser(token),\n default: (token: string) => sdk.unregisterFCMPushTokenForCurrentUser(token),\n }),\n Platform.select({\n ios: notificationService.getAPNSToken,\n default: notificationService.getFCMToken,\n }),\n ];\n });\n\n const registerPushTokenForCurrentUser = useFreshCallback(async () => {\n // Check and request push permission\n const hasPermission = await notificationService.hasPushPermission();\n if (!hasPermission) {\n const pushPermission = await notificationService.requestPushPermission();\n if (!pushPermission) {\n Logger.warn('[usePushTokenRegistration]', 'Not granted push permission');\n return;\n }\n }\n\n // Register token refresh listener\n refreshListener.current = notificationService.onTokenRefresh(registerToken);\n\n // Register token\n const token = await getToken();\n if (token) {\n Logger.log('[usePushTokenRegistration]', 'registered token:', token);\n await registerToken(token);\n }\n });\n\n const unregisterPushTokenForCurrentUser = useFreshCallback(async () => {\n // Unregister token refresh listener\n refreshListener.current?.();\n\n // Unregister token\n const token = await getToken();\n if (token) {\n await unregisterToken(token);\n Logger.log('[usePushTokenRegistration]', 'unregistered token:', token);\n }\n });\n\n return { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser };\n};\n\nexport default usePushTokenRegistration;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,MAAM,EAAEC,gBAAgB,EAAEC,OAAO,QAAQ,uBAAuB;AAEzE,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,cAAc;AAElE,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;EACrC,MAAM;IAAEC;EAAI,CAAC,GAAGF,eAAe,EAAE;EACjC,MAAM;IAAEG;EAAoB,CAAC,GAAGJ,kBAAkB,EAAE;EAEpD,MAAMK,eAAe,GAAGV,MAAM,EAAc;EAC5C,MAAM,CAACW,aAAa,EAAEC,eAAe,EAAEC,QAAQ,CAAC,GAAGT,OAAO,CAAC,MAAM;IAC/D,OAAO,CACLH,QAAQ,CAACa,MAAM,CAAC;MACdC,GAAG,EAAGC,KAAa,IAAKR,GAAG,CAACS,mCAAmC,CAACD,KAAK,CAAC;MACtEE,OAAO,EAAGF,KAAa,IAAKR,GAAG,CAACW,kCAAkC,CAACH,KAAK;IAC1E,CAAC,CAAC,EACFf,QAAQ,CAACa,MAAM,CAAC;MACdC,GAAG,EAAGC,KAAa,IAAKR,GAAG,CAACY,qCAAqC,CAACJ,KAAK,CAAC;MACxEE,OAAO,EAAGF,KAAa,IAAKR,GAAG,CAACa,oCAAoC,CAACL,KAAK;IAC5E,CAAC,CAAC,EACFf,QAAQ,CAACa,MAAM,CAAC;MACdC,GAAG,EAAEN,mBAAmB,CAACa,YAAY;MACrCJ,OAAO,EAAET,mBAAmB,CAACc;IAC/B,CAAC,CAAC,CACH;EACH,CAAC,CAAC;EAEF,MAAMC,+BAA+B,GAAGrB,gBAAgB,CAAC,YAAY;IACnE;IACA,MAAMsB,aAAa,GAAG,MAAMhB,mBAAmB,CAACiB,iBAAiB,EAAE;IACnE,IAAI,CAACD,aAAa,EAAE;MAClB,MAAME,cAAc,GAAG,MAAMlB,mBAAmB,CAACmB,qBAAqB,EAAE;MACxE,IAAI,CAACD,cAAc,EAAE;QACnBzB,MAAM,CAAC2B,IAAI,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;QACxE;MACF;IACF;;IAEA;IACAnB,eAAe,CAACoB,OAAO,GAAGrB,mBAAmB,CAACsB,cAAc,CAACpB,aAAa,CAAC;;IAE3E;IACA,MAAMK,KAAK,GAAG,MAAMH,QAAQ,EAAE;IAC9B,IAAIG,KAAK,EAAE;MACTd,MAAM,CAAC8B,GAAG,CAAC,4BAA4B,EAAE,mBAAmB,EAAEhB,KAAK,CAAC;MACpE,MAAML,aAAa,CAACK,KAAK,CAAC;IAC5B;EACF,CAAC,CAAC;EAEF,MAAMiB,iCAAiC,GAAG9B,gBAAgB,CAAC,YAAY;IAAA,IAAA+B,qBAAA;IACrE;IACA,CAAAA,qBAAA,GAAAxB,eAAe,CAACoB,OAAO,cAAAI,qBAAA,uBAAvBA,qBAAA,CAAAC,IAAA,CAAAzB,eAAe,CAAY;;IAE3B;IACA,MAAMM,KAAK,GAAG,MAAMH,QAAQ,EAAE;IAC9B,IAAIG,KAAK,EAAE;MACT,MAAMJ,eAAe,CAACI,KAAK,CAAC;MAC5Bd,MAAM,CAAC8B,GAAG,CAAC,4BAA4B,EAAE,qBAAqB,EAAEhB,KAAK,CAAC;IACxE;EACF,CAAC,CAAC;EAEF,OAAO;IAAEQ,+BAA+B;IAAES;EAAkC,CAAC;AAC/E,CAAC;AAED,eAAe1B,wBAAwB"}
@@ -1,7 +1,7 @@
1
- import dateLocale from 'date-fns/locale/en-US';
1
+ import { enUS } from 'date-fns/locale';
2
2
  import { createBaseStringSet } from './createBaseStringSet';
3
3
  const StringSetEn = createBaseStringSet({
4
- dateLocale
4
+ dateLocale: enUS
5
5
  });
6
6
  export default StringSetEn;
7
7
  //# sourceMappingURL=StringSet.en.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["dateLocale","createBaseStringSet","StringSetEn"],"sources":["StringSet.en.ts"],"sourcesContent":["import dateLocale from 'date-fns/locale/en-US';\n\nimport { createBaseStringSet } from './createBaseStringSet';\n\nconst StringSetEn = createBaseStringSet({ dateLocale });\n\nexport default StringSetEn;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,uBAAuB;AAE9C,SAASC,mBAAmB,QAAQ,uBAAuB;AAE3D,MAAMC,WAAW,GAAGD,mBAAmB,CAAC;EAAED;AAAW,CAAC,CAAC;AAEvD,eAAeE,WAAW"}
1
+ {"version":3,"names":["enUS","createBaseStringSet","StringSetEn","dateLocale"],"sources":["StringSet.en.ts"],"sourcesContent":["import { enUS } from 'date-fns/locale';\n\nimport { createBaseStringSet } from './createBaseStringSet';\n\nconst StringSetEn = createBaseStringSet({ dateLocale: enUS });\n\nexport default StringSetEn;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,SAASC,mBAAmB,QAAQ,uBAAuB;AAE3D,MAAMC,WAAW,GAAGD,mBAAmB,CAAC;EAAEE,UAAU,EAAEH;AAAK,CAAC,CAAC;AAE7D,eAAeE,WAAW"}
@@ -1,3 +1,3 @@
1
- const VERSION = '3.7.2';
1
+ const VERSION = '3.7.3';
2
2
  export default VERSION;
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.7.2';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAO;AACvB,eAAeA,OAAO"}
1
+ {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["const VERSION = '3.7.3';\nexport default VERSION;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAG,OAAO;AACvB,eAAeA,OAAO"}
@@ -14,7 +14,7 @@ import type { StringSet } from '../localization/StringSet.type';
14
14
  import type { ClipboardServiceInterface, FileServiceInterface, MediaServiceInterface, NotificationServiceInterface, PlayerServiceInterface, RecorderServiceInterface } from '../platform/types';
15
15
  import { ErrorBoundaryProps, LocalCacheStorage } from '../types';
16
16
  export declare const SendbirdUIKit: Readonly<{
17
- VERSION: "3.7.2";
17
+ VERSION: "3.7.3";
18
18
  PLATFORM: string;
19
19
  DEFAULT: {
20
20
  AUTO_PUSH_TOKEN_REGISTRATION: boolean;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const _default: React.MemoExoticComponent<({ inputDisabled, ...props }: import("@sendbird/uikit-utils").PickPartial<import("../../../components/ChannelInput").ChannelInputProps, "onPressUpdateUserMessage" | "shouldRenderInput" | "onPressSendUserMessage" | "onPressSendFileMessage" | "onPressUpdateFileMessage" | "SuggestedMentionList" | "AttachmentsButton", "inputDisabled">) => React.JSX.Element>;
2
+ declare const _default: React.MemoExoticComponent<({ inputDisabled, ...props }: import("@sendbird/uikit-utils").PickPartial<import("../../../components/ChannelInput").ChannelInputProps, "shouldRenderInput" | "onPressSendUserMessage" | "onPressSendFileMessage" | "onPressUpdateUserMessage" | "onPressUpdateFileMessage" | "SuggestedMentionList" | "AttachmentsButton", "inputDisabled">) => React.JSX.Element>;
3
3
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelMessageList").ChannelMessageListProps<import("@sendbird/chat/groupChannel").GroupChannel>, "channel" | "onTopReached" | "onBottomReached" | "onScrolledAwayFromBottom" | "currentUserId" | "enableMessageGrouping" | "searchItem" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderNewMessagesButton" | "renderScrollToBottomButton" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps"> & {
2
+ declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelMessageList").ChannelMessageListProps<import("@sendbird/chat/groupChannel").GroupChannel>, "channel" | "onBottomReached" | "onTopReached" | "onScrolledAwayFromBottom" | "currentUserId" | "enableMessageGrouping" | "searchItem" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderNewMessagesButton" | "renderScrollToBottomButton" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps"> & {
3
3
  onResetMessageList: () => Promise<void>;
4
4
  onResetMessageListWithStartingPoint: (startingPoint: number) => Promise<void>;
5
5
  onUpdateSearchItem: (searchItem?: {
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const _default: React.MemoExoticComponent<({ inputDisabled, ...props }: import("@sendbird/uikit-utils").PickPartial<import("../../../components/ChannelInput").ChannelInputProps, "onPressUpdateUserMessage" | "shouldRenderInput" | "onPressSendUserMessage" | "onPressSendFileMessage" | "onPressUpdateFileMessage" | "SuggestedMentionList" | "AttachmentsButton", "inputDisabled">) => React.JSX.Element>;
2
+ declare const _default: React.MemoExoticComponent<({ inputDisabled, ...props }: import("@sendbird/uikit-utils").PickPartial<import("../../../components/ChannelInput").ChannelInputProps, "shouldRenderInput" | "onPressSendUserMessage" | "onPressSendFileMessage" | "onPressUpdateUserMessage" | "onPressUpdateFileMessage" | "SuggestedMentionList" | "AttachmentsButton", "inputDisabled">) => React.JSX.Element>;
3
3
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelThreadMessageList").ChannelThreadMessageListProps<import("@sendbird/chat/groupChannel").GroupChannel>, "channel" | "onTopReached" | "onBottomReached" | "onScrolledAwayFromBottom" | "currentUserId" | "enableMessageGrouping" | "searchItem" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps"> & {
2
+ declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelThreadMessageList").ChannelThreadMessageListProps<import("@sendbird/chat/groupChannel").GroupChannel>, "channel" | "onBottomReached" | "onTopReached" | "onScrolledAwayFromBottom" | "currentUserId" | "enableMessageGrouping" | "searchItem" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps"> & {
3
3
  onResetMessageList: () => Promise<void>;
4
4
  onResetMessageListWithStartingPoint: (startingPoint: number) => Promise<void>;
5
5
  startingPoint?: number | undefined;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const _default: React.MemoExoticComponent<({ inputDisabled, ...props }: import("@sendbird/uikit-utils").PickPartial<import("../../../components/ChannelInput").ChannelInputProps, "onPressUpdateUserMessage" | "shouldRenderInput" | "onPressSendUserMessage" | "onPressSendFileMessage" | "onPressUpdateFileMessage" | "AttachmentsButton", "inputDisabled">) => React.JSX.Element>;
2
+ declare const _default: React.MemoExoticComponent<({ inputDisabled, ...props }: import("@sendbird/uikit-utils").PickPartial<import("../../../components/ChannelInput").ChannelInputProps, "shouldRenderInput" | "onPressSendUserMessage" | "onPressSendFileMessage" | "onPressUpdateUserMessage" | "onPressUpdateFileMessage" | "AttachmentsButton", "inputDisabled">) => React.JSX.Element>;
3
3
  export default _default;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelMessageList").ChannelMessageListProps<import("@sendbird/chat/openChannel").OpenChannel>, "channel" | "onTopReached" | "onBottomReached" | "onScrolledAwayFromBottom" | "currentUserId" | "enableMessageGrouping" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderNewMessagesButton" | "renderScrollToBottomButton" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps">) => React.JSX.Element>;
2
+ declare const _default: React.MemoExoticComponent<(props: Pick<import("../../../components/ChannelMessageList").ChannelMessageListProps<import("@sendbird/chat/openChannel").OpenChannel>, "channel" | "onBottomReached" | "onTopReached" | "onScrolledAwayFromBottom" | "currentUserId" | "enableMessageGrouping" | "hasNext" | "onDeleteMessage" | "onResendFailedMessage" | "onPressMediaMessage" | "renderNewMessagesButton" | "renderScrollToBottomButton" | "renderMessage" | "messages" | "newMessages" | "scrolledAwayFromBottom" | "flatListProps">) => React.JSX.Element>;
3
3
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const VERSION = "3.7.2";
1
+ declare const VERSION = "3.7.3";
2
2
  export default VERSION;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendbird/uikit-react-native",
3
- "version": "3.7.2",
3
+ "version": "3.7.3",
4
4
  "description": "Sendbird UIKit for React Native: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.",
5
5
  "keywords": [
6
6
  "sendbird",
@@ -60,10 +60,10 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "@openspacelabs/react-native-zoomable-view": "^2.1.5",
63
- "@sendbird/uikit-chat-hooks": "3.7.2",
64
- "@sendbird/uikit-react-native-foundation": "3.7.2",
63
+ "@sendbird/uikit-chat-hooks": "3.7.3",
64
+ "@sendbird/uikit-react-native-foundation": "3.7.3",
65
65
  "@sendbird/uikit-tools": "0.0.1-alpha.77",
66
- "@sendbird/uikit-utils": "3.7.2"
66
+ "@sendbird/uikit-utils": "3.7.3"
67
67
  },
68
68
  "devDependencies": {
69
69
  "@bam.tech/react-native-image-resizer": "^3.0.4",
@@ -75,7 +75,7 @@
75
75
  "@react-native-firebase/messaging": "^14.4.0",
76
76
  "@types/react": "*",
77
77
  "@types/react-native": "*",
78
- "date-fns": "^2.28.0",
78
+ "date-fns": ">=2.28.0",
79
79
  "expo-av": "^13.2.1",
80
80
  "expo-clipboard": "^4.1.2",
81
81
  "expo-document-picker": "^11.5.3",
@@ -208,5 +208,5 @@
208
208
  ]
209
209
  ]
210
210
  },
211
- "gitHead": "b865930e985bc4e50ceab20aa9d26e73b940411c"
211
+ "gitHead": "c6efa80d5e1859100d6cb02c239f0a2c45eec860"
212
212
  }
@@ -1,4 +1,4 @@
1
- import isSameDay from 'date-fns/isSameDay';
1
+ import { isSameDay } from 'date-fns';
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
 
@@ -1,4 +1,4 @@
1
- import isSameDay from 'date-fns/isSameDay';
1
+ import { isSameDay } from 'date-fns';
2
2
  import React from 'react';
3
3
  import { View } from 'react-native';
4
4
 
@@ -38,24 +38,27 @@ const usePushTokenRegistration = () => {
38
38
  }
39
39
  }
40
40
 
41
- // Register device token
41
+ // Register token refresh listener
42
+ refreshListener.current = notificationService.onTokenRefresh(registerToken);
43
+
44
+ // Register token
42
45
  const token = await getToken();
43
46
  if (token) {
44
47
  Logger.log('[usePushTokenRegistration]', 'registered token:', token);
45
- registerToken(token);
48
+ await registerToken(token);
46
49
  }
47
-
48
- // Remove listener
49
- refreshListener.current = notificationService.onTokenRefresh(registerToken);
50
50
  });
51
51
 
52
52
  const unregisterPushTokenForCurrentUser = useFreshCallback(async () => {
53
+ // Unregister token refresh listener
54
+ refreshListener.current?.();
55
+
56
+ // Unregister token
53
57
  const token = await getToken();
54
58
  if (token) {
55
- unregisterToken(token);
59
+ await unregisterToken(token);
56
60
  Logger.log('[usePushTokenRegistration]', 'unregistered token:', token);
57
61
  }
58
- refreshListener.current?.();
59
62
  });
60
63
 
61
64
  return { registerPushTokenForCurrentUser, unregisterPushTokenForCurrentUser };
@@ -1,7 +1,7 @@
1
- import dateLocale from 'date-fns/locale/en-US';
1
+ import { enUS } from 'date-fns/locale';
2
2
 
3
3
  import { createBaseStringSet } from './createBaseStringSet';
4
4
 
5
- const StringSetEn = createBaseStringSet({ dateLocale });
5
+ const StringSetEn = createBaseStringSet({ dateLocale: enUS });
6
6
 
7
7
  export default StringSetEn;
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- const VERSION = '3.7.2';
1
+ const VERSION = '3.7.3';
2
2
  export default VERSION;