| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import state, { useSelector } from 'state'
- import styled from 'styles'
- import { Lock, Menu, RotateCcw, RotateCw, Unlock } from 'react-feather'
- import { IconButton } from './shared'
-
- export default function Toolbar() {
- const activeTool = useSelector((state) =>
- state.whenIn({
- selecting: 'select',
- dot: 'dot',
- circle: 'circle',
- ellipse: 'ellipse',
- ray: 'ray',
- line: 'line',
- polyline: 'polyline',
- rectangle: 'rectangle',
- draw: 'draw',
- })
- )
-
- const isToolLocked = useSelector((s) => s.data.settings.isToolLocked)
-
- return (
- <ToolbarContainer>
- <Section>
- <Button>
- <Menu />
- </Button>
- <Button onClick={() => state.send('RESET_CAMERA')}>Reset Camera</Button>
- </Section>
- <Section>
- <Button title="Undo" onClick={() => state.send('UNDO')}>
- <RotateCcw />
- </Button>
- <Button title="Redo" onClick={() => state.send('REDO')}>
- <RotateCw />
- </Button>
- </Section>
- </ToolbarContainer>
- )
- }
-
- const ToolbarContainer = styled('div', {
- gridArea: 'toolbar',
- userSelect: 'none',
- borderBottom: '1px solid black',
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'space-between',
- backgroundColor: '$panel',
- gap: 8,
- fontSize: '$1',
- zIndex: 200,
- })
-
- const Section = styled('div', {
- whiteSpace: 'nowrap',
- overflowY: 'hidden',
- overflowX: 'auto',
- display: 'flex',
- scrollbarWidth: 'none',
- '&::-webkit-scrollbar': {
- '-webkit-appearance': 'none',
- width: 0,
- height: 0,
- },
- })
-
- const Button = styled('button', {
- display: 'flex',
- alignItems: 'center',
- cursor: 'pointer',
- font: '$ui',
- fontSize: '$ui',
- height: '40px',
- outline: 'none',
- borderRadius: 0,
- border: 'none',
- padding: '0 12px',
- background: 'none',
- '&:hover': {
- backgroundColor: '$hint',
- },
- '& svg': {
- height: 16,
- width: 16,
- },
- variants: {
- isSelected: {
- true: {
- color: '$selected',
- },
- false: {},
- },
- },
- })
|