From 8b40dcb298795484ea946716851c725745602ef1 Mon Sep 17 00:00:00 2001 From: developomp Date: Sun, 30 May 2021 22:10:17 +0900 Subject: [PATCH] added basic platform support (mobile, IE) --- source/package.json | 1 + source/src/App.tsx | 140 ++++++++++-------- .../src/components/LanguageToggleButton.tsx | 17 ++- source/src/components/Navbar.tsx | 9 +- source/src/components/Sidebar.tsx | 9 +- source/src/components/ThemeToggleButton.tsx | 9 +- 6 files changed, 110 insertions(+), 75 deletions(-) diff --git a/source/package.json b/source/package.json index b2abc02..231a468 100644 --- a/source/package.json +++ b/source/package.json @@ -32,6 +32,7 @@ "markdown-toc": "^1.2.0", "marked": "^2.0.6", "react": "^17.0.2", + "react-device-detect": "^1.17.0", "react-dom": "^17.0.2", "react-helmet-async": "^1.0.9", "react-router-dom": "^5.2.0", diff --git a/source/src/App.tsx b/source/src/App.tsx index 21b5236..49b1150 100644 --- a/source/src/App.tsx +++ b/source/src/App.tsx @@ -1,8 +1,9 @@ import React from "react" import { Switch, Route } from "react-router-dom" -import { ThemeProvider, createGlobalStyle } from "styled-components" +import styled, { ThemeProvider, createGlobalStyle } from "styled-components" import { HelmetProvider } from "react-helmet-async" import storage from "local-storage-fallback" +import { isIE } from "react-device-detect" import theming from "./theming" import { LanguageContext } from "./LangaugeContext" @@ -127,6 +128,14 @@ blockquote { } ` +const StyledP = styled.p` + margin: auto; + font-size: 2rem; + margin-top: 2rem; + text-align: center; + font-family: ${theming.font.regular}; +` + interface AppProps {} interface AppState { @@ -173,71 +182,80 @@ export default class App extends React.Component { } render() { - return ( - - - this.setState({ currentTheme: setThemeTo }), // make setTheme function available in other components - }} - > - { - // cycle through languages - let setLanguageTo = "en" - if (this.state.currentLanguage == "en") - setLanguageTo = "kr" - this.setState({ - currentLanguage: setLanguageTo, - }) - }, + if (isIE) + return ( + <> + + Internet Explorer is not supported. + + + ) + else + return ( + + + this.setState({ currentTheme: setThemeTo }), // make setTheme function available in other components }} > - - -
- {this.state.isLoading ? ( - - ) : ( - - - - + { + // cycle through languages + let setLanguageTo = "en" + if (this.state.currentLanguage == "en") + setLanguageTo = "kr" + this.setState({ + currentLanguage: setLanguageTo, + }) + }, + }} + > + + +
+ {this.state.isLoading ? ( + + ) : ( + + + + - - - + + + - - - + + + - - - + + + - - {({ match }) => ( - - )} - - - )} -
-
- - - - ) + + {({ match }) => ( + + )} + + + )} +
+