src/components/Sections/WhyDevlake.tsx (169 lines of code) (raw):

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"> <a href="https://devlake.apache.org/docs/Plugins/jira"> <C.SupImg src={Sup1} /> </a> </C.Sup> <C.Sup title="TAPD"> <a href="https://devlake.apache.org/docs/Plugins/tapd"> <Sup2 className="sm:w-[48px] sm:h-[48px]" /> </a> </C.Sup> <C.Sup title="GitHub"> <a href="https://devlake.apache.org/docs/Plugins/github"> <Sup3 className="sm:w-[48px] sm:h-[48px]" /> </a> </C.Sup> <C.Sup title="GitLab"> <a href="https://devlake.apache.org/docs/Plugins/gitlab"> <Sup4 className="sm:w-[48px] sm:h-[48px]" /> </a> </C.Sup> <C.Sup title="BitBucket"> <a href="https://devlake.apache.org/docs/Plugins/bitbucket"> <Sup5 className="sm:w-[48px] sm:h-[48px]" /> </a> </C.Sup> <C.Sup title="Gitee"> <a href="https://devlake.apache.org/docs/Plugins/gitee"> <Sup6 className="sm:w-[48px] sm:h-[48px]" /> </a> </C.Sup> <C.Sup title="Jenkins"> <a href="https://devlake.apache.org/docs/Plugins/jenkins"> <Sup7 className="sm:w-[48px] sm:h-[48px]" /> </a> </C.Sup> <C.Sup title="GitHub Action"> <a href="https://devlake.apache.org/docs/Plugins/github"> <Sup8 className="sm:w-[48px] sm:h-[48px]" /> </a> </C.Sup> <C.Sup title="GitLab CI"> <a href="https://devlake.apache.org/docs/Plugins/gitlab"> <Sup9 className="sm:w-[48px] sm:h-[48px]" /> </a> </C.Sup> <C.Sup title="Feishu"> <a href="https://devlake.apache.org/docs/Plugins/feishu"> <C.SupImg src={SupA} /> </a> </C.Sup> </div> <div className="text-label18 font-inter text-neutral-500 mt-6 sm:text-label16 sm:mt-4" > Check out all {" "} <C.InlineLink link="https://devlake.apache.org/docs/Overview/SupportedDataSources"> supported data sources </C.InlineLink> </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/Overview/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 DevLake’s data model </C.TextLink> </C.TextDescription> </C.TextSection> </Feature> </div> <C.BreakLine /> <Supports /> </section> ); }