mirror of
https://github.com/koreanbots/core.git
synced 2025-12-15 14:10:22 +00:00
* deps: update next.js to 13 * chore: migrate to new Link component * chore: remove future option from next.config * chore: update react-select * chore: enable hideSourceMaps on sentry * chore: assert type as string * chore: make placeholder and value absolute * feat: set timeout for redirect * chore: ignore ts error * chore: add generics * chore: * chore: add ts comment * feat: use dnd-kit instead of react-sortable-hoc * fix: give absolute position to placeholder
42 lines
1.7 KiB
TypeScript
42 lines
1.7 KiB
TypeScript
/* eslint-disable jsx-a11y/no-static-element-interactions */
|
|
import Link from 'next/link'
|
|
|
|
const LongButton: React.FC<LongButtonProps> = ({ children, newTab=false, href, onClick, center=false }) => {
|
|
if(href) {
|
|
if(newTab) return <a href={href} rel='noopener noreferrer'
|
|
target='_blank'>
|
|
<div className={`${center ? 'justify-center ': '' }text-base bg-little-white dark:bg-discord-black text-black dark:text-gray-400 rounded flex hover:bg-little-white-hover dark:hover:bg-discord-dark-hover cursor-pointer px-4 py-4 mb-1`}>
|
|
{children}
|
|
</div>
|
|
</a>
|
|
else return (
|
|
<Link
|
|
href={href}
|
|
className={`${center ? 'justify-center ': '' }text-base bg-little-white dark:bg-discord-black text-black dark:text-gray-400 rounded flex hover:bg-little-white-hover dark:hover:bg-discord-dark-hover cursor-pointer px-4 py-4 mb-1`}>
|
|
|
|
{children}
|
|
|
|
</Link>
|
|
)
|
|
}
|
|
if(onClick) return <div onKeyPress={onClick} onClick={onClick} className={`${center ? 'justify-center ': '' }text-base bg-little-white dark:bg-discord-black text-black dark:text-gray-400 rounded flex hover:bg-little-white-hover dark:hover:bg-discord-dark-hover cursor-pointer px-4 py-4 mb-1`}>
|
|
{children}
|
|
</div>
|
|
|
|
return <a className={`${center ? 'justify-center ': '' }text-base bg-little-white dark:bg-discord-black text-black dark:text-gray-400 rounded flex hover:bg-little-white-hover dark:hover:bg-discord-dark-hover cursor-pointer px-4 py-4 mb-1`}>
|
|
{children}
|
|
</a>
|
|
|
|
|
|
|
|
}
|
|
|
|
export default LongButton
|
|
|
|
interface LongButtonProps {
|
|
newTab?: boolean
|
|
onClick?: (event: React.KeyboardEvent<HTMLDivElement>|React.MouseEvent<HTMLDivElement>) => void
|
|
children: string | JSX.Element | JSX.Element[]
|
|
href?: string
|
|
center?: boolean
|
|
} |