Skip to content

Commit

Permalink
feat: add tech stack
Browse files Browse the repository at this point in the history
  • Loading branch information
0xdavid7 committed Apr 24, 2024
1 parent bbad6de commit 0f3ea9d
Show file tree
Hide file tree
Showing 32 changed files with 950 additions and 40 deletions.
Binary file modified bun.lockb
Binary file not shown.
2 changes: 1 addition & 1 deletion docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const config: Config = {
title: "ZUNI Lab",
tagline:
"Building innovative privacy-preserving solutions for the decentralized world.",
favicon: "img/favicon.ico",
favicon: "img/favicon.svg",

// Set the production url of your site here
url: "https://zuni-lab.github.io",
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"@docusaurus/core": "3.2.1",
"@docusaurus/preset-classic": "3.2.1",
"@mdx-js/react": "^3.0.0",
"classnames": "^2.5.1",
"clsx": "^2.0.0",
"prism-react-renderer": "^2.3.0",
"react": "^18.0.0",
Expand Down
19 changes: 19 additions & 0 deletions src/components/Containter.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { cx } from "../utils/tool";
import styles from "./style.module.css";

export const Container = (props: {
children: React.ReactNode;
className?: string;
}) => {
return (
<div
className={cx(
styles.container,
"font-medium text-2xl mt-4",
props.className
)}
>
{props.children}
</div>
);
};
96 changes: 96 additions & 0 deletions src/components/TechStack.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
import { Container } from "./Containter";
import { AwsSvg } from "./icons/AwsSvg";
import { BSCSvg } from "./icons/BSCSvg";
import { EthereumSvg } from "./icons/EthereumSvg";
import { FlowSvg } from "./icons/FlowSvg";
import { FlutterSvg } from "./icons/FlutterSvg";
import { GoSvg } from "./icons/GoSvg";
import { IconSvg } from "./icons/IconSvg";
import { JSSvg } from "./icons/JSSvg";
import { K8SSvg } from "./icons/K8SSvg";
import { MongoDbSvg } from "./icons/MongoDbSvg";
import { NearSvg } from "./icons/NearSvg";
import { NextJSSvg } from "./icons/NextJSSvg";
import { PolkadotSvg } from "./icons/PolkadotSvg";
import { PostgresSvg } from "./icons/PostgresSvg";
import { RustSvg } from "./icons/RustSvg";
import { SolanaSvg } from "./icons/SolanaSvg";
import { SoliditySvg } from "./icons/SoliditytSvg";

export const TechStack = () => {
return (
<Container className="grid grid-cols-6 gap-x-8 gap-y-16 !py-8">
<div className="h-32 flex items-center justify-center">
<SoliditySvg width="100%" height="132%" />
</div>
<div className="h-32 flex items-center justify-center">
<RustSvg width="100%" height="100%" />
</div>
<div className="h-32 flex items-center justify-center">
<GoSvg width="100%" height="100%" />
</div>

<div className="h-32 flex items-center justify-center">
<JSSvg width="100%" height="100%" />
</div>
<div className="h-32 flex items-center justify-center col-span-2">
<img src="img/circom.png" alt="circom" width="100%" height="100%" />
</div>

<div className="h-32 flex items-center justify-center">
<PostgresSvg width="100%" height="100%" />
</div>

<div className="h-32 flex items-center justify-center">
<MongoDbSvg width="100%" height="180%" />
</div>

<div className="h-32 flex items-center justify-center">
<FlutterSvg width="100%" height="100%" />
</div>

<div className="h-32 flex items-center justify-center">
<NextJSSvg width="100%" height="100%" />
</div>

<div className="h-32 flex items-center justify-center">
<K8SSvg width="100%" height="100%" />
</div>

<div className="h-32 flex items-center justify-center">
<AwsSvg width="100%" height="100%" />
</div>
<div className="my-4 col-span-6 flex items-center justify-center font-semibold text-3xl">
with <span className="text-blue-500 mx-1">shipped</span> project on
</div>

<div className="col-span-6 flex flex-wrap justify-center items-center gap-y-8">
<div className="h-32 w-1/4 flex items-center justify-center">
<EthereumSvg width="100%" height="100%" />
</div>
<div className="h-32 w-1/4 flex items-center justify-center">
<SolanaSvg width="100%" height="100%" />
</div>

<div className="h-32 w-1/4 flex items-center justify-center">
<BSCSvg width="100%" height="100%" />
</div>

<div className="h-32 w-1/4 flex items-center justify-center">
<FlowSvg width="100%" height="100%" />
</div>

<div className="h-32 w-1/4 flex items-center justify-center">
<NearSvg width="100%" height="100%" />
</div>

<div className="h-32 w-1/4 flex items-center justify-center">
<PolkadotSvg width="100%" height="100%" />
</div>
<div className="h-32 w-1/4 flex items-center justify-center">
<IconSvg width="100%" height="100%" />
</div>
</div>
</Container>
);
};
19 changes: 19 additions & 0 deletions src/components/icons/AwsSvg.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
export const AwsSvg = (props) => {
return (
<svg
{...props}
viewBox="0 0 512 512"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M144.287 214.197C144.287 220.497 144.968 225.606 146.16 229.352C147.522 233.098 149.225 237.185 151.609 241.613C152.46 242.975 152.801 244.337 152.801 245.529C152.801 247.232 151.779 248.935 149.566 250.638L138.838 257.79C137.305 258.812 135.772 259.322 134.41 259.322C132.707 259.322 131.004 258.471 129.302 256.938C126.918 254.384 124.874 251.66 123.171 248.935C121.468 246.04 119.766 242.805 117.892 238.888C104.61 254.554 87.9221 262.388 67.8284 262.388C53.5244 262.388 42.1152 258.301 33.7712 250.127C25.4272 241.953 21.17 231.055 21.17 217.432C21.17 202.958 26.2786 191.208 36.6661 182.353C47.0535 173.498 60.8466 169.071 78.3861 169.071C84.1758 169.071 90.1358 169.582 96.4364 170.433C102.737 171.285 109.208 172.647 116.019 174.179V161.749C116.019 148.807 113.295 139.782 108.016 134.503C102.567 129.224 93.3712 126.67 80.2592 126.67C74.2992 126.67 68.1689 127.351 61.8684 128.883C55.5678 130.416 49.4375 132.289 43.4775 134.673C40.7529 135.865 38.7095 136.546 37.5175 136.887C36.3255 137.227 35.4741 137.398 34.7929 137.398C32.4089 137.398 31.2169 135.695 31.2169 132.119V123.775C31.2169 121.05 31.5575 119.007 32.4089 117.815C33.2603 116.623 34.7929 115.431 37.1769 114.239C43.1369 111.174 50.2889 108.619 58.6329 106.576C66.9769 104.362 75.8318 103.341 85.1975 103.341C105.462 103.341 120.276 107.938 129.812 117.134C139.178 126.329 143.946 140.293 143.946 159.024V214.197H144.287ZM75.1506 240.08C80.7701 240.08 86.5598 239.058 92.6901 237.015C98.8204 234.972 104.27 231.225 108.867 226.117C111.592 222.881 113.635 219.305 114.657 215.218C115.679 211.132 116.36 206.193 116.36 200.403V193.251C111.422 192.059 106.143 191.038 100.694 190.357C95.2444 189.675 89.9655 189.335 84.6867 189.335C73.2775 189.335 64.9335 191.549 59.3141 196.146C53.6946 200.744 50.9701 207.215 50.9701 215.729C50.9701 223.733 53.0135 229.693 57.2706 233.78C61.3575 238.037 67.3175 240.08 75.1506 240.08ZM211.89 258.471C208.825 258.471 206.782 257.96 205.419 256.768C204.057 255.746 202.865 253.362 201.843 250.127L161.826 118.496C160.804 115.09 160.294 112.877 160.294 111.685C160.294 108.96 161.656 107.427 164.38 107.427H181.068C184.304 107.427 186.518 107.938 187.71 109.13C189.072 110.152 190.094 112.536 191.115 115.771L219.723 228.501L246.288 115.771C247.139 112.366 248.161 110.152 249.523 109.13C250.886 108.109 253.27 107.427 256.335 107.427H269.958C273.193 107.427 275.407 107.938 276.769 109.13C278.131 110.152 279.323 112.536 280.005 115.771L306.91 229.863L336.369 115.771C337.391 112.366 338.583 110.152 339.775 109.13C341.137 108.109 343.351 107.427 346.416 107.427H362.253C364.977 107.427 366.51 108.79 366.51 111.685C366.51 112.536 366.339 113.387 366.169 114.409C365.999 115.431 365.658 116.793 364.977 118.666L323.938 250.297C322.917 253.703 321.725 255.917 320.362 256.938C319 257.96 316.786 258.641 313.891 258.641H299.247C296.011 258.641 293.798 258.13 292.435 256.938C291.073 255.746 289.881 253.533 289.2 250.127L262.806 140.293L236.582 249.957C235.73 253.362 234.708 255.576 233.346 256.768C231.984 257.96 229.6 258.471 226.535 258.471H211.89ZM430.707 263.069C421.853 263.069 412.998 262.047 404.483 260.004C395.969 257.96 389.328 255.746 384.901 253.192C382.176 251.66 380.303 249.957 379.622 248.424C378.941 246.892 378.6 245.189 378.6 243.656V234.972C378.6 231.396 379.962 229.693 382.517 229.693C383.538 229.693 384.56 229.863 385.582 230.204C386.603 230.544 388.136 231.225 389.839 231.906C395.629 234.461 401.929 236.504 408.57 237.866C415.382 239.229 422.023 239.91 428.834 239.91C439.562 239.91 447.906 238.037 453.696 234.29C459.486 230.544 462.551 225.095 462.551 218.113C462.551 213.345 461.018 209.429 457.953 206.193C454.888 202.958 449.098 200.063 440.754 197.338L416.063 189.675C403.632 185.759 394.437 179.969 388.817 172.306C383.198 164.814 380.303 156.47 380.303 147.615C380.303 140.463 381.835 134.162 384.901 128.713C387.966 123.264 392.053 118.496 397.161 114.75C402.27 110.833 408.059 107.938 414.871 105.895C421.682 103.851 428.834 103 436.327 103C440.073 103 443.99 103.17 447.736 103.681C451.653 104.192 455.229 104.873 458.805 105.554C462.21 106.406 465.446 107.257 468.511 108.279C471.576 109.301 473.96 110.322 475.663 111.344C478.047 112.706 479.75 114.069 480.771 115.601C481.793 116.963 482.304 118.837 482.304 121.221V129.224C482.304 132.8 480.942 134.673 478.388 134.673C477.025 134.673 474.811 133.992 471.917 132.63C462.21 128.202 451.312 125.989 439.222 125.989C429.515 125.989 421.853 127.521 416.574 130.757C411.295 133.992 408.57 138.93 408.57 145.912C408.57 150.68 410.273 154.767 413.679 158.002C417.085 161.238 423.385 164.473 432.41 167.368L456.591 175.031C468.851 178.947 477.706 184.397 482.985 191.378C488.264 198.36 490.818 206.364 490.818 215.218C490.818 222.541 489.286 229.182 486.391 234.972C483.326 240.761 479.239 245.87 473.96 249.957C468.681 254.214 462.381 257.279 455.058 259.493C447.395 261.877 439.392 263.069 430.707 263.069Z"
fill="#252F3E"
/>
<path
d="M462.891 345.828C406.867 387.207 325.471 409.174 255.483 409.174C157.399 409.174 69.0203 372.903 2.26824 312.622C-3.01062 307.854 1.75738 301.383 8.05795 305.129C80.2591 347.02 169.319 372.392 261.443 372.392C323.598 372.392 391.882 359.45 454.718 332.886C464.083 328.629 472.087 339.016 462.891 345.828ZM486.221 319.263C479.069 310.068 438.881 314.836 420.66 317.049C415.211 317.73 414.36 312.962 419.298 309.386C451.312 286.909 503.93 293.38 510.061 300.872C516.191 308.535 508.358 361.153 478.387 386.356C473.79 390.272 469.362 388.229 471.406 383.12C478.217 366.262 493.373 328.288 486.221 319.263Z"
fill="#FF9900"
/>
</svg>
);
};
8 changes: 8 additions & 0 deletions src/components/icons/BSCSvg.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export const BSCSvg = (props) => {
return (
<svg {...props} viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.4796 24.8122V27.8007L15.8742 29.3333L13.3455 27.8007V24.8122L15.8742 26.3448L18.4796 24.8122ZM4.5332 14.4674L7.06194 16V21.1341L11.4298 23.7394V26.7279L4.5332 22.6666V14.4674ZM27.2152 14.4674V22.6666L20.242 26.7279V23.7394L24.6098 21.1341V16L27.2152 14.4674ZM20.242 10.4061L22.8474 11.9387V14.9272L18.4796 17.5325V22.7433L15.9508 24.2758L13.4221 22.7433V17.5325L8.90102 14.9272V11.9387L11.5064 10.4061L15.8742 13.0115L20.242 10.4061ZM8.90102 17.0728L11.4298 18.6053V21.5938L8.90102 20.0613V17.0728ZM22.8474 17.0728V20.0613L20.3186 21.5938V18.6053L22.8474 17.0728ZM7.06194 7.80073L9.6673 9.33329L7.06194 10.8659V13.8544L4.5332 12.3218V9.33329L7.06194 7.80073ZM24.6865 7.80073L27.2918 9.33329V12.3218L24.6865 13.8544V10.8659L22.1577 9.33329L24.6865 7.80073ZM15.8742 7.80073L18.4796 9.33329L15.8742 10.8659L13.3455 9.33329L15.8742 7.80073ZM15.8742 2.66663L22.8474 6.72793L20.3186 8.2605L15.9508 5.65513L11.5064 8.2605L8.97765 6.72793L15.8742 2.66663Z" fill="#F3BA2F"/>
</svg>

);
};
36 changes: 36 additions & 0 deletions src/components/icons/EthereumSvg.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
export const EthereumSvg = (props) => {
return (
<svg
{...props}
viewBox="0 0 32 32"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<circle cx="16" cy="16" r="16" fill="#F6F6F6" />
<path
d="M15.9989 5.71423L15.8574 6.18303V19.7853L15.9989 19.923L22.4723 16.1908L15.9989 5.71423Z"
fill="#343434"
/>
<path
d="M15.9974 5.71423L9.52393 16.1908L15.9974 19.923V13.3208V5.71423Z"
fill="#8C8C8C"
/>
<path
d="M15.9992 21.1183L15.9194 21.2132V26.0585L15.9992 26.2856L22.4765 17.3881L15.9992 21.1183Z"
fill="#3C3C3B"
/>
<path
d="M15.9974 26.2856V21.1183L9.52393 17.3881L15.9974 26.2856Z"
fill="#8C8C8C"
/>
<path
d="M15.9966 19.9229L22.4699 16.1907L15.9966 13.3207V19.9229Z"
fill="#141414"
/>
<path
d="M9.52393 16.1907L15.9974 19.9229V13.3207L9.52393 16.1907Z"
fill="#393939"
/>
</svg>
);
};
28 changes: 28 additions & 0 deletions src/components/icons/FlowSvg.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
export const FlowSvg = (props) => {
return (
<svg
{...props}
viewBox="0 0 32 32"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16.1073 29.3333C23.4711 29.3333 29.4406 23.3638 29.4406 16C29.4406 8.63616 23.4711 2.66663 16.1073 2.66663C8.74346 2.66663 2.77393 8.63616 2.77393 16C2.77393 23.3638 8.74346 29.3333 16.1073 29.3333Z"
fill="#00EF8B"
/>
<path d="M21.9577 13.9147H18.1924V17.68H21.9577V13.9147Z" fill="white" />
<path
d="M14.4302 19.0907C14.4302 19.8712 13.7974 20.504 13.0168 20.504C12.2363 20.504 11.6035 19.8712 11.6035 19.0907C11.6035 18.3101 12.2363 17.6773 13.0168 17.6773H14.4302V13.9147H13.0168C10.1582 13.9147 7.84082 16.232 7.84082 19.0907C7.84082 21.9493 10.1582 24.2667 13.0168 24.2667C15.8754 24.2667 18.1928 21.9493 18.1928 19.0907V17.6773H14.4302V19.0907Z"
fill="white"
/>
<path
d="M19.6062 12.0319H23.8408V8.2666H19.6062C16.7488 8.26954 14.4331 10.5852 14.4302 13.4426V13.9146H18.1928V13.4426C18.1943 12.6631 18.8267 12.0319 19.6062 12.0319Z"
fill="white"
/>
<path
d="M14.4302 17.6773H18.1928V13.9147H14.4302V17.6773Z"
fill="#16FF99"
/>
</svg>
);
};
50 changes: 50 additions & 0 deletions src/components/icons/FlutterSvg.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
export const FlutterSvg = (props) => {
return (
<svg
{...props}
viewBox="0 0 512 512"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<g clip-path="url(#clip0_504_784)">
<path
d="M304.964 0L50 254.964L128.916 333.88L462.798 0H304.964Z"
fill="#47C5FB"
/>
<path
d="M303.188 235.123L166.673 371.638L245.886 452.034L324.656 373.264L462.798 235.123H303.188Z"
fill="#47C5FB"
/>
<path
d="M245.886 452.035L305.852 512H462.797L324.655 373.264L245.886 452.035Z"
fill="#00569E"
/>
<path
d="M165.782 372.526L244.7 293.608L324.652 373.265L245.883 452.035L165.782 372.526Z"
fill="#00B5F8"
/>
<path
d="M245.886 452.035L311.477 430.27L317.992 379.927L245.886 452.035Z"
fill="url(#paint0_linear_504_784)"
fill-opacity="0.8"
/>
</g>
<defs>
<linearGradient
id="paint0_linear_504_784"
x1="248.736"
y1="399.391"
x2="300.613"
y2="418.085"
gradientUnits="userSpaceOnUse"
>
<stop />
<stop offset="1" stop-opacity="0" />
</linearGradient>
<clipPath id="clip0_504_784">
<rect width="512" height="512" fill="white" />
</clipPath>
</defs>
</svg>
);
};
Loading

0 comments on commit 0f3ea9d

Please sign in to comment.