import type { Meta, StoryObj } from '@storybook/react';
import { AdminDashboardView } from './AdminDashboardView';
import { AdminDashboardSkeleton } from './admin-dashboard-view';
import { ToastProvider } from '../../components/feedback/ToastProvider';

/**
 * AdminDashboardView - Centre de commande admin
 *
 * Vue principale d'administration avec métriques en temps réel,
 * visualisation du trafic, queue de modération et logs système.
 */
const meta: Meta<typeof AdminDashboardView> = {
  title: 'Components/Features/Admin/AdminDashboardView',
  component: AdminDashboardView,
  parameters: {
    layout: 'fullscreen',
    docs: {
      description: {
        component:
          'Dashboard admin avec métriques, graphiques de trafic et contrôles système.',
      },
    },
  },
  tags: ['autodocs'],
  decorators: [
    (Story) => (
      <ToastProvider>
        <div className="bg-background min-h-layout-page p-4">
          <Story />
        </div>
      </ToastProvider>
    ),
  ],
};

export default meta;
type Story = StoryObj<typeof meta>;

export const Default: Story = {
  name: 'Par défaut',
};

export const Loading: Story = {
  name: 'Chargement',
  render: () => <AdminDashboardSkeleton />,
  parameters: {
    docs: {
      description: {
        story: 'Skeleton pendant le chargement des données admin.',
      },
    },
  },
};
