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 ( +
+ {/* Primary buttons */} + + Small Button + + + Medium Button + + + Large Button + + + {/* Secondary buttons */} + + Small Button + + + Medium Button + + + Large Button + +
+ ) +} + +export default CustomButton diff --git a/src/components/new_ui/wraning.tsx b/src/components/new_ui/wraning.tsx index b2e3817..7eca387 100644 --- a/src/components/new_ui/wraning.tsx +++ b/src/components/new_ui/wraning.tsx @@ -1,8 +1,9 @@ -import { Box, Image, Stack } from '@chakra-ui/react' - - +import { Box, Stack, Text, Image } from '@chakra-ui/react' +import CyclingImage from './CyclingImage' function Wraning() { - + const bigWarningSize = { base: "15vw", sm: "15vw", md: "9vw", lg: "7vw", xl: "6vw" }; + const midWarningSize = { base: "10vw", sm: "10vw", md: "6vw", lg: "4vw", xl: "4vw" }; + const smallWarningSize = { base: "7vw", sm: "7vw", md: "5vw", lg: "3vw", xl: "3vw" }; return ( - + /> */} + {/* Wraning Sign Images */} + + + + + + + + + + + + + + + + + + + + + + + + + {/* title */} + + + {'你要注意!'} + + + {'身體健康響起警號!'} + + + {'好多時係同'} + + + + + {'日常飲食習慣'} + + + {'有關!'} + + + + {'簡單到喺你屋企'} + + + + + {'其實已經日積月累'} + + + {'咁影響緊你!'} + +