removed localization support
This commit is contained in:
parent
8b40dcb298
commit
2afe7e69e7
6 changed files with 36 additions and 124 deletions
|
@ -6,7 +6,6 @@ import storage from "local-storage-fallback"
|
||||||
import { isIE } from "react-device-detect"
|
import { isIE } from "react-device-detect"
|
||||||
|
|
||||||
import theming from "./theming"
|
import theming from "./theming"
|
||||||
import { LanguageContext } from "./LangaugeContext"
|
|
||||||
|
|
||||||
import Spinner from "./components/Spinner"
|
import Spinner from "./components/Spinner"
|
||||||
import Navbar from "./components/Navbar"
|
import Navbar from "./components/Navbar"
|
||||||
|
@ -200,60 +199,45 @@ export default class App extends React.Component<AppProps, AppState> {
|
||||||
this.setState({ currentTheme: setThemeTo }), // make setTheme function available in other components
|
this.setState({ currentTheme: setThemeTo }), // make setTheme function available in other components
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<LanguageContext.Provider
|
<GlobalStyle />
|
||||||
value={{
|
<Navbar />
|
||||||
language: this.state.currentLanguage,
|
<div id="content">
|
||||||
toggleLanguage: () => {
|
{this.state.isLoading ? (
|
||||||
// cycle through languages
|
<Spinner size={200} />
|
||||||
let setLanguageTo = "en"
|
) : (
|
||||||
if (this.state.currentLanguage == "en")
|
<Switch>
|
||||||
setLanguageTo = "kr"
|
<Route exact path="/">
|
||||||
this.setState({
|
<PostList
|
||||||
currentLanguage: setLanguageTo,
|
key="home"
|
||||||
})
|
howMany={4}
|
||||||
},
|
title="Home"
|
||||||
}}
|
/>
|
||||||
>
|
</Route>
|
||||||
<GlobalStyle />
|
|
||||||
<Navbar />
|
|
||||||
<div id="content">
|
|
||||||
{this.state.isLoading ? (
|
|
||||||
<Spinner size={200} />
|
|
||||||
) : (
|
|
||||||
<Switch>
|
|
||||||
<Route exact path="/">
|
|
||||||
<PostList
|
|
||||||
key="home"
|
|
||||||
howMany={4}
|
|
||||||
title="Home"
|
|
||||||
/>
|
|
||||||
</Route>
|
|
||||||
|
|
||||||
<Route exact path="/archives">
|
<Route exact path="/archives">
|
||||||
<PostList
|
<PostList
|
||||||
key="archives"
|
key="archives"
|
||||||
title="Archives"
|
title="Archives"
|
||||||
/>
|
/>
|
||||||
</Route>
|
</Route>
|
||||||
|
|
||||||
<Route exact path="/portfolio">
|
<Route exact path="/portfolio">
|
||||||
<Portfolio />
|
<Portfolio />
|
||||||
</Route>
|
</Route>
|
||||||
|
|
||||||
<Route exact path="/404">
|
<Route exact path="/404">
|
||||||
<NotFound />
|
<NotFound />
|
||||||
</Route>
|
</Route>
|
||||||
|
|
||||||
<Route exact path="/:path*">
|
<Route exact path="/:path*">
|
||||||
{({ match }) => (
|
{({ match }) => (
|
||||||
<Page key={match.params.path} />
|
<Page key={match.params.path} />
|
||||||
)}
|
)}
|
||||||
</Route>
|
</Route>
|
||||||
</Switch>
|
</Switch>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<Footer />
|
<Footer />
|
||||||
</LanguageContext.Provider>
|
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
</HelmetProvider>
|
</HelmetProvider>
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
import { createContext } from "react"
|
|
||||||
|
|
||||||
export const LanguageContext = createContext({
|
|
||||||
language: "",
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
||||||
toggleLanguage: () => {},
|
|
||||||
})
|
|
|
@ -1,63 +0,0 @@
|
||||||
import React from "react"
|
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"
|
|
||||||
import { faLanguage } from "@fortawesome/free-solid-svg-icons"
|
|
||||||
import styled from "styled-components"
|
|
||||||
import ReactTooltip from "react-tooltip"
|
|
||||||
import { isMobile } from "react-device-detect"
|
|
||||||
|
|
||||||
import theming from "../theming"
|
|
||||||
|
|
||||||
import { LanguageContext } from "../LangaugeContext"
|
|
||||||
|
|
||||||
const StyledThemeButton = styled.div<StyledThemeButtonProps>`
|
|
||||||
${theming.styles.navbarButtonStyle}
|
|
||||||
${(props) =>
|
|
||||||
props.language == "en"
|
|
||||||
? ""
|
|
||||||
: "transform: scaleX(-1);\
|
|
||||||
-moz-transform: scaleX(-1);\
|
|
||||||
-webkit-transform: scaleX(-1);\
|
|
||||||
-ms-transform: scaleX(-1);"};
|
|
||||||
`
|
|
||||||
|
|
||||||
interface StyledThemeButtonProps {
|
|
||||||
language: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export default class LanguageToggleButton extends React.Component {
|
|
||||||
languageName = (language) => {
|
|
||||||
let name = "English"
|
|
||||||
if (language == "kr") name = "Korean"
|
|
||||||
return name
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<LanguageContext.Consumer>
|
|
||||||
{({ language, toggleLanguage }) => (
|
|
||||||
<>
|
|
||||||
<StyledThemeButton
|
|
||||||
data-tip
|
|
||||||
data-for="language"
|
|
||||||
onClick={toggleLanguage}
|
|
||||||
language={language}
|
|
||||||
>
|
|
||||||
<FontAwesomeIcon icon={faLanguage} />
|
|
||||||
</StyledThemeButton>
|
|
||||||
{!isMobile && (
|
|
||||||
<ReactTooltip
|
|
||||||
id="language"
|
|
||||||
type="dark"
|
|
||||||
effect="solid"
|
|
||||||
>
|
|
||||||
<span>
|
|
||||||
Using {this.languageName(language)} language
|
|
||||||
</span>
|
|
||||||
</ReactTooltip>
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</LanguageContext.Consumer>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -12,7 +12,6 @@ import NavbarData from "../data/NavbarData"
|
||||||
import SearchBox from "./SearchBox"
|
import SearchBox from "./SearchBox"
|
||||||
import Sidebar from "./Sidebar"
|
import Sidebar from "./Sidebar"
|
||||||
import ThemeToggleButton from "./ThemeToggleButton"
|
import ThemeToggleButton from "./ThemeToggleButton"
|
||||||
import LanguageToggleButton from "./LanguageToggleButton"
|
|
||||||
|
|
||||||
const StyledNav = styled.nav`
|
const StyledNav = styled.nav`
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -74,7 +73,6 @@ export default class Navbar extends React.Component {
|
||||||
</StyledNavLinks>
|
</StyledNavLinks>
|
||||||
|
|
||||||
<ThemeToggleButton />
|
<ThemeToggleButton />
|
||||||
<LanguageToggleButton />
|
|
||||||
|
|
||||||
<StyledALink
|
<StyledALink
|
||||||
data-tip
|
data-tip
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import { Link } from "react-router-dom"
|
import { Link } from "react-router-dom"
|
||||||
import styled from "styled-components"
|
import styled from "styled-components"
|
||||||
|
|
||||||
import theming from "../theming"
|
import theming from "../theming"
|
||||||
import { Item } from "../data/NavbarData"
|
import { Item } from "../data/NavbarData"
|
||||||
|
|
||||||
|
|
1
source/src/react-app-env.d.ts
vendored
1
source/src/react-app-env.d.ts
vendored
|
@ -1,5 +1,4 @@
|
||||||
/// <reference types="react-scripts" />
|
/// <reference types="react-scripts" />
|
||||||
declare module "*.md"
|
|
||||||
|
|
||||||
interface Document {
|
interface Document {
|
||||||
[fonts: string]: any
|
[fonts: string]: any
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue