diff --git a/src/renderer/ErrorBoundary.jsx b/src/renderer/ErrorBoundary.jsx index a9191cd75..15d8a8f4d 100644 --- a/src/renderer/ErrorBoundary.jsx +++ b/src/renderer/ErrorBoundary.jsx @@ -1,10 +1,58 @@ -/* eslint-disable */ import React from "react"; +import { ipcRenderer } from "electron"; +import Styled, { ThemeProvider } from "styled-components"; + +import GlobalStyles from "@Renderer/theme/GlobalStyles"; +import Light from "@Renderer/theme/LightTheme"; +import Dark from "@Renderer/theme/DarkTheme"; +import Store from "@Renderer/utils/Store"; + +const store = Store.getStore(); + +const Styles = Styled.div` +.alert { + display: block; + width: 100vw; + text-align: center; + margin-top: 30vh; +} +.errormsg { + display: inline-block; + width: 80%; + margin: 64px; + margin-left: auto; + margin-right: auto; + border: solid 2px #ff6b72; + border-radius: 30px; + padding: 32px; + h3 { + margin: 0px; + display: inline-block; + background-color: #ff6b72; + border-radius: 8px; + padding-left: 16px; + padding-right: 16px; + float: left; + } + p { + display: inline-block; + padding-top: 16px; + } +} +`; class ErrorBoundary extends React.Component { constructor(props) { super(props); - this.state = { hasError: true, errorMessage: "" }; + + let isDark; + const mode = store.get("settings.darkMode"); + isDark = mode === "dark"; + if (mode === "system") { + isDark = ipcRenderer.invoke("get-NativeTheme"); + } + + this.state = { hasError: false, errorMessage: "", isDark }; } static getDerivedStateFromError(error) { @@ -12,17 +60,27 @@ class ErrorBoundary extends React.Component { } render() { - if (this.state.hasError) { + const { hasError, errorMessage, isDark } = this.state; + const { children } = this.props; + if (hasError) { return ( -
This wasn't supposed to happen. If you continue to see this message, please reach out to support.
-{this.state.errorMessage}
-This wasn't supposed to happen. If you continue to see this message, please reach out to support.
+{errorMessage}
+