'use client';
import * as React from 'react';
import { motion, useReducedMotion } from 'framer-motion';
type Props = {
className?: string; // e.g. "w-full h-80"
bg?: string; // default white
};
/** Palette */
const ACCENT = '#00b8db';
const STROKE = '#111827';
const GRAY = '#9CA3AF';
const GRAY_LT = '#E5E7EB';
/* ---------- small generic icons (no brands) ---------- */
const IconSquare = () => (
);
const IconTriangle = () => (
);
const IconHex = () => (
);
const IconBolt = () => (
);
const IconPlay = () => (
);
const IconDB = () => (
<>
>
);
/* icon inside white circular badge */
function Badge({ children }: { children: React.ReactNode }) {
return (
<>
{children}
>
);
}
/* ---------- central cloud ---------- */
function Cloud({ pulse = true }: { pulse?: boolean }) {
const prefersReduced = useReducedMotion();
return (
{/* subtle accent aura */}
);
}
/* a small packet line from center to a node */
function Beam({
x2,
y2,
delay = 0,
}: {
x2: number;
y2: number;
delay?: number;
}) {
const prefersReduced = useReducedMotion();
return (
);
}
export default function ContentDistribution({ className, bg = '#ffffff' }: Props) {
const W = 900;
const H = 560;
// ring radii
const rings = [110, 190, 270];
// positions (angle degrees) for badges on rings
const layout = [
{ r: rings[1], a: -20, icon: },
{ r: rings[2], a: 20, icon: },
{ r: rings[0], a: 155, icon: },
{ r: rings[2], a: -145, icon: },
{ r: rings[1], a: 210, icon: },
{ r: rings[0], a: 60, icon: },
];
const prefersReduced = useReducedMotion();
return (
);
}