api-platform/admin-pack

Generated files

assets/js/admin.js

import React from 'react';
import ReactDOM from 'react-dom';
import { HydraAdmin } from '@api-platform/admin';

const entrypoint = document.getElementById('api-entrypoint').innerText;

ReactDOM.render(<HydraAdmin entrypoint={entrypoint}/>, document.getElementById('api-platform-admin'));

config/routes/api_platform_admin.yaml

admin:
    path: /admin
    controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController
    defaults:
        template: admin.html.twig

templates/admin.html.twig

{% extends 'base.html.twig' %}

{% block title %}API Platform Admin{% endblock %}

{% block body %}<div id="api-platform-admin"></div>{% endblock %}

{% block javascripts %}
    <script type="text/plain" id="api-entrypoint">{{ path('api_entrypoint') }}</script>
    {{ encore_entry_script_tags('admin') }}
{% endblock %}