import type { PropsWithChildren } from 'react';
import React from 'react';
import * as datadogService from '../../services/datadog.service';
import { DatadogProvider } from '@datadog/mobile-react-native';
import { DatadogSessionHandler } from './DatadogSessionHandler';

export const DatadogWrapper = ({ children }: PropsWithChildren) => {
    const config = datadogService.createConfiguration();

    if (!config) {
        return <>{children}</>;
    }

    const handleInitialization = () => datadogService.onSdkInitialized();

    return (
        <DatadogProvider
            configuration={config}
            onInitialization={handleInitialization}
        >
            <DatadogSessionHandler />
            {children}
        </DatadogProvider>
    );
};
