<?php
use Orchard\Feature\FeatureUtils;
use Orchard\Service\GrassAuth;
use Orchard\Service\Ows\Grass as OwsGrass;
use Orchard\Service\StaticAsset as StaticAssetService;

$frontendOaComponent = 'frontend-distribution-oa-components';

// Get static asset locations.
$staticAssetService = new StaticAssetService($this->awsConfig);
$manifestData = $staticAssetService->loadStaticAssetsManifestJson($frontendOaComponent, 'manifest.json');
$version = $staticAssetService->getStaticAssetVersionFromJson($manifestData);

$oaTrackContributorsScriptsFile = $staticAssetService->getStaticAssetUrl(
    $frontendOaComponent,
    $version,
    'oa-track-contributors.bundle.js'
);

// Grab the GRASS session.
$grassAuth = new GrassAuth(new OwsGrass(logger: \Zend_Registry::get('applicationLoggerOA')));
$grassRefreshUrl = OwsGrass::OA_REFRESH_URI;
$grassBaseUrl = OwsGrass::PROXY_PATH;
$grassSession = $grassAuth->fetchGrassToken()->getJSTokenManagerServiceFormat($grassRefreshUrl, $grassBaseUrl);

$bundleOptions = array(
    'grassSession' => $grassSession,
    'userFeatures' => FeatureUtils::toArray(array('user' => array('username' => $_SESSION['S_USERID']))),
    'userId'=> $_SESSION['S_USERID']
);

$bundleOptions = array_merge($bundleOptions, array(
    'jwtToken'=> $_SESSION['auth0AccessToken'],
    'profileType'=> 'OrchAdminProfile')
);
?>

<div id="oa-track-contributors"></div>
<script type="text/javascript">
    var trackContributorsRootElement = document.getElementById('oa-track-contributors');

    window.loadUserFeaturesBeforeScripts(
        <?php echo json_encode($bundleOptions); ?>,
        ['<?=$oaTrackContributorsScriptsFile?>'],
        function () { initOATrackContributors(trackContributorsRootElement); }
    );
</script>
