turbodesk-livechat-react-native 0.1.0-alpha.36 → 0.1.0-alpha.37
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/dist/navigation/LiveChatPanel.d.ts +3 -1
- package/dist/navigation/LiveChatPanel.d.ts.map +1 -1
- package/dist/navigation/LiveChatPanel.js +2 -2
- package/dist/navigation/LiveChatPanel.js.map +1 -1
- package/dist/navigation/panel-router-context.d.ts +2 -1
- package/dist/navigation/panel-router-context.d.ts.map +1 -1
- package/dist/navigation/panel-router-context.js +3 -7
- package/dist/navigation/panel-router-context.js.map +1 -1
- package/package.json +1 -1
- package/src/navigation/LiveChatPanel.tsx +7 -2
- package/src/navigation/panel-router-context.tsx +11 -6
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export type LiveChatPanelProps = {
|
|
2
2
|
onClose?: () => void;
|
|
3
3
|
initialConversationId?: string | null;
|
|
4
|
+
/** Bump on each notification tap so navigation fires even when conversationId is unchanged. */
|
|
5
|
+
navigationTrigger?: number;
|
|
4
6
|
};
|
|
5
|
-
export declare function LiveChatPanel({ onClose, initialConversationId }: LiveChatPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function LiveChatPanel({ onClose, initialConversationId, navigationTrigger }: LiveChatPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
6
8
|
//# sourceMappingURL=LiveChatPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveChatPanel.d.ts","sourceRoot":"","sources":["../../src/navigation/LiveChatPanel.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"LiveChatPanel.d.ts","sourceRoot":"","sources":["../../src/navigation/LiveChatPanel.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAoGF,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,EAAE,kBAAkB,2CAoBtG"}
|
|
@@ -86,8 +86,8 @@ function PanelContent({ onClose }) {
|
|
|
86
86
|
})();
|
|
87
87
|
return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: [styles.flex, { backgroundColor: bg }], ...(canGoBack ? panResponder.panHandlers : {}), children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.flex, children: screenContent }), (0, jsx_runtime_1.jsx)(WsStatusStrip_1.WsStatusStrip, {})] }));
|
|
88
88
|
}
|
|
89
|
-
function LiveChatPanel({ onClose, initialConversationId }) {
|
|
90
|
-
const panel = ((0, jsx_runtime_1.jsx)(panel_router_context_1.PanelRouterProvider, { initialConversationId: initialConversationId, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.flex, children: (0, jsx_runtime_1.jsx)(PanelContent, { onClose: onClose }) }) }));
|
|
89
|
+
function LiveChatPanel({ onClose, initialConversationId, navigationTrigger }) {
|
|
90
|
+
const panel = ((0, jsx_runtime_1.jsx)(panel_router_context_1.PanelRouterProvider, { initialConversationId: initialConversationId, navigationTrigger: navigationTrigger, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.flex, children: (0, jsx_runtime_1.jsx)(PanelContent, { onClose: onClose }) }) }));
|
|
91
91
|
const withKeyboard = KeyboardProvider ? ((0, jsx_runtime_1.jsx)(KeyboardProvider, { children: panel })) : panel;
|
|
92
92
|
if (PanelSafeAreaProvider) {
|
|
93
93
|
return (0, jsx_runtime_1.jsx)(PanelSafeAreaProvider, { children: withKeyboard });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveChatPanel.js","sourceRoot":"","sources":["../../src/navigation/LiveChatPanel.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"LiveChatPanel.js","sourceRoot":"","sources":["../../src/navigation/LiveChatPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,10 @@ export type PanelRouterContextValue = {
|
|
|
15
15
|
}) => void;
|
|
16
16
|
goBack: () => void;
|
|
17
17
|
};
|
|
18
|
-
export declare function PanelRouterProvider({ children, initialConversationId }: {
|
|
18
|
+
export declare function PanelRouterProvider({ children, initialConversationId, navigationTrigger, }: {
|
|
19
19
|
children: ReactNode;
|
|
20
20
|
initialConversationId?: string | null;
|
|
21
|
+
navigationTrigger?: number;
|
|
21
22
|
}): import("react/jsx-runtime").JSX.Element;
|
|
22
23
|
export declare function usePanelRouter(): PanelRouterContextValue;
|
|
23
24
|
//# sourceMappingURL=panel-router-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-router-context.d.ts","sourceRoot":"","sources":["../../src/navigation/panel-router-context.tsx"],"names":[],"mappings":"AAAA,OAAc,EAQZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACvF,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACxD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AASF,wBAAgB,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"panel-router-context.d.ts","sourceRoot":"","sources":["../../src/navigation/panel-router-context.tsx"],"names":[],"mappings":"AAAA,OAAc,EAQZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACvF,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACxD,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AASF,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,2CA+DA;AAED,wBAAgB,cAAc,IAAI,uBAAuB,CAIxD"}
|
|
@@ -5,7 +5,7 @@ exports.usePanelRouter = usePanelRouter;
|
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const react_1 = require("react");
|
|
7
7
|
const PanelRouterContext = (0, react_1.createContext)(null);
|
|
8
|
-
function PanelRouterProvider({ children, initialConversationId }) {
|
|
8
|
+
function PanelRouterProvider({ children, initialConversationId, navigationTrigger, }) {
|
|
9
9
|
const initialView = initialConversationId ? "conversation" : "home";
|
|
10
10
|
const [view, setView] = (0, react_1.useState)(initialView);
|
|
11
11
|
const [conversationId, setConversationId] = (0, react_1.useState)(initialConversationId !== null && initialConversationId !== void 0 ? initialConversationId : null);
|
|
@@ -31,16 +31,12 @@ function PanelRouterProvider({ children, initialConversationId }) {
|
|
|
31
31
|
setConversationId(prev.conversationId);
|
|
32
32
|
}
|
|
33
33
|
}, []);
|
|
34
|
-
//
|
|
35
|
-
const prevInitialRef = (0, react_1.useRef)(initialConversationId);
|
|
34
|
+
// Open conversation when initialConversationId or navigationTrigger changes (notification tap).
|
|
36
35
|
(0, react_1.useEffect)(() => {
|
|
37
|
-
if (initialConversationId === prevInitialRef.current)
|
|
38
|
-
return;
|
|
39
|
-
prevInitialRef.current = initialConversationId;
|
|
40
36
|
if (!initialConversationId)
|
|
41
37
|
return;
|
|
42
38
|
navigate({ view: "conversation", conversationId: initialConversationId }, true);
|
|
43
|
-
}, [initialConversationId, navigate]);
|
|
39
|
+
}, [initialConversationId, navigationTrigger, navigate]);
|
|
44
40
|
const value = (0, react_1.useMemo)(() => ({ view, conversationId, goHome, goConversation, goPreviousChats, goBack }), [view, conversationId, goHome, goConversation, goPreviousChats, goBack]);
|
|
45
41
|
return ((0, jsx_runtime_1.jsx)(PanelRouterContext.Provider, { value: value, children: children }));
|
|
46
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-router-context.js","sourceRoot":"","sources":["../../src/navigation/panel-router-context.tsx"],"names":[],"mappings":";;AA8BA,
|
|
1
|
+
{"version":3,"file":"panel-router-context.js","sourceRoot":"","sources":["../../src/navigation/panel-router-context.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -18,6 +18,8 @@ try {
|
|
|
18
18
|
export type LiveChatPanelProps = {
|
|
19
19
|
onClose?: () => void;
|
|
20
20
|
initialConversationId?: string | null;
|
|
21
|
+
/** Bump on each notification tap so navigation fires even when conversationId is unchanged. */
|
|
22
|
+
navigationTrigger?: number;
|
|
21
23
|
};
|
|
22
24
|
|
|
23
25
|
let PanelSafeAreaProvider: ComponentType<{ children: ReactNode }> | null = null;
|
|
@@ -118,9 +120,12 @@ function PanelContent({ onClose }: { onClose?: () => void }) {
|
|
|
118
120
|
);
|
|
119
121
|
}
|
|
120
122
|
|
|
121
|
-
export function LiveChatPanel({ onClose, initialConversationId }: LiveChatPanelProps) {
|
|
123
|
+
export function LiveChatPanel({ onClose, initialConversationId, navigationTrigger }: LiveChatPanelProps) {
|
|
122
124
|
const panel = (
|
|
123
|
-
<PanelRouterProvider
|
|
125
|
+
<PanelRouterProvider
|
|
126
|
+
initialConversationId={initialConversationId}
|
|
127
|
+
navigationTrigger={navigationTrigger}
|
|
128
|
+
>
|
|
124
129
|
<View style={styles.flex}>
|
|
125
130
|
<PanelContent onClose={onClose} />
|
|
126
131
|
</View>
|
|
@@ -28,7 +28,15 @@ type RouteEntry = {
|
|
|
28
28
|
|
|
29
29
|
const PanelRouterContext = createContext<PanelRouterContextValue | null>(null);
|
|
30
30
|
|
|
31
|
-
export function PanelRouterProvider({
|
|
31
|
+
export function PanelRouterProvider({
|
|
32
|
+
children,
|
|
33
|
+
initialConversationId,
|
|
34
|
+
navigationTrigger,
|
|
35
|
+
}: {
|
|
36
|
+
children: ReactNode;
|
|
37
|
+
initialConversationId?: string | null;
|
|
38
|
+
navigationTrigger?: number;
|
|
39
|
+
}) {
|
|
32
40
|
const initialView: WidgetPanelView = initialConversationId ? "conversation" : "home";
|
|
33
41
|
const [view, setView] = useState<WidgetPanelView>(initialView);
|
|
34
42
|
const [conversationId, setConversationId] = useState<string | null>(initialConversationId ?? null);
|
|
@@ -72,17 +80,14 @@ export function PanelRouterProvider({ children, initialConversationId }: { child
|
|
|
72
80
|
}
|
|
73
81
|
}, []);
|
|
74
82
|
|
|
75
|
-
//
|
|
76
|
-
const prevInitialRef = useRef(initialConversationId);
|
|
83
|
+
// Open conversation when initialConversationId or navigationTrigger changes (notification tap).
|
|
77
84
|
useEffect(() => {
|
|
78
|
-
if (initialConversationId === prevInitialRef.current) return;
|
|
79
|
-
prevInitialRef.current = initialConversationId;
|
|
80
85
|
if (!initialConversationId) return;
|
|
81
86
|
navigate(
|
|
82
87
|
{ view: "conversation", conversationId: initialConversationId },
|
|
83
88
|
true
|
|
84
89
|
);
|
|
85
|
-
}, [initialConversationId, navigate]);
|
|
90
|
+
}, [initialConversationId, navigationTrigger, navigate]);
|
|
86
91
|
|
|
87
92
|
const value = useMemo(
|
|
88
93
|
() => ({ view, conversationId, goHome, goConversation, goPreviousChats, goBack }),
|