Просмотр исходного кода

Added buttons for change language

pull/185/head
bronjaermin 3 лет назад
Родитель
Сommit
b95fcb980e
4 измененных файлов: 76 добавлений и 12 удалений
  1. Двоичные данные
      src/assets/images/en.png
  2. Двоичные данные
      src/assets/images/rs.png
  3. 25
    10
      src/assets/styles/components/_user-profile.scss
  4. 51
    2
      src/components/Profile/UserProfile.js

Двоичные данные
src/assets/images/en.png Просмотреть файл


Двоичные данные
src/assets/images/rs.png Просмотреть файл


+ 25
- 10
src/assets/styles/components/_user-profile.scss Просмотреть файл

right: -360px; right: -360px;
background: #ffffff; background: #ffffff;
/* Main Shadow 12% */ /* Main Shadow 12% */
transition: .35s;
opacity: .25;
transition: 0.35s;
opacity: 0.25;


box-shadow: 4px 4px 18px rgba(29, 29, 29, 0.12); box-shadow: 4px 4px 18px rgba(29, 29, 29, 0.12);
border-radius: 18px; border-radius: 18px;
animation: userView .35s !important;
animation: userView 0.35s !important;
} }


.user-view.active{
.change-language {
display: flex;
}

.change-language > * {
margin: 18px 4.5px 18px 4.5px !important;
width: 54px !important;
padding: 9px 36px !important;
gap: 9px !important;
}

.change-language-active-button {
background-color: $mainBlueLight !important;
}

.user-view.active {
right: 1rem; right: 1rem;
opacity: 1; opacity: 1;
} }


@keyframes userView { @keyframes userView {
0%{
opacity: 0;
}
100%{
opacity: 1;
}
0% {
opacity: 0;
}
100% {
opacity: 1;
}
} }

+ 51
- 2
src/components/Profile/UserProfile.js Просмотреть файл

import PropTypes from "prop-types"; import PropTypes from "prop-types";
import { useDispatch, useSelector } from "react-redux"; import { useDispatch, useSelector } from "react-redux";
import { logoutUser } from "../../store/actions/login/loginActions"; import { logoutUser } from "../../store/actions/login/loginActions";
import IconButton from "../IconButton/IconButton";
import en from "../../assets/images/en.png";
import rs from "../../assets/images/rs.png";


const UserProfile = ({ show, innerRef }) => { const UserProfile = ({ show, innerRef }) => {
const { t } = useTranslation();
const { t, i18n } = useTranslation();
const dispatch = useDispatch(); const dispatch = useDispatch();
// const theme = useTheme(); // const theme = useTheme();
// const matches = useMediaQuery(theme.breakpoints.down("sm")); // const matches = useMediaQuery(theme.breakpoints.down("sm"));
dispatch(logoutUser()); dispatch(logoutUser());
}; };


const changeLanguageHandler = () => {
i18n.language === "en"
? i18n.changeLanguage("rs")
: i18n.changeLanguage("en");
};

return ( return (
<Box className={`user-view flex-center ${show && "active"}`}> <Box className={`user-view flex-center ${show && "active"}`}>
<div <div
> >
HR {t("common.specialist")} HR {t("common.specialist")}
</Typography> </Typography>
{/* <div>
<Button
type="button"
variant="contained"
className="c-btn c-btn--primary"
onClick={changeLanguageHandler}
>
Change Language
</Button>
</div> */}
<div className="change-language">
<IconButton
className={`c-btn--primary-outlined c-btn ${
i18n.language === "rs" && "change-language-active-button"
}`}
onClick={changeLanguageHandler}
>
<img
style={{
position: "relative",
}}
src={rs}
/>
RS
</IconButton>
<IconButton
className={`c-btn--primary-outlined c-btn ${
i18n.language === "en" && "change-language-active-button"
}`}
onClick={changeLanguageHandler}
>
<img
style={{
position: "relative",
}}
src={en}
/>
EN
</IconButton>
</div>
{/* <div className="hr" style={{ width: "90%", marginTop: "18px" }}></div> */} {/* <div className="hr" style={{ width: "90%", marginTop: "18px" }}></div> */}


<Button <Button
borderRadius: "9px", borderRadius: "9px",
background: "white", background: "white",
width: "90%", width: "90%",
marginTop: "50px",
// marginTop: "50px",
}} }}
onClick={logout} onClick={logout}
startIcon={<LogoutIcon />} startIcon={<LogoutIcon />}

Загрузка…
Отмена
Сохранить