Files
2026-04-29 00:29:14 +08:00

96 lines
4.2 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import LottiePlayer from "@/components/LottiePlayer"
import Link from "next/link"
import { CONTACT_CHANNELS } from "@/lib/site-content"
const CONTACT_CARDS = [
{
title: "产品试用 / Demo",
description: "适合还在判断 DAL Code 是否匹配当前研发流程的团队,建议先从一个真实任务场景开始聊。",
linkText: "提交试用需求",
href: CONTACT_CHANNELS[0].href,
external: false,
lottie:
"/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d28ff8a28b3e0d6614fe9b_help-support-animation-row-wave.json",
},
{
title: "企业方案 / 安全合规",
description: "适合已经明确关注私有化、审批流、权限治理、采购流程和团队协作边界的负责人。",
linkText: "说明企业约束",
href: CONTACT_CHANNELS[1].href,
external: false,
lottie:
"/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d28ff844db76df2f0ca451_press-media-animation-row-wave.json",
},
{
title: "生态合作 / Skills 共建",
description: "适合希望围绕插件、模板、知识工作流和开发者社区共同建设产品生态的伙伴。",
linkText: "访问 DeepAILab",
href: CONTACT_CHANNELS[2].href,
external: true,
lottie:
"/assets/cdn-prod-website-files-com/68a342b7066c56fa60eb3af1/68d28ff8806a1552f46e35ac_sales-inquiries-animation-visual-row.json",
},
] as const
export default function FormSection() {
return (
<section className="section-small bg-neutral">
<div className="w-layout-blockcontainer container-default w-container">
<div data-w-id="37f8537e-c33a-f3ad-764c-d5c8b3ff1b64" style={{"opacity": "0", "filter": "blur(8px)"}} className="inner-container _650px center">
<div className="text-center">
<div className="subtitle"></div>
<div className="mg-top-4x-extra-small">
<h2>
</h2>
</div>
<div className="mg-top-4x-extra-small">
<p>
DAL Code
</p>
</div>
</div>
</div>
<div className="mg-top-regular">
<div data-w-id="37f8537e-c33a-f3ad-764c-d5c8b3ff1b6a" style={{"opacity": "0", "filter": "blur(8px)"}} className="w-layout-grid contact-cards-grid-v1">
{CONTACT_CARDS.map((card) => {
const body = (
<>
<div className="contact-card-v1-content">
<LottiePlayer src={card.lottie} className="contact-card-v1-image" loop autoplay />
<div>
<h3 className="display-4">{card.title}</h3>
<div className="mg-top-5x-extra-small">
<p className="text-paragraph">{card.description}</p>
</div>
</div>
</div>
<div className="contact-card-v1-link-wrapper">
<div className="contact-link-text">{card.linkText}</div>
<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 17 17" fill="none" className="squared-icon">
<path d="M6.25391 3.45312L10.7458 8.01563L6.25391 12.5781" stroke="currentColor" strokeWidth="1.5" strokeLinecap="square">
</path>
</svg>
<div style={{"width": "0%", "height": "100%"}} className="contact-card-link-bg">
</div>
</div>
</>
)
return card.external ? (
<a key={card.title} data-w-id={`contact-card-${card.title}`} href={card.href} className="card contact-card-v1 w-inline-block" target="_blank" rel="noopener noreferrer">
{body}
</a>
) : (
<Link key={card.title} href={card.href} className="card contact-card-v1 w-inline-block">
{body}
</Link>
)
})}
</div>
</div>
</div>
</section>
)
}