/**
 * Copyright (c) Facebook, Inc. and its affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
import React from 'react';
import DebugLayout from '@theme/DebugLayout';
import DebugJsonView from '@theme/DebugJsonView';
function PluginInstanceContent({pluginId, pluginInstanceContent}) {
  return (
    <section style={{marginBottom: 30}}>
      <code>{pluginId}</code>
      <DebugJsonView src={pluginInstanceContent} collapseDepth={2} />
    </section>
  );
}
function PluginContent({pluginName, pluginContent}) {
  return (
    <section style={{marginBottom: 60}}>
      <h3>{pluginName}</h3>
      <div>
        {Object.entries(pluginContent)
          // Filter plugin instances with no content
          .filter(([, pluginInstanceContent]) => !!pluginInstanceContent)
          .map(([pluginId, pluginInstanceContent]) => (
            <PluginInstanceContent
              key={pluginId}
              pluginId={pluginId}
              pluginInstanceContent={pluginInstanceContent}
            />
          ))}
      </div>
    </section>
  );
}
export default function DebugContent({allContent}) {
  return (
    <DebugLayout>
      <h2>Plugin content</h2>
      <div>
        {Object.entries(allContent)
          // Filter plugins with no content
          .filter(([, pluginContent]) =>
            Object.values(pluginContent).some(
              (instanceContent) => !!instanceContent,
            ),
          )
          .map(([pluginName, pluginContent]) => (
            <PluginContent
              key={pluginName}
              pluginName={pluginName}
              pluginContent={pluginContent}
            />
          ))}
      </div>
    </DebugLayout>
  );
}
