theme basic

This commit is contained in:
Jan Prochazka
2020-11-10 21:21:22 +01:00
parent c8f7dc3d2c
commit 98d7b3c6b9
23 changed files with 197 additions and 105 deletions

View File

@@ -5,7 +5,7 @@ import styled from 'styled-components';
import ToolbarButton from './ToolbarButton';
import useNewQuery from '../query/useNewQuery';
import { useConfig } from '../utility/metadataLoaders';
import { useSetOpenedTabs, useOpenedTabs } from '../utility/globalState';
import { useSetOpenedTabs, useOpenedTabs, useCurrentTheme, useSetCurrentTheme } from '../utility/globalState';
import { openNewTab } from '../utility/common';
import useNewFreeTable from '../freetable/useNewFreeTable';
import ImportExportModal from '../modals/ImportExportModal';
@@ -25,6 +25,8 @@ export default function ToolBar({ toolbarPortalRef }) {
const setOpenedTabs = useSetOpenedTabs();
const openedTabs = useOpenedTabs();
const showModal = useShowModal();
const currentTheme = useCurrentTheme();
const setCurrentTheme = useSetCurrentTheme();
React.useEffect(() => {
window['dbgate_createNewConnection'] = modalState.open;
@@ -47,6 +49,11 @@ export default function ToolBar({ toolbarPortalRef }) {
));
};
const switchTheme = () => {
if (currentTheme == 'light') setCurrentTheme('dark');
else setCurrentTheme('light');
};
function openTabFromButton(button) {
if (openedTabs.find((x) => x.tabComponent == 'InfoPageTab' && x.props && x.props.page == button.page)) {
setOpenedTabs((tabs) =>
@@ -100,6 +107,9 @@ export default function ToolBar({ toolbarPortalRef }) {
<ToolbarButton onClick={showImport} icon="icon import">
Import data
</ToolbarButton>
<ToolbarButton onClick={switchTheme} icon="icon theme">
Switch theme
</ToolbarButton>
<ToolbarContainer ref={toolbarPortalRef}></ToolbarContainer>
</ToolbarContainer>