diff --git a/src/front/assets/icons/notification.svg b/src/front/assets/icons/notification.svg new file mode 100644 index 00000000..ab1761dd --- /dev/null +++ b/src/front/assets/icons/notification.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/front/assets/icons/user.svg b/src/front/assets/icons/user.svg new file mode 100644 index 00000000..61ee9be9 --- /dev/null +++ b/src/front/assets/icons/user.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/front/components/DesignSystem/Header/HeaderLink/index.tsx b/src/front/components/DesignSystem/Header/HeaderLink/index.tsx index b1c0118d..9c1259f5 100644 --- a/src/front/components/DesignSystem/Header/HeaderLink/index.tsx +++ b/src/front/components/DesignSystem/Header/HeaderLink/index.tsx @@ -8,7 +8,7 @@ import { useEffect, useState } from 'react' type IPropsClass = { text: string | JSX.Element; - path: string; + path?: string; isActive?: boolean; }; @@ -16,7 +16,7 @@ type IStateClass = {}; class HeaderLinkClass extends React.Component { public override render(): JSX.Element { - return
diff --git a/src/front/components/DesignSystem/Header/Navigation/classes.module.scss b/src/front/components/DesignSystem/Header/Navigation/classes.module.scss new file mode 100644 index 00000000..79e9f40c --- /dev/null +++ b/src/front/components/DesignSystem/Header/Navigation/classes.module.scss @@ -0,0 +1,5 @@ +@import "@Themes/constants.scss"; + +.root { + display: inline-flex; +} diff --git a/src/front/components/DesignSystem/Header/Navigation/index.tsx b/src/front/components/DesignSystem/Header/Navigation/index.tsx new file mode 100644 index 00000000..b5d8402d --- /dev/null +++ b/src/front/components/DesignSystem/Header/Navigation/index.tsx @@ -0,0 +1,18 @@ +import React from "react"; +import classes from "./classes.module.scss"; +import HeaderLink from "../HeaderLink"; + +type IProps = {}; +type IState = {}; + +export default class Navigation extends React.Component { + public override render(): JSX.Element { + return
+ + + + + +
; + } +} diff --git a/src/front/components/DesignSystem/Header/Notifications/classes.module.scss b/src/front/components/DesignSystem/Header/Notifications/classes.module.scss new file mode 100644 index 00000000..9501ac5b --- /dev/null +++ b/src/front/components/DesignSystem/Header/Notifications/classes.module.scss @@ -0,0 +1,8 @@ +@import "@Themes/constants.scss"; + +.root { + .notification-icon{ + height: 24px; + width: 24px; + } +} diff --git a/src/front/components/DesignSystem/Header/Notifications/index.tsx b/src/front/components/DesignSystem/Header/Notifications/index.tsx new file mode 100644 index 00000000..ba9fb00d --- /dev/null +++ b/src/front/components/DesignSystem/Header/Notifications/index.tsx @@ -0,0 +1,15 @@ +import React from "react"; +import classes from "./classes.module.scss"; +import Image from "next/image"; +import NotificationIcon from "@Assets/icons/notification.svg"; + +type IProps = {}; +type IState = {}; + +export default class Notifications extends React.Component { + public override render(): JSX.Element { + return
+ notifications +
; + } +} diff --git a/src/front/components/DesignSystem/Header/Profile/classes.module.scss b/src/front/components/DesignSystem/Header/Profile/classes.module.scss new file mode 100644 index 00000000..43b03265 --- /dev/null +++ b/src/front/components/DesignSystem/Header/Profile/classes.module.scss @@ -0,0 +1,8 @@ +@import "@Themes/constants.scss"; + +.root { + .profile-icon{ + height: 24px; + width: 24px; + } +} diff --git a/src/front/components/DesignSystem/Header/Profile/index.tsx b/src/front/components/DesignSystem/Header/Profile/index.tsx new file mode 100644 index 00000000..8605842b --- /dev/null +++ b/src/front/components/DesignSystem/Header/Profile/index.tsx @@ -0,0 +1,15 @@ +import React from "react"; +import classes from "./classes.module.scss"; +import Image from "next/image"; +import ProfileIcon from "@Assets/icons/user.svg"; + +type IProps = {}; +type IState = {}; + +export default class Profile extends React.Component { + public override render(): JSX.Element { + return
+ notifications +
; + } +} diff --git a/src/front/components/DesignSystem/Header/classes.module.scss b/src/front/components/DesignSystem/Header/classes.module.scss index bf60b8df..5757c25c 100644 --- a/src/front/components/DesignSystem/Header/classes.module.scss +++ b/src/front/components/DesignSystem/Header/classes.module.scss @@ -3,14 +3,23 @@ .root { display: flex; align-items: center; + justify-content: space-between; height: 83px; background-color: $white; box-shadow: $shadow-neutral; padding: 0 48px; - .logo-container{ - .logo{ + + .logo-container { + .logo { width: 174px; height: 39px; } } + + .right-section { + display: inline-flex; + >:first-child{ + margin-right: 32px; + } + } } \ No newline at end of file diff --git a/src/front/components/DesignSystem/Header/index.tsx b/src/front/components/DesignSystem/Header/index.tsx index 6f9b34c3..b4ca00a9 100644 --- a/src/front/components/DesignSystem/Header/index.tsx +++ b/src/front/components/DesignSystem/Header/index.tsx @@ -3,6 +3,9 @@ import classes from "./classes.module.scss"; import Image from "next/image"; import LogoIcon from "@Assets/logo.png" import Link from "next/link"; +import Navigation from "./Navigation"; +import Notifications from "./Notifications"; +import Profile from "./Profile"; type IProps = {}; type IState = {}; @@ -15,6 +18,11 @@ export default class Header extends React.Component { logo
+ +
+ + +
; } }