Language picker with updated design.
This commit is contained in:
@@ -8,6 +8,7 @@ import { IntlProvider } from 'react-intl';
|
|||||||
import { localization } from './constants/localization';
|
import { localization } from './constants/localization';
|
||||||
import { Header } from './components/Header';
|
import { Header } from './components/Header';
|
||||||
import { ConfigProvider } from 'antd';
|
import { ConfigProvider } from 'antd';
|
||||||
|
import { LanguagePicker } from './components/LanguagePicker';
|
||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
const language = useRecoilValue(currentLanguage)
|
const language = useRecoilValue(currentLanguage)
|
||||||
@@ -21,6 +22,7 @@ export default function App() {
|
|||||||
return (
|
return (
|
||||||
<IntlProvider locale={language} messages={localization[language]}>
|
<IntlProvider locale={language} messages={localization[language]}>
|
||||||
<Header />
|
<Header />
|
||||||
|
<LanguagePicker />
|
||||||
<Router>
|
<Router>
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route exact path="/:page">
|
<Route exact path="/:page">
|
||||||
|
|||||||
@@ -1,7 +1,18 @@
|
|||||||
.ant-dropdown-trigger.dropdown {
|
@import '../colors.scss';
|
||||||
padding-right: 7px;
|
|
||||||
padding-left: 7px;
|
h1 {
|
||||||
padding-top: 1px;
|
text-align: center;
|
||||||
border-radius: 5%;
|
color: $brown-text !important;
|
||||||
margin-bottom: 10px;
|
font-family: 'Montserrat-Medium';
|
||||||
|
|
||||||
|
button {
|
||||||
|
text-transform: uppercase;
|
||||||
|
border: none;
|
||||||
|
background-color: $background;
|
||||||
|
width: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:hover {
|
||||||
|
background-color: #e4e4de;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,13 @@
|
|||||||
import DownOutlined from '@ant-design/icons/lib/icons/DownOutlined';
|
|
||||||
import GlobalOutlined from '@ant-design/icons/lib/icons/GlobalOutlined';
|
|
||||||
import { Dropdown, Menu } from 'antd';
|
|
||||||
import { useRecoilState } from 'recoil';
|
import { useRecoilState } from 'recoil';
|
||||||
import { currentLanguage } from '../atoms/language';
|
import { currentLanguage } from '../atoms/language';
|
||||||
import { languageItems } from '../constants/languageItems';
|
|
||||||
import "./LanguagePicker.scss"
|
import "./LanguagePicker.scss"
|
||||||
|
|
||||||
export const LanguagePicker = () => {
|
export const LanguagePicker = () => {
|
||||||
const [lang, setLang] = useRecoilState(currentLanguage)
|
const [lang, setLang] = useRecoilState(currentLanguage)
|
||||||
|
|
||||||
const menu = (
|
|
||||||
<Menu>
|
|
||||||
{languageItems.map(lang => {
|
|
||||||
return (<Menu.Item key={lang.value} onClick={e => setLang(e.key)}>{lang.label}</Menu.Item>);
|
|
||||||
})}
|
|
||||||
</Menu>
|
|
||||||
);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dropdown overlay={menu} trigger={["click"]}>
|
<h1>
|
||||||
<span className="dropdown"><GlobalOutlined /> <DownOutlined /></span>
|
<button onClick={e => setLang("fi")}>fi</button> | <button onClick={e => setLang("sk")}>sk</button> | <button onClick={e => setLang("en")}>en</button>
|
||||||
</Dropdown>
|
</h1>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,6 @@ export const Registration = () => {
|
|||||||
<img src={mainPicture} />
|
<img src={mainPicture} />
|
||||||
<p><FormattedMessage id="registration.welcome" /></p>
|
<p><FormattedMessage id="registration.welcome" /></p>
|
||||||
<p><FormattedMessage id="registration.questions" /></p>
|
<p><FormattedMessage id="registration.questions" /></p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div className="Registration-form">
|
<div className="Registration-form">
|
||||||
<RegForm />
|
<RegForm />
|
||||||
|
|||||||
Reference in New Issue
Block a user