Language picker with updated design.

This commit is contained in:
codevictory
2021-12-08 23:18:21 +02:00
parent f422da89b5
commit b679352ae9
4 changed files with 22 additions and 22 deletions

View File

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

View File

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

View File

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

View File

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