'use client' import { useState, useCallback } from 'react' interface AlertOptions { title?: string message: string buttonText?: string variant?: 'default' | 'success' | 'warning' | 'error' } export function useAlert() { const [isOpen, setIsOpen] = useState(false) const [options, setOptions] = useState({ message: '' }) const alert = useCallback((opts: AlertOptions | string) => { if (typeof opts === 'string') { setOptions({ title: '提示', message: opts, }) } else { setOptions({ title: opts.title || '提示', message: opts.message, buttonText: opts.buttonText, variant: opts.variant, }) } setIsOpen(true) }, []) const close = useCallback(() => { setIsOpen(false) }, []) return { isOpen, options, alert, close, } }