From a8d88d05db23e527ed409755258b7132e52553db Mon Sep 17 00:00:00 2001 From: Jan Prochazka Date: Thu, 12 Nov 2020 14:20:02 +0100 Subject: [PATCH] theme - modals, react select, tables --- packages/web/src/Screen.js | 1 + .../src/freetable/FreeTableColumnEditor.js | 20 ++++--- packages/web/src/freetable/FreeTableGrid.js | 6 ++- .../src/impexp/ImportExportConfigurator.js | 11 ++-- packages/web/src/modals/ImportExportModal.js | 8 +-- packages/web/src/modals/ModalBase.js | 5 +- packages/web/src/modals/ModalFooter.js | 6 ++- packages/web/src/modals/ModalHeader.js | 12 +++-- packages/web/src/query/MessagesView.js | 54 ++++++++++--------- packages/web/src/theme/dark.js | 4 ++ packages/web/src/theme/light.js | 6 ++- packages/web/src/utility/TableControl.js | 38 +++++++------ packages/web/src/utility/forms.js | 24 +++++++++ packages/web/src/widgets/FormStyledButton.js | 22 ++++---- packages/web/src/widgets/Splitter.js | 8 +-- packages/web/src/widgets/Toolbar.js | 2 +- packages/web/src/widgets/WidgetColumnBar.js | 4 +- 17 files changed, 148 insertions(+), 83 deletions(-) diff --git a/packages/web/src/Screen.js b/packages/web/src/Screen.js index 204c3bab4..4e007e83c 100644 --- a/packages/web/src/Screen.js +++ b/packages/web/src/Screen.js @@ -118,6 +118,7 @@ export default function Screen() { {!!currentWidget && ( )} diff --git a/packages/web/src/freetable/FreeTableColumnEditor.js b/packages/web/src/freetable/FreeTableColumnEditor.js index 3dcd21ee4..fccc7a81b 100644 --- a/packages/web/src/freetable/FreeTableColumnEditor.js +++ b/packages/web/src/freetable/FreeTableColumnEditor.js @@ -3,6 +3,7 @@ import React from 'react'; import styled from 'styled-components'; import { ManagerInnerContainer } from '../datagrid/ManagerStyles'; import { FontIcon } from '../icons'; +import useTheme from '../theme/useTheme'; import keycodes from '../utility/keycodes'; const Row = styled.div` @@ -13,7 +14,7 @@ const Row = styled.div` // padding: 5px; cursor: pointer; &:hover { - background-color: lightblue; + background-color: ${(props) => props.theme.manager_background_blue[1]}; } `; const Name = styled.div` @@ -28,7 +29,7 @@ const Icon = styled(FontIcon)` position: relative; top: 5px; &:hover { - background-color: gray; + background-color: ${(props) => props.theme.manager_background3}; } padding: 5px; `; @@ -36,7 +37,7 @@ const EditorInput = styled.input` width: calc(100% - 10px); background-color: ${(props) => // @ts-ignore - props.isError ? '#FFCCCC' : 'white'}; + props.isError ? props.theme.manager_background_red[1] : props.theme.manager_background}; `; function ColumnNameEditor({ @@ -48,6 +49,7 @@ function ColumnNameEditor({ defaultValue = '', ...other }) { + const theme = useTheme(); const [value, setValue] = React.useState(defaultValue || ''); const editorRef = React.useRef(null); const isError = value && existingNames && existingNames.includes(value); @@ -74,6 +76,7 @@ function ColumnNameEditor({ }, [focusOnCreate]); return ( setIsHover(true)} onMouseLeave={() => setIsHover(false)}> + setIsHover(true)} onMouseLeave={() => setIsHover(false)} theme={theme}> {column.columnName} - - - - + + + + ); diff --git a/packages/web/src/freetable/FreeTableGrid.js b/packages/web/src/freetable/FreeTableGrid.js index 05caf34ac..4bc64b041 100644 --- a/packages/web/src/freetable/FreeTableGrid.js +++ b/packages/web/src/freetable/FreeTableGrid.js @@ -9,9 +9,10 @@ import FreeTableGridCore from './FreeTableGridCore'; import MacroDetail from './MacroDetail'; import MacroManager from './MacroManager'; import WidgetColumnBar, { WidgetColumnBarItem } from '../widgets/WidgetColumnBar'; +import useTheme from '../theme/useTheme'; const LeftContainer = styled.div` - background-color: white; + background-color: ${(props) => props.theme.manager_background}; display: flex; flex: 1; `; @@ -31,6 +32,7 @@ function extractMacroValuesForMacro(macroValues, macro) { export default function FreeTableGrid(props) { const { modelState, dispatchModel } = props; + const theme = useTheme(); const [managerSize, setManagerSize] = React.useState(0); const [selectedMacro, setSelectedMacro] = React.useState(null); const [macroValues, setMacroValues] = React.useState({}); @@ -49,7 +51,7 @@ export default function FreeTableGrid(props) { // console.log('macroValues', macroValues); return ( - + diff --git a/packages/web/src/impexp/ImportExportConfigurator.js b/packages/web/src/impexp/ImportExportConfigurator.js index 1c9f835b4..dea06217b 100644 --- a/packages/web/src/impexp/ImportExportConfigurator.js +++ b/packages/web/src/impexp/ImportExportConfigurator.js @@ -24,6 +24,7 @@ import LoadingInfo from '../widgets/LoadingInfo'; import SqlEditor from '../sqleditor/SqlEditor'; import { useUploadsProvider } from '../utility/UploadsProvider'; import { FontIcon } from '../icons'; +import useTheme from '../theme/useTheme'; const Container = styled.div` // max-height: 50vh; @@ -67,12 +68,12 @@ const SqlWrapper = styled.div` const DragWrapper = styled.div` padding: 10px; - background: #ddd; + background: ${(props) => props.theme.modal_background2}; `; const ArrowWrapper = styled.div` font-size: 30px; - color: blue; + color: ${(props) => props.theme.modal_font_blue[7]}; align-self: center; `; @@ -151,11 +152,12 @@ function ElectronFilesInput() { } function FilesInput() { + const theme = useTheme(); const electron = getElectron(); if (electron) { return ; } - return Drag & drop imported files here; + return Drag & drop imported files here; } function SourceTargetConfig({ @@ -308,6 +310,7 @@ export default function ImportExportConfigurator({ uploadedFile = undefined }) { const { engine: sourceEngine } = sourceConnectionInfo || {}; const { sourceList } = values; const { uploadListener, setUploadListener } = useUploadsProvider(); + const theme = useTheme(); const handleUpload = React.useCallback( (file) => { @@ -352,7 +355,7 @@ export default function ImportExportConfigurator({ uploadedFile = undefined }) { tablesField="sourceList" engine={sourceEngine} /> - + props.theme.modalheader_background}; - border-top: 1px solid #ccc; + border-top: 1px solid ${(props) => props.theme.border}; // padding: 15px; `; @@ -106,6 +107,7 @@ export default function ImportExportModal({ modalState, initialValues, uploadedF const [executeNumber, setExecuteNumber] = React.useState(0); const [runnerId, setRunnerId] = React.useState(null); const archive = useCurrentArchive(); + const theme = useTheme(); const handleExecute = async (values) => { const script = await createImpExpScript(values); @@ -153,7 +155,7 @@ export default function ImportExportModal({ modalState, initialValues, uploadedF -