use-light-switch/test/index.tsx

53 lines
1.1 KiB
TypeScript
Raw Normal View History

2020-01-06 22:17:34 +00:00
import React from 'react'
import ReactDOM from 'react-dom'
2020-01-06 22:41:11 +00:00
import { Mode, useLightSwitch, useModeSelector } from '../'
2020-01-06 22:17:34 +00:00
const Simple: React.FC = () => {
const mode = useLightSwitch()
let color = 'green'
let name = 'Light'
if (mode === Mode.Dark) {
color = 'red'
name = 'Dark'
}
return <div>
<h3>Simple</h3>
<div style={{
padding: '1em 2em',
backgroundColor: color
}}>
{name}
</div>
</div>
}
const WithSelector: React.FC = () => {
const selected = useModeSelector({
light: { color: 'green', name: 'Light' },
dark: { color: 'red', name: 'Dark' },
unset: { color: 'blue', name: 'Unset' },
})
return <div>
<h3>Selector</h3>
<div style={{
padding: '1em 2em',
backgroundColor: selected.color
}}>
{selected.name}
</div>
</div>
}
const App: React.FC = () => {
return <div>
<Simple />
<WithSelector />
</div>
}
ReactDOM.render(<App />, window.document.getElementById('root'))