Browse Source

chore(web): add live support widget

pull/19/head
isra el 2 years ago
parent
commit
c0a4f2673a
  1. 1
      web/.env.example
  2. 30
      web/components/livechat/LiveChat.tsx
  3. 3
      web/pages/_app.tsx

1
web/.env.example

@ -1,2 +1,3 @@
NEXT_PUBLIC_API_BASE_URL=https://api.textbee.dev/api/v1
NEXT_PUBLIC_GOOGLE_CLIENT_ID=
NEXT_PUBLIC_TAWKTO_EMBED_URL=

30
web/components/livechat/LiveChat.tsx

@ -0,0 +1,30 @@
import Script from 'next/script'
import React from 'react'
export default function LiveChat() {
if (!process.env.NEXT_PUBLIC_TAWKTO_EMBED_URL) {
return null
}
return (
<>
<Script
id='tawkto'
strategy='afterInteractive'
dangerouslySetInnerHTML={{
__html: `
var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
(function(){
var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
s1.async=true;
s1.src='${process.env.NEXT_PUBLIC_TAWKTO_EMBED_URL}';
s1.charset='UTF-8';
s1.setAttribute('crossorigin','*');
s0.parentNode.insertBefore(s1,s0);
})();
`,
}}
/>
</>
)
}

3
web/pages/_app.tsx

@ -8,9 +8,9 @@ import ErrorBoundary from '../components/ErrorBoundary'
import Footer from '../components/Footer'
import Analytics from '../components/analytics/Analytics'
import dynamic from 'next/dynamic'
import LiveChat from '../components/livechat/LiveChat'
function MyApp({ Component, pageProps }: AppProps) {
const NoSSRNavbar = dynamic(() => import('../components/Navbar'), {
ssr: false,
})
@ -19,6 +19,7 @@ function MyApp({ Component, pageProps }: AppProps) {
<ErrorBoundary>
<Provider store={store}>
<Analytics />
<LiveChat />
<GoogleOAuthProvider
clientId={process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID}
>

Loading…
Cancel
Save