diff --git a/public/style.css b/public/style.css
index 6682b9ee4..897c043a4 100644
--- a/public/style.css
+++ b/public/style.css
@@ -7,7 +7,7 @@
color: white !important;
}
-.no-underline .MuiInput-underline::before {
+.no-underline [class*='MuiInput-underline-']::before{
border-bottom: none;
}
diff --git a/src/application/Application.tsx b/src/application/Application.tsx
index eda44056e..df5e7db8f 100644
--- a/src/application/Application.tsx
+++ b/src/application/Application.tsx
@@ -3,6 +3,8 @@ import { hot } from 'react-hot-loader/root';
import CssBaseline from '@material-ui/core/CssBaseline';
import NeoNotificationModal from '../modal/NotificationModal';
import NeoWelcomeScreenModal from '../modal/WelcomeScreenModal';
+import { ThemeProvider } from '@material-ui/styles';
+import { lightTheme } from '../component/theme/Themes';
import { connect } from 'react-redux';
import {
applicationGetConnection,
@@ -101,48 +103,50 @@ const Application = ({
// Only render the dashboard component if we have an active Neo4j connection.
return (
-
-
- {/* TODO - clean this up. Only draw the placeholder if the connection is not established. */}
-
- {connected ? downloadComponentAsImage(ref)}> : <>>}
- {/* TODO - move all models into a pop-ups (or modals) component. */}
-
-
-
-
-
-
-
-
+
+
+
+ {/* TODO - clean this up. Only draw the placeholder if the connection is not established. */}
+
+ {connected ? downloadComponentAsImage(ref)}> : <>>}
+ {/* TODO - move all models into a pop-ups (or modals) component. */}
+
+
+
+
+
+
+
+
+
);
};
diff --git a/src/card/view/CardView.tsx b/src/card/view/CardView.tsx
index 0beb0d346..d02d695df 100644
--- a/src/card/view/CardView.tsx
+++ b/src/card/view/CardView.tsx
@@ -11,6 +11,8 @@ import { extensionEnabled, getReportTypes } from '../../extensions/ExtensionUtil
import NeoCodeViewerComponent from '../../component/editor/CodeViewerComponent';
import { NeoReportWrapper } from '../../report/ReportWrapper';
import { identifyStyleRuleParameters } from '../../extensions/styling/StyleRuleEvaluator';
+import { ThemeProvider } from '@material-ui/styles';
+import { lightTheme, darkHeaderTheme, luma } from '../../component/theme/Themes';
const NeoCardView = ({
title,
@@ -70,22 +72,30 @@ const NeoCardView = ({
// @ts-ignore
const reportHeader = (
- setLastRunTimestamp(Date.now())}
- settings={settings}
- onDownloadImage={onDownloadImage}
- onToggleCardExpand={onToggleCardExpand}
- expanded={expanded}
- parameters={getLocalParameters(title)}
- >
+
+ setLastRunTimestamp(Date.now())}
+ settings={settings}
+ onDownloadImage={onDownloadImage}
+ onToggleCardExpand={onToggleCardExpand}
+ expanded={expanded}
+ parameters={getLocalParameters(title)}
+ >
+
);
// @ts-ignore
@@ -102,7 +112,7 @@ const NeoCardView = ({
) : (
<>>
);
-
+
const localParameters = { ...getLocalParameters(query), ...getLocalParameters(settings.drilldownLink) };
const reportTypes = getReportTypes(extensions);
const withoutFooter =
diff --git a/src/component/theme/Themes.tsx b/src/component/theme/Themes.tsx
new file mode 100644
index 000000000..7cdf4e7b4
--- /dev/null
+++ b/src/component/theme/Themes.tsx
@@ -0,0 +1,26 @@
+import { createTheme } from '@material-ui/core/styles';
+export const lightTheme = createTheme({
+ palette: {
+ type: 'light',
+ },
+});
+
+export const darkHeaderTheme = createTheme({
+ palette: {
+ text: {
+ primary: '#ffffff',
+ },
+ },
+});
+
+export const luma = (colorString) => {
+ let color = colorString.substring(1); // strip #
+ let rgb = parseInt(color, 16); // convert rrggbb to decimal
+ let r = (rgb >> 16) & 0xff; // extract red
+ let g = (rgb >> 8) & 0xff; // extract green
+ let b = (rgb >> 0) & 0xff; // extract blue
+
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b; // per ITU-R BT.709
+};
+
+export default lightTheme;
diff --git a/src/config/DashboardConfig.ts b/src/config/DashboardConfig.ts
index ef3e58b9a..5e80ec907 100644
--- a/src/config/DashboardConfig.ts
+++ b/src/config/DashboardConfig.ts
@@ -37,6 +37,12 @@ export const DASHBOARD_SETTINGS = {
default: 'bottom-right',
helperText: 'These are the resize handle options shared across all reports. ',
},
+ darkLuma: {
+ label: 'Luma Threshold',
+ type: SELECTION_TYPES.NUMBER,
+ default: 25,
+ helperText: 'Background colors under this threshold will be considered as dark',
+ },
pagenumber: {
label: 'Page Number',
type: SELECTION_TYPES.NUMBER,