@messenger-box/platform-browser 0.0.1-alpha.83 → 0.0.1-alpha.84

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.0.1-alpha.84](https://github.com/cdmbase/messenger-box/compare/v0.0.1-alpha.83...v0.0.1-alpha.84) (2021-11-23)
7
+
8
+ **Note:** Version bump only for package @messenger-box/platform-browser
9
+
10
+
11
+
12
+
13
+
6
14
  ## [0.0.1-alpha.83](https://github.com/cdmbase/messenger-box/compare/v0.0.1-alpha.82...v0.0.1-alpha.83) (2021-11-22)
7
15
 
8
16
  **Note:** Version bump only for package @messenger-box/platform-browser
@@ -1,5 +1,7 @@
1
1
  declare type IPropsType = {
2
2
  handleSelectMessgae?: any;
3
+ user?: [] | any;
4
+ messageList?: any;
3
5
  };
4
- export default function InboxSidebar({ handleSelectMessgae }: IPropsType): JSX.Element;
6
+ export default function InboxSidebar({ handleSelectMessgae, user, messageList }: IPropsType): JSX.Element;
5
7
  export {};
@@ -1 +1 @@
1
- export default function Messages({ id }: any): JSX.Element;
1
+ export default function Messages({ id, user, userId, currentUser }: any): JSX.Element;
@@ -1 +1 @@
1
- export default function MsgList({ id, messageList }: any): JSX.Element;
1
+ export default function MsgList({ messageList, currentUser }: any): JSX.Element;
@@ -1 +1 @@
1
- export default function Popover(): JSX.Element;
1
+ export default function Popover({ toggleDrawer }: any): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  export declare const styleSheet: {
2
- customPopoverStyles: () => {
2
+ customPopoverStyles: (toggleDrawer: any) => {
3
3
  position: string;
4
4
  height: string;
5
5
  width: string;
@@ -24,6 +24,12 @@ export declare const stylesheet: {
24
24
  fontWeight: string;
25
25
  fontSize: string;
26
26
  };
27
+ '& .ant-btn': {
28
+ padding: string;
29
+ };
30
+ '& .ant-btn:hover': {
31
+ background: string;
32
+ };
27
33
  };
28
34
  '& .header-section': {
29
35
  marginBottom: string;
package/lib/index.js CHANGED
@@ -190,20 +190,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
190
190
  Object.defineProperty(exports, "__esModule", { value: true });
191
191
  const React = __importStar(__webpack_require__(/*! react */ "react"));
192
192
  const antd_1 = __webpack_require__(/*! antd */ "antd");
193
- const mock_1 = __webpack_require__(/*! ../mock */ "./src/components/InboxMessage/mock.ts");
194
193
  const react_fela_1 = __webpack_require__(/*! react-fela */ "react-fela");
195
194
  const styles_1 = __webpack_require__(/*! ./styles */ "./src/components/InboxMessage/InboxSidebar/styles.ts");
196
- function InboxSidebar({ handleSelectMessgae }) {
195
+ function InboxSidebar({ handleSelectMessgae, user, messageList }) {
197
196
  const { css } = react_fela_1.useFela();
198
- return (React.createElement("div", { className: css(styles_1.styleSheet.inboxSibarStyles) }, mock_1.inboxData.length > 0 ? mock_1.inboxData.map((item) => {
199
- const lastMessage = item.messages[item.messages.length - 1];
200
- if (item.isLoggedIn == false) {
201
- return React.createElement("a", { className: 'show-message', onClick: () => handleSelectMessgae(item.id) },
197
+ return (React.createElement("div", { className: css(styles_1.styleSheet.inboxSibarStyles) }, (user === null || user === void 0 ? void 0 : user.length) > 0 ? user === null || user === void 0 ? void 0 : user.map((item, index) => {
198
+ const lastMessage = messageList[(messageList === null || messageList === void 0 ? void 0 : messageList.length) - 1];
199
+ if (item.alias[0] !== JSON.parse(window.atob(window.localStorage.getItem("access_token")
200
+ .split('.')[1].replace('-', '+')
201
+ .replace('_', '/'))).sub) {
202
+ return React.createElement("a", { className: 'show-message', onClick: () => handleSelectMessgae(item.id), key: index },
202
203
  React.createElement("div", { className: 'inbox-contacts' },
203
- React.createElement(antd_1.Avatar, { size: 45 }, item.username.charAt(0)),
204
+ React.createElement(antd_1.Avatar, { size: 45 }, item.username
205
+ .match(/\b(\w)/g)
206
+ .join('')
207
+ .toUpperCase()),
204
208
  React.createElement("div", { className: 'last-message' },
205
- React.createElement("h5", null, item.username),
206
- React.createElement("p", null, lastMessage.message))));
209
+ React.createElement("h5", null, item === null || item === void 0 ? void 0 : item.username),
210
+ React.createElement("p", null, lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.message))));
207
211
  }
208
212
  }) : React.createElement("div", { className: 'no-messages' },
209
213
  React.createElement("h4", null, "You have no unread messages"),
@@ -321,7 +325,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
321
325
  Object.defineProperty(exports, "__esModule", { value: true });
322
326
  const react_1 = __importStar(__webpack_require__(/*! react */ "react"));
323
327
  const react_fela_1 = __webpack_require__(/*! react-fela */ "react-fela");
324
- const mock_1 = __webpack_require__(/*! ../mock */ "./src/components/InboxMessage/mock.ts");
325
328
  const styles_1 = __webpack_require__(/*! ./styles */ "./src/components/InboxMessage/Messages/styles.ts");
326
329
  const antd_1 = __webpack_require__(/*! antd */ "antd");
327
330
  const bi_1 = __webpack_require__(/*! react-icons/bi */ "react-icons/bi");
@@ -329,21 +332,22 @@ const hi_1 = __webpack_require__(/*! react-icons/hi */ "react-icons/hi");
329
332
  const ai_1 = __webpack_require__(/*! react-icons/ai */ "react-icons/ai");
330
333
  const core_1 = __webpack_require__(/*! @messenger-box/core */ "@messenger-box/core");
331
334
  const MessagesList_1 = __importDefault(__webpack_require__(/*! ../MessagesList */ "./src/components/InboxMessage/MessagesList/index.tsx"));
332
- function Messages({ id }) {
335
+ function Messages({ id, user, userId, currentUser }) {
336
+ var _a;
333
337
  const [message, setMessage] = react_1.useState('');
334
338
  const { css } = react_fela_1.useFela();
335
339
  const [messageList, setMessageList] = react_1.useState([]);
336
340
  const [flag, setFlag] = react_1.useState(false);
337
341
  const { data, loading, error, refetch } = core_1.useGetMessagesQuery({
338
342
  variables: {
339
- channelId: '61969dab8fa1b826187c0d3e'
343
+ channelId: id
340
344
  }
341
345
  });
342
346
  react_1.useEffect(() => {
343
347
  if (!loading) {
344
348
  setMessageList(data.messages.data);
345
349
  }
346
- }, [loading]);
350
+ }, [loading, id, (_a = data === null || data === void 0 ? void 0 : data.messages) === null || _a === void 0 ? void 0 : _a.data, messageList]);
347
351
  const [sendMsg, {}] = core_1.useSendMessagesMutation({
348
352
  context: {},
349
353
  });
@@ -356,31 +360,31 @@ function Messages({ id }) {
356
360
  if (message) {
357
361
  sendMsg({
358
362
  variables: {
359
- channelId: '61969dab8fa1b826187c0d3e',
363
+ channelId: id,
360
364
  content: message
361
365
  },
362
366
  }).then(() => {
363
367
  refetch().then((value) => {
364
- setMessageList(value.data.messages.data);
368
+ setMessageList([...value.data.messages.data]);
365
369
  });
366
370
  });
367
371
  setMessage('');
368
372
  setFlag(true);
369
373
  }
370
374
  };
371
- const item = mock_1.inboxData.find((element) => {
372
- return element.id == id;
375
+ const item = user === null || user === void 0 ? void 0 : user.find((element) => {
376
+ return element.id == userId;
373
377
  });
374
378
  return (react_1.default.createElement("div", { className: css(styles_1.styleSheet.messageListStyles) },
375
379
  react_1.default.createElement("div", { className: 'message-container' },
376
380
  react_1.default.createElement("div", { className: 'message-username' },
377
- react_1.default.createElement("h2", null, item.username),
381
+ react_1.default.createElement("h2", null, item === null || item === void 0 ? void 0 : item.username),
378
382
  react_1.default.createElement("div", null,
379
383
  react_1.default.createElement(ai_1.AiFillStar, null),
380
384
  react_1.default.createElement(ai_1.AiFillMessage, null),
381
385
  react_1.default.createElement(ai_1.AiFillDropboxSquare, null))),
382
386
  react_1.default.createElement("div", { className: 'message-row' },
383
- react_1.default.createElement(MessagesList_1.default, { id: id, messageList: messageList }),
387
+ react_1.default.createElement(MessagesList_1.default, { id: id, messageList: messageList, user: user, currentUser: currentUser }),
384
388
  react_1.default.createElement("div", { ref: messagesEndRef }),
385
389
  react_1.default.createElement("div", { className: 'message-input' },
386
390
  react_1.default.createElement(bi_1.BiImage, null),
@@ -501,21 +505,19 @@ const react_1 = __importDefault(__webpack_require__(/*! react */ "react"));
501
505
  const antd_1 = __webpack_require__(/*! antd */ "antd");
502
506
  const moment_1 = __importDefault(__webpack_require__(/*! moment */ "moment"));
503
507
  const ai_1 = __webpack_require__(/*! react-icons/ai */ "react-icons/ai");
504
- function MsgList({ id, messageList }) {
505
- // const user = inboxData.find((element) => {
506
- // return element.id === id
507
- // })
508
- // const loggedInUser = inboxData.find((element) => {
509
- // return element.isLoggedIn === true
510
- // })
508
+ function MsgList({ messageList, currentUser }) {
511
509
  return (react_1.default.createElement(react_1.default.Fragment, null, messageList === null || messageList === void 0 ? void 0 : messageList.map((element, index) => {
512
- var _a, _b;
513
- // if (element.isLoggedIn) {
514
- return (react_1.default.createElement("div", { className: 'message- list' },
515
- react_1.default.createElement(antd_1.Comment, { author: react_1.default.createElement("p", { className: 'username' }, (_a = element === null || element === void 0 ? void 0 : element.author) === null || _a === void 0 ? void 0 : _a.username), key: index, datetime: moment_1.default().format('HH mm: A'), avatar: react_1.default.createElement(antd_1.Avatar, null, (_b = element === null || element === void 0 ? void 0 : element.author) === null || _b === void 0 ? void 0 : _b.username.charAt(0)), content: react_1.default.createElement("div", { className: "message" },
510
+ var _a;
511
+ // if (message.author.username == user?.username ) {
512
+ return (react_1.default.createElement("div", { className: "message-list", key: index },
513
+ react_1.default.createElement(antd_1.Comment, { author: react_1.default.createElement("p", { className: "username" }, (_a = element === null || element === void 0 ? void 0 : element.author) === null || _a === void 0 ? void 0 : _a.username), datetime: moment_1.default(element.createdAt).format('HH mm: A'), avatar: element.image ? (react_1.default.createElement(antd_1.Avatar, { src: element.image })) : (react_1.default.createElement(antd_1.Avatar, null, element.author.username
514
+ .match(/\b(\w)/g)
515
+ .join('')
516
+ .toUpperCase())), content: react_1.default.createElement("div", { className: "message" },
516
517
  react_1.default.createElement("p", null, element.message),
517
- react_1.default.createElement(ai_1.AiFillFlag, null)) })));
518
- // } else {
518
+ currentUser !== element.author.username ? react_1.default.createElement(ai_1.AiFillFlag, null) : '') })));
519
+ // }
520
+ // else {
519
521
  // return (
520
522
  // <div className='message-list'>
521
523
  // {element?.sendTo == user.username ? <Comment author={<p className='username'>{element?.author?.username}</p>} key={index} datetime={Moment().format('HH mm: A')} avatar={<Avatar>{element?.author?.username.charAt(0)}</Avatar>} content={<div className="message"><p>{element.message}</p></div>} /> : '' }
@@ -546,7 +548,7 @@ const react_1 = __importDefault(__webpack_require__(/*! react */ "react"));
546
548
  const react_fela_1 = __webpack_require__(/*! react-fela */ "react-fela");
547
549
  const style_1 = __webpack_require__(/*! ./style */ "./src/components/InboxMessage/Popover/style.ts");
548
550
  const antd_1 = __webpack_require__(/*! antd */ "antd");
549
- function Popover() {
551
+ function Popover({ toggleDrawer }) {
550
552
  const { css } = react_fela_1.useFela();
551
553
  const content = [
552
554
  {
@@ -561,7 +563,7 @@ function Popover() {
561
563
  total: '0'
562
564
  }
563
565
  ];
564
- return (react_1.default.createElement("div", { className: css(style_1.styleSheet.customPopoverStyles) }, content === null || content === void 0 ? void 0 : content.map((item, index) => {
566
+ return (react_1.default.createElement("div", { className: css(style_1.styleSheet.customPopoverStyles(toggleDrawer)) }, content === null || content === void 0 ? void 0 : content.map((item, index) => {
565
567
  if (!item.total) {
566
568
  return (react_1.default.createElement("div", { className: 'popover-style', key: index },
567
569
  react_1.default.createElement(antd_1.Button, { type: 'link', color: '#282121' }, item.name)));
@@ -589,13 +591,13 @@ exports.default = Popover;
589
591
  Object.defineProperty(exports, "__esModule", { value: true });
590
592
  exports.styleSheet = void 0;
591
593
  exports.styleSheet = {
592
- customPopoverStyles: () => ({
594
+ customPopoverStyles: (toggleDrawer) => ({
593
595
  position: 'absolute',
594
596
  height: '120px',
595
597
  width: '200px',
596
598
  background: 'white',
597
599
  boxShadow: '0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23)',
598
- left: '189px',
600
+ left: `${toggleDrawer ? '145px' : '189px'}`,
599
601
  top: '145px',
600
602
  borderRadius: '10px',
601
603
  '& .popover-style': {
@@ -659,6 +661,7 @@ const Messages_1 = __importDefault(__webpack_require__(/*! ./Messages */ "./src/
659
661
  const ai_1 = __webpack_require__(/*! react-icons/ai */ "react-icons/ai");
660
662
  const Popover_1 = __importDefault(__webpack_require__(/*! ./Popover */ "./src/components/InboxMessage/Popover/index.tsx"));
661
663
  const InboxDetails_1 = __importDefault(__webpack_require__(/*! ./InboxDetails */ "./src/components/InboxMessage/InboxDetails/index.tsx"));
664
+ const core_1 = __webpack_require__(/*! @messenger-box/core */ "@messenger-box/core");
662
665
  const { SubMenu } = antd_1.Menu;
663
666
  function InboxMessage() {
664
667
  const { css } = react_fela_1.useFela();
@@ -666,10 +669,77 @@ function InboxMessage() {
666
669
  const [showMessageSide, setShowMessageSide] = react_1.useState(false);
667
670
  const [showPopover, setShowPopover] = react_1.useState(false);
668
671
  const [toggleDrawer, setToggleDrawer] = react_1.useState(true);
672
+ const [messageList, setMessageList] = react_1.useState([]);
673
+ const [channel, setChannel] = react_1.useState([]);
674
+ const [user, setUser] = react_1.useState();
675
+ const [currentUserId, setCurrentUserId] = react_1.useState();
676
+ const [currentUser, setCurrentUser] = react_1.useState('');
677
+ const [userId, setUserId] = react_1.useState();
678
+ const { data, loading, error, refetch } = core_1.useGetMessagesQuery({
679
+ variables: {
680
+ channelId: '619c358964bcaf93a240b23e'
681
+ }
682
+ });
683
+ const channelData = core_1.useGetChannelsByUserQuery();
684
+ const allChannels = core_1.useGetAllChannelQuery();
685
+ react_1.useEffect(() => {
686
+ if (!channelData.loading) {
687
+ let fChannel = [];
688
+ let diChal = [];
689
+ if (currentUserId !== '' && !allChannels.loading) {
690
+ let uc = [];
691
+ channelData.data.channelsByUser.forEach(u => uc.push(u.id));
692
+ let ac = [];
693
+ allChannels.data.channels.forEach(a => ac.push(a.id));
694
+ diChal = ac.filter(t => !uc.includes(t));
695
+ allChannels.data.channels.filter((dc) => {
696
+ if (diChal.includes(dc.id)) {
697
+ dc.members.forEach(m => {
698
+ if (m.user === currentUserId) {
699
+ fChannel.push(dc);
700
+ }
701
+ });
702
+ }
703
+ });
704
+ }
705
+ setChannel([...channelData === null || channelData === void 0 ? void 0 : channelData.data.channelsByUser.filter(chl => chl.type === "DIRECT"), ...fChannel.filter(chl => chl.type === "DIRECT")]);
706
+ }
707
+ }, [loading, channelData, currentUserId]);
669
708
  const handleSelectMessgae = (id) => {
670
- setId(id);
671
709
  setShowMessageSide(true);
710
+ setUserId(id);
711
+ channel === null || channel === void 0 ? void 0 : channel.forEach((item) => {
712
+ var _a;
713
+ return (_a = item.members) === null || _a === void 0 ? void 0 : _a.filter(m => {
714
+ if (m.user == id) {
715
+ setId(item.id);
716
+ }
717
+ });
718
+ });
672
719
  };
720
+ const usersRes = core_1.useGetAllUsersQuery();
721
+ react_1.useEffect(() => {
722
+ var _a;
723
+ if (!usersRes.loading) {
724
+ setUser(usersRes.data.getUsers);
725
+ (_a = usersRes.data.getUsers) === null || _a === void 0 ? void 0 : _a.map((i) => {
726
+ if (i.alias[0] !== JSON.parse(window.atob(window.localStorage.getItem("access_token")
727
+ .split('.')[1].replace('-', '+')
728
+ .replace('_', '/'))).sub) {
729
+ return null;
730
+ }
731
+ else {
732
+ setCurrentUserId(i.id);
733
+ setCurrentUser(i.username);
734
+ }
735
+ });
736
+ }
737
+ });
738
+ react_1.useEffect(() => {
739
+ if (!loading) {
740
+ setMessageList(data.messages.data);
741
+ }
742
+ });
673
743
  const handleToggle = () => {
674
744
  setToggleDrawer(false);
675
745
  };
@@ -679,82 +749,17 @@ function InboxMessage() {
679
749
  react_1.default.createElement("div", { className: 'allmessage-header' },
680
750
  react_1.default.createElement("h3", null, "Messages"),
681
751
  react_1.default.createElement(antd_1.Button, { type: 'link', shape: 'circle', onClick: () => { setShowPopover(!showPopover); }, icon: react_1.default.createElement(ai_1.AiOutlineMenu, { style: { fontSize: '20px', color: 'black' } }) }),
682
- showPopover ? react_1.default.createElement(Popover_1.default, null) : '')),
683
- react_1.default.createElement(InboxSidebar_1.default, { handleSelectMessgae: handleSelectMessgae })),
752
+ showPopover ? react_1.default.createElement(Popover_1.default, { toggleDrawer: toggleDrawer }) : '')),
753
+ react_1.default.createElement(InboxSidebar_1.default, { user: user, handleSelectMessgae: handleSelectMessgae, messageList: messageList })),
684
754
  react_1.default.createElement("div", { className: `msg-container${toggleDrawer ? '-active' : ''}` },
685
755
  react_1.default.createElement("div", { className: "border" }),
686
- showMessageSide == true ? react_1.default.createElement(Messages_1.default, { id: id }) : ''),
756
+ showMessageSide == true ? react_1.default.createElement(Messages_1.default, { id: id, user: user, userId: userId, currentUser: currentUser }) : ''),
687
757
  react_1.default.createElement("div", { className: toggleDrawer ? 'inbox-details' : 'inbox-details-active' },
688
758
  react_1.default.createElement(InboxDetails_1.default, { handleToggle: handleToggle, toggleDrawer: toggleDrawer }))));
689
759
  }
690
760
  exports.default = InboxMessage;
691
761
 
692
762
 
693
- /***/ }),
694
-
695
- /***/ "./src/components/InboxMessage/mock.ts":
696
- /*!*********************************************!*\
697
- !*** ./src/components/InboxMessage/mock.ts ***!
698
- \*********************************************/
699
- /*! no static exports found */
700
- /***/ (function(module, exports, __webpack_require__) {
701
-
702
- "use strict";
703
-
704
- Object.defineProperty(exports, "__esModule", { value: true });
705
- exports.inboxData = void 0;
706
- exports.inboxData = [
707
- {
708
- username: 'Alex',
709
- id: Math.random(),
710
- isLoggedIn: true,
711
- messages: [
712
- {
713
- message: 'hello',
714
- id: Math.random(),
715
- isLoggedIn: true,
716
- },
717
- ]
718
- },
719
- {
720
- username: 'Tim',
721
- id: Math.random(),
722
- isLoggedIn: false,
723
- messages: [
724
- {
725
- message: 'hello',
726
- id: Math.random(),
727
- isLoggedIn: false,
728
- },
729
- ]
730
- },
731
- {
732
- username: 'Jack',
733
- id: Math.random(),
734
- isLoggedIn: false,
735
- messages: [
736
- {
737
- message: 'hello',
738
- id: Math.random(),
739
- isLoggedIn: false,
740
- },
741
- ]
742
- },
743
- {
744
- username: 'Conner',
745
- id: Math.random(),
746
- isLoggedIn: false,
747
- messages: [
748
- {
749
- message: 'hi',
750
- id: Math.random(),
751
- isLogged: false,
752
- },
753
- ]
754
- },
755
- ];
756
-
757
-
758
763
  /***/ }),
759
764
 
760
765
  /***/ "./src/components/InboxMessage/style.ts":
@@ -794,6 +799,12 @@ exports.stylesheet = {
794
799
  fontWeight: 'bold',
795
800
  fontSize: '1em !important'
796
801
  },
802
+ '& .ant-btn': {
803
+ padding: '4px'
804
+ },
805
+ '& .ant-btn:hover': {
806
+ background: '#eaeaea'
807
+ }
797
808
  },
798
809
  '& .header-section': {
799
810
  marginBottom: '20px',
@@ -1018,6 +1029,7 @@ const MessengerComponent = ({ channel, isRefetch }) => {
1018
1029
  });
1019
1030
  });
1020
1031
  };
1032
+ console.log(channel);
1021
1033
  return (react_1.default.createElement("div", { className: css(style_1.styleSheet3.customInputStyle), ref: clickRef },
1022
1034
  react_1.default.createElement("div", { className: "chat_container" },
1023
1035
  react_1.default.createElement("div", { className: "left_chat_box" },
@@ -22302,7 +22314,7 @@ const Dashboard = () => {
22302
22314
  react_1.useEffect(() => {
22303
22315
  if (!loading) {
22304
22316
  let filtChl = data.channelsByUser.filter(c => c.displayName === ('admin (you)' || false));
22305
- console.log('===============', filtChl.length);
22317
+ console.log('===============', filtChl);
22306
22318
  if (filtChl.length === 0 && currentUsrId !== '') {
22307
22319
  initChannelFun();
22308
22320
  }
@@ -22340,6 +22352,7 @@ const Dashboard = () => {
22340
22352
  }
22341
22353
  });
22342
22354
  }
22355
+ console.log(fChannel);
22343
22356
  setChannels([...data.channelsByUser, ...fChannel]);
22344
22357
  setPublicChannels(joinedChannel);
22345
22358
  setModalPublicChannels(modelChannel);