pstream is dead; long live pstream taciturnaxolotl.github.io/pstream-ng/
at main 58 lines 1.5 kB view raw
1import classNames from "classnames"; 2 3export function LargeCard(props: { 4 children: React.ReactNode; 5 top?: React.ReactNode; 6}) { 7 return ( 8 <div className="flex flex-col items-center"> 9 {props.top ? ( 10 <div className="inline-block transform translate-y-1/2"> 11 {props.top} 12 </div> 13 ) : null} 14 <div className="w-full rounded-xl bg-largeCard-background bg-opacity-50 max-w-[600px] mx-auto p-[3rem]"> 15 {props.children} 16 </div> 17 </div> 18 ); 19} 20 21export function LargeCardText(props: { 22 title: string; 23 children?: React.ReactNode; 24 icon?: React.ReactNode; 25}) { 26 return ( 27 <div className="flex flex-col items-center text-center mb-8"> 28 <div className="flex flex-col items-center text-center max-w-[320px]"> 29 {props.icon ? ( 30 <div className="text-2xl mb-4 text-largeCard-icon">{props.icon}</div> 31 ) : null} 32 <h2 className="text-xl text-white font-bold">{props.title}</h2> 33 {props.children ? ( 34 <div className="text-type-text mt-4">{props.children}</div> 35 ) : null} 36 </div> 37 </div> 38 ); 39} 40 41export function LargeCardButtons(props: { 42 children: React.ReactNode; 43 splitAlign?: boolean; 44}) { 45 return ( 46 <div className="mt-12"> 47 <div 48 className={classNames("mx-auto", { 49 "flex flex-row-reverse justify-between items-center": 50 props.splitAlign, 51 "flex max-w-xs flex-col-reverse gap-3": !props.splitAlign, 52 })} 53 > 54 {props.children} 55 </div> 56 </div> 57 ); 58}