diff --git a/public/images/new/buttons.webp b/public/images/new/buttons.webp new file mode 100644 index 0000000..da6e916 Binary files /dev/null and b/public/images/new/buttons.webp differ diff --git a/public/images/new/wraning_bg.webp b/public/images/new/wraning_bg.webp new file mode 100644 index 0000000..b879a09 Binary files /dev/null and b/public/images/new/wraning_bg.webp differ diff --git a/public/images/new/wraning_bg_mobile.webp b/public/images/new/wraning_bg_mobile.webp new file mode 100644 index 0000000..8f0cedd Binary files /dev/null and b/public/images/new/wraning_bg_mobile.webp differ diff --git a/public/images/new/wraning_o.webp b/public/images/new/wraning_o.webp index 549b9a4..9896a81 100644 Binary files a/public/images/new/wraning_o.webp and b/public/images/new/wraning_o.webp differ diff --git a/public/images/new/wraning_subtitle.webp b/public/images/new/wraning_subtitle.webp new file mode 100644 index 0000000..7787c65 Binary files /dev/null and b/public/images/new/wraning_subtitle.webp differ diff --git a/src/components/new_ui/CustomButton.tsx b/src/components/new_ui/CustomButton.tsx new file mode 100644 index 0000000..7bb86d0 --- /dev/null +++ b/src/components/new_ui/CustomButton.tsx @@ -0,0 +1,101 @@ +import { Button } from '@chakra-ui/react' + +interface CustomButtonProps { + children: React.ReactNode + onClick?: () => void + variant?: 'primary' | 'secondary' + size?: 'sm' | 'md' | 'lg' +} + +export const CustomButton = ({ + children, + onClick, + variant = 'primary', + size = 'md' +}: CustomButtonProps) => { + // Primary button - Green/Teal with shadow + const primaryStyles = { + bg: 'linear-gradient(135deg, #4ade80 0%, #22c55e 100%)', + color: 'white', + fontWeight: 'bold', + fontSize: size === 'sm' ? '14px' : size === 'md' ? '16px' : '18px', + px: size === 'sm' ? 6 : size === 'md' ? 8 : 10, + py: size === 'sm' ? 5 : size === 'md' ? 6 : 7, + rounded: 'full', + boxShadow: '0 10px 30px rgba(34, 197, 94, 0.4), 0 4px 15px rgba(34, 197, 94, 0.3)', + _hover: { + bg: 'linear-gradient(135deg, #22c55e 0%, #16a34a 100%)', + boxShadow: '0 12px 35px rgba(34, 197, 94, 0.5), 0 6px 20px rgba(34, 197, 94, 0.4)', + transform: 'translateY(-2px)', + }, + _active: { + transform: 'translateY(0)', + boxShadow: '0 8px 25px rgba(34, 197, 94, 0.3), 0 3px 12px rgba(34, 197, 94, 0.2)', + }, + transition: 'all 0.3s ease', + } + + // Secondary button - Blue with shadow + const secondaryStyles = { + bg: 'linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%)', + color: 'white', + fontWeight: 'bold', + fontSize: size === 'sm' ? '14px' : size === 'md' ? '16px' : '18px', + px: size === 'sm' ? 6 : size === 'md' ? 8 : 10, + py: size === 'sm' ? 5 : size === 'md' ? 6 : 7, + rounded: 'full', + boxShadow: '0 10px 30px rgba(59, 130, 246, 0.4), 0 4px 15px rgba(59, 130, 246, 0.3)', + _hover: { + bg: 'linear-gradient(135deg, #3b82f6 0%, #2563eb 100%)', + boxShadow: '0 12px 35px rgba(59, 130, 246, 0.5), 0 6px 20px rgba(59, 130, 246, 0.4)', + transform: 'translateY(-2px)', + }, + _active: { + transform: 'translateY(0)', + boxShadow: '0 8px 25px rgba(59, 130, 246, 0.3), 0 3px 12px rgba(59, 130, 246, 0.2)', + }, + transition: 'all 0.3s ease', + } + + const buttonStyles = variant === 'primary' ? primaryStyles : secondaryStyles + + return ( + + ) +} + +// Example usage component +export const CustomButtonDemo = () => { + return ( +