useState } from "react";
import { Card, CardContent } from "@/components/ui/card";
import { Button } from "@/components/ui/button";
import { motion } from "framer-motion";
export default function CEMarkingGuide() {
const steps = [
{
question: "Is your product placed or made available on the EU market?",
yes: 1,
no: "no_ce",
},
{
question: "Is it a tangible product or does it have a physical safety impact?",
yes: 2,
no: "no_ce_maybe",
},
{
question: "Is it a finished product, kit, or system (not raw material)?",
yes: 3,
no: "no_ce_maybe",
},
{
question: "Does failure or misuse of the product create a safety risk?",
yes: 4,
no: "borderline",
},
{
question: "Is the product used in any of the following contexts?",
subtitle:
"Machinery, hazardous areas (ATEX), children, electrical equipment, PPE",
yes: "directive",
no: "borderline",
},
];
const [step, setStep] = useState(0);
const outcomes = {
no_ce: {
title: "CE marking is not required",
text: "CE marking does not apply because the product is not placed on the EU market.",
},
no_ce_maybe: {
title: "CE marking likely not required",
text:
"CE marking may not apply, but other EU product safety laws or contractual requirements could still be relevant.",
},
borderline: {
title: "Borderline product",
text:
"Your product falls into a regulatory grey area. EU authorities expect manufacturers to assess applicable directives and document the justification.",
},
directive: {
title: "EU harmonisation legislation likely applies",
text:
"At least one EU directive or regulation is likely applicable. CE marking is required if confirmed.",
},
};
const currentStep = steps[step];
if (typeof step === "string") {
const result = outcomes[step];
return (
);
}
return (
{result.title}
{result.text}