@nethesis/phone-island 0.8.13 → 0.8.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("../../styles/Island.styles.js");require("../../node_modules/framer-motion/dist/framer-motion.js"),require("../../node_modules/react-redux/es/index.js"),require("../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("../../styles/Island.styles.js");require("../../node_modules/framer-motion/dist/framer-motion.js"),require("../../node_modules/react-redux/es/index.js"),require("../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/defineProperty.js"),require("../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/typeof.js"),require("../../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../../node_modules/react-i18next/dist/es/context.js");var i=require("../../node_modules/react-i18next/dist/es/useTranslation.js");require("../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/slicedToArray.js");var r=require("../../_virtual/framer-motion.js"),n=require("../../node_modules/react-redux/es/hooks/useSelector.js");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=a(e);exports.default=function(){var a=e.useState(!1),l=a[0],s=a[1],u=e.useRef(null),d=e.useRef(null),p=r.framerMotion.exports.motion(t.StyledName),c=n.useSelector((function(e){return e.currentCall})).displayName,m=n.useSelector((function(e){return e.listen})),f=i.useTranslation().t;return e.useLayoutEffect((function(){u.current&&d.current&&d.current.clientWidth-u.current.clientWidth>5&&s(!0)})),o.default.createElement(o.default.Fragment,null,(null==m?void 0:m.isIntrude)?o.default.createElement(p,{ref:u,className:"pi-whitespace-nowrap pi-relative pi-overflow-hidden"},o.default.createElement("div",{className:"pi-w-fit pi-relative pi-inline-block pi-text-gray-900 dark:pi-text-gray-200 ".concat(l&&"animated-text"),ref:d},""!==(null==m?void 0:m.isIntrudeExtension)&&void 0!==(null==m?void 0:m.isIntrudeExtension)?"".concat(f("Common.Intrude"))+"-"+(null==m?void 0:m.isIntrudeExtension):"".concat(f("Common.Intrude"))),o.default.createElement("div",{className:"pi-w-6 pi-absolute pi-right-0 pi-top-0 pi-h-full pi-bg-gradient-to-r pi-from-transparent dark:pi-to-gray-950 pi-to-gray-50"})):(null==m?void 0:m.isListen)?o.default.createElement(p,{ref:u,className:"pi-whitespace-nowrap pi-relative pi-overflow-hidden"},o.default.createElement("div",{className:"pi-w-fit pi-relative pi-inline-block pi-text-gray-900 dark:pi-text-gray-200 ".concat(l&&"animated-text"),ref:d},""!==(null==m?void 0:m.isListenExtension)&&void 0!==(null==m?void 0:m.isListenExtension)?"".concat(f("Common.Listen"))+"-"+(null==m?void 0:m.isListenExtension):"".concat(f("Common.Listen"))),o.default.createElement("div",{className:"pi-w-6 pi-absolute pi-right-0 pi-top-0 pi-h-full pi-bg-gradient-to-r pi-from-transparent dark:pi-to-gray-950 pi-to-gray-50"})):o.default.createElement(p,{ref:u,className:"pi-whitespace-nowrap pi-relative pi-overflow-hidden "},o.default.createElement("div",{className:"pi-w-fit pi-relative pi-inline-block pi-text-gray-900 dark:pi-text-gray-200 ".concat(l&&"animated-text"),ref:d},c&&"<unknown>"===c?"PBX":c||(f("Call.Outgoing call")||"-")),o.default.createElement("div",{className:"pi-w-6 pi-absolute pi-right-0 pi-top-0 pi-h-full pi-bg-gradient-to-r pi-from-transparent dark:pi-to-gray-950 pi-to-gray-50"}," ")))};
|
|
2
2
|
//# sourceMappingURL=DisplayName.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisplayName.js","sources":["../../../src/components/CallView/DisplayName.tsx"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { useState, useRef, useLayoutEffect, type FC } from 'react'\nimport { StyledName } from '../../styles/Island.styles'\nimport { motion } from 'framer-motion/dist/framer-motion'\nimport { RootState } from '../../store'\nimport { useSelector } from 'react-redux'\nimport { useTranslation } from 'react-i18next'\n\nconst DisplayName: FC<DisplayNameProps> = () => {\n const [animateText, setAnimateText] = useState<boolean>(false)\n const nameContainer = useRef<null | HTMLDivElement>(null)\n const nameText = useRef<null | HTMLDivElement>(null)\n const NameMotion = motion(StyledName)\n\n // Get the displayName of the currentCall store\n const { displayName } = useSelector((state: RootState) => state.currentCall)\n const intrudeListenStatus = useSelector((state: RootState) => state.listen)\n\n const { t } = useTranslation()\n\n useLayoutEffect(() => {\n if (\n nameContainer.current &&\n nameText.current &&\n nameText.current.clientWidth - nameContainer.current.clientWidth > 5\n ) {\n setAnimateText(true)\n }\n })\n\n return (\n <>\n {intrudeListenStatus?.isIntrude ? (\n <NameMotion\n ref={nameContainer}\n className='pi-whitespace-nowrap pi-relative pi-overflow-hidden'\n >\n <div\n className={`pi-w-fit pi-relative pi-inline-block pi-text-gray-900 dark:pi-text-gray-200 ${\n animateText && 'animated-text'\n }`}\n ref={nameText}\n >\n {intrudeListenStatus?.isIntrudeExtension !== ''\n ? `${t('Common.Intrude')}` + '-' + intrudeListenStatus?.isIntrudeExtension\n : '
|
|
1
|
+
{"version":3,"file":"DisplayName.js","sources":["../../../src/components/CallView/DisplayName.tsx"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { useState, useRef, useLayoutEffect, type FC } from 'react'\nimport { StyledName } from '../../styles/Island.styles'\nimport { motion } from 'framer-motion/dist/framer-motion'\nimport { RootState } from '../../store'\nimport { useSelector } from 'react-redux'\nimport { useTranslation } from 'react-i18next'\n\nconst DisplayName: FC<DisplayNameProps> = () => {\n const [animateText, setAnimateText] = useState<boolean>(false)\n const nameContainer = useRef<null | HTMLDivElement>(null)\n const nameText = useRef<null | HTMLDivElement>(null)\n const NameMotion = motion(StyledName)\n\n // Get the displayName of the currentCall store\n const { displayName } = useSelector((state: RootState) => state.currentCall)\n const intrudeListenStatus = useSelector((state: RootState) => state.listen)\n\n const { t } = useTranslation()\n\n useLayoutEffect(() => {\n if (\n nameContainer.current &&\n nameText.current &&\n nameText.current.clientWidth - nameContainer.current.clientWidth > 5\n ) {\n setAnimateText(true)\n }\n })\n\n return (\n <>\n {intrudeListenStatus?.isIntrude ? (\n <NameMotion\n ref={nameContainer}\n className='pi-whitespace-nowrap pi-relative pi-overflow-hidden'\n >\n <div\n className={`pi-w-fit pi-relative pi-inline-block pi-text-gray-900 dark:pi-text-gray-200 ${\n animateText && 'animated-text'\n }`}\n ref={nameText}\n >\n {intrudeListenStatus?.isIntrudeExtension !== '' &&\n intrudeListenStatus?.isIntrudeExtension !== undefined\n ? `${t('Common.Intrude')}` + '-' + intrudeListenStatus?.isIntrudeExtension\n : `${t('Common.Intrude')}`}\n </div>\n <div className='pi-w-6 pi-absolute pi-right-0 pi-top-0 pi-h-full pi-bg-gradient-to-r pi-from-transparent dark:pi-to-gray-950 pi-to-gray-50'></div>\n </NameMotion>\n ) : intrudeListenStatus?.isListen ? (\n <NameMotion\n ref={nameContainer}\n className='pi-whitespace-nowrap pi-relative pi-overflow-hidden'\n >\n <div\n className={`pi-w-fit pi-relative pi-inline-block pi-text-gray-900 dark:pi-text-gray-200 ${\n animateText && 'animated-text'\n }`}\n ref={nameText}\n >\n {intrudeListenStatus?.isListenExtension !== '' &&\n intrudeListenStatus?.isListenExtension !== undefined\n ? `${t('Common.Listen')}` + '-' + intrudeListenStatus?.isListenExtension\n : `${t('Common.Listen')}`}\n </div>\n <div className='pi-w-6 pi-absolute pi-right-0 pi-top-0 pi-h-full pi-bg-gradient-to-r pi-from-transparent dark:pi-to-gray-950 pi-to-gray-50'></div>\n </NameMotion>\n ) : (\n <NameMotion\n ref={nameContainer}\n className='pi-whitespace-nowrap pi-relative pi-overflow-hidden '\n >\n <div\n className={`pi-w-fit pi-relative pi-inline-block pi-text-gray-900 dark:pi-text-gray-200 ${\n animateText && 'animated-text'\n }`}\n ref={nameText}\n >\n {displayName && displayName === '<unknown>'\n ? 'PBX'\n : displayName\n ? displayName\n : t('Call.Outgoing call') || '-'}\n </div>\n <div className='pi-w-6 pi-absolute pi-right-0 pi-top-0 pi-h-full pi-bg-gradient-to-r pi-from-transparent dark:pi-to-gray-950 pi-to-gray-50'>\n {' '}\n </div>\n </NameMotion>\n )}\n </>\n )\n}\n\nexport default DisplayName\n\nexport interface DisplayNameProps {}\n"],"names":["_a","useState","animateText","setAnimateText","nameContainer","useRef","nameText","NameMotion","motion","StyledName","displayName","useSelector","state","currentCall","intrudeListenStatus","listen","t","useTranslation","useLayoutEffect","current","clientWidth","React","isIntrude","createElement","ref","className","concat","isIntrudeExtension","undefined","isListen","isListenExtension"],"mappings":"yjCAU0C,WAClC,IAAAA,EAAgCC,EAAAA,UAAkB,GAAjDC,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAC5BI,EAAgBC,SAA8B,MAC9CC,EAAWD,SAA8B,MACzCE,EAAaC,8BAAOC,EAAAA,YAGlBC,EAAgBC,eAAY,SAACC,GAAqB,OAAAA,EAAMC,2BAC1DC,EAAsBH,EAAWA,aAAC,SAACC,GAAqB,OAAAA,EAAMG,MAAN,IAEtDC,EAAMC,qBAYd,OAVAC,EAAAA,iBAAgB,WAEZd,EAAce,SACdb,EAASa,SACTb,EAASa,QAAQC,YAAchB,EAAce,QAAQC,YAAc,GAEnEjB,GAAe,EAEnB,IAGEkB,iDACGP,aAAmB,EAAnBA,EAAqBQ,WACpBD,EAAAA,QAACE,cAAAhB,EACC,CAAAiB,IAAKpB,EACLqB,UAAU,uDAEVJ,UACEE,cAAA,MAAA,CAAAE,UAAW,+EACTC,OAAAxB,GAAe,iBAEjBsB,IAAKlB,GAEwC,MAA5CQ,eAAAA,EAAqBa,0BACsBC,KAA5Cd,aAAmB,EAAnBA,EAAqBa,oBACjB,GAAGD,OAAAV,EAAE,mBAAsB,KAAMF,eAAAA,EAAqBa,oBACtD,GAAGD,OAAAV,EAAE,oBAEXK,EAAAA,QAAAE,cAAA,MAAA,CAAKE,UAAU,iIAEfX,aAAA,EAAAA,EAAqBe,UACvBR,UAACE,cAAAhB,EACC,CAAAiB,IAAKpB,EACLqB,UAAU,uDAEVJ,UACEE,cAAA,MAAA,CAAAE,UAAW,+EACTC,OAAAxB,GAAe,iBAEjBsB,IAAKlB,GAEuC,MAA3CQ,eAAAA,EAAqBgB,yBACqBF,KAA3Cd,aAAmB,EAAnBA,EAAqBgB,mBACjB,GAAGJ,OAAAV,EAAE,kBAAqB,KAAMF,eAAAA,EAAqBgB,mBACrD,GAAGJ,OAAAV,EAAE,mBAEXK,EAAA,QAAAE,cAAA,MAAA,CAAKE,UAAU,gIAGjBJ,EAAC,QAAAE,cAAAhB,GACCiB,IAAKpB,EACLqB,UAAU,wDAEVJ,EAAAA,QAAAE,cAAA,MAAA,CACEE,UAAW,+EAAAC,OACTxB,GAAe,iBAEjBsB,IAAKlB,GAEJI,GAA+B,cAAhBA,EACZ,MACAA,IAEAM,EAAE,uBAAyB,MAEjCK,UAAKE,cAAA,MAAA,CAAAE,UAAU,8HACZ,MAMb"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../node_modules/framer-motion/dist/framer-motion.js");var t=require("./Button.js"),r=require("../node_modules/@fortawesome/react-fontawesome/index.es.js"),i=require("../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),o=require("../lib/phone/call.js");require("../node_modules/react-redux/es/index.js");var s=require("../node_modules/react-tooltip/dist/react-tooltip.min.cjs.js");require("../node_modules/react-i18next/node_modules/@babel/runtime/helpers/defineProperty.js"),require("../node_modules/react-i18next/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../node_modules/react-i18next/node_modules/@babel/runtime/helpers/typeof.js"),require("../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../node_modules/react-i18next/dist/es/context.js");var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react");require("../node_modules/framer-motion/dist/framer-motion.js");var t=require("./Button.js"),r=require("../node_modules/@fortawesome/react-fontawesome/index.es.js"),i=require("../node_modules/@fortawesome/free-solid-svg-icons/index.mjs.js"),o=require("../lib/phone/call.js");require("../node_modules/react-redux/es/index.js");var s=require("../node_modules/react-tooltip/dist/react-tooltip.min.cjs.js");require("../node_modules/react-i18next/node_modules/@babel/runtime/helpers/defineProperty.js"),require("../node_modules/react-i18next/node_modules/@babel/runtime/helpers/objectWithoutProperties.js"),require("../node_modules/react-i18next/node_modules/@babel/runtime/helpers/typeof.js"),require("../node_modules/html-parse-stringify/dist/html-parse-stringify.js"),require("../node_modules/react-i18next/dist/es/context.js");var n=require("../node_modules/react-i18next/dist/es/useTranslation.js");require("../node_modules/react-i18next/node_modules/@babel/runtime/helpers/slicedToArray.js");var a=require("./SwitchInputView/DropdownContent.js"),l=require("../node_modules/react-redux/es/hooks/useSelector.js"),u=require("../node_modules/react-redux/es/hooks/useDispatch.js"),d=require("../_virtual/framer-motion.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var p=c(e);exports.default=function(e){e.clickCallback,e.isDestination;var c=e.description,m=l.useSelector((function(e){return e.currentCall})),f=m.transferring,j=m.incoming,x=m.accepted,_=u.useDispatch(),h=l.useSelector((function(e){return e.island})).isOpen;var q=n.useTranslation().t;return p.default.createElement(p.default.Fragment,null,p.default.createElement("div",{className:" ".concat(f?"pi-grid pi-w-full pi-space-x-2 pi-justify-start":"pi-flex pi-justify-center")},p.default.createElement(d.framerMotion.exports.motion.div,{className:"".concat(f&&c?"pi-grid pi-grid-cols-[12rem,1rem] pi-ml-4 pi-justify-start":"pi-flex pi-w-12"," ")},p.default.createElement(t.Button,{onClick:function(){return j?o.hangupAllExtensions():o.hangupCurrentCall(),setTimeout((function(){_.listen.setUpdateIntrudeStatus(!1,""),_.listen.setUpdateListenStatus(!1,"")}),2e3),void(f&&setTimeout((function(){_.alerts.setAlert("call_transfered"),setTimeout((function(){_.alerts.removeAlert("call_transfered")}),2e3)}),300))},variant:"red",className:"pi-gap-4 pi-font-medium pi-text-base pi-transition pi-min-w-12 pi-w-full","data-tooltip-id":c&&f?"tooltip-top-transfer":"tooltip-left-transfer","data-tooltip-content":c&&f?c:"".concat(q("Tooltip.Hangup"))},p.default.createElement(r.FontAwesomeIcon,{className:"pi-rotate-135 pi-h-6 pi-w-6",icon:i.faPhone}),f&&c&&p.default.createElement(d.framerMotion.exports.motion.div,{style:{height:"17px"},className:"pi-whitespace-nowrap pi-overflow-hidden"},c)),h&&x&&p.default.createElement("div",{className:"".concat(f&&c?"pi-grid pi-grid-cols-1 pi-ml-8":"pi-flex pi-items-center pi-justify-end pi-ml-16")},p.default.createElement(a.default,{"data-stop-propagation":!0})))),p.default.createElement(s.Tooltip,{className:"pi-z-20",id:"tooltip-left-transfer",place:"left"}),p.default.createElement(s.Tooltip,{className:"pi-z-20",id:"tooltip-top-transfer",place:"top"}))};
|
|
2
2
|
//# sourceMappingURL=Hangup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hangup.js","sources":["../../src/components/Hangup.tsx"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport { motion } from 'framer-motion/dist/framer-motion'\nimport { Button } from './Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPhone } from '@fortawesome/free-solid-svg-icons'\nimport { hangupCurrentCall } from '../lib/phone/call'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { RootState } from '../store'\nimport { Dispatch } from '../store'\nimport { Tooltip } from 'react-tooltip/dist/react-tooltip.min.cjs'\nimport { hangupAllExtensions } from '../lib/phone/call'\nimport { useTranslation } from 'react-i18next'\nimport DropdownContent from './SwitchInputView/DropdownContent'\n\n/**\n * Return the status of the\n */\nconst Hangup: FC<HangupProps> = ({ clickCallback, isDestination, description }) => {\n const { transferring, incoming, accepted } = useSelector((state: RootState) => state.currentCall)\n const dispatch = useDispatch<Dispatch>()\n const { isOpen } = useSelector((state: RootState) => state.island)\n\n function handleHangup() {\n if (incoming) {\n hangupAllExtensions()\n } else {\n hangupCurrentCall()\n }\n // Show confirmation message when a call is transferred\n if (transferring) {\n setTimeout(() => {\n dispatch.alerts.setAlert('call_transfered')\n setTimeout(() => {\n dispatch.alerts.removeAlert('call_transfered')\n }, 2000)\n }, 300)\n }\n }\n\n const { t } = useTranslation()\n\n // Phone island footer section\n return (\n <>\n <div\n className={` ${\n transferring\n ? 'pi-grid pi-w-full pi-space-x-2 pi-justify-start'\n : 'pi-flex pi-justify-center'\n }`}\n >\n {/* The button to hangup the currentCall */}\n <motion.div\n className={`${\n transferring && description\n ? 'pi-grid pi-grid-cols-[12rem,1rem] pi-ml-4 pi-justify-start'\n : 'pi-flex pi-w-12'\n } `}\n >\n <Button\n onClick={() => handleHangup()}\n variant='red'\n className='pi-gap-4 pi-font-medium pi-text-base pi-transition pi-min-w-12 pi-w-full'\n data-tooltip-id={description && transferring ? 'tooltip-top-transfer' : 'tooltip-left-transfer'}\n data-tooltip-content={\n description && transferring ? description : `${t('Tooltip.Hangup')}`\n }\n // data-tooltip-placement=\"top\"\n >\n <FontAwesomeIcon className='pi-rotate-135 pi-h-6 pi-w-6' icon={faPhone} />\n {transferring && description && (\n <motion.div\n style={{ height: '17px' }}\n className='pi-whitespace-nowrap pi-overflow-hidden'\n >\n {description}\n </motion.div>\n )}\n </Button>\n {isOpen && accepted && (\n <div\n className={`${\n transferring && description\n ? 'pi-grid pi-grid-cols-1 pi-ml-8'\n : 'pi-flex pi-items-center pi-justify-end pi-ml-16'\n }`}\n >\n <DropdownContent data-stop-propagation={true}></DropdownContent>\n </div>\n )}\n </motion.div>\n </div>\n <Tooltip className='pi-z-20' id='tooltip-left-transfer' place='left' />\n <Tooltip className='pi-z-20' id='tooltip-top-transfer' place='top' />\n </>\n )\n}\n\nexport default Hangup\n\ninterface HangupProps {\n clickCallback?: () => void\n isDestination?: boolean\n description?: any\n}\n"],"names":["_a","isDestination","description","_b","useSelector","state","currentCall","transferring","incoming","accepted","dispatch","useDispatch","isOpen","island","t","useTranslation","React","createElement","Fragment","className","concat","motion","div","Button","onClick","hangupAllExtensions","hangupCurrentCall","setTimeout","alerts","setAlert","removeAlert","variant","FontAwesomeIcon","icon","faPhone","framerMotion","exports","style","height","DropdownContent","Tooltip","id","place"],"mappings":"g4CAoBgC,SAACA,mBAA8BA,EAAAC,cAAE,IAAAC,EAAWF,EAAAE,YACpEC,EAAuCC,EAAAA,aAAY,SAACC,GAAqB,OAAAA,EAAMC,eAA7EC,EAAYJ,EAAAI,aAAEC,EAAQL,EAAAK,SAAEC,EAAQN,EAAAM,SAClCC,EAAWC,EAAAA,cACTC,EAAWR,eAAY,SAACC,GAAqB,OAAAA,EAAMQ,
|
|
1
|
+
{"version":3,"file":"Hangup.js","sources":["../../src/components/Hangup.tsx"],"sourcesContent":["// Copyright (C) 2022 Nethesis S.r.l.\n// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport React, { type FC } from 'react'\nimport { motion } from 'framer-motion/dist/framer-motion'\nimport { Button } from './Button'\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\nimport { faPhone } from '@fortawesome/free-solid-svg-icons'\nimport { hangupCurrentCall } from '../lib/phone/call'\nimport { useDispatch, useSelector } from 'react-redux'\nimport { RootState } from '../store'\nimport { Dispatch } from '../store'\nimport { Tooltip } from 'react-tooltip/dist/react-tooltip.min.cjs'\nimport { hangupAllExtensions } from '../lib/phone/call'\nimport { useTranslation } from 'react-i18next'\nimport DropdownContent from './SwitchInputView/DropdownContent'\n\n/**\n * Return the status of the\n */\nconst Hangup: FC<HangupProps> = ({ clickCallback, isDestination, description }) => {\n const { transferring, incoming, accepted } = useSelector((state: RootState) => state.currentCall)\n const dispatch = useDispatch<Dispatch>()\n const { isOpen } = useSelector((state: RootState) => state.island)\n\n function handleHangup() {\n if (incoming) {\n hangupAllExtensions()\n } else {\n hangupCurrentCall()\n }\n\n // Delay the dispatch actions\n setTimeout(() => {\n dispatch.listen.setUpdateIntrudeStatus(false, '')\n dispatch.listen.setUpdateListenStatus(false, '')\n }, 2000)\n\n // Show confirmation message when a call is transferred\n if (transferring) {\n setTimeout(() => {\n dispatch.alerts.setAlert('call_transfered')\n setTimeout(() => {\n dispatch.alerts.removeAlert('call_transfered')\n }, 2000)\n }, 300)\n }\n }\n\n const { t } = useTranslation()\n\n // Phone island footer section\n return (\n <>\n <div\n className={` ${\n transferring\n ? 'pi-grid pi-w-full pi-space-x-2 pi-justify-start'\n : 'pi-flex pi-justify-center'\n }`}\n >\n {/* The button to hangup the currentCall */}\n <motion.div\n className={`${\n transferring && description\n ? 'pi-grid pi-grid-cols-[12rem,1rem] pi-ml-4 pi-justify-start'\n : 'pi-flex pi-w-12'\n } `}\n >\n <Button\n onClick={() => handleHangup()}\n variant='red'\n className='pi-gap-4 pi-font-medium pi-text-base pi-transition pi-min-w-12 pi-w-full'\n data-tooltip-id={\n description && transferring ? 'tooltip-top-transfer' : 'tooltip-left-transfer'\n }\n data-tooltip-content={\n description && transferring ? description : `${t('Tooltip.Hangup')}`\n }\n // data-tooltip-placement=\"top\"\n >\n <FontAwesomeIcon className='pi-rotate-135 pi-h-6 pi-w-6' icon={faPhone} />\n {transferring && description && (\n <motion.div\n style={{ height: '17px' }}\n className='pi-whitespace-nowrap pi-overflow-hidden'\n >\n {description}\n </motion.div>\n )}\n </Button>\n {isOpen && accepted && (\n <div\n className={`${\n transferring && description\n ? 'pi-grid pi-grid-cols-1 pi-ml-8'\n : 'pi-flex pi-items-center pi-justify-end pi-ml-16'\n }`}\n >\n <DropdownContent data-stop-propagation={true}></DropdownContent>\n </div>\n )}\n </motion.div>\n </div>\n <Tooltip className='pi-z-20' id='tooltip-left-transfer' place='left' />\n <Tooltip className='pi-z-20' id='tooltip-top-transfer' place='top' />\n </>\n )\n}\n\nexport default Hangup\n\ninterface HangupProps {\n clickCallback?: () => void\n isDestination?: boolean\n description?: any\n}\n"],"names":["_a","isDestination","description","_b","useSelector","state","currentCall","transferring","incoming","accepted","dispatch","useDispatch","isOpen","island","t","useTranslation","React","createElement","Fragment","className","concat","motion","div","Button","onClick","hangupAllExtensions","hangupCurrentCall","setTimeout","listen","setUpdateIntrudeStatus","setUpdateListenStatus","alerts","setAlert","removeAlert","variant","FontAwesomeIcon","icon","faPhone","framerMotion","exports","style","height","DropdownContent","Tooltip","id","place"],"mappings":"g4CAoBgC,SAACA,mBAA8BA,EAAAC,cAAE,IAAAC,EAAWF,EAAAE,YACpEC,EAAuCC,EAAAA,aAAY,SAACC,GAAqB,OAAAA,EAAMC,eAA7EC,EAAYJ,EAAAI,aAAEC,EAAQL,EAAAK,SAAEC,EAAQN,EAAAM,SAClCC,EAAWC,EAAAA,cACTC,EAAWR,eAAY,SAACC,GAAqB,OAAAA,EAAMQ,iBA0BnD,IAAAC,EAAMC,qBAGd,OACEC,UAAAC,cAAAD,EAAA,QAAAE,SAAA,KACEF,EACE,QAAAC,cAAA,MAAA,CAAAE,UAAW,IAAAC,OACTb,EACI,kDACA,8BAINS,UAACC,cAAAI,EAAAA,aAAAA,QAAAA,OAAOC,IAAG,CACTH,UAAW,GAAAC,OACTb,GAAgBL,EACZ,6DACA,kBACH,MAEHc,EAAAA,QAACC,cAAAM,EAAAA,QACCC,QAAS,WAAM,OA5CnBhB,EACFiB,EAAAA,sBAEAC,EAAAA,oBAIFC,YAAW,WACTjB,EAASkB,OAAOC,wBAAuB,EAAO,IAC9CnB,EAASkB,OAAOE,uBAAsB,EAAO,GAC9C,GAAE,UAGCvB,GACFoB,YAAW,WACTjB,EAASqB,OAAOC,SAAS,mBACzBL,YAAW,WACTjB,EAASqB,OAAOE,YAAY,kBAC7B,GAAE,IACJ,GAAE,KAyBgC,EAC7BC,QAAQ,MACRf,UAAU,2EAA0E,kBAElFjB,GAAeK,EAAe,uBAAyB,wBAGvD,uBAAAL,GAAeK,EAAeL,EAAc,UAAGY,EAAE,oBAInDE,EAAC,QAAAC,cAAAkB,mBAAgBhB,UAAU,8BAA8BiB,KAAMC,EAAAA,UAC9D9B,GAAgBL,GACfc,EAAA,QAAAC,cAACI,EAAMiB,aAAAC,QAAAlB,OAACC,IACN,CAAAkB,MAAO,CAAEC,OAAQ,QACjBtB,UAAU,2CAETjB,IAINU,GAAUH,GACTO,EAAA,QAAAC,cAAA,MAAA,CACEE,UAAW,GAAAC,OACTb,GAAgBL,EACZ,iCACA,oDAGNc,EAAA,QAAAC,cAACyB,UAAuC,CAAA,yBAAA,OAKhD1B,UAAAC,cAAC0B,EAAOA,QAAA,CAACxB,UAAU,UAAUyB,GAAG,wBAAwBC,MAAM,SAC9D7B,EAAAA,QAAAC,cAAC0B,UAAQ,CAAAxB,UAAU,UAAUyB,GAAG,uBAAuBC,MAAM,QAGnE"}
|