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 theming from "./theming"
|
||||
import { LanguageContext } from "./LangaugeContext"
|
||||
|
||||
import Spinner from "./components/Spinner"
|
||||
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
|
||||
}}
|
||||
>
|
||||
<LanguageContext.Provider
|
||||
value={{
|
||||
language: this.state.currentLanguage,
|
||||
toggleLanguage: () => {
|
||||
// cycle through languages
|
||||
let setLanguageTo = "en"
|
||||
if (this.state.currentLanguage == "en")
|
||||
setLanguageTo = "kr"
|
||||
this.setState({
|
||||
currentLanguage: setLanguageTo,
|
||||
})
|
||||
},
|
||||
}}
|
||||
>
|
||||
<GlobalStyle />
|
||||
<Navbar />
|
||||
<div id="content">
|
||||
{this.state.isLoading ? (
|
||||
<Spinner size={200} />
|
||||
) : (
|
||||
<Switch>
|
||||
<Route exact path="/">
|
||||
<PostList
|
||||
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">
|
||||
<PostList
|
||||
key="archives"
|
||||
title="Archives"
|
||||
/>
|
||||
</Route>
|
||||
<Route exact path="/archives">
|
||||
<PostList
|
||||
key="archives"
|
||||
title="Archives"
|
||||
/>
|
||||
</Route>
|
||||
|
||||
<Route exact path="/portfolio">
|
||||
<Portfolio />
|
||||
</Route>
|
||||
<Route exact path="/portfolio">
|
||||
<Portfolio />
|
||||
</Route>
|
||||
|
||||
<Route exact path="/404">
|
||||
<NotFound />
|
||||
</Route>
|
||||
<Route exact path="/404">
|
||||
<NotFound />
|
||||
</Route>
|
||||
|
||||
<Route exact path="/:path*">
|
||||
{({ match }) => (
|
||||
<Page key={match.params.path} />
|
||||
)}
|
||||
</Route>
|
||||
</Switch>
|
||||
)}
|
||||
</div>
|
||||
<Footer />
|
||||
</LanguageContext.Provider>
|
||||
<Route exact path="/:path*">
|
||||
{({ match }) => (
|
||||
<Page key={match.params.path} />
|
||||
)}
|
||||
</Route>
|
||||
</Switch>
|
||||
)}
|
||||
</div>
|
||||
<Footer />
|
||||
</ThemeProvider>
|
||||
</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 Sidebar from "./Sidebar"
|
||||
import ThemeToggleButton from "./ThemeToggleButton"
|
||||
import LanguageToggleButton from "./LanguageToggleButton"
|
||||
|
||||
const StyledNav = styled.nav`
|
||||
display: flex;
|
||||
|
@ -74,7 +73,6 @@ export default class Navbar extends React.Component {
|
|||
</StyledNavLinks>
|
||||
|
||||
<ThemeToggleButton />
|
||||
<LanguageToggleButton />
|
||||
|
||||
<StyledALink
|
||||
data-tip
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import React from "react"
|
||||
import { Link } from "react-router-dom"
|
||||
import styled from "styled-components"
|
||||
|
||||
import theming from "../theming"
|
||||
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" />
|
||||
declare module "*.md"
|
||||
|
||||
interface Document {
|
||||
[fonts: string]: any
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue