|
| 1 | +import type { SVGProps } from "react" |
| 2 | + |
| 3 | +import AstroLogomark from "@/registry/default/icons/logomark_astro" |
| 4 | +import BunLogomark from "@/registry/default/icons/logomark_bun" |
| 5 | +import ReactLogomark from "@/registry/default/icons/logomark_react" |
| 6 | +import StorybookLogomark from "@/registry/default/icons/logomark_storybook" |
| 7 | +import SupabaseLogomark from "@/registry/default/icons/logomark_supabase" |
| 8 | +import TurborepoLogomark from "@/registry/default/icons/logomark_turborepo" |
| 9 | +import VercelLogomark from "@/registry/default/icons/logomark_vercel" |
| 10 | + |
| 11 | +export default function SupabaseBlock() { |
| 12 | + return ( |
| 13 | + <div className="w-full p-3 md:w-1/2 min-w-[400px] md:max-w-[400px]"> |
| 14 | + <div className="to-success-7 h-full overflow-hidden shadow-[inset_0_0_20px_var(--success-a3)] bg-gradient-to-b rounded-3xl from-success-1 via-[var(--success-1)] p-8 ring-[1px] ring-inset ring-success-a3"> |
| 15 | + <div className="bottom-0 top-auto z-[1] mb-10 mt-auto flex size-auto flex-col gap-0 p-2"> |
| 16 | + <h3 className="gradientMask-to-t-10 from-gray-12 via-gray-12 to-gray-1 max-w-xs text-balance bg-gradient-to-t bg-clip-text pb-2 text-3xl font-semibold leading-10 tracking-tighter text-transparent"> |
| 17 | + Astro SSR Turborepo |
| 18 | + </h3> |
| 19 | + <p className="text-shadow-[0_0_20px_var(--success-a9)] bg-gradient-to-b from-[var(--success-a4)] to-[var(--success-a11)] bg-clip-text pl-1 font-mono text-[.625rem] uppercase tracking-[0.275rem] text-transparent"> |
| 20 | + Powered by Supabase |
| 21 | + </p> |
| 22 | + </div> |
| 23 | + <div className="relative"> |
| 24 | + <GithubCat className="-translate-y-12 absolute blur pointer-events-none z-[1] select-none w-80 m-auto inset-0" /> |
| 25 | + <GithubCat className="-translate-y-12 absolute blur pointer-events-none z-[1] select-none w-80 m-auto inset-0" /> |
| 26 | + <GithubCat className="-translate-y-12 pointer-events-none z-[1] select-none w-80 m-auto inset-0" /> |
| 27 | + <GlowOrb className="gradientMask-to-t pointer-events-none absolute -left-1/4 -top-1/4 z-0 m-auto scale-[2] select-none opacity-25 mix-blend-color-dodge brightness-100 contrast-50 dark:opacity-100 dark:brightness-100" /> |
| 28 | + <TurborepoLogomark className="pointer-events-none absolute right-0 top-1/3 my-auto h-12 w-auto select-none blur-sm" /> |
| 29 | + <SupabaseLogomark className="pointer-events-none absolute left-4 top-1/3 z-[2] mix-blend-hard-light my-auto h-20 blur w-auto -rotate-12 select-none" /> |
| 30 | + <SupabaseLogomark className="pointer-events-none absolute left-4 top-1/3 z-[2] my-auto h-20 w-auto -rotate-12 select-none" /> |
| 31 | + <VercelLogomark className="pointer-events-none absolute bottom-12 left-8 m-0 h-8 w-auto scale-x-150 scale-y-50 select-none blur-[2px]" /> |
| 32 | + <StorybookLogomark className="pointer-events-none absolute right-[calc(50%-30%)] top-1 m-0 h-4 w-auto rotate-6 scale-x-125 scale-y-75 select-none blur-[1px]" /> |
| 33 | + <BunLogomark className="pointer-events-none absolute bottom-20 right-12 z-[-1] mx-auto h-8 w-auto scale-y-50 select-none blur-[2px]" /> |
| 34 | + <AstroLogomark className="pointer-events-none absolute right-28 top-[65%] mix-blend-hard-light z-[2] mx-auto h-20 w-auto rotate-45 -skew-x-12 -skew-y-[45deg] scale-y-50 select-none opacity-50 blur-md" /> |
| 35 | + <AstroLogomark className="pointer-events-none absolute mix-blend-hard-light right-28 top-[65%] z-[2] mx-auto h-20 w-auto rotate-45 -skew-x-12 -skew-y-[45deg] scale-y-50 select-none opacity-50 blur-md" /> |
| 36 | + <AstroLogomark className="pointer-events-none absolute right-28 mix-blend-hard-light top-[70%] z-[2] mx-auto h-20 w-auto rotate-45 scale-y-150 select-none opacity-50 blur-md" /> |
| 37 | + <AstroLogomark className="pointer-events-none absolute right-28 top-[65%] z-[2] mx-auto h-20 w-auto rotate-45 -skew-x-12 -skew-y-[45deg] scale-y-50 select-none opacity-50 blur-md" /> |
| 38 | + <ReactLogomark className="pointer-events-none absolute left-0 top-0 m-0 h-12 w-auto select-none blur-sm" /> |
| 39 | + </div> |
| 40 | + <div className="z-[1] mb-0 mt-8 flex grow flex-col items-stretch justify-stretch gap-4 p-2"> |
| 41 | + <h3 className="bg-gradient-to-t from-gray-12 via-gray-12 to-ghost-aa7 h-full max-w-[75%] text-balance bg-clip-text pb-1 text-xl font-semibold leading-6 tracking-tighter text-transparent"> |
| 42 | + Low barrier, high tech stack great for new and experienced |
| 43 | + developers. |
| 44 | + </h3> |
| 45 | + </div> |
| 46 | + <div className="bottom-0 top-auto z-[3] mb-0 mt-auto flex size-auto w-full flex-row gap-4 self-stretch p-2"> |
| 47 | + <a |
| 48 | + href="https://github.com/prodkt/app" |
| 49 | + target="_blank" |
| 50 | + className="text-nowrap bg-success-4 text-success-11 hover:text-gray-12 hover:bg-success-5 shadow-[inset_0_0_6px_var(--success-4)] ring-1 ring-success-a2 hover:ring-success-a2 p-1.5 px-2.5 text-xs font-semibold tracking-tight rounded-md transition-colors no-underline duration-100 ease-in" |
| 51 | + rel="noreferrer" |
| 52 | + > |
| 53 | + View Project on GitHub |
| 54 | + </a> |
| 55 | + </div> |
| 56 | + </div> |
| 57 | + </div> |
| 58 | + ) |
| 59 | +} |
| 60 | + |
| 61 | +export const GithubCat = (props: SVGProps<SVGSVGElement>) => ( |
| 62 | + <svg |
| 63 | + height="253" |
| 64 | + width="253" |
| 65 | + fill="none" |
| 66 | + {...props} |
| 67 | + viewBox="0 0 253 253" |
| 68 | + xmlns="http://www.w3.org/2000/svg" |
| 69 | + > |
| 70 | + <title>Github</title> |
| 71 | + <defs> |
| 72 | + <radialGradient |
| 73 | + id="Gradient" |
| 74 | + cx="0.5" |
| 75 | + cy="0.5" |
| 76 | + r="0.5" |
| 77 | + fx="0.25" |
| 78 | + fy="0.25" |
| 79 | + > |
| 80 | + <stop offset="50%" stop-color="var(--success-9)" /> |
| 81 | + <stop offset="100%" stop-color="var(--ghost-a1)" /> |
| 82 | + </radialGradient> |
| 83 | + </defs> |
| 84 | + <path |
| 85 | + strokeWidth={1.5} |
| 86 | + d="M57.7383 190.628C62.6851 197.868 77.6982 213.323 98.1769 217.218M99.7145 251.917C86.8159 249.792 1.08331 221.888 1.08331 127.661C1.08331 39.5021 76.3571 1.08337 126.51 1.08337C176.662 1.08337 251.917 39.5021 251.917 127.661C251.917 221.888 166.184 249.792 153.285 251.917C153.285 251.917 150.664 209.057 152.194 201.711C153.723 194.367 148.513 182.546 148.513 182.546C160.691 177.99 179.229 171.458 185.447 153.934C190.272 140.336 193.307 120.59 179.812 102.03C179.812 102.03 183.336 72.0453 176.662 70.8838C169.988 69.7223 150.327 82.7537 150.327 82.7537C144.6 81.1303 131.821 78.0235 126.523 78.5832C121.222 78.0235 108.4 81.1303 102.673 82.7537C102.673 82.7537 83.0116 69.7223 76.3378 70.8838C69.664 72.0453 73.1875 102.03 73.1875 102.03C59.6925 120.59 62.7276 140.336 67.5529 153.934C73.7717 171.458 92.3094 177.99 104.487 182.546C104.487 182.546 99.2775 194.367 100.806 201.711C102.336 209.057 99.7145 251.917 99.7145 251.917Z" |
| 87 | + stroke="url(#Gradient)" |
| 88 | + stroke-linecap="round" |
| 89 | + stroke-linejoin="round" |
| 90 | + /> |
| 91 | + </svg> |
| 92 | +) |
| 93 | + |
| 94 | +export const GlowOrb = (props: SVGProps<SVGSVGElement>) => ( |
| 95 | + <svg |
| 96 | + height="534" |
| 97 | + width="615" |
| 98 | + viewBox="0 0 615 534" |
| 99 | + {...props} |
| 100 | + xmlns="http://www.w3.org/2000/svg" |
| 101 | + > |
| 102 | + <g filter="url(#prodktAbout-filter0_f_4439_9232)"> |
| 103 | + <path |
| 104 | + d="M509.724 234.23C509.724 341.399 419.347 428.276 307.862 428.276C196.377 428.276 106 341.399 106 234.23C106 170.438 113.12 191.813 194.23 161.544C228.804 148.64 284.057 151.218 327.037 102.605C348.608 78.2061 407.621 61.3911 442.436 79.8154C481.096 100.274 509.724 177.842 509.724 234.23Z" |
| 105 | + fill="var(--gray-a12)" |
| 106 | + /> |
| 107 | + </g> |
| 108 | + <g opacity="0.7" filter="url(#prodktAbout-filter1_f_4439_9232)"> |
| 109 | + <path |
| 110 | + d="M509.723 234.23C509.723 341.399 419.347 428.277 307.862 428.277C196.377 428.277 106 341.399 106 234.23C106 170.439 137.188 171.165 218.298 140.894C252.874 127.99 267.661 97.338 312.784 97.338C365.612 97.338 407.621 61.3916 442.435 79.8159C481.095 100.274 509.723 177.842 509.723 234.23Z" |
| 111 | + fill="var(--gray-a12)" |
| 112 | + /> |
| 113 | + </g> |
| 114 | + <g filter="url(#prodktAbout-filter2_f_4439_9232)"> |
| 115 | + <path |
| 116 | + d="M509.723 234.23C509.723 341.399 419.347 428.276 307.862 428.276C196.377 428.276 106 341.399 106 234.23C106 170.438 105.383 169.443 186.493 139.173C221.068 126.27 281.053 105.617 326.178 105.617C379.004 105.617 408.697 106.552 443.511 124.976C482.171 145.435 509.723 177.842 509.723 234.23Z" |
| 117 | + fill="url(#prodktAbout-paint0_linear_4439_9232)" |
| 118 | + /> |
| 119 | + </g> |
| 120 | + <g filter="url(#prodktAbout-filter3_f_4439_9232)"> |
| 121 | + <path |
| 122 | + d="M437.786 301.582C437.786 378.545 372.882 440.937 292.817 440.937C212.754 440.937 147.85 378.545 147.85 301.582C147.85 224.617 212.754 162.225 292.817 162.225C336.805 162.225 395.062 166.167 421.648 195.9C443.455 220.287 437.786 266.9 437.786 301.582Z" |
| 123 | + fill="var(--gray-1" |
| 124 | + /> |
| 125 | + </g> |
| 126 | + <defs> |
| 127 | + <filter |
| 128 | + height="388.112" |
| 129 | + id="prodktAbout-filter0_f_4439_9232" |
| 130 | + width="435.558" |
| 131 | + x="90.0829" |
| 132 | + y="56.0824" |
| 133 | + filterUnits="userSpaceOnUse" |
| 134 | + colorInterpolationFilters="sRGB" |
| 135 | + > |
| 136 | + <feFlood result="BackgroundImageFix" floodOpacity="0" /> |
| 137 | + <feBlend result="shape" in="SourceGraphic" in2="BackgroundImageFix" /> |
| 138 | + <feGaussianBlur |
| 139 | + result="effect1_foregroundBlur_4439_9232" |
| 140 | + stdDeviation="7.95881" |
| 141 | + /> |
| 142 | + </filter> |
| 143 | + <filter |
| 144 | + height="481.056" |
| 145 | + id="prodktAbout-filter1_f_4439_9232" |
| 146 | + width="531.064" |
| 147 | + x="42.3295" |
| 148 | + y="10.891" |
| 149 | + filterUnits="userSpaceOnUse" |
| 150 | + colorInterpolationFilters="sRGB" |
| 151 | + > |
| 152 | + <feFlood result="BackgroundImageFix" floodOpacity="0" /> |
| 153 | + <feBlend result="shape" in="SourceGraphic" in2="BackgroundImageFix" /> |
| 154 | + <feGaussianBlur |
| 155 | + result="effect1_foregroundBlur_4439_9232" |
| 156 | + stdDeviation="31.8352" |
| 157 | + /> |
| 158 | + </filter> |
| 159 | + <filter |
| 160 | + height="532.772" |
| 161 | + id="prodktAbout-filter2_f_4439_9232" |
| 162 | + width="613.836" |
| 163 | + x="0.943436" |
| 164 | + y="0.560623" |
| 165 | + filterUnits="userSpaceOnUse" |
| 166 | + colorInterpolationFilters="sRGB" |
| 167 | + > |
| 168 | + <feFlood result="BackgroundImageFix" floodOpacity="0" /> |
| 169 | + <feBlend result="shape" in="SourceGraphic" in2="BackgroundImageFix" /> |
| 170 | + <feGaussianBlur |
| 171 | + result="effect1_foregroundBlur_4439_9232" |
| 172 | + stdDeviation="52.5283" |
| 173 | + /> |
| 174 | + </filter> |
| 175 | + <filter |
| 176 | + height="437.889" |
| 177 | + id="prodktAbout-filter3_f_4439_9232" |
| 178 | + width="449.777" |
| 179 | + x="68.2611" |
| 180 | + y="82.6361" |
| 181 | + filterUnits="userSpaceOnUse" |
| 182 | + colorInterpolationFilters="sRGB" |
| 183 | + > |
| 184 | + <feFlood result="BackgroundImageFix" floodOpacity="0" /> |
| 185 | + <feBlend result="shape" in="SourceGraphic" in2="BackgroundImageFix" /> |
| 186 | + <feGaussianBlur |
| 187 | + result="effect1_foregroundBlur_4439_9232" |
| 188 | + stdDeviation="39.7943" |
| 189 | + /> |
| 190 | + </filter> |
| 191 | + <linearGradient |
| 192 | + id="prodktAbout-paint0_linear_4439_9232" |
| 193 | + gradientUnits="userSpaceOnUse" |
| 194 | + x1="307.809" |
| 195 | + x2="311.699" |
| 196 | + y1="74.5613" |
| 197 | + y2="212.326" |
| 198 | + > |
| 199 | + <stop stopColor="var(--gray-a1)" /> |
| 200 | + <stop offset="0.24" stopColor="var(--gray-a1)" /> |
| 201 | + <stop offset="0.734" stopColor="var(--gray-a4)" /> |
| 202 | + <stop offset="1" stopColor="var(--gray-a2)" /> |
| 203 | + </linearGradient> |
| 204 | + </defs> |
| 205 | + </svg> |
| 206 | +) |
0 commit comments