react-native-chatbot-ai 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/assets/svgIcon/IconChatArrow.js +0 -1
- package/lib/module/assets/svgIcon/IconChatArrow.js.map +1 -1
- package/lib/module/assets/svgIcon/IconPdf.js +27 -0
- package/lib/module/assets/svgIcon/IconPdf.js.map +1 -0
- package/lib/module/assets/svgIcon/IconThinkingStep.js +0 -1
- package/lib/module/assets/svgIcon/IconThinkingStep.js.map +1 -1
- package/lib/module/components/chat/ChatMessageList.js.map +1 -1
- package/lib/module/components/chat/footer/index.js +328 -0
- package/lib/module/components/chat/footer/index.js.map +1 -0
- package/lib/module/components/chat/footer/item/UploadFileItem.js +163 -0
- package/lib/module/components/chat/footer/item/UploadFileItem.js.map +1 -0
- package/lib/module/components/chat/footer/item/UploadImageItem.js +94 -0
- package/lib/module/components/chat/footer/item/UploadImageItem.js.map +1 -0
- package/lib/module/components/chat/index.js +1 -1
- package/lib/module/components/chat/index.js.map +1 -1
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js +89 -28
- package/lib/module/components/chat/item/ChatAIAnswerMessageItem.js.map +1 -1
- package/lib/module/components/chat/item/ChatUserMessageItem.js +122 -15
- package/lib/module/components/chat/item/ChatUserMessageItem.js.map +1 -1
- package/lib/module/components/portal/Toast.js +193 -0
- package/lib/module/components/portal/Toast.js.map +1 -0
- package/lib/module/components/portal/index.js +15 -0
- package/lib/module/components/portal/index.js.map +1 -0
- package/lib/module/constants/index.js +9 -0
- package/lib/module/constants/index.js.map +1 -0
- package/lib/module/context/ChatContext.js +8 -5
- package/lib/module/context/ChatContext.js.map +1 -1
- package/lib/module/hooks/message/useMessage.js +0 -1
- package/lib/module/hooks/message/useMessage.js.map +1 -1
- package/lib/module/hooks/message/useSendMessage.js +3 -3
- package/lib/module/hooks/message/useSendMessage.js.map +1 -1
- package/lib/module/hooks/upload/useFileUpload.js +94 -0
- package/lib/module/hooks/upload/useFileUpload.js.map +1 -0
- package/lib/module/hooks/upload/useImageUpload.js +92 -0
- package/lib/module/hooks/upload/useImageUpload.js.map +1 -0
- package/lib/module/hooks/useAndroidBackHandler.js +20 -0
- package/lib/module/hooks/useAndroidBackHandler.js.map +1 -0
- package/lib/module/services/endpoints.js +3 -0
- package/lib/module/services/endpoints.js.map +1 -1
- package/lib/module/types/index.js +1 -0
- package/lib/module/types/index.js.map +1 -1
- package/lib/module/types/ui.js +4 -0
- package/lib/module/types/ui.js.map +1 -0
- package/lib/module/utils/common.js +31 -0
- package/lib/module/utils/common.js.map +1 -0
- package/lib/module/utils/device.js +137 -0
- package/lib/module/utils/device.js.map +1 -0
- package/lib/module/utils/ui.js +28 -0
- package/lib/module/utils/ui.js.map +1 -0
- package/lib/typescript/src/assets/svgIcon/IconChatArrow.d.ts.map +1 -1
- package/lib/typescript/src/assets/svgIcon/IconPdf.d.ts +7 -0
- package/lib/typescript/src/assets/svgIcon/IconPdf.d.ts.map +1 -0
- package/lib/typescript/src/assets/svgIcon/IconThinkingStep.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/ChatMessageList.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/footer/index.d.ts +16 -0
- package/lib/typescript/src/components/chat/footer/index.d.ts.map +1 -0
- package/lib/typescript/src/components/chat/footer/item/UploadFileItem.d.ts +9 -0
- package/lib/typescript/src/components/chat/footer/item/UploadFileItem.d.ts.map +1 -0
- package/lib/typescript/src/components/chat/footer/item/UploadImageItem.d.ts +9 -0
- package/lib/typescript/src/components/chat/footer/item/UploadImageItem.d.ts.map +1 -0
- package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts +9 -0
- package/lib/typescript/src/components/chat/item/ChatAIAnswerMessageItem.d.ts.map +1 -1
- package/lib/typescript/src/components/chat/item/ChatUserMessageItem.d.ts.map +1 -1
- package/lib/typescript/src/components/portal/Toast.d.ts +4 -0
- package/lib/typescript/src/components/portal/Toast.d.ts.map +1 -0
- package/lib/typescript/src/components/portal/index.d.ts +3 -0
- package/lib/typescript/src/components/portal/index.d.ts.map +1 -0
- package/lib/typescript/src/constants/index.d.ts +6 -0
- package/lib/typescript/src/constants/index.d.ts.map +1 -0
- package/lib/typescript/src/context/ChatContext.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts +2 -1
- package/lib/typescript/src/hooks/message/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/src/hooks/upload/useFileUpload.d.ts +15 -0
- package/lib/typescript/src/hooks/upload/useFileUpload.d.ts.map +1 -0
- package/lib/typescript/src/hooks/upload/useImageUpload.d.ts +15 -0
- package/lib/typescript/src/hooks/upload/useImageUpload.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useAndroidBackHandler.d.ts +4 -0
- package/lib/typescript/src/hooks/useAndroidBackHandler.d.ts.map +1 -0
- package/lib/typescript/src/services/endpoints.d.ts +3 -0
- package/lib/typescript/src/services/endpoints.d.ts.map +1 -1
- package/lib/typescript/src/types/chat.d.ts +6 -0
- package/lib/typescript/src/types/chat.d.ts.map +1 -1
- package/lib/typescript/src/types/dto.d.ts +10 -1
- package/lib/typescript/src/types/dto.d.ts.map +1 -1
- package/lib/typescript/src/types/index.d.ts +1 -0
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/lib/typescript/src/types/ui.d.ts +7 -0
- package/lib/typescript/src/types/ui.d.ts.map +1 -0
- package/lib/typescript/src/utils/common.d.ts +10 -0
- package/lib/typescript/src/utils/common.d.ts.map +1 -0
- package/lib/typescript/src/utils/device.d.ts +11 -0
- package/lib/typescript/src/utils/device.d.ts.map +1 -0
- package/lib/typescript/src/utils/ui.d.ts +12 -0
- package/lib/typescript/src/utils/ui.d.ts.map +1 -0
- package/package.json +8 -3
- package/src/assets/svgIcon/IconChatArrow.tsx +1 -7
- package/src/assets/svgIcon/IconPdf.tsx +26 -0
- package/src/assets/svgIcon/IconThinkingStep.tsx +1 -7
- package/src/components/chat/ChatMessageList.tsx +3 -6
- package/src/components/chat/footer/index.tsx +410 -0
- package/src/components/chat/footer/item/UploadFileItem.tsx +181 -0
- package/src/components/chat/footer/item/UploadImageItem.tsx +91 -0
- package/src/components/chat/index.tsx +1 -1
- package/src/components/chat/item/ChatAIAnswerMessageItem.tsx +118 -38
- package/src/components/chat/item/ChatUserMessageItem.tsx +145 -13
- package/src/components/portal/Toast.tsx +315 -0
- package/src/components/portal/index.tsx +13 -0
- package/src/constants/index.ts +9 -0
- package/src/context/ChatContext.tsx +6 -2
- package/src/hooks/message/useMessage.ts +0 -1
- package/src/hooks/message/useSendMessage.ts +4 -4
- package/src/hooks/upload/useFileUpload.ts +126 -0
- package/src/hooks/upload/useImageUpload.ts +123 -0
- package/src/hooks/useAndroidBackHandler.ts +29 -0
- package/src/services/endpoints.ts +3 -0
- package/src/types/chat.ts +2 -0
- package/src/types/dto.ts +16 -1
- package/src/types/index.ts +1 -0
- package/src/types/ui.ts +12 -0
- package/src/utils/common.ts +40 -0
- package/src/utils/device.ts +170 -0
- package/src/utils/ui.tsx +32 -0
- package/lib/module/components/chat/ChatFooter.js +0 -91
- package/lib/module/components/chat/ChatFooter.js.map +0 -1
- package/lib/typescript/src/components/chat/ChatFooter.d.ts +0 -3
- package/lib/typescript/src/components/chat/ChatFooter.d.ts.map +0 -1
- package/src/components/chat/ChatFooter.tsx +0 -99
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Svg","Path","jsx","_jsx","IconChatArrow","props","width","height","fill","opacity","viewBox","children","d","fillOpacity"],"sourceRoot":"../../../../src","sources":["assets/svgIcon/IconChatArrow.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS7C,OAAO,MAAMC,aAAa,GAAIC,KAAY,IAAK;EAC7C,MAAM;IAAEC,KAAK,GAAG,CAAC;IAAEC,MAAM,GAAG,EAAE;IAAEC,IAAI,GAAG,MAAM;IAAEC,OAAO,GAAG;EAAI,CAAC,GAAGJ,KAAK,IAAI,CAAC,CAAC;EAC5E,oBACEF,IAAA,CAACH,GAAG;
|
|
1
|
+
{"version":3,"names":["Svg","Path","jsx","_jsx","IconChatArrow","props","width","height","fill","opacity","viewBox","children","d","fillOpacity"],"sourceRoot":"../../../../src","sources":["assets/svgIcon/IconChatArrow.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAS7C,OAAO,MAAMC,aAAa,GAAIC,KAAY,IAAK;EAC7C,MAAM;IAAEC,KAAK,GAAG,CAAC;IAAEC,MAAM,GAAG,EAAE;IAAEC,IAAI,GAAG,MAAM;IAAEC,OAAO,GAAG;EAAI,CAAC,GAAGJ,KAAK,IAAI,CAAC,CAAC;EAC5E,oBACEF,IAAA,CAACH,GAAG;IAACM,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA,MAAO;IAACG,OAAO,EAAC,UAAU;IAACF,IAAI,EAAC,MAAM;IAAAG,QAAA,eAC/DR,IAAA,CAACF,IAAI;MACHW,CAAC,EAAC,uEAAuE;MACzEJ,IAAI,EAAEA,IAAK;MACXK,WAAW,EAAEJ;IAAQ,CACtB;EAAC,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import Svg, { Path } from 'react-native-svg';
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
export const IconPdf = props => {
|
|
6
|
+
const {
|
|
7
|
+
width = 20,
|
|
8
|
+
height = 20
|
|
9
|
+
} = props || {};
|
|
10
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
11
|
+
width: width,
|
|
12
|
+
height: height,
|
|
13
|
+
viewBox: "0 0 20 20",
|
|
14
|
+
fill: "none",
|
|
15
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
16
|
+
d: "M2.5 0h10.62l5.63 5.608V18.75c0 .69-.56 1.25-1.25 1.25h-15c-.69 0-1.25-.56-1.25-1.25V1.25C1.25.56 1.81 0 2.5 0z",
|
|
17
|
+
fill: "#E2574C"
|
|
18
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
19
|
+
d: "M18.732 5.625h-4.357c-.69 0-1.25-.56-1.25-1.25V.013l5.607 5.612z",
|
|
20
|
+
fill: "#B53629"
|
|
21
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
22
|
+
d: "M12.314 9.642c.012-.19.09-.392.234-.607.147-.218.336-.386.566-.505.23-.12.45-.181.664-.185h1.513c.296-.004.476.123.542.38v.168c-.066.257-.246.384-.542.38h-1.267a.498.498 0 00-.32.15.448.448 0 00-.148.327v.618h1.625c.295-.004.475.123.541.381v.179c-.066.258-.246.385-.541.38h-1.624v1.548a.468.468 0 01-.148.334.512.512 0 01-.32.142h-.314a.506.506 0 01-.314-.143.468.468 0 01-.147-.333V9.642zM10.516 9.75a.448.448 0 00-.148-.328.499.499 0 00-.32-.149h-.344c-.143-.004-.221.048-.234.155v2.821c.013.107.09.159.234.155h.345a.512.512 0 00.32-.143.468.468 0 00.147-.333V9.75zM8.24 9.047c.004-.21.107-.38.308-.512.2-.134.447-.198.738-.19h.941c.258.004.502.065.732.184.23.12.416.288.56.506.147.215.227.417.24.607v2.393c-.013.19-.093.395-.24.613-.144.214-.33.38-.56.5-.23.119-.474.18-.732.184h-.941c-.291.008-.538-.053-.738-.184-.201-.135-.304-.308-.308-.518V9.047zM4.627 13.332a.506.506 0 01-.313-.143.468.468 0 01-.148-.333V9.63c.012-.19.09-.392.234-.607.147-.218.336-.386.566-.505.23-.12.45-.181.664-.185h.523c.258.004.502.065.732.184.23.12.416.288.56.506.148.215.228.417.24.607v.381c-.012.19-.092.395-.24.613-.144.215-.33.381-.56.5-.23.12-.47.18-.72.185h-.769v1.547a.468.468 0 01-.147.333.512.512 0 01-.32.143h-.302zm1.815-3.594a.448.448 0 00-.147-.328.499.499 0 00-.32-.149h-.111a.499.499 0 00-.32.15.448.448 0 00-.148.327v.63h.579a.51.51 0 00.32-.142.468.468 0 00.147-.334v-.154z",
|
|
23
|
+
fill: "#fff"
|
|
24
|
+
})]
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=IconPdf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Svg","Path","jsx","_jsx","jsxs","_jsxs","IconPdf","props","width","height","viewBox","fill","children","d"],"sourceRoot":"../../../../src","sources":["assets/svgIcon/IconPdf.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAO7C,OAAO,MAAMC,OAAO,GAAIC,KAAY,IAAK;EACvC,MAAM;IAAEC,KAAK,GAAG,EAAE;IAAEC,MAAM,GAAG;EAAG,CAAC,GAAGF,KAAK,IAAI,CAAC,CAAC;EAC/C,oBACEF,KAAA,CAACL,GAAG;IAACQ,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA,MAAO;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,gBAChET,IAAA,CAACF,IAAI;MACHY,CAAC,EAAC,iHAAiH;MACnHF,IAAI,EAAC;IAAS,CACf,CAAC,eACFR,IAAA,CAACF,IAAI;MACHY,CAAC,EAAC,kEAAkE;MACpEF,IAAI,EAAC;IAAS,CACf,CAAC,eACFR,IAAA,CAACF,IAAI;MACHY,CAAC,EAAC,g2CAAg2C;MACl2CF,IAAI,EAAC;IAAM,CACZ,CAAC;EAAA,CACC,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Svg","G","Mask","Path","jsx","_jsx","jsxs","_jsxs","IconThinkingStep","props","width","height","viewBox","fill","children","id","maskUnits","x","y","d","mask"],"sourceRoot":"../../../../src","sources":["assets/svgIcon/IconThinkingStep.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,CAAC,EAAEC,IAAI,EAAEC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOtD,OAAO,MAAMC,gBAAgB,GAAIC,KAAY,IAAK;EAChD,MAAM;IAAEC,KAAK,GAAG,EAAE;IAAEC,MAAM,GAAG;EAAG,CAAC,GAAGF,KAAK,IAAI,CAAC,CAAC;EAC/C,oBACEF,KAAA,CAACP,GAAG;
|
|
1
|
+
{"version":3,"names":["Svg","G","Mask","Path","jsx","_jsx","jsxs","_jsxs","IconThinkingStep","props","width","height","viewBox","fill","children","id","maskUnits","x","y","d","mask"],"sourceRoot":"../../../../src","sources":["assets/svgIcon/IconThinkingStep.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,CAAC,EAAEC,IAAI,EAAEC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOtD,OAAO,MAAMC,gBAAgB,GAAIC,KAAY,IAAK;EAChD,MAAM;IAAEC,KAAK,GAAG,EAAE;IAAEC,MAAM,GAAG;EAAG,CAAC,GAAGF,KAAK,IAAI,CAAC,CAAC;EAC/C,oBACEF,KAAA,CAACP,GAAG;IAACU,KAAK,EAAEA,KAAM;IAACC,MAAM,EAAEA,MAAO;IAACC,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,gBAChET,IAAA,CAACH,IAAI;MACHa,EAAE,EAAC,GAAG;MACNC,SAAS,EAAC,gBAAgB;MAC1BC,CAAC,EAAE,CAAC,CAAE;MACNC,CAAC,EAAE,CAAC,CAAE;MACNR,KAAK,EAAE,EAAG;MACVC,MAAM,EAAE,EAAG;MAAAG,QAAA,eAEXT,IAAA,CAACF,IAAI;QAACgB,CAAC,EAAC,oBAAoB;QAACN,IAAI,EAAC;MAAM,CAAE;IAAC,CACvC,CAAC,eACPN,KAAA,CAACN,CAAC;MAACmB,IAAI,EAAC,SAAS;MAAAN,QAAA,gBACfT,IAAA,CAACF,IAAI;QACHgB,CAAC,EAAC,kPAAkP;QACpPN,IAAI,EAAC;MAAS,CACf,CAAC,eACFR,IAAA,CAACF,IAAI;QACHgB,CAAC,EAAC,0MAA0M;QAC5MN,IAAI,EAAC;MAAM,CACZ,CAAC,eACFR,IAAA,CAACF,IAAI;QACHgB,CAAC,EAAC,gQAAgQ;QAClQN,IAAI,EAAC;MAAS,CACf,CAAC,eACFR,IAAA,CAACF,IAAI;QACHgB,CAAC,EAAC,iNAAiN;QACnNN,IAAI,EAAC;MAAM,CACZ,CAAC;IAAA,CACD,CAAC;EAAA,CACD,CAAC;AAEV,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FlatList","StyleSheet","DeviceEventEmitter","ChatEmpty","useMessage","ChatItem","KSpacingValue","useCallback","useRef","useEffect","events","jsx","_jsx","ChatMessageList","messageState","flatListRef","scrollOffsetRef","onScroll","event","current","nativeEvent","contentOffset","y","subExpandThinkingStep","addListener","expandThinkingStep","isExpand","scrollToOffset","offset","animated","setTimeout","error","console","remove","ref","data","messages","renderItem","item","index","keyExtractor","id","contentContainerStyle","styles","container","inverted","ListEmptyComponent","create","flexGrow","gap","paddingVertical","justifyContent"],"sourceRoot":"../../../../src","sources":["components/chat/ChatMessageList.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,kBAAkB,QAAQ,cAAc;AACvE,OAAOC,SAAS,MAAM,gBAAa;AACnC,SAASC,UAAU,QAAQ,mCAAgC;AAC3D,OAAOC,QAAQ,MAAM,iBAAQ;AAC7B,SAASC,aAAa,QAAQ,eAAe;AAE7C,SAASC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAC3C,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,MAAM,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhD,MAAMC,eAAe,GAAGA,CAAA,KAAM;EAC5B,MAAM;IAAEC;EAAa,CAAC,GAAGV,UAAU,CAAC,CAAC;EAErC,MAAMW,WAAW,GAAGP,MAAM,CAAM,IAAI,CAAC;EACrC,MAAMQ,eAAe,GAAGR,MAAM,CAAC,CAAC,CAAC;EAEjC,MAAMS,QAAQ,GAAGV,WAAW,
|
|
1
|
+
{"version":3,"names":["FlatList","StyleSheet","DeviceEventEmitter","ChatEmpty","useMessage","ChatItem","KSpacingValue","useCallback","useRef","useEffect","events","jsx","_jsx","ChatMessageList","messageState","flatListRef","scrollOffsetRef","onScroll","event","current","nativeEvent","contentOffset","y","subExpandThinkingStep","addListener","expandThinkingStep","isExpand","scrollToOffset","offset","animated","setTimeout","error","console","remove","ref","data","messages","renderItem","item","index","keyExtractor","id","contentContainerStyle","styles","container","inverted","ListEmptyComponent","create","flexGrow","gap","paddingVertical","justifyContent"],"sourceRoot":"../../../../src","sources":["components/chat/ChatMessageList.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,UAAU,EAAEC,kBAAkB,QAAQ,cAAc;AACvE,OAAOC,SAAS,MAAM,gBAAa;AACnC,SAASC,UAAU,QAAQ,mCAAgC;AAC3D,OAAOC,QAAQ,MAAM,iBAAQ;AAC7B,SAASC,aAAa,QAAQ,eAAe;AAE7C,SAASC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAC3C,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,MAAM,QAAQ,2BAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhD,MAAMC,eAAe,GAAGA,CAAA,KAAM;EAC5B,MAAM;IAAEC;EAAa,CAAC,GAAGV,UAAU,CAAC,CAAC;EAErC,MAAMW,WAAW,GAAGP,MAAM,CAAM,IAAI,CAAC;EACrC,MAAMQ,eAAe,GAAGR,MAAM,CAAC,CAAC,CAAC;EAEjC,MAAMS,QAAQ,GAAGV,WAAW,CAAEW,KAAU,IAAK;IAC3CF,eAAe,CAACG,OAAO,GAAGD,KAAK,EAAEE,WAAW,EAAEC,aAAa,EAAEC,CAAC;EAChE,CAAC,EAAE,EAAE,CAAC;EAENb,SAAS,CAAC,MAAM;IACd,MAAMc,qBAAqB,GAAGrB,kBAAkB,CAACsB,WAAW,CAC1Dd,MAAM,CAACe,kBAAkB,EACxBC,QAAiB,IAAK;MACrB,IAAI;QACF,MAAMC,cAAc,GAAGZ,WAAW,CAACI,OAAO,EAAEQ,cAAc,CAAC;UACzDC,MAAM,EAAEZ,eAAe,CAACG,OAAO,IAAIO,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;UACvDG,QAAQ,EAAE;QACZ,CAAC,CAAC;QACFC,UAAU,CAAC,MAAM;UACfH,cAAc,GAAG,CAAC;QACpB,CAAC,EAAE,GAAG,CAAC;MACT,CAAC,CAAC,OAAOI,KAAK,EAAE;QACdC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;MACtB;IACF,CACF,CAAC;IAED,OAAO,MAAM;MACXR,qBAAqB,CAACU,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,oBACErB,IAAA,CAACZ,QAAQ;IACPkC,GAAG,EAAEnB,WAAY;IACjBoB,IAAI,EAAErB,YAAY,EAAEsB,QAAQ,IAAI,EAAG;IACnCC,UAAU,EAAEA,CAAC;MAAEC,IAAI;MAAEC;IAA6C,CAAC,kBACjE3B,IAAA,CAACP,QAAQ;MAACiC,IAAI,EAAEA,IAAK;MAACC,KAAK,EAAEA;IAAM,CAAE,CACrC;IACFC,YAAY,EAAGF,IAAkB,IAAKA,IAAI,CAACG,EAAG;IAC9CC,qBAAqB,EAAEC,MAAM,CAACC,SAAU;IACxCC,QAAQ;IACRC,kBAAkB,eAAElC,IAAA,CAACT,SAAS,IAAE,CAAE;IAClCc,QAAQ,EAAEA;EAAS,CACpB,CAAC;AAEN,CAAC;AAED,eAAeJ,eAAe;AAE9B,MAAM8B,MAAM,GAAG1C,UAAU,CAAC8C,MAAM,CAAC;EAC/BH,SAAS,EAAE;IACTI,QAAQ,EAAE,CAAC;IACXC,GAAG,EAAE3C,aAAa,CAAC,QAAQ,CAAC;IAC5B4C,eAAe,EAAE5C,aAAa,CAAC,MAAM,CAAC;IACtC6C,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { KButton, KColors, KContainer, KImage, KInput, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
|
|
4
|
+
import { useCallback, useState, useRef, useMemo } from 'react';
|
|
5
|
+
import { FlatList, StyleSheet, TouchableWithoutFeedback } from 'react-native';
|
|
6
|
+
import debounce from 'lodash/debounce';
|
|
7
|
+
import { useSendMessage } from "../../../hooks/message/useSendMessage.js";
|
|
8
|
+
import useStreamMessageStore from "../../../store/streamMessage.js";
|
|
9
|
+
import { Menu, MenuTrigger, MenuOption, MenuOptions, renderers } from 'react-native-popup-menu';
|
|
10
|
+
import { openCameraPicker, openDocumentPicker, openImageMultiplePicker } from "../../../utils/device.js";
|
|
11
|
+
import UploadImageItem from "./item/UploadImageItem.js";
|
|
12
|
+
import { isSameFile, shortenFileName } from "../../../utils/common.js";
|
|
13
|
+
import { types } from '@react-native-documents/picker';
|
|
14
|
+
import UploadFileItem from "./item/UploadFileItem.js";
|
|
15
|
+
import UIUtils from "../../../utils/ui.js";
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
const {
|
|
18
|
+
Popover
|
|
19
|
+
} = renderers;
|
|
20
|
+
const MAX_FILE_UPLOAD = 3;
|
|
21
|
+
const MAX_FILE_SIZE = 30 * 1024 * 1024;
|
|
22
|
+
const MAX_IMAGE_SIZE = 7 * 1024 * 1024;
|
|
23
|
+
const ChatFooter = () => {
|
|
24
|
+
const menuRef = useRef(null);
|
|
25
|
+
const {
|
|
26
|
+
onSendMessage,
|
|
27
|
+
stopStream
|
|
28
|
+
} = useSendMessage();
|
|
29
|
+
const [message, setMessage] = useState('');
|
|
30
|
+
const isStreaming = useStreamMessageStore(state => state.isStreaming);
|
|
31
|
+
const [fileUpload, setFileUpload] = useState([]);
|
|
32
|
+
const debouncedMessage = debounce(message => {
|
|
33
|
+
setMessage(message);
|
|
34
|
+
}, 200);
|
|
35
|
+
const isDisabledSend = useMemo(() => {
|
|
36
|
+
return isStreaming || message.trim() === '' || fileUpload.length > 0 && fileUpload.some(i => !i.remoteUrl);
|
|
37
|
+
}, [isStreaming, message, fileUpload]);
|
|
38
|
+
const onPressImagePicker = useCallback(async () => {
|
|
39
|
+
if (fileUpload.filter(i => i.uploadType === 'image').length >= MAX_FILE_UPLOAD) {
|
|
40
|
+
UIUtils.toast.open({
|
|
41
|
+
title: `Chỉ được gửi tối đa ${MAX_FILE_UPLOAD} hình ảnh`
|
|
42
|
+
});
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const newImages = (await openImageMultiplePicker({
|
|
46
|
+
maxFiles: MAX_FILE_UPLOAD - fileUpload.length > 0 ? MAX_FILE_UPLOAD - fileUpload.length : 1
|
|
47
|
+
})) || [];
|
|
48
|
+
const uniqueImages = newImages.filter(img => !fileUpload.some(sel => isSameFile(sel, img))).map(i => ({
|
|
49
|
+
...i,
|
|
50
|
+
uploadType: 'image'
|
|
51
|
+
})).slice(0, MAX_FILE_UPLOAD - fileUpload.length);
|
|
52
|
+
if (uniqueImages?.length > 0) {
|
|
53
|
+
setFileUpload(prev => {
|
|
54
|
+
const totalImages = prev.filter(i => i.uploadType === 'image');
|
|
55
|
+
const totalPrevSize = totalImages.reduce((acc, item) => acc + (item.size || 0), 0);
|
|
56
|
+
const totalNewSize = uniqueImages.reduce((acc, item) => acc + (item.size || 0), 0);
|
|
57
|
+
if (totalPrevSize + totalNewSize > MAX_IMAGE_SIZE) {
|
|
58
|
+
UIUtils.toast.open({
|
|
59
|
+
title: `Tổng dung lượng ảnh tải lên có kích thước quá lớn:\n ${uniqueImages.map(i => shortenFileName(i.filename || '')).join(',\n')}, \nVui lòng nén ảnh hoặc tải lên nhiều lần để tiếp tục.`,
|
|
60
|
+
theme: 'danger'
|
|
61
|
+
});
|
|
62
|
+
return prev;
|
|
63
|
+
}
|
|
64
|
+
return [...prev, ...uniqueImages];
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}, [fileUpload]);
|
|
68
|
+
const onPressCameraPicker = useCallback(async () => {
|
|
69
|
+
if (fileUpload.filter(i => i.uploadType === 'image').length >= MAX_FILE_UPLOAD) {
|
|
70
|
+
UIUtils.toast.open({
|
|
71
|
+
title: `Chỉ được gửi tối đa ${MAX_FILE_UPLOAD} hình ảnh`
|
|
72
|
+
});
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const newImage = await openCameraPicker();
|
|
76
|
+
if (newImage) {
|
|
77
|
+
setFileUpload(prev => {
|
|
78
|
+
const totalImages = prev.filter(i => i.uploadType === 'image');
|
|
79
|
+
const totalPrevSize = totalImages.reduce((acc, item) => acc + (item.size || 0), 0);
|
|
80
|
+
const totalNewSize = newImage.size || 0;
|
|
81
|
+
if (totalPrevSize + totalNewSize > MAX_IMAGE_SIZE) {
|
|
82
|
+
UIUtils.toast.open({
|
|
83
|
+
title: `Tổng dung lượng ảnh tải lên có kích thước quá lớn:\n ${shortenFileName(newImage.filename || '')},\n Vui lòng nén ảnh hoặc tải lên nhiều lần để tiếp tục.`,
|
|
84
|
+
theme: 'danger'
|
|
85
|
+
});
|
|
86
|
+
return prev;
|
|
87
|
+
}
|
|
88
|
+
return [...prev, {
|
|
89
|
+
...newImage,
|
|
90
|
+
uploadType: 'image'
|
|
91
|
+
}];
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}, [fileUpload]);
|
|
95
|
+
const menuItems = useMemo(() => {
|
|
96
|
+
return [{
|
|
97
|
+
icon: 'image-o',
|
|
98
|
+
onPress: onPressImagePicker,
|
|
99
|
+
label: 'Thư viện ảnh'
|
|
100
|
+
}, {
|
|
101
|
+
icon: 'camera-o',
|
|
102
|
+
onPress: onPressCameraPicker,
|
|
103
|
+
label: 'Chụp ảnh'
|
|
104
|
+
}];
|
|
105
|
+
}, [onPressImagePicker, onPressCameraPicker]);
|
|
106
|
+
const onPressSend = useCallback(() => {
|
|
107
|
+
if (isStreaming) {
|
|
108
|
+
stopStream();
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const attachments = fileUpload.map(i => ({
|
|
112
|
+
type: i.uploadType,
|
|
113
|
+
source_type: 'url',
|
|
114
|
+
data: i.remoteUrl || '',
|
|
115
|
+
name: i.uploadType === 'image' ? i.filename : i.name,
|
|
116
|
+
size: i.size || null,
|
|
117
|
+
mime_type: i.uploadType === 'image' ? i.mime : i.type
|
|
118
|
+
}));
|
|
119
|
+
onSendMessage(message?.trim(), attachments);
|
|
120
|
+
setMessage('');
|
|
121
|
+
setFileUpload([]);
|
|
122
|
+
}, [message, isStreaming, onSendMessage, stopStream, fileUpload]);
|
|
123
|
+
const handleUploadSuccess = useCallback(item => {
|
|
124
|
+
if (item.uploadType === 'image') {
|
|
125
|
+
setFileUpload(prev => {
|
|
126
|
+
const next = [...prev];
|
|
127
|
+
const fileIndex = next.findIndex(i => i.uploadType === 'image' && i?.path === item?.path);
|
|
128
|
+
if (fileIndex > -1) {
|
|
129
|
+
next[fileIndex] = {
|
|
130
|
+
...next[fileIndex],
|
|
131
|
+
...item
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return next;
|
|
135
|
+
});
|
|
136
|
+
} else {
|
|
137
|
+
setFileUpload(prev => {
|
|
138
|
+
const next = [...prev];
|
|
139
|
+
const fileIndex = next.findIndex(i => i.uploadType === 'file' && i?.uri === item?.uri);
|
|
140
|
+
if (fileIndex > -1) {
|
|
141
|
+
next[fileIndex] = {
|
|
142
|
+
...next[fileIndex],
|
|
143
|
+
...item
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
return next;
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}, []);
|
|
150
|
+
const handleRemoveUploadItem = useCallback(item => {
|
|
151
|
+
if (item.uploadType === 'image') {
|
|
152
|
+
setFileUpload(prev => prev.filter(i => i.uploadType !== 'image' || i.path !== item.path));
|
|
153
|
+
} else {
|
|
154
|
+
setFileUpload(prev => prev.filter(i => i.uploadType !== 'file' || i.uri !== item.uri));
|
|
155
|
+
}
|
|
156
|
+
}, []);
|
|
157
|
+
const renderUploadItem = useCallback(item => {
|
|
158
|
+
switch (item.uploadType) {
|
|
159
|
+
case 'image':
|
|
160
|
+
return /*#__PURE__*/_jsx(UploadImageItem, {
|
|
161
|
+
item: item,
|
|
162
|
+
onRemove: handleRemoveUploadItem,
|
|
163
|
+
onSuccess: handleUploadSuccess
|
|
164
|
+
});
|
|
165
|
+
case 'file':
|
|
166
|
+
return /*#__PURE__*/_jsx(UploadFileItem, {
|
|
167
|
+
item: item,
|
|
168
|
+
onRemove: handleRemoveUploadItem,
|
|
169
|
+
onSuccess: handleUploadSuccess
|
|
170
|
+
});
|
|
171
|
+
default:
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
}, [handleRemoveUploadItem, handleUploadSuccess]);
|
|
175
|
+
const handlePressDocumentPicker = useCallback(async () => {
|
|
176
|
+
const listFiles = fileUpload.filter(i => i.uploadType === 'file');
|
|
177
|
+
if (listFiles.length >= MAX_FILE_UPLOAD) {
|
|
178
|
+
UIUtils.toast.open({
|
|
179
|
+
title: `Chỉ được gửi tối đa ${MAX_FILE_UPLOAD} tệp`
|
|
180
|
+
});
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
const newDocument = await openDocumentPicker({
|
|
184
|
+
type: types.pdf
|
|
185
|
+
});
|
|
186
|
+
const isUnique = listFiles.some(doc => doc.uploadType === 'file' && doc.uri !== newDocument?.uri);
|
|
187
|
+
if (!!newDocument && isUnique) {
|
|
188
|
+
setFileUpload(prev => {
|
|
189
|
+
const totalPrevSize = prev.reduce((acc, item) => acc + (item.size || 0), 0);
|
|
190
|
+
const totalNewSize = newDocument.size || 0;
|
|
191
|
+
if (totalPrevSize + totalNewSize > MAX_FILE_SIZE) {
|
|
192
|
+
UIUtils.toast.open({
|
|
193
|
+
title: `Tổng dung lượng tệp tải lên có kích thước quá lớn:\n ${shortenFileName(newDocument.name || '')},\n Vui lòng nén tệp hoặc tải lên nhiều lần để tiếp tục.`,
|
|
194
|
+
theme: 'danger'
|
|
195
|
+
});
|
|
196
|
+
return prev;
|
|
197
|
+
}
|
|
198
|
+
return [...prev, {
|
|
199
|
+
...newDocument,
|
|
200
|
+
uploadType: 'file'
|
|
201
|
+
}];
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}, [fileUpload]);
|
|
205
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
206
|
+
style: styles.container,
|
|
207
|
+
children: [/*#__PURE__*/_jsx(KContainer.VisibleView, {
|
|
208
|
+
visible: fileUpload.length > 0,
|
|
209
|
+
children: /*#__PURE__*/_jsx(FlatList, {
|
|
210
|
+
data: fileUpload,
|
|
211
|
+
renderItem: ({
|
|
212
|
+
item
|
|
213
|
+
}) => renderUploadItem(item),
|
|
214
|
+
horizontal: true,
|
|
215
|
+
keyExtractor: item => item.uploadType === 'image' ? item.path : item.uri,
|
|
216
|
+
contentContainerStyle: styles.listUploadItem
|
|
217
|
+
})
|
|
218
|
+
}), /*#__PURE__*/_jsx(KInput.TextArea, {
|
|
219
|
+
paddingV: '0.25rem',
|
|
220
|
+
paddingH: '0.25rem',
|
|
221
|
+
placeholder: "B\u1EA1n mu\u1ED1n h\u1ECFi g\xEC h\xF4m nay?",
|
|
222
|
+
clearButtonMode: "hidden",
|
|
223
|
+
onChangeText: debouncedMessage,
|
|
224
|
+
value: message,
|
|
225
|
+
multiline: true,
|
|
226
|
+
style: styles.input,
|
|
227
|
+
blurOnSubmit: false,
|
|
228
|
+
textAlignVertical: "top"
|
|
229
|
+
}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
230
|
+
style: styles.actions,
|
|
231
|
+
children: [/*#__PURE__*/_jsxs(Menu, {
|
|
232
|
+
ref: menuRef,
|
|
233
|
+
renderer: Popover,
|
|
234
|
+
rendererProps: {
|
|
235
|
+
placement: 'top',
|
|
236
|
+
anchorStyle: {
|
|
237
|
+
display: 'none'
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
children: [/*#__PURE__*/_jsx(MenuTrigger, {
|
|
241
|
+
customStyles: {
|
|
242
|
+
TriggerTouchableComponent: TouchableWithoutFeedback
|
|
243
|
+
},
|
|
244
|
+
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
245
|
+
name: "image-o",
|
|
246
|
+
size: 24,
|
|
247
|
+
color: KColors.gray.dark
|
|
248
|
+
})
|
|
249
|
+
}), /*#__PURE__*/_jsx(MenuOptions, {
|
|
250
|
+
optionsContainerStyle: styles.popover,
|
|
251
|
+
children: menuItems.map(i => /*#__PURE__*/_jsxs(MenuOption, {
|
|
252
|
+
onSelect: i.onPress,
|
|
253
|
+
style: styles.menuItem,
|
|
254
|
+
children: [/*#__PURE__*/_jsx(KLabel.Text, {
|
|
255
|
+
typo: "TextMdMedium",
|
|
256
|
+
children: i.label
|
|
257
|
+
}), /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
258
|
+
name: i.icon
|
|
259
|
+
})]
|
|
260
|
+
}, i.icon))
|
|
261
|
+
})]
|
|
262
|
+
}), /*#__PURE__*/_jsx(KContainer.Touchable, {
|
|
263
|
+
onPress: handlePressDocumentPicker,
|
|
264
|
+
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
265
|
+
name: "paperclip-o",
|
|
266
|
+
size: 24,
|
|
267
|
+
color: KColors.gray.dark
|
|
268
|
+
})
|
|
269
|
+
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
270
|
+
flex: true
|
|
271
|
+
}), /*#__PURE__*/_jsx(KButton.Solid, {
|
|
272
|
+
kind: "primary",
|
|
273
|
+
icon: {
|
|
274
|
+
vectorName: isStreaming ? 'square-b' : 'send-b',
|
|
275
|
+
size: 20,
|
|
276
|
+
tintColor: KColors.white
|
|
277
|
+
},
|
|
278
|
+
onPress: onPressSend,
|
|
279
|
+
br: "round",
|
|
280
|
+
disabled: isDisabledSend
|
|
281
|
+
})]
|
|
282
|
+
})]
|
|
283
|
+
});
|
|
284
|
+
};
|
|
285
|
+
export default ChatFooter;
|
|
286
|
+
const styles = StyleSheet.create({
|
|
287
|
+
container: {
|
|
288
|
+
paddingHorizontal: KSpacingValue['0.75rem'],
|
|
289
|
+
paddingVertical: KSpacingValue['0.5rem'],
|
|
290
|
+
gap: KSpacingValue['0.5rem'],
|
|
291
|
+
borderWidth: 1,
|
|
292
|
+
borderColor: KColors.hexToRgba(KColors.black, 0.15),
|
|
293
|
+
borderBottomWidth: 0,
|
|
294
|
+
borderTopLeftRadius: KSpacingValue['1.25rem'],
|
|
295
|
+
borderTopRightRadius: KSpacingValue['1.25rem']
|
|
296
|
+
},
|
|
297
|
+
actions: {
|
|
298
|
+
flexDirection: 'row',
|
|
299
|
+
alignItems: 'center',
|
|
300
|
+
gap: KSpacingValue['1rem']
|
|
301
|
+
},
|
|
302
|
+
sendButton: {
|
|
303
|
+
alignSelf: 'flex-end'
|
|
304
|
+
},
|
|
305
|
+
input: {
|
|
306
|
+
maxHeight: 100
|
|
307
|
+
},
|
|
308
|
+
popover: {
|
|
309
|
+
borderRadius: KRadiusValue['4x'],
|
|
310
|
+
backgroundColor: KColors.white,
|
|
311
|
+
width: 200
|
|
312
|
+
},
|
|
313
|
+
menuItem: {
|
|
314
|
+
paddingHorizontal: KSpacingValue['1rem'],
|
|
315
|
+
flexDirection: 'row',
|
|
316
|
+
alignItems: 'center',
|
|
317
|
+
paddingVertical: KSpacingValue['0.75rem'],
|
|
318
|
+
borderBottomWidth: 1,
|
|
319
|
+
borderBottomColor: KColors.border.normal,
|
|
320
|
+
gap: KSpacingValue['0.5rem'],
|
|
321
|
+
justifyContent: 'space-between'
|
|
322
|
+
},
|
|
323
|
+
listUploadItem: {
|
|
324
|
+
gap: KSpacingValue['0.75rem'],
|
|
325
|
+
paddingTop: 6
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["KButton","KColors","KContainer","KImage","KInput","KLabel","KRadiusValue","KSpacingValue","useCallback","useState","useRef","useMemo","FlatList","StyleSheet","TouchableWithoutFeedback","debounce","useSendMessage","useStreamMessageStore","Menu","MenuTrigger","MenuOption","MenuOptions","renderers","openCameraPicker","openDocumentPicker","openImageMultiplePicker","UploadImageItem","isSameFile","shortenFileName","types","UploadFileItem","UIUtils","jsx","_jsx","jsxs","_jsxs","Popover","MAX_FILE_UPLOAD","MAX_FILE_SIZE","MAX_IMAGE_SIZE","ChatFooter","menuRef","onSendMessage","stopStream","message","setMessage","isStreaming","state","fileUpload","setFileUpload","debouncedMessage","isDisabledSend","trim","length","some","i","remoteUrl","onPressImagePicker","filter","uploadType","toast","open","title","newImages","maxFiles","uniqueImages","img","sel","map","slice","prev","totalImages","totalPrevSize","reduce","acc","item","size","totalNewSize","filename","join","theme","onPressCameraPicker","newImage","menuItems","icon","onPress","label","onPressSend","attachments","type","source_type","data","name","mime_type","mime","handleUploadSuccess","next","fileIndex","findIndex","path","uri","handleRemoveUploadItem","renderUploadItem","onRemove","onSuccess","handlePressDocumentPicker","listFiles","newDocument","pdf","isUnique","doc","View","style","styles","container","children","VisibleView","visible","renderItem","horizontal","keyExtractor","contentContainerStyle","listUploadItem","TextArea","paddingV","paddingH","placeholder","clearButtonMode","onChangeText","value","multiline","input","blurOnSubmit","textAlignVertical","actions","ref","renderer","rendererProps","placement","anchorStyle","display","customStyles","TriggerTouchableComponent","VectorIcons","color","gray","dark","optionsContainerStyle","popover","onSelect","menuItem","Text","typo","Touchable","flex","Solid","kind","vectorName","tintColor","white","br","disabled","create","paddingHorizontal","paddingVertical","gap","borderWidth","borderColor","hexToRgba","black","borderBottomWidth","borderTopLeftRadius","borderTopRightRadius","flexDirection","alignItems","sendButton","alignSelf","maxHeight","borderRadius","backgroundColor","width","borderBottomColor","border","normal","justifyContent","paddingTop"],"sourceRoot":"../../../../../src","sources":["components/chat/footer/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { KColors, KContainer, KImage, KLabel, KRadiusValue, KSpacingValue } from '@droppii/libs';
|
|
4
|
+
import { StyleSheet, Animated, Easing } from 'react-native';
|
|
5
|
+
import { IconPdf } from "../../../../assets/svgIcon/IconPdf.js";
|
|
6
|
+
import { formatFileSize, shortenFileName } from "../../../../utils/common.js";
|
|
7
|
+
import { useFileUpload } from "../../../../hooks/upload/useFileUpload.js";
|
|
8
|
+
import UIUtils from "../../../../utils/ui.js";
|
|
9
|
+
import { useEffect, useRef } from 'react';
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
const UploadFileItem = ({
|
|
12
|
+
item,
|
|
13
|
+
onRemove,
|
|
14
|
+
onSuccess
|
|
15
|
+
}) => {
|
|
16
|
+
const {
|
|
17
|
+
isUploading,
|
|
18
|
+
cancel
|
|
19
|
+
} = useFileUpload({
|
|
20
|
+
file: item,
|
|
21
|
+
onSuccess: data => {
|
|
22
|
+
const mItem = {
|
|
23
|
+
...item,
|
|
24
|
+
remoteUrl: data?.[0]?.publicUrl,
|
|
25
|
+
streamId: data?.[0]?.streamId
|
|
26
|
+
};
|
|
27
|
+
if (mItem.remoteUrl) {
|
|
28
|
+
onSuccess?.(mItem);
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
onError: () => {
|
|
32
|
+
UIUtils.toast.open({
|
|
33
|
+
title: `Đã xảy ra lỗi khi tải lên tệp sau: ${item.name}. Vui lòng thử lại.`,
|
|
34
|
+
theme: 'danger'
|
|
35
|
+
});
|
|
36
|
+
onRemove?.(item);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
const scaleAnim = useRef(new Animated.Value(0.5)).current;
|
|
40
|
+
const opacityAnim = useRef(new Animated.Value(1.2)).current;
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
const loopAnim = Animated.loop(Animated.sequence([Animated.parallel([Animated.timing(scaleAnim, {
|
|
43
|
+
toValue: 1.2,
|
|
44
|
+
// lan toả ra ngoài
|
|
45
|
+
duration: 1000,
|
|
46
|
+
easing: Easing.out(Easing.ease),
|
|
47
|
+
useNativeDriver: true
|
|
48
|
+
}), Animated.timing(opacityAnim, {
|
|
49
|
+
toValue: 0,
|
|
50
|
+
duration: 1000,
|
|
51
|
+
easing: Easing.linear,
|
|
52
|
+
useNativeDriver: true
|
|
53
|
+
})]), Animated.parallel([Animated.timing(scaleAnim, {
|
|
54
|
+
toValue: 0,
|
|
55
|
+
duration: 0,
|
|
56
|
+
useNativeDriver: true
|
|
57
|
+
}), Animated.timing(opacityAnim, {
|
|
58
|
+
toValue: 1,
|
|
59
|
+
duration: 0,
|
|
60
|
+
useNativeDriver: true
|
|
61
|
+
})])]));
|
|
62
|
+
loopAnim.start();
|
|
63
|
+
if (!isUploading) {
|
|
64
|
+
loopAnim.stop();
|
|
65
|
+
}
|
|
66
|
+
return () => loopAnim.stop();
|
|
67
|
+
}, [scaleAnim, opacityAnim, isUploading]);
|
|
68
|
+
return /*#__PURE__*/_jsxs(KContainer.View, {
|
|
69
|
+
style: styles.container,
|
|
70
|
+
children: [isUploading ? /*#__PURE__*/_jsxs(KContainer.Touchable, {
|
|
71
|
+
style: styles.loadingContainer,
|
|
72
|
+
onPress: cancel,
|
|
73
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
74
|
+
style: [styles.loaddingRipple, {
|
|
75
|
+
opacity: opacityAnim,
|
|
76
|
+
transform: [{
|
|
77
|
+
scale: scaleAnim
|
|
78
|
+
}]
|
|
79
|
+
}]
|
|
80
|
+
}), /*#__PURE__*/_jsx(KContainer.View, {
|
|
81
|
+
style: styles.loadingCircle,
|
|
82
|
+
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
83
|
+
name: 'close-b',
|
|
84
|
+
color: KColors.white,
|
|
85
|
+
size: 16
|
|
86
|
+
})
|
|
87
|
+
})]
|
|
88
|
+
}) : /*#__PURE__*/_jsx(IconPdf, {}), /*#__PURE__*/_jsxs(KContainer.View, {
|
|
89
|
+
style: styles.content,
|
|
90
|
+
children: [/*#__PURE__*/_jsx(KLabel.Text, {
|
|
91
|
+
typo: "TextXsNormal",
|
|
92
|
+
children: shortenFileName(item.name || '')
|
|
93
|
+
}), /*#__PURE__*/_jsx(KLabel.Text, {
|
|
94
|
+
typo: "Text2XsNormal",
|
|
95
|
+
color: KColors.gray.light,
|
|
96
|
+
children: formatFileSize(item.size || 0)
|
|
97
|
+
})]
|
|
98
|
+
}), /*#__PURE__*/_jsx(KContainer.Touchable, {
|
|
99
|
+
style: styles.close,
|
|
100
|
+
onPress: () => onRemove?.(item),
|
|
101
|
+
children: /*#__PURE__*/_jsx(KImage.VectorIcons, {
|
|
102
|
+
name: "close-o",
|
|
103
|
+
size: 14,
|
|
104
|
+
color: KColors.white
|
|
105
|
+
})
|
|
106
|
+
})]
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
export default UploadFileItem;
|
|
110
|
+
const styles = StyleSheet.create({
|
|
111
|
+
container: {
|
|
112
|
+
position: 'relative',
|
|
113
|
+
paddingVertical: KSpacingValue['0.25rem'],
|
|
114
|
+
paddingLeft: KSpacingValue['0.5rem'],
|
|
115
|
+
paddingRight: KSpacingValue['1.25rem'],
|
|
116
|
+
gap: KSpacingValue['0.5rem'],
|
|
117
|
+
height: 48,
|
|
118
|
+
flexDirection: 'row',
|
|
119
|
+
alignItems: 'center',
|
|
120
|
+
borderRadius: KRadiusValue['3x'],
|
|
121
|
+
backgroundColor: KColors.hexToRgba(KColors.gray.light, 0.1)
|
|
122
|
+
},
|
|
123
|
+
content: {
|
|
124
|
+
flex: 1
|
|
125
|
+
},
|
|
126
|
+
close: {
|
|
127
|
+
position: 'absolute',
|
|
128
|
+
top: -6,
|
|
129
|
+
right: -6,
|
|
130
|
+
borderRadius: KRadiusValue.round,
|
|
131
|
+
width: 20,
|
|
132
|
+
height: 20,
|
|
133
|
+
justifyContent: 'center',
|
|
134
|
+
alignItems: 'center',
|
|
135
|
+
borderWidth: 1,
|
|
136
|
+
borderColor: KColors.white,
|
|
137
|
+
backgroundColor: KColors.gray.dark
|
|
138
|
+
},
|
|
139
|
+
loadingContainer: {
|
|
140
|
+
width: 36,
|
|
141
|
+
height: 36,
|
|
142
|
+
borderRadius: KRadiusValue.round,
|
|
143
|
+
justifyContent: 'center',
|
|
144
|
+
alignItems: 'center'
|
|
145
|
+
},
|
|
146
|
+
loaddingRipple: {
|
|
147
|
+
position: 'absolute',
|
|
148
|
+
width: 36,
|
|
149
|
+
height: 36,
|
|
150
|
+
borderRadius: KRadiusValue.round,
|
|
151
|
+
borderWidth: 4,
|
|
152
|
+
borderColor: KColors.secondary.normal
|
|
153
|
+
},
|
|
154
|
+
loadingCircle: {
|
|
155
|
+
width: 24,
|
|
156
|
+
height: 24,
|
|
157
|
+
borderRadius: KRadiusValue.round,
|
|
158
|
+
backgroundColor: KColors.secondary.normal,
|
|
159
|
+
justifyContent: 'center',
|
|
160
|
+
alignItems: 'center'
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
//# sourceMappingURL=UploadFileItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["KColors","KContainer","KImage","KLabel","KRadiusValue","KSpacingValue","StyleSheet","Animated","Easing","IconPdf","formatFileSize","shortenFileName","useFileUpload","UIUtils","useEffect","useRef","jsx","_jsx","jsxs","_jsxs","UploadFileItem","item","onRemove","onSuccess","isUploading","cancel","file","data","mItem","remoteUrl","publicUrl","streamId","onError","toast","open","title","name","theme","scaleAnim","Value","current","opacityAnim","loopAnim","loop","sequence","parallel","timing","toValue","duration","easing","out","ease","useNativeDriver","linear","start","stop","View","style","styles","container","children","Touchable","loadingContainer","onPress","loaddingRipple","opacity","transform","scale","loadingCircle","VectorIcons","color","white","size","content","Text","typo","gray","light","close","create","position","paddingVertical","paddingLeft","paddingRight","gap","height","flexDirection","alignItems","borderRadius","backgroundColor","hexToRgba","flex","top","right","round","width","justifyContent","borderWidth","borderColor","dark","secondary","normal"],"sourceRoot":"../../../../../../src","sources":["components/chat/footer/item/UploadFileItem.tsx"],"mappings":"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","ignoreList":[]}
|