mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-31 19:17:48 +00:00
fix: Smoothens out opening animation for widget (#2789)
This commit is contained in:
committed by
GitHub
parent
e09941db1c
commit
70d41ffcdd
@@ -97,6 +97,15 @@ export const IFrameHelper = {
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
setFrameHeightToFitContent: (extraHeight, isFixedHeight) => {
|
||||
const iframe = IFrameHelper.getAppFrame();
|
||||
const updatedIframeHeight = isFixedHeight ? `${extraHeight}px` : '100%';
|
||||
|
||||
if (iframe)
|
||||
iframe.setAttribute('style', `height: ${updatedIframeHeight} !important`);
|
||||
},
|
||||
|
||||
events: {
|
||||
loaded: message => {
|
||||
Cookies.set('cw_conversation', message.config.authToken, {
|
||||
@@ -169,6 +178,13 @@ export const IFrameHelper = {
|
||||
}
|
||||
},
|
||||
|
||||
updateIframeHeight: message => {
|
||||
const { extraHeight = 0, isFixedHeight } = message;
|
||||
if (!extraHeight) return;
|
||||
|
||||
IFrameHelper.setFrameHeightToFitContent(extraHeight, isFixedHeight);
|
||||
},
|
||||
|
||||
resetUnreadMode: () => {
|
||||
IFrameHelper.sendMessage('unset-unread-view');
|
||||
IFrameHelper.events.removeUnreadClass();
|
||||
@@ -178,22 +194,6 @@ export const IFrameHelper = {
|
||||
const holderEl = document.querySelector('.woot-widget-holder');
|
||||
removeClass(holderEl, 'has-unread-view');
|
||||
},
|
||||
|
||||
updateIframeHeight: message => {
|
||||
setTimeout(() => {
|
||||
const iframe = IFrameHelper.getAppFrame();
|
||||
const scrollableMessageHeight =
|
||||
iframe.contentWindow.document.querySelector('.unread-messages')
|
||||
.scrollHeight + 40;
|
||||
const updatedIframeHeight = message.isFixedHeight
|
||||
? `${scrollableMessageHeight}px`
|
||||
: '100%';
|
||||
iframe.setAttribute(
|
||||
'style',
|
||||
`height: ${updatedIframeHeight} !important`
|
||||
);
|
||||
}, 100);
|
||||
},
|
||||
},
|
||||
pushEvent: eventName => {
|
||||
IFrameHelper.sendMessage('push-event', { eventName });
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
export const SDK_CSS = `.woot-widget-holder {
|
||||
box-shadow: 0 5px 40px rgba(0, 0, 0, .16) !important;
|
||||
opacity: 1;
|
||||
will-change: transform, opacity;
|
||||
transform: translateY(0);
|
||||
overflow: hidden !important;
|
||||
position: fixed !important;
|
||||
transition-duration: 0.5s, 0.5s;
|
||||
transition-property: opacity, bottom;
|
||||
transition: opacity 0.2s linear, transform 0.25s linear;
|
||||
z-index: 2147483000 !important;
|
||||
}
|
||||
|
||||
@@ -111,7 +112,8 @@ export const SDK_CSS = `.woot-widget-holder {
|
||||
}
|
||||
|
||||
.woot--hide {
|
||||
bottom: -20000px !important;
|
||||
bottom: -100vh;
|
||||
transform: translateY(40px);
|
||||
top: unset !important;
|
||||
opacity: 0;
|
||||
visibility: hidden !important;
|
||||
|
||||
Reference in New Issue
Block a user