blob: 8840a7d598f61d97dcfd3098d2776a54e88e8c81 [file]
import React from "react";
import * as C from "./Components";
import WAD1 from "@site/static/img/Homepage/WAD-1.png";
import WAD2 from "@site/static/img/Homepage/NewWAD-2.png";
import WAD3 from "@site/static/img/Homepage/WAD-3.png";
import Sup1 from "@site/static/img/Homepage/sup-1-jira.png";
import Sup2 from "@site/static/img/Homepage/sup-2-tapd.svg";
import Sup3 from "@site/static/img/Homepage/sup-3-github.svg";
import Sup4 from "@site/static/img/Homepage/sup-4-gitlab.svg";
import Sup5 from "@site/static/img/Homepage/sup-5-bitbucket.svg";
import Sup6 from "@site/static/img/Homepage/sup-6-gitee.svg";
import Sup7 from "@site/static/img/Homepage/sup-7-jenkins.svg";
import Sup8 from "@site/static/img/Homepage/sup-8-ghaction.svg";
import Sup9 from "@site/static/img/Homepage/sup-9-glci.svg";
import SupA from "@site/static/img/Homepage/sup-A-feishu.png";
function Feature({ className, children }: { className?: string, children: React.ReactNode }) {
return (
<div className={`flex w-full sm:justify-between mobile:justify-between items-center
h-[488px] mobile:h-[auto] sm:h-[auto] relative
space-x-5
flex-col ${className}`}>
{children}
</div>
);
}
function Supports() {
return (
<div className=" flex flex-col items-center
mt-[48px] mb-[72px]
sm:mt-[36px] sm:mb-[60px]
mobile:mt-4 mobile:mb-6
">
<C.H3Title>Supported Data Sources</C.H3Title>
<div className="grid grid-cols-5 gap-x-[24px] gap-y-[16px]
sm:gap-x-1">
<C.Sup title="Jira"><C.SupImg src={Sup1} /></C.Sup>
<C.Sup title="TAPD"><Sup2 className="sm:w-[48px] sm:h-[48px]" /></C.Sup>
<C.Sup title="GitHub"><Sup3 className="sm:w-[48px] sm:h-[48px]" /></C.Sup>
<C.Sup title="GitLab"><Sup4 className="sm:w-[48px] sm:h-[48px]" /></C.Sup>
<C.Sup title="BitBucket"><Sup5 className="sm:w-[48px] sm:h-[48px]" /></C.Sup>
<C.Sup title="Gitee"><Sup6 className="sm:w-[48px] sm:h-[48px]" /></C.Sup>
<C.Sup title="Jenkins"><Sup7 className="sm:w-[48px] sm:h-[48px]" /></C.Sup>
<C.Sup title="GitHub Action"><Sup8 className="sm:w-[48px] sm:h-[48px]" /></C.Sup>
<C.Sup title="GitLab CI"><Sup9 className="sm:w-[48px] sm:h-[48px]" /></C.Sup>
<C.Sup title="Feishu"><C.SupImg src={SupA} /></C.Sup>
</div>
<div className="text-label18 font-inter text-neutral-500 mt-6
sm:text-label16 sm:mt-4">
<C.InlineLink link="https://devlake.apache.org/docs/Overview/Roadmap">More data sources</C.InlineLink> coming soon...
</div>
</div>
)
}
export function WhyDevlake() {
return (
<section className="
flex flex-col flex-nowrap
py-5 items-stretch
mt-[80px] mobile:mt-[0px] sm:mt-[70px]
sm:py-[0px]">
<span
className="section-title text-center"
>
Why Apache DevLake
</span>
<div
className="
flex flex-row mobile:flex-col sm:flex-col
justify-center
mb-[72px]
sm:px-[0px] sm:space-y-[36px] sm:mb-[36px]
mobile:mb-4 mobile:space-y-4
">
<Feature>
<C.SectionImg src={WAD1} />
<C.TextSection>
<C.TextTitle>Defragment Your Data Silos</C.TextTitle>
<C.TextDescription>
Your Dev Data lives in many silos and tools. DevLake brings them all together to give you a complete view of your Software Development Life Cycle (SDLC).
<br />
<C.TextLink link="https://devlake.apache.org/docs/SupportedDataSources">Explore supported data sources</C.TextLink>
</C.TextDescription>
</C.TextSection>
</Feature>
<Feature>
<C.SectionImg src={WAD2} />
<C.TextSection>
<C.TextTitle>Out-of-the-Box Analysis</C.TextTitle>
<C.TextDescription>
From DORA to scrum retros, DevLake implements metrics effortlessly with prebuilt dashboards supporting common frameworks and goals.
<br />
<C.TextLink link="https://devlake.apache.org/livedemo/EngineeringLeads/DORA">See Live Demo</C.TextLink>
</C.TextDescription>
</C.TextSection>
</Feature>
<Feature>
<C.SectionImg src={WAD3} />
<C.TextSection>
<C.TextTitle>Flexible. Extensible. Adaptable.</C.TextTitle>
{/* FIXME: A weird margin right happend here, didn't find solution yet */}
<C.TextDescription>
DevLake fits teams of all shapes and sizes, and can be readily extended to support new data sources, metrics, and dashboards, with a flexible framework for data collection and transformation.
<br className="mobile:hidden" />
<C.TextLink link="https://devlake.apache.org/docs/DataModels/DevLakeDomainLayerSchema">Learn about DevLakes data model</C.TextLink>
</C.TextDescription>
</C.TextSection>
</Feature>
</div>
<C.BreakLine />
<Supports />
</section>)
}