New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@trycourier/react-hooks

Package Overview
Dependencies
Maintainers
2
Versions
487
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@trycourier/react-hooks - npm Package Compare versions

Comparing version 1.16.1-internal.fd096a7.0 to 1.17.0

36

dist/inbox/reducer.js

@@ -165,2 +165,24 @@ "use strict";

case "inbox/MARK_MESSAGE_ARCHIVED":
{
var _state$unreadMessageC3, _state$messages5;
var _unreadMessageCount2 = (_state$unreadMessageC3 = state.unreadMessageCount) !== null && _state$unreadMessageC3 !== void 0 ? _state$unreadMessageC3 : 0;
var _newMessages = state === null || state === void 0 ? void 0 : (_state$messages5 = state.messages) === null || _state$messages5 === void 0 ? void 0 : _state$messages5.filter(function (message) {
var isMatching = message.messageId === action.payload.messageId;
if (isMatching && !message.read) {
_unreadMessageCount2 = Math.max(_unreadMessageCount2 - 1, 0);
}
return !isMatching;
});
return _objectSpread(_objectSpread({}, state), {}, {
messages: _newMessages,
unreadMessageCount: _unreadMessageCount2
});
}
case "inbox/FETCH_MESSAGES/ERROR":

@@ -175,6 +197,6 @@ {

{
var _state$unreadMessageC3, _action$payload$messa, _action$payload$data;
var _state$unreadMessageC4, _action$payload$messa, _action$payload$data;
return _objectSpread(_objectSpread({}, state), {}, {
unreadMessageCount: ((_state$unreadMessageC3 = state === null || state === void 0 ? void 0 : state.unreadMessageCount) !== null && _state$unreadMessageC3 !== void 0 ? _state$unreadMessageC3 : 0) + 1,
unreadMessageCount: ((_state$unreadMessageC4 = state === null || state === void 0 ? void 0 : state.unreadMessageCount) !== null && _state$unreadMessageC4 !== void 0 ? _state$unreadMessageC4 : 0) + 1,
messages: [{

@@ -194,5 +216,5 @@ created: new Date().getTime(),

{
var _state$currentTab3, _state$currentTab3$fi, _state$messages5;
var _state$currentTab3, _state$currentTab3$fi, _state$messages6;
var _unreadMessageCount2 = 0;
var _unreadMessageCount3 = 0;

@@ -202,3 +224,3 @@ if (((_state$currentTab3 = state.currentTab) === null || _state$currentTab3 === void 0 ? void 0 : (_state$currentTab3$fi = _state$currentTab3.filters) === null || _state$currentTab3$fi === void 0 ? void 0 : _state$currentTab3$fi.isRead) === false) {

messages: [],
unreadMessageCount: _unreadMessageCount2
unreadMessageCount: _unreadMessageCount3
});

@@ -208,3 +230,3 @@ }

return _objectSpread(_objectSpread({}, state), {}, {
messages: state === null || state === void 0 ? void 0 : (_state$messages5 = state.messages) === null || _state$messages5 === void 0 ? void 0 : _state$messages5.map(function (message) {
messages: state === null || state === void 0 ? void 0 : (_state$messages6 = state.messages) === null || _state$messages6 === void 0 ? void 0 : _state$messages6.map(function (message) {
return _objectSpread(_objectSpread({}, message), {}, {

@@ -214,3 +236,3 @@ read: true

}),
unreadMessageCount: _unreadMessageCount2
unreadMessageCount: _unreadMessageCount3
});

@@ -217,0 +239,0 @@ }

74

dist/inbox/use-inbox-actions.js

@@ -27,5 +27,5 @@ "use strict";

apiUrl = _useCourier.apiUrl,
clientKey = _useCourier.clientKey,
dispatch = _useCourier.dispatch,
inbox = _useCourier.inbox,
clientKey = _useCourier.clientKey,
userId = _useCourier.userId,

@@ -89,2 +89,11 @@ userSignature = _useCourier.userSignature;

dispatch({
type: "inbox/SET_UNREAD_MESSAGE_COUNT",
payload: function payload() {
return messages.getMessageCount({
from: inbox === null || inbox === void 0 ? void 0 : inbox.from,
isRead: false
});
}
});
dispatch({
type: "inbox/FETCH_MESSAGES",

@@ -147,4 +156,4 @@ meta: meta,

}(),
markMessageUnread: function () {
var _markMessageUnread = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(messageId, trackingId) {
markAllAsRead: function () {
var _markAllAsRead = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
return _regenerator["default"].wrap(function _callee2$(_context2) {

@@ -155,9 +164,6 @@ while (1) {

dispatch({
type: "inbox/MARK_MESSAGE_UNREAD",
payload: {
messageId: messageId
}
type: "inbox/MARK_ALL_AS_READ"
});
_context2.next = 3;
return events.trackEvent(trackingId);
return events.trackEventBatch("read");

@@ -172,10 +178,10 @@ case 3:

function markMessageUnread(_x3, _x4) {
return _markMessageUnread.apply(this, arguments);
function markAllAsRead() {
return _markAllAsRead.apply(this, arguments);
}
return markMessageUnread;
return markAllAsRead;
}(),
markAllAsRead: function () {
var _markAllAsRead = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
markMessageUnread: function () {
var _markMessageUnread = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(messageId, trackingId) {
return _regenerator["default"].wrap(function _callee3$(_context3) {

@@ -186,6 +192,9 @@ while (1) {

dispatch({
type: "inbox/MARK_ALL_AS_READ"
type: "inbox/MARK_MESSAGE_UNREAD",
payload: {
messageId: messageId
}
});
_context3.next = 3;
return events.trackEventBatch("read");
return events.trackEvent(trackingId);

@@ -200,7 +209,36 @@ case 3:

function markAllAsRead() {
return _markAllAsRead.apply(this, arguments);
function markMessageUnread(_x3, _x4) {
return _markMessageUnread.apply(this, arguments);
}
return markAllAsRead;
return markMessageUnread;
}(),
markMessageArchived: function () {
var _markMessageArchived = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(messageId, trackingId) {
return _regenerator["default"].wrap(function _callee4$(_context4) {
while (1) {
switch (_context4.prev = _context4.next) {
case 0:
dispatch({
type: "inbox/MARK_MESSAGE_ARCHIVED",
payload: {
messageId: messageId
}
});
_context4.next = 3;
return events.trackEvent(trackingId);
case 3:
case "end":
return _context4.stop();
}
}
}, _callee4);
}));
function markMessageArchived(_x5, _x6) {
return _markMessageArchived.apply(this, arguments);
}
return markMessageArchived;
}()

@@ -207,0 +245,0 @@ };

{
"name": "@trycourier/react-hooks",
"version": "1.16.1-internal.fd096a7.0+fd096a7",
"version": "1.17.0",
"description": "",

@@ -23,4 +23,4 @@ "main": "dist/index.js",

"dependencies": {
"@trycourier/client-graphql": "^1.16.1-internal.fd096a7.0+fd096a7",
"@trycourier/react-provider": "^1.16.1-internal.fd096a7.0+fd096a7",
"@trycourier/client-graphql": "^1.17.0",
"@trycourier/react-provider": "^1.17.0",
"deep-extend": "^0.6.0",

@@ -40,3 +40,3 @@ "rimraf": "^3.0.2"

},
"gitHead": "fd096a70c1cdfeb5680712bf6dedb71c6c88ae62"
"gitHead": "5e42703792705663e3f12183caf3dd204e4b0269"
}

@@ -6,2 +6,3 @@ <!-- START doctoc generated TOC please keep comment here to allow auto update -->

- [Types](#types)
- [Events](#events)

@@ -46,2 +47,3 @@ <!-- END doctoc generated TOC please keep comment here to allow auto update -->

trackingIds?: {
archiveTrackingId: string;
clickTrackingId: string;

@@ -77,1 +79,96 @@ deliveredTrackingId: string;

```
<a name="2eventsmd"></a>
### [Events](#events)
#### Inbox
Inbox supports a few different events that can be triggered on the client side.
These events are:
- Delivered
- Read
- Unread
- Click
- Archive
Some of these events are called automatically.
- Delivered events are called automatically inside the Courier Provider when a message has been delivered through the websocket
- Click events are triggered using our `click through tracking` links. Click events will also automatically trigger a `read` event.
#### Manually calling events
You can call events manually by importing the corresponding function from the react hook.
For Example:
```js
import { CourierProvider } from "@trycourier/react-provider";
import { useInbox } from "@trycourier/react-hooks";
const MyInbox = () => {
const inbox = useInbox();
useEffect(() => {
inbox.fetchMessages();
}, []);
const handleReadMessage = (message) => (event) => {
event.preventDefault();
inbox.markMessageRead(
message.messageId,
message.trackingIds.readTrackingId
);
};
const handleUnreadMessage = (message) => (event) => {
event.preventDefault();
inbox.markMessageUnread(
message.messageId,
message.trackingIds.unreadTrackingId
);
};
const handleArchiveMessage = (message) => (event) => {
event.preventDefault();
inbox.markMessageArchived(
message.messageId,
message.trackingIds.archiveTrackingId
);
};
return (
<Container>
{inbox.messsages.map((message) => {
return (
<Message>
{message.read ? (
<>
<button onClick={handleUnreadMessage(message)}>
Unread Me
</button>
<button onClick={handleArchiveMessage(message)}>
Archive Me
</button>
</>
) : (
<button onClick={handleReadMessage(message)}>Read Me</button>
)}
</Message>
);
})}
</Container>
);
};
const MyApp = () => {
return (
<CourierProvider userId="MY_USER_ID" clientKey="MY_CLIENT_KEY">
<MyInbox />
</CourierProvider>
);
};
```

@@ -8,11 +8,12 @@ import { IInbox, ITab } from "./types";

interface IInboxActions {
init: (inbox: IInbox) => void;
toggleInbox: (isOpen?: boolean) => void;
setView: (view: "messages" | "preferences") => void;
setCurrentTab: (newTab: ITab) => void;
fetchMessages: (params?: IFetchMessagesParams) => void;
getMessageCount: (params?: IGetMessagesParams) => void;
init: (inbox: IInbox) => void;
markAllAsRead: () => void;
markMessageArchived: (messageId: string, trackingId: string) => Promise<void>;
markMessageRead: (messageId: string, trackingId: string) => Promise<void>;
markMessageUnread: (messageId: string, trackingId: string) => Promise<void>;
markAllAsRead: () => void;
setCurrentTab: (newTab: ITab) => void;
setView: (view: "messages" | "preferences") => void;
toggleInbox: (isOpen?: boolean) => void;
}

@@ -19,0 +20,0 @@ declare const useInboxActions: () => IInboxActions;

import { IInbox } from "./types";
declare const useInbox: () => {
init: (inbox: IInbox) => void;
toggleInbox: (isOpen?: boolean | undefined) => void;
setView: (view: "messages" | "preferences") => void;
setCurrentTab: (newTab: import("./types").ITab) => void;
fetchMessages: (params?: import("./use-inbox-actions").IFetchMessagesParams | undefined) => void;
getMessageCount: (params?: import("@trycourier/client-graphql/typings/messages").IGetMessagesParams | undefined) => void;
init: (inbox: IInbox) => void;
markAllAsRead: () => void;
markMessageArchived: (messageId: string, trackingId: string) => Promise<void>;
markMessageRead: (messageId: string, trackingId: string) => Promise<void>;
markMessageUnread: (messageId: string, trackingId: string) => Promise<void>;
markAllAsRead: () => void;
setCurrentTab: (newTab: import("./types").ITab) => void;
setView: (view: "messages" | "preferences") => void;
toggleInbox: (isOpen?: boolean | undefined) => void;
brand?: import("@trycourier/react-provider").Brand | undefined;

@@ -13,0 +14,0 @@ isOpen?: boolean | undefined;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc