Huddle01 Iframe
Huddle01 IFrame lets you embed Huddle01's Web App in your website with a few lines of code
NOTE: Request for access to the Iframe package on Huddle01's discord or reach out to the team.
Vanilla
NOTE:
src
can be a subdomain of your own instead ofiframe.huddle01.com
Markup
<iframe
id="huddle01-iframe"
src="https://iframe.huddle01.com/some-room"
name="myiFrame"
scrolling="no"
height='90%'
width='90%'
allowFullScreen
allow="camera; microphone; clipboard-read; clipboard-write; display-capture"
></iframe>
Methods
const huddleIframe = document.getElementById('huddle01-iframe');
huddleIframe.contentWindow.postMessage({ type: 'huddle01-iframe', methodType, methodData },'*');
Methods:
muteMic()
✅unmuteMic()
✅enableShare()
✅disableShare()
✅startRecording()
✅stopRecording()
✅sendReaction(emogi)
✅ [allowed emogis: 😂, 😢, 😦, 😍, 🤔, 👀, 🙌, 👍, 👎, 🔥, 🍻, 🚀, 🎉, ❤️, 💯]toggleHandRaise()
✅connectWallet(address)
✅
React
Quick Start
You must have the latest version of Nodejs
installed on your machine. You can download the latest version of Nodejs
from here.
Install the huddle01-iframe
pkg from npm or yarn
# npm
npm i @huddle01/huddle01-iframe
# yarn
yarn add @huddle01/huddle01-iframe
Huddle App Setup
import <HuddleIframe />
from the npm package
// HuddleIframe to be imported
import { HuddleIframe } from "@huddle01/huddle01-iframe";
// JavaScript
const iframeConfig = {
roomUrl: "https://iframe.huddle01.com/123",
height: "600px",
width: "80%",
noBorder: false, // false by default
};
// TypeScript
// import *IframeConfig* type from pkg too
import { HuddleIframe, IframeConfig } from "@huddle01/huddle01-iframe";
const iframeConfig: IframeConfig = {
roomUrl: "https://iframe.huddle01.com/123",
height: "600px",
width: "80%",
noBorder: false, // false by default
};
Pass the configObj
as a parameter to the <HuddleIframeApp />
component
// JavaScript | TypeScript
<HuddleIframe config={iframeConfig} />
Instance Methods
Usage:
// JavaScript | TypeScript
import { huddleIframeApp } from "@huddle01/huddle01-iframe";
//format
huddleIframeApp.methods.methodName();
//e.g.
huddleIframeApp.methods.muteMic();
Methods:
muteMic()
✅unmuteMic()
✅enableShare()
✅disableShare()
✅startRecording()
✅stopRecording()
✅sendReaction(emogi)
✅ [allowed emogis: 😂, 😢, 😦, 😍, 🤔, 👀, 🙌, 👍, 👎, 🔥, 🍻, 🚀, 🎉, ❤️, 💯]toggleHandRaise()
✅connectWallet(address)
✅
// example participant
"EEXTeIr5C6": {
peerId: "EEXTeIr5C6"
avatarUrl: "https://bit.ly/3O7wUeR",
displayName: "axit.eth",
isCamPaused: false
isHandRaised: false
isMicPaused: false
isSharePaused: false
}
getParticipants()
✅peer {type: Peer}
peerId {type: String}
avatarUrl {type: String}
displayName {type: String}
isHandRaised {type: Boolean}
isCamPaused {type: Boolean}
isMicPaused {type: Boolean}
isSharePaused {type: Boolean}
Events
All Action methods have their own events and can be listened to if they are called using the api. There are some additional meeting events that you can listen to as well:
peer-join
✅peer-left
✅me-left
✅avatar-url-changed
✅
// JavaScript
import { huddleIframeApp, HuddleAppEvent } from "@huddle01/huddle01-iframe";
huddleIframeApp.on("peer-join", (data) => console.log({ data }));
// TypeScript
import { huddleIframeApp, HuddleAppEvent } from "@huddle01/huddle01-iframe";
huddleIframeApp.on(HuddleAppEvent.PEER_JOIN, (data) => console.log({ data }));
💡 For any help reach out to us on Discord