diff --git a/src/index.tsx b/src/index.tsx index 30f03466..ef9dc52b 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -433,14 +433,14 @@ export class App extends React.Component<{}, AppState> { private renderShapesSwitcher() { return ( <> - {SHAPES.map(({ value, icon }) => ( + {SHAPES.map(({ value, icon }, index) => ( <ToolIcon key={value} type="radio" icon={icon} checked={this.state.elementType === value} name="editor-current-shape" - title={`${capitalizeString(value)} — ${capitalizeString(value)[0]}`} + title={`${capitalizeString(value)} — ${capitalizeString(value)[0]}, ${index + 1}`} onChange={() => { this.setState({ elementType: value }); elements = clearSelection(elements); diff --git a/src/shapes.tsx b/src/shapes.tsx index 17a40be9..7be709f5 100644 --- a/src/shapes.tsx +++ b/src/shapes.tsx @@ -74,12 +74,14 @@ export const SHAPES = [ } ]; -export const shapesShortcutKeys = SHAPES.map(shape => shape.value[0]); +export const shapesShortcutKeys = SHAPES.map((shape, index) => [ + shape.value[0], (index + 1).toString()] +).flat(1); export function findShapeByKey(key: string) { const defaultElement = "selection"; - return SHAPES.reduce((element, shape) => { - if (shape.value[0] !== key) return element; + return SHAPES.reduce((element, shape, index) => { + if (shape.value[0] !== key && key !== (index + 1).toString()) return element; return shape.value; }, defaultElement);