Embedding the widget
Add a folder and create a NavBar component
touch src/components/Widget.js
Paste the code below into the file
import { useEffect, useState } from 'react';
const Widget = () => {
// To simplify the demo, we'll pass an fake client emai
const postProjectEventHandler = (ev) => {
//Manage the event project posted
}
useEffect(() => {
const widget = document.getElementById('widget')
widget.addEventListener('bsSubmit', postProjectEventHandler)
return () => {
widget.removeEventListener('bsSubmit', postProjectEventHandler)
}
}, [])
return (
<section className="container" id="project">
<be-widget
id="widget"
key-value={kEY_PROVIDED_BY_BUNNY}
client-id={CLIENT_EMAIL_USING_THE_SITE}
></be-widget>
</section>
)
}
export default Widget
Import the widget into App.js
bunny-widget-integration/src/App.js
import './App.css';
import NavBar from './components/layout/NavBar';
import Widget from './components/Widget';
import {BrowserRouter as Router, Route, Routes } from 'react-router-dom'
const App = () => {
return (
<>
<Router>
<NavBar />
<Routes>
<Route exact path="/" element={ <div className='container'><h1>Hello Bunnies!!!!</h1></div>} />
<Route exact path="/widget/" element={ <Widget />} />
</Routes>
</Router>
</>
);
}
export default App;
You should get something like this:
Type the url http://yoursite/widget
