From 534d3f80e6af0172ee24e40f51924ddbe5008edd Mon Sep 17 00:00:00 2001 From: David Lechner Date: Sat, 18 Dec 2021 17:32:37 -0600 Subject: [PATCH] toolbar: convert Toolbar to function --- src/toolbar/Toolbar.tsx | 76 +++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 40 deletions(-) diff --git a/src/toolbar/Toolbar.tsx b/src/toolbar/Toolbar.tsx index 20365166..dbbd8c11 100644 --- a/src/toolbar/Toolbar.tsx +++ b/src/toolbar/Toolbar.tsx @@ -1,8 +1,8 @@ // SPDX-License-Identifier: MIT -// Copyright (c) 2020 The Pybricks Authors +// Copyright (c) 2020-2021 The Pybricks Authors import { ButtonGroup } from '@blueprintjs/core'; -import React from 'react'; +import React, { useState } from 'react'; import OpenButton from '../editor/OpenButton'; import SaveAsButton from '../editor/SaveAsButton'; import FlashButton from '../firmware/FlashButton'; @@ -15,44 +15,40 @@ import SettingsDrawer from '../settings/SettingsDrawer'; import './toolbar.scss'; -class Toolbar extends React.Component { - public state = { - settingsDrawerIsOpen: false, - }; +const Toolbar: React.VFC = (_props) => { + const [isSettingsDrawerOpen, setIsSettingsDrawerOpen] = useState(false); - render(): JSX.Element { - return ( -
e.preventDefault()} - className="pb-toolbar no-box-shadow" - > - - - - - - - - - - - - - - - this.setState({ settingsDrawerIsOpen: true })} - /> - this.setState({ settingsDrawerIsOpen: false })} - /> - -
- ); - } -} + return ( +
e.preventDefault()} + className="pb-toolbar no-box-shadow" + > + + + + + + + + + + + + + + + setIsSettingsDrawerOpen(true)} + /> + setIsSettingsDrawerOpen(false)} + /> + +
+ ); +}; export default Toolbar;