o2o-clinicad-frontend/src/features/home/ui/process/AgdpOrbitNode.tsx

22 lines
881 B
TypeScript

import type { AgdpNodeDef } from "@/features/home/constants/process_contents";
import { AGDP_SLOT_WRAPPER_CLASS } from "@/features/home/constants/process_contents";
type Props = { node: AgdpNodeDef };
export function AgdpOrbitNode({ node }: Props) {
const wrapperClass = AGDP_SLOT_WRAPPER_CLASS[node.slot];
return (
<div className={wrapperClass}>
<div className="w-16 h-16 md:w-20 md:h-20 rounded-full border border-violet-500/30 bg-navy-900/80 backdrop-blur-sm flex items-center justify-center shadow-[0_0_20px_rgba(168,85,247,0.15)]">
<span className="font-sans font-bold text-3xl md:text-4xl text-lavender-300">{node.letter}</span>
</div>
<div className="text-center">
<span className="block body-18-md-20 font-medium text-lavender-200 leading-tight break-keep">
{node.label}
</span>
</div>
</div>
);
}