From 4ed2a37edad1859cf9dec5b123dcd6b563b00754 Mon Sep 17 00:00:00 2001 From: ayusht2810 Date: Mon, 11 Dec 2023 17:33:07 +0530 Subject: [PATCH 01/10] [MI-3828] Add feature to show linked channels and search the linked channels --- webapp/coverage/clover.xml | 320 ++++ webapp/coverage/coverage-final.json | 27 + webapp/coverage/lcov-report/base.css | 224 +++ .../coverage/lcov-report/block-navigation.js | 87 + .../Dialog/Dialog.component.tsx.html | 190 +++ .../lcov-report/components/Dialog/index.html | 116 ++ .../components/Icon/Icon.component.tsx.html | 142 ++ .../components/Icon/Icon.map.tsx.html | 1435 +++++++++++++++++ .../lcov-report/components/Icon/index.html | 131 ++ .../LinkedChannelCard.component.tsx.html | 169 ++ .../components/LinkedChannelCard/index.html | 116 ++ .../RhsTitle/RhsTitle.component.tsx.html | 130 ++ .../components/RhsTitle/index.html | 116 ++ .../Snackbar/Snackbar.component.tsx.html | 301 ++++ .../components/Snackbar/index.html | 116 ++ .../WarningCard.component.tsx.html | 208 +++ .../components/WarningCard/index.html | 116 ++ .../components/appManifestSetting.tsx.html | 211 +++ .../enforceConnectedAccountModal.tsx.html | 397 +++++ .../getConnectedUsersSetting.tsx.html | 199 +++ .../lcov-report/components/index.html | 146 ++ .../containers/Rhs/Rhs.container.tsx.html | 286 ++++ .../lcov-report/containers/Rhs/index.html | 131 ++ .../lcov-report/containers/Rhs/index.ts.html | 88 + .../ConnectAccount.container.tsx.html | 253 +++ .../Rhs/views/ConnectAccount/index.html | 131 ++ .../Rhs/views/ConnectAccount/index.ts.html | 88 + .../ConnectedAccount.container.tsx.html | 394 +++++ .../Rhs/views/ConnectedAccount/index.html | 131 ++ .../Rhs/views/ConnectedAccount/index.ts.html | 88 + .../LinkedChannels.container.tsx.html | 358 ++++ .../LinkedChannels.mock.ts.html | 742 +++++++++ .../Rhs/views/LinkedChannels/index.html | 146 ++ .../Rhs/views/LinkedChannels/index.ts.html | 88 + .../lcov-report/containers/index.html | 116 ++ .../lcov-report/containers/index.ts.html | 88 + webapp/coverage/lcov-report/favicon.png | Bin 0 -> 445 bytes webapp/coverage/lcov-report/index.html | 371 +++++ webapp/coverage/lcov-report/prettify.css | 1 + webapp/coverage/lcov-report/prettify.js | 2 + .../reducers/apiRequest/index.html | 116 ++ .../reducers/apiRequest/index.ts.html | 157 ++ .../reducers/connectedState/index.html | 116 ++ .../reducers/connectedState/index.ts.html | 166 ++ .../lcov-report/reducers/dialog/index.html | 116 ++ .../lcov-report/reducers/dialog/index.ts.html | 196 +++ .../coverage/lcov-report/reducers/index.html | 116 ++ .../lcov-report/reducers/index.ts.html | 139 ++ .../lcov-report/reducers/snackbar/index.html | 116 ++ .../reducers/snackbar/index.ts.html | 169 ++ .../lcov-report/reducers/spinner/index.html | 116 ++ .../reducers/spinner/index.ts.html | 142 ++ .../lcov-report/sort-arrow-sprite.png | Bin 0 -> 138 bytes webapp/coverage/lcov-report/sorter.js | 196 +++ webapp/coverage/lcov.info | 577 +++++++ webapp/src/App.tsx | 3 - webapp/src/components/Icon/Icon.map.tsx | 15 + webapp/src/components/Icon/Icon.types.ts | 2 +- .../LinkedChannelCard.component.tsx | 39 +- .../LinkedChannelCard.styles.scss | 12 + .../LinkedChannelCard.types.ts | 2 +- .../enforceConnectedAccountModal.tsx | 4 - webapp/src/constants/common.constants.ts | 2 + webapp/src/containers/Rhs/Rhs.container.tsx | 318 +++- ...edChannels.styles.scss => Rhs.styles.scss} | 0 .../ConnectAccount.container.tsx | 56 - .../Rhs/views/ConnectAccount/index.ts | 1 - .../ConnectedAccount.container.tsx | 103 -- .../Rhs/views/ConnectedAccount/index.ts | 1 - .../LinkedChannels.container.tsx | 91 -- .../LinkedChannels/LinkedChannels.mock.ts | 219 --- .../Rhs/views/LinkedChannels/index.ts | 1 - webapp/src/hooks/usePreviousState.ts | 11 + webapp/src/styles/_utils.scss | 8 + 74 files changed, 11206 insertions(+), 519 deletions(-) create mode 100644 webapp/coverage/clover.xml create mode 100644 webapp/coverage/coverage-final.json create mode 100644 webapp/coverage/lcov-report/base.css create mode 100644 webapp/coverage/lcov-report/block-navigation.js create mode 100644 webapp/coverage/lcov-report/components/Dialog/Dialog.component.tsx.html create mode 100644 webapp/coverage/lcov-report/components/Dialog/index.html create mode 100644 webapp/coverage/lcov-report/components/Icon/Icon.component.tsx.html create mode 100644 webapp/coverage/lcov-report/components/Icon/Icon.map.tsx.html create mode 100644 webapp/coverage/lcov-report/components/Icon/index.html create mode 100644 webapp/coverage/lcov-report/components/LinkedChannelCard/LinkedChannelCard.component.tsx.html create mode 100644 webapp/coverage/lcov-report/components/LinkedChannelCard/index.html create mode 100644 webapp/coverage/lcov-report/components/RhsTitle/RhsTitle.component.tsx.html create mode 100644 webapp/coverage/lcov-report/components/RhsTitle/index.html create mode 100644 webapp/coverage/lcov-report/components/Snackbar/Snackbar.component.tsx.html create mode 100644 webapp/coverage/lcov-report/components/Snackbar/index.html create mode 100644 webapp/coverage/lcov-report/components/WarningCard/WarningCard.component.tsx.html create mode 100644 webapp/coverage/lcov-report/components/WarningCard/index.html create mode 100644 webapp/coverage/lcov-report/components/appManifestSetting.tsx.html create mode 100644 webapp/coverage/lcov-report/components/enforceConnectedAccountModal.tsx.html create mode 100644 webapp/coverage/lcov-report/components/getConnectedUsersSetting.tsx.html create mode 100644 webapp/coverage/lcov-report/components/index.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/Rhs.container.tsx.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/index.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/index.ts.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.ts.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.ts.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.html create mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.ts.html create mode 100644 webapp/coverage/lcov-report/containers/index.html create mode 100644 webapp/coverage/lcov-report/containers/index.ts.html create mode 100644 webapp/coverage/lcov-report/favicon.png create mode 100644 webapp/coverage/lcov-report/index.html create mode 100644 webapp/coverage/lcov-report/prettify.css create mode 100644 webapp/coverage/lcov-report/prettify.js create mode 100644 webapp/coverage/lcov-report/reducers/apiRequest/index.html create mode 100644 webapp/coverage/lcov-report/reducers/apiRequest/index.ts.html create mode 100644 webapp/coverage/lcov-report/reducers/connectedState/index.html create mode 100644 webapp/coverage/lcov-report/reducers/connectedState/index.ts.html create mode 100644 webapp/coverage/lcov-report/reducers/dialog/index.html create mode 100644 webapp/coverage/lcov-report/reducers/dialog/index.ts.html create mode 100644 webapp/coverage/lcov-report/reducers/index.html create mode 100644 webapp/coverage/lcov-report/reducers/index.ts.html create mode 100644 webapp/coverage/lcov-report/reducers/snackbar/index.html create mode 100644 webapp/coverage/lcov-report/reducers/snackbar/index.ts.html create mode 100644 webapp/coverage/lcov-report/reducers/spinner/index.html create mode 100644 webapp/coverage/lcov-report/reducers/spinner/index.ts.html create mode 100644 webapp/coverage/lcov-report/sort-arrow-sprite.png create mode 100644 webapp/coverage/lcov-report/sorter.js create mode 100644 webapp/coverage/lcov.info rename webapp/src/containers/Rhs/{views/LinkedChannels/LinkedChannels.styles.scss => Rhs.styles.scss} (100%) delete mode 100644 webapp/src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx delete mode 100644 webapp/src/containers/Rhs/views/ConnectAccount/index.ts delete mode 100644 webapp/src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx delete mode 100644 webapp/src/containers/Rhs/views/ConnectedAccount/index.ts delete mode 100644 webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx delete mode 100644 webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts delete mode 100644 webapp/src/containers/Rhs/views/LinkedChannels/index.ts create mode 100644 webapp/src/hooks/usePreviousState.ts diff --git a/webapp/coverage/clover.xml b/webapp/coverage/clover.xml new file mode 100644 index 000000000..7cbff0850 --- /dev/null +++ b/webapp/coverage/clover.xml @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/webapp/coverage/coverage-final.json b/webapp/coverage/coverage-final.json new file mode 100644 index 000000000..4ca8a8034 --- /dev/null +++ b/webapp/coverage/coverage-final.json @@ -0,0 +1,27 @@ +{"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/appManifestSetting.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/appManifestSetting.tsx","statementMap":{"0":{"start":{"line":12,"column":18},"end":{"line":14,"column":5}},"1":{"start":{"line":13,"column":8},"end":{"line":13,"column":86}},"2":{"start":{"line":17,"column":8},"end":{"line":35,"column":10}},"3":{"start":{"line":39,"column":15},"end":{"line":43,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":18},"end":{"line":12,"column":19}},"loc":{"start":{"line":12,"column":24},"end":{"line":14,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":13},"end":{"line":36,"column":5}},"line":16}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/enforceConnectedAccountModal.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/enforceConnectedAccountModal.tsx","statementMap":{"0":{"start":{"line":11,"column":28},"end":{"line":11,"column":43}},"1":{"start":{"line":12,"column":34},"end":{"line":12,"column":49}},"2":{"start":{"line":13,"column":40},"end":{"line":13,"column":55}},"3":{"start":{"line":14,"column":40},"end":{"line":14,"column":55}},"4":{"start":{"line":15,"column":62},"end":{"line":15,"column":76}},"5":{"start":{"line":17,"column":17},"end":{"line":19,"column":10}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":23}},"7":{"start":{"line":21,"column":27},"end":{"line":23,"column":10}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":101}},"9":{"start":{"line":25,"column":4},"end":{"line":27,"column":11}},"10":{"start":{"line":26,"column":8},"end":{"line":26,"column":106}},"11":{"start":{"line":29,"column":37},"end":{"line":29,"column":111}},"12":{"start":{"line":30,"column":32},"end":{"line":30,"column":101}},"13":{"start":{"line":32,"column":4},"end":{"line":46,"column":7}},"14":{"start":{"line":35,"column":12},"end":{"line":44,"column":13}},"15":{"start":{"line":36,"column":29},"end":{"line":36,"column":65}},"16":{"start":{"line":37,"column":16},"end":{"line":43,"column":17}},"17":{"start":{"line":38,"column":20},"end":{"line":38,"column":47}},"18":{"start":{"line":39,"column":20},"end":{"line":39,"column":45}},"19":{"start":{"line":40,"column":23},"end":{"line":43,"column":17}},"20":{"start":{"line":41,"column":20},"end":{"line":41,"column":35}},"21":{"start":{"line":42,"column":20},"end":{"line":42,"column":41}},"22":{"start":{"line":48,"column":4},"end":{"line":56,"column":7}},"23":{"start":{"line":51,"column":12},"end":{"line":54,"column":13}},"24":{"start":{"line":52,"column":16},"end":{"line":52,"column":36}},"25":{"start":{"line":53,"column":16},"end":{"line":53,"column":79}},"26":{"start":{"line":58,"column":27},"end":{"line":60,"column":10}},"27":{"start":{"line":59,"column":8},"end":{"line":59,"column":106}},"28":{"start":{"line":62,"column":4},"end":{"line":74,"column":21}},"29":{"start":{"line":63,"column":28},"end":{"line":63,"column":29}},"30":{"start":{"line":64,"column":8},"end":{"line":67,"column":9}},"31":{"start":{"line":65,"column":12},"end":{"line":65,"column":32}},"32":{"start":{"line":66,"column":12},"end":{"line":66,"column":57}},"33":{"start":{"line":68,"column":8},"end":{"line":73,"column":10}},"34":{"start":{"line":69,"column":12},"end":{"line":72,"column":13}},"35":{"start":{"line":70,"column":16},"end":{"line":70,"column":37}},"36":{"start":{"line":71,"column":16},"end":{"line":71,"column":40}},"37":{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},"38":{"start":{"line":77,"column":8},"end":{"line":77,"column":20}},"39":{"start":{"line":80,"column":4},"end":{"line":103,"column":6}}},"fnMap":{"0":{"name":"EnforceConnectedAccountModal","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":52}},"loc":{"start":{"line":10,"column":55},"end":{"line":104,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":29},"end":{"line":17,"column":30}},"loc":{"start":{"line":17,"column":35},"end":{"line":19,"column":5}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":39},"end":{"line":21,"column":40}},"loc":{"start":{"line":21,"column":45},"end":{"line":23,"column":5}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":14},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":20},"end":{"line":27,"column":5}},"line":25},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":23},"end":{"line":34,"column":24}},"loc":{"start":{"line":34,"column":29},"end":{"line":45,"column":9}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":50,"column":23},"end":{"line":50,"column":24}},"loc":{"start":{"line":50,"column":29},"end":{"line":55,"column":9}},"line":50},"6":{"name":"(anonymous_6)","decl":{"start":{"line":58,"column":39},"end":{"line":58,"column":40}},"loc":{"start":{"line":58,"column":45},"end":{"line":60,"column":5}},"line":58},"7":{"name":"(anonymous_7)","decl":{"start":{"line":62,"column":14},"end":{"line":62,"column":15}},"loc":{"start":{"line":62,"column":20},"end":{"line":74,"column":5}},"line":62},"8":{"name":"(anonymous_8)","decl":{"start":{"line":68,"column":15},"end":{"line":68,"column":16}},"loc":{"start":{"line":68,"column":21},"end":{"line":73,"column":9}},"line":68}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":12},"end":{"line":44,"column":13}},"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":44,"column":13}},{"start":{},"end":{}}],"line":35},"1":{"loc":{"start":{"line":37,"column":16},"end":{"line":43,"column":17}},"type":"if","locations":[{"start":{"line":37,"column":16},"end":{"line":43,"column":17}},{"start":{"line":40,"column":23},"end":{"line":43,"column":17}}],"line":37},"2":{"loc":{"start":{"line":40,"column":23},"end":{"line":43,"column":17}},"type":"if","locations":[{"start":{"line":40,"column":23},"end":{"line":43,"column":17}},{"start":{},"end":{}}],"line":40},"3":{"loc":{"start":{"line":51,"column":12},"end":{"line":54,"column":13}},"type":"if","locations":[{"start":{"line":51,"column":12},"end":{"line":54,"column":13}},{"start":{},"end":{}}],"line":51},"4":{"loc":{"start":{"line":64,"column":8},"end":{"line":67,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":67,"column":9}},{"start":{},"end":{}}],"line":64},"5":{"loc":{"start":{"line":69,"column":12},"end":{"line":72,"column":13}},"type":"if","locations":[{"start":{"line":69,"column":12},"end":{"line":72,"column":13}},{"start":{},"end":{}}],"line":69},"6":{"loc":{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},"type":"if","locations":[{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},{"start":{},"end":{}}],"line":76},"7":{"loc":{"start":{"line":84,"column":13},"end":{"line":84,"column":133}},"type":"binary-expr","locations":[{"start":{"line":84,"column":13},"end":{"line":84,"column":24}},{"start":{"line":84,"column":28},"end":{"line":84,"column":133}}],"line":84},"8":{"loc":{"start":{"line":85,"column":13},"end":{"line":92,"column":13}},"type":"binary-expr","locations":[{"start":{"line":85,"column":13},"end":{"line":85,"column":24}},{"start":{"line":86,"column":16},"end":{"line":91,"column":25}}],"line":85},"9":{"loc":{"start":{"line":93,"column":13},"end":{"line":93,"column":119}},"type":"binary-expr","locations":[{"start":{"line":93,"column":13},"end":{"line":93,"column":23}},{"start":{"line":93,"column":27},"end":{"line":93,"column":119}}],"line":93},"10":{"loc":{"start":{"line":94,"column":13},"end":{"line":101,"column":13}},"type":"binary-expr","locations":[{"start":{"line":94,"column":13},"end":{"line":94,"column":20}},{"start":{"line":94,"column":24},"end":{"line":94,"column":35}},{"start":{"line":95,"column":16},"end":{"line":100,"column":20}}],"line":94}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0]}} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/getConnectedUsersSetting.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/getConnectedUsersSetting.tsx","statementMap":{"0":{"start":{"line":8,"column":33},"end":{"line":27,"column":1}},"1":{"start":{"line":9,"column":4},"end":{"line":26,"column":6}},"2":{"start":{"line":29,"column":15},"end":{"line":36,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":33},"end":{"line":8,"column":34}},"loc":{"start":{"line":8,"column":53},"end":{"line":27,"column":1}},"line":8}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Dialog/Dialog.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Dialog/Dialog.component.tsx","statementMap":{"0":{"start":{"line":10,"column":22},"end":{"line":35,"column":1}},"1":{"start":{"line":11,"column":21},"end":{"line":11,"column":34}},"2":{"start":{"line":12,"column":20},"end":{"line":12,"column":34}},"3":{"start":{"line":13,"column":103},"end":{"line":13,"column":124}},"4":{"start":{"line":15,"column":24},"end":{"line":15,"column":53}},"5":{"start":{"line":15,"column":30},"end":{"line":15,"column":53}},"6":{"start":{"line":17,"column":4},"end":{"line":34,"column":6}},"7":{"start":{"line":25,"column":16},"end":{"line":25,"column":30}},"8":{"start":{"line":26,"column":16},"end":{"line":26,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":22},"end":{"line":10,"column":23}},"loc":{"start":{"line":10,"column":118},"end":{"line":35,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":25}},"loc":{"start":{"line":15,"column":30},"end":{"line":15,"column":53}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":28},"end":{"line":24,"column":29}},"loc":{"start":{"line":24,"column":34},"end":{"line":27,"column":13}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":13},"end":{"line":32,"column":43}},"type":"binary-expr","locations":[{"start":{"line":32,"column":13},"end":{"line":32,"column":22}},{"start":{"line":32,"column":26},"end":{"line":32,"column":43}}],"line":32}},"s":{"0":5,"1":8,"2":8,"3":8,"4":8,"5":1,"6":8,"7":1,"8":1},"f":{"0":8,"1":1,"2":1},"b":{"0":[8,8]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5ec82520a0f782461987256c1ff43534fbdb5ebe"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Icon/Icon.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Icon/Icon.component.tsx","statementMap":{"0":{"start":{"line":6,"column":20},"end":{"line":19,"column":1}},"1":{"start":{"line":7,"column":4},"end":{"line":18,"column":11}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":20},"end":{"line":6,"column":21}},"loc":{"start":{"line":7,"column":4},"end":{"line":18,"column":11}},"line":7}},"branchMap":{},"s":{"0":8,"1":34},"f":{"0":34},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0eeeab9410807208c25c0d49417632a8b3991c8f"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Icon/Icon.map.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Icon/Icon.map.tsx","statementMap":{"0":{"start":{"line":5,"column":55},"end":{"line":450,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":8},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b74b756d28414ee6e4a48179e9fbe55e9127dbd9"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx","statementMap":{"0":{"start":{"line":9,"column":33},"end":{"line":28,"column":1}},"1":{"start":{"line":10,"column":4},"end":{"line":27,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":33},"end":{"line":9,"column":34}},"loc":{"start":{"line":10,"column":4},"end":{"line":27,"column":10}},"line":10}},"branchMap":{},"s":{"0":5,"1":2},"f":{"0":2},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a5f01796c79f89d521b7ee90c8e355adeb8d1bbf"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/RhsTitle/RhsTitle.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/RhsTitle/RhsTitle.component.tsx","statementMap":{"0":{"start":{"line":6,"column":24},"end":{"line":15,"column":1}},"1":{"start":{"line":7,"column":4},"end":{"line":14,"column":11}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":24},"end":{"line":6,"column":25}},"loc":{"start":{"line":7,"column":4},"end":{"line":14,"column":11}},"line":7}},"branchMap":{},"s":{"0":5,"1":1},"f":{"0":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"959924d309f379fdb05663739e6f450fc0dc226c"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Snackbar/Snackbar.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Snackbar/Snackbar.component.tsx","statementMap":{"0":{"start":{"line":16,"column":24},"end":{"line":72,"column":1}},"1":{"start":{"line":17,"column":21},"end":{"line":17,"column":34}},"2":{"start":{"line":18,"column":20},"end":{"line":18,"column":34}},"3":{"start":{"line":19,"column":19},"end":{"line":19,"column":28}},"4":{"start":{"line":20,"column":40},"end":{"line":20,"column":63}},"5":{"start":{"line":22,"column":24},"end":{"line":22,"column":52}},"6":{"start":{"line":22,"column":30},"end":{"line":22,"column":52}},"7":{"start":{"line":24,"column":4},"end":{"line":35,"column":17}},"8":{"start":{"line":25,"column":8},"end":{"line":30,"column":9}},"9":{"start":{"line":26,"column":12},"end":{"line":29,"column":29}},"10":{"start":{"line":28,"column":16},"end":{"line":28,"column":30}},"11":{"start":{"line":32,"column":8},"end":{"line":34,"column":10}},"12":{"start":{"line":33,"column":12},"end":{"line":33,"column":41}},"13":{"start":{"line":37,"column":60},"end":{"line":41,"column":5}},"14":{"start":{"line":43,"column":61},"end":{"line":47,"column":5}},"15":{"start":{"line":49,"column":4},"end":{"line":71,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":25}},"loc":{"start":{"line":16,"column":30},"end":{"line":72,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":25}},"loc":{"start":{"line":22,"column":30},"end":{"line":22,"column":52}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":14},"end":{"line":24,"column":15}},"loc":{"start":{"line":24,"column":20},"end":{"line":35,"column":5}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":26,"column":47},"end":{"line":26,"column":48}},"loc":{"start":{"line":26,"column":53},"end":{"line":29,"column":13}},"line":26},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":15},"end":{"line":32,"column":16}},"loc":{"start":{"line":32,"column":21},"end":{"line":34,"column":9}},"line":32}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":8},"end":{"line":30,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":30,"column":9}},{"start":{},"end":{}}],"line":25}},"s":{"0":5,"1":6,"2":6,"3":6,"4":6,"5":6,"6":1,"7":6,"8":6,"9":6,"10":0,"11":6,"12":6,"13":6,"14":6,"15":6},"f":{"0":6,"1":1,"2":6,"3":0,"4":6},"b":{"0":[6,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"898169fe979efe9dcad3314789cc531604a78d15"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/WarningCard/WarningCard.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/WarningCard/WarningCard.component.tsx","statementMap":{"0":{"start":{"line":10,"column":27},"end":{"line":41,"column":1}},"1":{"start":{"line":11,"column":4},"end":{"line":40,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":27},"end":{"line":10,"column":28}},"loc":{"start":{"line":10,"column":62},"end":{"line":41,"column":1}},"line":10}},"branchMap":{},"s":{"0":5,"1":5},"f":{"0":5},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a630062269cc341cbb4c0e901331f467cf6dce50"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/Rhs.container.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/Rhs.container.tsx","statementMap":{"0":{"start":{"line":18,"column":19},"end":{"line":67,"column":1}},"1":{"start":{"line":19,"column":33},"end":{"line":19,"column":47}},"2":{"start":{"line":20,"column":24},"end":{"line":20,"column":48}},"3":{"start":{"line":21,"column":27},"end":{"line":21,"column":49}},"4":{"start":{"line":23,"column":21},"end":{"line":23,"column":44}},"5":{"start":{"line":25,"column":19},"end":{"line":25,"column":84}},"6":{"start":{"line":26,"column":35},"end":{"line":26,"column":104}},"7":{"start":{"line":28,"column":33},"end":{"line":28,"column":62}},"8":{"start":{"line":32,"column":31},"end":{"line":32,"column":36}},"9":{"start":{"line":34,"column":23},"end":{"line":56,"column":49}},"10":{"start":{"line":35,"column":8},"end":{"line":41,"column":9}},"11":{"start":{"line":36,"column":12},"end":{"line":40,"column":14}},"12":{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},"13":{"start":{"line":44,"column":12},"end":{"line":44,"column":37}},"14":{"start":{"line":47,"column":8},"end":{"line":49,"column":9}},"15":{"start":{"line":48,"column":12},"end":{"line":48,"column":37}},"16":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"17":{"start":{"line":52,"column":12},"end":{"line":52,"column":39}},"18":{"start":{"line":55,"column":8},"end":{"line":55,"column":21}},"19":{"start":{"line":58,"column":4},"end":{"line":66,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":19},"end":{"line":18,"column":20}},"loc":{"start":{"line":18,"column":25},"end":{"line":67,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":35},"end":{"line":34,"column":36}},"loc":{"start":{"line":34,"column":41},"end":{"line":56,"column":5}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":41,"column":9}},{"start":{},"end":{}}],"line":35},"1":{"loc":{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},{"start":{},"end":{}}],"line":43},"2":{"loc":{"start":{"line":43,"column":12},"end":{"line":43,"column":45}},"type":"binary-expr","locations":[{"start":{"line":43,"column":12},"end":{"line":43,"column":22}},{"start":{"line":43,"column":26},"end":{"line":43,"column":45}}],"line":43},"3":{"loc":{"start":{"line":47,"column":8},"end":{"line":49,"column":9}},"type":"if","locations":[{"start":{"line":47,"column":8},"end":{"line":49,"column":9}},{"start":{},"end":{}}],"line":47},"4":{"loc":{"start":{"line":47,"column":12},"end":{"line":47,"column":44}},"type":"binary-expr","locations":[{"start":{"line":47,"column":12},"end":{"line":47,"column":22}},{"start":{"line":47,"column":26},"end":{"line":47,"column":44}}],"line":47},"5":{"loc":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},{"start":{},"end":{}}],"line":51},"6":{"loc":{"start":{"line":51,"column":12},"end":{"line":51,"column":44}},"type":"binary-expr","locations":[{"start":{"line":51,"column":12},"end":{"line":51,"column":21}},{"start":{"line":51,"column":25},"end":{"line":51,"column":44}}],"line":51},"7":{"loc":{"start":{"line":61,"column":16},"end":{"line":62,"column":57}},"type":"cond-expr","locations":[{"start":{"line":62,"column":20},"end":{"line":62,"column":32}},{"start":{"line":62,"column":35},"end":{"line":62,"column":57}}],"line":61},"8":{"loc":{"start":{"line":64,"column":13},"end":{"line":64,"column":34}},"type":"binary-expr","locations":[{"start":{"line":64,"column":13},"end":{"line":64,"column":19}},{"start":{"line":64,"column":23},"end":{"line":64,"column":34}}],"line":64}},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":3,"10":2,"11":0,"12":2,"13":0,"14":2,"15":0,"16":2,"17":2,"18":0,"19":2},"f":{"0":3,"1":2},"b":{"0":[0,2],"1":[0,2],"2":[2,0],"3":[0,2],"4":[2,0],"5":[2,0],"6":[2,2],"7":[2,0],"8":[2,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d42a6e92e724d7b77ab7f89ebc532b7d587a6340"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx","statementMap":{"0":{"start":{"line":12,"column":30},"end":{"line":56,"column":1}},"1":{"start":{"line":13,"column":22},"end":{"line":13,"column":32}},"2":{"start":{"line":14,"column":49},"end":{"line":14,"column":63}},"3":{"start":{"line":16,"column":27},"end":{"line":18,"column":10}},"4":{"start":{"line":17,"column":8},"end":{"line":17,"column":91}},"5":{"start":{"line":20,"column":4},"end":{"line":25,"column":7}},"6":{"start":{"line":23,"column":12},"end":{"line":23,"column":93}},"7":{"start":{"line":27,"column":4},"end":{"line":55,"column":6}},"8":{"start":{"line":44,"column":24},"end":{"line":50,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":30},"end":{"line":12,"column":31}},"loc":{"start":{"line":12,"column":36},"end":{"line":56,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":39},"end":{"line":16,"column":40}},"loc":{"start":{"line":16,"column":45},"end":{"line":18,"column":5}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":21},"end":{"line":22,"column":22}},"loc":{"start":{"line":22,"column":27},"end":{"line":24,"column":9}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":58},"end":{"line":43,"column":59}},"loc":{"start":{"line":44,"column":24},"end":{"line":50,"column":29}},"line":44}},"branchMap":{},"s":{"0":2,"1":3,"2":3,"3":3,"4":1,"5":3,"6":0,"7":3,"8":6},"f":{"0":3,"1":1,"2":0,"3":6},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4bd46558f8035aa0c7233038c53711d3f875b815"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectAccount/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectAccount/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"383dbb1c5e0d9ce3ac184110c2cdafedc796dbf7"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx","statementMap":{"0":{"start":{"line":16,"column":32},"end":{"line":103,"column":1}},"1":{"start":{"line":17,"column":21},"end":{"line":17,"column":34}},"2":{"start":{"line":18,"column":56},"end":{"line":18,"column":70}},"3":{"start":{"line":19,"column":69},"end":{"line":19,"column":93}},"4":{"start":{"line":21,"column":22},"end":{"line":21,"column":32}},"5":{"start":{"line":23,"column":27},"end":{"line":25,"column":10}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":98}},"7":{"start":{"line":27,"column":54},"end":{"line":32,"column":6}},"8":{"start":{"line":30,"column":12},"end":{"line":30,"column":25}},"9":{"start":{"line":34,"column":4},"end":{"line":50,"column":7}},"10":{"start":{"line":37,"column":12},"end":{"line":37,"column":115}},"11":{"start":{"line":38,"column":12},"end":{"line":38,"column":25}},"12":{"start":{"line":39,"column":12},"end":{"line":41,"column":15}},"13":{"start":{"line":44,"column":12},"end":{"line":47,"column":15}},"14":{"start":{"line":48,"column":12},"end":{"line":48,"column":25}},"15":{"start":{"line":52,"column":4},"end":{"line":57,"column":40}},"16":{"start":{"line":53,"column":8},"end":{"line":56,"column":9}},"17":{"start":{"line":54,"column":12},"end":{"line":54,"column":76}},"18":{"start":{"line":55,"column":12},"end":{"line":55,"column":99}},"19":{"start":{"line":59,"column":4},"end":{"line":102,"column":6}},"20":{"start":{"line":84,"column":39},"end":{"line":91,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":32},"end":{"line":16,"column":33}},"loc":{"start":{"line":16,"column":38},"end":{"line":103,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":39},"end":{"line":23,"column":40}},"loc":{"start":{"line":23,"column":45},"end":{"line":25,"column":5}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":24},"end":{"line":29,"column":25}},"loc":{"start":{"line":29,"column":30},"end":{"line":31,"column":9}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":23},"end":{"line":36,"column":24}},"loc":{"start":{"line":36,"column":29},"end":{"line":42,"column":9}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":21},"end":{"line":43,"column":22}},"loc":{"start":{"line":43,"column":27},"end":{"line":49,"column":9}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":52,"column":14},"end":{"line":52,"column":15}},"loc":{"start":{"line":52,"column":20},"end":{"line":57,"column":5}},"line":52},"6":{"name":"(anonymous_6)","decl":{"start":{"line":84,"column":33},"end":{"line":84,"column":34}},"loc":{"start":{"line":84,"column":39},"end":{"line":91,"column":26}},"line":84}},"branchMap":{"0":{"loc":{"start":{"line":53,"column":8},"end":{"line":56,"column":9}},"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":56,"column":9}},{"start":{},"end":{}}],"line":53},"1":{"loc":{"start":{"line":53,"column":12},"end":{"line":53,"column":44}},"type":"binary-expr","locations":[{"start":{"line":53,"column":12},"end":{"line":53,"column":21}},{"start":{"line":53,"column":25},"end":{"line":53,"column":44}}],"line":53}},"s":{"0":2,"1":8,"2":8,"3":8,"4":8,"5":8,"6":0,"7":6,"8":0,"9":6,"10":0,"11":0,"12":0,"13":0,"14":0,"15":6,"16":6,"17":0,"18":0,"19":6,"20":1},"f":{"0":8,"1":0,"2":0,"3":0,"4":0,"5":6,"6":1},"b":{"0":[0,6],"1":[6,6]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"197917806593317b01bbdf62f330964c84e0beb7"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectedAccount/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectedAccount/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"921572181773fc2c574cc44ddbdb136bfab444a1"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx","statementMap":{"0":{"start":{"line":18,"column":30},"end":{"line":91,"column":1}},"1":{"start":{"line":20,"column":49},"end":{"line":20,"column":63}},"2":{"start":{"line":21,"column":58},"end":{"line":21,"column":89}},"3":{"start":{"line":22,"column":62},"end":{"line":25,"column":6}},"4":{"start":{"line":28,"column":24},"end":{"line":30,"column":6}},"5":{"start":{"line":28,"column":30},"end":{"line":30,"column":6}},"6":{"start":{"line":29,"column":8},"end":{"line":29,"column":38}},"7":{"start":{"line":29,"column":25},"end":{"line":29,"column":30}},"8":{"start":{"line":32,"column":4},"end":{"line":37,"column":32}},"9":{"start":{"line":33,"column":8},"end":{"line":36,"column":11}},"10":{"start":{"line":34,"column":35},"end":{"line":34,"column":189}},"11":{"start":{"line":35,"column":12},"end":{"line":35,"column":103}},"12":{"start":{"line":39,"column":27},"end":{"line":43,"column":10}},"13":{"start":{"line":40,"column":8},"end":{"line":42,"column":10}},"14":{"start":{"line":46,"column":29},"end":{"line":49,"column":5}},"15":{"start":{"line":47,"column":8},"end":{"line":48,"column":11}},"16":{"start":{"line":51,"column":34},"end":{"line":53,"column":29}},"17":{"start":{"line":52,"column":9},"end":{"line":52,"column":102}},"18":{"start":{"line":55,"column":4},"end":{"line":90,"column":6}},"19":{"start":{"line":80,"column":24},"end":{"line":84,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":30},"end":{"line":18,"column":31}},"loc":{"start":{"line":18,"column":36},"end":{"line":91,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":25}},"loc":{"start":{"line":28,"column":30},"end":{"line":30,"column":6}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":48},"end":{"line":28,"column":49}},"loc":{"start":{"line":28,"column":57},"end":{"line":30,"column":5}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":19},"end":{"line":29,"column":20}},"loc":{"start":{"line":29,"column":25},"end":{"line":29,"column":30}},"line":29},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":14},"end":{"line":32,"column":15}},"loc":{"start":{"line":32,"column":20},"end":{"line":37,"column":5}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":27},"end":{"line":33,"column":28}},"loc":{"start":{"line":33,"column":33},"end":{"line":36,"column":9}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":39,"column":39},"end":{"line":39,"column":40}},"loc":{"start":{"line":39,"column":45},"end":{"line":43,"column":5}},"line":39},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":29},"end":{"line":46,"column":30}},"loc":{"start":{"line":46,"column":35},"end":{"line":49,"column":5}},"line":46},"8":{"name":"(anonymous_8)","decl":{"start":{"line":51,"column":51},"end":{"line":51,"column":52}},"loc":{"start":{"line":52,"column":9},"end":{"line":52,"column":102}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":79,"column":45},"end":{"line":79,"column":46}},"loc":{"start":{"line":80,"column":24},"end":{"line":84,"column":26}},"line":80}},"branchMap":{},"s":{"0":2,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":0,"8":3,"9":3,"10":0,"11":0,"12":3,"13":1,"14":3,"15":0,"16":3,"17":3,"18":3,"19":0},"f":{"0":3,"1":3,"2":3,"3":0,"4":3,"5":0,"6":1,"7":0,"8":3,"9":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"07bffa569a134c8cec52199792d41c06807feb10"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts","statementMap":{"0":{"start":{"line":1,"column":34},"end":{"line":219,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":2},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9a81de87ca8cfac4634dbe1d62316edf08a74f55"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fc3529e59d0e5498b4c45973f40fb8a51d9064ba"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/apiRequest/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/apiRequest/index.ts","statementMap":{"0":{"start":{"line":5,"column":48},"end":{"line":7,"column":1}},"1":{"start":{"line":9,"column":41},"end":{"line":20,"column":2}},"2":{"start":{"line":14,"column":12},"end":{"line":14,"column":65}},"3":{"start":{"line":17,"column":12},"end":{"line":17,"column":92}},"4":{"start":{"line":17,"column":64},"end":{"line":17,"column":90}},"5":{"start":{"line":22,"column":78},"end":{"line":22,"column":111}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":38},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":121},"end":{"line":15,"column":9}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":40},"end":{"line":16,"column":41}},"loc":{"start":{"line":16,"column":123},"end":{"line":18,"column":9}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":51},"end":{"line":17,"column":52}},"loc":{"start":{"line":17,"column":64},"end":{"line":17,"column":90}},"line":17}},"branchMap":{},"s":{"0":7,"1":7,"2":1,"3":1,"4":3,"5":7},"f":{"0":1,"1":1,"2":3},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d0880846146360c850b494a94dd0bb245d33a928"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/connectedState/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/connectedState/index.ts","statementMap":{"0":{"start":{"line":5,"column":37},"end":{"line":10,"column":1}},"1":{"start":{"line":12,"column":35},"end":{"line":23,"column":2}},"2":{"start":{"line":17,"column":12},"end":{"line":17,"column":55}},"3":{"start":{"line":18,"column":12},"end":{"line":18,"column":73}},"4":{"start":{"line":19,"column":12},"end":{"line":19,"column":53}},"5":{"start":{"line":20,"column":12},"end":{"line":20,"column":63}},"6":{"start":{"line":25,"column":30},"end":{"line":25,"column":57}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":22},"end":{"line":16,"column":23}},"loc":{"start":{"line":16,"column":88},"end":{"line":21,"column":9}},"line":16}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1,"4":1,"5":1,"6":3},"f":{"0":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d1af2232fb7d186c671efe87d67ff2b1d2aaf9a0"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/dialog/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/dialog/index.ts","statementMap":{"0":{"start":{"line":5,"column":34},"end":{"line":13,"column":1}},"1":{"start":{"line":15,"column":27},"end":{"line":33,"column":2}},"2":{"start":{"line":20,"column":12},"end":{"line":20,"column":30}},"3":{"start":{"line":21,"column":12},"end":{"line":21,"column":52}},"4":{"start":{"line":22,"column":12},"end":{"line":22,"column":52}},"5":{"start":{"line":23,"column":12},"end":{"line":23,"column":48}},"6":{"start":{"line":24,"column":12},"end":{"line":24,"column":64}},"7":{"start":{"line":25,"column":12},"end":{"line":25,"column":68}},"8":{"start":{"line":26,"column":12},"end":{"line":26,"column":40}},"9":{"start":{"line":29,"column":12},"end":{"line":29,"column":31}},"10":{"start":{"line":35,"column":41},"end":{"line":35,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":20},"end":{"line":19,"column":21}},"loc":{"start":{"line":19,"column":70},"end":{"line":27,"column":9}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":21},"end":{"line":28,"column":22}},"loc":{"start":{"line":28,"column":32},"end":{"line":30,"column":9}},"line":28}},"branchMap":{},"s":{"0":6,"1":6,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":6},"f":{"0":1,"1":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"43e255d468d10cebe01c216b1833e20c667635fa"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/snackbar/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/snackbar/index.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":9,"column":1}},"1":{"start":{"line":11,"column":29},"end":{"line":24,"column":2}},"2":{"start":{"line":16,"column":12},"end":{"line":16,"column":44}},"3":{"start":{"line":17,"column":12},"end":{"line":17,"column":46}},"4":{"start":{"line":18,"column":12},"end":{"line":18,"column":32}},"5":{"start":{"line":21,"column":12},"end":{"line":21,"column":33}},"6":{"start":{"line":26,"column":39},"end":{"line":26,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":19},"end":{"line":15,"column":20}},"loc":{"start":{"line":15,"column":79},"end":{"line":19,"column":9}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":20},"end":{"line":20,"column":21}},"loc":{"start":{"line":20,"column":31},"end":{"line":22,"column":9}},"line":20}},"branchMap":{},"s":{"0":6,"1":6,"2":1,"3":1,"4":1,"5":1,"6":6},"f":{"0":1,"1":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ef0731838e36f601b8efb257daaeb2eaa8201ec9"} +,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/spinner/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/spinner/index.ts","statementMap":{"0":{"start":{"line":3,"column":46},"end":{"line":5,"column":1}},"1":{"start":{"line":7,"column":31},"end":{"line":15,"column":2}},"2":{"start":{"line":12,"column":12},"end":{"line":12,"column":41}},"3":{"start":{"line":17,"column":33},"end":{"line":17,"column":56}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":71},"end":{"line":13,"column":9}},"line":11}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1},"f":{"0":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"cc9e8d82309d91563d797479ac97a62112f5e7b5"} +} diff --git a/webapp/coverage/lcov-report/base.css b/webapp/coverage/lcov-report/base.css new file mode 100644 index 000000000..f418035b4 --- /dev/null +++ b/webapp/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/webapp/coverage/lcov-report/block-navigation.js b/webapp/coverage/lcov-report/block-navigation.js new file mode 100644 index 000000000..cc1213023 --- /dev/null +++ b/webapp/coverage/lcov-report/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/webapp/coverage/lcov-report/components/Dialog/Dialog.component.tsx.html b/webapp/coverage/lcov-report/components/Dialog/Dialog.component.tsx.html new file mode 100644 index 000000000..0c8701121 --- /dev/null +++ b/webapp/coverage/lcov-report/components/Dialog/Dialog.component.tsx.html @@ -0,0 +1,190 @@ + + + + + + Code coverage report for components/Dialog/Dialog.component.tsx + + + + + + + + + +
+
+

All files / components/Dialog Dialog.component.tsx

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36  +  +  +  +  +  +  +  +  +5x +8x +8x +8x +  +8x +  +8x +  +  +  +  +  +  +  +1x +1x +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+import {useDispatch} from 'react-redux';
+ 
+import {Dialog as MMDialog, LinearProgress, DialogProps} from '@brightscout/mattermost-ui-library';
+ 
+import usePluginApi from 'hooks/usePluginApi';
+import {getDialogState} from 'selectors';
+import {closeDialog} from 'reducers/dialog';
+ 
+export const Dialog = ({onCloseHandler, onSubmitHandler}: Pick<DialogProps, 'onCloseHandler' | 'onSubmitHandler'>) => {
+    const dispatch = useDispatch();
+    const {state} = usePluginApi();
+    const {show, title, description, destructive, primaryButtonText, secondaryButtonText, isLoading} = getDialogState(state);
+ 
+    const handleClose = () => dispatch(closeDialog());
+ 
+    return (
+        <MMDialog
+            description={description}
+            destructive={destructive}
+            show={show}
+            primaryButtonText={primaryButtonText}
+            secondaryButtonText={secondaryButtonText}
+            onCloseHandler={() => {
+                handleClose();
+                onCloseHandler();
+            }}
+            onSubmitHandler={onSubmitHandler}
+            className='disconnect-dialog'
+            title={title}
+        >
+            {isLoading && <LinearProgress/>}
+        </MMDialog>
+    );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Dialog/index.html b/webapp/coverage/lcov-report/components/Dialog/index.html new file mode 100644 index 000000000..4eef3b170 --- /dev/null +++ b/webapp/coverage/lcov-report/components/Dialog/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/Dialog + + + + + + + + + +
+
+

All files components/Dialog

+
+ +
+ 100% + Statements + 9/9 +
+ + +
+ 100% + Branches + 2/2 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 8/8 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Dialog.component.tsx +
+
100%9/9100%2/2100%3/3100%8/8
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Icon/Icon.component.tsx.html b/webapp/coverage/lcov-report/components/Icon/Icon.component.tsx.html new file mode 100644 index 000000000..5408166f8 --- /dev/null +++ b/webapp/coverage/lcov-report/components/Icon/Icon.component.tsx.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for components/Icon/Icon.component.tsx + + + + + + + + + +
+
+

All files / components/Icon Icon.component.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +  +  +  +8x +34x +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+ 
+import {IconProps} from './Icon.types';
+import {IconMap} from './Icon.map';
+ 
+export const Icon = ({iconName, height, width, className}: IconProps) => (
+    <span
+        className={className}
+        style={{
+            width,
+            height,
+ 
+            // To make span fit svg element
+            lineHeight: 0,
+        }}
+    >
+        {IconMap[iconName]}
+    </span>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Icon/Icon.map.tsx.html b/webapp/coverage/lcov-report/components/Icon/Icon.map.tsx.html new file mode 100644 index 000000000..c13a2a609 --- /dev/null +++ b/webapp/coverage/lcov-report/components/Icon/Icon.map.tsx.html @@ -0,0 +1,1435 @@ + + + + + + Code coverage report for components/Icon/Icon.map.tsx + + + + + + + + + +
+
+

All files / components/Icon Icon.map.tsx

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451  +  +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+ 
+import {IconName} from './Icon.types';
+ 
+export const IconMap : Record<IconName, JSX.Element> = {
+    user: (
+        <svg
+            width='20'
+            height='20'
+            viewBox='0 0 20 20'
+            fill='none'
+            xmlns='http://www.w3.org/2000/svg'
+        >
+            <path
+                d='M15.4 12.916C15.808 13.108 16.132 13.408 16.372 13.816C16.624 14.212 16.75 14.638 16.75 15.094C16.75 15.538 16.642 15.94 16.426 16.3C16.222 16.672 15.934 16.966 15.562 17.182C15.202 17.398 14.8 17.506 14.356 17.506H5.644C5.2 17.506 4.792 17.398 4.42 17.182C4.06 16.966 3.772 16.672 3.556 16.3C3.352 15.94 3.25 15.538 3.25 15.094C3.25 14.638 3.37 14.212 3.61 13.816C3.862 13.42 4.192 13.15 4.6 13.006L6.994 11.566C6.826 11.398 6.652 11.152 6.472 10.828C6.172 10.24 5.938 9.62805 5.77 8.99205C5.59 8.32005 5.5 7.65405 5.5 6.99405C5.5 6.10605 5.686 5.32005 6.058 4.63605C6.43 3.95205 6.958 3.42405 7.642 3.05205C8.326 2.68005 9.112 2.49405 10 2.49405C10.888 2.49405 11.674 2.68005 12.358 3.05205C13.042 3.42405 13.57 3.95205 13.942 4.63605C14.314 5.32005 14.5 6.10605 14.5 6.99405C14.5 7.65405 14.41 8.31405 14.23 8.97405C14.062 9.62205 13.828 10.216 13.528 10.756C13.468 10.876 13.354 11.038 13.186 11.242C13.102 11.362 13.042 11.446 13.006 11.494L15.4 12.916ZM6.994 6.99405C6.994 7.70205 7.108 8.38605 7.336 9.04605C7.576 9.75405 7.912 10.324 8.344 10.756C8.836 11.248 9.388 11.494 10 11.494C10.612 11.494 11.164 11.248 11.656 10.756C12.088 10.324 12.424 9.75405 12.664 9.04605C12.892 8.38605 13.006 7.70205 13.006 6.99405C13.006 5.99805 12.712 5.23605 12.124 4.70805C11.596 4.24005 10.888 4.00605 10 4.00605C9.112 4.00605 8.404 4.24005 7.876 4.70805C7.288 5.23605 6.994 5.99805 6.994 6.99405ZM14.356 15.994C14.62 15.994 14.83 15.91 14.986 15.742C15.154 15.562 15.22 15.346 15.184 15.094C15.184 14.914 15.136 14.752 15.04 14.608C14.944 14.464 14.812 14.35 14.644 14.266L11.728 12.556C11.188 12.856 10.612 13.006 10 13.006C9.424 13.006 8.824 12.856 8.2 12.556L5.284 14.266C5.116 14.35 4.984 14.464 4.888 14.608C4.792 14.752 4.744 14.914 4.744 15.094C4.744 15.358 4.828 15.574 4.996 15.742C5.164 15.91 5.38 15.994 5.644 15.994H14.356Z'
+                fill='#3F4350'
+                fillOpacity='0.56'
+            />
+        </svg>
+    ),
+    message: (
+        <svg
+            width='20'
+            height='20'
+            viewBox='0 0 20 20'
+            fill='none'
+            xmlns='http://www.w3.org/2000/svg'
+        >
+            <path
+                d='M15.994 2.49405C16.414 2.49405 16.768 2.64405 17.056 2.94405C17.356 3.23205 17.506 3.58605 17.506 4.00605V13.006C17.506 13.426 17.356 13.78 17.056 14.068C16.768 14.356 16.414 14.5 15.994 14.5H5.5L2.494 17.506V4.00605C2.494 3.58605 2.638 3.23205 2.926 2.94405C3.226 2.64405 3.586 2.49405 4.006 2.49405H15.994ZM4.006 4.00605V13.87L4.87 13.006H15.994V4.00605H4.006ZM5.5 6.25605H14.5V7.75005H5.5V6.25605ZM5.5 9.24405H12.25V10.756H5.5V9.24405Z'
+                fill='#3F4350'
+                fillOpacity='0.56'
+            />
+        </svg>
+    ),
+    connectAccount: (
+        <svg
+            width='218'
+            height='72'
+            viewBox='0 0 218 72'
+            fill='none'
+            xmlns='http://www.w3.org/2000/svg'
+        >
+            <path
+                fillRule='evenodd'
+                clipRule='evenodd'
+                d='M45.9789 30.6978C45.9789 30.6978 46.0689 34.6552 43.3247 37.3437C40.5801 40.0322 37.2091 39.7865 35.0163 39.044C32.8232 38.3016 29.9963 36.4491 29.4491 32.6467C28.9022 28.8439 31.3774 25.7547 31.3774 25.7547L36.7713 19.047L39.9128 15.2159L42.6094 11.8774C42.6094 11.8774 43.8468 10.2199 44.1995 9.87774C44.2694 9.80995 44.3411 9.76547 44.4114 9.73122L44.4626 9.7051L44.4717 9.70157C44.62 9.63766 44.7909 9.62389 44.9558 9.67968C45.1171 9.7344 45.2421 9.84526 45.3212 9.98189L45.3378 10.0084L45.3523 10.0387C45.3907 10.1115 45.4229 10.1944 45.438 10.2968C45.5101 10.783 45.4864 12.8515 45.4864 12.8515L45.6004 17.1412L45.7689 22.0928L45.9789 30.6978ZM52.9611 12.5351C62.9372 19.7957 67.5124 32.9721 63.3523 45.2959C58.2321 60.4625 41.8204 68.5955 26.6959 63.4613C11.5715 58.3268 3.46142 41.8699 8.5813 26.7033C12.7485 14.3594 24.3951 6.67548 36.74 7.01053L32.783 11.6988C25.4595 13.0266 19.1362 18.0418 16.6509 25.404C12.953 36.3576 19.151 48.359 30.4945 52.2094C41.8377 56.0602 54.0311 50.3022 57.7289 39.3487C60.2062 32.0108 58.2419 24.2033 53.2657 18.6903L52.9611 12.5351Z'
+                fill='#1E325C'
+            />
+            <path
+                d='M130.557 26.3423C130.891 26.0083 130.891 25.4668 130.557 25.1328L125.114 19.6903C124.78 19.3564 124.239 19.3564 123.905 19.6903C123.571 20.0243 123.571 20.5658 123.905 20.8998L128.742 25.7375L123.905 30.5753C123.571 30.9093 123.571 31.4508 123.905 31.7848C124.239 32.1187 124.78 32.1187 125.114 31.7848L130.557 26.3423ZM88.0469 26.5928H129.952V24.8823H88.0469V26.5928Z'
+                fill='#3F4350'
+                fillOpacity='0.24'
+            />
+            <path
+                d='M87.4415 46.8672C87.1075 46.5332 87.1075 45.9917 87.4415 45.6577L92.884 40.2152C93.2179 39.8813 93.7594 39.8813 94.0934 40.2152C94.4274 40.5492 94.4274 41.0907 94.0934 41.4247L89.2556 46.2625L94.0934 51.1002C94.4274 51.4342 94.4274 51.9757 94.0934 52.3097C93.7594 52.6436 93.2179 52.6436 92.884 52.3097L87.4415 46.8672ZM129.951 47.1177H88.0462V45.4072H129.951V47.1177Z'
+                fill='#3F4350'
+                fillOpacity='0.24'
+            />
+            <g clipPath='url(#clip0_1218_79968)'>
+                <rect
+                    width='72'
+                    height='72'
+                    transform='translate(145.951)'
+                    fill='white'
+                />
+                <path
+                    d='M195.488 28.125H212.981C213.775 28.125 214.536 28.4403 215.097 29.0016C215.659 29.5628 215.974 30.324 215.974 31.1177V47.0521C215.974 53.1265 211.05 58.0499 204.975 58.0499H204.924C198.85 58.0514 193.925 53.1281 193.924 47.0537V29.6889C193.924 28.825 194.624 28.125 195.488 28.125ZM207.311 24.9755C209.191 24.9755 210.994 24.2287 212.323 22.8995C213.652 21.5703 214.399 19.7675 214.399 17.8878C214.399 16.008 213.652 14.2052 212.323 12.876C210.994 11.5468 209.191 10.8 207.311 10.8C205.431 10.8 203.629 11.5468 202.299 12.876C200.97 14.2052 200.223 16.008 200.223 17.8878C200.223 19.7675 200.97 21.5703 202.299 22.8995C203.629 24.2287 205.431 24.9755 207.311 24.9755Z'
+                    fill='#5059C9'
+                />
+                <path
+                    d='M185.261 24.9753C190.914 24.9753 195.498 20.3914 195.498 14.7369C195.498 9.08389 190.914 4.5 185.261 4.5C179.607 4.5 175.024 9.08311 175.024 14.7377C175.024 20.3914 179.607 24.9753 185.261 24.9753ZM198.911 28.1249H170.035C169.25 28.1441 168.506 28.4739 167.964 29.0418C167.423 29.6096 167.129 30.3691 167.147 31.1535V49.3283C166.92 59.1274 174.673 67.2604 184.472 67.5C194.272 67.2604 202.026 59.1274 201.797 49.3275V31.1535C201.815 30.3693 201.522 29.61 200.98 29.0423C200.439 28.4746 199.694 28.1449 198.91 28.1257L198.911 28.1249Z'
+                    fill='#7B83EB'
+                />
+                <path
+                    opacity='0.1'
+                    d='M186.048 28.125V53.5931C186.044 54.1642 185.871 54.7215 185.552 55.1949C185.233 55.6683 184.78 56.0368 184.252 56.2542C183.909 56.4001 183.539 56.475 183.165 56.475H168.533C168.326 55.9586 168.142 55.4331 167.982 54.9002C167.431 53.0929 167.149 51.2141 167.147 49.3245V31.1497C167.129 30.3665 167.422 29.6079 167.963 29.0408C168.503 28.4736 169.247 28.1442 170.03 28.125H186.048Z'
+                    fill='black'
+                />
+                <path
+                    opacity='0.2'
+                    d='M184.472 28.125V55.1679C184.472 55.5409 184.397 55.9108 184.252 56.2542C184.035 56.7824 183.666 57.2346 183.193 57.554C182.719 57.8735 182.162 58.046 181.59 58.0498H169.274C169.005 57.5356 168.758 57.0102 168.533 56.475C168.322 55.9603 168.138 55.4346 167.982 54.9003C167.431 53.0929 167.149 51.2141 167.147 49.3245V31.1497C167.129 30.3665 167.422 29.6079 167.963 29.0408C168.503 28.4736 169.247 28.1442 170.03 28.125H184.472Z'
+                    fill='black'
+                />
+                <path
+                    opacity='0.2'
+                    d='M184.472 28.125V52.0176C184.467 52.7802 184.161 53.51 183.622 54.0493C183.083 54.5887 182.353 54.8943 181.59 54.9002H167.982C167.431 53.0929 167.149 51.2141 167.147 49.3245V31.1497C167.129 30.3665 167.422 29.6079 167.963 29.0408C168.503 28.4736 169.247 28.1442 170.03 28.125H184.472Z'
+                    fill='black'
+                />
+                <path
+                    opacity='0.2'
+                    d='M182.897 28.125V52.0176C182.892 52.7802 182.586 53.51 182.047 54.0493C181.508 54.5887 180.778 54.8943 180.016 54.9002H167.982C167.431 53.0929 167.149 51.2141 167.147 49.3245V31.1497C167.129 30.3665 167.422 29.6079 167.963 29.0408C168.503 28.4736 169.247 28.1442 170.03 28.125H182.897Z'
+                    fill='black'
+                />
+                <path
+                    opacity='0.1'
+                    d='M186.048 19.9828V24.9436C185.78 24.9592 185.529 24.9748 185.26 24.9748C184.993 24.9748 184.741 24.9592 184.473 24.9436C183.941 24.9083 183.414 24.8239 182.898 24.6915C181.326 24.3191 179.864 23.5798 178.632 22.5341C177.4 21.4884 176.433 20.1659 175.811 18.6749C175.593 18.167 175.425 17.6398 175.307 17.1001H183.166C183.929 17.103 184.661 17.4076 185.201 17.9476C185.741 18.4876 186.046 19.2191 186.048 19.9828Z'
+                    fill='black'
+                />
+                <path
+                    opacity='0.2'
+                    d='M184.473 21.5577V24.9445C183.941 24.909 183.414 24.8243 182.898 24.6917C181.326 24.3193 179.864 23.58 178.632 22.5343C177.4 21.4885 176.433 20.1661 175.811 18.675H181.591C182.354 18.6779 183.086 18.9826 183.626 19.5226C184.166 20.0626 184.47 20.7942 184.473 21.5577Z'
+                    fill='black'
+                />
+                <path
+                    opacity='0.2'
+                    d='M184.473 21.5577V24.9445C183.941 24.909 183.414 24.8243 182.898 24.6917C181.326 24.3193 179.864 23.58 178.632 22.5343C177.4 21.4885 176.433 20.1661 175.811 18.675H181.591C182.354 18.6779 183.086 18.9826 183.626 19.5226C184.166 20.0626 184.47 20.7942 184.473 21.5577Z'
+                    fill='black'
+                />
+                <path
+                    opacity='0.2'
+                    d='M182.898 21.5577V24.6917C181.326 24.3192 179.864 23.5799 178.632 22.5342C177.4 21.4885 176.433 20.166 175.811 18.675H180.016C180.779 18.6781 181.511 18.9829 182.051 19.5228C182.59 20.0628 182.895 20.7942 182.898 21.5577Z'
+                    fill='black'
+                />
+                <path
+                    d='M151.135 18.6758H180.011C180.776 18.6758 181.511 18.9799 182.052 19.5212C182.594 20.0626 182.898 20.7968 182.898 21.5624V50.4384C182.898 51.2042 182.594 51.9386 182.052 52.4801C181.511 53.0216 180.776 53.3258 180.011 53.3258H151.135C150.37 53.3258 149.635 53.0216 149.094 52.4801C148.552 51.9386 148.248 51.2042 148.248 50.4384V21.5624C148.248 20.7966 148.552 20.0622 149.094 19.5207C149.635 18.9793 150.37 18.675 151.135 18.675V18.6758Z'
+                    fill='url(#paint0_linear_1218_79968)'
+                />
+                <path
+                    d='M173.172 29.6646H167.4V45.3828H163.722V29.6646H157.977V26.6157H173.172V29.6646Z'
+                    fill='white'
+                />
+            </g>
+            <defs>
+                <linearGradient
+                    id='paint0_linear_1218_79968'
+                    x1='154.267'
+                    y1='16.4198'
+                    x2='176.878'
+                    y2='55.5811'
+                    gradientUnits='userSpaceOnUse'
+                >
+                    <stop stopColor='#5A62C3'/>
+                    <stop
+                        offset='0.5'
+                        stopColor='#4D55BD'
+                    />
+                    <stop
+                        offset='1'
+                        stopColor='#3940AB'
+                    />
+                </linearGradient>
+                <clipPath id='clip0_1218_79968'>
+                    <rect
+                        width='72'
+                        height='72'
+                        fill='white'
+                        transform='translate(145.951)'
+                    />
+                </clipPath>
+            </defs>
+        </svg>
+    ),
+    warning: (
+        <svg
+            xmlns='http://www.w3.org/2000/svg'
+            width='22'
+            height='20'
+            viewBox='0 0 22 20'
+            fill='none'
+        >
+            <path
+                d='M20.648 14.5839C20.904 15.0479 21.024 15.5439 21.008 16.0719C20.992 16.5999 20.848 17.0959 20.576 17.5599C20.304 18.0079 19.936 18.3599 19.472 18.6159C19.024 18.8719 18.536 18.9999 18.008 18.9999H4.016C3.472 18.9999 2.968 18.8719 2.504 18.6159C2.056 18.3599 1.696 18.0079 1.424 17.5599C1.152 17.0959 1.008 16.5999 0.992 16.0719C0.976 15.5439 1.096 15.0479 1.352 14.5839L8.36 1.5759C8.616 1.0799 8.976 0.695901 9.44 0.423902C9.92 0.135902 10.44 -0.00809813 11 -0.00809813C11.56 -0.00809813 12.072 0.135902 12.536 0.423902C13.016 0.695901 13.384 1.0799 13.64 1.5759L20.648 14.5839ZM18.008 17.0079C18.248 17.0079 18.456 16.9359 18.632 16.7919C18.808 16.6319 18.92 16.4399 18.968 16.2159C19.016 15.9759 18.984 15.7439 18.872 15.5199L11.888 2.5359C11.792 2.3599 11.664 2.2319 11.504 2.1519C11.344 2.0559 11.176 2.0079 11 2.0079C10.824 2.0079 10.656 2.0559 10.496 2.1519C10.336 2.2319 10.208 2.3599 10.112 2.5359L3.128 15.5199C3.016 15.7439 2.984 15.9759 3.032 16.2159C3.08 16.4399 3.192 16.6319 3.368 16.7919C3.544 16.9359 3.752 17.0079 3.992 17.0079H18.008ZM11.504 11.0079L12.008 5.0079H9.992L10.496 11.0079H11.504ZM12.008 14.0079C12.008 13.7359 11.904 13.5039 11.696 13.3119C11.504 13.1039 11.272 12.9999 11 12.9999C10.728 12.9999 10.488 13.1039 10.28 13.3119C10.088 13.5039 9.992 13.7359 9.992 14.0079C9.992 14.2799 10.088 14.5119 10.28 14.7039C10.488 14.8959 10.728 14.9919 11 14.9919C11.272 14.9919 11.504 14.8959 11.696 14.7039C11.904 14.5119 12.008 14.2799 12.008 14.0079Z'
+                fill='#D24B4E'
+            />
+        </svg>
+    ),
+    close: (
+        <svg
+            xmlns='http://www.w3.org/2000/svg'
+            width='16'
+            height='16'
+            viewBox='0 0 16 16'
+            fill='none'
+        >
+            <path
+                d='M13.256 3.80605L9.062 8.00005L13.256 12.194L12.194 13.256L8 9.06205L3.806 13.256L2.744 12.194L6.938 8.00005L2.744 3.80605L3.806 2.74405L8 6.93805L12.194 2.74405L13.256 3.80605Z'
+                fill='#3F4350'
+            />
+        </svg>
+    ),
+    globe: (
+        <svg
+            xmlns='http://www.w3.org/2000/svg'
+            width='24'
+            height='24'
+            viewBox='0 0 24 24'
+            fill='none'
+        >
+            <path
+                d='M12 4.49405C13.356 4.49405 14.616 4.83605 15.78 5.52005C16.908 6.19205 17.808 7.09205 18.48 8.22005C19.164 9.38405 19.506 10.644 19.506 12C19.506 13.356 19.164 14.616 18.48 15.78C17.808 16.908 16.908 17.808 15.78 18.48C14.616 19.164 13.356 19.506 12 19.506C10.644 19.506 9.384 19.164 8.22 18.48C7.092 17.808 6.192 16.908 5.52 15.78C4.836 14.616 4.494 13.356 4.494 12C4.494 10.644 4.836 9.38405 5.52 8.22005C6.192 7.09205 7.092 6.19205 8.22 5.52005C9.384 4.83605 10.644 4.49405 12 4.49405ZM17.994 12.378V12C17.994 11.316 17.922 10.716 17.778 10.2C17.754 10.224 17.7 10.248 17.616 10.272C17.544 10.296 17.496 10.32 17.472 10.344C16.896 10.608 16.074 10.836 15.006 11.028V13.566C15.786 13.434 16.476 13.236 17.076 12.972C17.556 12.756 17.862 12.558 17.994 12.378ZM10.884 15.294C11.016 15.99 11.202 16.59 11.442 17.094C11.634 17.514 11.82 17.79 12 17.922C12.168 17.802 12.348 17.526 12.54 17.094C12.756 16.614 12.954 16.014 13.134 15.294C12.882 15.342 12.504 15.366 12 15.366C11.868 15.366 11.676 15.354 11.424 15.33C11.184 15.306 11.004 15.294 10.884 15.294ZM12 13.872C12.648 13.872 13.122 13.848 13.422 13.8C13.422 13.632 13.434 13.368 13.458 13.008C13.482 12.576 13.494 12.24 13.494 12V11.172C13.146 11.22 12.648 11.244 12 11.244C11.352 11.244 10.854 11.22 10.506 11.172V12C10.506 12.24 10.518 12.576 10.542 13.008C10.566 13.368 10.578 13.632 10.578 13.8C10.878 13.848 11.352 13.872 12 13.872ZM13.35 9.67805C13.206 8.71805 12.99 7.87805 12.702 7.15805C12.462 6.55805 12.228 6.17405 12 6.00605C11.772 6.17405 11.538 6.55805 11.298 7.15805C11.01 7.87805 10.794 8.71805 10.65 9.67805C10.95 9.72605 11.4 9.75005 12 9.75005C12.6 9.75005 13.05 9.72605 13.35 9.67805ZM17.094 8.85005C16.362 7.66205 15.342 6.83405 14.034 6.36605C14.214 6.78605 14.376 7.27205 14.52 7.82405C14.664 8.37605 14.772 8.94005 14.844 9.51605C15.276 9.45605 15.708 9.35405 16.14 9.21005C16.392 9.12605 16.71 9.00605 17.094 8.85005ZM6.906 8.85005C7.482 9.09005 8.232 9.31205 9.156 9.51605C9.372 8.25605 9.672 7.20605 10.056 6.36605C9.396 6.58205 8.796 6.91205 8.256 7.35605C7.74 7.76405 7.29 8.26205 6.906 8.85005ZM6.294 10.2C6.186 10.452 6.114 10.74 6.078 11.064C6.042 11.388 6.042 11.7 6.078 12V12.378C6.21 12.558 6.522 12.756 7.014 12.972C7.614 13.236 8.304 13.434 9.084 13.566C9.024 13.218 8.994 12.696 8.994 12C8.994 11.76 9 11.586 9.012 11.478C9.024 11.31 9.048 11.16 9.084 11.028C8.076 10.86 7.248 10.632 6.6 10.344L6.456 10.29C6.384 10.254 6.33 10.224 6.294 10.2ZM6.528 14.394C6.864 15.15 7.338 15.81 7.95 16.374C8.562 16.938 9.264 17.352 10.056 17.616C9.672 16.776 9.42 15.954 9.3 15.15C8.388 15.018 7.464 14.766 6.528 14.394ZM17.472 14.394C16.812 14.73 15.888 14.982 14.7 15.15C14.58 15.954 14.328 16.776 13.944 17.616C14.736 17.352 15.438 16.938 16.05 16.374C16.662 15.81 17.136 15.15 17.472 14.394Z'
+                fill='#3F4350'
+                fillOpacity='0.56'
+            />
+        </svg>
+    ),
+    msTeams: (
+        <svg
+            xmlns='http://www.w3.org/2000/svg'
+            width='24'
+            height='24'
+            viewBox='0 0 24 24'
+            fill='none'
+        >
+            <path
+                d='M14.9979 10.2499H18.8854C19.0617 10.2499 19.2309 10.32 19.3556 10.4447C19.4804 10.5694 19.5504 10.7386 19.5504 10.9149V14.4559C19.5504 15.8058 18.4562 16.8999 17.1063 16.8999H17.0949C15.745 16.9002 14.6506 15.8061 14.6504 14.4563V10.5974C14.6504 10.4055 14.8059 10.2499 14.9979 10.2499ZM17.6253 9.54999C18.0431 9.54999 18.4437 9.38405 18.7391 9.08867C19.0344 8.79329 19.2004 8.39268 19.2004 7.97495C19.2004 7.55722 19.0344 7.1566 18.7391 6.86122C18.4437 6.56584 18.0431 6.3999 17.6253 6.3999C17.2076 6.3999 16.807 6.56584 16.5116 6.86122C16.2162 7.1566 16.0503 7.55722 16.0503 7.97495C16.0503 8.39268 16.2162 8.79329 16.5116 9.08867C16.807 9.38405 17.2076 9.54999 17.6253 9.54999Z'
+                fill='#5059C9'
+            />
+            <path
+                d='M12.7255 9.55007C13.9818 9.55007 15.0003 8.53143 15.0003 7.27486C15.0003 6.01864 13.9818 5 12.7255 5C11.4691 5 10.4506 6.01847 10.4506 7.27504C10.4506 8.53143 11.4691 9.55007 12.7255 9.55007ZM15.7588 10.25H9.34194C9.16765 10.2543 9.00217 10.3275 8.88186 10.4537C8.76156 10.5799 8.69626 10.7487 8.70031 10.923V14.9618C8.64967 17.1394 10.3726 18.9468 12.5503 19C14.7281 18.9468 16.4511 17.1394 16.4003 14.9617V10.923C16.4043 10.7487 16.339 10.58 16.2187 10.4538C16.0984 10.3277 15.9329 10.2544 15.7587 10.2502L15.7588 10.25Z'
+                fill='#7B83EB'
+            />
+            <path
+                opacity='0.1'
+                d='M12.8995 10.25V15.9096C12.8987 16.0365 12.8603 16.1603 12.7893 16.2655C12.7183 16.3707 12.6179 16.4526 12.5005 16.5009C12.4242 16.5334 12.342 16.55 12.2589 16.55H9.00739C8.96137 16.4352 8.92052 16.3185 8.88496 16.2001C8.76241 15.7984 8.69989 15.3809 8.6994 14.961V10.9222C8.6953 10.7481 8.76047 10.5795 8.88059 10.4535C9.00071 10.3275 9.16594 10.2543 9.34 10.25H12.8995Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M12.5494 10.25V16.2595C12.5494 16.3424 12.5327 16.4246 12.5005 16.5009C12.4522 16.6183 12.3702 16.7188 12.265 16.7898C12.1598 16.8608 12.0359 16.8991 11.909 16.9H9.17196C9.11216 16.7857 9.05725 16.6689 9.00739 16.55C8.96037 16.4356 8.9195 16.3188 8.88496 16.2001C8.76241 15.7984 8.69989 15.3809 8.6994 14.961V10.9222C8.6953 10.7481 8.76047 10.5795 8.88059 10.4535C9.00071 10.3275 9.16594 10.2543 9.34 10.25H12.5494Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M12.5494 10.25V15.5595C12.5481 15.7289 12.4803 15.8911 12.3604 16.011C12.2406 16.1308 12.0784 16.1987 11.909 16.2001H8.88496C8.76241 15.7984 8.69989 15.3809 8.6994 14.961V10.9222C8.6953 10.7481 8.76047 10.5795 8.88059 10.4535C9.00071 10.3275 9.16594 10.2543 9.34 10.25H12.5494Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M12.1994 10.25V15.5595C12.1982 15.7289 12.1303 15.8911 12.0105 16.011C11.8907 16.1308 11.7285 16.1987 11.559 16.2001H8.88496C8.76241 15.7984 8.69989 15.3809 8.6994 14.961V10.9222C8.6953 10.7481 8.76047 10.5795 8.88059 10.4535C9.00071 10.3275 9.16594 10.2543 9.34 10.25H12.1994Z'
+                fill='black'
+            />
+            <path
+                opacity='0.1'
+                d='M12.9007 8.44065V9.54305C12.8411 9.54652 12.7852 9.54998 12.7256 9.54998C12.6661 9.54998 12.6101 9.54652 12.5506 9.54305C12.4325 9.5352 12.3153 9.51645 12.2007 9.48703C11.8513 9.40427 11.5264 9.23999 11.2527 9.0076C10.9789 8.77522 10.7641 8.48134 10.6257 8.15C10.5774 8.03715 10.5399 7.91997 10.5137 7.80005H12.2601C12.4298 7.80069 12.5924 7.86838 12.7124 7.98838C12.8324 8.10838 12.9001 8.27095 12.9007 8.44065Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M12.5499 8.7905V9.54312C12.4318 9.53522 12.3146 9.51641 12.2 9.48694C11.8506 9.40418 11.5257 9.23989 11.252 9.0075C10.9782 8.77512 10.7634 8.48124 10.625 8.1499H11.9095C12.0792 8.15054 12.2417 8.21824 12.3617 8.33825C12.4817 8.45825 12.5493 8.62081 12.5499 8.7905Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M12.5499 8.7905V9.54312C12.4318 9.53522 12.3146 9.51641 12.2 9.48694C11.8506 9.40418 11.5257 9.23989 11.252 9.0075C10.9782 8.77512 10.7634 8.48124 10.625 8.1499H11.9095C12.0792 8.15054 12.2417 8.21824 12.3617 8.33825C12.4817 8.45825 12.5493 8.62081 12.5499 8.7905Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M12.2 8.7905V9.48694C11.8506 9.40416 11.5257 9.23987 11.252 9.00749C10.9782 8.7751 10.7634 8.48123 10.625 8.1499H11.5595C11.7292 8.15059 11.8917 8.2183 12.0117 8.3383C12.1316 8.45829 12.1993 8.62083 12.2 8.7905Z'
+                fill='black'
+            />
+            <path
+                d='M5.14164 8.15008H11.5584C11.7285 8.15008 11.8917 8.21765 12.012 8.33795C12.1323 8.45824 12.1999 8.6214 12.2 8.79154V15.2084C12.2 15.3786 12.1324 15.5418 12.0121 15.6621C11.8917 15.7825 11.7285 15.8501 11.5584 15.8501H5.14164C4.97146 15.8501 4.80826 15.7825 4.68793 15.6621C4.5676 15.5418 4.5 15.3786 4.5 15.2084V8.79154C4.5 8.62137 4.5676 8.45816 4.68793 8.33783C4.80826 8.2175 4.97146 8.1499 5.14164 8.1499V8.15008Z'
+                fill='url(#paint0_linear_1519_21312)'
+            />
+            <path
+                d='M10.0389 10.5921H8.7561V14.085H7.93897V10.5921H6.66211V9.91455H10.0389V10.5921Z'
+                fill='white'
+            />
+            <defs>
+                <linearGradient
+                    id='paint0_linear_1519_21312'
+                    x1='5.83755'
+                    y1='7.64873'
+                    x2='10.8623'
+                    y2='16.3512'
+                    gradientUnits='userSpaceOnUse'
+                >
+                    <stop stopColor='#5A62C3'/>
+                    <stop
+                        offset='0.5'
+                        stopColor='#4D55BD'
+                    />
+                    <stop
+                        offset='1'
+                        stopColor='#3940AB'
+                    />
+                </linearGradient>
+            </defs>
+        </svg>
+    ),
+    link: (
+        <svg
+            xmlns='http://www.w3.org/2000/svg'
+            width='19'
+            height='19'
+            viewBox='0 0 19 19'
+            fill='none'
+        >
+            <rect
+                width='18'
+                height='18'
+                transform='translate(0.5 0.5)'
+                fill='white'
+            />
+            <path
+                d='M8.6504 10.3596C8.7752 10.4748 8.8376 10.6188 8.8376 10.7916C8.8376 10.9548 8.7752 11.094 8.6504 11.2092C8.5352 11.3244 8.3912 11.382 8.2184 11.382C8.0552 11.382 7.916 11.3244 7.8008 11.2092C7.4168 10.8252 7.1576 10.3788 7.0232 9.87005C6.8888 9.35165 6.8888 8.83325 7.0232 8.31485C7.1576 7.79645 7.4168 7.34525 7.8008 6.96125L9.932 4.84445C10.316 4.46045 10.7624 4.20125 11.2712 4.06685C11.7896 3.93245 12.3032 3.93245 12.812 4.06685C13.3304 4.20125 13.7816 4.46045 14.1656 4.84445C14.5496 5.22845 14.8088 5.67965 14.9432 6.19805C15.0776 6.70685 15.0776 7.22045 14.9432 7.73885C14.8088 8.24765 14.5496 8.69405 14.1656 9.07805L13.2728 9.97085C13.2824 9.48125 13.2008 9.00125 13.028 8.53085L13.316 8.24285C13.5464 8.01245 13.7 7.74365 13.7768 7.43645C13.8632 7.12925 13.8632 6.82205 13.7768 6.51485C13.7 6.19805 13.5464 5.92445 13.316 5.69405C13.0856 5.46365 12.812 5.31005 12.4952 5.23325C12.188 5.14685 11.8808 5.14685 11.5736 5.23325C11.2664 5.31005 10.9976 5.46365 10.7672 5.69405L8.6504 7.81085C8.42 8.04125 8.2616 8.31485 8.1752 8.63165C8.0984 8.93885 8.0984 9.24605 8.1752 9.55325C8.2616 9.86045 8.42 10.1292 8.6504 10.3596ZM10.3496 7.81085C10.4648 7.69565 10.604 7.63805 10.7672 7.63805C10.94 7.63805 11.084 7.69565 11.1992 7.81085C11.5832 8.19485 11.8424 8.64605 11.9768 9.16445C12.1112 9.67325 12.1112 10.1868 11.9768 10.7052C11.8424 11.2236 11.5832 11.6748 11.1992 12.0588L9.068 14.1756C8.684 14.5596 8.2328 14.8188 7.7144 14.9532C7.2056 15.0876 6.692 15.0876 6.1736 14.9532C5.6648 14.8188 5.2184 14.5596 4.8344 14.1756C4.4504 13.7916 4.1912 13.3452 4.0568 12.8364C3.9224 12.318 3.9224 11.8044 4.0568 11.2956C4.1912 10.7772 4.4504 10.326 4.8344 9.94205L5.7272 9.03485C5.7272 9.56285 5.8088 10.0524 5.972 10.5036L5.684 10.7772C5.4536 11.0076 5.2952 11.2764 5.2088 11.5836C5.132 11.8908 5.132 12.2028 5.2088 12.5196C5.2952 12.8268 5.4536 13.0956 5.684 13.326C5.9144 13.5564 6.1832 13.7148 6.4904 13.8012C6.7976 13.878 7.1048 13.878 7.412 13.8012C7.7288 13.7148 8.0024 13.5564 8.2328 13.326L10.3496 11.2092C10.58 10.9788 10.7336 10.71 10.8104 10.4028C10.8968 10.086 10.8968 9.77405 10.8104 9.46685C10.7336 9.15965 10.58 8.89085 10.3496 8.66045C10.2248 8.54525 10.1624 8.40605 10.1624 8.24285C10.1624 8.07005 10.2248 7.92605 10.3496 7.81085Z'
+                fill='#3F4350'
+                fillOpacity='0.32'
+            />
+        </svg>
+    ),
+    noChannels: (
+        <svg
+            xmlns='http://www.w3.org/2000/svg'
+            width='158'
+            height='140'
+            viewBox='0 0 158 140'
+            fill='none'
+        >
+            <ellipse
+                cx='56.2442'
+                cy='121.612'
+                rx='39.6074'
+                ry='3.34711'
+                fill='black'
+                fillOpacity='0.06'
+            />
+            <ellipse
+                cx='106.5'
+                cy='112.5'
+                rx='29.5'
+                ry='3.5'
+                fill='black'
+                fillOpacity='0.06'
+            />
+            <path
+                d='M74.5981 20.2251L132.474 20.2251C133.535 20.2216 134.586 20.4265 135.567 20.8282C136.548 21.2299 137.441 21.8206 138.193 22.5665C138.946 23.3124 139.544 24.1989 139.953 25.1754C140.362 26.1519 140.575 27.1993 140.578 28.2577V64.9634C140.575 66.0218 140.362 67.0692 139.953 68.0457C139.544 69.0222 138.946 69.9087 138.193 70.6546C137.441 71.4004 136.548 71.9911 135.567 72.3929C134.586 72.7946 133.535 72.9995 132.474 72.9959H123.933V86.7358L111.121 72.9959H74.6186C73.5579 72.9995 72.507 72.7946 71.5257 72.3929C70.5444 71.9911 69.652 71.4004 68.8995 70.6546C68.147 69.9087 67.549 69.0222 67.1398 68.0457C66.7306 67.0692 66.5182 66.0218 66.5146 64.9634V28.2577C66.5218 26.1237 67.3769 24.0796 68.8922 22.5738C70.4076 21.0679 72.4596 20.2233 74.5981 20.2251Z'
+                fill='#28427B'
+            />
+            <path
+                d='M111.121 72.9959H74.6189C73.5582 72.9995 72.5073 72.7945 71.526 72.3928C70.5447 71.9911 69.6523 71.4004 68.8998 70.6545C68.1473 69.9086 67.5493 69.0221 67.1401 68.0456C66.7309 67.0691 66.5184 66.0218 66.5149 64.9633V42.6794C66.5149 42.6794 69.0636 63.2859 69.5214 65.0997C69.9792 66.9135 70.888 69.6274 75.1929 70.0774C79.4977 70.5275 111.121 72.9959 111.121 72.9959Z'
+                fill='#1E325C'
+            />
+            <path
+                d='M134.572 35.5949C133.984 33.5178 132.989 31.5772 131.647 29.885C130.304 28.1928 128.639 26.7823 126.748 25.7349C126.636 25.6784 126.546 25.5864 126.492 25.4733C126.438 25.3603 126.423 25.2325 126.449 25.1101C126.476 24.9876 126.542 24.8775 126.638 24.7968C126.734 24.7162 126.855 24.6696 126.98 24.6644C130.629 24.4462 137.995 25.2235 135.685 35.5404C135.661 35.6663 135.595 35.7804 135.498 35.8645C135.401 35.9485 135.278 35.9976 135.15 36.0039C135.022 36.0102 134.895 35.9733 134.79 35.8992C134.685 35.825 134.608 35.7179 134.572 35.5949Z'
+                fill='#32539A'
+            />
+            <path
+                d='M110.373 41.8389H119.048C119.441 41.8389 119.819 41.9953 120.097 42.2736C120.375 42.5519 120.532 42.9294 120.532 43.3229V51.2243C120.532 54.2364 118.09 56.6777 115.078 56.6777H115.052C112.04 56.6785 109.598 54.2371 109.598 51.225V42.6144C109.598 42.1861 109.945 41.8389 110.373 41.8389ZM116.236 40.2772C117.168 40.2772 118.062 39.9069 118.721 39.2478C119.38 38.5887 119.751 37.6947 119.751 36.7626C119.751 35.8305 119.38 34.9365 118.721 34.2774C118.062 33.6183 117.168 33.248 116.236 33.248C115.304 33.248 114.41 33.6183 113.751 34.2774C113.092 34.9365 112.721 35.8305 112.721 36.7626C112.721 37.6947 113.092 38.5887 113.751 39.2478C114.41 39.9069 115.304 40.2772 116.236 40.2772Z'
+                fill='#5059C9'
+            />
+            <path
+                d='M105.303 40.2771C108.106 40.2771 110.379 38.0041 110.379 35.2002C110.379 32.397 108.106 30.124 105.303 30.124C102.499 30.124 100.226 32.3966 100.226 35.2006C100.226 38.0041 102.499 40.2771 105.303 40.2771ZM112.071 41.8389H97.7525C97.3636 41.8484 96.9944 42.0119 96.7259 42.2935C96.4575 42.5751 96.3117 42.9517 96.3208 43.3406V52.3529C96.2078 57.212 100.052 61.2449 104.912 61.3637C109.771 61.2449 113.616 57.212 113.503 52.3526V43.3406C113.512 42.9518 113.366 42.5752 113.097 42.2937C112.829 42.0122 112.46 41.8488 112.071 41.8392L112.071 41.8389Z'
+                fill='#7B83EB'
+            />
+            <path
+                opacity='0.1'
+                d='M105.693 41.8389V54.4677C105.691 54.7509 105.605 55.0272 105.447 55.262C105.289 55.4967 105.064 55.6794 104.802 55.7872C104.632 55.8596 104.449 55.8967 104.263 55.8967H97.008C96.9053 55.6407 96.8141 55.3801 96.7348 55.1159C96.4613 54.2197 96.3218 53.288 96.3207 52.351V43.3387C96.3116 42.9503 96.457 42.5742 96.725 42.293C96.9931 42.0117 97.3618 41.8484 97.7501 41.8389H105.693Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M104.912 41.8389V55.2486C104.912 55.4335 104.874 55.617 104.802 55.7872C104.695 56.0491 104.512 56.2734 104.277 56.4318C104.042 56.5902 103.766 56.6757 103.483 56.6776H97.3752C97.2417 56.4227 97.1192 56.1621 97.008 55.8967C96.903 55.6415 96.8118 55.3808 96.7348 55.1159C96.4613 54.2197 96.3218 53.288 96.3207 52.351V43.3387C96.3116 42.9503 96.457 42.5742 96.725 42.293C96.9931 42.0117 97.3618 41.8484 97.7501 41.8389H104.912Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M104.912 41.8389V53.6864C104.909 54.0646 104.757 54.4265 104.49 54.6939C104.223 54.9614 103.861 55.1129 103.483 55.1159H96.7348C96.4613 54.2197 96.3218 53.288 96.3207 52.351V43.3387C96.3116 42.9503 96.457 42.5742 96.725 42.293C96.9931 42.0117 97.3618 41.8484 97.7501 41.8389H104.912Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M104.131 41.8389V53.6864C104.128 54.0646 103.976 54.4265 103.709 54.6939C103.442 54.9614 103.08 55.1129 102.702 55.1159H96.7348C96.4613 54.2197 96.3218 53.288 96.3207 52.351V43.3387C96.3116 42.9503 96.457 42.5742 96.725 42.293C96.9931 42.0117 97.3618 41.8484 97.7501 41.8389H104.131Z'
+                fill='black'
+            />
+            <path
+                opacity='0.1'
+                d='M105.694 37.8013V40.2612C105.561 40.2689 105.436 40.2766 105.303 40.2766C105.17 40.2766 105.045 40.2689 104.912 40.2612C104.649 40.2437 104.387 40.2018 104.132 40.1362C103.352 39.9515 102.627 39.5849 102.016 39.0664C101.405 38.5478 100.926 37.8921 100.617 37.1527C100.509 36.9009 100.426 36.6394 100.367 36.3718H104.264C104.643 36.3733 105.006 36.5243 105.273 36.7921C105.541 37.0598 105.692 37.4226 105.694 37.8013Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M104.912 38.5823V40.2617C104.649 40.244 104.387 40.2021 104.132 40.1363C103.352 39.9516 102.627 39.585 102.016 39.0665C101.405 38.5479 100.926 37.8922 100.617 37.1528H103.483C103.862 37.1543 104.225 37.3053 104.492 37.5731C104.76 37.8409 104.911 38.2036 104.912 38.5823Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M104.912 38.5823V40.2617C104.649 40.244 104.387 40.2021 104.132 40.1363C103.352 39.9516 102.627 39.585 102.016 39.0665C101.405 38.5479 100.926 37.8922 100.617 37.1528H103.483C103.862 37.1543 104.225 37.3053 104.492 37.5731C104.76 37.8409 104.911 38.2036 104.912 38.5823Z'
+                fill='black'
+            />
+            <path
+                opacity='0.2'
+                d='M104.132 38.5823V40.1363C103.352 39.9516 102.627 39.585 102.016 39.0664C101.405 38.5479 100.926 37.8922 100.617 37.1528H102.703C103.081 37.1544 103.444 37.3055 103.711 37.5732C103.979 37.841 104.13 38.2037 104.132 38.5823Z'
+                fill='black'
+            />
+            <path
+                d='M88.381 37.1532H102.699C103.079 37.1532 103.443 37.304 103.712 37.5724C103.98 37.8409 104.131 38.2049 104.131 38.5846V52.9033C104.131 53.283 103.98 53.6472 103.712 53.9157C103.443 54.1842 103.079 54.335 102.699 54.335H88.381C88.0012 54.335 87.6371 54.1842 87.3686 53.9157C87.1001 53.6472 86.9492 53.283 86.9492 52.9033V38.5846C86.9492 38.2049 87.1001 37.8407 87.3686 37.5722C87.6371 37.3037 88.0012 37.1528 88.381 37.1528V37.1532Z'
+                fill='url(#paint0_linear_1218_78619)'
+            />
+            <path
+                d='M99.3083 42.6027H96.446V50.3968H94.6226V42.6027H91.7734V41.0908H99.3083V42.6027Z'
+                fill='white'
+            />
+            <path
+                d='M83.4019 48.1177H25.5259C24.4652 48.1141 23.4143 48.3191 22.433 48.7208C21.4517 49.1225 20.5593 49.7132 19.8068 50.4591C19.0543 51.205 18.4563 52.0915 18.0471 53.068C17.6379 54.0445 17.4255 55.0919 17.4219 56.1503V92.8559C17.4255 93.9144 17.6379 94.9617 18.0471 95.9382C18.4563 96.9147 19.0543 97.8012 19.8068 98.5471C20.5593 99.293 21.4517 99.8837 22.433 100.285C23.4143 100.687 24.4652 100.892 25.5259 100.889H34.0672V114.628L46.8792 100.889H83.3814C84.4421 100.892 85.493 100.687 86.4743 100.285C87.4556 99.8837 88.348 99.293 89.1005 98.5471C89.853 97.8012 90.451 96.9147 90.8602 95.9382C91.2694 94.9617 91.4818 93.9144 91.4854 92.8559V56.1503C91.4782 54.0162 90.6231 51.9721 89.1078 50.4663C87.5924 48.9605 85.5404 48.1159 83.4019 48.1177Z'
+                fill='#386FE5'
+            />
+            <path
+                d='M46.8789 100.888H83.3811C84.4418 100.892 85.4927 100.687 86.474 100.285C87.4553 99.8837 88.3477 99.293 89.1002 98.5471C89.8527 97.8012 90.4507 96.9147 90.8599 95.9382C91.2691 94.9617 91.4816 93.9143 91.4851 92.8559V70.572C91.4851 70.572 88.9364 91.1785 88.4786 92.9923C88.0208 94.8061 87.112 97.52 82.8071 97.97C78.5023 98.4201 46.8789 100.888 46.8789 100.888Z'
+                fill='#1C58D9'
+            />
+            <path
+                d='M23.4284 63.4875C24.0165 61.4103 25.0105 59.4698 26.3533 57.7776C27.6961 56.0853 29.361 54.6749 31.2523 53.6275C31.3643 53.571 31.4544 53.479 31.5084 53.3659C31.5624 53.2528 31.5773 53.1251 31.5507 53.0026C31.5241 52.8802 31.4576 52.77 31.3616 52.6894C31.2655 52.6087 31.1454 52.5622 31.02 52.557C27.3711 52.3388 20.0051 53.1161 22.3146 63.433C22.339 63.5589 22.405 63.673 22.5021 63.7571C22.5992 63.8411 22.7217 63.8902 22.8501 63.8965C22.9785 63.9028 23.1052 63.8659 23.2101 63.7917C23.3149 63.7176 23.3918 63.6105 23.4284 63.4875Z'
+                fill='#5D89EA'
+            />
+            <path
+                fillRule='evenodd'
+                clipRule='evenodd'
+                d='M59.0545 71.3247C59.0545 71.3247 59.1012 73.3801 57.6759 74.7765C56.2504 76.1728 54.4996 76.0452 53.3607 75.6596C52.2216 75.274 50.7534 74.3118 50.4692 72.3369C50.1852 70.3619 51.4708 68.7574 51.4708 68.7574L54.2722 65.2735L55.9038 63.2838L57.3044 61.5498C57.3044 61.5498 57.9471 60.6889 58.1303 60.5112C58.1666 60.476 58.2038 60.4529 58.2403 60.4351L58.2669 60.4216L58.2717 60.4197C58.3487 60.3865 58.4374 60.3794 58.5231 60.4084C58.6069 60.4368 58.6718 60.4944 58.7128 60.5653L58.7215 60.5791L58.729 60.5949C58.749 60.6326 58.7657 60.6757 58.7735 60.7289C58.8109 60.9814 58.7987 62.0558 58.7987 62.0558L58.8579 64.2837L58.9454 66.8555L59.0545 71.3247ZM62.6809 61.8914C67.8622 65.6624 70.2385 72.506 68.0778 78.9067C65.4185 86.7839 56.8946 91.008 49.0393 88.3414C41.184 85.6747 36.9718 77.1273 39.6309 69.2501C41.7953 62.8389 47.8443 58.8481 54.2559 59.0221L52.2008 61.457C48.3971 62.1467 45.1129 64.7515 43.8221 68.5753C41.9015 74.2643 45.1206 80.4976 51.0122 82.4974C56.9036 84.4974 63.2366 81.5069 65.1572 75.8178C66.4438 72.0067 65.4236 67.9516 62.8391 65.0883L62.6809 61.8914Z'
+                fill='white'
+            />
+            <defs>
+                <linearGradient
+                    id='paint0_linear_1218_78619'
+                    x1='89.9338'
+                    y1='36.0345'
+                    x2='101.146'
+                    y2='55.4533'
+                    gradientUnits='userSpaceOnUse'
+                >
+                    <stop stopColor='#5A62C3'/>
+                    <stop
+                        offset='0.5'
+                        stopColor='#4D55BD'
+                    />
+                    <stop
+                        offset='1'
+                        stopColor='#3940AB'
+                    />
+                </linearGradient>
+            </defs>
+        </svg>
+    ),
+    tick: (
+        <svg
+            width='16'
+            height='16'
+            viewBox='0 0 16 16'
+            fill='none'
+            xmlns='http://www.w3.org/2000/svg'
+        >
+            <path
+                d='M14.75 4.25605L5.75 13.256L1.628 9.11605L2.69 8.07205L5.75 11.132L13.688 3.19405L14.75 4.25605Z'
+                fill='white'
+            />
+        </svg>
+    ),
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Icon/index.html b/webapp/coverage/lcov-report/components/Icon/index.html new file mode 100644 index 000000000..954a65299 --- /dev/null +++ b/webapp/coverage/lcov-report/components/Icon/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for components/Icon + + + + + + + + + +
+
+

All files components/Icon

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Icon.component.tsx +
+
100%2/2100%0/0100%1/1100%2/2
Icon.map.tsx +
+
100%1/1100%0/0100%0/0100%1/1
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/LinkedChannelCard/LinkedChannelCard.component.tsx.html b/webapp/coverage/lcov-report/components/LinkedChannelCard/LinkedChannelCard.component.tsx.html new file mode 100644 index 000000000..046642725 --- /dev/null +++ b/webapp/coverage/lcov-report/components/LinkedChannelCard/LinkedChannelCard.component.tsx.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for components/LinkedChannelCard/LinkedChannelCard.component.tsx + + + + + + + + + +
+
+

All files / components/LinkedChannelCard LinkedChannelCard.component.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29  +  +  +  +  +  +  +  +5x +2x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+ 
+import {Icon} from 'components/Icon';
+ 
+import {LinkedChannelCardProps} from './LinkedChannelCard.types';
+ 
+import './LinkedChannelCard.styles.scss';
+ 
+export const LinkedChannelCard = ({msTeamsChannelName, msTeamsTeamName, mattermostChannelName, mattermostTeamName}: LinkedChannelCardProps) => (
+    <div className='px-16 py-12 border-t-1 d-flex gap-4 msteams-linked-channel'>
+        <div className='msteams-linked-channel__link-icon d-flex align-items-center flex-column justify-center'>
+            <Icon iconName='link'/>
+        </div>
+        <div className='d-flex flex-column gap-6'>
+            <div className='d-flex gap-8 align-items-center'>
+                {/* TODO: Update icon on basis of channel type  */}
+                <Icon iconName='globe'/>
+                <h5 className='my-0'>{mattermostChannelName}</h5>
+                <h5 className='my-0 opacity-6'>{mattermostTeamName}</h5>
+            </div>
+            <div className='d-flex gap-8 align-items-center'>
+                <Icon iconName='msTeams'/>
+                <h5 className='my-0'>{msTeamsChannelName}</h5>
+                <h5 className='my-0 opacity-6'>{msTeamsTeamName}</h5>
+            </div>
+        </div>
+    </div>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/LinkedChannelCard/index.html b/webapp/coverage/lcov-report/components/LinkedChannelCard/index.html new file mode 100644 index 000000000..1c63ee3d8 --- /dev/null +++ b/webapp/coverage/lcov-report/components/LinkedChannelCard/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/LinkedChannelCard + + + + + + + + + +
+
+

All files components/LinkedChannelCard

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
LinkedChannelCard.component.tsx +
+
100%2/2100%0/0100%1/1100%2/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/RhsTitle/RhsTitle.component.tsx.html b/webapp/coverage/lcov-report/components/RhsTitle/RhsTitle.component.tsx.html new file mode 100644 index 000000000..e9638d7a6 --- /dev/null +++ b/webapp/coverage/lcov-report/components/RhsTitle/RhsTitle.component.tsx.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for components/RhsTitle/RhsTitle.component.tsx + + + + + + + + + +
+
+

All files / components/RhsTitle RhsTitle.component.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16  +  +  +  +  +5x +1x +  +  +  +  +  +  +  +  + 
import React from 'react';
+ 
+import {iconUrl} from 'constants/illustrations.constants';
+import {pluginTitle} from 'constants/common.constants';
+ 
+export const RhsTitle = () => (
+    <span className='d-flex gap-8 align-items-center'>
+        <img
+            width={24}
+            height={24}
+            src={iconUrl}
+        />
+        {pluginTitle}
+    </span>
+);
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/RhsTitle/index.html b/webapp/coverage/lcov-report/components/RhsTitle/index.html new file mode 100644 index 000000000..8bb961d44 --- /dev/null +++ b/webapp/coverage/lcov-report/components/RhsTitle/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/RhsTitle + + + + + + + + + +
+
+

All files components/RhsTitle

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
RhsTitle.component.tsx +
+
100%2/2100%0/0100%1/1100%2/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Snackbar/Snackbar.component.tsx.html b/webapp/coverage/lcov-report/components/Snackbar/Snackbar.component.tsx.html new file mode 100644 index 000000000..9b5b976bb --- /dev/null +++ b/webapp/coverage/lcov-report/components/Snackbar/Snackbar.component.tsx.html @@ -0,0 +1,301 @@ + + + + + + Code coverage report for components/Snackbar/Snackbar.component.tsx + + + + + + + + + +
+
+

All files / components/Snackbar Snackbar.component.tsx

+
+ +
+ 93.75% + Statements + 15/16 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 93.33% + Lines + 14/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +5x +6x +6x +6x +6x +  +6x +  +6x +6x +6x +  +  +  +  +  +6x +6x +  +  +  +6x +  +  +  +  +  +6x +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {useEffect, useRef} from 'react';
+import {useDispatch} from 'react-redux';
+ 
+import {Button} from '@brightscout/mattermost-ui-library';
+ 
+import {Icon, IconName} from 'components/Icon';
+ 
+import {getSnackbarState} from 'selectors';
+ 
+import usePluginApi from 'hooks/usePluginApi';
+import {closeAlert} from 'reducers/snackbar';
+import {alertTimeout} from 'constants/common.constants';
+ 
+import {SnackbarColor} from './Snackbar.types';
+ 
+export const Snackbar = () => {
+    const dispatch = useDispatch();
+    const {state} = usePluginApi();
+    const timeId = useRef(0);
+    const {isOpen, message, severity} = getSnackbarState(state);
+ 
+    const handleClose = () => dispatch(closeAlert());
+ 
+    useEffect(() => {
+        Eif (isOpen) {
+            timeId.current = window.setTimeout(() => {
+                // Hide the snackbar after 4 seconds
+                handleClose();
+            }, alertTimeout);
+        }
+ 
+        return () => {
+            clearTimeout(timeId.current);
+        };
+    }, [isOpen]);
+ 
+    const snackbarColorMap: Record<SnackbarColor, string> = {
+        error: 'bg-error',
+        default: 'bg-default',
+        success: 'bg-success',
+    };
+ 
+    const snackbarIconMap: Record<SnackbarColor, IconName> = {
+        error: 'warning',
+        default: 'tick',
+        success: 'tick',
+    };
+ 
+    return (
+        <div
+            className={`fixed bottom-20 right-20 left-20 py-8 px-12 rounded-4 d-flex gap-8 align-items-center justify-between elevation-2 msteams-sync-rhs__snackbar ${snackbarColorMap[severity]}`}
+        >
+            <div className='d-flex align-items-center gap-8'>
+                <Icon
+                    iconName={snackbarIconMap[severity]}
+                    className='icon-white icon-16'
+                />
+                <h5 className='my-0 lh-24 wt-600 text-white'>{message}</h5>
+            </div>
+            <Button
+                variant='text'
+                className='snackbar__close'
+                onClick={handleClose}
+            >
+                <Icon
+                    iconName='close'
+                    className='icon-white icon-16'
+                />
+            </Button>
+        </div>
+    );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Snackbar/index.html b/webapp/coverage/lcov-report/components/Snackbar/index.html new file mode 100644 index 000000000..d435d1104 --- /dev/null +++ b/webapp/coverage/lcov-report/components/Snackbar/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/Snackbar + + + + + + + + + +
+
+

All files components/Snackbar

+
+ +
+ 93.75% + Statements + 15/16 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 80% + Functions + 4/5 +
+ + +
+ 93.33% + Lines + 14/15 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Snackbar.component.tsx +
+
93.75%15/1650%1/280%4/593.33%14/15
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/WarningCard/WarningCard.component.tsx.html b/webapp/coverage/lcov-report/components/WarningCard/WarningCard.component.tsx.html new file mode 100644 index 000000000..d6d31f7f7 --- /dev/null +++ b/webapp/coverage/lcov-report/components/WarningCard/WarningCard.component.tsx.html @@ -0,0 +1,208 @@ + + + + + + Code coverage report for components/WarningCard/WarningCard.component.tsx + + + + + + + + + +
+
+

All files / components/WarningCard WarningCard.component.tsx

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42  +  +  +  +  +  +  +  +  +5x +5x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+ 
+import {Button} from '@brightscout/mattermost-ui-library';
+ 
+import {Icon} from 'components/Icon';
+import Constants from 'constants/connectAccount.constants';
+ 
+import {WarningCardProps} from './WarningCard.types';
+ 
+export const WarningCard = ({onConnect}: WarningCardProps) => {
+    return (
+        <div
+            className='rhs-connect p-16'
+ 
+            // TODO: Update to use util classes
+            style={{
+                borderRadius: '4px',
+                background: '#FBF0F0',
+                border: '1px solid #F7434329',
+            }}
+        >
+            <div className='d-flex gap-12'>
+                <Icon iconName='warning'/>
+                <div>
+                    <div className='d-flex align-items-start justify-between'>
+                        <h5 className='wt-600 mt-0'>{'Please Connect your MS Teams account.'}</h5>
+                    </div>
+                    <p>{'You are not connected to your MS Teams account yet, please connect to your account to continue using MS Teams sync.'}
+                    </p>
+                    <div>
+                        <Button
+                            onClick={onConnect}
+                        >
+                            {Constants.connectButtonText}
+                        </Button>
+                    </div>
+                </div>
+            </div>
+        </div>
+    );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/WarningCard/index.html b/webapp/coverage/lcov-report/components/WarningCard/index.html new file mode 100644 index 000000000..3a3ccecb4 --- /dev/null +++ b/webapp/coverage/lcov-report/components/WarningCard/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for components/WarningCard + + + + + + + + + +
+
+

All files components/WarningCard

+
+ +
+ 100% + Statements + 2/2 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 2/2 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
WarningCard.component.tsx +
+
100%2/2100%0/0100%1/1100%2/2
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/appManifestSetting.tsx.html b/webapp/coverage/lcov-report/components/appManifestSetting.tsx.html new file mode 100644 index 000000000..39439c715 --- /dev/null +++ b/webapp/coverage/lcov-report/components/appManifestSetting.tsx.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for components/appManifestSetting.tsx + + + + + + + + + +
+
+

All files / components appManifestSetting.tsx

+
+ +
+ 0% + Statements + 0/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 0% + Lines + 0/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
+// See LICENSE.txt for license information.
+ 
+import React from 'react';
+ 
+type Props = {
+    label: string;
+    disabled: boolean;
+};
+ 
+export default class MSTeamsAppManifestSetting extends React.PureComponent<Props> {
+    handleClick = () => {
+        window.location.href = '/plugins/com.mattermost.msteams-sync/iframe-manifest';
+    };
+ 
+    render() {
+        return (
+            <div>
+                <p>
+                    {'To embed Mattermost within Microsoft Teams, an application manifest can be downloaded and installed as a MS Teams app. '}
+                    {'Clicking the Download button below will generate an application manifest that will embed this instance of Mattermost. '}
+                </p>
+                <p>
+                    {'Mattermost embedded in MS Teams can be used together with MSTeams Sync, or independently.'}
+                </p>
+                <button
+                    className='btn btn-primary'
+                    style={styles.buttonBorder}
+                    onClick={this.handleClick}
+                    disabled={this.props.disabled}
+                >
+                    {this.props.label}
+                </button>
+            </div>
+        );
+    }
+}
+ 
+const styles = {
+    buttonBorder: {
+        marginTop: '8px',
+    },
+};
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/enforceConnectedAccountModal.tsx.html b/webapp/coverage/lcov-report/components/enforceConnectedAccountModal.tsx.html new file mode 100644 index 000000000..8fc474682 --- /dev/null +++ b/webapp/coverage/lcov-report/components/enforceConnectedAccountModal.tsx.html @@ -0,0 +1,397 @@ + + + + + + Code coverage report for components/enforceConnectedAccountModal.tsx + + + + + + + + + +
+
+

All files / components enforceConnectedAccountModal.tsx

+
+ +
+ 0% + Statements + 0/40 +
+ + +
+ 0% + Branches + 0/23 +
+ + +
+ 0% + Functions + 0/9 +
+ + +
+ 0% + Lines + 0/40 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {useCallback, useState, useEffect} from 'react';
+ 
+import Constants from 'constants/index';
+ 
+import usePluginApi from 'hooks/usePluginApi';
+import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState';
+ 
+import './enforceConnectedAccountModal.css';
+ 
+export default function EnforceConnectedAccountModal() {
+    const [open, setOpen] = useState(false);
+    const [canSkip, setCanSkip] = useState(false);
+    const [connecting, setConnecting] = useState(false);
+    const [isInterval, setIsInterval] = useState(false);
+    const {makeApiRequestWithCompletionStatus, getApiState} = usePluginApi();
+ 
+    const skip = useCallback(() => {
+        setOpen(false);
+    }, []);
+ 
+    const connectAccount = useCallback(() => {
+        makeApiRequestWithCompletionStatus(Constants.pluginApiServiceConfigs.connect.apiServiceName);
+    }, []);
+ 
+    useEffect(() => {
+        makeApiRequestWithCompletionStatus(Constants.pluginApiServiceConfigs.needsConnect.apiServiceName);
+    }, []);
+ 
+    const {data: needsConnectData} = getApiState(Constants.pluginApiServiceConfigs.needsConnect.apiServiceName);
+    const {data: connectData} = getApiState(Constants.pluginApiServiceConfigs.connect.apiServiceName);
+ 
+    useApiRequestCompletionState({
+        serviceName: Constants.pluginApiServiceConfigs.needsConnect.apiServiceName,
+        handleSuccess: () => {
+            if (needsConnectData) {
+                const data = needsConnectData as NeedsConnectData;
+                if (!isInterval) {
+                    setOpen(data.needsConnect);
+                    setCanSkip(data.canSkip);
+                } else if (!data.needsConnect) {
+                    setOpen(false);
+                    setConnecting(false);
+                }
+            }
+        },
+    });
+ 
+    useApiRequestCompletionState({
+        serviceName: Constants.pluginApiServiceConfigs.connect.apiServiceName,
+        handleSuccess: () => {
+            if (connectData) {
+                setConnecting(true);
+                window.open((connectData as ConnectData).connectUrl, '_blank');
+            }
+        },
+    });
+ 
+    const checkConnected = useCallback(() => {
+        makeApiRequestWithCompletionStatus(Constants.pluginApiServiceConfigs.needsConnect.apiServiceName);
+    }, []);
+ 
+    useEffect(() => {
+        let interval: any = 0;
+        if (connecting) {
+            setIsInterval(true);
+            interval = setInterval(checkConnected, 1000);
+        }
+        return () => {
+            if (interval) {
+                setIsInterval(false);
+                clearInterval(interval);
+            }
+        };
+    }, [connecting]);
+ 
+    if (!open) {
+        return null;
+    }
+ 
+    return (
+        <div className='EnforceConnectedAccountModal'>
+            <img src={Constants.iconUrl}/>
+            <h1>{'Connect your Microsoft Teams Account'}</h1>
+            {!connecting && <p>{'This server requires you to connect your Mattermost account with your Microsoft Teams account.'}</p>}
+            {!connecting && (
+                <button
+                    className='btn btn-primary'
+                    onClick={connectAccount}
+                >
+                    {'Connect account'}
+                </button>
+            )}
+            {connecting && <p className='connectUrl'>{'Please go to the new window and complete the login process'}</p>}
+            {canSkip && !connecting && (
+                <a
+                    className='skipLink'
+                    onClick={skip}
+                >
+                    {'Skip for now'}
+                </a>
+            )}
+        </div>
+    );
+}
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/getConnectedUsersSetting.tsx.html b/webapp/coverage/lcov-report/components/getConnectedUsersSetting.tsx.html new file mode 100644 index 000000000..1ca791188 --- /dev/null +++ b/webapp/coverage/lcov-report/components/getConnectedUsersSetting.tsx.html @@ -0,0 +1,199 @@ + + + + + + Code coverage report for components/getConnectedUsersSetting.tsx + + + + + + + + + +
+
+

All files / components getConnectedUsersSetting.tsx

+
+ +
+ 0% + Statements + 0/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 0% + Lines + 0/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React from 'react';
+ 
+type Props = {
+    label: string;
+    disabled: boolean;
+};
+ 
+const GetConnectedUsersSetting = ({label}: Props) => {
+    return (
+        <div
+            style={styles.divMargin}
+        >
+            <p>
+                {'Download a report of all Mattermost users connected to MS Teams'}
+            </p>
+            <a
+                href='/plugins/com.mattermost.msteams-sync/connected-users/download'
+                className='btn btn-primary'
+                rel='noreferrer'
+                target='_self'
+                download={true}
+            >
+                {label}
+            </a>
+        </div>
+    );
+};
+ 
+const styles = {
+    divMargin: {
+        marginTop: '20px',
+    },
+    buttonMargin: {
+        marginTop: '8px',
+    },
+};
+ 
+export default GetConnectedUsersSetting;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/index.html b/webapp/coverage/lcov-report/components/index.html new file mode 100644 index 000000000..27ab7ccbb --- /dev/null +++ b/webapp/coverage/lcov-report/components/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for components + + + + + + + + + +
+
+

All files components

+
+ +
+ 0% + Statements + 0/47 +
+ + +
+ 0% + Branches + 0/23 +
+ + +
+ 0% + Functions + 0/12 +
+ + +
+ 0% + Lines + 0/47 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
appManifestSetting.tsx +
+
0%0/4100%0/00%0/20%0/4
enforceConnectedAccountModal.tsx +
+
0%0/400%0/230%0/90%0/40
getConnectedUsersSetting.tsx +
+
0%0/3100%0/00%0/10%0/3
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/Rhs.container.tsx.html b/webapp/coverage/lcov-report/containers/Rhs/Rhs.container.tsx.html new file mode 100644 index 000000000..6cac59dcb --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/Rhs.container.tsx.html @@ -0,0 +1,286 @@ + + + + + + Code coverage report for containers/Rhs/Rhs.container.tsx + + + + + + + + + +
+
+

All files / containers/Rhs Rhs.container.tsx

+
+ +
+ 80% + Statements + 16/20 +
+ + +
+ 61.11% + Branches + 11/18 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 80% + Lines + 16/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +3x +3x +3x +  +3x +  +3x +3x +  +3x +  +  +  +3x +  +3x +2x +  +  +  +  +  +  +  +2x +  +  +  +2x +  +  +  +2x +2x +  +  +  +  +  +2x +  +  +  +  +  +  +  +  +  + 
import React, {useCallback, useMemo} from 'react';
+ 
+import {Spinner} from '@brightscout/mattermost-ui-library';
+ 
+import {pluginApiServiceConfigs} from 'constants/apiService.constant';
+ 
+import usePluginApi from 'hooks/usePluginApi';
+ 
+import {getConnectedState, getIsRhsLoading, getSnackbarState} from 'selectors';
+ 
+import {Snackbar} from 'components';
+ 
+import {ConnectAccount} from './views/ConnectAccount';
+import {LinkedChannels} from './views/LinkedChannels';
+import {ConnectedAccount} from './views/ConnectedAccount';
+ 
+// TODO: update component later
+export const Rhs = () => {
+    const {state, getApiState} = usePluginApi();
+    const {connected} = getConnectedState(state);
+    const {isRhsLoading} = getIsRhsLoading(state);
+ 
+    const {isOpen} = getSnackbarState(state);
+ 
+    const {data} = getApiState(pluginApiServiceConfigs.whitelistUser.apiServiceName);
+    const {data: linkedChannels} = getApiState(pluginApiServiceConfigs.getLinkedChannels.apiServiceName);
+ 
+    const {presentInWhitelist} = data as WhitelistUserResponse;
+ 
+    // NOTE: Commented out on purpose.This is part of Phase-II
+    // const isAnyChannelLinked = useMemo(() => Boolean((linkedChannels as ChannelLinkData[])?.length), [linkedChannels]);
+    const isAnyChannelLinked = false;
+ 
+    const getRhsView = useCallback(() => {
+        Iif (isRhsLoading) {
+            return (
+                <div className='absolute d-flex align-items-center justify-center w-full h-full'>
+                    <Spinner size='xl'/>
+                </div>
+            );
+        }
+ 
+        Iif (!connected && !isAnyChannelLinked) {
+            return <ConnectAccount/>;
+        }
+ 
+        Iif (!connected && isAnyChannelLinked) {
+            return <LinkedChannels/>;
+        }
+ 
+        Eif (connected && !isAnyChannelLinked) {
+            return <ConnectedAccount/>;
+        }
+ 
+        return <></>;
+    }, [linkedChannels, connected, isRhsLoading]);
+ 
+    return (
+        <>
+            {
+                presentInWhitelist ?
+                    getRhsView() : 'MS Teams Sync plugin'
+            }
+            {isOpen && <Snackbar/>}
+        </>
+    );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/index.html b/webapp/coverage/lcov-report/containers/Rhs/index.html new file mode 100644 index 000000000..c8242d790 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for containers/Rhs + + + + + + + + + +
+
+

All files containers/Rhs

+
+ +
+ 80% + Statements + 16/20 +
+ + +
+ 61.11% + Branches + 11/18 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 80% + Lines + 16/20 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Rhs.container.tsx +
+
80%16/2061.11%11/18100%2/280%16/20
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/index.ts.html b/webapp/coverage/lcov-report/containers/Rhs/index.ts.html new file mode 100644 index 000000000..aa32bb5e9 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for containers/Rhs/index.ts + + + + + + + + + +
+
+

All files / containers/Rhs index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export {Rhs} from './Rhs.container';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx.html new file mode 100644 index 000000000..4e9d38763 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx.html @@ -0,0 +1,253 @@ + + + + + + Code coverage report for containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx + + + + + + + + + +
+
+

All files / containers/Rhs/views/ConnectAccount ConnectAccount.container.tsx

+
+ +
+ 88.88% + Statements + 8/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 88.88% + Lines + 8/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57  +  +  +  +  +  +  +  +  +  +  +2x +3x +3x +  +3x +1x +  +  +3x +  +  +  +  +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {useCallback} from 'react';
+ 
+import {Button} from '@brightscout/mattermost-ui-library';
+ 
+import Constants from 'constants/connectAccount.constants';
+import {Icon, IconName} from 'components';
+import usePluginApi from 'hooks/usePluginApi';
+import {pluginApiServiceConfigs} from 'constants/apiService.constant';
+import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState';
+import useAlert from 'hooks/useAlert';
+ 
+export const ConnectAccount = () => {
+    const showAlert = useAlert();
+    const {makeApiRequestWithCompletionStatus} = usePluginApi();
+ 
+    const connectAccount = useCallback(() => {
+        makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.connect.apiServiceName);
+    }, []);
+ 
+    useApiRequestCompletionState({
+        serviceName: pluginApiServiceConfigs.connect.apiServiceName,
+        handleError: () => {
+            showAlert({message: Constants.connectAccountUnsuccessfulMsg, severity: 'error'});
+        },
+    });
+ 
+    return (
+        <div className='p-24 d-flex flex-column overflow-y-auto'>
+            <div className='flex-1 d-flex flex-column gap-16 align-items-center my-16'>
+                <div className='d-flex flex-column gap-16 align-items-center'>
+                    <Icon
+                        width={218}
+                        iconName='connectAccount'
+                    />
+                    <h2 className='text-center wt-600 my-0'>{Constants.connectAccountMsg}</h2>
+                </div>
+                <Button onClick={connectAccount}>{Constants.connectButtonText}</Button>
+            </div>
+            <hr className='w-full my-32'/>
+            <div className='d-flex flex-column gap-24'>
+                <h5 className='my-0 wt-600'>{Constants.listTitle}</h5>
+                <ul className='my-0 px-0 d-flex flex-column gap-20'>
+                    {Constants.connectAccountFeatures.map(({icon, text}) => (
+                        <li
+                            className='d-flex gap-16 align-items-start'
+                            key={icon}
+                        >
+                            <Icon iconName={icon as IconName}/>
+                            <h5 className='my-0 lh-20'>{text}</h5>
+                        </li>
+                    )) }
+                </ul>
+            </div>
+        </div>
+    );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.html new file mode 100644 index 000000000..40938181f --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for containers/Rhs/views/ConnectAccount + + + + + + + + + +
+
+

All files containers/Rhs/views/ConnectAccount

+
+ +
+ 88.88% + Statements + 8/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 88.88% + Lines + 8/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ConnectAccount.container.tsx +
+
88.88%8/9100%0/075%3/488.88%8/9
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.ts.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.ts.html new file mode 100644 index 000000000..e74f4daee --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for containers/Rhs/views/ConnectAccount/index.ts + + + + + + + + + +
+
+

All files / containers/Rhs/views/ConnectAccount index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export {ConnectAccount} from './ConnectAccount.container';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx.html new file mode 100644 index 000000000..78f92fe31 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx.html @@ -0,0 +1,394 @@ + + + + + + Code coverage report for containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx + + + + + + + + + +
+
+

All files / containers/Rhs/views/ConnectedAccount ConnectedAccount.container.tsx

+
+ +
+ 57.14% + Statements + 12/21 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 42.85% + Functions + 3/7 +
+ + +
+ 57.14% + Lines + 12/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +8x +8x +8x +  +8x +  +8x +  +  +  +6x +  +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +6x +6x +  +  +  +  +  +6x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {useCallback, useEffect} from 'react';
+import {useDispatch} from 'react-redux';
+ 
+import {Button} from '@brightscout/mattermost-ui-library';
+ 
+import usePluginApi from 'hooks/usePluginApi';
+import {pluginApiServiceConfigs} from 'constants/apiService.constant';
+import useDialog from 'hooks/useDialog';
+import useAlert from 'hooks/useAlert';
+import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState';
+import {setConnected} from 'reducers/connectedState';
+import {getConnectedState} from 'selectors';
+ 
+import utils from 'utils';
+ 
+export const ConnectedAccount = () => {
+    const dispatch = useDispatch();
+    const {makeApiRequestWithCompletionStatus, state} = usePluginApi();
+    const {username, isAlreadyConnected, msteamsUserId, connected} = getConnectedState(state);
+ 
+    const showAlert = useAlert();
+ 
+    const disconnectUser = useCallback(() => {
+        makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.disconnectUser.apiServiceName);
+    }, []);
+ 
+    const {DialogComponent, showDialog, hideDialog} = useDialog({
+        onSubmitHandler: disconnectUser,
+        onCloseHandler: () => {
+            hideDialog();
+        },
+    });
+ 
+    useApiRequestCompletionState({
+        serviceName: pluginApiServiceConfigs.disconnectUser.apiServiceName,
+        handleSuccess: () => {
+            dispatch(setConnected({connected: false, username: '', msteamsUserId: '', isAlreadyConnected: false}));
+            hideDialog();
+            showAlert({
+                message: 'Your account has been disconnected.',
+            });
+        },
+        handleError: () => {
+            showAlert({
+                message: 'Error occurred while disconnecting the user.',
+                severity: 'error',
+            });
+            hideDialog();
+        },
+    });
+ 
+    useEffect(() => {
+        Iif (connected && !isAlreadyConnected) {
+            showAlert({message: 'Your account is connected successfully.'});
+            dispatch(setConnected({connected, msteamsUserId, username, isAlreadyConnected: true}));
+        }
+    }, [connected, isAlreadyConnected]);
+ 
+    return (
+        <div className='flex-1 msteams-sync-rhs d-flex flex-column'>
+            <div className='py-12 px-20 border-y-1 d-flex gap-8'>
+                {/* TODO: Refactor user Avatar */}
+                <div
+                    style={{
+                        height: '32px',
+                        width: '32px',
+                        borderRadius: '50%',
+                        backgroundColor: 'rgba(var(--center-channel-color-rgb), 0.12)',
+                    }}
+                >
+                    <img
+                        style={{
+                            borderRadius: '50%',
+                        }}
+                        src={utils.getAvatarUrl(msteamsUserId)}
+                    />
+                </div>
+                <div>
+                    <h5 className='my-0 font-12 lh-16'>{'Connected as '}<span className='wt-600'>{username}</span></h5>
+                    <Button
+                        size='sm'
+                        variant='text'
+                        className='p-0 lh-16'
+                        onClick={() => showDialog({
+                            destructive: true,
+                            primaryButtonText: 'Disconnect',
+                            secondaryButtonText: 'Cancel',
+                            description: 'Are you sure you want to disconnect your Microsoft Teams Account? You will no longer be able to send and receive messages to Microsoft Teams users from Mattermost.',
+                            isLoading: false,
+                            title: 'Disconnect Microsoft Teams Account',
+                        })}
+                    >{'Disconnect'}</Button>
+                </div>
+            </div>
+            <div className='d-flex align-items-center justify-center flex-1 flex-column px-40'>
+                {/* NOTE: Part of Phase-II */}
+                {/* <Icon iconName='noChannels'/>
+                <h3 className='my-0 lh-28 wt-600 text-center'>{'There are no linked channels yet'}</h3> */}
+            </div>
+            <DialogComponent/>
+        </div>
+    );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.html new file mode 100644 index 000000000..cacb72900 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for containers/Rhs/views/ConnectedAccount + + + + + + + + + +
+
+

All files containers/Rhs/views/ConnectedAccount

+
+ +
+ 57.14% + Statements + 12/21 +
+ + +
+ 75% + Branches + 3/4 +
+ + +
+ 42.85% + Functions + 3/7 +
+ + +
+ 57.14% + Lines + 12/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
ConnectedAccount.container.tsx +
+
57.14%12/2175%3/442.85%3/757.14%12/21
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.ts.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.ts.html new file mode 100644 index 000000000..e2f079abd --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for containers/Rhs/views/ConnectedAccount/index.ts + + + + + + + + + +
+
+

All files / containers/Rhs/views/ConnectedAccount index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export {ConnectedAccount} from './ConnectedAccount.container';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx.html b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx.html new file mode 100644 index 000000000..44a53f446 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx.html @@ -0,0 +1,358 @@ + + + + + + Code coverage report for containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx + + + + + + + + + +
+
+

All files / containers/Rhs/views/LinkedChannels LinkedChannels.container.tsx

+
+ +
+ 75% + Statements + 15/20 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 60% + Functions + 6/10 +
+ + +
+ 77.77% + Lines + 14/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +  +3x +3x +3x +  +  +  +  +  +3x +3x +  +  +3x +3x +  +  +  +  +  +3x +1x +  +  +  +  +  +3x +  +  +  +  +3x +3x +  +  +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import React, {useCallback, useEffect, useMemo, useState} from 'react';
+import InfiniteScroll from 'react-infinite-scroll-component';
+ 
+import {Spinner} from '@brightscout/mattermost-ui-library';
+ 
+import {WarningCard, LinkedChannelCard} from 'components';
+import usePluginApi from 'hooks/usePluginApi';
+import {pluginApiServiceConfigs} from 'constants/apiService.constant';
+ 
+import {defaultPage, defaultPerPage} from 'constants/common.constants';
+ 
+import {channelListTitle, noMoreChannelsText} from 'constants/linkedChannels.constants';
+ 
+import {mockLinkedChannels} from './LinkedChannels.mock';
+ 
+import './LinkedChannels.styles.scss';
+ 
+export const LinkedChannels = () => {
+    // TODO: Add Linked channel list
+    const {makeApiRequestWithCompletionStatus} = usePluginApi();
+    const [totalLinkedChannels, setTotalLinkedChannels] = useState<ChannelLinkData[]>([]);
+    const [paginationQueryParams, setPaginationQueryParams] = useState<PaginationQueryParams>({
+        page: defaultPage,
+        per_page: defaultPerPage,
+    });
+ 
+    // TODO: Remove this part used for mocking API call for infinite scroll.
+    const getChannels = () => new Promise<void>((res) => {
+        setTimeout(() => res(), 2000);
+    });
+ 
+    useEffect(() => {
+        getChannels().then(() => {
+            const linkedChannels = mockLinkedChannels.slice((paginationQueryParams.page * paginationQueryParams.per_page), (paginationQueryParams.page + 1) * paginationQueryParams.per_page);
+            setTotalLinkedChannels([...totalLinkedChannels, ...(linkedChannels as ChannelLinkData[])]);
+        });
+    }, [paginationQueryParams]);
+ 
+    const connectAccount = useCallback(() => {
+        makeApiRequestWithCompletionStatus(
+            pluginApiServiceConfigs.connect.apiServiceName,
+        );
+    }, []);
+ 
+    // Increase the page number by 1
+    const handlePagination = () => {
+        setPaginationQueryParams({...paginationQueryParams, page: paginationQueryParams.page + 1,
+        });
+    };
+ 
+    const hasMoreLinkedChannels = useMemo<boolean>(() => (
+        (totalLinkedChannels.length - (paginationQueryParams.page * defaultPerPage) === defaultPerPage)
+    ), [totalLinkedChannels]);
+ 
+    return (
+        <div className='msteams-sync-rhs flex-1 d-flex flex-column'>
+            <div className='p-20 d-flex flex-column gap-20'>
+                <WarningCard
+                    onConnect={connectAccount}
+                />
+            </div>
+            <h4 className='font-16 lh-24 my-0 p-20 wt-600'>{channelListTitle}</h4>
+            <div
+                id='scrollableArea'
+                className='scroll-container flex-1-0-0'
+            >
+                <InfiniteScroll
+                    dataLength={totalLinkedChannels.length}
+                    next={handlePagination}
+                    hasMore={hasMoreLinkedChannels}
+                    loader={<Spinner className='scroll-container__spinner'/>}
+                    endMessage={
+                        <p className='text-center'>
+                            <b>{noMoreChannelsText}</b>
+                        </p>
+                    }
+                    scrollableTarget='scrollableArea'
+                >
+                    {totalLinkedChannels.map(({msTeamsChannelID, ...rest}) => (
+                        <LinkedChannelCard
+                            channelId={msTeamsChannelID}
+                            key={msTeamsChannelID}
+                            {...rest}
+                        />
+                    ))
+                    }
+                </InfiniteScroll>
+            </div>
+        </div>
+    );
+};
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts.html b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts.html new file mode 100644 index 000000000..ad26ddda8 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts.html @@ -0,0 +1,742 @@ + + + + + + Code coverage report for containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts + + + + + + + + + +
+
+

All files / containers/Rhs/views/LinkedChannels LinkedChannels.mock.ts

+
+ +
+ 100% + Statements + 1/1 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 1/1 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +2202x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
export const mockLinkedChannels = [
+ 
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    }, {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+    {
+        msTeamsTeamID: 'string',
+        msTeamsTeamName: 'string',
+        msTeamsChannelID: 'string',
+        msTeamsChannelName: 'string',
+        mattermostTeamID: 'string',
+        mattermostTeamName: 'string',
+        mattermostChannelID: 'string',
+        mattermostChannelName: 'string',
+        mattermostChannelType: 'string',
+        msTeamsChannelType: 'string',
+    },
+ 
+];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.html b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.html new file mode 100644 index 000000000..d76035ef7 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for containers/Rhs/views/LinkedChannels + + + + + + + + + +
+
+

All files containers/Rhs/views/LinkedChannels

+
+ +
+ 76.19% + Statements + 16/21 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 60% + Functions + 6/10 +
+ + +
+ 78.94% + Lines + 15/19 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
LinkedChannels.container.tsx +
+
75%15/20100%0/060%6/1077.77%14/18
LinkedChannels.mock.ts +
+
100%1/1100%0/0100%0/0100%1/1
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.ts.html b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.ts.html new file mode 100644 index 000000000..6f8fcb00c --- /dev/null +++ b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for containers/Rhs/views/LinkedChannels/index.ts + + + + + + + + + +
+
+

All files / containers/Rhs/views/LinkedChannels index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export {LinkedChannels} from './LinkedChannels.container';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/index.html b/webapp/coverage/lcov-report/containers/index.html new file mode 100644 index 000000000..330be822d --- /dev/null +++ b/webapp/coverage/lcov-report/containers/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for containers + + + + + + + + + +
+
+

All files containers

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/index.ts.html b/webapp/coverage/lcov-report/containers/index.ts.html new file mode 100644 index 000000000..b1bee6f66 --- /dev/null +++ b/webapp/coverage/lcov-report/containers/index.ts.html @@ -0,0 +1,88 @@ + + + + + + Code coverage report for containers/index.ts + + + + + + + + + +
+
+

All files / containers index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2  + 
export {Rhs} from './Rhs';
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/favicon.png b/webapp/coverage/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1525b811a167671e9de1fa78aab9f5c0b61cef7 GIT binary patch literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 64.17% + Statements + 120/187 +
+ + +
+ 34.69% + Branches + 17/49 +
+ + +
+ 60.71% + Functions + 34/56 +
+ + +
+ 63.73% + Lines + 116/182 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
components +
+
0%0/470%0/230%0/120%0/47
components/Dialog +
+
100%9/9100%2/2100%3/3100%8/8
components/Icon +
+
100%3/3100%0/0100%1/1100%3/3
components/LinkedChannelCard +
+
100%2/2100%0/0100%1/1100%2/2
components/RhsTitle +
+
100%2/2100%0/0100%1/1100%2/2
components/Snackbar +
+
93.75%15/1650%1/280%4/593.33%14/15
components/WarningCard +
+
100%2/2100%0/0100%1/1100%2/2
containers +
+
0%0/00%0/00%0/00%0/0
containers/Rhs +
+
80%16/2061.11%11/18100%2/280%16/20
containers/Rhs/views/ConnectAccount +
+
88.88%8/9100%0/075%3/488.88%8/9
containers/Rhs/views/ConnectedAccount +
+
57.14%12/2175%3/442.85%3/757.14%12/21
containers/Rhs/views/LinkedChannels +
+
76.19%16/21100%0/060%6/1078.94%15/19
reducers +
+
0%0/00%0/00%0/00%0/0
reducers/apiRequest +
+
100%6/6100%0/0100%3/3100%5/5
reducers/connectedState +
+
100%7/7100%0/0100%1/1100%7/7
reducers/dialog +
+
100%11/11100%0/0100%2/2100%11/11
reducers/snackbar +
+
100%7/7100%0/0100%2/2100%7/7
reducers/spinner +
+
100%4/4100%0/0100%1/1100%4/4
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/prettify.css b/webapp/coverage/lcov-report/prettify.css new file mode 100644 index 000000000..b317a7cda --- /dev/null +++ b/webapp/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/webapp/coverage/lcov-report/prettify.js b/webapp/coverage/lcov-report/prettify.js new file mode 100644 index 000000000..b3225238f --- /dev/null +++ b/webapp/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/webapp/coverage/lcov-report/reducers/apiRequest/index.html b/webapp/coverage/lcov-report/reducers/apiRequest/index.html new file mode 100644 index 000000000..6530ef107 --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/apiRequest/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for reducers/apiRequest + + + + + + + + + +
+
+

All files reducers/apiRequest

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%6/6100%0/0100%3/3100%5/5
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/apiRequest/index.ts.html b/webapp/coverage/lcov-report/reducers/apiRequest/index.ts.html new file mode 100644 index 000000000..226988d26 --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/apiRequest/index.ts.html @@ -0,0 +1,157 @@ + + + + + + Code coverage report for reducers/apiRequest/index.ts + + + + + + + + + +
+
+

All files / reducers/apiRequest index.ts

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25  +  +  +  +7x +  +  +  +7x +  +  +  +  +1x +  +  +3x +  +  +  +  +7x +  +  + 
import {createSlice, PayloadAction} from '@reduxjs/toolkit';
+ 
+import {ApiRequestCompletionState} from 'types/common/store.d';
+ 
+const initialState: ApiRequestCompletionState = {
+    requests: [],
+};
+ 
+export const apiRequestCompletionSlice = createSlice({
+    name: 'globalApiRequestSlice',
+    initialState,
+    reducers: {
+        setApiRequestCompletionState: (state: ApiRequestCompletionState, action: PayloadAction<PluginApiServiceName>) => {
+            state.requests = [...state.requests, action.payload];
+        },
+        resetApiRequestCompletionState: (state: ApiRequestCompletionState, action: PayloadAction<PluginApiServiceName>) => {
+            state.requests = state.requests.filter((request) => request !== action.payload);
+        },
+    },
+});
+ 
+export const {setApiRequestCompletionState, resetApiRequestCompletionState} = apiRequestCompletionSlice.actions;
+ 
+export default apiRequestCompletionSlice.reducer;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/connectedState/index.html b/webapp/coverage/lcov-report/reducers/connectedState/index.html new file mode 100644 index 000000000..6c2fcce26 --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/connectedState/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for reducers/connectedState + + + + + + + + + +
+
+

All files reducers/connectedState

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%7/7100%0/0100%1/1100%7/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/connectedState/index.ts.html b/webapp/coverage/lcov-report/reducers/connectedState/index.ts.html new file mode 100644 index 000000000..2f9ad5d2e --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/connectedState/index.ts.html @@ -0,0 +1,166 @@ + + + + + + Code coverage report for reducers/connectedState/index.ts + + + + + + + + + +
+
+

All files / reducers/connectedState index.ts

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28  +  +  +  +3x +  +  +  +  +  +  +3x +  +  +  +  +1x +1x +1x +1x +  +  +  +  +3x +  +  + 
import {createSlice, PayloadAction} from '@reduxjs/toolkit';
+ 
+import {ConnectedState} from 'types/common/store.d';
+ 
+const initialState: ConnectedState = {
+    connected: false,
+    isAlreadyConnected: false,
+    username: '',
+    msteamsUserId: '',
+};
+ 
+export const connectedStateSlice = createSlice({
+    name: 'connectedStateSlice',
+    initialState,
+    reducers: {
+        setConnected: (state: ConnectedState, action: PayloadAction<ConnectedState>) => {
+            state.connected = action.payload.connected;
+            state.isAlreadyConnected = action.payload.isAlreadyConnected;
+            state.username = action.payload.username;
+            state.msteamsUserId = action.payload.msteamsUserId;
+        },
+    },
+});
+ 
+export const {setConnected} = connectedStateSlice.actions;
+ 
+export default connectedStateSlice.reducer;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/dialog/index.html b/webapp/coverage/lcov-report/reducers/dialog/index.html new file mode 100644 index 000000000..369e8c8ad --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/dialog/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for reducers/dialog + + + + + + + + + +
+
+

All files reducers/dialog

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%11/11100%0/0100%2/2100%11/11
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/dialog/index.ts.html b/webapp/coverage/lcov-report/reducers/dialog/index.ts.html new file mode 100644 index 000000000..df5d30498 --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/dialog/index.ts.html @@ -0,0 +1,196 @@ + + + + + + Code coverage report for reducers/dialog/index.ts + + + + + + + + + +
+
+

All files / reducers/dialog index.ts

+
+ +
+ 100% + Statements + 11/11 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 11/11 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38  +  +  +  +6x +  +  +  +  +  +  +  +  +  +6x +  +  +  +  +1x +1x +1x +1x +1x +1x +1x +  +  +1x +  +  +  +  +  +6x +  +  + 
import {PayloadAction, createSlice} from '@reduxjs/toolkit';
+ 
+import {DialogState} from 'types/common/store.d';
+ 
+const initialState: DialogState = {
+    description: '',
+    destructive: false,
+    show: false,
+    primaryButtonText: '',
+    secondaryButtonText: '',
+    isLoading: false,
+    title: '',
+};
+ 
+export const dialogSlice = createSlice({
+    name: 'dialogSlice',
+    initialState,
+    reducers: {
+        showDialog: (state, {payload}: PayloadAction<DialogState>) => {
+            state.show = true;
+            state.description = payload.description;
+            state.destructive = payload.destructive;
+            state.isLoading = payload.isLoading;
+            state.primaryButtonText = payload.primaryButtonText;
+            state.secondaryButtonText = payload.secondaryButtonText;
+            state.title = payload.title;
+        },
+        closeDialog: (state) => {
+            state.show = false;
+        },
+ 
+    },
+});
+ 
+export const {showDialog, closeDialog} = dialogSlice.actions;
+ 
+export default dialogSlice.reducer;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/index.html b/webapp/coverage/lcov-report/reducers/index.html new file mode 100644 index 000000000..6b85fe850 --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for reducers + + + + + + + + + +
+
+

All files reducers

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
0%0/00%0/00%0/00%0/0
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/index.ts.html b/webapp/coverage/lcov-report/reducers/index.ts.html new file mode 100644 index 000000000..cd860dbf0 --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/index.ts.html @@ -0,0 +1,139 @@ + + + + + + Code coverage report for reducers/index.ts + + + + + + + + + +
+
+

All files / reducers index.ts

+
+ +
+ 0% + Statements + 0/0 +
+ + +
+ 0% + Branches + 0/0 +
+ + +
+ 0% + Functions + 0/0 +
+ + +
+ 0% + Lines + 0/0 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
import {combineReducers} from 'redux';
+ 
+import {msTeamsPluginApi} from 'services';
+ 
+import apiRequestCompletionSlice from 'reducers/apiRequest';
+import connectedStateSlice from 'reducers/connectedState';
+import snackbarSlice from 'reducers/snackbar';
+import dialogSlice from 'reducers/dialog';
+import rhsLoadingSlice from 'reducers/spinner';
+ 
+export default combineReducers({
+    apiRequestCompletionSlice,
+    connectedStateSlice,
+    snackbarSlice,
+    dialogSlice,
+    rhsLoadingSlice,
+    [msTeamsPluginApi.reducerPath]: msTeamsPluginApi.reducer,
+});
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/snackbar/index.html b/webapp/coverage/lcov-report/reducers/snackbar/index.html new file mode 100644 index 000000000..293370f1e --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/snackbar/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for reducers/snackbar + + + + + + + + + +
+
+

All files reducers/snackbar

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%7/7100%0/0100%2/2100%7/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/snackbar/index.ts.html b/webapp/coverage/lcov-report/reducers/snackbar/index.ts.html new file mode 100644 index 000000000..c302a3e34 --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/snackbar/index.ts.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for reducers/snackbar/index.ts + + + + + + + + + +
+
+

All files / reducers/snackbar index.ts

+
+ +
+ 100% + Statements + 7/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 7/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29  +  +  +  +6x +  +  +  +  +  +6x +  +  +  +  +1x +1x +1x +  +  +1x +  +  +  +  +6x +  +  + 
import {PayloadAction, createSlice} from '@reduxjs/toolkit';
+ 
+import {SnackbarActionPayload, SnackbarState} from 'types/common/store.d';
+ 
+const initialState: SnackbarState = {
+    message: '',
+    severity: 'default',
+    isOpen: false,
+};
+ 
+export const snackbarSlice = createSlice({
+    name: 'snackbarState',
+    initialState,
+    reducers: {
+        showAlert: (state, {payload}: PayloadAction<SnackbarActionPayload>) => {
+            state.message = payload.message;
+            state.severity = payload.severity;
+            state.isOpen = true;
+        },
+        closeAlert: (state) => {
+            state.isOpen = false;
+        },
+    },
+});
+ 
+export const {showAlert, closeAlert} = snackbarSlice.actions;
+ 
+export default snackbarSlice.reducer;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/spinner/index.html b/webapp/coverage/lcov-report/reducers/spinner/index.html new file mode 100644 index 000000000..664a39afa --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/spinner/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for reducers/spinner + + + + + + + + + +
+
+

All files reducers/spinner

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
index.ts +
+
100%4/4100%0/0100%1/1100%4/4
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/spinner/index.ts.html b/webapp/coverage/lcov-report/reducers/spinner/index.ts.html new file mode 100644 index 000000000..05a976450 --- /dev/null +++ b/webapp/coverage/lcov-report/reducers/spinner/index.ts.html @@ -0,0 +1,142 @@ + + + + + + Code coverage report for reducers/spinner/index.ts + + + + + + + + + +
+
+

All files / reducers/spinner index.ts

+
+ +
+ 100% + Statements + 4/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 4/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20  +  +1x +  +  +  +1x +  +  +  +  +1x +  +  +  +  +1x +  +  + 
import {PayloadAction, createSlice} from '@reduxjs/toolkit';
+ 
+const initialState: {isRhsLoading: boolean} = {
+    isRhsLoading: false,
+};
+ 
+export const rhsLoadingSlice = createSlice({
+    name: 'rhsLoadingSlice',
+    initialState,
+    reducers: {
+        setIsRhsLoading: (state, {payload}: PayloadAction<boolean>) => {
+            state.isRhsLoading = payload;
+        },
+    },
+});
+ 
+export const {setIsRhsLoading} = rhsLoadingSlice.actions;
+ 
+export default rhsLoadingSlice.reducer;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/webapp/coverage/lcov-report/sort-arrow-sprite.png b/webapp/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed68316eb3f65dec9063332d2f69bf3093bbfab GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc literal 0 HcmV?d00001 diff --git a/webapp/coverage/lcov-report/sorter.js b/webapp/coverage/lcov-report/sorter.js new file mode 100644 index 000000000..2bb296a8c --- /dev/null +++ b/webapp/coverage/lcov-report/sorter.js @@ -0,0 +1,196 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + if ( + row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()) + ) { + row.style.display = ''; + } else { + row.style.display = 'none'; + } + } + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/webapp/coverage/lcov.info b/webapp/coverage/lcov.info new file mode 100644 index 000000000..ede1e1df1 --- /dev/null +++ b/webapp/coverage/lcov.info @@ -0,0 +1,577 @@ +TN: +SF:src/components/appManifestSetting.tsx +FN:12,(anonymous_0) +FN:16,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:12,0 +DA:13,0 +DA:17,0 +DA:39,0 +LF:4 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/enforceConnectedAccountModal.tsx +FN:10,EnforceConnectedAccountModal +FN:17,(anonymous_1) +FN:21,(anonymous_2) +FN:25,(anonymous_3) +FN:34,(anonymous_4) +FN:50,(anonymous_5) +FN:58,(anonymous_6) +FN:62,(anonymous_7) +FN:68,(anonymous_8) +FNF:9 +FNH:0 +FNDA:0,EnforceConnectedAccountModal +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:21,0 +DA:22,0 +DA:25,0 +DA:26,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:48,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:58,0 +DA:59,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:76,0 +DA:77,0 +DA:80,0 +LF:40 +LH:0 +BRDA:35,0,0,0 +BRDA:35,0,1,0 +BRDA:37,1,0,0 +BRDA:37,1,1,0 +BRDA:40,2,0,0 +BRDA:40,2,1,0 +BRDA:51,3,0,0 +BRDA:51,3,1,0 +BRDA:64,4,0,0 +BRDA:64,4,1,0 +BRDA:69,5,0,0 +BRDA:69,5,1,0 +BRDA:76,6,0,0 +BRDA:76,6,1,0 +BRDA:84,7,0,0 +BRDA:84,7,1,0 +BRDA:85,8,0,0 +BRDA:85,8,1,0 +BRDA:93,9,0,0 +BRDA:93,9,1,0 +BRDA:94,10,0,0 +BRDA:94,10,1,0 +BRDA:94,10,2,0 +BRF:23 +BRH:0 +end_of_record +TN: +SF:src/components/getConnectedUsersSetting.tsx +FN:8,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:8,0 +DA:9,0 +DA:29,0 +LF:3 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/Dialog/Dialog.component.tsx +FN:10,(anonymous_0) +FN:15,(anonymous_1) +FN:24,(anonymous_2) +FNF:3 +FNH:3 +FNDA:8,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:1,(anonymous_2) +DA:10,5 +DA:11,8 +DA:12,8 +DA:13,8 +DA:15,8 +DA:17,8 +DA:25,1 +DA:26,1 +LF:8 +LH:8 +BRDA:32,0,0,8 +BRDA:32,0,1,8 +BRF:2 +BRH:2 +end_of_record +TN: +SF:src/components/Icon/Icon.component.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:34,(anonymous_0) +DA:6,8 +DA:7,34 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/Icon/Icon.map.tsx +FNF:0 +FNH:0 +DA:5,8 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/LinkedChannelCard/LinkedChannelCard.component.tsx +FN:9,(anonymous_0) +FNF:1 +FNH:1 +FNDA:2,(anonymous_0) +DA:9,5 +DA:10,2 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/RhsTitle/RhsTitle.component.tsx +FN:6,(anonymous_0) +FNF:1 +FNH:1 +FNDA:1,(anonymous_0) +DA:6,5 +DA:7,1 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/components/Snackbar/Snackbar.component.tsx +FN:16,(anonymous_0) +FN:22,(anonymous_1) +FN:24,(anonymous_2) +FN:26,(anonymous_3) +FN:32,(anonymous_4) +FNF:5 +FNH:4 +FNDA:6,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:6,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:6,(anonymous_4) +DA:16,5 +DA:17,6 +DA:18,6 +DA:19,6 +DA:20,6 +DA:22,6 +DA:24,6 +DA:25,6 +DA:26,6 +DA:28,0 +DA:32,6 +DA:33,6 +DA:37,6 +DA:43,6 +DA:49,6 +LF:15 +LH:14 +BRDA:25,0,0,6 +BRDA:25,0,1,0 +BRF:2 +BRH:1 +end_of_record +TN: +SF:src/components/WarningCard/WarningCard.component.tsx +FN:10,(anonymous_0) +FNF:1 +FNH:1 +FNDA:5,(anonymous_0) +DA:10,5 +DA:11,5 +LF:2 +LH:2 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/containers/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/containers/Rhs/Rhs.container.tsx +FN:18,(anonymous_0) +FN:34,(anonymous_1) +FNF:2 +FNH:2 +FNDA:3,(anonymous_0) +FNDA:2,(anonymous_1) +DA:18,1 +DA:19,3 +DA:20,3 +DA:21,3 +DA:23,3 +DA:25,3 +DA:26,3 +DA:28,3 +DA:32,3 +DA:34,3 +DA:35,2 +DA:36,0 +DA:43,2 +DA:44,0 +DA:47,2 +DA:48,0 +DA:51,2 +DA:52,2 +DA:55,0 +DA:58,2 +LF:20 +LH:16 +BRDA:35,0,0,0 +BRDA:35,0,1,2 +BRDA:43,1,0,0 +BRDA:43,1,1,2 +BRDA:43,2,0,2 +BRDA:43,2,1,0 +BRDA:47,3,0,0 +BRDA:47,3,1,2 +BRDA:47,4,0,2 +BRDA:47,4,1,0 +BRDA:51,5,0,2 +BRDA:51,5,1,0 +BRDA:51,6,0,2 +BRDA:51,6,1,2 +BRDA:61,7,0,2 +BRDA:61,7,1,0 +BRDA:64,8,0,2 +BRDA:64,8,1,2 +BRF:18 +BRH:11 +end_of_record +TN: +SF:src/containers/Rhs/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx +FN:12,(anonymous_0) +FN:16,(anonymous_1) +FN:22,(anonymous_2) +FN:43,(anonymous_3) +FNF:4 +FNH:3 +FNDA:3,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:6,(anonymous_3) +DA:12,2 +DA:13,3 +DA:14,3 +DA:16,3 +DA:17,1 +DA:20,3 +DA:23,0 +DA:27,3 +DA:44,6 +LF:9 +LH:8 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/containers/Rhs/views/ConnectAccount/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx +FN:16,(anonymous_0) +FN:23,(anonymous_1) +FN:29,(anonymous_2) +FN:36,(anonymous_3) +FN:43,(anonymous_4) +FN:52,(anonymous_5) +FN:84,(anonymous_6) +FNF:7 +FNH:3 +FNDA:8,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:0,(anonymous_4) +FNDA:6,(anonymous_5) +FNDA:1,(anonymous_6) +DA:16,2 +DA:17,8 +DA:18,8 +DA:19,8 +DA:21,8 +DA:23,8 +DA:24,0 +DA:27,6 +DA:30,0 +DA:34,6 +DA:37,0 +DA:38,0 +DA:39,0 +DA:44,0 +DA:48,0 +DA:52,6 +DA:53,6 +DA:54,0 +DA:55,0 +DA:59,6 +DA:84,1 +LF:21 +LH:12 +BRDA:53,0,0,0 +BRDA:53,0,1,6 +BRDA:53,1,0,6 +BRDA:53,1,1,6 +BRF:4 +BRH:3 +end_of_record +TN: +SF:src/containers/Rhs/views/ConnectedAccount/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx +FN:18,(anonymous_0) +FN:28,(anonymous_1) +FN:28,(anonymous_2) +FN:29,(anonymous_3) +FN:32,(anonymous_4) +FN:33,(anonymous_5) +FN:39,(anonymous_6) +FN:46,(anonymous_7) +FN:51,(anonymous_8) +FN:79,(anonymous_9) +FNF:10 +FNH:6 +FNDA:3,(anonymous_0) +FNDA:3,(anonymous_1) +FNDA:3,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:3,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:1,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:3,(anonymous_8) +FNDA:0,(anonymous_9) +DA:18,2 +DA:20,3 +DA:21,3 +DA:22,3 +DA:28,3 +DA:29,3 +DA:32,3 +DA:33,3 +DA:34,0 +DA:35,0 +DA:39,3 +DA:40,1 +DA:46,3 +DA:47,0 +DA:51,3 +DA:52,3 +DA:55,3 +DA:80,0 +LF:18 +LH:14 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts +FNF:0 +FNH:0 +DA:1,2 +LF:1 +LH:1 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/containers/Rhs/views/LinkedChannels/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/reducers/index.ts +FNF:0 +FNH:0 +LF:0 +LH:0 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/reducers/apiRequest/index.ts +FN:13,(anonymous_0) +FN:16,(anonymous_1) +FN:17,(anonymous_2) +FNF:3 +FNH:3 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +FNDA:3,(anonymous_2) +DA:5,7 +DA:9,7 +DA:14,1 +DA:17,3 +DA:22,7 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/reducers/connectedState/index.ts +FN:16,(anonymous_0) +FNF:1 +FNH:1 +FNDA:1,(anonymous_0) +DA:5,3 +DA:12,3 +DA:17,1 +DA:18,1 +DA:19,1 +DA:20,1 +DA:25,3 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/reducers/dialog/index.ts +FN:19,(anonymous_0) +FN:28,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:5,6 +DA:15,6 +DA:20,1 +DA:21,1 +DA:22,1 +DA:23,1 +DA:24,1 +DA:25,1 +DA:26,1 +DA:29,1 +DA:35,6 +LF:11 +LH:11 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/reducers/snackbar/index.ts +FN:15,(anonymous_0) +FN:20,(anonymous_1) +FNF:2 +FNH:2 +FNDA:1,(anonymous_0) +FNDA:1,(anonymous_1) +DA:5,6 +DA:11,6 +DA:16,1 +DA:17,1 +DA:18,1 +DA:21,1 +DA:26,6 +LF:7 +LH:7 +BRF:0 +BRH:0 +end_of_record +TN: +SF:src/reducers/spinner/index.ts +FN:11,(anonymous_0) +FNF:1 +FNH:1 +FNDA:1,(anonymous_0) +DA:3,1 +DA:7,1 +DA:12,1 +DA:17,1 +LF:4 +LH:4 +BRF:0 +BRH:0 +end_of_record diff --git a/webapp/src/App.tsx b/webapp/src/App.tsx index 4fbe1d38a..17ac26334 100644 --- a/webapp/src/App.tsx +++ b/webapp/src/App.tsx @@ -22,11 +22,8 @@ const App = (): JSX.Element => { const {makeApiRequestWithCompletionStatus, getApiState} = usePluginApi(); useEffect(() => { - const linkedChannelsParams: SearchLinkedChannelParams = {page: defaultPage, per_page: defaultPerPage}; - makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.whitelistUser.apiServiceName); makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.needsConnect.apiServiceName); - makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.getLinkedChannels.apiServiceName, linkedChannelsParams); }, []); const {data: needsConnectData, isLoading} = getApiState(pluginApiServiceConfigs.needsConnect.apiServiceName); diff --git a/webapp/src/components/Icon/Icon.map.tsx b/webapp/src/components/Icon/Icon.map.tsx index 610034619..c77a389f8 100644 --- a/webapp/src/components/Icon/Icon.map.tsx +++ b/webapp/src/components/Icon/Icon.map.tsx @@ -447,4 +447,19 @@ export const IconMap : Record = { /> ), + lock: ( + + + + ), }; diff --git a/webapp/src/components/Icon/Icon.types.ts b/webapp/src/components/Icon/Icon.types.ts index a7ec642e2..f6407fdfb 100644 --- a/webapp/src/components/Icon/Icon.types.ts +++ b/webapp/src/components/Icon/Icon.types.ts @@ -1,4 +1,4 @@ -export type IconName = 'user' | 'message' | 'connectAccount' | 'warning' | 'close' | 'globe' | 'msTeams' | 'link' | 'noChannels' | 'tick' +export type IconName = 'user' | 'message' | 'connectAccount' | 'warning' | 'close' | 'globe' | 'msTeams' | 'link' | 'noChannels' | 'tick' | 'lock' export type IconProps = { iconName: IconName; diff --git a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx index 5094c2661..59f0a4fa2 100644 --- a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx +++ b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx @@ -1,27 +1,50 @@ import React from 'react'; +import {Tooltip} from '@brightscout/mattermost-ui-library'; + +import {General as MMConstants} from 'mattermost-redux/constants'; + import {Icon} from 'components/Icon'; import {LinkedChannelCardProps} from './LinkedChannelCard.types'; import './LinkedChannelCard.styles.scss'; -export const LinkedChannelCard = ({msTeamsChannelName, msTeamsTeamName, mattermostChannelName, mattermostTeamName}: LinkedChannelCardProps) => ( +export const LinkedChannelCard = ({msTeamsChannelName, msTeamsTeamName, mattermostChannelName, mattermostTeamName, mattermostChannelType}: LinkedChannelCardProps) => (
-
+
- {/* TODO: Update icon on basis of channel type */} - -
{mattermostChannelName}
-
{mattermostTeamName}
+ {mattermostChannelType === MMConstants.PRIVATE_CHANNEL ? : } + +
{mattermostChannelName}
+
+ +
{mattermostTeamName}
+
-
{msTeamsChannelName}
-
{msTeamsTeamName}
+ +
{msTeamsChannelName}
+
+ +
{msTeamsTeamName}
+
diff --git a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss index 0191fcf5e..643af210c 100644 --- a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss +++ b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss @@ -26,5 +26,17 @@ width: 10px; } } + + &__body { + width: 95%; + } + + &__body-values { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 45%; + line-height: inherit; + } } } diff --git a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.types.ts b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.types.ts index f1ec1ff95..7366df2a7 100644 --- a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.types.ts +++ b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.types.ts @@ -1,3 +1,3 @@ -export type LinkedChannelCardProps = Pick & { +export type LinkedChannelCardProps = Pick & { channelId: string } diff --git a/webapp/src/components/enforceConnectedAccountModal.tsx b/webapp/src/components/enforceConnectedAccountModal.tsx index 5769d2cb0..00e15470e 100644 --- a/webapp/src/components/enforceConnectedAccountModal.tsx +++ b/webapp/src/components/enforceConnectedAccountModal.tsx @@ -22,10 +22,6 @@ export default function EnforceConnectedAccountModal() { makeApiRequestWithCompletionStatus(Constants.pluginApiServiceConfigs.connect.apiServiceName); }, []); - useEffect(() => { - makeApiRequestWithCompletionStatus(Constants.pluginApiServiceConfigs.needsConnect.apiServiceName); - }, []); - const {data: needsConnectData} = getApiState(Constants.pluginApiServiceConfigs.needsConnect.apiServiceName); const {data: connectData} = getApiState(Constants.pluginApiServiceConfigs.connect.apiServiceName); diff --git a/webapp/src/constants/common.constants.ts b/webapp/src/constants/common.constants.ts index e41725771..4bcc23152 100644 --- a/webapp/src/constants/common.constants.ts +++ b/webapp/src/constants/common.constants.ts @@ -8,6 +8,8 @@ export const defaultPage = 0; export const defaultPerPage = 20; +export const debounceFunctionTimeLimit = 500; + // Severity used in alert component export const alertSeverity: Record = { success: 'success', diff --git a/webapp/src/containers/Rhs/Rhs.container.tsx b/webapp/src/containers/Rhs/Rhs.container.tsx index 1f577d31c..567c820eb 100644 --- a/webapp/src/containers/Rhs/Rhs.container.tsx +++ b/webapp/src/containers/Rhs/Rhs.container.tsx @@ -1,37 +1,157 @@ -import React, {useCallback, useMemo} from 'react'; +import React, {useCallback, useEffect, useMemo, useState} from 'react'; +import InfiniteScroll from 'react-infinite-scroll-component'; +import {useDispatch} from 'react-redux'; -import {Spinner} from '@brightscout/mattermost-ui-library'; +import {Button, Input, Spinner} from '@brightscout/mattermost-ui-library'; +import {Icon, IconName, LinkedChannelCard, Snackbar, WarningCard} from 'components'; import {pluginApiServiceConfigs} from 'constants/apiService.constant'; - +import {debounceFunctionTimeLimit, defaultPage, defaultPerPage} from 'constants/common.constants'; +import Constants from 'constants/connectAccount.constants'; +import {channelListTitle, noMoreChannelsText} from 'constants/linkedChannels.constants'; +import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState'; +import useAlert from 'hooks/useAlert'; +import useDialog from 'hooks/useDialog'; import usePluginApi from 'hooks/usePluginApi'; - +import usePreviousState from 'hooks/usePreviousState'; import {getConnectedState, getIsRhsLoading, getSnackbarState} from 'selectors'; +import {setConnected} from 'reducers/connectedState'; +import utils from 'utils'; -import {Snackbar} from 'components'; - -import {ConnectAccount} from './views/ConnectAccount'; -import {LinkedChannels} from './views/LinkedChannels'; -import {ConnectedAccount} from './views/ConnectedAccount'; +import './Rhs.styles.scss'; -// TODO: update component later export const Rhs = () => { - const {state, getApiState} = usePluginApi(); - const {connected} = getConnectedState(state); - const {isRhsLoading} = getIsRhsLoading(state); + const {makeApiRequestWithCompletionStatus, getApiState, state} = usePluginApi(); - const {isOpen} = getSnackbarState(state); + // state variables + const [totalLinkedChannels, setTotalLinkedChannels] = useState([]); + const [paginationQueryParams, setPaginationQueryParams] = useState({ + page: defaultPage, + per_page: defaultPerPage, + }); + const [getLinkedChannelsParams, setGetLinkedChannelsParams] = useState({...paginationQueryParams}); + const {connected, msteamsUserId, username, isAlreadyConnected} = getConnectedState(state); + const [searchLinkedChannelsText, setSearchLinkedChannelsText] = useState(''); + const [firstRender, setFirstRender] = useState(true); - const {data} = getApiState(pluginApiServiceConfigs.whitelistUser.apiServiceName); - const {data: linkedChannels} = getApiState(pluginApiServiceConfigs.getLinkedChannels.apiServiceName); + const previousState = usePreviousState({searchLinkedChannelsText}); + + const dispatch = useDispatch(); + const showAlert = useAlert(); + + // Increase the page number by 1 + const handlePagination = () => { + setPaginationQueryParams({...paginationQueryParams, page: paginationQueryParams.page + 1, + }); + }; + + // Make api call to connect user account + const connectAccount = useCallback(() => { + makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.connect.apiServiceName); + }, []); + // Make api call to disconnect user account + const disconnectUser = useCallback(() => { + makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.disconnectUser.apiServiceName); + }, []); + + // Reset the pagination params and empty the subscription list + const resetStates = useCallback(() => { + setPaginationQueryParams({page: defaultPage, per_page: defaultPerPage}); + setTotalLinkedChannels([]); + }, []); + + // Check if more linked channels are present after the current page + const hasMoreLinkedChannels = useMemo(() => ( + (totalLinkedChannels.length - (paginationQueryParams.page * defaultPerPage) === defaultPerPage) + ), [totalLinkedChannels]); + + // Show disconnect dialog component + const {DialogComponent, showDialog, hideDialog} = useDialog({ + onSubmitHandler: disconnectUser, + onCloseHandler: () => { + hideDialog(); + }, + }); + + const {isRhsLoading} = getIsRhsLoading(state); + const {isOpen} = getSnackbarState(state); + const {data} = getApiState(pluginApiServiceConfigs.whitelistUser.apiServiceName); const {presentInWhitelist} = data as WhitelistUserResponse; + const {data: linkedChannels, isLoading} = getApiState(pluginApiServiceConfigs.getLinkedChannels.apiServiceName, getLinkedChannelsParams as SearchLinkedChannelParams); - // NOTE: Commented out on purpose.This is part of Phase-II - // const isAnyChannelLinked = useMemo(() => Boolean((linkedChannels as ChannelLinkData[])?.length), [linkedChannels]); - const isAnyChannelLinked = false; + // Handle searching of linked channels with debounce + useEffect(() => { + if (firstRender) { + return; + } + const timer = setTimeout(() => { + resetStates(); + }, debounceFunctionTimeLimit); + + /* eslint-disable consistent-return */ + return () => { + clearTimeout(timer); + }; + }, [searchLinkedChannelsText]); + + // Make api call to get linked channels + useEffect(() => { + const linkedChannelsParams: SearchLinkedChannelParams = {page: paginationQueryParams.page, per_page: paginationQueryParams.per_page}; + if (searchLinkedChannelsText) { + linkedChannelsParams.search = searchLinkedChannelsText; + } + + setGetLinkedChannelsParams(linkedChannelsParams); + makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.getLinkedChannels.apiServiceName, linkedChannelsParams); + }, [paginationQueryParams]); + + // Update connected reducer and show alert on successful connection of the user + useEffect(() => { + if (connected && !isAlreadyConnected) { + showAlert({message: 'Your account is connected successfully.', severity: 'default'}); + dispatch(setConnected({connected, msteamsUserId, username, isAlreadyConnected: true})); + } + }, [connected, isAlreadyConnected]); + + // Update total linked channels after completion of the api to get linked channels + useApiRequestCompletionState({ + serviceName: pluginApiServiceConfigs.getLinkedChannels.apiServiceName, + payload: getLinkedChannelsParams as SearchLinkedChannelParams, + handleSuccess: () => { + if (linkedChannels) { + setTotalLinkedChannels([...totalLinkedChannels, ...(linkedChannels as ChannelLinkData[])]); + } + if (firstRender && !paginationQueryParams.page) { + setFirstRender(false); + } + }, + }); + + // Disconnect user and show alerts on completion of the api to disconnect user + useApiRequestCompletionState({ + serviceName: pluginApiServiceConfigs.disconnectUser.apiServiceName, + handleSuccess: () => { + dispatch(setConnected({connected: false, username: '', msteamsUserId: '', isAlreadyConnected: false})); + hideDialog(); + showAlert({ + message: 'Your account has been disconnected.', + severity: 'default', + }); + }, + handleError: () => { + showAlert({ + message: 'Error occurred while disconnecting the user.', + severity: 'error', + }); + hideDialog(); + }, + }); + + // Get different states of rhs const getRhsView = useCallback(() => { + // Show spinner in the rhs during loading if (isRhsLoading) { return (
@@ -40,20 +160,158 @@ export const Rhs = () => { ); } - if (!connected && !isAnyChannelLinked) { - return ; - } - - if (!connected && isAnyChannelLinked) { - return ; + // Rhs state when user is disconnected and no linked channels are present + if (!connected && !totalLinkedChannels.length && !searchLinkedChannelsText && !isLoading) { +
+
+
+ +

{Constants.connectAccountMsg}

+
+ +
+
+
+
{Constants.listTitle}
+
    + {Constants.connectAccountFeatures.map(({icon, text}) => ( +
  • + +
    {text}
    +
  • + )) } +
+
+
; } - if (connected && !isAnyChannelLinked) { - return ; - } + /** + * Rhs state for the following views: + * user is disconnected and linked channels are present + * user is connected and no linked channels are present + * user is connected and linked channels are present + */ + return ( +
+ {connected ? ( +
+ {/* TODO: Refactor user Avatar */} +
+ +
- return <>; - }, [linkedChannels, connected, isRhsLoading]); +
+
{'Connected as '}{username}
+ +
+ +
+ ) : ( +
+ +
+ )} + {/* Show spinner during the first load of the linked channels. */} + {isLoading && firstRender && ( + + )} + {/* State when user is connected, but no linked channels are present. */} + {!totalLinkedChannels.length && !isLoading && !previousState?.searchLinkedChannelsText && ( +
+ {<> + +

{'There are no linked channels yet'}

+ } +
+ )} + {/* State when user is conected and linked channels are present. */} + {((Boolean(totalLinkedChannels.length) && !isLoading) || !firstRender) && ( + <> +

{channelListTitle}

+
+ ) => setSearchLinkedChannelsText(e.target.value)} + onClose={() => setSearchLinkedChannelsText('')} + /> +
+ {/* Show a spinner while searching for a specific linked channel. */} + {isLoading && !paginationQueryParams.page ? ( + + ) : ( +
+ } + endMessage={ +

+ {noMoreChannelsText} +

+ } + scrollableTarget='scrollableArea' + > + {totalLinkedChannels.map(({msTeamsChannelID, ...rest}) => ( + + )) + } +
+
+ )} + + )} +
+ ); + }, [connected, isRhsLoading, isLoading, totalLinkedChannels, firstRender, searchLinkedChannelsText]); return ( <> diff --git a/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.styles.scss b/webapp/src/containers/Rhs/Rhs.styles.scss similarity index 100% rename from webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.styles.scss rename to webapp/src/containers/Rhs/Rhs.styles.scss diff --git a/webapp/src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx b/webapp/src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx deleted file mode 100644 index 8c56be765..000000000 --- a/webapp/src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React, {useCallback} from 'react'; - -import {Button} from '@brightscout/mattermost-ui-library'; - -import Constants from 'constants/connectAccount.constants'; -import {Icon, IconName} from 'components'; -import usePluginApi from 'hooks/usePluginApi'; -import {pluginApiServiceConfigs} from 'constants/apiService.constant'; -import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState'; -import useAlert from 'hooks/useAlert'; - -export const ConnectAccount = () => { - const showAlert = useAlert(); - const {makeApiRequestWithCompletionStatus} = usePluginApi(); - - const connectAccount = useCallback(() => { - makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.connect.apiServiceName); - }, []); - - useApiRequestCompletionState({ - serviceName: pluginApiServiceConfigs.connect.apiServiceName, - handleError: () => { - showAlert({message: Constants.connectAccountUnsuccessfulMsg, severity: 'error'}); - }, - }); - - return ( -
-
-
- -

{Constants.connectAccountMsg}

-
- -
-
-
-
{Constants.listTitle}
-
    - {Constants.connectAccountFeatures.map(({icon, text}) => ( -
  • - -
    {text}
    -
  • - )) } -
-
-
- ); -}; diff --git a/webapp/src/containers/Rhs/views/ConnectAccount/index.ts b/webapp/src/containers/Rhs/views/ConnectAccount/index.ts deleted file mode 100644 index 180022dab..000000000 --- a/webapp/src/containers/Rhs/views/ConnectAccount/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {ConnectAccount} from './ConnectAccount.container'; diff --git a/webapp/src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx b/webapp/src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx deleted file mode 100644 index 99e9fb697..000000000 --- a/webapp/src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx +++ /dev/null @@ -1,103 +0,0 @@ -import React, {useCallback, useEffect} from 'react'; -import {useDispatch} from 'react-redux'; - -import {Button} from '@brightscout/mattermost-ui-library'; - -import usePluginApi from 'hooks/usePluginApi'; -import {pluginApiServiceConfigs} from 'constants/apiService.constant'; -import useDialog from 'hooks/useDialog'; -import useAlert from 'hooks/useAlert'; -import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState'; -import {setConnected} from 'reducers/connectedState'; -import {getConnectedState} from 'selectors'; - -import utils from 'utils'; - -export const ConnectedAccount = () => { - const dispatch = useDispatch(); - const {makeApiRequestWithCompletionStatus, state} = usePluginApi(); - const {username, isAlreadyConnected, msteamsUserId, connected} = getConnectedState(state); - - const showAlert = useAlert(); - - const disconnectUser = useCallback(() => { - makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.disconnectUser.apiServiceName); - }, []); - - const {DialogComponent, showDialog, hideDialog} = useDialog({ - onSubmitHandler: disconnectUser, - onCloseHandler: () => { - hideDialog(); - }, - }); - - useApiRequestCompletionState({ - serviceName: pluginApiServiceConfigs.disconnectUser.apiServiceName, - handleSuccess: () => { - dispatch(setConnected({connected: false, username: '', msteamsUserId: '', isAlreadyConnected: false})); - hideDialog(); - showAlert({ - message: 'Your account has been disconnected.', - }); - }, - handleError: () => { - showAlert({ - message: 'Error occurred while disconnecting the user.', - severity: 'error', - }); - hideDialog(); - }, - }); - - useEffect(() => { - if (connected && !isAlreadyConnected) { - showAlert({message: 'Your account is connected successfully.'}); - dispatch(setConnected({connected, msteamsUserId, username, isAlreadyConnected: true})); - } - }, [connected, isAlreadyConnected]); - - return ( -
-
- {/* TODO: Refactor user Avatar */} -
- -
-
-
{'Connected as '}{username}
- -
-
-
- {/* NOTE: Part of Phase-II */} - {/* -

{'There are no linked channels yet'}

*/} -
- -
- ); -}; diff --git a/webapp/src/containers/Rhs/views/ConnectedAccount/index.ts b/webapp/src/containers/Rhs/views/ConnectedAccount/index.ts deleted file mode 100644 index 690b72e57..000000000 --- a/webapp/src/containers/Rhs/views/ConnectedAccount/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {ConnectedAccount} from './ConnectedAccount.container'; diff --git a/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx b/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx deleted file mode 100644 index 0e6b0e345..000000000 --- a/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import React, {useCallback, useEffect, useMemo, useState} from 'react'; -import InfiniteScroll from 'react-infinite-scroll-component'; - -import {Spinner} from '@brightscout/mattermost-ui-library'; - -import {WarningCard, LinkedChannelCard} from 'components'; -import usePluginApi from 'hooks/usePluginApi'; -import {pluginApiServiceConfigs} from 'constants/apiService.constant'; - -import {defaultPage, defaultPerPage} from 'constants/common.constants'; - -import {channelListTitle, noMoreChannelsText} from 'constants/linkedChannels.constants'; - -import {mockLinkedChannels} from './LinkedChannels.mock'; - -import './LinkedChannels.styles.scss'; - -export const LinkedChannels = () => { - // TODO: Add Linked channel list - const {makeApiRequestWithCompletionStatus} = usePluginApi(); - const [totalLinkedChannels, setTotalLinkedChannels] = useState([]); - const [paginationQueryParams, setPaginationQueryParams] = useState({ - page: defaultPage, - per_page: defaultPerPage, - }); - - // TODO: Remove this part used for mocking API call for infinite scroll. - const getChannels = () => new Promise((res) => { - setTimeout(() => res(), 2000); - }); - - useEffect(() => { - getChannels().then(() => { - const linkedChannels = mockLinkedChannels.slice((paginationQueryParams.page * paginationQueryParams.per_page), (paginationQueryParams.page + 1) * paginationQueryParams.per_page); - setTotalLinkedChannels([...totalLinkedChannels, ...(linkedChannels as ChannelLinkData[])]); - }); - }, [paginationQueryParams]); - - const connectAccount = useCallback(() => { - makeApiRequestWithCompletionStatus( - pluginApiServiceConfigs.connect.apiServiceName, - ); - }, []); - - // Increase the page number by 1 - const handlePagination = () => { - setPaginationQueryParams({...paginationQueryParams, page: paginationQueryParams.page + 1, - }); - }; - - const hasMoreLinkedChannels = useMemo(() => ( - (totalLinkedChannels.length - (paginationQueryParams.page * defaultPerPage) === defaultPerPage) - ), [totalLinkedChannels]); - - return ( -
-
- -
-

{channelListTitle}

-
- } - endMessage={ -

- {noMoreChannelsText} -

- } - scrollableTarget='scrollableArea' - > - {totalLinkedChannels.map(({msTeamsChannelID, ...rest}) => ( - - )) - } -
-
-
- ); -}; diff --git a/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts b/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts deleted file mode 100644 index 7ab17db05..000000000 --- a/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts +++ /dev/null @@ -1,219 +0,0 @@ -export const mockLinkedChannels = [ - - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - { - msTeamsTeamID: 'string', - msTeamsTeamName: 'string', - msTeamsChannelID: 'string', - msTeamsChannelName: 'string', - mattermostTeamID: 'string', - mattermostTeamName: 'string', - mattermostChannelID: 'string', - mattermostChannelName: 'string', - mattermostChannelType: 'string', - msTeamsChannelType: 'string', - }, - -]; diff --git a/webapp/src/containers/Rhs/views/LinkedChannels/index.ts b/webapp/src/containers/Rhs/views/LinkedChannels/index.ts deleted file mode 100644 index 5f7fef6ec..000000000 --- a/webapp/src/containers/Rhs/views/LinkedChannels/index.ts +++ /dev/null @@ -1 +0,0 @@ -export {LinkedChannels} from './LinkedChannels.container'; diff --git a/webapp/src/hooks/usePreviousState.ts b/webapp/src/hooks/usePreviousState.ts new file mode 100644 index 000000000..04a9d7136 --- /dev/null +++ b/webapp/src/hooks/usePreviousState.ts @@ -0,0 +1,11 @@ +import {useEffect, useRef} from 'react'; + +function usePreviousState(value: Record) { + const ref = useRef>(); + useEffect(() => { + ref.current = value; + }, [value]); + return ref.current; +} + +export default usePreviousState; diff --git a/webapp/src/styles/_utils.scss b/webapp/src/styles/_utils.scss index a6dad31ca..d2a6a2adc 100644 --- a/webapp/src/styles/_utils.scss +++ b/webapp/src/styles/_utils.scss @@ -104,6 +104,14 @@ margin-top: 0; } +.pt-0 { + padding-top: 0 !important; +} + +.mt-10 { + margin-top: 10px; +} + .align-items-center { align-items: center; } From f2d7b57ea8e782c95e651922c8887a3a265c0717 Mon Sep 17 00:00:00 2001 From: ayusht2810 Date: Mon, 11 Dec 2023 19:50:25 +0530 Subject: [PATCH 02/10] [MI-3828] Fix issue of view not displaying correctly on disconnecting user --- webapp/src/containers/Rhs/Rhs.container.tsx | 60 +++++++++++---------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/webapp/src/containers/Rhs/Rhs.container.tsx b/webapp/src/containers/Rhs/Rhs.container.tsx index 567c820eb..d156b4f59 100644 --- a/webapp/src/containers/Rhs/Rhs.container.tsx +++ b/webapp/src/containers/Rhs/Rhs.container.tsx @@ -152,7 +152,7 @@ export const Rhs = () => { // Get different states of rhs const getRhsView = useCallback(() => { // Show spinner in the rhs during loading - if (isRhsLoading) { + if (isRhsLoading || (firstRender && isLoading)) { return (
@@ -161,34 +161,36 @@ export const Rhs = () => { } // Rhs state when user is disconnected and no linked channels are present - if (!connected && !totalLinkedChannels.length && !searchLinkedChannelsText && !isLoading) { -
-
-
- -

{Constants.connectAccountMsg}

+ if (!connected && !Boolean(totalLinkedChannels.length) && !searchLinkedChannelsText && !isLoading) { + return ( +
+
+
+ +

{Constants.connectAccountMsg}

+
+ +
+
+
+
{Constants.listTitle}
+
    + {Constants.connectAccountFeatures.map(({icon, text}) => ( +
  • + +
    {text}
    +
  • + ))} +
- -
-
-
-
{Constants.listTitle}
-
    - {Constants.connectAccountFeatures.map(({icon, text}) => ( -
  • - -
    {text}
    -
  • - )) } -
-
; + ); } /** @@ -251,7 +253,7 @@ export const Rhs = () => { /> )} {/* State when user is connected, but no linked channels are present. */} - {!totalLinkedChannels.length && !isLoading && !previousState?.searchLinkedChannelsText && ( + {!Boolean(totalLinkedChannels.length) && !isLoading && !searchLinkedChannelsText && !previousState?.searchLinkedChannelsText && (
{<> @@ -260,7 +262,7 @@ export const Rhs = () => {
)} {/* State when user is conected and linked channels are present. */} - {((Boolean(totalLinkedChannels.length) && !isLoading) || !firstRender) && ( + {((Boolean(totalLinkedChannels.length) || isLoading || searchLinkedChannelsText || previousState?.searchLinkedChannelsText) && !firstRender) && ( <>

{channelListTitle}

From d1d9e587be667cd03535e694a4b8f8c1671df1fe Mon Sep 17 00:00:00 2001 From: ayusht2810 Date: Mon, 11 Dec 2023 21:58:55 +0530 Subject: [PATCH 03/10] [MI-3828] Fix ci --- webapp/src/containers/Rhs/Rhs.container.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/webapp/src/containers/Rhs/Rhs.container.tsx b/webapp/src/containers/Rhs/Rhs.container.tsx index d156b4f59..15c5b7fb4 100644 --- a/webapp/src/containers/Rhs/Rhs.container.tsx +++ b/webapp/src/containers/Rhs/Rhs.container.tsx @@ -152,7 +152,7 @@ export const Rhs = () => { // Get different states of rhs const getRhsView = useCallback(() => { // Show spinner in the rhs during loading - if (isRhsLoading || (firstRender && isLoading)) { + if (isRhsLoading || (firstRender && isLoading)) { return (
@@ -161,7 +161,7 @@ export const Rhs = () => { } // Rhs state when user is disconnected and no linked channels are present - if (!connected && !Boolean(totalLinkedChannels.length) && !searchLinkedChannelsText && !isLoading) { + if (!connected && !totalLinkedChannels.length && !searchLinkedChannelsText && !isLoading) { return (
@@ -253,7 +253,7 @@ export const Rhs = () => { /> )} {/* State when user is connected, but no linked channels are present. */} - {!Boolean(totalLinkedChannels.length) && !isLoading && !searchLinkedChannelsText && !previousState?.searchLinkedChannelsText && ( + {!totalLinkedChannels.length && !isLoading && !searchLinkedChannelsText && !previousState?.searchLinkedChannelsText && (
{<> From c9e065f86e1816169d355ddd93538787abe07fe2 Mon Sep 17 00:00:00 2001 From: ayusht2810 Date: Tue, 12 Dec 2023 12:32:20 +0530 Subject: [PATCH 04/10] [MI-3828] Remove coverage folder --- webapp/coverage/clover.xml | 320 ---- webapp/coverage/coverage-final.json | 27 - webapp/coverage/lcov-report/base.css | 224 --- .../coverage/lcov-report/block-navigation.js | 87 - .../Dialog/Dialog.component.tsx.html | 190 --- .../lcov-report/components/Dialog/index.html | 116 -- .../components/Icon/Icon.component.tsx.html | 142 -- .../components/Icon/Icon.map.tsx.html | 1435 ----------------- .../lcov-report/components/Icon/index.html | 131 -- .../LinkedChannelCard.component.tsx.html | 169 -- .../components/LinkedChannelCard/index.html | 116 -- .../RhsTitle/RhsTitle.component.tsx.html | 130 -- .../components/RhsTitle/index.html | 116 -- .../Snackbar/Snackbar.component.tsx.html | 301 ---- .../components/Snackbar/index.html | 116 -- .../WarningCard.component.tsx.html | 208 --- .../components/WarningCard/index.html | 116 -- .../components/appManifestSetting.tsx.html | 211 --- .../enforceConnectedAccountModal.tsx.html | 397 ----- .../getConnectedUsersSetting.tsx.html | 199 --- .../lcov-report/components/index.html | 146 -- .../containers/Rhs/Rhs.container.tsx.html | 286 ---- .../lcov-report/containers/Rhs/index.html | 131 -- .../lcov-report/containers/Rhs/index.ts.html | 88 - .../ConnectAccount.container.tsx.html | 253 --- .../Rhs/views/ConnectAccount/index.html | 131 -- .../Rhs/views/ConnectAccount/index.ts.html | 88 - .../ConnectedAccount.container.tsx.html | 394 ----- .../Rhs/views/ConnectedAccount/index.html | 131 -- .../Rhs/views/ConnectedAccount/index.ts.html | 88 - .../LinkedChannels.container.tsx.html | 358 ---- .../LinkedChannels.mock.ts.html | 742 --------- .../Rhs/views/LinkedChannels/index.html | 146 -- .../Rhs/views/LinkedChannels/index.ts.html | 88 - .../lcov-report/containers/index.html | 116 -- .../lcov-report/containers/index.ts.html | 88 - webapp/coverage/lcov-report/favicon.png | Bin 445 -> 0 bytes webapp/coverage/lcov-report/index.html | 371 ----- webapp/coverage/lcov-report/prettify.css | 1 - webapp/coverage/lcov-report/prettify.js | 2 - .../reducers/apiRequest/index.html | 116 -- .../reducers/apiRequest/index.ts.html | 157 -- .../reducers/connectedState/index.html | 116 -- .../reducers/connectedState/index.ts.html | 166 -- .../lcov-report/reducers/dialog/index.html | 116 -- .../lcov-report/reducers/dialog/index.ts.html | 196 --- .../coverage/lcov-report/reducers/index.html | 116 -- .../lcov-report/reducers/index.ts.html | 139 -- .../lcov-report/reducers/snackbar/index.html | 116 -- .../reducers/snackbar/index.ts.html | 169 -- .../lcov-report/reducers/spinner/index.html | 116 -- .../reducers/spinner/index.ts.html | 142 -- .../lcov-report/sort-arrow-sprite.png | Bin 138 -> 0 bytes webapp/coverage/lcov-report/sorter.js | 196 --- webapp/coverage/lcov.info | 577 ------- 55 files changed, 10837 deletions(-) delete mode 100644 webapp/coverage/clover.xml delete mode 100644 webapp/coverage/coverage-final.json delete mode 100644 webapp/coverage/lcov-report/base.css delete mode 100644 webapp/coverage/lcov-report/block-navigation.js delete mode 100644 webapp/coverage/lcov-report/components/Dialog/Dialog.component.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/Dialog/index.html delete mode 100644 webapp/coverage/lcov-report/components/Icon/Icon.component.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/Icon/Icon.map.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/Icon/index.html delete mode 100644 webapp/coverage/lcov-report/components/LinkedChannelCard/LinkedChannelCard.component.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/LinkedChannelCard/index.html delete mode 100644 webapp/coverage/lcov-report/components/RhsTitle/RhsTitle.component.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/RhsTitle/index.html delete mode 100644 webapp/coverage/lcov-report/components/Snackbar/Snackbar.component.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/Snackbar/index.html delete mode 100644 webapp/coverage/lcov-report/components/WarningCard/WarningCard.component.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/WarningCard/index.html delete mode 100644 webapp/coverage/lcov-report/components/appManifestSetting.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/enforceConnectedAccountModal.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/getConnectedUsersSetting.tsx.html delete mode 100644 webapp/coverage/lcov-report/components/index.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/Rhs.container.tsx.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/index.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/index.ts.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.ts.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.ts.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.html delete mode 100644 webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.ts.html delete mode 100644 webapp/coverage/lcov-report/containers/index.html delete mode 100644 webapp/coverage/lcov-report/containers/index.ts.html delete mode 100644 webapp/coverage/lcov-report/favicon.png delete mode 100644 webapp/coverage/lcov-report/index.html delete mode 100644 webapp/coverage/lcov-report/prettify.css delete mode 100644 webapp/coverage/lcov-report/prettify.js delete mode 100644 webapp/coverage/lcov-report/reducers/apiRequest/index.html delete mode 100644 webapp/coverage/lcov-report/reducers/apiRequest/index.ts.html delete mode 100644 webapp/coverage/lcov-report/reducers/connectedState/index.html delete mode 100644 webapp/coverage/lcov-report/reducers/connectedState/index.ts.html delete mode 100644 webapp/coverage/lcov-report/reducers/dialog/index.html delete mode 100644 webapp/coverage/lcov-report/reducers/dialog/index.ts.html delete mode 100644 webapp/coverage/lcov-report/reducers/index.html delete mode 100644 webapp/coverage/lcov-report/reducers/index.ts.html delete mode 100644 webapp/coverage/lcov-report/reducers/snackbar/index.html delete mode 100644 webapp/coverage/lcov-report/reducers/snackbar/index.ts.html delete mode 100644 webapp/coverage/lcov-report/reducers/spinner/index.html delete mode 100644 webapp/coverage/lcov-report/reducers/spinner/index.ts.html delete mode 100644 webapp/coverage/lcov-report/sort-arrow-sprite.png delete mode 100644 webapp/coverage/lcov-report/sorter.js delete mode 100644 webapp/coverage/lcov.info diff --git a/webapp/coverage/clover.xml b/webapp/coverage/clover.xml deleted file mode 100644 index 7cbff0850..000000000 --- a/webapp/coverage/clover.xml +++ /dev/null @@ -1,320 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/webapp/coverage/coverage-final.json b/webapp/coverage/coverage-final.json deleted file mode 100644 index 4ca8a8034..000000000 --- a/webapp/coverage/coverage-final.json +++ /dev/null @@ -1,27 +0,0 @@ -{"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/appManifestSetting.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/appManifestSetting.tsx","statementMap":{"0":{"start":{"line":12,"column":18},"end":{"line":14,"column":5}},"1":{"start":{"line":13,"column":8},"end":{"line":13,"column":86}},"2":{"start":{"line":17,"column":8},"end":{"line":35,"column":10}},"3":{"start":{"line":39,"column":15},"end":{"line":43,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":18},"end":{"line":12,"column":19}},"loc":{"start":{"line":12,"column":24},"end":{"line":14,"column":5}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":4},"end":{"line":16,"column":5}},"loc":{"start":{"line":16,"column":13},"end":{"line":36,"column":5}},"line":16}},"branchMap":{},"s":{"0":0,"1":0,"2":0,"3":0},"f":{"0":0,"1":0},"b":{}} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/enforceConnectedAccountModal.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/enforceConnectedAccountModal.tsx","statementMap":{"0":{"start":{"line":11,"column":28},"end":{"line":11,"column":43}},"1":{"start":{"line":12,"column":34},"end":{"line":12,"column":49}},"2":{"start":{"line":13,"column":40},"end":{"line":13,"column":55}},"3":{"start":{"line":14,"column":40},"end":{"line":14,"column":55}},"4":{"start":{"line":15,"column":62},"end":{"line":15,"column":76}},"5":{"start":{"line":17,"column":17},"end":{"line":19,"column":10}},"6":{"start":{"line":18,"column":8},"end":{"line":18,"column":23}},"7":{"start":{"line":21,"column":27},"end":{"line":23,"column":10}},"8":{"start":{"line":22,"column":8},"end":{"line":22,"column":101}},"9":{"start":{"line":25,"column":4},"end":{"line":27,"column":11}},"10":{"start":{"line":26,"column":8},"end":{"line":26,"column":106}},"11":{"start":{"line":29,"column":37},"end":{"line":29,"column":111}},"12":{"start":{"line":30,"column":32},"end":{"line":30,"column":101}},"13":{"start":{"line":32,"column":4},"end":{"line":46,"column":7}},"14":{"start":{"line":35,"column":12},"end":{"line":44,"column":13}},"15":{"start":{"line":36,"column":29},"end":{"line":36,"column":65}},"16":{"start":{"line":37,"column":16},"end":{"line":43,"column":17}},"17":{"start":{"line":38,"column":20},"end":{"line":38,"column":47}},"18":{"start":{"line":39,"column":20},"end":{"line":39,"column":45}},"19":{"start":{"line":40,"column":23},"end":{"line":43,"column":17}},"20":{"start":{"line":41,"column":20},"end":{"line":41,"column":35}},"21":{"start":{"line":42,"column":20},"end":{"line":42,"column":41}},"22":{"start":{"line":48,"column":4},"end":{"line":56,"column":7}},"23":{"start":{"line":51,"column":12},"end":{"line":54,"column":13}},"24":{"start":{"line":52,"column":16},"end":{"line":52,"column":36}},"25":{"start":{"line":53,"column":16},"end":{"line":53,"column":79}},"26":{"start":{"line":58,"column":27},"end":{"line":60,"column":10}},"27":{"start":{"line":59,"column":8},"end":{"line":59,"column":106}},"28":{"start":{"line":62,"column":4},"end":{"line":74,"column":21}},"29":{"start":{"line":63,"column":28},"end":{"line":63,"column":29}},"30":{"start":{"line":64,"column":8},"end":{"line":67,"column":9}},"31":{"start":{"line":65,"column":12},"end":{"line":65,"column":32}},"32":{"start":{"line":66,"column":12},"end":{"line":66,"column":57}},"33":{"start":{"line":68,"column":8},"end":{"line":73,"column":10}},"34":{"start":{"line":69,"column":12},"end":{"line":72,"column":13}},"35":{"start":{"line":70,"column":16},"end":{"line":70,"column":37}},"36":{"start":{"line":71,"column":16},"end":{"line":71,"column":40}},"37":{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},"38":{"start":{"line":77,"column":8},"end":{"line":77,"column":20}},"39":{"start":{"line":80,"column":4},"end":{"line":103,"column":6}}},"fnMap":{"0":{"name":"EnforceConnectedAccountModal","decl":{"start":{"line":10,"column":24},"end":{"line":10,"column":52}},"loc":{"start":{"line":10,"column":55},"end":{"line":104,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":29},"end":{"line":17,"column":30}},"loc":{"start":{"line":17,"column":35},"end":{"line":19,"column":5}},"line":17},"2":{"name":"(anonymous_2)","decl":{"start":{"line":21,"column":39},"end":{"line":21,"column":40}},"loc":{"start":{"line":21,"column":45},"end":{"line":23,"column":5}},"line":21},"3":{"name":"(anonymous_3)","decl":{"start":{"line":25,"column":14},"end":{"line":25,"column":15}},"loc":{"start":{"line":25,"column":20},"end":{"line":27,"column":5}},"line":25},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":23},"end":{"line":34,"column":24}},"loc":{"start":{"line":34,"column":29},"end":{"line":45,"column":9}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":50,"column":23},"end":{"line":50,"column":24}},"loc":{"start":{"line":50,"column":29},"end":{"line":55,"column":9}},"line":50},"6":{"name":"(anonymous_6)","decl":{"start":{"line":58,"column":39},"end":{"line":58,"column":40}},"loc":{"start":{"line":58,"column":45},"end":{"line":60,"column":5}},"line":58},"7":{"name":"(anonymous_7)","decl":{"start":{"line":62,"column":14},"end":{"line":62,"column":15}},"loc":{"start":{"line":62,"column":20},"end":{"line":74,"column":5}},"line":62},"8":{"name":"(anonymous_8)","decl":{"start":{"line":68,"column":15},"end":{"line":68,"column":16}},"loc":{"start":{"line":68,"column":21},"end":{"line":73,"column":9}},"line":68}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":12},"end":{"line":44,"column":13}},"type":"if","locations":[{"start":{"line":35,"column":12},"end":{"line":44,"column":13}},{"start":{},"end":{}}],"line":35},"1":{"loc":{"start":{"line":37,"column":16},"end":{"line":43,"column":17}},"type":"if","locations":[{"start":{"line":37,"column":16},"end":{"line":43,"column":17}},{"start":{"line":40,"column":23},"end":{"line":43,"column":17}}],"line":37},"2":{"loc":{"start":{"line":40,"column":23},"end":{"line":43,"column":17}},"type":"if","locations":[{"start":{"line":40,"column":23},"end":{"line":43,"column":17}},{"start":{},"end":{}}],"line":40},"3":{"loc":{"start":{"line":51,"column":12},"end":{"line":54,"column":13}},"type":"if","locations":[{"start":{"line":51,"column":12},"end":{"line":54,"column":13}},{"start":{},"end":{}}],"line":51},"4":{"loc":{"start":{"line":64,"column":8},"end":{"line":67,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":67,"column":9}},{"start":{},"end":{}}],"line":64},"5":{"loc":{"start":{"line":69,"column":12},"end":{"line":72,"column":13}},"type":"if","locations":[{"start":{"line":69,"column":12},"end":{"line":72,"column":13}},{"start":{},"end":{}}],"line":69},"6":{"loc":{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},"type":"if","locations":[{"start":{"line":76,"column":4},"end":{"line":78,"column":5}},{"start":{},"end":{}}],"line":76},"7":{"loc":{"start":{"line":84,"column":13},"end":{"line":84,"column":133}},"type":"binary-expr","locations":[{"start":{"line":84,"column":13},"end":{"line":84,"column":24}},{"start":{"line":84,"column":28},"end":{"line":84,"column":133}}],"line":84},"8":{"loc":{"start":{"line":85,"column":13},"end":{"line":92,"column":13}},"type":"binary-expr","locations":[{"start":{"line":85,"column":13},"end":{"line":85,"column":24}},{"start":{"line":86,"column":16},"end":{"line":91,"column":25}}],"line":85},"9":{"loc":{"start":{"line":93,"column":13},"end":{"line":93,"column":119}},"type":"binary-expr","locations":[{"start":{"line":93,"column":13},"end":{"line":93,"column":23}},{"start":{"line":93,"column":27},"end":{"line":93,"column":119}}],"line":93},"10":{"loc":{"start":{"line":94,"column":13},"end":{"line":101,"column":13}},"type":"binary-expr","locations":[{"start":{"line":94,"column":13},"end":{"line":94,"column":20}},{"start":{"line":94,"column":24},"end":{"line":94,"column":35}},{"start":{"line":95,"column":16},"end":{"line":100,"column":20}}],"line":94}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0,0]}} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/getConnectedUsersSetting.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/getConnectedUsersSetting.tsx","statementMap":{"0":{"start":{"line":8,"column":33},"end":{"line":27,"column":1}},"1":{"start":{"line":9,"column":4},"end":{"line":26,"column":6}},"2":{"start":{"line":29,"column":15},"end":{"line":36,"column":1}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":8,"column":33},"end":{"line":8,"column":34}},"loc":{"start":{"line":8,"column":53},"end":{"line":27,"column":1}},"line":8}},"branchMap":{},"s":{"0":0,"1":0,"2":0},"f":{"0":0},"b":{}} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Dialog/Dialog.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Dialog/Dialog.component.tsx","statementMap":{"0":{"start":{"line":10,"column":22},"end":{"line":35,"column":1}},"1":{"start":{"line":11,"column":21},"end":{"line":11,"column":34}},"2":{"start":{"line":12,"column":20},"end":{"line":12,"column":34}},"3":{"start":{"line":13,"column":103},"end":{"line":13,"column":124}},"4":{"start":{"line":15,"column":24},"end":{"line":15,"column":53}},"5":{"start":{"line":15,"column":30},"end":{"line":15,"column":53}},"6":{"start":{"line":17,"column":4},"end":{"line":34,"column":6}},"7":{"start":{"line":25,"column":16},"end":{"line":25,"column":30}},"8":{"start":{"line":26,"column":16},"end":{"line":26,"column":33}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":22},"end":{"line":10,"column":23}},"loc":{"start":{"line":10,"column":118},"end":{"line":35,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":15,"column":24},"end":{"line":15,"column":25}},"loc":{"start":{"line":15,"column":30},"end":{"line":15,"column":53}},"line":15},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":28},"end":{"line":24,"column":29}},"loc":{"start":{"line":24,"column":34},"end":{"line":27,"column":13}},"line":24}},"branchMap":{"0":{"loc":{"start":{"line":32,"column":13},"end":{"line":32,"column":43}},"type":"binary-expr","locations":[{"start":{"line":32,"column":13},"end":{"line":32,"column":22}},{"start":{"line":32,"column":26},"end":{"line":32,"column":43}}],"line":32}},"s":{"0":5,"1":8,"2":8,"3":8,"4":8,"5":1,"6":8,"7":1,"8":1},"f":{"0":8,"1":1,"2":1},"b":{"0":[8,8]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"5ec82520a0f782461987256c1ff43534fbdb5ebe"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Icon/Icon.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Icon/Icon.component.tsx","statementMap":{"0":{"start":{"line":6,"column":20},"end":{"line":19,"column":1}},"1":{"start":{"line":7,"column":4},"end":{"line":18,"column":11}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":20},"end":{"line":6,"column":21}},"loc":{"start":{"line":7,"column":4},"end":{"line":18,"column":11}},"line":7}},"branchMap":{},"s":{"0":8,"1":34},"f":{"0":34},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"0eeeab9410807208c25c0d49417632a8b3991c8f"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Icon/Icon.map.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Icon/Icon.map.tsx","statementMap":{"0":{"start":{"line":5,"column":55},"end":{"line":450,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":8},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b74b756d28414ee6e4a48179e9fbe55e9127dbd9"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx","statementMap":{"0":{"start":{"line":9,"column":33},"end":{"line":28,"column":1}},"1":{"start":{"line":10,"column":4},"end":{"line":27,"column":10}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":33},"end":{"line":9,"column":34}},"loc":{"start":{"line":10,"column":4},"end":{"line":27,"column":10}},"line":10}},"branchMap":{},"s":{"0":5,"1":2},"f":{"0":2},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a5f01796c79f89d521b7ee90c8e355adeb8d1bbf"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/RhsTitle/RhsTitle.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/RhsTitle/RhsTitle.component.tsx","statementMap":{"0":{"start":{"line":6,"column":24},"end":{"line":15,"column":1}},"1":{"start":{"line":7,"column":4},"end":{"line":14,"column":11}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":24},"end":{"line":6,"column":25}},"loc":{"start":{"line":7,"column":4},"end":{"line":14,"column":11}},"line":7}},"branchMap":{},"s":{"0":5,"1":1},"f":{"0":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"959924d309f379fdb05663739e6f450fc0dc226c"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Snackbar/Snackbar.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/Snackbar/Snackbar.component.tsx","statementMap":{"0":{"start":{"line":16,"column":24},"end":{"line":72,"column":1}},"1":{"start":{"line":17,"column":21},"end":{"line":17,"column":34}},"2":{"start":{"line":18,"column":20},"end":{"line":18,"column":34}},"3":{"start":{"line":19,"column":19},"end":{"line":19,"column":28}},"4":{"start":{"line":20,"column":40},"end":{"line":20,"column":63}},"5":{"start":{"line":22,"column":24},"end":{"line":22,"column":52}},"6":{"start":{"line":22,"column":30},"end":{"line":22,"column":52}},"7":{"start":{"line":24,"column":4},"end":{"line":35,"column":17}},"8":{"start":{"line":25,"column":8},"end":{"line":30,"column":9}},"9":{"start":{"line":26,"column":12},"end":{"line":29,"column":29}},"10":{"start":{"line":28,"column":16},"end":{"line":28,"column":30}},"11":{"start":{"line":32,"column":8},"end":{"line":34,"column":10}},"12":{"start":{"line":33,"column":12},"end":{"line":33,"column":41}},"13":{"start":{"line":37,"column":60},"end":{"line":41,"column":5}},"14":{"start":{"line":43,"column":61},"end":{"line":47,"column":5}},"15":{"start":{"line":49,"column":4},"end":{"line":71,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":24},"end":{"line":16,"column":25}},"loc":{"start":{"line":16,"column":30},"end":{"line":72,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":22,"column":24},"end":{"line":22,"column":25}},"loc":{"start":{"line":22,"column":30},"end":{"line":22,"column":52}},"line":22},"2":{"name":"(anonymous_2)","decl":{"start":{"line":24,"column":14},"end":{"line":24,"column":15}},"loc":{"start":{"line":24,"column":20},"end":{"line":35,"column":5}},"line":24},"3":{"name":"(anonymous_3)","decl":{"start":{"line":26,"column":47},"end":{"line":26,"column":48}},"loc":{"start":{"line":26,"column":53},"end":{"line":29,"column":13}},"line":26},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":15},"end":{"line":32,"column":16}},"loc":{"start":{"line":32,"column":21},"end":{"line":34,"column":9}},"line":32}},"branchMap":{"0":{"loc":{"start":{"line":25,"column":8},"end":{"line":30,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":30,"column":9}},{"start":{},"end":{}}],"line":25}},"s":{"0":5,"1":6,"2":6,"3":6,"4":6,"5":6,"6":1,"7":6,"8":6,"9":6,"10":0,"11":6,"12":6,"13":6,"14":6,"15":6},"f":{"0":6,"1":1,"2":6,"3":0,"4":6},"b":{"0":[6,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"898169fe979efe9dcad3314789cc531604a78d15"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/WarningCard/WarningCard.component.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/components/WarningCard/WarningCard.component.tsx","statementMap":{"0":{"start":{"line":10,"column":27},"end":{"line":41,"column":1}},"1":{"start":{"line":11,"column":4},"end":{"line":40,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":27},"end":{"line":10,"column":28}},"loc":{"start":{"line":10,"column":62},"end":{"line":41,"column":1}},"line":10}},"branchMap":{},"s":{"0":5,"1":5},"f":{"0":5},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a630062269cc341cbb4c0e901331f467cf6dce50"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/Rhs.container.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/Rhs.container.tsx","statementMap":{"0":{"start":{"line":18,"column":19},"end":{"line":67,"column":1}},"1":{"start":{"line":19,"column":33},"end":{"line":19,"column":47}},"2":{"start":{"line":20,"column":24},"end":{"line":20,"column":48}},"3":{"start":{"line":21,"column":27},"end":{"line":21,"column":49}},"4":{"start":{"line":23,"column":21},"end":{"line":23,"column":44}},"5":{"start":{"line":25,"column":19},"end":{"line":25,"column":84}},"6":{"start":{"line":26,"column":35},"end":{"line":26,"column":104}},"7":{"start":{"line":28,"column":33},"end":{"line":28,"column":62}},"8":{"start":{"line":32,"column":31},"end":{"line":32,"column":36}},"9":{"start":{"line":34,"column":23},"end":{"line":56,"column":49}},"10":{"start":{"line":35,"column":8},"end":{"line":41,"column":9}},"11":{"start":{"line":36,"column":12},"end":{"line":40,"column":14}},"12":{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},"13":{"start":{"line":44,"column":12},"end":{"line":44,"column":37}},"14":{"start":{"line":47,"column":8},"end":{"line":49,"column":9}},"15":{"start":{"line":48,"column":12},"end":{"line":48,"column":37}},"16":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"17":{"start":{"line":52,"column":12},"end":{"line":52,"column":39}},"18":{"start":{"line":55,"column":8},"end":{"line":55,"column":21}},"19":{"start":{"line":58,"column":4},"end":{"line":66,"column":6}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":19},"end":{"line":18,"column":20}},"loc":{"start":{"line":18,"column":25},"end":{"line":67,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":34,"column":35},"end":{"line":34,"column":36}},"loc":{"start":{"line":34,"column":41},"end":{"line":56,"column":5}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":35,"column":8},"end":{"line":41,"column":9}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":41,"column":9}},{"start":{},"end":{}}],"line":35},"1":{"loc":{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},"type":"if","locations":[{"start":{"line":43,"column":8},"end":{"line":45,"column":9}},{"start":{},"end":{}}],"line":43},"2":{"loc":{"start":{"line":43,"column":12},"end":{"line":43,"column":45}},"type":"binary-expr","locations":[{"start":{"line":43,"column":12},"end":{"line":43,"column":22}},{"start":{"line":43,"column":26},"end":{"line":43,"column":45}}],"line":43},"3":{"loc":{"start":{"line":47,"column":8},"end":{"line":49,"column":9}},"type":"if","locations":[{"start":{"line":47,"column":8},"end":{"line":49,"column":9}},{"start":{},"end":{}}],"line":47},"4":{"loc":{"start":{"line":47,"column":12},"end":{"line":47,"column":44}},"type":"binary-expr","locations":[{"start":{"line":47,"column":12},"end":{"line":47,"column":22}},{"start":{"line":47,"column":26},"end":{"line":47,"column":44}}],"line":47},"5":{"loc":{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},"type":"if","locations":[{"start":{"line":51,"column":8},"end":{"line":53,"column":9}},{"start":{},"end":{}}],"line":51},"6":{"loc":{"start":{"line":51,"column":12},"end":{"line":51,"column":44}},"type":"binary-expr","locations":[{"start":{"line":51,"column":12},"end":{"line":51,"column":21}},{"start":{"line":51,"column":25},"end":{"line":51,"column":44}}],"line":51},"7":{"loc":{"start":{"line":61,"column":16},"end":{"line":62,"column":57}},"type":"cond-expr","locations":[{"start":{"line":62,"column":20},"end":{"line":62,"column":32}},{"start":{"line":62,"column":35},"end":{"line":62,"column":57}}],"line":61},"8":{"loc":{"start":{"line":64,"column":13},"end":{"line":64,"column":34}},"type":"binary-expr","locations":[{"start":{"line":64,"column":13},"end":{"line":64,"column":19}},{"start":{"line":64,"column":23},"end":{"line":64,"column":34}}],"line":64}},"s":{"0":1,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":3,"8":3,"9":3,"10":2,"11":0,"12":2,"13":0,"14":2,"15":0,"16":2,"17":2,"18":0,"19":2},"f":{"0":3,"1":2},"b":{"0":[0,2],"1":[0,2],"2":[2,0],"3":[0,2],"4":[2,0],"5":[2,0],"6":[2,2],"7":[2,0],"8":[2,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d42a6e92e724d7b77ab7f89ebc532b7d587a6340"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx","statementMap":{"0":{"start":{"line":12,"column":30},"end":{"line":56,"column":1}},"1":{"start":{"line":13,"column":22},"end":{"line":13,"column":32}},"2":{"start":{"line":14,"column":49},"end":{"line":14,"column":63}},"3":{"start":{"line":16,"column":27},"end":{"line":18,"column":10}},"4":{"start":{"line":17,"column":8},"end":{"line":17,"column":91}},"5":{"start":{"line":20,"column":4},"end":{"line":25,"column":7}},"6":{"start":{"line":23,"column":12},"end":{"line":23,"column":93}},"7":{"start":{"line":27,"column":4},"end":{"line":55,"column":6}},"8":{"start":{"line":44,"column":24},"end":{"line":50,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":30},"end":{"line":12,"column":31}},"loc":{"start":{"line":12,"column":36},"end":{"line":56,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":39},"end":{"line":16,"column":40}},"loc":{"start":{"line":16,"column":45},"end":{"line":18,"column":5}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":21},"end":{"line":22,"column":22}},"loc":{"start":{"line":22,"column":27},"end":{"line":24,"column":9}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":43,"column":58},"end":{"line":43,"column":59}},"loc":{"start":{"line":44,"column":24},"end":{"line":50,"column":29}},"line":44}},"branchMap":{},"s":{"0":2,"1":3,"2":3,"3":3,"4":1,"5":3,"6":0,"7":3,"8":6},"f":{"0":3,"1":1,"2":0,"3":6},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4bd46558f8035aa0c7233038c53711d3f875b815"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectAccount/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectAccount/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"383dbb1c5e0d9ce3ac184110c2cdafedc796dbf7"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx","statementMap":{"0":{"start":{"line":16,"column":32},"end":{"line":103,"column":1}},"1":{"start":{"line":17,"column":21},"end":{"line":17,"column":34}},"2":{"start":{"line":18,"column":56},"end":{"line":18,"column":70}},"3":{"start":{"line":19,"column":69},"end":{"line":19,"column":93}},"4":{"start":{"line":21,"column":22},"end":{"line":21,"column":32}},"5":{"start":{"line":23,"column":27},"end":{"line":25,"column":10}},"6":{"start":{"line":24,"column":8},"end":{"line":24,"column":98}},"7":{"start":{"line":27,"column":54},"end":{"line":32,"column":6}},"8":{"start":{"line":30,"column":12},"end":{"line":30,"column":25}},"9":{"start":{"line":34,"column":4},"end":{"line":50,"column":7}},"10":{"start":{"line":37,"column":12},"end":{"line":37,"column":115}},"11":{"start":{"line":38,"column":12},"end":{"line":38,"column":25}},"12":{"start":{"line":39,"column":12},"end":{"line":41,"column":15}},"13":{"start":{"line":44,"column":12},"end":{"line":47,"column":15}},"14":{"start":{"line":48,"column":12},"end":{"line":48,"column":25}},"15":{"start":{"line":52,"column":4},"end":{"line":57,"column":40}},"16":{"start":{"line":53,"column":8},"end":{"line":56,"column":9}},"17":{"start":{"line":54,"column":12},"end":{"line":54,"column":76}},"18":{"start":{"line":55,"column":12},"end":{"line":55,"column":99}},"19":{"start":{"line":59,"column":4},"end":{"line":102,"column":6}},"20":{"start":{"line":84,"column":39},"end":{"line":91,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":32},"end":{"line":16,"column":33}},"loc":{"start":{"line":16,"column":38},"end":{"line":103,"column":1}},"line":16},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":39},"end":{"line":23,"column":40}},"loc":{"start":{"line":23,"column":45},"end":{"line":25,"column":5}},"line":23},"2":{"name":"(anonymous_2)","decl":{"start":{"line":29,"column":24},"end":{"line":29,"column":25}},"loc":{"start":{"line":29,"column":30},"end":{"line":31,"column":9}},"line":29},"3":{"name":"(anonymous_3)","decl":{"start":{"line":36,"column":23},"end":{"line":36,"column":24}},"loc":{"start":{"line":36,"column":29},"end":{"line":42,"column":9}},"line":36},"4":{"name":"(anonymous_4)","decl":{"start":{"line":43,"column":21},"end":{"line":43,"column":22}},"loc":{"start":{"line":43,"column":27},"end":{"line":49,"column":9}},"line":43},"5":{"name":"(anonymous_5)","decl":{"start":{"line":52,"column":14},"end":{"line":52,"column":15}},"loc":{"start":{"line":52,"column":20},"end":{"line":57,"column":5}},"line":52},"6":{"name":"(anonymous_6)","decl":{"start":{"line":84,"column":33},"end":{"line":84,"column":34}},"loc":{"start":{"line":84,"column":39},"end":{"line":91,"column":26}},"line":84}},"branchMap":{"0":{"loc":{"start":{"line":53,"column":8},"end":{"line":56,"column":9}},"type":"if","locations":[{"start":{"line":53,"column":8},"end":{"line":56,"column":9}},{"start":{},"end":{}}],"line":53},"1":{"loc":{"start":{"line":53,"column":12},"end":{"line":53,"column":44}},"type":"binary-expr","locations":[{"start":{"line":53,"column":12},"end":{"line":53,"column":21}},{"start":{"line":53,"column":25},"end":{"line":53,"column":44}}],"line":53}},"s":{"0":2,"1":8,"2":8,"3":8,"4":8,"5":8,"6":0,"7":6,"8":0,"9":6,"10":0,"11":0,"12":0,"13":0,"14":0,"15":6,"16":6,"17":0,"18":0,"19":6,"20":1},"f":{"0":8,"1":0,"2":0,"3":0,"4":0,"5":6,"6":1},"b":{"0":[0,6],"1":[6,6]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"197917806593317b01bbdf62f330964c84e0beb7"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectedAccount/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/ConnectedAccount/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"921572181773fc2c574cc44ddbdb136bfab444a1"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx","statementMap":{"0":{"start":{"line":18,"column":30},"end":{"line":91,"column":1}},"1":{"start":{"line":20,"column":49},"end":{"line":20,"column":63}},"2":{"start":{"line":21,"column":58},"end":{"line":21,"column":89}},"3":{"start":{"line":22,"column":62},"end":{"line":25,"column":6}},"4":{"start":{"line":28,"column":24},"end":{"line":30,"column":6}},"5":{"start":{"line":28,"column":30},"end":{"line":30,"column":6}},"6":{"start":{"line":29,"column":8},"end":{"line":29,"column":38}},"7":{"start":{"line":29,"column":25},"end":{"line":29,"column":30}},"8":{"start":{"line":32,"column":4},"end":{"line":37,"column":32}},"9":{"start":{"line":33,"column":8},"end":{"line":36,"column":11}},"10":{"start":{"line":34,"column":35},"end":{"line":34,"column":189}},"11":{"start":{"line":35,"column":12},"end":{"line":35,"column":103}},"12":{"start":{"line":39,"column":27},"end":{"line":43,"column":10}},"13":{"start":{"line":40,"column":8},"end":{"line":42,"column":10}},"14":{"start":{"line":46,"column":29},"end":{"line":49,"column":5}},"15":{"start":{"line":47,"column":8},"end":{"line":48,"column":11}},"16":{"start":{"line":51,"column":34},"end":{"line":53,"column":29}},"17":{"start":{"line":52,"column":9},"end":{"line":52,"column":102}},"18":{"start":{"line":55,"column":4},"end":{"line":90,"column":6}},"19":{"start":{"line":80,"column":24},"end":{"line":84,"column":26}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":18,"column":30},"end":{"line":18,"column":31}},"loc":{"start":{"line":18,"column":36},"end":{"line":91,"column":1}},"line":18},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":24},"end":{"line":28,"column":25}},"loc":{"start":{"line":28,"column":30},"end":{"line":30,"column":6}},"line":28},"2":{"name":"(anonymous_2)","decl":{"start":{"line":28,"column":48},"end":{"line":28,"column":49}},"loc":{"start":{"line":28,"column":57},"end":{"line":30,"column":5}},"line":28},"3":{"name":"(anonymous_3)","decl":{"start":{"line":29,"column":19},"end":{"line":29,"column":20}},"loc":{"start":{"line":29,"column":25},"end":{"line":29,"column":30}},"line":29},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":14},"end":{"line":32,"column":15}},"loc":{"start":{"line":32,"column":20},"end":{"line":37,"column":5}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":27},"end":{"line":33,"column":28}},"loc":{"start":{"line":33,"column":33},"end":{"line":36,"column":9}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":39,"column":39},"end":{"line":39,"column":40}},"loc":{"start":{"line":39,"column":45},"end":{"line":43,"column":5}},"line":39},"7":{"name":"(anonymous_7)","decl":{"start":{"line":46,"column":29},"end":{"line":46,"column":30}},"loc":{"start":{"line":46,"column":35},"end":{"line":49,"column":5}},"line":46},"8":{"name":"(anonymous_8)","decl":{"start":{"line":51,"column":51},"end":{"line":51,"column":52}},"loc":{"start":{"line":52,"column":9},"end":{"line":52,"column":102}},"line":52},"9":{"name":"(anonymous_9)","decl":{"start":{"line":79,"column":45},"end":{"line":79,"column":46}},"loc":{"start":{"line":80,"column":24},"end":{"line":84,"column":26}},"line":80}},"branchMap":{},"s":{"0":2,"1":3,"2":3,"3":3,"4":3,"5":3,"6":3,"7":0,"8":3,"9":3,"10":0,"11":0,"12":3,"13":1,"14":3,"15":0,"16":3,"17":3,"18":3,"19":0},"f":{"0":3,"1":3,"2":3,"3":0,"4":3,"5":0,"6":1,"7":0,"8":3,"9":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"07bffa569a134c8cec52199792d41c06807feb10"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts","statementMap":{"0":{"start":{"line":1,"column":34},"end":{"line":219,"column":1}}},"fnMap":{},"branchMap":{},"s":{"0":2},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9a81de87ca8cfac4634dbe1d62316edf08a74f55"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/containers/Rhs/views/LinkedChannels/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"fc3529e59d0e5498b4c45973f40fb8a51d9064ba"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/index.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{}} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/apiRequest/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/apiRequest/index.ts","statementMap":{"0":{"start":{"line":5,"column":48},"end":{"line":7,"column":1}},"1":{"start":{"line":9,"column":41},"end":{"line":20,"column":2}},"2":{"start":{"line":14,"column":12},"end":{"line":14,"column":65}},"3":{"start":{"line":17,"column":12},"end":{"line":17,"column":92}},"4":{"start":{"line":17,"column":64},"end":{"line":17,"column":90}},"5":{"start":{"line":22,"column":78},"end":{"line":22,"column":111}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":13,"column":38},"end":{"line":13,"column":39}},"loc":{"start":{"line":13,"column":121},"end":{"line":15,"column":9}},"line":13},"1":{"name":"(anonymous_1)","decl":{"start":{"line":16,"column":40},"end":{"line":16,"column":41}},"loc":{"start":{"line":16,"column":123},"end":{"line":18,"column":9}},"line":16},"2":{"name":"(anonymous_2)","decl":{"start":{"line":17,"column":51},"end":{"line":17,"column":52}},"loc":{"start":{"line":17,"column":64},"end":{"line":17,"column":90}},"line":17}},"branchMap":{},"s":{"0":7,"1":7,"2":1,"3":1,"4":3,"5":7},"f":{"0":1,"1":1,"2":3},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d0880846146360c850b494a94dd0bb245d33a928"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/connectedState/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/connectedState/index.ts","statementMap":{"0":{"start":{"line":5,"column":37},"end":{"line":10,"column":1}},"1":{"start":{"line":12,"column":35},"end":{"line":23,"column":2}},"2":{"start":{"line":17,"column":12},"end":{"line":17,"column":55}},"3":{"start":{"line":18,"column":12},"end":{"line":18,"column":73}},"4":{"start":{"line":19,"column":12},"end":{"line":19,"column":53}},"5":{"start":{"line":20,"column":12},"end":{"line":20,"column":63}},"6":{"start":{"line":25,"column":30},"end":{"line":25,"column":57}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":16,"column":22},"end":{"line":16,"column":23}},"loc":{"start":{"line":16,"column":88},"end":{"line":21,"column":9}},"line":16}},"branchMap":{},"s":{"0":3,"1":3,"2":1,"3":1,"4":1,"5":1,"6":3},"f":{"0":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d1af2232fb7d186c671efe87d67ff2b1d2aaf9a0"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/dialog/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/dialog/index.ts","statementMap":{"0":{"start":{"line":5,"column":34},"end":{"line":13,"column":1}},"1":{"start":{"line":15,"column":27},"end":{"line":33,"column":2}},"2":{"start":{"line":20,"column":12},"end":{"line":20,"column":30}},"3":{"start":{"line":21,"column":12},"end":{"line":21,"column":52}},"4":{"start":{"line":22,"column":12},"end":{"line":22,"column":52}},"5":{"start":{"line":23,"column":12},"end":{"line":23,"column":48}},"6":{"start":{"line":24,"column":12},"end":{"line":24,"column":64}},"7":{"start":{"line":25,"column":12},"end":{"line":25,"column":68}},"8":{"start":{"line":26,"column":12},"end":{"line":26,"column":40}},"9":{"start":{"line":29,"column":12},"end":{"line":29,"column":31}},"10":{"start":{"line":35,"column":41},"end":{"line":35,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":19,"column":20},"end":{"line":19,"column":21}},"loc":{"start":{"line":19,"column":70},"end":{"line":27,"column":9}},"line":19},"1":{"name":"(anonymous_1)","decl":{"start":{"line":28,"column":21},"end":{"line":28,"column":22}},"loc":{"start":{"line":28,"column":32},"end":{"line":30,"column":9}},"line":28}},"branchMap":{},"s":{"0":6,"1":6,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":6},"f":{"0":1,"1":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"43e255d468d10cebe01c216b1833e20c667635fa"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/snackbar/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/snackbar/index.ts","statementMap":{"0":{"start":{"line":5,"column":36},"end":{"line":9,"column":1}},"1":{"start":{"line":11,"column":29},"end":{"line":24,"column":2}},"2":{"start":{"line":16,"column":12},"end":{"line":16,"column":44}},"3":{"start":{"line":17,"column":12},"end":{"line":17,"column":46}},"4":{"start":{"line":18,"column":12},"end":{"line":18,"column":32}},"5":{"start":{"line":21,"column":12},"end":{"line":21,"column":33}},"6":{"start":{"line":26,"column":39},"end":{"line":26,"column":60}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":15,"column":19},"end":{"line":15,"column":20}},"loc":{"start":{"line":15,"column":79},"end":{"line":19,"column":9}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":20,"column":20},"end":{"line":20,"column":21}},"loc":{"start":{"line":20,"column":31},"end":{"line":22,"column":9}},"line":20}},"branchMap":{},"s":{"0":6,"1":6,"2":1,"3":1,"4":1,"5":1,"6":6},"f":{"0":1,"1":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"ef0731838e36f601b8efb257daaeb2eaa8201ec9"} -,"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/spinner/index.ts": {"path":"/home/jtg-d156/mattermost-plugin-msteams-sync/webapp/src/reducers/spinner/index.ts","statementMap":{"0":{"start":{"line":3,"column":46},"end":{"line":5,"column":1}},"1":{"start":{"line":7,"column":31},"end":{"line":15,"column":2}},"2":{"start":{"line":12,"column":12},"end":{"line":12,"column":41}},"3":{"start":{"line":17,"column":33},"end":{"line":17,"column":56}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":25},"end":{"line":11,"column":26}},"loc":{"start":{"line":11,"column":71},"end":{"line":13,"column":9}},"line":11}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1},"f":{"0":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"cc9e8d82309d91563d797479ac97a62112f5e7b5"} -} diff --git a/webapp/coverage/lcov-report/base.css b/webapp/coverage/lcov-report/base.css deleted file mode 100644 index f418035b4..000000000 --- a/webapp/coverage/lcov-report/base.css +++ /dev/null @@ -1,224 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* yellow */ -.cbranch-no { background: yellow !important; color: #111; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -.highlighted, -.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ - background: #C21F39 !important; -} -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } -/* dark yellow (gold) */ -.status-line.medium, .medium .cover-fill { background: #f9cd0b; } -.medium .chart { border:1px solid #f9cd0b; } -/* light yellow */ -.medium { background: #fff4c2; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } - -.coverage-summary td.empty { - opacity: .5; - padding-top: 4px; - padding-bottom: 4px; - line-height: 1; - color: #888; -} - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/webapp/coverage/lcov-report/block-navigation.js b/webapp/coverage/lcov-report/block-navigation.js deleted file mode 100644 index cc1213023..000000000 --- a/webapp/coverage/lcov-report/block-navigation.js +++ /dev/null @@ -1,87 +0,0 @@ -/* eslint-disable */ -var jumpToCode = (function init() { - // Classes of code we would like to highlight in the file view - var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; - - // Elements to highlight in the file listing view - var fileListingElements = ['td.pct.low']; - - // We don't want to select elements that are direct descendants of another match - var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` - - // Selecter that finds elements on the page to which we can jump - var selector = - fileListingElements.join(', ') + - ', ' + - notSelector + - missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` - - // The NodeList of matching elements - var missingCoverageElements = document.querySelectorAll(selector); - - var currentIndex; - - function toggleClass(index) { - missingCoverageElements - .item(currentIndex) - .classList.remove('highlighted'); - missingCoverageElements.item(index).classList.add('highlighted'); - } - - function makeCurrent(index) { - toggleClass(index); - currentIndex = index; - missingCoverageElements.item(index).scrollIntoView({ - behavior: 'smooth', - block: 'center', - inline: 'center' - }); - } - - function goToPrevious() { - var nextIndex = 0; - if (typeof currentIndex !== 'number' || currentIndex === 0) { - nextIndex = missingCoverageElements.length - 1; - } else if (missingCoverageElements.length > 1) { - nextIndex = currentIndex - 1; - } - - makeCurrent(nextIndex); - } - - function goToNext() { - var nextIndex = 0; - - if ( - typeof currentIndex === 'number' && - currentIndex < missingCoverageElements.length - 1 - ) { - nextIndex = currentIndex + 1; - } - - makeCurrent(nextIndex); - } - - return function jump(event) { - if ( - document.getElementById('fileSearch') === document.activeElement && - document.activeElement != null - ) { - // if we're currently focused on the search input, we don't want to navigate - return; - } - - switch (event.which) { - case 78: // n - case 74: // j - goToNext(); - break; - case 66: // b - case 75: // k - case 80: // p - goToPrevious(); - break; - } - }; -})(); -window.addEventListener('keydown', jumpToCode); diff --git a/webapp/coverage/lcov-report/components/Dialog/Dialog.component.tsx.html b/webapp/coverage/lcov-report/components/Dialog/Dialog.component.tsx.html deleted file mode 100644 index 0c8701121..000000000 --- a/webapp/coverage/lcov-report/components/Dialog/Dialog.component.tsx.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - Code coverage report for components/Dialog/Dialog.component.tsx - - - - - - - - - -
-
-

All files / components/Dialog Dialog.component.tsx

-
- -
- 100% - Statements - 9/9 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 3/3 -
- - -
- 100% - Lines - 8/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36  -  -  -  -  -  -  -  -  -5x -8x -8x -8x -  -8x -  -8x -  -  -  -  -  -  -  -1x -1x -  -  -  -  -  -  -  -  -  - 
import React from 'react';
-import {useDispatch} from 'react-redux';
- 
-import {Dialog as MMDialog, LinearProgress, DialogProps} from '@brightscout/mattermost-ui-library';
- 
-import usePluginApi from 'hooks/usePluginApi';
-import {getDialogState} from 'selectors';
-import {closeDialog} from 'reducers/dialog';
- 
-export const Dialog = ({onCloseHandler, onSubmitHandler}: Pick<DialogProps, 'onCloseHandler' | 'onSubmitHandler'>) => {
-    const dispatch = useDispatch();
-    const {state} = usePluginApi();
-    const {show, title, description, destructive, primaryButtonText, secondaryButtonText, isLoading} = getDialogState(state);
- 
-    const handleClose = () => dispatch(closeDialog());
- 
-    return (
-        <MMDialog
-            description={description}
-            destructive={destructive}
-            show={show}
-            primaryButtonText={primaryButtonText}
-            secondaryButtonText={secondaryButtonText}
-            onCloseHandler={() => {
-                handleClose();
-                onCloseHandler();
-            }}
-            onSubmitHandler={onSubmitHandler}
-            className='disconnect-dialog'
-            title={title}
-        >
-            {isLoading && <LinearProgress/>}
-        </MMDialog>
-    );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Dialog/index.html b/webapp/coverage/lcov-report/components/Dialog/index.html deleted file mode 100644 index 4eef3b170..000000000 --- a/webapp/coverage/lcov-report/components/Dialog/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/Dialog - - - - - - - - - -
-
-

All files components/Dialog

-
- -
- 100% - Statements - 9/9 -
- - -
- 100% - Branches - 2/2 -
- - -
- 100% - Functions - 3/3 -
- - -
- 100% - Lines - 8/8 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Dialog.component.tsx -
-
100%9/9100%2/2100%3/3100%8/8
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Icon/Icon.component.tsx.html b/webapp/coverage/lcov-report/components/Icon/Icon.component.tsx.html deleted file mode 100644 index 5408166f8..000000000 --- a/webapp/coverage/lcov-report/components/Icon/Icon.component.tsx.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for components/Icon/Icon.component.tsx - - - - - - - - - -
-
-

All files / components/Icon Icon.component.tsx

-
- -
- 100% - Statements - 2/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 2/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -  -  -  -8x -34x -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
- 
-import {IconProps} from './Icon.types';
-import {IconMap} from './Icon.map';
- 
-export const Icon = ({iconName, height, width, className}: IconProps) => (
-    <span
-        className={className}
-        style={{
-            width,
-            height,
- 
-            // To make span fit svg element
-            lineHeight: 0,
-        }}
-    >
-        {IconMap[iconName]}
-    </span>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Icon/Icon.map.tsx.html b/webapp/coverage/lcov-report/components/Icon/Icon.map.tsx.html deleted file mode 100644 index c13a2a609..000000000 --- a/webapp/coverage/lcov-report/components/Icon/Icon.map.tsx.html +++ /dev/null @@ -1,1435 +0,0 @@ - - - - - - Code coverage report for components/Icon/Icon.map.tsx - - - - - - - - - -
-
-

All files / components/Icon Icon.map.tsx

-
- -
- 100% - Statements - 1/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 1/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377 -378 -379 -380 -381 -382 -383 -384 -385 -386 -387 -388 -389 -390 -391 -392 -393 -394 -395 -396 -397 -398 -399 -400 -401 -402 -403 -404 -405 -406 -407 -408 -409 -410 -411 -412 -413 -414 -415 -416 -417 -418 -419 -420 -421 -422 -423 -424 -425 -426 -427 -428 -429 -430 -431 -432 -433 -434 -435 -436 -437 -438 -439 -440 -441 -442 -443 -444 -445 -446 -447 -448 -449 -450 -451  -  -  -  -8x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
- 
-import {IconName} from './Icon.types';
- 
-export const IconMap : Record<IconName, JSX.Element> = {
-    user: (
-        <svg
-            width='20'
-            height='20'
-            viewBox='0 0 20 20'
-            fill='none'
-            xmlns='http://www.w3.org/2000/svg'
-        >
-            <path
-                d='M15.4 12.916C15.808 13.108 16.132 13.408 16.372 13.816C16.624 14.212 16.75 14.638 16.75 15.094C16.75 15.538 16.642 15.94 16.426 16.3C16.222 16.672 15.934 16.966 15.562 17.182C15.202 17.398 14.8 17.506 14.356 17.506H5.644C5.2 17.506 4.792 17.398 4.42 17.182C4.06 16.966 3.772 16.672 3.556 16.3C3.352 15.94 3.25 15.538 3.25 15.094C3.25 14.638 3.37 14.212 3.61 13.816C3.862 13.42 4.192 13.15 4.6 13.006L6.994 11.566C6.826 11.398 6.652 11.152 6.472 10.828C6.172 10.24 5.938 9.62805 5.77 8.99205C5.59 8.32005 5.5 7.65405 5.5 6.99405C5.5 6.10605 5.686 5.32005 6.058 4.63605C6.43 3.95205 6.958 3.42405 7.642 3.05205C8.326 2.68005 9.112 2.49405 10 2.49405C10.888 2.49405 11.674 2.68005 12.358 3.05205C13.042 3.42405 13.57 3.95205 13.942 4.63605C14.314 5.32005 14.5 6.10605 14.5 6.99405C14.5 7.65405 14.41 8.31405 14.23 8.97405C14.062 9.62205 13.828 10.216 13.528 10.756C13.468 10.876 13.354 11.038 13.186 11.242C13.102 11.362 13.042 11.446 13.006 11.494L15.4 12.916ZM6.994 6.99405C6.994 7.70205 7.108 8.38605 7.336 9.04605C7.576 9.75405 7.912 10.324 8.344 10.756C8.836 11.248 9.388 11.494 10 11.494C10.612 11.494 11.164 11.248 11.656 10.756C12.088 10.324 12.424 9.75405 12.664 9.04605C12.892 8.38605 13.006 7.70205 13.006 6.99405C13.006 5.99805 12.712 5.23605 12.124 4.70805C11.596 4.24005 10.888 4.00605 10 4.00605C9.112 4.00605 8.404 4.24005 7.876 4.70805C7.288 5.23605 6.994 5.99805 6.994 6.99405ZM14.356 15.994C14.62 15.994 14.83 15.91 14.986 15.742C15.154 15.562 15.22 15.346 15.184 15.094C15.184 14.914 15.136 14.752 15.04 14.608C14.944 14.464 14.812 14.35 14.644 14.266L11.728 12.556C11.188 12.856 10.612 13.006 10 13.006C9.424 13.006 8.824 12.856 8.2 12.556L5.284 14.266C5.116 14.35 4.984 14.464 4.888 14.608C4.792 14.752 4.744 14.914 4.744 15.094C4.744 15.358 4.828 15.574 4.996 15.742C5.164 15.91 5.38 15.994 5.644 15.994H14.356Z'
-                fill='#3F4350'
-                fillOpacity='0.56'
-            />
-        </svg>
-    ),
-    message: (
-        <svg
-            width='20'
-            height='20'
-            viewBox='0 0 20 20'
-            fill='none'
-            xmlns='http://www.w3.org/2000/svg'
-        >
-            <path
-                d='M15.994 2.49405C16.414 2.49405 16.768 2.64405 17.056 2.94405C17.356 3.23205 17.506 3.58605 17.506 4.00605V13.006C17.506 13.426 17.356 13.78 17.056 14.068C16.768 14.356 16.414 14.5 15.994 14.5H5.5L2.494 17.506V4.00605C2.494 3.58605 2.638 3.23205 2.926 2.94405C3.226 2.64405 3.586 2.49405 4.006 2.49405H15.994ZM4.006 4.00605V13.87L4.87 13.006H15.994V4.00605H4.006ZM5.5 6.25605H14.5V7.75005H5.5V6.25605ZM5.5 9.24405H12.25V10.756H5.5V9.24405Z'
-                fill='#3F4350'
-                fillOpacity='0.56'
-            />
-        </svg>
-    ),
-    connectAccount: (
-        <svg
-            width='218'
-            height='72'
-            viewBox='0 0 218 72'
-            fill='none'
-            xmlns='http://www.w3.org/2000/svg'
-        >
-            <path
-                fillRule='evenodd'
-                clipRule='evenodd'
-                d='M45.9789 30.6978C45.9789 30.6978 46.0689 34.6552 43.3247 37.3437C40.5801 40.0322 37.2091 39.7865 35.0163 39.044C32.8232 38.3016 29.9963 36.4491 29.4491 32.6467C28.9022 28.8439 31.3774 25.7547 31.3774 25.7547L36.7713 19.047L39.9128 15.2159L42.6094 11.8774C42.6094 11.8774 43.8468 10.2199 44.1995 9.87774C44.2694 9.80995 44.3411 9.76547 44.4114 9.73122L44.4626 9.7051L44.4717 9.70157C44.62 9.63766 44.7909 9.62389 44.9558 9.67968C45.1171 9.7344 45.2421 9.84526 45.3212 9.98189L45.3378 10.0084L45.3523 10.0387C45.3907 10.1115 45.4229 10.1944 45.438 10.2968C45.5101 10.783 45.4864 12.8515 45.4864 12.8515L45.6004 17.1412L45.7689 22.0928L45.9789 30.6978ZM52.9611 12.5351C62.9372 19.7957 67.5124 32.9721 63.3523 45.2959C58.2321 60.4625 41.8204 68.5955 26.6959 63.4613C11.5715 58.3268 3.46142 41.8699 8.5813 26.7033C12.7485 14.3594 24.3951 6.67548 36.74 7.01053L32.783 11.6988C25.4595 13.0266 19.1362 18.0418 16.6509 25.404C12.953 36.3576 19.151 48.359 30.4945 52.2094C41.8377 56.0602 54.0311 50.3022 57.7289 39.3487C60.2062 32.0108 58.2419 24.2033 53.2657 18.6903L52.9611 12.5351Z'
-                fill='#1E325C'
-            />
-            <path
-                d='M130.557 26.3423C130.891 26.0083 130.891 25.4668 130.557 25.1328L125.114 19.6903C124.78 19.3564 124.239 19.3564 123.905 19.6903C123.571 20.0243 123.571 20.5658 123.905 20.8998L128.742 25.7375L123.905 30.5753C123.571 30.9093 123.571 31.4508 123.905 31.7848C124.239 32.1187 124.78 32.1187 125.114 31.7848L130.557 26.3423ZM88.0469 26.5928H129.952V24.8823H88.0469V26.5928Z'
-                fill='#3F4350'
-                fillOpacity='0.24'
-            />
-            <path
-                d='M87.4415 46.8672C87.1075 46.5332 87.1075 45.9917 87.4415 45.6577L92.884 40.2152C93.2179 39.8813 93.7594 39.8813 94.0934 40.2152C94.4274 40.5492 94.4274 41.0907 94.0934 41.4247L89.2556 46.2625L94.0934 51.1002C94.4274 51.4342 94.4274 51.9757 94.0934 52.3097C93.7594 52.6436 93.2179 52.6436 92.884 52.3097L87.4415 46.8672ZM129.951 47.1177H88.0462V45.4072H129.951V47.1177Z'
-                fill='#3F4350'
-                fillOpacity='0.24'
-            />
-            <g clipPath='url(#clip0_1218_79968)'>
-                <rect
-                    width='72'
-                    height='72'
-                    transform='translate(145.951)'
-                    fill='white'
-                />
-                <path
-                    d='M195.488 28.125H212.981C213.775 28.125 214.536 28.4403 215.097 29.0016C215.659 29.5628 215.974 30.324 215.974 31.1177V47.0521C215.974 53.1265 211.05 58.0499 204.975 58.0499H204.924C198.85 58.0514 193.925 53.1281 193.924 47.0537V29.6889C193.924 28.825 194.624 28.125 195.488 28.125ZM207.311 24.9755C209.191 24.9755 210.994 24.2287 212.323 22.8995C213.652 21.5703 214.399 19.7675 214.399 17.8878C214.399 16.008 213.652 14.2052 212.323 12.876C210.994 11.5468 209.191 10.8 207.311 10.8C205.431 10.8 203.629 11.5468 202.299 12.876C200.97 14.2052 200.223 16.008 200.223 17.8878C200.223 19.7675 200.97 21.5703 202.299 22.8995C203.629 24.2287 205.431 24.9755 207.311 24.9755Z'
-                    fill='#5059C9'
-                />
-                <path
-                    d='M185.261 24.9753C190.914 24.9753 195.498 20.3914 195.498 14.7369C195.498 9.08389 190.914 4.5 185.261 4.5C179.607 4.5 175.024 9.08311 175.024 14.7377C175.024 20.3914 179.607 24.9753 185.261 24.9753ZM198.911 28.1249H170.035C169.25 28.1441 168.506 28.4739 167.964 29.0418C167.423 29.6096 167.129 30.3691 167.147 31.1535V49.3283C166.92 59.1274 174.673 67.2604 184.472 67.5C194.272 67.2604 202.026 59.1274 201.797 49.3275V31.1535C201.815 30.3693 201.522 29.61 200.98 29.0423C200.439 28.4746 199.694 28.1449 198.91 28.1257L198.911 28.1249Z'
-                    fill='#7B83EB'
-                />
-                <path
-                    opacity='0.1'
-                    d='M186.048 28.125V53.5931C186.044 54.1642 185.871 54.7215 185.552 55.1949C185.233 55.6683 184.78 56.0368 184.252 56.2542C183.909 56.4001 183.539 56.475 183.165 56.475H168.533C168.326 55.9586 168.142 55.4331 167.982 54.9002C167.431 53.0929 167.149 51.2141 167.147 49.3245V31.1497C167.129 30.3665 167.422 29.6079 167.963 29.0408C168.503 28.4736 169.247 28.1442 170.03 28.125H186.048Z'
-                    fill='black'
-                />
-                <path
-                    opacity='0.2'
-                    d='M184.472 28.125V55.1679C184.472 55.5409 184.397 55.9108 184.252 56.2542C184.035 56.7824 183.666 57.2346 183.193 57.554C182.719 57.8735 182.162 58.046 181.59 58.0498H169.274C169.005 57.5356 168.758 57.0102 168.533 56.475C168.322 55.9603 168.138 55.4346 167.982 54.9003C167.431 53.0929 167.149 51.2141 167.147 49.3245V31.1497C167.129 30.3665 167.422 29.6079 167.963 29.0408C168.503 28.4736 169.247 28.1442 170.03 28.125H184.472Z'
-                    fill='black'
-                />
-                <path
-                    opacity='0.2'
-                    d='M184.472 28.125V52.0176C184.467 52.7802 184.161 53.51 183.622 54.0493C183.083 54.5887 182.353 54.8943 181.59 54.9002H167.982C167.431 53.0929 167.149 51.2141 167.147 49.3245V31.1497C167.129 30.3665 167.422 29.6079 167.963 29.0408C168.503 28.4736 169.247 28.1442 170.03 28.125H184.472Z'
-                    fill='black'
-                />
-                <path
-                    opacity='0.2'
-                    d='M182.897 28.125V52.0176C182.892 52.7802 182.586 53.51 182.047 54.0493C181.508 54.5887 180.778 54.8943 180.016 54.9002H167.982C167.431 53.0929 167.149 51.2141 167.147 49.3245V31.1497C167.129 30.3665 167.422 29.6079 167.963 29.0408C168.503 28.4736 169.247 28.1442 170.03 28.125H182.897Z'
-                    fill='black'
-                />
-                <path
-                    opacity='0.1'
-                    d='M186.048 19.9828V24.9436C185.78 24.9592 185.529 24.9748 185.26 24.9748C184.993 24.9748 184.741 24.9592 184.473 24.9436C183.941 24.9083 183.414 24.8239 182.898 24.6915C181.326 24.3191 179.864 23.5798 178.632 22.5341C177.4 21.4884 176.433 20.1659 175.811 18.6749C175.593 18.167 175.425 17.6398 175.307 17.1001H183.166C183.929 17.103 184.661 17.4076 185.201 17.9476C185.741 18.4876 186.046 19.2191 186.048 19.9828Z'
-                    fill='black'
-                />
-                <path
-                    opacity='0.2'
-                    d='M184.473 21.5577V24.9445C183.941 24.909 183.414 24.8243 182.898 24.6917C181.326 24.3193 179.864 23.58 178.632 22.5343C177.4 21.4885 176.433 20.1661 175.811 18.675H181.591C182.354 18.6779 183.086 18.9826 183.626 19.5226C184.166 20.0626 184.47 20.7942 184.473 21.5577Z'
-                    fill='black'
-                />
-                <path
-                    opacity='0.2'
-                    d='M184.473 21.5577V24.9445C183.941 24.909 183.414 24.8243 182.898 24.6917C181.326 24.3193 179.864 23.58 178.632 22.5343C177.4 21.4885 176.433 20.1661 175.811 18.675H181.591C182.354 18.6779 183.086 18.9826 183.626 19.5226C184.166 20.0626 184.47 20.7942 184.473 21.5577Z'
-                    fill='black'
-                />
-                <path
-                    opacity='0.2'
-                    d='M182.898 21.5577V24.6917C181.326 24.3192 179.864 23.5799 178.632 22.5342C177.4 21.4885 176.433 20.166 175.811 18.675H180.016C180.779 18.6781 181.511 18.9829 182.051 19.5228C182.59 20.0628 182.895 20.7942 182.898 21.5577Z'
-                    fill='black'
-                />
-                <path
-                    d='M151.135 18.6758H180.011C180.776 18.6758 181.511 18.9799 182.052 19.5212C182.594 20.0626 182.898 20.7968 182.898 21.5624V50.4384C182.898 51.2042 182.594 51.9386 182.052 52.4801C181.511 53.0216 180.776 53.3258 180.011 53.3258H151.135C150.37 53.3258 149.635 53.0216 149.094 52.4801C148.552 51.9386 148.248 51.2042 148.248 50.4384V21.5624C148.248 20.7966 148.552 20.0622 149.094 19.5207C149.635 18.9793 150.37 18.675 151.135 18.675V18.6758Z'
-                    fill='url(#paint0_linear_1218_79968)'
-                />
-                <path
-                    d='M173.172 29.6646H167.4V45.3828H163.722V29.6646H157.977V26.6157H173.172V29.6646Z'
-                    fill='white'
-                />
-            </g>
-            <defs>
-                <linearGradient
-                    id='paint0_linear_1218_79968'
-                    x1='154.267'
-                    y1='16.4198'
-                    x2='176.878'
-                    y2='55.5811'
-                    gradientUnits='userSpaceOnUse'
-                >
-                    <stop stopColor='#5A62C3'/>
-                    <stop
-                        offset='0.5'
-                        stopColor='#4D55BD'
-                    />
-                    <stop
-                        offset='1'
-                        stopColor='#3940AB'
-                    />
-                </linearGradient>
-                <clipPath id='clip0_1218_79968'>
-                    <rect
-                        width='72'
-                        height='72'
-                        fill='white'
-                        transform='translate(145.951)'
-                    />
-                </clipPath>
-            </defs>
-        </svg>
-    ),
-    warning: (
-        <svg
-            xmlns='http://www.w3.org/2000/svg'
-            width='22'
-            height='20'
-            viewBox='0 0 22 20'
-            fill='none'
-        >
-            <path
-                d='M20.648 14.5839C20.904 15.0479 21.024 15.5439 21.008 16.0719C20.992 16.5999 20.848 17.0959 20.576 17.5599C20.304 18.0079 19.936 18.3599 19.472 18.6159C19.024 18.8719 18.536 18.9999 18.008 18.9999H4.016C3.472 18.9999 2.968 18.8719 2.504 18.6159C2.056 18.3599 1.696 18.0079 1.424 17.5599C1.152 17.0959 1.008 16.5999 0.992 16.0719C0.976 15.5439 1.096 15.0479 1.352 14.5839L8.36 1.5759C8.616 1.0799 8.976 0.695901 9.44 0.423902C9.92 0.135902 10.44 -0.00809813 11 -0.00809813C11.56 -0.00809813 12.072 0.135902 12.536 0.423902C13.016 0.695901 13.384 1.0799 13.64 1.5759L20.648 14.5839ZM18.008 17.0079C18.248 17.0079 18.456 16.9359 18.632 16.7919C18.808 16.6319 18.92 16.4399 18.968 16.2159C19.016 15.9759 18.984 15.7439 18.872 15.5199L11.888 2.5359C11.792 2.3599 11.664 2.2319 11.504 2.1519C11.344 2.0559 11.176 2.0079 11 2.0079C10.824 2.0079 10.656 2.0559 10.496 2.1519C10.336 2.2319 10.208 2.3599 10.112 2.5359L3.128 15.5199C3.016 15.7439 2.984 15.9759 3.032 16.2159C3.08 16.4399 3.192 16.6319 3.368 16.7919C3.544 16.9359 3.752 17.0079 3.992 17.0079H18.008ZM11.504 11.0079L12.008 5.0079H9.992L10.496 11.0079H11.504ZM12.008 14.0079C12.008 13.7359 11.904 13.5039 11.696 13.3119C11.504 13.1039 11.272 12.9999 11 12.9999C10.728 12.9999 10.488 13.1039 10.28 13.3119C10.088 13.5039 9.992 13.7359 9.992 14.0079C9.992 14.2799 10.088 14.5119 10.28 14.7039C10.488 14.8959 10.728 14.9919 11 14.9919C11.272 14.9919 11.504 14.8959 11.696 14.7039C11.904 14.5119 12.008 14.2799 12.008 14.0079Z'
-                fill='#D24B4E'
-            />
-        </svg>
-    ),
-    close: (
-        <svg
-            xmlns='http://www.w3.org/2000/svg'
-            width='16'
-            height='16'
-            viewBox='0 0 16 16'
-            fill='none'
-        >
-            <path
-                d='M13.256 3.80605L9.062 8.00005L13.256 12.194L12.194 13.256L8 9.06205L3.806 13.256L2.744 12.194L6.938 8.00005L2.744 3.80605L3.806 2.74405L8 6.93805L12.194 2.74405L13.256 3.80605Z'
-                fill='#3F4350'
-            />
-        </svg>
-    ),
-    globe: (
-        <svg
-            xmlns='http://www.w3.org/2000/svg'
-            width='24'
-            height='24'
-            viewBox='0 0 24 24'
-            fill='none'
-        >
-            <path
-                d='M12 4.49405C13.356 4.49405 14.616 4.83605 15.78 5.52005C16.908 6.19205 17.808 7.09205 18.48 8.22005C19.164 9.38405 19.506 10.644 19.506 12C19.506 13.356 19.164 14.616 18.48 15.78C17.808 16.908 16.908 17.808 15.78 18.48C14.616 19.164 13.356 19.506 12 19.506C10.644 19.506 9.384 19.164 8.22 18.48C7.092 17.808 6.192 16.908 5.52 15.78C4.836 14.616 4.494 13.356 4.494 12C4.494 10.644 4.836 9.38405 5.52 8.22005C6.192 7.09205 7.092 6.19205 8.22 5.52005C9.384 4.83605 10.644 4.49405 12 4.49405ZM17.994 12.378V12C17.994 11.316 17.922 10.716 17.778 10.2C17.754 10.224 17.7 10.248 17.616 10.272C17.544 10.296 17.496 10.32 17.472 10.344C16.896 10.608 16.074 10.836 15.006 11.028V13.566C15.786 13.434 16.476 13.236 17.076 12.972C17.556 12.756 17.862 12.558 17.994 12.378ZM10.884 15.294C11.016 15.99 11.202 16.59 11.442 17.094C11.634 17.514 11.82 17.79 12 17.922C12.168 17.802 12.348 17.526 12.54 17.094C12.756 16.614 12.954 16.014 13.134 15.294C12.882 15.342 12.504 15.366 12 15.366C11.868 15.366 11.676 15.354 11.424 15.33C11.184 15.306 11.004 15.294 10.884 15.294ZM12 13.872C12.648 13.872 13.122 13.848 13.422 13.8C13.422 13.632 13.434 13.368 13.458 13.008C13.482 12.576 13.494 12.24 13.494 12V11.172C13.146 11.22 12.648 11.244 12 11.244C11.352 11.244 10.854 11.22 10.506 11.172V12C10.506 12.24 10.518 12.576 10.542 13.008C10.566 13.368 10.578 13.632 10.578 13.8C10.878 13.848 11.352 13.872 12 13.872ZM13.35 9.67805C13.206 8.71805 12.99 7.87805 12.702 7.15805C12.462 6.55805 12.228 6.17405 12 6.00605C11.772 6.17405 11.538 6.55805 11.298 7.15805C11.01 7.87805 10.794 8.71805 10.65 9.67805C10.95 9.72605 11.4 9.75005 12 9.75005C12.6 9.75005 13.05 9.72605 13.35 9.67805ZM17.094 8.85005C16.362 7.66205 15.342 6.83405 14.034 6.36605C14.214 6.78605 14.376 7.27205 14.52 7.82405C14.664 8.37605 14.772 8.94005 14.844 9.51605C15.276 9.45605 15.708 9.35405 16.14 9.21005C16.392 9.12605 16.71 9.00605 17.094 8.85005ZM6.906 8.85005C7.482 9.09005 8.232 9.31205 9.156 9.51605C9.372 8.25605 9.672 7.20605 10.056 6.36605C9.396 6.58205 8.796 6.91205 8.256 7.35605C7.74 7.76405 7.29 8.26205 6.906 8.85005ZM6.294 10.2C6.186 10.452 6.114 10.74 6.078 11.064C6.042 11.388 6.042 11.7 6.078 12V12.378C6.21 12.558 6.522 12.756 7.014 12.972C7.614 13.236 8.304 13.434 9.084 13.566C9.024 13.218 8.994 12.696 8.994 12C8.994 11.76 9 11.586 9.012 11.478C9.024 11.31 9.048 11.16 9.084 11.028C8.076 10.86 7.248 10.632 6.6 10.344L6.456 10.29C6.384 10.254 6.33 10.224 6.294 10.2ZM6.528 14.394C6.864 15.15 7.338 15.81 7.95 16.374C8.562 16.938 9.264 17.352 10.056 17.616C9.672 16.776 9.42 15.954 9.3 15.15C8.388 15.018 7.464 14.766 6.528 14.394ZM17.472 14.394C16.812 14.73 15.888 14.982 14.7 15.15C14.58 15.954 14.328 16.776 13.944 17.616C14.736 17.352 15.438 16.938 16.05 16.374C16.662 15.81 17.136 15.15 17.472 14.394Z'
-                fill='#3F4350'
-                fillOpacity='0.56'
-            />
-        </svg>
-    ),
-    msTeams: (
-        <svg
-            xmlns='http://www.w3.org/2000/svg'
-            width='24'
-            height='24'
-            viewBox='0 0 24 24'
-            fill='none'
-        >
-            <path
-                d='M14.9979 10.2499H18.8854C19.0617 10.2499 19.2309 10.32 19.3556 10.4447C19.4804 10.5694 19.5504 10.7386 19.5504 10.9149V14.4559C19.5504 15.8058 18.4562 16.8999 17.1063 16.8999H17.0949C15.745 16.9002 14.6506 15.8061 14.6504 14.4563V10.5974C14.6504 10.4055 14.8059 10.2499 14.9979 10.2499ZM17.6253 9.54999C18.0431 9.54999 18.4437 9.38405 18.7391 9.08867C19.0344 8.79329 19.2004 8.39268 19.2004 7.97495C19.2004 7.55722 19.0344 7.1566 18.7391 6.86122C18.4437 6.56584 18.0431 6.3999 17.6253 6.3999C17.2076 6.3999 16.807 6.56584 16.5116 6.86122C16.2162 7.1566 16.0503 7.55722 16.0503 7.97495C16.0503 8.39268 16.2162 8.79329 16.5116 9.08867C16.807 9.38405 17.2076 9.54999 17.6253 9.54999Z'
-                fill='#5059C9'
-            />
-            <path
-                d='M12.7255 9.55007C13.9818 9.55007 15.0003 8.53143 15.0003 7.27486C15.0003 6.01864 13.9818 5 12.7255 5C11.4691 5 10.4506 6.01847 10.4506 7.27504C10.4506 8.53143 11.4691 9.55007 12.7255 9.55007ZM15.7588 10.25H9.34194C9.16765 10.2543 9.00217 10.3275 8.88186 10.4537C8.76156 10.5799 8.69626 10.7487 8.70031 10.923V14.9618C8.64967 17.1394 10.3726 18.9468 12.5503 19C14.7281 18.9468 16.4511 17.1394 16.4003 14.9617V10.923C16.4043 10.7487 16.339 10.58 16.2187 10.4538C16.0984 10.3277 15.9329 10.2544 15.7587 10.2502L15.7588 10.25Z'
-                fill='#7B83EB'
-            />
-            <path
-                opacity='0.1'
-                d='M12.8995 10.25V15.9096C12.8987 16.0365 12.8603 16.1603 12.7893 16.2655C12.7183 16.3707 12.6179 16.4526 12.5005 16.5009C12.4242 16.5334 12.342 16.55 12.2589 16.55H9.00739C8.96137 16.4352 8.92052 16.3185 8.88496 16.2001C8.76241 15.7984 8.69989 15.3809 8.6994 14.961V10.9222C8.6953 10.7481 8.76047 10.5795 8.88059 10.4535C9.00071 10.3275 9.16594 10.2543 9.34 10.25H12.8995Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M12.5494 10.25V16.2595C12.5494 16.3424 12.5327 16.4246 12.5005 16.5009C12.4522 16.6183 12.3702 16.7188 12.265 16.7898C12.1598 16.8608 12.0359 16.8991 11.909 16.9H9.17196C9.11216 16.7857 9.05725 16.6689 9.00739 16.55C8.96037 16.4356 8.9195 16.3188 8.88496 16.2001C8.76241 15.7984 8.69989 15.3809 8.6994 14.961V10.9222C8.6953 10.7481 8.76047 10.5795 8.88059 10.4535C9.00071 10.3275 9.16594 10.2543 9.34 10.25H12.5494Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M12.5494 10.25V15.5595C12.5481 15.7289 12.4803 15.8911 12.3604 16.011C12.2406 16.1308 12.0784 16.1987 11.909 16.2001H8.88496C8.76241 15.7984 8.69989 15.3809 8.6994 14.961V10.9222C8.6953 10.7481 8.76047 10.5795 8.88059 10.4535C9.00071 10.3275 9.16594 10.2543 9.34 10.25H12.5494Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M12.1994 10.25V15.5595C12.1982 15.7289 12.1303 15.8911 12.0105 16.011C11.8907 16.1308 11.7285 16.1987 11.559 16.2001H8.88496C8.76241 15.7984 8.69989 15.3809 8.6994 14.961V10.9222C8.6953 10.7481 8.76047 10.5795 8.88059 10.4535C9.00071 10.3275 9.16594 10.2543 9.34 10.25H12.1994Z'
-                fill='black'
-            />
-            <path
-                opacity='0.1'
-                d='M12.9007 8.44065V9.54305C12.8411 9.54652 12.7852 9.54998 12.7256 9.54998C12.6661 9.54998 12.6101 9.54652 12.5506 9.54305C12.4325 9.5352 12.3153 9.51645 12.2007 9.48703C11.8513 9.40427 11.5264 9.23999 11.2527 9.0076C10.9789 8.77522 10.7641 8.48134 10.6257 8.15C10.5774 8.03715 10.5399 7.91997 10.5137 7.80005H12.2601C12.4298 7.80069 12.5924 7.86838 12.7124 7.98838C12.8324 8.10838 12.9001 8.27095 12.9007 8.44065Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M12.5499 8.7905V9.54312C12.4318 9.53522 12.3146 9.51641 12.2 9.48694C11.8506 9.40418 11.5257 9.23989 11.252 9.0075C10.9782 8.77512 10.7634 8.48124 10.625 8.1499H11.9095C12.0792 8.15054 12.2417 8.21824 12.3617 8.33825C12.4817 8.45825 12.5493 8.62081 12.5499 8.7905Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M12.5499 8.7905V9.54312C12.4318 9.53522 12.3146 9.51641 12.2 9.48694C11.8506 9.40418 11.5257 9.23989 11.252 9.0075C10.9782 8.77512 10.7634 8.48124 10.625 8.1499H11.9095C12.0792 8.15054 12.2417 8.21824 12.3617 8.33825C12.4817 8.45825 12.5493 8.62081 12.5499 8.7905Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M12.2 8.7905V9.48694C11.8506 9.40416 11.5257 9.23987 11.252 9.00749C10.9782 8.7751 10.7634 8.48123 10.625 8.1499H11.5595C11.7292 8.15059 11.8917 8.2183 12.0117 8.3383C12.1316 8.45829 12.1993 8.62083 12.2 8.7905Z'
-                fill='black'
-            />
-            <path
-                d='M5.14164 8.15008H11.5584C11.7285 8.15008 11.8917 8.21765 12.012 8.33795C12.1323 8.45824 12.1999 8.6214 12.2 8.79154V15.2084C12.2 15.3786 12.1324 15.5418 12.0121 15.6621C11.8917 15.7825 11.7285 15.8501 11.5584 15.8501H5.14164C4.97146 15.8501 4.80826 15.7825 4.68793 15.6621C4.5676 15.5418 4.5 15.3786 4.5 15.2084V8.79154C4.5 8.62137 4.5676 8.45816 4.68793 8.33783C4.80826 8.2175 4.97146 8.1499 5.14164 8.1499V8.15008Z'
-                fill='url(#paint0_linear_1519_21312)'
-            />
-            <path
-                d='M10.0389 10.5921H8.7561V14.085H7.93897V10.5921H6.66211V9.91455H10.0389V10.5921Z'
-                fill='white'
-            />
-            <defs>
-                <linearGradient
-                    id='paint0_linear_1519_21312'
-                    x1='5.83755'
-                    y1='7.64873'
-                    x2='10.8623'
-                    y2='16.3512'
-                    gradientUnits='userSpaceOnUse'
-                >
-                    <stop stopColor='#5A62C3'/>
-                    <stop
-                        offset='0.5'
-                        stopColor='#4D55BD'
-                    />
-                    <stop
-                        offset='1'
-                        stopColor='#3940AB'
-                    />
-                </linearGradient>
-            </defs>
-        </svg>
-    ),
-    link: (
-        <svg
-            xmlns='http://www.w3.org/2000/svg'
-            width='19'
-            height='19'
-            viewBox='0 0 19 19'
-            fill='none'
-        >
-            <rect
-                width='18'
-                height='18'
-                transform='translate(0.5 0.5)'
-                fill='white'
-            />
-            <path
-                d='M8.6504 10.3596C8.7752 10.4748 8.8376 10.6188 8.8376 10.7916C8.8376 10.9548 8.7752 11.094 8.6504 11.2092C8.5352 11.3244 8.3912 11.382 8.2184 11.382C8.0552 11.382 7.916 11.3244 7.8008 11.2092C7.4168 10.8252 7.1576 10.3788 7.0232 9.87005C6.8888 9.35165 6.8888 8.83325 7.0232 8.31485C7.1576 7.79645 7.4168 7.34525 7.8008 6.96125L9.932 4.84445C10.316 4.46045 10.7624 4.20125 11.2712 4.06685C11.7896 3.93245 12.3032 3.93245 12.812 4.06685C13.3304 4.20125 13.7816 4.46045 14.1656 4.84445C14.5496 5.22845 14.8088 5.67965 14.9432 6.19805C15.0776 6.70685 15.0776 7.22045 14.9432 7.73885C14.8088 8.24765 14.5496 8.69405 14.1656 9.07805L13.2728 9.97085C13.2824 9.48125 13.2008 9.00125 13.028 8.53085L13.316 8.24285C13.5464 8.01245 13.7 7.74365 13.7768 7.43645C13.8632 7.12925 13.8632 6.82205 13.7768 6.51485C13.7 6.19805 13.5464 5.92445 13.316 5.69405C13.0856 5.46365 12.812 5.31005 12.4952 5.23325C12.188 5.14685 11.8808 5.14685 11.5736 5.23325C11.2664 5.31005 10.9976 5.46365 10.7672 5.69405L8.6504 7.81085C8.42 8.04125 8.2616 8.31485 8.1752 8.63165C8.0984 8.93885 8.0984 9.24605 8.1752 9.55325C8.2616 9.86045 8.42 10.1292 8.6504 10.3596ZM10.3496 7.81085C10.4648 7.69565 10.604 7.63805 10.7672 7.63805C10.94 7.63805 11.084 7.69565 11.1992 7.81085C11.5832 8.19485 11.8424 8.64605 11.9768 9.16445C12.1112 9.67325 12.1112 10.1868 11.9768 10.7052C11.8424 11.2236 11.5832 11.6748 11.1992 12.0588L9.068 14.1756C8.684 14.5596 8.2328 14.8188 7.7144 14.9532C7.2056 15.0876 6.692 15.0876 6.1736 14.9532C5.6648 14.8188 5.2184 14.5596 4.8344 14.1756C4.4504 13.7916 4.1912 13.3452 4.0568 12.8364C3.9224 12.318 3.9224 11.8044 4.0568 11.2956C4.1912 10.7772 4.4504 10.326 4.8344 9.94205L5.7272 9.03485C5.7272 9.56285 5.8088 10.0524 5.972 10.5036L5.684 10.7772C5.4536 11.0076 5.2952 11.2764 5.2088 11.5836C5.132 11.8908 5.132 12.2028 5.2088 12.5196C5.2952 12.8268 5.4536 13.0956 5.684 13.326C5.9144 13.5564 6.1832 13.7148 6.4904 13.8012C6.7976 13.878 7.1048 13.878 7.412 13.8012C7.7288 13.7148 8.0024 13.5564 8.2328 13.326L10.3496 11.2092C10.58 10.9788 10.7336 10.71 10.8104 10.4028C10.8968 10.086 10.8968 9.77405 10.8104 9.46685C10.7336 9.15965 10.58 8.89085 10.3496 8.66045C10.2248 8.54525 10.1624 8.40605 10.1624 8.24285C10.1624 8.07005 10.2248 7.92605 10.3496 7.81085Z'
-                fill='#3F4350'
-                fillOpacity='0.32'
-            />
-        </svg>
-    ),
-    noChannels: (
-        <svg
-            xmlns='http://www.w3.org/2000/svg'
-            width='158'
-            height='140'
-            viewBox='0 0 158 140'
-            fill='none'
-        >
-            <ellipse
-                cx='56.2442'
-                cy='121.612'
-                rx='39.6074'
-                ry='3.34711'
-                fill='black'
-                fillOpacity='0.06'
-            />
-            <ellipse
-                cx='106.5'
-                cy='112.5'
-                rx='29.5'
-                ry='3.5'
-                fill='black'
-                fillOpacity='0.06'
-            />
-            <path
-                d='M74.5981 20.2251L132.474 20.2251C133.535 20.2216 134.586 20.4265 135.567 20.8282C136.548 21.2299 137.441 21.8206 138.193 22.5665C138.946 23.3124 139.544 24.1989 139.953 25.1754C140.362 26.1519 140.575 27.1993 140.578 28.2577V64.9634C140.575 66.0218 140.362 67.0692 139.953 68.0457C139.544 69.0222 138.946 69.9087 138.193 70.6546C137.441 71.4004 136.548 71.9911 135.567 72.3929C134.586 72.7946 133.535 72.9995 132.474 72.9959H123.933V86.7358L111.121 72.9959H74.6186C73.5579 72.9995 72.507 72.7946 71.5257 72.3929C70.5444 71.9911 69.652 71.4004 68.8995 70.6546C68.147 69.9087 67.549 69.0222 67.1398 68.0457C66.7306 67.0692 66.5182 66.0218 66.5146 64.9634V28.2577C66.5218 26.1237 67.3769 24.0796 68.8922 22.5738C70.4076 21.0679 72.4596 20.2233 74.5981 20.2251Z'
-                fill='#28427B'
-            />
-            <path
-                d='M111.121 72.9959H74.6189C73.5582 72.9995 72.5073 72.7945 71.526 72.3928C70.5447 71.9911 69.6523 71.4004 68.8998 70.6545C68.1473 69.9086 67.5493 69.0221 67.1401 68.0456C66.7309 67.0691 66.5184 66.0218 66.5149 64.9633V42.6794C66.5149 42.6794 69.0636 63.2859 69.5214 65.0997C69.9792 66.9135 70.888 69.6274 75.1929 70.0774C79.4977 70.5275 111.121 72.9959 111.121 72.9959Z'
-                fill='#1E325C'
-            />
-            <path
-                d='M134.572 35.5949C133.984 33.5178 132.989 31.5772 131.647 29.885C130.304 28.1928 128.639 26.7823 126.748 25.7349C126.636 25.6784 126.546 25.5864 126.492 25.4733C126.438 25.3603 126.423 25.2325 126.449 25.1101C126.476 24.9876 126.542 24.8775 126.638 24.7968C126.734 24.7162 126.855 24.6696 126.98 24.6644C130.629 24.4462 137.995 25.2235 135.685 35.5404C135.661 35.6663 135.595 35.7804 135.498 35.8645C135.401 35.9485 135.278 35.9976 135.15 36.0039C135.022 36.0102 134.895 35.9733 134.79 35.8992C134.685 35.825 134.608 35.7179 134.572 35.5949Z'
-                fill='#32539A'
-            />
-            <path
-                d='M110.373 41.8389H119.048C119.441 41.8389 119.819 41.9953 120.097 42.2736C120.375 42.5519 120.532 42.9294 120.532 43.3229V51.2243C120.532 54.2364 118.09 56.6777 115.078 56.6777H115.052C112.04 56.6785 109.598 54.2371 109.598 51.225V42.6144C109.598 42.1861 109.945 41.8389 110.373 41.8389ZM116.236 40.2772C117.168 40.2772 118.062 39.9069 118.721 39.2478C119.38 38.5887 119.751 37.6947 119.751 36.7626C119.751 35.8305 119.38 34.9365 118.721 34.2774C118.062 33.6183 117.168 33.248 116.236 33.248C115.304 33.248 114.41 33.6183 113.751 34.2774C113.092 34.9365 112.721 35.8305 112.721 36.7626C112.721 37.6947 113.092 38.5887 113.751 39.2478C114.41 39.9069 115.304 40.2772 116.236 40.2772Z'
-                fill='#5059C9'
-            />
-            <path
-                d='M105.303 40.2771C108.106 40.2771 110.379 38.0041 110.379 35.2002C110.379 32.397 108.106 30.124 105.303 30.124C102.499 30.124 100.226 32.3966 100.226 35.2006C100.226 38.0041 102.499 40.2771 105.303 40.2771ZM112.071 41.8389H97.7525C97.3636 41.8484 96.9944 42.0119 96.7259 42.2935C96.4575 42.5751 96.3117 42.9517 96.3208 43.3406V52.3529C96.2078 57.212 100.052 61.2449 104.912 61.3637C109.771 61.2449 113.616 57.212 113.503 52.3526V43.3406C113.512 42.9518 113.366 42.5752 113.097 42.2937C112.829 42.0122 112.46 41.8488 112.071 41.8392L112.071 41.8389Z'
-                fill='#7B83EB'
-            />
-            <path
-                opacity='0.1'
-                d='M105.693 41.8389V54.4677C105.691 54.7509 105.605 55.0272 105.447 55.262C105.289 55.4967 105.064 55.6794 104.802 55.7872C104.632 55.8596 104.449 55.8967 104.263 55.8967H97.008C96.9053 55.6407 96.8141 55.3801 96.7348 55.1159C96.4613 54.2197 96.3218 53.288 96.3207 52.351V43.3387C96.3116 42.9503 96.457 42.5742 96.725 42.293C96.9931 42.0117 97.3618 41.8484 97.7501 41.8389H105.693Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M104.912 41.8389V55.2486C104.912 55.4335 104.874 55.617 104.802 55.7872C104.695 56.0491 104.512 56.2734 104.277 56.4318C104.042 56.5902 103.766 56.6757 103.483 56.6776H97.3752C97.2417 56.4227 97.1192 56.1621 97.008 55.8967C96.903 55.6415 96.8118 55.3808 96.7348 55.1159C96.4613 54.2197 96.3218 53.288 96.3207 52.351V43.3387C96.3116 42.9503 96.457 42.5742 96.725 42.293C96.9931 42.0117 97.3618 41.8484 97.7501 41.8389H104.912Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M104.912 41.8389V53.6864C104.909 54.0646 104.757 54.4265 104.49 54.6939C104.223 54.9614 103.861 55.1129 103.483 55.1159H96.7348C96.4613 54.2197 96.3218 53.288 96.3207 52.351V43.3387C96.3116 42.9503 96.457 42.5742 96.725 42.293C96.9931 42.0117 97.3618 41.8484 97.7501 41.8389H104.912Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M104.131 41.8389V53.6864C104.128 54.0646 103.976 54.4265 103.709 54.6939C103.442 54.9614 103.08 55.1129 102.702 55.1159H96.7348C96.4613 54.2197 96.3218 53.288 96.3207 52.351V43.3387C96.3116 42.9503 96.457 42.5742 96.725 42.293C96.9931 42.0117 97.3618 41.8484 97.7501 41.8389H104.131Z'
-                fill='black'
-            />
-            <path
-                opacity='0.1'
-                d='M105.694 37.8013V40.2612C105.561 40.2689 105.436 40.2766 105.303 40.2766C105.17 40.2766 105.045 40.2689 104.912 40.2612C104.649 40.2437 104.387 40.2018 104.132 40.1362C103.352 39.9515 102.627 39.5849 102.016 39.0664C101.405 38.5478 100.926 37.8921 100.617 37.1527C100.509 36.9009 100.426 36.6394 100.367 36.3718H104.264C104.643 36.3733 105.006 36.5243 105.273 36.7921C105.541 37.0598 105.692 37.4226 105.694 37.8013Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M104.912 38.5823V40.2617C104.649 40.244 104.387 40.2021 104.132 40.1363C103.352 39.9516 102.627 39.585 102.016 39.0665C101.405 38.5479 100.926 37.8922 100.617 37.1528H103.483C103.862 37.1543 104.225 37.3053 104.492 37.5731C104.76 37.8409 104.911 38.2036 104.912 38.5823Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M104.912 38.5823V40.2617C104.649 40.244 104.387 40.2021 104.132 40.1363C103.352 39.9516 102.627 39.585 102.016 39.0665C101.405 38.5479 100.926 37.8922 100.617 37.1528H103.483C103.862 37.1543 104.225 37.3053 104.492 37.5731C104.76 37.8409 104.911 38.2036 104.912 38.5823Z'
-                fill='black'
-            />
-            <path
-                opacity='0.2'
-                d='M104.132 38.5823V40.1363C103.352 39.9516 102.627 39.585 102.016 39.0664C101.405 38.5479 100.926 37.8922 100.617 37.1528H102.703C103.081 37.1544 103.444 37.3055 103.711 37.5732C103.979 37.841 104.13 38.2037 104.132 38.5823Z'
-                fill='black'
-            />
-            <path
-                d='M88.381 37.1532H102.699C103.079 37.1532 103.443 37.304 103.712 37.5724C103.98 37.8409 104.131 38.2049 104.131 38.5846V52.9033C104.131 53.283 103.98 53.6472 103.712 53.9157C103.443 54.1842 103.079 54.335 102.699 54.335H88.381C88.0012 54.335 87.6371 54.1842 87.3686 53.9157C87.1001 53.6472 86.9492 53.283 86.9492 52.9033V38.5846C86.9492 38.2049 87.1001 37.8407 87.3686 37.5722C87.6371 37.3037 88.0012 37.1528 88.381 37.1528V37.1532Z'
-                fill='url(#paint0_linear_1218_78619)'
-            />
-            <path
-                d='M99.3083 42.6027H96.446V50.3968H94.6226V42.6027H91.7734V41.0908H99.3083V42.6027Z'
-                fill='white'
-            />
-            <path
-                d='M83.4019 48.1177H25.5259C24.4652 48.1141 23.4143 48.3191 22.433 48.7208C21.4517 49.1225 20.5593 49.7132 19.8068 50.4591C19.0543 51.205 18.4563 52.0915 18.0471 53.068C17.6379 54.0445 17.4255 55.0919 17.4219 56.1503V92.8559C17.4255 93.9144 17.6379 94.9617 18.0471 95.9382C18.4563 96.9147 19.0543 97.8012 19.8068 98.5471C20.5593 99.293 21.4517 99.8837 22.433 100.285C23.4143 100.687 24.4652 100.892 25.5259 100.889H34.0672V114.628L46.8792 100.889H83.3814C84.4421 100.892 85.493 100.687 86.4743 100.285C87.4556 99.8837 88.348 99.293 89.1005 98.5471C89.853 97.8012 90.451 96.9147 90.8602 95.9382C91.2694 94.9617 91.4818 93.9144 91.4854 92.8559V56.1503C91.4782 54.0162 90.6231 51.9721 89.1078 50.4663C87.5924 48.9605 85.5404 48.1159 83.4019 48.1177Z'
-                fill='#386FE5'
-            />
-            <path
-                d='M46.8789 100.888H83.3811C84.4418 100.892 85.4927 100.687 86.474 100.285C87.4553 99.8837 88.3477 99.293 89.1002 98.5471C89.8527 97.8012 90.4507 96.9147 90.8599 95.9382C91.2691 94.9617 91.4816 93.9143 91.4851 92.8559V70.572C91.4851 70.572 88.9364 91.1785 88.4786 92.9923C88.0208 94.8061 87.112 97.52 82.8071 97.97C78.5023 98.4201 46.8789 100.888 46.8789 100.888Z'
-                fill='#1C58D9'
-            />
-            <path
-                d='M23.4284 63.4875C24.0165 61.4103 25.0105 59.4698 26.3533 57.7776C27.6961 56.0853 29.361 54.6749 31.2523 53.6275C31.3643 53.571 31.4544 53.479 31.5084 53.3659C31.5624 53.2528 31.5773 53.1251 31.5507 53.0026C31.5241 52.8802 31.4576 52.77 31.3616 52.6894C31.2655 52.6087 31.1454 52.5622 31.02 52.557C27.3711 52.3388 20.0051 53.1161 22.3146 63.433C22.339 63.5589 22.405 63.673 22.5021 63.7571C22.5992 63.8411 22.7217 63.8902 22.8501 63.8965C22.9785 63.9028 23.1052 63.8659 23.2101 63.7917C23.3149 63.7176 23.3918 63.6105 23.4284 63.4875Z'
-                fill='#5D89EA'
-            />
-            <path
-                fillRule='evenodd'
-                clipRule='evenodd'
-                d='M59.0545 71.3247C59.0545 71.3247 59.1012 73.3801 57.6759 74.7765C56.2504 76.1728 54.4996 76.0452 53.3607 75.6596C52.2216 75.274 50.7534 74.3118 50.4692 72.3369C50.1852 70.3619 51.4708 68.7574 51.4708 68.7574L54.2722 65.2735L55.9038 63.2838L57.3044 61.5498C57.3044 61.5498 57.9471 60.6889 58.1303 60.5112C58.1666 60.476 58.2038 60.4529 58.2403 60.4351L58.2669 60.4216L58.2717 60.4197C58.3487 60.3865 58.4374 60.3794 58.5231 60.4084C58.6069 60.4368 58.6718 60.4944 58.7128 60.5653L58.7215 60.5791L58.729 60.5949C58.749 60.6326 58.7657 60.6757 58.7735 60.7289C58.8109 60.9814 58.7987 62.0558 58.7987 62.0558L58.8579 64.2837L58.9454 66.8555L59.0545 71.3247ZM62.6809 61.8914C67.8622 65.6624 70.2385 72.506 68.0778 78.9067C65.4185 86.7839 56.8946 91.008 49.0393 88.3414C41.184 85.6747 36.9718 77.1273 39.6309 69.2501C41.7953 62.8389 47.8443 58.8481 54.2559 59.0221L52.2008 61.457C48.3971 62.1467 45.1129 64.7515 43.8221 68.5753C41.9015 74.2643 45.1206 80.4976 51.0122 82.4974C56.9036 84.4974 63.2366 81.5069 65.1572 75.8178C66.4438 72.0067 65.4236 67.9516 62.8391 65.0883L62.6809 61.8914Z'
-                fill='white'
-            />
-            <defs>
-                <linearGradient
-                    id='paint0_linear_1218_78619'
-                    x1='89.9338'
-                    y1='36.0345'
-                    x2='101.146'
-                    y2='55.4533'
-                    gradientUnits='userSpaceOnUse'
-                >
-                    <stop stopColor='#5A62C3'/>
-                    <stop
-                        offset='0.5'
-                        stopColor='#4D55BD'
-                    />
-                    <stop
-                        offset='1'
-                        stopColor='#3940AB'
-                    />
-                </linearGradient>
-            </defs>
-        </svg>
-    ),
-    tick: (
-        <svg
-            width='16'
-            height='16'
-            viewBox='0 0 16 16'
-            fill='none'
-            xmlns='http://www.w3.org/2000/svg'
-        >
-            <path
-                d='M14.75 4.25605L5.75 13.256L1.628 9.11605L2.69 8.07205L5.75 11.132L13.688 3.19405L14.75 4.25605Z'
-                fill='white'
-            />
-        </svg>
-    ),
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Icon/index.html b/webapp/coverage/lcov-report/components/Icon/index.html deleted file mode 100644 index 954a65299..000000000 --- a/webapp/coverage/lcov-report/components/Icon/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for components/Icon - - - - - - - - - -
-
-

All files components/Icon

-
- -
- 100% - Statements - 3/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 3/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Icon.component.tsx -
-
100%2/2100%0/0100%1/1100%2/2
Icon.map.tsx -
-
100%1/1100%0/0100%0/0100%1/1
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/LinkedChannelCard/LinkedChannelCard.component.tsx.html b/webapp/coverage/lcov-report/components/LinkedChannelCard/LinkedChannelCard.component.tsx.html deleted file mode 100644 index 046642725..000000000 --- a/webapp/coverage/lcov-report/components/LinkedChannelCard/LinkedChannelCard.component.tsx.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for components/LinkedChannelCard/LinkedChannelCard.component.tsx - - - - - - - - - -
-
-

All files / components/LinkedChannelCard LinkedChannelCard.component.tsx

-
- -
- 100% - Statements - 2/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 2/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29  -  -  -  -  -  -  -  -5x -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
- 
-import {Icon} from 'components/Icon';
- 
-import {LinkedChannelCardProps} from './LinkedChannelCard.types';
- 
-import './LinkedChannelCard.styles.scss';
- 
-export const LinkedChannelCard = ({msTeamsChannelName, msTeamsTeamName, mattermostChannelName, mattermostTeamName}: LinkedChannelCardProps) => (
-    <div className='px-16 py-12 border-t-1 d-flex gap-4 msteams-linked-channel'>
-        <div className='msteams-linked-channel__link-icon d-flex align-items-center flex-column justify-center'>
-            <Icon iconName='link'/>
-        </div>
-        <div className='d-flex flex-column gap-6'>
-            <div className='d-flex gap-8 align-items-center'>
-                {/* TODO: Update icon on basis of channel type  */}
-                <Icon iconName='globe'/>
-                <h5 className='my-0'>{mattermostChannelName}</h5>
-                <h5 className='my-0 opacity-6'>{mattermostTeamName}</h5>
-            </div>
-            <div className='d-flex gap-8 align-items-center'>
-                <Icon iconName='msTeams'/>
-                <h5 className='my-0'>{msTeamsChannelName}</h5>
-                <h5 className='my-0 opacity-6'>{msTeamsTeamName}</h5>
-            </div>
-        </div>
-    </div>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/LinkedChannelCard/index.html b/webapp/coverage/lcov-report/components/LinkedChannelCard/index.html deleted file mode 100644 index 1c63ee3d8..000000000 --- a/webapp/coverage/lcov-report/components/LinkedChannelCard/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/LinkedChannelCard - - - - - - - - - -
-
-

All files components/LinkedChannelCard

-
- -
- 100% - Statements - 2/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 2/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
LinkedChannelCard.component.tsx -
-
100%2/2100%0/0100%1/1100%2/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/RhsTitle/RhsTitle.component.tsx.html b/webapp/coverage/lcov-report/components/RhsTitle/RhsTitle.component.tsx.html deleted file mode 100644 index e9638d7a6..000000000 --- a/webapp/coverage/lcov-report/components/RhsTitle/RhsTitle.component.tsx.html +++ /dev/null @@ -1,130 +0,0 @@ - - - - - - Code coverage report for components/RhsTitle/RhsTitle.component.tsx - - - - - - - - - -
-
-

All files / components/RhsTitle RhsTitle.component.tsx

-
- -
- 100% - Statements - 2/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 2/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16  -  -  -  -  -5x -1x -  -  -  -  -  -  -  -  - 
import React from 'react';
- 
-import {iconUrl} from 'constants/illustrations.constants';
-import {pluginTitle} from 'constants/common.constants';
- 
-export const RhsTitle = () => (
-    <span className='d-flex gap-8 align-items-center'>
-        <img
-            width={24}
-            height={24}
-            src={iconUrl}
-        />
-        {pluginTitle}
-    </span>
-);
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/RhsTitle/index.html b/webapp/coverage/lcov-report/components/RhsTitle/index.html deleted file mode 100644 index 8bb961d44..000000000 --- a/webapp/coverage/lcov-report/components/RhsTitle/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/RhsTitle - - - - - - - - - -
-
-

All files components/RhsTitle

-
- -
- 100% - Statements - 2/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 2/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
RhsTitle.component.tsx -
-
100%2/2100%0/0100%1/1100%2/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Snackbar/Snackbar.component.tsx.html b/webapp/coverage/lcov-report/components/Snackbar/Snackbar.component.tsx.html deleted file mode 100644 index 9b5b976bb..000000000 --- a/webapp/coverage/lcov-report/components/Snackbar/Snackbar.component.tsx.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - Code coverage report for components/Snackbar/Snackbar.component.tsx - - - - - - - - - -
-
-

All files / components/Snackbar Snackbar.component.tsx

-
- -
- 93.75% - Statements - 15/16 -
- - -
- 50% - Branches - 1/2 -
- - -
- 80% - Functions - 4/5 -
- - -
- 93.33% - Lines - 14/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -5x -6x -6x -6x -6x -  -6x -  -6x -6x -6x -  -  -  -  -  -6x -6x -  -  -  -6x -  -  -  -  -  -6x -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {useEffect, useRef} from 'react';
-import {useDispatch} from 'react-redux';
- 
-import {Button} from '@brightscout/mattermost-ui-library';
- 
-import {Icon, IconName} from 'components/Icon';
- 
-import {getSnackbarState} from 'selectors';
- 
-import usePluginApi from 'hooks/usePluginApi';
-import {closeAlert} from 'reducers/snackbar';
-import {alertTimeout} from 'constants/common.constants';
- 
-import {SnackbarColor} from './Snackbar.types';
- 
-export const Snackbar = () => {
-    const dispatch = useDispatch();
-    const {state} = usePluginApi();
-    const timeId = useRef(0);
-    const {isOpen, message, severity} = getSnackbarState(state);
- 
-    const handleClose = () => dispatch(closeAlert());
- 
-    useEffect(() => {
-        Eif (isOpen) {
-            timeId.current = window.setTimeout(() => {
-                // Hide the snackbar after 4 seconds
-                handleClose();
-            }, alertTimeout);
-        }
- 
-        return () => {
-            clearTimeout(timeId.current);
-        };
-    }, [isOpen]);
- 
-    const snackbarColorMap: Record<SnackbarColor, string> = {
-        error: 'bg-error',
-        default: 'bg-default',
-        success: 'bg-success',
-    };
- 
-    const snackbarIconMap: Record<SnackbarColor, IconName> = {
-        error: 'warning',
-        default: 'tick',
-        success: 'tick',
-    };
- 
-    return (
-        <div
-            className={`fixed bottom-20 right-20 left-20 py-8 px-12 rounded-4 d-flex gap-8 align-items-center justify-between elevation-2 msteams-sync-rhs__snackbar ${snackbarColorMap[severity]}`}
-        >
-            <div className='d-flex align-items-center gap-8'>
-                <Icon
-                    iconName={snackbarIconMap[severity]}
-                    className='icon-white icon-16'
-                />
-                <h5 className='my-0 lh-24 wt-600 text-white'>{message}</h5>
-            </div>
-            <Button
-                variant='text'
-                className='snackbar__close'
-                onClick={handleClose}
-            >
-                <Icon
-                    iconName='close'
-                    className='icon-white icon-16'
-                />
-            </Button>
-        </div>
-    );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/Snackbar/index.html b/webapp/coverage/lcov-report/components/Snackbar/index.html deleted file mode 100644 index d435d1104..000000000 --- a/webapp/coverage/lcov-report/components/Snackbar/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/Snackbar - - - - - - - - - -
-
-

All files components/Snackbar

-
- -
- 93.75% - Statements - 15/16 -
- - -
- 50% - Branches - 1/2 -
- - -
- 80% - Functions - 4/5 -
- - -
- 93.33% - Lines - 14/15 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Snackbar.component.tsx -
-
93.75%15/1650%1/280%4/593.33%14/15
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/WarningCard/WarningCard.component.tsx.html b/webapp/coverage/lcov-report/components/WarningCard/WarningCard.component.tsx.html deleted file mode 100644 index d6d31f7f7..000000000 --- a/webapp/coverage/lcov-report/components/WarningCard/WarningCard.component.tsx.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - Code coverage report for components/WarningCard/WarningCard.component.tsx - - - - - - - - - -
-
-

All files / components/WarningCard WarningCard.component.tsx

-
- -
- 100% - Statements - 2/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 2/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42  -  -  -  -  -  -  -  -  -5x -5x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
- 
-import {Button} from '@brightscout/mattermost-ui-library';
- 
-import {Icon} from 'components/Icon';
-import Constants from 'constants/connectAccount.constants';
- 
-import {WarningCardProps} from './WarningCard.types';
- 
-export const WarningCard = ({onConnect}: WarningCardProps) => {
-    return (
-        <div
-            className='rhs-connect p-16'
- 
-            // TODO: Update to use util classes
-            style={{
-                borderRadius: '4px',
-                background: '#FBF0F0',
-                border: '1px solid #F7434329',
-            }}
-        >
-            <div className='d-flex gap-12'>
-                <Icon iconName='warning'/>
-                <div>
-                    <div className='d-flex align-items-start justify-between'>
-                        <h5 className='wt-600 mt-0'>{'Please Connect your MS Teams account.'}</h5>
-                    </div>
-                    <p>{'You are not connected to your MS Teams account yet, please connect to your account to continue using MS Teams sync.'}
-                    </p>
-                    <div>
-                        <Button
-                            onClick={onConnect}
-                        >
-                            {Constants.connectButtonText}
-                        </Button>
-                    </div>
-                </div>
-            </div>
-        </div>
-    );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/WarningCard/index.html b/webapp/coverage/lcov-report/components/WarningCard/index.html deleted file mode 100644 index 3a3ccecb4..000000000 --- a/webapp/coverage/lcov-report/components/WarningCard/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for components/WarningCard - - - - - - - - - -
-
-

All files components/WarningCard

-
- -
- 100% - Statements - 2/2 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 2/2 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
WarningCard.component.tsx -
-
100%2/2100%0/0100%1/1100%2/2
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/appManifestSetting.tsx.html b/webapp/coverage/lcov-report/components/appManifestSetting.tsx.html deleted file mode 100644 index 39439c715..000000000 --- a/webapp/coverage/lcov-report/components/appManifestSetting.tsx.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - Code coverage report for components/appManifestSetting.tsx - - - - - - - - - -
-
-

All files / components appManifestSetting.tsx

-
- -
- 0% - Statements - 0/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/2 -
- - -
- 0% - Lines - 0/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
-// See LICENSE.txt for license information.
- 
-import React from 'react';
- 
-type Props = {
-    label: string;
-    disabled: boolean;
-};
- 
-export default class MSTeamsAppManifestSetting extends React.PureComponent<Props> {
-    handleClick = () => {
-        window.location.href = '/plugins/com.mattermost.msteams-sync/iframe-manifest';
-    };
- 
-    render() {
-        return (
-            <div>
-                <p>
-                    {'To embed Mattermost within Microsoft Teams, an application manifest can be downloaded and installed as a MS Teams app. '}
-                    {'Clicking the Download button below will generate an application manifest that will embed this instance of Mattermost. '}
-                </p>
-                <p>
-                    {'Mattermost embedded in MS Teams can be used together with MSTeams Sync, or independently.'}
-                </p>
-                <button
-                    className='btn btn-primary'
-                    style={styles.buttonBorder}
-                    onClick={this.handleClick}
-                    disabled={this.props.disabled}
-                >
-                    {this.props.label}
-                </button>
-            </div>
-        );
-    }
-}
- 
-const styles = {
-    buttonBorder: {
-        marginTop: '8px',
-    },
-};
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/enforceConnectedAccountModal.tsx.html b/webapp/coverage/lcov-report/components/enforceConnectedAccountModal.tsx.html deleted file mode 100644 index 8fc474682..000000000 --- a/webapp/coverage/lcov-report/components/enforceConnectedAccountModal.tsx.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - Code coverage report for components/enforceConnectedAccountModal.tsx - - - - - - - - - -
-
-

All files / components enforceConnectedAccountModal.tsx

-
- -
- 0% - Statements - 0/40 -
- - -
- 0% - Branches - 0/23 -
- - -
- 0% - Functions - 0/9 -
- - -
- 0% - Lines - 0/40 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {useCallback, useState, useEffect} from 'react';
- 
-import Constants from 'constants/index';
- 
-import usePluginApi from 'hooks/usePluginApi';
-import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState';
- 
-import './enforceConnectedAccountModal.css';
- 
-export default function EnforceConnectedAccountModal() {
-    const [open, setOpen] = useState(false);
-    const [canSkip, setCanSkip] = useState(false);
-    const [connecting, setConnecting] = useState(false);
-    const [isInterval, setIsInterval] = useState(false);
-    const {makeApiRequestWithCompletionStatus, getApiState} = usePluginApi();
- 
-    const skip = useCallback(() => {
-        setOpen(false);
-    }, []);
- 
-    const connectAccount = useCallback(() => {
-        makeApiRequestWithCompletionStatus(Constants.pluginApiServiceConfigs.connect.apiServiceName);
-    }, []);
- 
-    useEffect(() => {
-        makeApiRequestWithCompletionStatus(Constants.pluginApiServiceConfigs.needsConnect.apiServiceName);
-    }, []);
- 
-    const {data: needsConnectData} = getApiState(Constants.pluginApiServiceConfigs.needsConnect.apiServiceName);
-    const {data: connectData} = getApiState(Constants.pluginApiServiceConfigs.connect.apiServiceName);
- 
-    useApiRequestCompletionState({
-        serviceName: Constants.pluginApiServiceConfigs.needsConnect.apiServiceName,
-        handleSuccess: () => {
-            if (needsConnectData) {
-                const data = needsConnectData as NeedsConnectData;
-                if (!isInterval) {
-                    setOpen(data.needsConnect);
-                    setCanSkip(data.canSkip);
-                } else if (!data.needsConnect) {
-                    setOpen(false);
-                    setConnecting(false);
-                }
-            }
-        },
-    });
- 
-    useApiRequestCompletionState({
-        serviceName: Constants.pluginApiServiceConfigs.connect.apiServiceName,
-        handleSuccess: () => {
-            if (connectData) {
-                setConnecting(true);
-                window.open((connectData as ConnectData).connectUrl, '_blank');
-            }
-        },
-    });
- 
-    const checkConnected = useCallback(() => {
-        makeApiRequestWithCompletionStatus(Constants.pluginApiServiceConfigs.needsConnect.apiServiceName);
-    }, []);
- 
-    useEffect(() => {
-        let interval: any = 0;
-        if (connecting) {
-            setIsInterval(true);
-            interval = setInterval(checkConnected, 1000);
-        }
-        return () => {
-            if (interval) {
-                setIsInterval(false);
-                clearInterval(interval);
-            }
-        };
-    }, [connecting]);
- 
-    if (!open) {
-        return null;
-    }
- 
-    return (
-        <div className='EnforceConnectedAccountModal'>
-            <img src={Constants.iconUrl}/>
-            <h1>{'Connect your Microsoft Teams Account'}</h1>
-            {!connecting && <p>{'This server requires you to connect your Mattermost account with your Microsoft Teams account.'}</p>}
-            {!connecting && (
-                <button
-                    className='btn btn-primary'
-                    onClick={connectAccount}
-                >
-                    {'Connect account'}
-                </button>
-            )}
-            {connecting && <p className='connectUrl'>{'Please go to the new window and complete the login process'}</p>}
-            {canSkip && !connecting && (
-                <a
-                    className='skipLink'
-                    onClick={skip}
-                >
-                    {'Skip for now'}
-                </a>
-            )}
-        </div>
-    );
-}
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/getConnectedUsersSetting.tsx.html b/webapp/coverage/lcov-report/components/getConnectedUsersSetting.tsx.html deleted file mode 100644 index 1ca791188..000000000 --- a/webapp/coverage/lcov-report/components/getConnectedUsersSetting.tsx.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - Code coverage report for components/getConnectedUsersSetting.tsx - - - - - - - - - -
-
-

All files / components getConnectedUsersSetting.tsx

-
- -
- 0% - Statements - 0/3 -
- - -
- 100% - Branches - 0/0 -
- - -
- 0% - Functions - 0/1 -
- - -
- 0% - Lines - 0/3 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React from 'react';
- 
-type Props = {
-    label: string;
-    disabled: boolean;
-};
- 
-const GetConnectedUsersSetting = ({label}: Props) => {
-    return (
-        <div
-            style={styles.divMargin}
-        >
-            <p>
-                {'Download a report of all Mattermost users connected to MS Teams'}
-            </p>
-            <a
-                href='/plugins/com.mattermost.msteams-sync/connected-users/download'
-                className='btn btn-primary'
-                rel='noreferrer'
-                target='_self'
-                download={true}
-            >
-                {label}
-            </a>
-        </div>
-    );
-};
- 
-const styles = {
-    divMargin: {
-        marginTop: '20px',
-    },
-    buttonMargin: {
-        marginTop: '8px',
-    },
-};
- 
-export default GetConnectedUsersSetting;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/components/index.html b/webapp/coverage/lcov-report/components/index.html deleted file mode 100644 index 27ab7ccbb..000000000 --- a/webapp/coverage/lcov-report/components/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for components - - - - - - - - - -
-
-

All files components

-
- -
- 0% - Statements - 0/47 -
- - -
- 0% - Branches - 0/23 -
- - -
- 0% - Functions - 0/12 -
- - -
- 0% - Lines - 0/47 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
appManifestSetting.tsx -
-
0%0/4100%0/00%0/20%0/4
enforceConnectedAccountModal.tsx -
-
0%0/400%0/230%0/90%0/40
getConnectedUsersSetting.tsx -
-
0%0/3100%0/00%0/10%0/3
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/Rhs.container.tsx.html b/webapp/coverage/lcov-report/containers/Rhs/Rhs.container.tsx.html deleted file mode 100644 index 6cac59dcb..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/Rhs.container.tsx.html +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/Rhs.container.tsx - - - - - - - - - -
-
-

All files / containers/Rhs Rhs.container.tsx

-
- -
- 80% - Statements - 16/20 -
- - -
- 61.11% - Branches - 11/18 -
- - -
- 100% - Functions - 2/2 -
- - -
- 80% - Lines - 16/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -3x -3x -3x -  -3x -  -3x -3x -  -3x -  -  -  -3x -  -3x -2x -  -  -  -  -  -  -  -2x -  -  -  -2x -  -  -  -2x -2x -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  - 
import React, {useCallback, useMemo} from 'react';
- 
-import {Spinner} from '@brightscout/mattermost-ui-library';
- 
-import {pluginApiServiceConfigs} from 'constants/apiService.constant';
- 
-import usePluginApi from 'hooks/usePluginApi';
- 
-import {getConnectedState, getIsRhsLoading, getSnackbarState} from 'selectors';
- 
-import {Snackbar} from 'components';
- 
-import {ConnectAccount} from './views/ConnectAccount';
-import {LinkedChannels} from './views/LinkedChannels';
-import {ConnectedAccount} from './views/ConnectedAccount';
- 
-// TODO: update component later
-export const Rhs = () => {
-    const {state, getApiState} = usePluginApi();
-    const {connected} = getConnectedState(state);
-    const {isRhsLoading} = getIsRhsLoading(state);
- 
-    const {isOpen} = getSnackbarState(state);
- 
-    const {data} = getApiState(pluginApiServiceConfigs.whitelistUser.apiServiceName);
-    const {data: linkedChannels} = getApiState(pluginApiServiceConfigs.getLinkedChannels.apiServiceName);
- 
-    const {presentInWhitelist} = data as WhitelistUserResponse;
- 
-    // NOTE: Commented out on purpose.This is part of Phase-II
-    // const isAnyChannelLinked = useMemo(() => Boolean((linkedChannels as ChannelLinkData[])?.length), [linkedChannels]);
-    const isAnyChannelLinked = false;
- 
-    const getRhsView = useCallback(() => {
-        Iif (isRhsLoading) {
-            return (
-                <div className='absolute d-flex align-items-center justify-center w-full h-full'>
-                    <Spinner size='xl'/>
-                </div>
-            );
-        }
- 
-        Iif (!connected && !isAnyChannelLinked) {
-            return <ConnectAccount/>;
-        }
- 
-        Iif (!connected && isAnyChannelLinked) {
-            return <LinkedChannels/>;
-        }
- 
-        Eif (connected && !isAnyChannelLinked) {
-            return <ConnectedAccount/>;
-        }
- 
-        return <></>;
-    }, [linkedChannels, connected, isRhsLoading]);
- 
-    return (
-        <>
-            {
-                presentInWhitelist ?
-                    getRhsView() : 'MS Teams Sync plugin'
-            }
-            {isOpen && <Snackbar/>}
-        </>
-    );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/index.html b/webapp/coverage/lcov-report/containers/Rhs/index.html deleted file mode 100644 index c8242d790..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for containers/Rhs - - - - - - - - - -
-
-

All files containers/Rhs

-
- -
- 80% - Statements - 16/20 -
- - -
- 61.11% - Branches - 11/18 -
- - -
- 100% - Functions - 2/2 -
- - -
- 80% - Lines - 16/20 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
Rhs.container.tsx -
-
80%16/2061.11%11/18100%2/280%16/20
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/index.ts.html b/webapp/coverage/lcov-report/containers/Rhs/index.ts.html deleted file mode 100644 index aa32bb5e9..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/index.ts - - - - - - - - - -
-
-

All files / containers/Rhs index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export {Rhs} from './Rhs.container';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx.html deleted file mode 100644 index 4e9d38763..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx - - - - - - - - - -
-
-

All files / containers/Rhs/views/ConnectAccount ConnectAccount.container.tsx

-
- -
- 88.88% - Statements - 8/9 -
- - -
- 100% - Branches - 0/0 -
- - -
- 75% - Functions - 3/4 -
- - -
- 88.88% - Lines - 8/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57  -  -  -  -  -  -  -  -  -  -  -2x -3x -3x -  -3x -1x -  -  -3x -  -  -  -  -  -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {useCallback} from 'react';
- 
-import {Button} from '@brightscout/mattermost-ui-library';
- 
-import Constants from 'constants/connectAccount.constants';
-import {Icon, IconName} from 'components';
-import usePluginApi from 'hooks/usePluginApi';
-import {pluginApiServiceConfigs} from 'constants/apiService.constant';
-import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState';
-import useAlert from 'hooks/useAlert';
- 
-export const ConnectAccount = () => {
-    const showAlert = useAlert();
-    const {makeApiRequestWithCompletionStatus} = usePluginApi();
- 
-    const connectAccount = useCallback(() => {
-        makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.connect.apiServiceName);
-    }, []);
- 
-    useApiRequestCompletionState({
-        serviceName: pluginApiServiceConfigs.connect.apiServiceName,
-        handleError: () => {
-            showAlert({message: Constants.connectAccountUnsuccessfulMsg, severity: 'error'});
-        },
-    });
- 
-    return (
-        <div className='p-24 d-flex flex-column overflow-y-auto'>
-            <div className='flex-1 d-flex flex-column gap-16 align-items-center my-16'>
-                <div className='d-flex flex-column gap-16 align-items-center'>
-                    <Icon
-                        width={218}
-                        iconName='connectAccount'
-                    />
-                    <h2 className='text-center wt-600 my-0'>{Constants.connectAccountMsg}</h2>
-                </div>
-                <Button onClick={connectAccount}>{Constants.connectButtonText}</Button>
-            </div>
-            <hr className='w-full my-32'/>
-            <div className='d-flex flex-column gap-24'>
-                <h5 className='my-0 wt-600'>{Constants.listTitle}</h5>
-                <ul className='my-0 px-0 d-flex flex-column gap-20'>
-                    {Constants.connectAccountFeatures.map(({icon, text}) => (
-                        <li
-                            className='d-flex gap-16 align-items-start'
-                            key={icon}
-                        >
-                            <Icon iconName={icon as IconName}/>
-                            <h5 className='my-0 lh-20'>{text}</h5>
-                        </li>
-                    )) }
-                </ul>
-            </div>
-        </div>
-    );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.html deleted file mode 100644 index 40938181f..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/ConnectAccount - - - - - - - - - -
-
-

All files containers/Rhs/views/ConnectAccount

-
- -
- 88.88% - Statements - 8/9 -
- - -
- 100% - Branches - 0/0 -
- - -
- 75% - Functions - 3/4 -
- - -
- 88.88% - Lines - 8/9 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ConnectAccount.container.tsx -
-
88.88%8/9100%0/075%3/488.88%8/9
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.ts.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.ts.html deleted file mode 100644 index e74f4daee..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectAccount/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/ConnectAccount/index.ts - - - - - - - - - -
-
-

All files / containers/Rhs/views/ConnectAccount index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export {ConnectAccount} from './ConnectAccount.container';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx.html deleted file mode 100644 index 78f92fe31..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx - - - - - - - - - -
-
-

All files / containers/Rhs/views/ConnectedAccount ConnectedAccount.container.tsx

-
- -
- 57.14% - Statements - 12/21 -
- - -
- 75% - Branches - 3/4 -
- - -
- 42.85% - Functions - 3/7 -
- - -
- 57.14% - Lines - 12/21 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -8x -8x -8x -  -8x -  -8x -  -  -  -6x -  -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -6x -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {useCallback, useEffect} from 'react';
-import {useDispatch} from 'react-redux';
- 
-import {Button} from '@brightscout/mattermost-ui-library';
- 
-import usePluginApi from 'hooks/usePluginApi';
-import {pluginApiServiceConfigs} from 'constants/apiService.constant';
-import useDialog from 'hooks/useDialog';
-import useAlert from 'hooks/useAlert';
-import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState';
-import {setConnected} from 'reducers/connectedState';
-import {getConnectedState} from 'selectors';
- 
-import utils from 'utils';
- 
-export const ConnectedAccount = () => {
-    const dispatch = useDispatch();
-    const {makeApiRequestWithCompletionStatus, state} = usePluginApi();
-    const {username, isAlreadyConnected, msteamsUserId, connected} = getConnectedState(state);
- 
-    const showAlert = useAlert();
- 
-    const disconnectUser = useCallback(() => {
-        makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.disconnectUser.apiServiceName);
-    }, []);
- 
-    const {DialogComponent, showDialog, hideDialog} = useDialog({
-        onSubmitHandler: disconnectUser,
-        onCloseHandler: () => {
-            hideDialog();
-        },
-    });
- 
-    useApiRequestCompletionState({
-        serviceName: pluginApiServiceConfigs.disconnectUser.apiServiceName,
-        handleSuccess: () => {
-            dispatch(setConnected({connected: false, username: '', msteamsUserId: '', isAlreadyConnected: false}));
-            hideDialog();
-            showAlert({
-                message: 'Your account has been disconnected.',
-            });
-        },
-        handleError: () => {
-            showAlert({
-                message: 'Error occurred while disconnecting the user.',
-                severity: 'error',
-            });
-            hideDialog();
-        },
-    });
- 
-    useEffect(() => {
-        Iif (connected && !isAlreadyConnected) {
-            showAlert({message: 'Your account is connected successfully.'});
-            dispatch(setConnected({connected, msteamsUserId, username, isAlreadyConnected: true}));
-        }
-    }, [connected, isAlreadyConnected]);
- 
-    return (
-        <div className='flex-1 msteams-sync-rhs d-flex flex-column'>
-            <div className='py-12 px-20 border-y-1 d-flex gap-8'>
-                {/* TODO: Refactor user Avatar */}
-                <div
-                    style={{
-                        height: '32px',
-                        width: '32px',
-                        borderRadius: '50%',
-                        backgroundColor: 'rgba(var(--center-channel-color-rgb), 0.12)',
-                    }}
-                >
-                    <img
-                        style={{
-                            borderRadius: '50%',
-                        }}
-                        src={utils.getAvatarUrl(msteamsUserId)}
-                    />
-                </div>
-                <div>
-                    <h5 className='my-0 font-12 lh-16'>{'Connected as '}<span className='wt-600'>{username}</span></h5>
-                    <Button
-                        size='sm'
-                        variant='text'
-                        className='p-0 lh-16'
-                        onClick={() => showDialog({
-                            destructive: true,
-                            primaryButtonText: 'Disconnect',
-                            secondaryButtonText: 'Cancel',
-                            description: 'Are you sure you want to disconnect your Microsoft Teams Account? You will no longer be able to send and receive messages to Microsoft Teams users from Mattermost.',
-                            isLoading: false,
-                            title: 'Disconnect Microsoft Teams Account',
-                        })}
-                    >{'Disconnect'}</Button>
-                </div>
-            </div>
-            <div className='d-flex align-items-center justify-center flex-1 flex-column px-40'>
-                {/* NOTE: Part of Phase-II */}
-                {/* <Icon iconName='noChannels'/>
-                <h3 className='my-0 lh-28 wt-600 text-center'>{'There are no linked channels yet'}</h3> */}
-            </div>
-            <DialogComponent/>
-        </div>
-    );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.html deleted file mode 100644 index cacb72900..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/ConnectedAccount - - - - - - - - - -
-
-

All files containers/Rhs/views/ConnectedAccount

-
- -
- 57.14% - Statements - 12/21 -
- - -
- 75% - Branches - 3/4 -
- - -
- 42.85% - Functions - 3/7 -
- - -
- 57.14% - Lines - 12/21 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
ConnectedAccount.container.tsx -
-
57.14%12/2175%3/442.85%3/757.14%12/21
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.ts.html b/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.ts.html deleted file mode 100644 index e2f079abd..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/ConnectedAccount/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/ConnectedAccount/index.ts - - - - - - - - - -
-
-

All files / containers/Rhs/views/ConnectedAccount index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export {ConnectedAccount} from './ConnectedAccount.container';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx.html b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx.html deleted file mode 100644 index 44a53f446..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx - - - - - - - - - -
-
-

All files / containers/Rhs/views/LinkedChannels LinkedChannels.container.tsx

-
- -
- 75% - Statements - 15/20 -
- - -
- 100% - Branches - 0/0 -
- - -
- 60% - Functions - 6/10 -
- - -
- 77.77% - Lines - 14/18 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -3x -3x -3x -  -  -  -  -  -3x -3x -  -  -3x -3x -  -  -  -  -  -3x -1x -  -  -  -  -  -3x -  -  -  -  -3x -3x -  -  -3x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import React, {useCallback, useEffect, useMemo, useState} from 'react';
-import InfiniteScroll from 'react-infinite-scroll-component';
- 
-import {Spinner} from '@brightscout/mattermost-ui-library';
- 
-import {WarningCard, LinkedChannelCard} from 'components';
-import usePluginApi from 'hooks/usePluginApi';
-import {pluginApiServiceConfigs} from 'constants/apiService.constant';
- 
-import {defaultPage, defaultPerPage} from 'constants/common.constants';
- 
-import {channelListTitle, noMoreChannelsText} from 'constants/linkedChannels.constants';
- 
-import {mockLinkedChannels} from './LinkedChannels.mock';
- 
-import './LinkedChannels.styles.scss';
- 
-export const LinkedChannels = () => {
-    // TODO: Add Linked channel list
-    const {makeApiRequestWithCompletionStatus} = usePluginApi();
-    const [totalLinkedChannels, setTotalLinkedChannels] = useState<ChannelLinkData[]>([]);
-    const [paginationQueryParams, setPaginationQueryParams] = useState<PaginationQueryParams>({
-        page: defaultPage,
-        per_page: defaultPerPage,
-    });
- 
-    // TODO: Remove this part used for mocking API call for infinite scroll.
-    const getChannels = () => new Promise<void>((res) => {
-        setTimeout(() => res(), 2000);
-    });
- 
-    useEffect(() => {
-        getChannels().then(() => {
-            const linkedChannels = mockLinkedChannels.slice((paginationQueryParams.page * paginationQueryParams.per_page), (paginationQueryParams.page + 1) * paginationQueryParams.per_page);
-            setTotalLinkedChannels([...totalLinkedChannels, ...(linkedChannels as ChannelLinkData[])]);
-        });
-    }, [paginationQueryParams]);
- 
-    const connectAccount = useCallback(() => {
-        makeApiRequestWithCompletionStatus(
-            pluginApiServiceConfigs.connect.apiServiceName,
-        );
-    }, []);
- 
-    // Increase the page number by 1
-    const handlePagination = () => {
-        setPaginationQueryParams({...paginationQueryParams, page: paginationQueryParams.page + 1,
-        });
-    };
- 
-    const hasMoreLinkedChannels = useMemo<boolean>(() => (
-        (totalLinkedChannels.length - (paginationQueryParams.page * defaultPerPage) === defaultPerPage)
-    ), [totalLinkedChannels]);
- 
-    return (
-        <div className='msteams-sync-rhs flex-1 d-flex flex-column'>
-            <div className='p-20 d-flex flex-column gap-20'>
-                <WarningCard
-                    onConnect={connectAccount}
-                />
-            </div>
-            <h4 className='font-16 lh-24 my-0 p-20 wt-600'>{channelListTitle}</h4>
-            <div
-                id='scrollableArea'
-                className='scroll-container flex-1-0-0'
-            >
-                <InfiniteScroll
-                    dataLength={totalLinkedChannels.length}
-                    next={handlePagination}
-                    hasMore={hasMoreLinkedChannels}
-                    loader={<Spinner className='scroll-container__spinner'/>}
-                    endMessage={
-                        <p className='text-center'>
-                            <b>{noMoreChannelsText}</b>
-                        </p>
-                    }
-                    scrollableTarget='scrollableArea'
-                >
-                    {totalLinkedChannels.map(({msTeamsChannelID, ...rest}) => (
-                        <LinkedChannelCard
-                            channelId={msTeamsChannelID}
-                            key={msTeamsChannelID}
-                            {...rest}
-                        />
-                    ))
-                    }
-                </InfiniteScroll>
-            </div>
-        </div>
-    );
-};
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts.html b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts.html deleted file mode 100644 index ad26ddda8..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts.html +++ /dev/null @@ -1,742 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts - - - - - - - - - -
-
-

All files / containers/Rhs/views/LinkedChannels LinkedChannels.mock.ts

-
- -
- 100% - Statements - 1/1 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 0/0 -
- - -
- 100% - Lines - 1/1 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -2202x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
export const mockLinkedChannels = [
- 
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    }, {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
-    {
-        msTeamsTeamID: 'string',
-        msTeamsTeamName: 'string',
-        msTeamsChannelID: 'string',
-        msTeamsChannelName: 'string',
-        mattermostTeamID: 'string',
-        mattermostTeamName: 'string',
-        mattermostChannelID: 'string',
-        mattermostChannelName: 'string',
-        mattermostChannelType: 'string',
-        msTeamsChannelType: 'string',
-    },
- 
-];
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.html b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.html deleted file mode 100644 index d76035ef7..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/LinkedChannels - - - - - - - - - -
-
-

All files containers/Rhs/views/LinkedChannels

-
- -
- 76.19% - Statements - 16/21 -
- - -
- 100% - Branches - 0/0 -
- - -
- 60% - Functions - 6/10 -
- - -
- 78.94% - Lines - 15/19 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
LinkedChannels.container.tsx -
-
75%15/20100%0/060%6/1077.77%14/18
LinkedChannels.mock.ts -
-
100%1/1100%0/0100%0/0100%1/1
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.ts.html b/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.ts.html deleted file mode 100644 index 6f8fcb00c..000000000 --- a/webapp/coverage/lcov-report/containers/Rhs/views/LinkedChannels/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for containers/Rhs/views/LinkedChannels/index.ts - - - - - - - - - -
-
-

All files / containers/Rhs/views/LinkedChannels index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export {LinkedChannels} from './LinkedChannels.container';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/index.html b/webapp/coverage/lcov-report/containers/index.html deleted file mode 100644 index 330be822d..000000000 --- a/webapp/coverage/lcov-report/containers/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for containers - - - - - - - - - -
-
-

All files containers

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/containers/index.ts.html b/webapp/coverage/lcov-report/containers/index.ts.html deleted file mode 100644 index b1bee6f66..000000000 --- a/webapp/coverage/lcov-report/containers/index.ts.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - Code coverage report for containers/index.ts - - - - - - - - - -
-
-

All files / containers index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2  - 
export {Rhs} from './Rhs';
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/favicon.png b/webapp/coverage/lcov-report/favicon.png deleted file mode 100644 index c1525b811a167671e9de1fa78aab9f5c0b61cef7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> - - - - Code coverage report for All files - - - - - - - - - -
-
-

All files

-
- -
- 64.17% - Statements - 120/187 -
- - -
- 34.69% - Branches - 17/49 -
- - -
- 60.71% - Functions - 34/56 -
- - -
- 63.73% - Lines - 116/182 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
components -
-
0%0/470%0/230%0/120%0/47
components/Dialog -
-
100%9/9100%2/2100%3/3100%8/8
components/Icon -
-
100%3/3100%0/0100%1/1100%3/3
components/LinkedChannelCard -
-
100%2/2100%0/0100%1/1100%2/2
components/RhsTitle -
-
100%2/2100%0/0100%1/1100%2/2
components/Snackbar -
-
93.75%15/1650%1/280%4/593.33%14/15
components/WarningCard -
-
100%2/2100%0/0100%1/1100%2/2
containers -
-
0%0/00%0/00%0/00%0/0
containers/Rhs -
-
80%16/2061.11%11/18100%2/280%16/20
containers/Rhs/views/ConnectAccount -
-
88.88%8/9100%0/075%3/488.88%8/9
containers/Rhs/views/ConnectedAccount -
-
57.14%12/2175%3/442.85%3/757.14%12/21
containers/Rhs/views/LinkedChannels -
-
76.19%16/21100%0/060%6/1078.94%15/19
reducers -
-
0%0/00%0/00%0/00%0/0
reducers/apiRequest -
-
100%6/6100%0/0100%3/3100%5/5
reducers/connectedState -
-
100%7/7100%0/0100%1/1100%7/7
reducers/dialog -
-
100%11/11100%0/0100%2/2100%11/11
reducers/snackbar -
-
100%7/7100%0/0100%2/2100%7/7
reducers/spinner -
-
100%4/4100%0/0100%1/1100%4/4
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/prettify.css b/webapp/coverage/lcov-report/prettify.css deleted file mode 100644 index b317a7cda..000000000 --- a/webapp/coverage/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/webapp/coverage/lcov-report/prettify.js b/webapp/coverage/lcov-report/prettify.js deleted file mode 100644 index b3225238f..000000000 --- a/webapp/coverage/lcov-report/prettify.js +++ /dev/null @@ -1,2 +0,0 @@ -/* eslint-disable */ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/webapp/coverage/lcov-report/reducers/apiRequest/index.html b/webapp/coverage/lcov-report/reducers/apiRequest/index.html deleted file mode 100644 index 6530ef107..000000000 --- a/webapp/coverage/lcov-report/reducers/apiRequest/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for reducers/apiRequest - - - - - - - - - -
-
-

All files reducers/apiRequest

-
- -
- 100% - Statements - 6/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 3/3 -
- - -
- 100% - Lines - 5/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
100%6/6100%0/0100%3/3100%5/5
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/apiRequest/index.ts.html b/webapp/coverage/lcov-report/reducers/apiRequest/index.ts.html deleted file mode 100644 index 226988d26..000000000 --- a/webapp/coverage/lcov-report/reducers/apiRequest/index.ts.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - Code coverage report for reducers/apiRequest/index.ts - - - - - - - - - -
-
-

All files / reducers/apiRequest index.ts

-
- -
- 100% - Statements - 6/6 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 3/3 -
- - -
- 100% - Lines - 5/5 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25  -  -  -  -7x -  -  -  -7x -  -  -  -  -1x -  -  -3x -  -  -  -  -7x -  -  - 
import {createSlice, PayloadAction} from '@reduxjs/toolkit';
- 
-import {ApiRequestCompletionState} from 'types/common/store.d';
- 
-const initialState: ApiRequestCompletionState = {
-    requests: [],
-};
- 
-export const apiRequestCompletionSlice = createSlice({
-    name: 'globalApiRequestSlice',
-    initialState,
-    reducers: {
-        setApiRequestCompletionState: (state: ApiRequestCompletionState, action: PayloadAction<PluginApiServiceName>) => {
-            state.requests = [...state.requests, action.payload];
-        },
-        resetApiRequestCompletionState: (state: ApiRequestCompletionState, action: PayloadAction<PluginApiServiceName>) => {
-            state.requests = state.requests.filter((request) => request !== action.payload);
-        },
-    },
-});
- 
-export const {setApiRequestCompletionState, resetApiRequestCompletionState} = apiRequestCompletionSlice.actions;
- 
-export default apiRequestCompletionSlice.reducer;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/connectedState/index.html b/webapp/coverage/lcov-report/reducers/connectedState/index.html deleted file mode 100644 index 6c2fcce26..000000000 --- a/webapp/coverage/lcov-report/reducers/connectedState/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for reducers/connectedState - - - - - - - - - -
-
-

All files reducers/connectedState

-
- -
- 100% - Statements - 7/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 7/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
100%7/7100%0/0100%1/1100%7/7
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/connectedState/index.ts.html b/webapp/coverage/lcov-report/reducers/connectedState/index.ts.html deleted file mode 100644 index 2f9ad5d2e..000000000 --- a/webapp/coverage/lcov-report/reducers/connectedState/index.ts.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - Code coverage report for reducers/connectedState/index.ts - - - - - - - - - -
-
-

All files / reducers/connectedState index.ts

-
- -
- 100% - Statements - 7/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 7/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28  -  -  -  -3x -  -  -  -  -  -  -3x -  -  -  -  -1x -1x -1x -1x -  -  -  -  -3x -  -  - 
import {createSlice, PayloadAction} from '@reduxjs/toolkit';
- 
-import {ConnectedState} from 'types/common/store.d';
- 
-const initialState: ConnectedState = {
-    connected: false,
-    isAlreadyConnected: false,
-    username: '',
-    msteamsUserId: '',
-};
- 
-export const connectedStateSlice = createSlice({
-    name: 'connectedStateSlice',
-    initialState,
-    reducers: {
-        setConnected: (state: ConnectedState, action: PayloadAction<ConnectedState>) => {
-            state.connected = action.payload.connected;
-            state.isAlreadyConnected = action.payload.isAlreadyConnected;
-            state.username = action.payload.username;
-            state.msteamsUserId = action.payload.msteamsUserId;
-        },
-    },
-});
- 
-export const {setConnected} = connectedStateSlice.actions;
- 
-export default connectedStateSlice.reducer;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/dialog/index.html b/webapp/coverage/lcov-report/reducers/dialog/index.html deleted file mode 100644 index 369e8c8ad..000000000 --- a/webapp/coverage/lcov-report/reducers/dialog/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for reducers/dialog - - - - - - - - - -
-
-

All files reducers/dialog

-
- -
- 100% - Statements - 11/11 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 2/2 -
- - -
- 100% - Lines - 11/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
100%11/11100%0/0100%2/2100%11/11
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/dialog/index.ts.html b/webapp/coverage/lcov-report/reducers/dialog/index.ts.html deleted file mode 100644 index df5d30498..000000000 --- a/webapp/coverage/lcov-report/reducers/dialog/index.ts.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - Code coverage report for reducers/dialog/index.ts - - - - - - - - - -
-
-

All files / reducers/dialog index.ts

-
- -
- 100% - Statements - 11/11 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 2/2 -
- - -
- 100% - Lines - 11/11 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38  -  -  -  -6x -  -  -  -  -  -  -  -  -  -6x -  -  -  -  -1x -1x -1x -1x -1x -1x -1x -  -  -1x -  -  -  -  -  -6x -  -  - 
import {PayloadAction, createSlice} from '@reduxjs/toolkit';
- 
-import {DialogState} from 'types/common/store.d';
- 
-const initialState: DialogState = {
-    description: '',
-    destructive: false,
-    show: false,
-    primaryButtonText: '',
-    secondaryButtonText: '',
-    isLoading: false,
-    title: '',
-};
- 
-export const dialogSlice = createSlice({
-    name: 'dialogSlice',
-    initialState,
-    reducers: {
-        showDialog: (state, {payload}: PayloadAction<DialogState>) => {
-            state.show = true;
-            state.description = payload.description;
-            state.destructive = payload.destructive;
-            state.isLoading = payload.isLoading;
-            state.primaryButtonText = payload.primaryButtonText;
-            state.secondaryButtonText = payload.secondaryButtonText;
-            state.title = payload.title;
-        },
-        closeDialog: (state) => {
-            state.show = false;
-        },
- 
-    },
-});
- 
-export const {showDialog, closeDialog} = dialogSlice.actions;
- 
-export default dialogSlice.reducer;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/index.html b/webapp/coverage/lcov-report/reducers/index.html deleted file mode 100644 index 6b85fe850..000000000 --- a/webapp/coverage/lcov-report/reducers/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for reducers - - - - - - - - - -
-
-

All files reducers

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
0%0/00%0/00%0/00%0/0
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/index.ts.html b/webapp/coverage/lcov-report/reducers/index.ts.html deleted file mode 100644 index cd860dbf0..000000000 --- a/webapp/coverage/lcov-report/reducers/index.ts.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - Code coverage report for reducers/index.ts - - - - - - - - - -
-
-

All files / reducers index.ts

-
- -
- 0% - Statements - 0/0 -
- - -
- 0% - Branches - 0/0 -
- - -
- 0% - Functions - 0/0 -
- - -
- 0% - Lines - 0/0 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  - 
import {combineReducers} from 'redux';
- 
-import {msTeamsPluginApi} from 'services';
- 
-import apiRequestCompletionSlice from 'reducers/apiRequest';
-import connectedStateSlice from 'reducers/connectedState';
-import snackbarSlice from 'reducers/snackbar';
-import dialogSlice from 'reducers/dialog';
-import rhsLoadingSlice from 'reducers/spinner';
- 
-export default combineReducers({
-    apiRequestCompletionSlice,
-    connectedStateSlice,
-    snackbarSlice,
-    dialogSlice,
-    rhsLoadingSlice,
-    [msTeamsPluginApi.reducerPath]: msTeamsPluginApi.reducer,
-});
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/snackbar/index.html b/webapp/coverage/lcov-report/reducers/snackbar/index.html deleted file mode 100644 index 293370f1e..000000000 --- a/webapp/coverage/lcov-report/reducers/snackbar/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for reducers/snackbar - - - - - - - - - -
-
-

All files reducers/snackbar

-
- -
- 100% - Statements - 7/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 2/2 -
- - -
- 100% - Lines - 7/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
100%7/7100%0/0100%2/2100%7/7
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/snackbar/index.ts.html b/webapp/coverage/lcov-report/reducers/snackbar/index.ts.html deleted file mode 100644 index c302a3e34..000000000 --- a/webapp/coverage/lcov-report/reducers/snackbar/index.ts.html +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - Code coverage report for reducers/snackbar/index.ts - - - - - - - - - -
-
-

All files / reducers/snackbar index.ts

-
- -
- 100% - Statements - 7/7 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 2/2 -
- - -
- 100% - Lines - 7/7 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29  -  -  -  -6x -  -  -  -  -  -6x -  -  -  -  -1x -1x -1x -  -  -1x -  -  -  -  -6x -  -  - 
import {PayloadAction, createSlice} from '@reduxjs/toolkit';
- 
-import {SnackbarActionPayload, SnackbarState} from 'types/common/store.d';
- 
-const initialState: SnackbarState = {
-    message: '',
-    severity: 'default',
-    isOpen: false,
-};
- 
-export const snackbarSlice = createSlice({
-    name: 'snackbarState',
-    initialState,
-    reducers: {
-        showAlert: (state, {payload}: PayloadAction<SnackbarActionPayload>) => {
-            state.message = payload.message;
-            state.severity = payload.severity;
-            state.isOpen = true;
-        },
-        closeAlert: (state) => {
-            state.isOpen = false;
-        },
-    },
-});
- 
-export const {showAlert, closeAlert} = snackbarSlice.actions;
- 
-export default snackbarSlice.reducer;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/spinner/index.html b/webapp/coverage/lcov-report/reducers/spinner/index.html deleted file mode 100644 index 664a39afa..000000000 --- a/webapp/coverage/lcov-report/reducers/spinner/index.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - Code coverage report for reducers/spinner - - - - - - - - - -
-
-

All files reducers/spinner

-
- -
- 100% - Statements - 4/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 4/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
index.ts -
-
100%4/4100%0/0100%1/1100%4/4
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/reducers/spinner/index.ts.html b/webapp/coverage/lcov-report/reducers/spinner/index.ts.html deleted file mode 100644 index 05a976450..000000000 --- a/webapp/coverage/lcov-report/reducers/spinner/index.ts.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - Code coverage report for reducers/spinner/index.ts - - - - - - - - - -
-
-

All files / reducers/spinner index.ts

-
- -
- 100% - Statements - 4/4 -
- - -
- 100% - Branches - 0/0 -
- - -
- 100% - Functions - 1/1 -
- - -
- 100% - Lines - 4/4 -
- - -
-

- Press n or j to go to the next uncovered block, b, p or k for the previous block. -

- -
-
-

-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -1x -  -  -  -1x -  -  -  -  -1x -  -  -  -  -1x -  -  - 
import {PayloadAction, createSlice} from '@reduxjs/toolkit';
- 
-const initialState: {isRhsLoading: boolean} = {
-    isRhsLoading: false,
-};
- 
-export const rhsLoadingSlice = createSlice({
-    name: 'rhsLoadingSlice',
-    initialState,
-    reducers: {
-        setIsRhsLoading: (state, {payload}: PayloadAction<boolean>) => {
-            state.isRhsLoading = payload;
-        },
-    },
-});
- 
-export const {setIsRhsLoading} = rhsLoadingSlice.actions;
- 
-export default rhsLoadingSlice.reducer;
- 
- -
-
- - - - - - - - \ No newline at end of file diff --git a/webapp/coverage/lcov-report/sort-arrow-sprite.png b/webapp/coverage/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 6ed68316eb3f65dec9063332d2f69bf3093bbfab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc diff --git a/webapp/coverage/lcov-report/sorter.js b/webapp/coverage/lcov-report/sorter.js deleted file mode 100644 index 2bb296a8c..000000000 --- a/webapp/coverage/lcov-report/sorter.js +++ /dev/null @@ -1,196 +0,0 @@ -/* eslint-disable */ -var addSorting = (function() { - 'use strict'; - var cols, - currentSort = { - index: 0, - desc: false - }; - - // returns the summary table element - function getTable() { - return document.querySelector('.coverage-summary'); - } - // returns the thead element of the summary table - function getTableHeader() { - return getTable().querySelector('thead tr'); - } - // returns the tbody element of the summary table - function getTableBody() { - return getTable().querySelector('tbody'); - } - // returns the th element for nth column - function getNthColumn(n) { - return getTableHeader().querySelectorAll('th')[n]; - } - - function onFilterInput() { - const searchValue = document.getElementById('fileSearch').value; - const rows = document.getElementsByTagName('tbody')[0].children; - for (let i = 0; i < rows.length; i++) { - const row = rows[i]; - if ( - row.textContent - .toLowerCase() - .includes(searchValue.toLowerCase()) - ) { - row.style.display = ''; - } else { - row.style.display = 'none'; - } - } - } - - // loads the search box - function addSearchBox() { - var template = document.getElementById('filterTemplate'); - var templateClone = template.content.cloneNode(true); - templateClone.getElementById('fileSearch').oninput = onFilterInput; - template.parentElement.appendChild(templateClone); - } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = - colNode.innerHTML + ''; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function(a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function(a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc - ? ' sorted-desc' - : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function() { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i = 0; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function() { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(); - addSearchBox(); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/webapp/coverage/lcov.info b/webapp/coverage/lcov.info deleted file mode 100644 index ede1e1df1..000000000 --- a/webapp/coverage/lcov.info +++ /dev/null @@ -1,577 +0,0 @@ -TN: -SF:src/components/appManifestSetting.tsx -FN:12,(anonymous_0) -FN:16,(anonymous_1) -FNF:2 -FNH:0 -FNDA:0,(anonymous_0) -FNDA:0,(anonymous_1) -DA:12,0 -DA:13,0 -DA:17,0 -DA:39,0 -LF:4 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/components/enforceConnectedAccountModal.tsx -FN:10,EnforceConnectedAccountModal -FN:17,(anonymous_1) -FN:21,(anonymous_2) -FN:25,(anonymous_3) -FN:34,(anonymous_4) -FN:50,(anonymous_5) -FN:58,(anonymous_6) -FN:62,(anonymous_7) -FN:68,(anonymous_8) -FNF:9 -FNH:0 -FNDA:0,EnforceConnectedAccountModal -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:0,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:0,(anonymous_8) -DA:11,0 -DA:12,0 -DA:13,0 -DA:14,0 -DA:15,0 -DA:17,0 -DA:18,0 -DA:21,0 -DA:22,0 -DA:25,0 -DA:26,0 -DA:29,0 -DA:30,0 -DA:32,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:48,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:58,0 -DA:59,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:66,0 -DA:68,0 -DA:69,0 -DA:70,0 -DA:71,0 -DA:76,0 -DA:77,0 -DA:80,0 -LF:40 -LH:0 -BRDA:35,0,0,0 -BRDA:35,0,1,0 -BRDA:37,1,0,0 -BRDA:37,1,1,0 -BRDA:40,2,0,0 -BRDA:40,2,1,0 -BRDA:51,3,0,0 -BRDA:51,3,1,0 -BRDA:64,4,0,0 -BRDA:64,4,1,0 -BRDA:69,5,0,0 -BRDA:69,5,1,0 -BRDA:76,6,0,0 -BRDA:76,6,1,0 -BRDA:84,7,0,0 -BRDA:84,7,1,0 -BRDA:85,8,0,0 -BRDA:85,8,1,0 -BRDA:93,9,0,0 -BRDA:93,9,1,0 -BRDA:94,10,0,0 -BRDA:94,10,1,0 -BRDA:94,10,2,0 -BRF:23 -BRH:0 -end_of_record -TN: -SF:src/components/getConnectedUsersSetting.tsx -FN:8,(anonymous_0) -FNF:1 -FNH:0 -FNDA:0,(anonymous_0) -DA:8,0 -DA:9,0 -DA:29,0 -LF:3 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/components/Dialog/Dialog.component.tsx -FN:10,(anonymous_0) -FN:15,(anonymous_1) -FN:24,(anonymous_2) -FNF:3 -FNH:3 -FNDA:8,(anonymous_0) -FNDA:1,(anonymous_1) -FNDA:1,(anonymous_2) -DA:10,5 -DA:11,8 -DA:12,8 -DA:13,8 -DA:15,8 -DA:17,8 -DA:25,1 -DA:26,1 -LF:8 -LH:8 -BRDA:32,0,0,8 -BRDA:32,0,1,8 -BRF:2 -BRH:2 -end_of_record -TN: -SF:src/components/Icon/Icon.component.tsx -FN:6,(anonymous_0) -FNF:1 -FNH:1 -FNDA:34,(anonymous_0) -DA:6,8 -DA:7,34 -LF:2 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/components/Icon/Icon.map.tsx -FNF:0 -FNH:0 -DA:5,8 -LF:1 -LH:1 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/components/LinkedChannelCard/LinkedChannelCard.component.tsx -FN:9,(anonymous_0) -FNF:1 -FNH:1 -FNDA:2,(anonymous_0) -DA:9,5 -DA:10,2 -LF:2 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/components/RhsTitle/RhsTitle.component.tsx -FN:6,(anonymous_0) -FNF:1 -FNH:1 -FNDA:1,(anonymous_0) -DA:6,5 -DA:7,1 -LF:2 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/components/Snackbar/Snackbar.component.tsx -FN:16,(anonymous_0) -FN:22,(anonymous_1) -FN:24,(anonymous_2) -FN:26,(anonymous_3) -FN:32,(anonymous_4) -FNF:5 -FNH:4 -FNDA:6,(anonymous_0) -FNDA:1,(anonymous_1) -FNDA:6,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:6,(anonymous_4) -DA:16,5 -DA:17,6 -DA:18,6 -DA:19,6 -DA:20,6 -DA:22,6 -DA:24,6 -DA:25,6 -DA:26,6 -DA:28,0 -DA:32,6 -DA:33,6 -DA:37,6 -DA:43,6 -DA:49,6 -LF:15 -LH:14 -BRDA:25,0,0,6 -BRDA:25,0,1,0 -BRF:2 -BRH:1 -end_of_record -TN: -SF:src/components/WarningCard/WarningCard.component.tsx -FN:10,(anonymous_0) -FNF:1 -FNH:1 -FNDA:5,(anonymous_0) -DA:10,5 -DA:11,5 -LF:2 -LH:2 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/containers/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/containers/Rhs/Rhs.container.tsx -FN:18,(anonymous_0) -FN:34,(anonymous_1) -FNF:2 -FNH:2 -FNDA:3,(anonymous_0) -FNDA:2,(anonymous_1) -DA:18,1 -DA:19,3 -DA:20,3 -DA:21,3 -DA:23,3 -DA:25,3 -DA:26,3 -DA:28,3 -DA:32,3 -DA:34,3 -DA:35,2 -DA:36,0 -DA:43,2 -DA:44,0 -DA:47,2 -DA:48,0 -DA:51,2 -DA:52,2 -DA:55,0 -DA:58,2 -LF:20 -LH:16 -BRDA:35,0,0,0 -BRDA:35,0,1,2 -BRDA:43,1,0,0 -BRDA:43,1,1,2 -BRDA:43,2,0,2 -BRDA:43,2,1,0 -BRDA:47,3,0,0 -BRDA:47,3,1,2 -BRDA:47,4,0,2 -BRDA:47,4,1,0 -BRDA:51,5,0,2 -BRDA:51,5,1,0 -BRDA:51,6,0,2 -BRDA:51,6,1,2 -BRDA:61,7,0,2 -BRDA:61,7,1,0 -BRDA:64,8,0,2 -BRDA:64,8,1,2 -BRF:18 -BRH:11 -end_of_record -TN: -SF:src/containers/Rhs/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/containers/Rhs/views/ConnectAccount/ConnectAccount.container.tsx -FN:12,(anonymous_0) -FN:16,(anonymous_1) -FN:22,(anonymous_2) -FN:43,(anonymous_3) -FNF:4 -FNH:3 -FNDA:3,(anonymous_0) -FNDA:1,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:6,(anonymous_3) -DA:12,2 -DA:13,3 -DA:14,3 -DA:16,3 -DA:17,1 -DA:20,3 -DA:23,0 -DA:27,3 -DA:44,6 -LF:9 -LH:8 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/containers/Rhs/views/ConnectAccount/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/containers/Rhs/views/ConnectedAccount/ConnectedAccount.container.tsx -FN:16,(anonymous_0) -FN:23,(anonymous_1) -FN:29,(anonymous_2) -FN:36,(anonymous_3) -FN:43,(anonymous_4) -FN:52,(anonymous_5) -FN:84,(anonymous_6) -FNF:7 -FNH:3 -FNDA:8,(anonymous_0) -FNDA:0,(anonymous_1) -FNDA:0,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:0,(anonymous_4) -FNDA:6,(anonymous_5) -FNDA:1,(anonymous_6) -DA:16,2 -DA:17,8 -DA:18,8 -DA:19,8 -DA:21,8 -DA:23,8 -DA:24,0 -DA:27,6 -DA:30,0 -DA:34,6 -DA:37,0 -DA:38,0 -DA:39,0 -DA:44,0 -DA:48,0 -DA:52,6 -DA:53,6 -DA:54,0 -DA:55,0 -DA:59,6 -DA:84,1 -LF:21 -LH:12 -BRDA:53,0,0,0 -BRDA:53,0,1,6 -BRDA:53,1,0,6 -BRDA:53,1,1,6 -BRF:4 -BRH:3 -end_of_record -TN: -SF:src/containers/Rhs/views/ConnectedAccount/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/containers/Rhs/views/LinkedChannels/LinkedChannels.container.tsx -FN:18,(anonymous_0) -FN:28,(anonymous_1) -FN:28,(anonymous_2) -FN:29,(anonymous_3) -FN:32,(anonymous_4) -FN:33,(anonymous_5) -FN:39,(anonymous_6) -FN:46,(anonymous_7) -FN:51,(anonymous_8) -FN:79,(anonymous_9) -FNF:10 -FNH:6 -FNDA:3,(anonymous_0) -FNDA:3,(anonymous_1) -FNDA:3,(anonymous_2) -FNDA:0,(anonymous_3) -FNDA:3,(anonymous_4) -FNDA:0,(anonymous_5) -FNDA:1,(anonymous_6) -FNDA:0,(anonymous_7) -FNDA:3,(anonymous_8) -FNDA:0,(anonymous_9) -DA:18,2 -DA:20,3 -DA:21,3 -DA:22,3 -DA:28,3 -DA:29,3 -DA:32,3 -DA:33,3 -DA:34,0 -DA:35,0 -DA:39,3 -DA:40,1 -DA:46,3 -DA:47,0 -DA:51,3 -DA:52,3 -DA:55,3 -DA:80,0 -LF:18 -LH:14 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/containers/Rhs/views/LinkedChannels/LinkedChannels.mock.ts -FNF:0 -FNH:0 -DA:1,2 -LF:1 -LH:1 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/containers/Rhs/views/LinkedChannels/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/reducers/index.ts -FNF:0 -FNH:0 -LF:0 -LH:0 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/reducers/apiRequest/index.ts -FN:13,(anonymous_0) -FN:16,(anonymous_1) -FN:17,(anonymous_2) -FNF:3 -FNH:3 -FNDA:1,(anonymous_0) -FNDA:1,(anonymous_1) -FNDA:3,(anonymous_2) -DA:5,7 -DA:9,7 -DA:14,1 -DA:17,3 -DA:22,7 -LF:5 -LH:5 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/reducers/connectedState/index.ts -FN:16,(anonymous_0) -FNF:1 -FNH:1 -FNDA:1,(anonymous_0) -DA:5,3 -DA:12,3 -DA:17,1 -DA:18,1 -DA:19,1 -DA:20,1 -DA:25,3 -LF:7 -LH:7 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/reducers/dialog/index.ts -FN:19,(anonymous_0) -FN:28,(anonymous_1) -FNF:2 -FNH:2 -FNDA:1,(anonymous_0) -FNDA:1,(anonymous_1) -DA:5,6 -DA:15,6 -DA:20,1 -DA:21,1 -DA:22,1 -DA:23,1 -DA:24,1 -DA:25,1 -DA:26,1 -DA:29,1 -DA:35,6 -LF:11 -LH:11 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/reducers/snackbar/index.ts -FN:15,(anonymous_0) -FN:20,(anonymous_1) -FNF:2 -FNH:2 -FNDA:1,(anonymous_0) -FNDA:1,(anonymous_1) -DA:5,6 -DA:11,6 -DA:16,1 -DA:17,1 -DA:18,1 -DA:21,1 -DA:26,6 -LF:7 -LH:7 -BRF:0 -BRH:0 -end_of_record -TN: -SF:src/reducers/spinner/index.ts -FN:11,(anonymous_0) -FNF:1 -FNH:1 -FNDA:1,(anonymous_0) -DA:3,1 -DA:7,1 -DA:12,1 -DA:17,1 -LF:4 -LH:4 -BRF:0 -BRH:0 -end_of_record From f45acd74990e20db74aeaad314ce8386cac11742 Mon Sep 17 00:00:00 2001 From: ayusht2810 Date: Tue, 12 Dec 2023 13:08:21 +0530 Subject: [PATCH 05/10] [MI-3828] Update util classes and refactor some code --- .../LinkedChannelCard.component.tsx | 10 +++---- .../LinkedChannelCard.styles.scss | 2 +- webapp/src/containers/Rhs/Rhs.container.tsx | 26 ++++++++++--------- webapp/src/hooks/usePreviousState.ts | 1 + webapp/src/styles/_utils.scss | 24 ++++++++--------- 5 files changed, 33 insertions(+), 30 deletions(-) diff --git a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx index 59f0a4fa2..0ea4a9932 100644 --- a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx +++ b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx @@ -17,18 +17,18 @@ export const LinkedChannelCard = ({msTeamsChannelName, msTeamsTeamName, mattermo
- {mattermostChannelType === MMConstants.PRIVATE_CHANNEL ? : } + -
{mattermostChannelName}
+
{mattermostChannelName}
-
{mattermostTeamName}
+
{mattermostTeamName}
@@ -37,13 +37,13 @@ export const LinkedChannelCard = ({msTeamsChannelName, msTeamsTeamName, mattermo placement='left' text={msTeamsChannelName} > -
{msTeamsChannelName}
+
{msTeamsChannelName}
-
{msTeamsTeamName}
+
{msTeamsTeamName}
diff --git a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss index 643af210c..a1ff4cf79 100644 --- a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss +++ b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss @@ -31,7 +31,7 @@ width: 95%; } - &__body-values { + &__entity-label { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; diff --git a/webapp/src/containers/Rhs/Rhs.container.tsx b/webapp/src/containers/Rhs/Rhs.container.tsx index 15c5b7fb4..da609bdc0 100644 --- a/webapp/src/containers/Rhs/Rhs.container.tsx +++ b/webapp/src/containers/Rhs/Rhs.container.tsx @@ -107,7 +107,7 @@ export const Rhs = () => { makeApiRequestWithCompletionStatus(pluginApiServiceConfigs.getLinkedChannels.apiServiceName, linkedChannelsParams); }, [paginationQueryParams]); - // Update connected reducer and show alert on successful connection of the user + // Update connected state and show alert on successful connection of the user useEffect(() => { if (connected && !isAlreadyConnected) { showAlert({message: 'Your account is connected successfully.', severity: 'default'}); @@ -261,19 +261,21 @@ export const Rhs = () => { }
)} - {/* State when user is conected and linked channels are present. */} + {/* State when user is connected and linked channels are present. */} {((Boolean(totalLinkedChannels.length) || isLoading || searchLinkedChannelsText || previousState?.searchLinkedChannelsText) && !firstRender) && ( <> -

{channelListTitle}

-
- ) => setSearchLinkedChannelsText(e.target.value)} - onClose={() => setSearchLinkedChannelsText('')} - /> +
+

{channelListTitle}

+
+ ) => setSearchLinkedChannelsText(e.target.value)} + onClose={() => setSearchLinkedChannelsText('')} + /> +
{/* Show a spinner while searching for a specific linked channel. */} {isLoading && !paginationQueryParams.page ? ( diff --git a/webapp/src/hooks/usePreviousState.ts b/webapp/src/hooks/usePreviousState.ts index 04a9d7136..64c64ce5c 100644 --- a/webapp/src/hooks/usePreviousState.ts +++ b/webapp/src/hooks/usePreviousState.ts @@ -1,5 +1,6 @@ import {useEffect, useRef} from 'react'; +// usePreviousState stores the previous state for a current state function usePreviousState(value: Record) { const ref = useRef>(); useEffect(() => { diff --git a/webapp/src/styles/_utils.scss b/webapp/src/styles/_utils.scss index d2a6a2adc..949bd78ed 100644 --- a/webapp/src/styles/_utils.scss +++ b/webapp/src/styles/_utils.scss @@ -38,6 +38,10 @@ .p-#{$size} { padding: #{$size}px !important; } + + .pt-#{$size} { + padding-top: #{$size}px !important; + } } // margin @@ -45,6 +49,14 @@ .m-#{$size} { margin: #{$size}px !important; } + + .mt-#{$size} { + margin-top: #{$size}px !important; + } + + .mb-#{$size} { + margin-bottom: #{$size}px !important; + } } // margin block @@ -100,18 +112,6 @@ } } -.mt-0 { - margin-top: 0; -} - -.pt-0 { - padding-top: 0 !important; -} - -.mt-10 { - margin-top: 10px; -} - .align-items-center { align-items: center; } From 11cfaa33394b06a66146327126269f65592366bf Mon Sep 17 00:00:00 2001 From: ayusht2810 Date: Wed, 13 Dec 2023 20:28:40 +0530 Subject: [PATCH 06/10] [MI-3828] Update style and minor review comments --- .../LinkedChannelCard.styles.scss | 2 +- .../LinkedChannelCard/LinkedChannelCard.test.tsx | 1 + webapp/src/constants/common.constants.ts | 2 +- webapp/src/containers/Rhs/Rhs.container.tsx | 15 +++++---------- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss index a1ff4cf79..2ae8d80dd 100644 --- a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss +++ b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.styles.scss @@ -36,7 +36,7 @@ overflow: hidden; text-overflow: ellipsis; max-width: 45%; - line-height: inherit; + line-height: normal; } } } diff --git a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.test.tsx b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.test.tsx index efc83df78..2166188c7 100644 --- a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.test.tsx +++ b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.test.tsx @@ -11,6 +11,7 @@ const linkedChannelCardProps: LinkedChannelCardProps = { mattermostTeamName: 'mockMattermostTeamName', msTeamsChannelName: 'mockMSTeamsChannelName', msTeamsTeamName: 'mockMSTeamsTeamName', + mattermostChannelType: 'mattermostChannelType', }; let tree: RenderResult; diff --git a/webapp/src/constants/common.constants.ts b/webapp/src/constants/common.constants.ts index 4bcc23152..3e15a6b3a 100644 --- a/webapp/src/constants/common.constants.ts +++ b/webapp/src/constants/common.constants.ts @@ -8,7 +8,7 @@ export const defaultPage = 0; export const defaultPerPage = 20; -export const debounceFunctionTimeLimit = 500; +export const debounceSearchFunctionTimeLimitInMilliseconds = 500; // Severity used in alert component export const alertSeverity: Record = { diff --git a/webapp/src/containers/Rhs/Rhs.container.tsx b/webapp/src/containers/Rhs/Rhs.container.tsx index da609bdc0..b44f5b7f1 100644 --- a/webapp/src/containers/Rhs/Rhs.container.tsx +++ b/webapp/src/containers/Rhs/Rhs.container.tsx @@ -6,7 +6,7 @@ import {Button, Input, Spinner} from '@brightscout/mattermost-ui-library'; import {Icon, IconName, LinkedChannelCard, Snackbar, WarningCard} from 'components'; import {pluginApiServiceConfigs} from 'constants/apiService.constant'; -import {debounceFunctionTimeLimit, defaultPage, defaultPerPage} from 'constants/common.constants'; +import {debounceSearchFunctionTimeLimitInMilliseconds, defaultPage, defaultPerPage} from 'constants/common.constants'; import Constants from 'constants/connectAccount.constants'; import {channelListTitle, noMoreChannelsText} from 'constants/linkedChannels.constants'; import useApiRequestCompletionState from 'hooks/useApiRequestCompletionState'; @@ -40,10 +40,7 @@ export const Rhs = () => { const showAlert = useAlert(); // Increase the page number by 1 - const handlePagination = () => { - setPaginationQueryParams({...paginationQueryParams, page: paginationQueryParams.page + 1, - }); - }; + const handlePagination = () => setPaginationQueryParams({...paginationQueryParams, page: paginationQueryParams.page + 1}); // Make api call to connect user account const connectAccount = useCallback(() => { @@ -69,9 +66,7 @@ export const Rhs = () => { // Show disconnect dialog component const {DialogComponent, showDialog, hideDialog} = useDialog({ onSubmitHandler: disconnectUser, - onCloseHandler: () => { - hideDialog(); - }, + onCloseHandler: () => hideDialog(), }); const {isRhsLoading} = getIsRhsLoading(state); @@ -88,7 +83,7 @@ export const Rhs = () => { const timer = setTimeout(() => { resetStates(); - }, debounceFunctionTimeLimit); + }, debounceSearchFunctionTimeLimitInMilliseconds); /* eslint-disable consistent-return */ return () => { @@ -129,7 +124,7 @@ export const Rhs = () => { }, }); - // Disconnect user and show alerts on completion of the api to disconnect user + // Disconnect a user and show alerts on completion of the api to disconnect the user useApiRequestCompletionState({ serviceName: pluginApiServiceConfigs.disconnectUser.apiServiceName, handleSuccess: () => { From 95b992003b0120f6f55b4e3ceadde1a80b02d5ce Mon Sep 17 00:00:00 2001 From: ayusht2810 Date: Wed, 13 Dec 2023 21:54:42 +0530 Subject: [PATCH 07/10] [MI-3828] Remove extra unit test case and make a common function --- .../LinkedChannelCard.component.tsx | 55 ++- .../LinkedChannelCard.test.tsx.snap | 20 +- webapp/src/containers/Rhs/Rhs.test.tsx | 22 -- .../LinkedChannels.test.tsx.snap | 226 ------------- .../Rhs/__snapshots__/Rhs.test.tsx.snap | 320 ------------------ 5 files changed, 37 insertions(+), 606 deletions(-) delete mode 100644 webapp/src/containers/Rhs/Rhs.test.tsx delete mode 100644 webapp/src/containers/Rhs/__snapshots__/LinkedChannels.test.tsx.snap delete mode 100644 webapp/src/containers/Rhs/__snapshots__/Rhs.test.tsx.snap diff --git a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx index 0ea4a9932..a88b785ab 100644 --- a/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx +++ b/webapp/src/components/LinkedChannelCard/LinkedChannelCard.component.tsx @@ -10,42 +10,41 @@ import {LinkedChannelCardProps} from './LinkedChannelCard.types'; import './LinkedChannelCard.styles.scss'; -export const LinkedChannelCard = ({msTeamsChannelName, msTeamsTeamName, mattermostChannelName, mattermostTeamName, mattermostChannelType}: LinkedChannelCardProps) => ( -
-
- -
-
-
- +export const LinkedChannelCard = ({msTeamsChannelName, msTeamsTeamName, mattermostChannelName, mattermostTeamName, mattermostChannelType}: LinkedChannelCardProps) => { + const getData = (channelName: string, teamName: string) => { + return ( + <> -
{mattermostChannelName}
+
{channelName}
-
{mattermostTeamName}
+
{teamName}
+ + ); + }; + + return ( +
+
+
-
- - -
{msTeamsChannelName}
-
- -
{msTeamsTeamName}
-
+
+
+ + {getData(mattermostChannelName, mattermostTeamName)} +
+
+ + {getData(msTeamsChannelName, msTeamsTeamName)} +
-
-); + ); +}; diff --git a/webapp/src/components/LinkedChannelCard/__snapshots__/LinkedChannelCard.test.tsx.snap b/webapp/src/components/LinkedChannelCard/__snapshots__/LinkedChannelCard.test.tsx.snap index c6d510982..ad1eebfa6 100644 --- a/webapp/src/components/LinkedChannelCard/__snapshots__/LinkedChannelCard.test.tsx.snap +++ b/webapp/src/components/LinkedChannelCard/__snapshots__/LinkedChannelCard.test.tsx.snap @@ -36,7 +36,7 @@ exports[`Linked Channel Card component Should render correctly 1`] = `
mockMattermostChannelName
mockMattermostTeamName
@@ -163,12 +163,12 @@ exports[`Linked Channel Card component Should render correctly 1`] = `
mockMSTeamsChannelName
mockMSTeamsTeamName
@@ -209,7 +209,7 @@ exports[`Linked Channel Card component Should render correctly 1`] = `
mockMattermostChannelName
mockMattermostTeamName
@@ -336,12 +336,12 @@ exports[`Linked Channel Card component Should render correctly 1`] = `
mockMSTeamsChannelName
mockMSTeamsTeamName
diff --git a/webapp/src/containers/Rhs/Rhs.test.tsx b/webapp/src/containers/Rhs/Rhs.test.tsx deleted file mode 100644 index 8c267a316..000000000 --- a/webapp/src/containers/Rhs/Rhs.test.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; - -import {RenderResult, render} from '@testing-library/react'; - -import {Rhs} from './Rhs.container'; - -let tree: RenderResult; - -describe('RHS view', () => { - beforeEach(() => { - tree = render(); - }); - - it('Should render correctly', () => { - expect(tree).toMatchSnapshot(); - }); - - it('Should render disconnect account button', () => { - const disconnectButton = tree.getByText('Disconnect'); - expect(disconnectButton).toBeVisible(); - }); -}); diff --git a/webapp/src/containers/Rhs/__snapshots__/LinkedChannels.test.tsx.snap b/webapp/src/containers/Rhs/__snapshots__/LinkedChannels.test.tsx.snap deleted file mode 100644 index d56ee8af1..000000000 --- a/webapp/src/containers/Rhs/__snapshots__/LinkedChannels.test.tsx.snap +++ /dev/null @@ -1,226 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Linked Channels View Should render correctly 1`] = ` -{ - "asFragment": [Function], - "baseElement": -
-
-
-
-
- - - - - -
-
-
- Please Connect your MS Teams account. -
-
-

- You are not connected to your MS Teams account yet, please connect to your account to continue using MS Teams sync. -

-
- -
-
-
-
-
-

- Linked Channels -

-
-
-
-

- - No more linked channels present. - -

-
-
-
-
-
- , - "container":
-
-
-
-
- - - - - -
-
-
- Please Connect your MS Teams account. -
-
-

- You are not connected to your MS Teams account yet, please connect to your account to continue using MS Teams sync. -

-
- -
-
-
-
-
-

- Linked Channels -

-
-
-
-

- - No more linked channels present. - -

-
-
-
-
-
, - "debug": [Function], - "findAllByAltText": [Function], - "findAllByDisplayValue": [Function], - "findAllByLabelText": [Function], - "findAllByPlaceholderText": [Function], - "findAllByRole": [Function], - "findAllByTestId": [Function], - "findAllByText": [Function], - "findAllByTitle": [Function], - "findByAltText": [Function], - "findByDisplayValue": [Function], - "findByLabelText": [Function], - "findByPlaceholderText": [Function], - "findByRole": [Function], - "findByTestId": [Function], - "findByText": [Function], - "findByTitle": [Function], - "getAllByAltText": [Function], - "getAllByDisplayValue": [Function], - "getAllByLabelText": [Function], - "getAllByPlaceholderText": [Function], - "getAllByRole": [Function], - "getAllByTestId": [Function], - "getAllByText": [Function], - "getAllByTitle": [Function], - "getByAltText": [Function], - "getByDisplayValue": [Function], - "getByLabelText": [Function], - "getByPlaceholderText": [Function], - "getByRole": [Function], - "getByTestId": [Function], - "getByText": [Function], - "getByTitle": [Function], - "queryAllByAltText": [Function], - "queryAllByDisplayValue": [Function], - "queryAllByLabelText": [Function], - "queryAllByPlaceholderText": [Function], - "queryAllByRole": [Function], - "queryAllByTestId": [Function], - "queryAllByText": [Function], - "queryAllByTitle": [Function], - "queryByAltText": [Function], - "queryByDisplayValue": [Function], - "queryByLabelText": [Function], - "queryByPlaceholderText": [Function], - "queryByRole": [Function], - "queryByTestId": [Function], - "queryByText": [Function], - "queryByTitle": [Function], - "rerender": [Function], - "unmount": [Function], -} -`; diff --git a/webapp/src/containers/Rhs/__snapshots__/Rhs.test.tsx.snap b/webapp/src/containers/Rhs/__snapshots__/Rhs.test.tsx.snap deleted file mode 100644 index 12b3103d8..000000000 --- a/webapp/src/containers/Rhs/__snapshots__/Rhs.test.tsx.snap +++ /dev/null @@ -1,320 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`RHS view Should render correctly 1`] = ` -{ - "asFragment": [Function], - "baseElement": -