changed from hexo to custom react stuff #1

Merged
developomp merged 73 commits from dev into master 2021-06-27 14:37:56 +09:00
6 changed files with 36 additions and 124 deletions
Showing only changes of commit 2afe7e69e7 - Show all commits

View file

@ -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"
@ -199,20 +198,6 @@ export default class App extends React.Component<AppProps, AppState> {
setTheme: (setThemeTo) =>
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 />
@ -253,7 +238,6 @@ export default class App extends React.Component<AppProps, AppState> {
)}
</div>
<Footer />
</LanguageContext.Provider>
</ThemeProvider>
</HelmetProvider>
)

View file

@ -1,7 +0,0 @@
import { createContext } from "react"
export const LanguageContext = createContext({
language: "",
// eslint-disable-next-line @typescript-eslint/no-empty-function
toggleLanguage: () => {},
})

View file

@ -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>
)
}
}

View file

@ -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

View file

@ -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"

View file

@ -1,5 +1,4 @@
/// <reference types="react-scripts" />
declare module "*.md"
interface Document {
[fonts: string]: any