"use client";
import React, { useEffect, useState } from "react";
import axios from "axios";
export default function Process() {
const [data, setData] = useState(null);
const [loading, setLoading] = useState(true);
const [error, setError] = useState(null);
useEffect(() => {
async function fetchData() {
try {
setLoading(true);
const res = await axios.get("/api/get-component-data", {
params: { component_name: "Process" },
});
setData(res.data.data);
} catch (err) {
setError("获取Process数据失败");
} finally {
setLoading(false);
}
}
fetchData();
}, []);
if (loading) return
Loading...
;
if (error) return null;
if (!data) return null;
const items = data.items || [];
const title = data.title || "";
const subtitle = data.subtitle || "";
const buttonText = data.button_text || "";
const buttonLink = data.button_link || "#";
const paragraphs = [data.p1, data.p2, data.p3].filter(Boolean);
const icon = data.icon || "/files/icon.svg";
const htmlCode = data.html_code || "";
return (
<>
{htmlCode ? (
) : (

)}
{title}
{/* /column */}
{/* /.row */}
{/* 左侧:文本区 */}
{subtitle}
{paragraphs.map((txt, idx) => (
{txt}
))}
{buttonText && (
{buttonText}
)}
{/* 右侧:卡片区 */}
{items.map((item, idx) => {
let cardClass = "card";
if (idx === 1) cardClass += " !mt-6 xl:!ml-16 lg:!ml-16";
else if (idx === 2) cardClass += " !mt-6 xl:mx-6 lg:mx-6";
else if (idx > 0) cardClass += " !mt-6";
return (
{(item.no || idx + 1).toString().padStart(2, "0")}
{item.item_title}
{item.item_description}
{/*/.card-body */}
);
})}
{/*/column */}
>
);
}