|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import React from 'react'; |
|
|
import { Button } from '@douyinfe/semi-ui'; |
|
|
import { Settings, Eye, EyeOff } from 'lucide-react'; |
|
|
|
|
|
const FloatingButtons = ({ |
|
|
styleState, |
|
|
showSettings, |
|
|
showDebugPanel, |
|
|
onToggleSettings, |
|
|
onToggleDebugPanel, |
|
|
}) => { |
|
|
if (!styleState.isMobile) return null; |
|
|
|
|
|
return ( |
|
|
<> |
|
|
{/* 设置按钮 */} |
|
|
{!showSettings && ( |
|
|
<Button |
|
|
icon={<Settings size={18} />} |
|
|
style={{ |
|
|
position: 'fixed', |
|
|
right: 16, |
|
|
bottom: 90, |
|
|
zIndex: 1000, |
|
|
width: 36, |
|
|
height: 36, |
|
|
borderRadius: '50%', |
|
|
padding: 0, |
|
|
boxShadow: '0 4px 12px rgba(0, 0, 0, 0.2)', |
|
|
background: 'linear-gradient(to right, #8b5cf6, #6366f1)', |
|
|
}} |
|
|
onClick={onToggleSettings} |
|
|
theme='solid' |
|
|
type='primary' |
|
|
className='lg:hidden' |
|
|
/> |
|
|
)} |
|
|
|
|
|
{/* 调试按钮 */} |
|
|
{!showSettings && ( |
|
|
<Button |
|
|
icon={showDebugPanel ? <EyeOff size={18} /> : <Eye size={18} />} |
|
|
onClick={onToggleDebugPanel} |
|
|
theme='solid' |
|
|
type={showDebugPanel ? 'danger' : 'primary'} |
|
|
style={{ |
|
|
position: 'fixed', |
|
|
right: 16, |
|
|
bottom: 140, |
|
|
zIndex: 1000, |
|
|
width: 36, |
|
|
height: 36, |
|
|
borderRadius: '50%', |
|
|
padding: 0, |
|
|
boxShadow: '0 4px 12px rgba(0, 0, 0, 0.2)', |
|
|
background: showDebugPanel |
|
|
? 'linear-gradient(to right, #e11d48, #be123c)' |
|
|
: 'linear-gradient(to right, #4f46e5, #6366f1)', |
|
|
}} |
|
|
className='lg:hidden' |
|
|
/> |
|
|
)} |
|
|
</> |
|
|
); |
|
|
}; |
|
|
|
|
|
export default FloatingButtons; |
|
|
|