diff --git a/packages/web/src/celldata/JsonCellDataView.js b/packages/web/src/celldata/JsonCellDataView.js index eb49b9c94..37d70192f 100644 --- a/packages/web/src/celldata/JsonCellDataView.js +++ b/packages/web/src/celldata/JsonCellDataView.js @@ -2,6 +2,7 @@ import React from 'react'; import styled from 'styled-components'; import ReactJson from 'react-json-view'; import ErrorInfo from '../widgets/ErrorInfo'; +import useTheme from '../theme/useTheme'; const OuterWrapper = styled.div` flex: 1; @@ -18,12 +19,13 @@ const InnerWrapper = styled.div` `; export default function JsonCellView({ value }) { + const theme = useTheme(); try { const json = JSON.parse(value); return ( - + ); diff --git a/packages/web/src/tabs/TableStructureTab.js b/packages/web/src/tabs/TableStructureTab.js index 4109882ea..558e4e834 100644 --- a/packages/web/src/tabs/TableStructureTab.js +++ b/packages/web/src/tabs/TableStructureTab.js @@ -6,6 +6,7 @@ import { TableColumn } from '../utility/TableControl'; import columnAppObject from '../appobj/columnAppObject'; import constraintAppObject from '../appobj/constraintAppObject'; import { useTableInfo, useDbCore } from '../utility/metadataLoaders'; +import useTheme from '../theme/useTheme'; const WhitePage = styled.div` position: absolute; @@ -13,15 +14,17 @@ const WhitePage = styled.div` top: 0; right: 0; bottom: 0; - background-color: white; + background-color: ${(props) => props.theme.main_background}; + overflow: auto; `; export default function TableStructureTab({ conid, database, schemaName, pureName, objectTypeField = 'tables' }) { + const theme = useTheme(); const tableInfo = useDbCore({ conid, database, schemaName, pureName, objectTypeField }); if (!tableInfo) return null; const { columns, primaryKey, foreignKeys, dependencies } = tableInfo; return ( - + ({ ...x, ordinal: index + 1 }))} makeAppObj={columnAppObject} diff --git a/packages/web/src/theme/dark.js b/packages/web/src/theme/dark.js index 2fd0da97c..8ef719075 100644 --- a/packages/web/src/theme/dark.js +++ b/packages/web/src/theme/dark.js @@ -8,6 +8,7 @@ const theme = { selectionAntName: 'blue', aceEditorTheme: 'twilight', + jsonViewerTheme: 'monokai', border: '#555', border_background: '#555', @@ -19,7 +20,7 @@ const theme = { title_background: '#555', manager_background: '#222', tabs_background: '#111', - gridheader_background: '#222', + gridheader_background: '#333', gridbody_background: '#1a1a1a', scrollbar_background: '#444', input_background: '#222', diff --git a/packages/web/src/theme/light.js b/packages/web/src/theme/light.js index f49a3e83d..798d81a56 100644 --- a/packages/web/src/theme/light.js +++ b/packages/web/src/theme/light.js @@ -6,6 +6,7 @@ const theme = { selectionAntName: 'blue', aceEditorTheme: 'github', + jsonViewerTheme: 'rjv-default', border: '#ccc', border_background: '#ccc', diff --git a/packages/web/src/themes/ThemeHelmet.js b/packages/web/src/themes/ThemeHelmet.js index 83e760595..970074066 100644 --- a/packages/web/src/themes/ThemeHelmet.js +++ b/packages/web/src/themes/ThemeHelmet.js @@ -37,16 +37,19 @@ export default function ThemeHelmet() { input { background-color: ${theme.input_background}; color: ${theme.input_font1}; + border: 1px solid ${theme.border}; } select { background-color: ${theme.input_background}; color: ${theme.input_font1}; + border: 1px solid ${theme.border}; } textarea { background-color: ${theme.input_background}; color: ${theme.input_font1}; + border: 1px solid ${theme.border}; } ${_.flatten( diff --git a/packages/web/src/utility/ObjectListControl.js b/packages/web/src/utility/ObjectListControl.js index 3a2f853ed..c6f07353a 100644 --- a/packages/web/src/utility/ObjectListControl.js +++ b/packages/web/src/utility/ObjectListControl.js @@ -2,13 +2,14 @@ import React from 'react'; import styled from 'styled-components'; import TableControl, { TableColumn } from './TableControl'; import { AppObjectControl } from '../appobj/AppObjects'; +import useTheme from '../theme/useTheme'; const ObjectListWrapper = styled.div` margin-bottom: 20px; `; const ObjectListHeader = styled.div` - background-color: #ebedef; + background-color: ${(props) => props.theme.gridheader_background}; padding: 5px; `; @@ -25,11 +26,12 @@ const ObjectListBody = styled.div` `; export default function ObjectListControl({ collection = [], title, showIfEmpty = false, makeAppObj, children }) { + const theme = useTheme(); if (collection.length == 0 && !showIfEmpty) return null; return ( - + {title} diff --git a/packages/web/src/widgets/WidgetStyles.js b/packages/web/src/widgets/WidgetStyles.js index 0497aa706..6168f2d96 100644 --- a/packages/web/src/widgets/WidgetStyles.js +++ b/packages/web/src/widgets/WidgetStyles.js @@ -45,7 +45,8 @@ export function WidgetsOuterContainer({ children, style = undefined, refNode = u export const StyledWidgetsInnerContainer = styled.div` flex: 1 1; - overflow: scroll; + overflow-x: auto; + overflow-y: auto; width: ${(props) => props.leftPanelWidth}px; `;