-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b5d1bd5
commit 421b5a7
Showing
20 changed files
with
1,014 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
import clsx from 'clsx' | ||
|
||
export function BackgroundImage({ | ||
className, | ||
position = 'left', | ||
}: { | ||
className?: string | ||
position?: 'left' | 'right' | ||
}) { | ||
return ( | ||
<div | ||
className={clsx( | ||
'bg-primary-50 absolute inset-0 overflow-hidden', | ||
className, | ||
)} | ||
> | ||
<svg | ||
className={clsx( | ||
'absolute aspect-square h-full opacity-50', | ||
position === 'right' ? 'left-[85%]' : 'right-[85%]', | ||
)} | ||
viewBox="0 0 117 117" | ||
fill="none" | ||
xmlns="http://www.w3.org/2000/svg" | ||
> | ||
<path | ||
fillRule="evenodd" | ||
clipRule="evenodd" | ||
d="M58.5 0H43.875V14.2866L29.25 14.2866L29.25 29.25H14.625L14.625 44.0802H0V58.7052V73.3302H14.625L14.625 87.75H29.25L29.25 87.8076L29.25 102.433H44.287V117H58.9119H58.912H73.5369V102.433H87.75V87.8076V87.75H102.375V73.125H117V58.5V43.875H102.375V29.25H87.75V14.2866L73.125 14.2866V0H58.5Z" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="29.662" | ||
y="102.375" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.86" | ||
x="14.625" | ||
y="87.75" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.86" | ||
x="14.625" | ||
y="14.625" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.86" | ||
x="87.75" | ||
y="87.75" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="73.537" | ||
y="102.375" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="29.25" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="73.125" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="14.625" | ||
y="29.4553" | ||
width="14.625" | ||
height="14.625" | ||
transform="rotate(90 14.625 29.4553)" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="14.625" | ||
y="73.125" | ||
width="14.625" | ||
height="14.625" | ||
transform="rotate(90 14.625 73.125)" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="117" | ||
y="29.25" | ||
width="14.625" | ||
height="14.625" | ||
transform="rotate(90 117 29.25)" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="117" | ||
y="73.125" | ||
width="14.625" | ||
height="14.625" | ||
transform="rotate(90 117 73.125)" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.86" | ||
x="87.75" | ||
y="14.625" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
</svg> | ||
<div className="absolute inset-x-0 top-0 h-40 bg-gradient-to-b from-white" /> | ||
<div className="absolute inset-x-0 bottom-0 h-40 bg-gradient-to-t from-white" /> | ||
</div> | ||
) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
import clsx from 'clsx' | ||
import Link from 'next/link' | ||
|
||
type ButtonProps = | ||
| React.ComponentPropsWithoutRef<typeof Link> | ||
| (React.ComponentPropsWithoutRef<'button'> & { href?: undefined }) | ||
|
||
export function Button({ className, children, ...props }: ButtonProps) { | ||
className = clsx( | ||
'inline-flex justify-center group bg-primary-600 py-3 px-5 text-base font-semibold text-white hover:bg-primary-500 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500 active:text-white/70 -translate-x-6', | ||
className, | ||
) | ||
|
||
return typeof props.href === 'undefined' ? ( | ||
<div className="relative"> | ||
<button className={className}> | ||
<ButtonLeft className="text-primary-600 group-hover:text-primary-500 absolute left-px top-0 h-full -translate-x-full " /> | ||
{children} | ||
<ButtonLeft className="text-primary-600 group-hover:text-primary-500 absolute right-px top-0 h-full translate-x-full rotate-180" /> | ||
</button> | ||
</div> | ||
) : ( | ||
<div className="relative"> | ||
<Link href={props.href} className={className}> | ||
<ButtonLeft className="text-primary-600 group-hover:text-primary-500 absolute left-px top-0 h-full -translate-x-full" /> | ||
{children} | ||
<ButtonLeft className="text-primary-600 group-hover:text-primary-500 absolute right-px top-0 h-full translate-x-full rotate-180" /> | ||
</Link> | ||
</div> | ||
) | ||
} | ||
|
||
function ButtonLeft(props: React.ComponentPropsWithoutRef<'svg'>) { | ||
return ( | ||
<svg | ||
viewBox="0 0 61 117" | ||
fill="none" | ||
xmlns="http://www.w3.org/2000/svg" | ||
{...props} | ||
> | ||
<mask | ||
id="mask0_405_89" | ||
style={{ maskType: 'alpha' }} | ||
maskUnits="userSpaceOnUse" | ||
x="0" | ||
y="0" | ||
width="61" | ||
height="117" | ||
> | ||
<rect width="61" height="117" fill="#D9D9D9" /> | ||
</mask> | ||
<g mask="url(#mask0_405_89)"> | ||
<path | ||
fillRule="evenodd" | ||
clipRule="evenodd" | ||
d="M57.5 0H42.875V14.2866L28.25 14.2866L28.25 29.25H13.625L13.625 44.0802H-1V58.7052V73.3302H13.625L13.625 87.75H28.25L28.25 87.8076L28.25 102.433H43.287V117H57.9119H57.912H72.5369V102.433H86.75V87.8076V87.75H101.375V73.125H116V58.5V43.875H101.375V29.25H86.75V14.2866L72.125 14.2866V0H57.5Z" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="28.662" | ||
y="102.375" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.86" | ||
x="13.625" | ||
y="87.75" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.86" | ||
x="13.625" | ||
y="14.625" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="28.25" | ||
width="14.625" | ||
height="14.625" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="13.625" | ||
y="29.4552" | ||
width="14.625" | ||
height="14.625" | ||
transform="rotate(90 13.625 29.4552)" | ||
fill="currentColor" | ||
/> | ||
<rect | ||
opacity="0.63" | ||
x="13.625" | ||
y="73.125" | ||
width="14.625" | ||
height="14.625" | ||
transform="rotate(90 13.625 73.125)" | ||
fill="currentColor" | ||
/> | ||
</g> | ||
</svg> | ||
) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
import clsx from 'clsx' | ||
|
||
export function Container({ | ||
className, | ||
...props | ||
}: React.ComponentPropsWithoutRef<'div'>) { | ||
return ( | ||
<div | ||
className={clsx('mx-auto max-w-7xl px-4 sm:px-6 lg:px-8', className)} | ||
{...props} | ||
/> | ||
) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
export function DiamondIcon(props: React.ComponentPropsWithoutRef<'svg'>) { | ||
return ( | ||
<svg aria-hidden="true" viewBox="0 0 6 6" {...props}> | ||
<path d="M3 0L6 3L3 6L0 3Z" strokeWidth={2} strokeLinejoin="round" /> | ||
</svg> | ||
) | ||
} |
Oops, something went wrong.