import React from 'react';
import Script from 'next/script';
import type {
DecrementPayload,
IdentifyPayload,
IncrementPayload,
OpenPanelMethodNames,
OpenPanelOptions,
TrackProperties,
} from '@openpanel/web';
export * from '@openpanel/web';
export { createNextRouteHandler } from './createNextRouteHandler';
const CDN_URL = 'https://openpanel.dev/op.js';
type OpenPanelComponentProps = OpenPanelOptions & {
profileId?: string;
cdnUrl?: string;
};
export function OpenPanelComponent({
profileId,
cdnUrl,
...options
}: OpenPanelComponentProps) {
const methods: { name: OpenPanelMethodNames; value: unknown }[] = [
{
name: 'init',
value: {
...options,
sdk: 'nextjs',
sdkVersion: process.env.NEXTJS_VERSION!,
},
},
];
if (profileId) {
methods.push({
name: 'identify',
value: {
profileId,
},
});
}
return (
<>