
Product
Microsoft Teams Notifications Are Now Available in Socket
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.
@turbo-player/integration-react
Advanced tools
@turbo-player/integration-react exposes a React component and types to easily integrate the turbo player.
The Integration component renders a custom element via its tagName. Provide a moduleUrl to load the script dynamically, or load it separately and just specify the tagName. All additional props are automatically forwarded to the custom element.
// example: player.tsx
import { useEffect, useRef, type ComponentProps, type ComponentRef } from 'react';
import { Integration, IntegrationEvent } from '@turbo-player/integration-react';
// provided by the turbo player team
const MODULE_URL = 'https://player.example.com/integration/1/integration.js';
// matches the custom element tag name defined in the integration script (MODULE_URL)
const TAG_NAME = 'my-integration';
const Player = (props: ComponentProps<typeof Integration>) => {
const integrationRef = useRef<ComponentRef<typeof Integration>>(null);
const handlePlay = () => {
integrationRef.current?.ready.then(() => integrationRef.current?.play());
};
const handleContentStart = () => {
console.log('content start', integrationRef.current?.content);
};
useEffect(() => {
integrationRef.current?.ready.then(() => {
// interact with the API after initial ready
if (!integrationRef.current) return;
// e.g. start at 20 seconds
integrationRef.current.currentTime = 20;
// integrationRef.current.volume = 0.1
// integrationRef.current.muted = true
// integrationRef.current.play();
});
// addEventListener is available immediately (without ready)
integrationRef.current?.addEventListener(
IntegrationEvent.CONTENT_START,
handleContentStart
);
return () => {
integrationRef.current?.removeEventListener(
IntegrationEvent.CONTENT_START,
handleContentStart
);
};
}, [integrationRef]);
return (
<div>
<Integration
ref={integrationRef}
tagName={TAG_NAME}
moduleUrl={MODULE_URL}
{...props}
/>
<button type="button" onClick={handlePlay}>
Play
</button>
</div>
);
};
export default Player;
Usage in your component:
// example: app.tsx
import Player from "./player"
export default async function MyApp(props) {
const params = await props.params
return (
<div>
<Player
integrationId="YOUR_INTEGRATION_ID"
playlistId="YOUR_PLAYLIST_ID"
/>
</div>
);
}
FAQs
React component to integrate the turbo player
We found that @turbo-player/integration-react demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.

Security News
Socket CTO Ahmad Nassri joins AppSec leaders at Black Hat to discuss active malware, package manager risks, and software supply chain defense.