Compare commits
3 Commits
5bfc953ecc
...
db9a7b24c6
Author | SHA1 | Date | |
---|---|---|---|
|
db9a7b24c6 | ||
|
cdf06c7984 | ||
|
d4eba820e0 |
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"homepage": "https://html.craft-group.xyz/",
|
"homepage": "https://itguild.info/",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ckeditor/ckeditor5-build-classic": "^38.0.1",
|
"@ckeditor/ckeditor5-build-classic": "^38.0.1",
|
||||||
"@ckeditor/ckeditor5-react": "^6.0.0",
|
"@ckeditor/ckeditor5-react": "^6.0.0",
|
||||||
|
@ -8,8 +8,7 @@ import {
|
|||||||
|
|
||||||
import { getNotification } from "@redux/outstaffingSlice";
|
import { getNotification } from "@redux/outstaffingSlice";
|
||||||
|
|
||||||
import AuthForPartners from "./pages/AuthForPartners/AuthForPartners";
|
import Auth from "./pages/Auth/Auth";
|
||||||
import AuthForDevelopers from "./pages/AuthForDevelopers/AuthForDevelopers";
|
|
||||||
import { TrackerIntro } from "./pages/TrackerIntro/TrackerIntro"
|
import { TrackerIntro } from "./pages/TrackerIntro/TrackerIntro"
|
||||||
import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo";
|
import { CompanyInfo } from "@pages/CompanyInfo/CompanyInfo";
|
||||||
import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth";
|
import { TrackerAuth } from "@pages/TrackerAuth/TrackerAuth";
|
||||||
@ -54,16 +53,13 @@ import "./assets/global.scss";
|
|||||||
import "./assets/fonts/stylesheet.css";
|
import "./assets/fonts/stylesheet.css";
|
||||||
import "bootstrap/dist/css/bootstrap.min.css";
|
import "bootstrap/dist/css/bootstrap.min.css";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const App = () => {
|
const App = () => {
|
||||||
const notification = useSelector(getNotification)
|
const notification = useSelector(getNotification)
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Router>
|
<Router>
|
||||||
<Routes>
|
<Routes>
|
||||||
<Route exact path="/authdev" element={<AuthForDevelopers />} />
|
<Route exact path="/auth" element={<Auth />} />
|
||||||
<Route exact path="/auth" element={<AuthForPartners />} />
|
|
||||||
<Route exact path="/tracker-intro" element={<TrackerIntro />} />
|
<Route exact path="/tracker-intro" element={<TrackerIntro />} />
|
||||||
<Route exact path="/tracker-auth" element={<TrackerAuth />} />
|
<Route exact path="/tracker-auth" element={<TrackerAuth />} />
|
||||||
<Route exact path="/tracker-registration" element={<TrackerRegistration />} />
|
<Route exact path="/tracker-registration" element={<TrackerRegistration />} />
|
||||||
|
@ -13,10 +13,10 @@ export const AuthBlock = ({ title, description, img, resetModal }) => {
|
|||||||
<p>{description}</p>
|
<p>{description}</p>
|
||||||
</div>
|
</div>
|
||||||
<form className="auth__form">
|
<form className="auth__form">
|
||||||
<label htmlFor="login">Ваш email *</label>
|
<label htmlFor="login">Ваш e-mail</label>
|
||||||
<input id="login" type="text" name="username" placeholder="Email" />
|
<input id="login" type="text" name="username" placeholder="E-mail" />
|
||||||
|
|
||||||
<label htmlFor="password">Ваш пароль*</label>
|
<label htmlFor="password">Ваш пароль</label>
|
||||||
<input
|
<input
|
||||||
id="password"
|
id="password"
|
||||||
type="password"
|
type="password"
|
||||||
@ -24,13 +24,7 @@ export const AuthBlock = ({ title, description, img, resetModal }) => {
|
|||||||
placeholder="Пароль"
|
placeholder="Пароль"
|
||||||
/>
|
/>
|
||||||
<div className="auth__form__buttons">
|
<div className="auth__form__buttons">
|
||||||
<button
|
<button onClick={(e) => e.preventDefault()}>Войти</button>
|
||||||
onClick={(e) => {
|
|
||||||
e.preventDefault();
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Войти
|
|
||||||
</button>
|
|
||||||
<span onClick={() => resetModal(true)}>Восстановить пароль</span>
|
<span onClick={() => resetModal(true)}>Восстановить пароль</span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -63,7 +63,7 @@ export const AuthBox = ({ title }) => {
|
|||||||
localStorage.setItem("role_status", res.status);
|
localStorage.setItem("role_status", res.status);
|
||||||
localStorage.setItem(
|
localStorage.setItem(
|
||||||
"access_token_expired_at",
|
"access_token_expired_at",
|
||||||
res.access_token_expired_at,
|
res.access_token_expired_at
|
||||||
);
|
);
|
||||||
dispatch(auth(true));
|
dispatch(auth(true));
|
||||||
dispatch(setUserInfo(res));
|
dispatch(setUserInfo(res));
|
||||||
@ -79,14 +79,16 @@ export const AuthBox = ({ title }) => {
|
|||||||
<h2 className="auth-box__header">
|
<h2 className="auth-box__header">
|
||||||
Вход <img src={authHead} alt="authImg" />
|
Вход <img src={authHead} alt="authImg" />
|
||||||
</h2>
|
</h2>
|
||||||
|
{title && (
|
||||||
<div className="auth-box__title">
|
<div className="auth-box__title">
|
||||||
<span>{title}</span>
|
<span>{title}</span>
|
||||||
</div>
|
</div>
|
||||||
|
)}
|
||||||
<form ref={ref} className="auth-box__form">
|
<form ref={ref} className="auth-box__form">
|
||||||
<label htmlFor="login">Ваш email *</label>
|
<label htmlFor="login">Ваш e-mail</label>
|
||||||
<input id="login" type="text" name="username" placeholder="Логин" />
|
<input id="login" type="text" name="username" placeholder="Логин" />
|
||||||
|
|
||||||
<label htmlFor="password">Ваш пароль*</label>
|
<label htmlFor="password">Ваш пароль</label>
|
||||||
<div className="inputWrapper">
|
<div className="inputWrapper">
|
||||||
<input
|
<input
|
||||||
id="password"
|
id="password"
|
||||||
|
@ -15,7 +15,8 @@
|
|||||||
letter-spacing: normal;
|
letter-spacing: normal;
|
||||||
line-height: 77.81px;
|
line-height: 77.81px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
margin-top: 164px;
|
margin-top: 150px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
color: #52b709;
|
color: #52b709;
|
||||||
@ -88,12 +89,12 @@
|
|||||||
letter-spacing: normal;
|
letter-spacing: normal;
|
||||||
line-height: 19.2px;
|
line-height: 19.2px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
margin-bottom: 25px;
|
margin-bottom: 10px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.inputWrapper {
|
.inputWrapper {
|
||||||
width: 366px;
|
width: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.eye {
|
.eye {
|
||||||
@ -101,6 +102,10 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
right: 20px;
|
right: 20px;
|
||||||
top: 15px;
|
top: 15px;
|
||||||
|
|
||||||
|
@media (min-width: 576px) {
|
||||||
|
left: 330px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -152,7 +157,6 @@
|
|||||||
letter-spacing: normal;
|
letter-spacing: normal;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border: 2px solid #6aaf5c;
|
|
||||||
margin-right: 1.5rem;
|
margin-right: 1.5rem;
|
||||||
transition: 0.3s;
|
transition: 0.3s;
|
||||||
|
|
||||||
@ -203,9 +207,13 @@
|
|||||||
color: #000000;
|
color: #000000;
|
||||||
font-size: 17px;
|
font-size: 17px;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
margin-top: 45px;
|
margin-top: 35px;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
|
|
||||||
|
@media (max-width: 700px) {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
color: #52b709;
|
color: #52b709;
|
||||||
|
@ -79,7 +79,7 @@ footer {
|
|||||||
&__mail {
|
&__mail {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
column-gap: 13px;
|
column-gap: 5px;
|
||||||
|
|
||||||
a {
|
a {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
@ -85,13 +85,13 @@ const Form = () => {
|
|||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-sm-12">
|
<div className="col-sm-12">
|
||||||
<form className="form" id="test">
|
<form className="form" id="test">
|
||||||
<label htmlFor="email">Емейл:</label>
|
<label htmlFor="email">E-mail:</label>
|
||||||
<input
|
<input
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
id="email"
|
id="email"
|
||||||
name="Email"
|
name="Email"
|
||||||
type="email"
|
type="email"
|
||||||
placeholder="Емейл"
|
placeholder="E-mail"
|
||||||
value={data.email}
|
value={data.email}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ export const FreeDevelopers = () => {
|
|||||||
|
|
||||||
<div className="free-dev__body">
|
<div className="free-dev__body">
|
||||||
<div className="free-dev__body-title">
|
<div className="free-dev__body-title">
|
||||||
<p>Описание опыта работы</p>
|
<p>Опыт работы</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="free-dev__body-text">
|
<div className="free-dev__body-text">
|
||||||
@ -86,7 +86,7 @@ export const FreeDevelopers = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="login">
|
<div className="login">
|
||||||
<h3>Для просмотра полного резюме разработчика авторизуйтесь</h3>
|
<h3>Для просмотра полного резюме разработчика, авторизуйтесь</h3>
|
||||||
<BaseButton styles={"dev-code"}>
|
<BaseButton styles={"dev-code"}>
|
||||||
<Link to={"/auth"}>Войти</Link>
|
<Link to={"/auth"}>Войти</Link>
|
||||||
</BaseButton>
|
</BaseButton>
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import { useSelector } from "react-redux";
|
|
||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
import { getRole } from "@redux/roleSlice";
|
|
||||||
|
|
||||||
import { useLogout } from "@hooks/useLogout";
|
import { useLogout } from "@hooks/useLogout";
|
||||||
|
|
||||||
import { Loader } from "@components/Common/Loader/Loader";
|
import { Loader } from "@components/Common/Loader/Loader";
|
||||||
@ -12,8 +9,6 @@ import "./logoutButton.scss";
|
|||||||
|
|
||||||
export const LogoutButton = () => {
|
export const LogoutButton = () => {
|
||||||
const [isLoggingOut, setIsLoggingOut] = useState(false);
|
const [isLoggingOut, setIsLoggingOut] = useState(false);
|
||||||
|
|
||||||
const userRole = useSelector(getRole);
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { logout } = useLogout();
|
const { logout } = useLogout();
|
||||||
|
|
||||||
@ -24,7 +19,7 @@ export const LogoutButton = () => {
|
|||||||
setIsLoggingOut(true);
|
setIsLoggingOut(true);
|
||||||
logout();
|
logout();
|
||||||
setIsLoggingOut(false);
|
setIsLoggingOut(false);
|
||||||
navigate(userRole === "ROLE_DEV" ? "/authdev" : "/auth");
|
navigate("/auth");
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{isLoggingOut ? <Loader /> : "Выйти"}
|
{isLoggingOut ? <Loader /> : "Выйти"}
|
||||||
|
@ -10,7 +10,7 @@ export const ModalReset = ({ setModalReset }) => {
|
|||||||
<h3 className="modalReset__title">Восстановление доступа</h3>
|
<h3 className="modalReset__title">Восстановление доступа</h3>
|
||||||
<div className="modalReset__input">
|
<div className="modalReset__input">
|
||||||
<span>Укажите e-mail, для которого хотите восстановить пароль.</span>
|
<span>Укажите e-mail, для которого хотите восстановить пароль.</span>
|
||||||
<input placeholder="email" />
|
<input placeholder="e-mail" />
|
||||||
</div>
|
</div>
|
||||||
<button className="modalReset__submit">Восстановить</button>
|
<button className="modalReset__submit">Восстановить</button>
|
||||||
<img
|
<img
|
||||||
|
@ -50,7 +50,7 @@ export const ModalResetPassword = ({ active, setActive }) => {
|
|||||||
setInputsError((prevValue) => ({ ...prevValue, email: true }));
|
setInputsError((prevValue) => ({ ...prevValue, email: true }));
|
||||||
return showNotification({
|
return showNotification({
|
||||||
show: true,
|
show: true,
|
||||||
text: "Введите корректный email",
|
text: "Введите корректный e-mail",
|
||||||
type: "error",
|
type: "error",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ export const ModalResetPassword = ({ active, setActive }) => {
|
|||||||
<h3 className="resetPassword__title">Восстановление пароля</h3>
|
<h3 className="resetPassword__title">Восстановление пароля</h3>
|
||||||
{!step ? (
|
{!step ? (
|
||||||
<div className="resetPassword__email">
|
<div className="resetPassword__email">
|
||||||
<h5>Введите email:</h5>
|
<h5>Введите e-mail:</h5>
|
||||||
<input
|
<input
|
||||||
type="email"
|
type="email"
|
||||||
onChange={(e) => {
|
onChange={(e) => {
|
||||||
@ -141,12 +141,12 @@ export const ModalResetPassword = ({ active, setActive }) => {
|
|||||||
token: false,
|
token: false,
|
||||||
});
|
});
|
||||||
}}
|
}}
|
||||||
placeholder="Email"
|
placeholder="E-mail"
|
||||||
value={inputsValue.email}
|
value={inputsValue.email}
|
||||||
className={inputsError.email ? "error" : ""}
|
className={inputsError.email ? "error" : ""}
|
||||||
/>
|
/>
|
||||||
{inputsError.email && (
|
{inputsError.email && (
|
||||||
<span className="warningText">Введите корректный email</span>
|
<span className="warningText">Введите корректный e-mail</span>
|
||||||
)}
|
)}
|
||||||
{loader ? (
|
{loader ? (
|
||||||
<Loader style={"green"} />
|
<Loader style={"green"} />
|
||||||
|
@ -468,7 +468,7 @@ export const TrackerModal = ({
|
|||||||
<div className="input-container invitePersonBlock__input">
|
<div className="input-container invitePersonBlock__input">
|
||||||
<input
|
<input
|
||||||
className="name-project"
|
className="name-project"
|
||||||
placeholder="email"
|
placeholder="e-mail"
|
||||||
type="email"
|
type="email"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -26,7 +26,7 @@ export const Navigation = () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/calendar",
|
path: "/calendar",
|
||||||
name: "Отчетность",
|
name: "Отчеты",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/tracker",
|
path: "/tracker",
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
a {
|
a {
|
||||||
color: #5b6871;
|
color: #5b6871;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 12px;
|
font-size: 13px;
|
||||||
line-height: 16px;
|
line-height: 16px;
|
||||||
transition: 0.3s all ease;
|
transition: 0.3s all ease;
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -17,14 +17,6 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
@media (max-width: 525px) {
|
|
||||||
font-size: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 455px) {
|
|
||||||
font-size: 9px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
@ -89,7 +89,7 @@ export const ProfileCalendar = () => {
|
|||||||
<ProfileBreadcrumbs
|
<ProfileBreadcrumbs
|
||||||
links={[
|
links={[
|
||||||
{ name: "Главная", link: "/profile" },
|
{ name: "Главная", link: "/profile" },
|
||||||
{ name: "Ваша отчетность", link: "/profile/calendar" },
|
{ name: "Отчеты", link: "/profile/calendar" },
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
<h2 className="summary__title">Ваши отчеты</h2>
|
<h2 className="summary__title">Ваши отчеты</h2>
|
||||||
|
@ -78,7 +78,6 @@
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
max-width: 220px;
|
max-width: 220px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ import { useDispatch, useSelector } from "react-redux";
|
|||||||
import { NavLink, useNavigate } from "react-router-dom";
|
import { NavLink, useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
import { auth, getProfileInfo, setProfileInfo } from "@redux/outstaffingSlice";
|
import { auth, getProfileInfo, setProfileInfo } from "@redux/outstaffingSlice";
|
||||||
import { getRole } from "@redux/roleSlice";
|
|
||||||
|
|
||||||
import { apiRequest } from "@api/request";
|
import { apiRequest } from "@api/request";
|
||||||
|
|
||||||
@ -15,7 +14,6 @@ export const ProfileHeader = () => {
|
|||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const profileInfo = useSelector(getProfileInfo);
|
const profileInfo = useSelector(getProfileInfo);
|
||||||
const userRole = useSelector(getRole);
|
|
||||||
const [user] = useState(
|
const [user] = useState(
|
||||||
localStorage.getItem("role_status") === "18" ? "partner" : "developer",
|
localStorage.getItem("role_status") === "18" ? "partner" : "developer",
|
||||||
);
|
);
|
||||||
@ -43,7 +41,7 @@ export const ProfileHeader = () => {
|
|||||||
localStorage.clear();
|
localStorage.clear();
|
||||||
dispatch(auth(false));
|
dispatch(auth(false));
|
||||||
setIsLoggingOut(false);
|
setIsLoggingOut(false);
|
||||||
navigate(userRole === "ROLE_DEV" ? "/authdev" : "/auth");
|
navigate("/auth");
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -1,18 +1,16 @@
|
|||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch } from "react-redux";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
import { auth } from "../redux/outstaffingSlice";
|
import { auth } from "../redux/outstaffingSlice";
|
||||||
import { getRole } from "../redux/roleSlice";
|
|
||||||
|
|
||||||
export const useLogout = () => {
|
export const useLogout = () => {
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
const userRole = useSelector(getRole);
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
const logout = () => {
|
const logout = () => {
|
||||||
localStorage.clear();
|
localStorage.clear();
|
||||||
dispatch(auth(false));
|
dispatch(auth(false));
|
||||||
navigate(userRole === "ROLE_DEV" ? "/authdev" : "/auth");
|
navigate("/auth");
|
||||||
};
|
};
|
||||||
|
|
||||||
return { logout };
|
return { logout };
|
||||||
|
@ -18,10 +18,6 @@ code {
|
|||||||
monospace;
|
monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
position: relative !important;
|
position: relative !important;
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,15 @@
|
|||||||
import React, { useEffect } from "react";
|
import React, { useEffect } from "react";
|
||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
import { Link, useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
import { selectAuth } from "@redux/outstaffingSlice";
|
import { selectAuth } from "@redux/outstaffingSlice";
|
||||||
|
|
||||||
import { scrollToForm } from "@utils/helper";
|
|
||||||
|
|
||||||
import { AuthBox } from "@components/AuthBox/AuthBox";
|
import { AuthBox } from "@components/AuthBox/AuthBox";
|
||||||
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
|
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
import { Footer } from "@components/Common/Footer/Footer";
|
||||||
import SideBar from "@components/SideBar/SideBar";
|
import SideBar from "@components/SideBar/SideBar";
|
||||||
import SliderWorkers from "@components/SliderWorkers/SliderWorkers";
|
import SliderWorkers from "@components/SliderWorkers/SliderWorkers";
|
||||||
|
|
||||||
import arrowBtn from "assets/icons/arrows/arrowRight.svg";
|
|
||||||
import arrow from "assets/icons/arrows/arrow__login_page.png";
|
import arrow from "assets/icons/arrows/arrow__login_page.png";
|
||||||
import text from "assets/images/Body_Text.png";
|
import text from "assets/images/Body_Text.png";
|
||||||
import vector from "assets/images/Vector_Smart_Object.png";
|
import vector from "assets/images/Vector_Smart_Object.png";
|
||||||
@ -20,9 +17,9 @@ import vectorBlack from "assets/images/Vector_Smart_Object_black.png";
|
|||||||
import authImg from "assets/images/auth_img.png";
|
import authImg from "assets/images/auth_img.png";
|
||||||
import cross from "assets/images/cross.png";
|
import cross from "assets/images/cross.png";
|
||||||
|
|
||||||
import "./authForPartners.scss";
|
import "./auth.scss";
|
||||||
|
|
||||||
const AuthForPartners = () => {
|
const Auth = () => {
|
||||||
const isAuth = useSelector(selectAuth);
|
const isAuth = useSelector(selectAuth);
|
||||||
let navigate = useNavigate();
|
let navigate = useNavigate();
|
||||||
|
|
||||||
@ -46,28 +43,10 @@ const AuthForPartners = () => {
|
|||||||
<img className="auth-partners__vector" src={vector} alt="" />
|
<img className="auth-partners__vector" src={vector} alt="" />
|
||||||
<img className="auth-partners__vector-black" src={vectorBlack} alt="" />
|
<img className="auth-partners__vector-black" src={vectorBlack} alt="" />
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<div className="change-mode">
|
|
||||||
<div className="change-mode__arrow" onClick={() => scrollToForm()}>
|
|
||||||
<img src={arrowBtn}></img>
|
|
||||||
</div>
|
|
||||||
<div className="buttons">
|
|
||||||
<Link to={"/authdev"}>
|
|
||||||
<button className="change-mode__developersForPart">
|
|
||||||
Для разработчиков
|
|
||||||
</button>
|
|
||||||
</Link>
|
|
||||||
<Link to={"/auth"}>
|
|
||||||
<button className="change-mode__partnersForPart">
|
|
||||||
Для партнёров
|
|
||||||
</button>
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="row">
|
<div className="row">
|
||||||
<div className="col-12 col-xl-6">
|
<div className="col-12 col-xl-6">
|
||||||
<div className="auth-partners__box">
|
<div className="auth-partners__box">
|
||||||
<AuthBox title="для партнёров" />
|
<AuthBox />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-xl-2">
|
<div className="col-xl-2">
|
||||||
@ -90,7 +69,6 @@ const AuthForPartners = () => {
|
|||||||
<img className="cross" src={cross} alt="" />
|
<img className="cross" src={cross} alt="" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
{/* <img className='auth-specialists} src={specialists} alt="" /> */}
|
|
||||||
<p className="auth-partners__specialists">
|
<p className="auth-partners__specialists">
|
||||||
300 Специалистов
|
300 Специалистов
|
||||||
</p>
|
</p>
|
||||||
@ -121,4 +99,4 @@ const AuthForPartners = () => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default AuthForPartners;
|
export default Auth;
|
@ -181,7 +181,7 @@
|
|||||||
&__img-text {
|
&__img-text {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: -68px;
|
right: -68px;
|
||||||
bottom: -84px;
|
bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
@media (max-width: 575.98px) {
|
@ -1,124 +0,0 @@
|
|||||||
import React, { useEffect } from "react";
|
|
||||||
import { useSelector } from "react-redux";
|
|
||||||
import { Link, useNavigate } from "react-router-dom";
|
|
||||||
|
|
||||||
import { selectAuth } from "@redux/outstaffingSlice";
|
|
||||||
|
|
||||||
import { scrollToForm } from "@utils/helper";
|
|
||||||
|
|
||||||
import { AuthBox } from "@components/AuthBox/AuthBox";
|
|
||||||
import AuthHeader from "@components/Common/AuthHeader/AuthHeader";
|
|
||||||
import { Footer } from "@components/Common/Footer/Footer";
|
|
||||||
import SideBar from "@components/SideBar/SideBar";
|
|
||||||
import SliderWorkers from "@components/SliderWorkers/SliderWorkers";
|
|
||||||
|
|
||||||
import arrowBtn from "assets/icons/arrows/arrowRight.svg";
|
|
||||||
import arrow from "assets/icons/arrows/arrow__login_page.png";
|
|
||||||
import text from "assets/images/Body_Text.png";
|
|
||||||
import vector from "assets/images/Vector_Smart_Object.png";
|
|
||||||
import vectorBlack from "assets/images/Vector_Smart_Object_black.png";
|
|
||||||
import cross from "assets/images/cross.png";
|
|
||||||
import medium from "assets/images/medium_male_big.png";
|
|
||||||
|
|
||||||
import "./authForDevelopers.scss";
|
|
||||||
|
|
||||||
const AuthForDevelopers = () => {
|
|
||||||
const isAuth = useSelector(selectAuth);
|
|
||||||
let navigate = useNavigate();
|
|
||||||
const getToken = localStorage.getItem("auth_token");
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (isAuth || getToken) {
|
|
||||||
navigate("/profile");
|
|
||||||
}
|
|
||||||
}, [getToken]);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<section className="auth-developers">
|
|
||||||
<AuthHeader />
|
|
||||||
<SliderWorkers
|
|
||||||
title={"Свободные разработчики"}
|
|
||||||
titleInfo={"для Вашей команды"}
|
|
||||||
subTitle={true}
|
|
||||||
/>
|
|
||||||
<div className="auth-developers__background">
|
|
||||||
<img className="auth-developers__vector" src={vector} alt="" />
|
|
||||||
<img
|
|
||||||
className="auth-developers__vector-black"
|
|
||||||
src={vectorBlack}
|
|
||||||
alt="#"
|
|
||||||
/>
|
|
||||||
<div className="container">
|
|
||||||
{/* <div className="change-mode">
|
|
||||||
<div className="change-mode__arrow" onClick={() => scrollToForm()}>
|
|
||||||
<img src={arrowBtn}></img>
|
|
||||||
</div>
|
|
||||||
<div className="buttons">
|
|
||||||
<Link to={"/authdev"}>
|
|
||||||
<button className="change-mode__developersForDev">
|
|
||||||
Для разработчиков
|
|
||||||
</button>
|
|
||||||
</Link>
|
|
||||||
<Link to={"/auth"}>
|
|
||||||
<button className="change-mode__partnersForDev">
|
|
||||||
Для партнёров
|
|
||||||
</button>
|
|
||||||
</Link>
|
|
||||||
</div>
|
|
||||||
</div> */}
|
|
||||||
<div className="row">
|
|
||||||
<div className="col-12 col-xl-6">
|
|
||||||
<div className="auth-developers__box">
|
|
||||||
<AuthBox title="для разработчиков" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className="col-xl-2">
|
|
||||||
<img className="auth-developers__arrow" src={arrow} alt="" />
|
|
||||||
</div>
|
|
||||||
<div className="col-12 col-xl-4">
|
|
||||||
<div className="auth-developers__info">
|
|
||||||
<div className="auth-developers__info-box">
|
|
||||||
<img src={medium} alt="" />
|
|
||||||
<h3>
|
|
||||||
Frontend разработчик,
|
|
||||||
<br /> Middle
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="auth-developers__info-container">
|
|
||||||
<div className="auth-developers__info-img">
|
|
||||||
<div>
|
|
||||||
<img className="cross" src={cross} alt="" />
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
{/* <img className='auth-specialists} src={specialists} alt="" /> */}
|
|
||||||
<p className="auth-developers__specialists">
|
|
||||||
300 Специалистов
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<ul className="auth-developers__info-list">
|
|
||||||
<li className="auth-developers__info-item">
|
|
||||||
Ruby on Rails
|
|
||||||
</li>
|
|
||||||
<li className="auth-developers__info-item">PHP</li>
|
|
||||||
<li className="auth-developers__info-item">Python</li>
|
|
||||||
<li className="auth-developers__info-item">Vue.js</li>
|
|
||||||
<li className="auth-developers__info-item">React. JS</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<img className="auth-developers__img-text" src={text} alt="" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<Footer />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<SideBar />
|
|
||||||
</section>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AuthForDevelopers;
|
|
@ -1,240 +0,0 @@
|
|||||||
.auth-developers {
|
|
||||||
font-family: "LabGrotesque", sans-serif;
|
|
||||||
overflow: hidden;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
&__background {
|
|
||||||
background-color: #f1f1f1;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__vector,
|
|
||||||
&__vector-black {
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__vector {
|
|
||||||
top: -37px;
|
|
||||||
left: -285px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__vector-black {
|
|
||||||
top: 460px;
|
|
||||||
right: -224px;
|
|
||||||
|
|
||||||
@media (max-width: 1200px) {
|
|
||||||
top: 370px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 1024px) {
|
|
||||||
top: 180px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__arrow {
|
|
||||||
margin-top: 360px;
|
|
||||||
z-index: 99;
|
|
||||||
|
|
||||||
@media (max-width: 1200px) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
|
||||||
&__vector,
|
|
||||||
&__vector-black,
|
|
||||||
&__arrow {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&__info {
|
|
||||||
background-color: #e1fccf;
|
|
||||||
margin-top: 70px;
|
|
||||||
max-width: 310px;
|
|
||||||
padding-top: 30px;
|
|
||||||
position: relative;
|
|
||||||
padding-bottom: 310px;
|
|
||||||
|
|
||||||
@media (max-width: 1200px) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-box {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
|
||||||
&__info {
|
|
||||||
max-width: 380px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-box {
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 375.98px) {
|
|
||||||
&__info {
|
|
||||||
max-width: 340px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-box > img {
|
|
||||||
width: 165px;
|
|
||||||
height: 165px;
|
|
||||||
margin-left: -84px;
|
|
||||||
margin-right: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
|
||||||
&__info-box > img {
|
|
||||||
margin-left: 0px;
|
|
||||||
margin-right: 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-box > h3 {
|
|
||||||
font-family: "GT Eesti Pro Display";
|
|
||||||
font-size: 2em;
|
|
||||||
font-weight: 100;
|
|
||||||
font-style: normal;
|
|
||||||
letter-spacing: normal;
|
|
||||||
line-height: 36px;
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
|
||||||
&__info-box > h3 {
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-container {
|
|
||||||
display: flex;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-img {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
text-align: center;
|
|
||||||
margin-top: 28px;
|
|
||||||
margin-left: -40px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-img > div > img {
|
|
||||||
margin-bottom: 100px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__specialists {
|
|
||||||
font-family: "GT Eesti Pro Display";
|
|
||||||
font-size: 1.8em;
|
|
||||||
font-weight: 100;
|
|
||||||
font-style: normal;
|
|
||||||
letter-spacing: normal;
|
|
||||||
line-height: 26.12px;
|
|
||||||
text-align: left;
|
|
||||||
transform: rotate(-90deg);
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-list {
|
|
||||||
list-style: none;
|
|
||||||
margin-top: 110px;
|
|
||||||
position: absolute;
|
|
||||||
right: -70px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
|
||||||
&__info-list {
|
|
||||||
left: 34px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__info-item {
|
|
||||||
color: #1f1f1f;
|
|
||||||
font-family: "GT Eesti Pro Display";
|
|
||||||
font-size: 4em;
|
|
||||||
font-weight: 700;
|
|
||||||
font-style: normal;
|
|
||||||
letter-spacing: normal;
|
|
||||||
line-height: 56.95px;
|
|
||||||
text-align: left;
|
|
||||||
text-decoration: underline;
|
|
||||||
text-transform: uppercase;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
|
||||||
&__info-item {
|
|
||||||
font-size: 2.6em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&__img-text {
|
|
||||||
position: absolute;
|
|
||||||
right: -68px;
|
|
||||||
bottom: -84px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 575.98px) {
|
|
||||||
&__img-text {
|
|
||||||
right: 0px;
|
|
||||||
bottom: -40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
////////////////////////////////////
|
|
||||||
|
|
||||||
&__auth-link {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__auth-link a {
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 766px) {
|
|
||||||
&__form-buttons {
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__form-btn {
|
|
||||||
margin: 0;
|
|
||||||
margin-bottom: 1.5rem;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.change-mode {
|
|
||||||
&__partnersForDev {
|
|
||||||
background: #52b7098c;
|
|
||||||
color: #2d6505;
|
|
||||||
margin-left: -35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__partnersForDev,
|
|
||||||
&__developersForDev {
|
|
||||||
width: 220px;
|
|
||||||
height: 50px;
|
|
||||||
border-radius: 44px;
|
|
||||||
font-size: 16px;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
&__developersForDev {
|
|
||||||
position: relative;
|
|
||||||
background: #406128;
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (max-width: 768px) {
|
|
||||||
&__partnersForDev {
|
|
||||||
margin: 15px 0 0 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -88,11 +88,11 @@ export const PartnerSettings = () => {
|
|||||||
<ProfileBreadcrumbs
|
<ProfileBreadcrumbs
|
||||||
links={[
|
links={[
|
||||||
{ name: "Главная", link: "/profile" },
|
{ name: "Главная", link: "/profile" },
|
||||||
{ name: "Настройка профиля", link: "/profile/settings" },
|
{ name: "Настройки", link: "/profile/settings" },
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
<div className="partner-settings">
|
<div className="partner-settings">
|
||||||
<h2 className="infoPersonal__title">Настройки акаунта</h2>
|
<h2 className="infoPersonal__title">Настройки профиля</h2>
|
||||||
<div className="partner-settings__body">
|
<div className="partner-settings__body">
|
||||||
<div className="partner-settings__login">
|
<div className="partner-settings__login">
|
||||||
<h3 className="settings__title">Вход в систему</h3>
|
<h3 className="settings__title">Вход в систему</h3>
|
||||||
|
@ -36,7 +36,7 @@ export const Profile = () => {
|
|||||||
{
|
{
|
||||||
path: "profile/summary",
|
path: "profile/summary",
|
||||||
img: summaryIcon,
|
img: summaryIcon,
|
||||||
title: "Данные и резюме",
|
title: "Резюме",
|
||||||
description: "Ваше резюме<br/><span>заполнено</span>",
|
description: "Ваше резюме<br/><span>заполнено</span>",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -54,7 +54,7 @@ export const Profile = () => {
|
|||||||
{
|
{
|
||||||
path: "profile/settings",
|
path: "profile/settings",
|
||||||
img: settingIcon,
|
img: settingIcon,
|
||||||
title: "Настройки аккаунта",
|
title: "Настройки профиля",
|
||||||
description: "Перейдите чтобы начать<br/> редактирование",
|
description: "Перейдите чтобы начать<br/> редактирование",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -87,7 +87,7 @@ export const Profile = () => {
|
|||||||
{
|
{
|
||||||
path: "profile/settings",
|
path: "profile/settings",
|
||||||
img: settingIcon,
|
img: settingIcon,
|
||||||
title: "Настройки аккаунта",
|
title: "Настройки профиля",
|
||||||
description: "Перейдите чтобы начать<br/> редактирование",
|
description: "Перейдите чтобы начать<br/> редактирование",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
@ -25,7 +25,7 @@ export const ProfileCandidate = () => {
|
|||||||
{
|
{
|
||||||
path: "profile/settings",
|
path: "profile/settings",
|
||||||
img: settingIcon,
|
img: settingIcon,
|
||||||
title: "Настройки аккаунта",
|
title: "Настройки профиля",
|
||||||
description: "Перейдите чтобы начать редактирование",
|
description: "Перейдите чтобы начать редактирование",
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
@ -41,7 +41,7 @@ export const RegistrationForCandidate = () => {
|
|||||||
</div>
|
</div>
|
||||||
<form className="registrationCandidate__form">
|
<form className="registrationCandidate__form">
|
||||||
<div className="registrationCandidate__form__input">
|
<div className="registrationCandidate__form__input">
|
||||||
<label htmlFor="name">Ваше имя *</label>
|
<label htmlFor="name">Ваше имя</label>
|
||||||
<input id="name" type="text" placeholder="Имя" />
|
<input id="name" type="text" placeholder="Имя" />
|
||||||
</div>
|
</div>
|
||||||
<div className="registrationCandidate__form__input">
|
<div className="registrationCandidate__form__input">
|
||||||
@ -49,19 +49,19 @@ export const RegistrationForCandidate = () => {
|
|||||||
<input id="summary" type="text" placeholder="Резюме" />
|
<input id="summary" type="text" placeholder="Резюме" />
|
||||||
</div>
|
</div>
|
||||||
<div className="registrationCandidate__form__input">
|
<div className="registrationCandidate__form__input">
|
||||||
<label htmlFor="email">Ваш email *</label>
|
<label htmlFor="email">Ваш e-mail</label>
|
||||||
<input id="email" type="text" placeholder="Email" />
|
<input id="email" type="text" placeholder="E-mail" />
|
||||||
</div>
|
</div>
|
||||||
<div className="registrationCandidate__form__input">
|
<div className="registrationCandidate__form__input">
|
||||||
<label htmlFor="tg">Ваш телеграм*</label>
|
<label htmlFor="tg">Ваш telegram</label>
|
||||||
<input id="tg" type="text" placeholder="Телеграм" />
|
<input id="tg" type="text" placeholder="Telegram" />
|
||||||
</div>
|
</div>
|
||||||
<div className="registrationCandidate__form__input">
|
<div className="registrationCandidate__form__input">
|
||||||
<label htmlFor="password">Придумайте пароль*</label>
|
<label htmlFor="password">Придумайте пароль</label>
|
||||||
<input id="password" type="text" placeholder="Пароль" />
|
<input id="password" type="text" placeholder="Пароль" />
|
||||||
</div>
|
</div>
|
||||||
<div className="registrationCandidate__form__input">
|
<div className="registrationCandidate__form__input">
|
||||||
<label htmlFor="secondPassword">Повторите пароль*</label>
|
<label htmlFor="secondPassword">Повторите пароль</label>
|
||||||
<input id="secondPassword" type="text" placeholder="Пароль" />
|
<input id="secondPassword" type="text" placeholder="Пароль" />
|
||||||
</div>
|
</div>
|
||||||
<div className="registrationCandidate__form__submit">
|
<div className="registrationCandidate__form__submit">
|
||||||
|
@ -59,7 +59,7 @@ export const Summary = () => {
|
|||||||
<ProfileBreadcrumbs
|
<ProfileBreadcrumbs
|
||||||
links={[
|
links={[
|
||||||
{ name: "Главная", link: "/profile" },
|
{ name: "Главная", link: "/profile" },
|
||||||
{ name: "Данные и резюме", link: "/profile/summary" },
|
{ name: "Резюме", link: "/profile/summary" },
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
<h2 className="summary__title">
|
<h2 className="summary__title">
|
||||||
@ -98,7 +98,7 @@ export const Summary = () => {
|
|||||||
<div className="summary__skills skills__section">
|
<div className="summary__skills skills__section">
|
||||||
<div className="summary__sections__head">
|
<div className="summary__sections__head">
|
||||||
<h3>Основной стек</h3>
|
<h3>Основной стек</h3>
|
||||||
<button>Редактировать раздел</button>
|
<button>Редактировать</button>
|
||||||
</div>
|
</div>
|
||||||
<div className="skills__section__items">
|
<div className="skills__section__items">
|
||||||
<div className="skills__section__items__wrapper">
|
<div className="skills__section__items__wrapper">
|
||||||
@ -117,7 +117,7 @@ export const Summary = () => {
|
|||||||
<div className="summary__experience">
|
<div className="summary__experience">
|
||||||
<div className="experience__block">
|
<div className="experience__block">
|
||||||
<div className="summary__sections__head">
|
<div className="summary__sections__head">
|
||||||
<h3>Описание опыта работы</h3>
|
<h3>Опыт работы</h3>
|
||||||
<button
|
<button
|
||||||
className={editSummeryOpen ? "edit" : ""}
|
className={editSummeryOpen ? "edit" : ""}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
@ -127,7 +127,7 @@ export const Summary = () => {
|
|||||||
setEditSummeryOpen(!editSummeryOpen);
|
setEditSummeryOpen(!editSummeryOpen);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{editSummeryOpen ? "Сохранить" : "Редактировать раздел"}
|
{editSummeryOpen ? "Сохранить" : "Редактировать"}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
{editSummeryOpen ? (
|
{editSummeryOpen ? (
|
||||||
@ -165,8 +165,8 @@ export const Summary = () => {
|
|||||||
{openGit && (
|
{openGit && (
|
||||||
<div className="summary__sectionGit">
|
<div className="summary__sectionGit">
|
||||||
<div className="summary__sections__head">
|
<div className="summary__sections__head">
|
||||||
<h3>Страница портфолио кода разработчика</h3>
|
<h3>Ваши репозитории</h3>
|
||||||
<button>Редактировать раздел</button>
|
<button>Редактировать</button>
|
||||||
</div>
|
</div>
|
||||||
<div className="summary__sectionGitItems">
|
<div className="summary__sectionGitItems">
|
||||||
{Boolean(gitInfo.length) &&
|
{Boolean(gitInfo.length) &&
|
||||||
|
@ -110,14 +110,6 @@
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
position: relative;
|
position: relative;
|
||||||
white-space: nowrap;
|
|
||||||
|
|
||||||
//@media (max-width: 915px) {
|
|
||||||
// max-width: 220px;
|
|
||||||
// overflow: hidden;
|
|
||||||
// white-space: nowrap;
|
|
||||||
// text-overflow: ellipsis;
|
|
||||||
//}
|
|
||||||
|
|
||||||
@media (max-width: 690px) {
|
@media (max-width: 690px) {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -128,13 +120,12 @@
|
|||||||
@media (max-width: 550px) {
|
@media (max-width: 550px) {
|
||||||
max-width: 200px;
|
max-width: 200px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 450px) {
|
@media (max-width: 450px) {
|
||||||
max-width: 150px;
|
max-width: 160px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:after {
|
&:after {
|
||||||
@ -170,6 +161,11 @@
|
|||||||
width: 120px;
|
width: 120px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 450px) {
|
||||||
|
width: 80px;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&__skills {
|
&__skills {
|
||||||
@ -246,6 +242,11 @@
|
|||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
|
|
||||||
|
@media (max-width: 550px) {
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,19 +31,19 @@ export const TrackerRegistration = () => {
|
|||||||
<div className="trackerRegistration__form">
|
<div className="trackerRegistration__form">
|
||||||
<div className="trackerRegistration__form__inputs">
|
<div className="trackerRegistration__form__inputs">
|
||||||
<div className="trackerRegistration__inputContainer">
|
<div className="trackerRegistration__inputContainer">
|
||||||
<span>Ваше имя *</span>
|
<span>Ваше имя</span>
|
||||||
<input placeholder="Имя" />
|
<input placeholder="Имя" />
|
||||||
</div>
|
</div>
|
||||||
<div className="trackerRegistration__inputContainer">
|
<div className="trackerRegistration__inputContainer">
|
||||||
<span>Ваш email *</span>
|
<span>Ваш e-mail</span>
|
||||||
<input placeholder="Email" type="email" />
|
<input placeholder="E-mail" type="email" />
|
||||||
</div>
|
</div>
|
||||||
<div className="trackerRegistration__inputContainer">
|
<div className="trackerRegistration__inputContainer">
|
||||||
<span>Придумайте пароль*</span>
|
<span>Придумайте пароль</span>
|
||||||
<input placeholder="Пароль" />
|
<input placeholder="Пароль" />
|
||||||
</div>
|
</div>
|
||||||
<div className="trackerRegistration__inputContainer">
|
<div className="trackerRegistration__inputContainer">
|
||||||
<span>Повторите пароль*</span>
|
<span>Повторите пароль</span>
|
||||||
<input placeholder="Повторите пароль" />
|
<input placeholder="Повторите пароль" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,7 +14,7 @@ export function createMarkup(text) {
|
|||||||
// `<div class='experience__block'>
|
// `<div class='experience__block'>
|
||||||
// <div class="summary__sections__head">
|
// <div class="summary__sections__head">
|
||||||
// <h3>Описание опыта работы</h3>
|
// <h3>Описание опыта работы</h3>
|
||||||
// <button>Редактировать раздел</button>
|
// <button>Редактировать</button>
|
||||||
// </div>
|
// </div>
|
||||||
// <div class="experience__content">${item.split("<h3>")[0]}</div>
|
// <div class="experience__content">${item.split("<h3>")[0]}</div>
|
||||||
// </div>`
|
// </div>`
|
||||||
|
Loading…
Reference in New Issue
Block a user