2022-01-29 14:51:13 +01:00
|
|
|
import XrayIcon from 'shared/components/icons/xray.js'
|
|
|
|
import { linkClasses, Chevron } from 'shared/components/navigation/primary.js'
|
2022-01-29 14:54:22 +01:00
|
|
|
import Reset from './reset.js'
|
2022-01-29 14:51:13 +01:00
|
|
|
import Disable from './disable.js'
|
|
|
|
import List from './list.js'
|
2022-01-29 18:24:36 +01:00
|
|
|
import { Ul, Details, TopSummary } from 'shared/components/workbench/menu'
|
2022-01-29 14:51:13 +01:00
|
|
|
|
|
|
|
const Xray = props => {
|
|
|
|
|
|
|
|
return (
|
2022-01-29 18:24:36 +01:00
|
|
|
<Details open>
|
|
|
|
<TopSummary icon={<XrayIcon />}>
|
2022-01-29 14:51:13 +01:00
|
|
|
{props.gist?.xray?.enabled
|
|
|
|
? (
|
|
|
|
<>
|
|
|
|
<span className={`grow ${linkClasses} hover:cursor-resize font-bold uppercase`}>
|
|
|
|
{props.app.t('settings.xray.title')}
|
|
|
|
</span>
|
|
|
|
<Chevron />
|
|
|
|
</>
|
|
|
|
) : (
|
|
|
|
<>
|
|
|
|
<button
|
|
|
|
className={`grow ${linkClasses} hover:cursor-resize uppercase font-bold text-left`}
|
|
|
|
onClick={() => props.updateGist(['xray', 'enabled'], true)}
|
|
|
|
>
|
|
|
|
{props.app.t('settings.xray.title')}
|
|
|
|
</button>
|
|
|
|
<span className="text-normal text-secondary">
|
|
|
|
{props.app.t('cfp.thingIsDisabled', { thing: props.app.t('settings.xray.title') })}
|
|
|
|
</span>
|
|
|
|
</>
|
|
|
|
)
|
|
|
|
}
|
2022-01-29 18:24:36 +01:00
|
|
|
</TopSummary>
|
2022-01-29 14:51:13 +01:00
|
|
|
{props.gist?.xray?.enabled && (
|
2022-01-29 18:24:36 +01:00
|
|
|
<Ul>
|
2022-01-29 14:51:13 +01:00
|
|
|
<Disable {...props} />
|
2022-01-29 14:54:22 +01:00
|
|
|
<Reset {...props} />
|
2022-01-29 14:51:13 +01:00
|
|
|
{
|
|
|
|
props.gist?.xray?.parts &&
|
|
|
|
Object.keys(props.gist.xray.parts).map(partName => <List {...props} partName={partName} />)
|
|
|
|
}
|
2022-01-29 18:24:36 +01:00
|
|
|
</Ul>
|
2022-01-29 14:51:13 +01:00
|
|
|
)}
|
2022-01-29 18:24:36 +01:00
|
|
|
</Details>
|
2022-01-29 14:51:13 +01:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Xray
|