Spaces:
Configuration error
Configuration error
| import React, { ReactNode } from 'react' | |
| import Tooltip from '../shared/Tooltip' | |
| interface SettingBlockProps { | |
| title: string | |
| desc?: string | |
| titleSuffix?: ReactNode | |
| input: ReactNode | |
| optionDesc?: ReactNode | |
| className?: string | |
| layout?: string | |
| } | |
| function SettingBlock(props: SettingBlockProps) { | |
| const { title, titleSuffix, desc, input, optionDesc, className, layout } = | |
| props | |
| const contentClass = | |
| layout === 'h' ? 'setting-block-content' : 'setting-block-content-v' | |
| return ( | |
| <div className={`setting-block ${className}`}> | |
| <div className={contentClass}> | |
| <div className="setting-block-content-title"> | |
| <div style={{ display: 'flex', alignItems: 'center', gap: '8px' }}> | |
| {desc ? ( | |
| <Tooltip content={<div style={{ maxWidth: 400 }}>{desc}</div>}> | |
| <span>{title}</span> | |
| </Tooltip> | |
| ) : ( | |
| <span>{title}</span> | |
| )} | |
| {titleSuffix} | |
| </div> | |
| </div> | |
| {input} | |
| </div> | |
| {optionDesc && <div className="option-desc">{optionDesc}</div>} | |
| </div> | |
| ) | |
| } | |
| SettingBlock.defaultProps = { | |
| layout: 'h', | |
| } | |
| export default SettingBlock | |