/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import Script from 'next/script' import { ConsentManagerService, ConsentManagerPreferences } from '../types' interface CustomScriptProps { service: ConsentManagerService } interface CustomScriptsProps { preferences: ConsentManagerPreferences services?: ConsentManagerService[] } function CustomScript({ service }: CustomScriptProps) { const dataAttrs = service.dataAttrs ? Object.fromEntries( service.dataAttrs.map((attr) => [`data-${attr.name}`, attr.value]) ) : {} const strategy = service.strategy ?? service.async ? 'afterInteractive' : 'beforeInteractive' return ( ) } export default function CustomScripts({ preferences, services = [], }: CustomScriptsProps) { if (!preferences.loadAll && services?.length === 0) return null let servicesToInject: ConsentManagerService[] = [] if (preferences.loadAll) { servicesToInject = services } else { servicesToInject = services.filter( (service) => preferences?.custom?.[service.name] ) } return ( <> {servicesToInject.map((service) => ( ))} ) }