Skeleton for language picker.

This commit is contained in:
codevictory
2021-11-30 23:13:11 +02:00
parent f8193c94e4
commit d12b243454
16 changed files with 1337 additions and 17 deletions

View File

@@ -1,10 +1,15 @@
import { FormattedMessage } from 'react-intl';
import { LanguagePicker } from './LanguagePicker';
import "./styles/header.scss"
export const Header = () => {
return (
<header className="App-header">
<h1>Lintu ja Maslo</h1>
<p><i>Elokuussa 2022</i></p>
<h1><FormattedMessage id="common.title" /></h1>
<p><i><FormattedMessage id="common.subtitle" /></i></p>
<div className="LanguagePicker-container">
<LanguagePicker />
</div>
</header>
)
}

View File

@@ -0,0 +1,24 @@
import DownOutlined from '@ant-design/icons/lib/icons/DownOutlined';
import { Dropdown, Menu } from 'antd';
import { useRecoilState } from 'recoil';
import { currentLanguage } from '../atoms/language';
import { languageItems } from '../constants/languageItems';
import "./styles/languagePicker.scss"
export const LanguagePicker = () => {
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 (
<Dropdown overlay={menu} trigger={["click"]}>
<span className="dropdown">{lang} <DownOutlined /></span>
</Dropdown>
)
}

View File

@@ -11,3 +11,9 @@
.App-header h1 {
color: white;
}
.LanguagePicker-container {
display: flex;
justify-content: end;
width: 24%;
}

View File

@@ -0,0 +1,6 @@
.ant-dropdown-trigger.dropdown {
width: 50px;
border-radius: 5%;
margin-bottom: 10px;
background-color: dimgray;
}