diff --git a/kafka-ui-react-app/src/components/App.styled.ts b/kafka-ui-react-app/src/components/App.styled.ts index 94400cea87..d854f1f241 100644 --- a/kafka-ui-react-app/src/components/App.styled.ts +++ b/kafka-ui-react-app/src/components/App.styled.ts @@ -2,6 +2,8 @@ import styled, { css } from 'styled-components'; import { Link } from 'react-router-dom'; import { Button } from './common/Button/Button'; +import GitIcon from './common/Icons/GitIcon'; +import DiscordIcon from './common/Icons/DiscordIcon'; export const Layout = styled.div` min-width: 1200px; @@ -75,7 +77,7 @@ export const Overlay = styled.div<{ $visible: boolean }>( ({ theme, $visible }) => css` height: calc(100vh - ${theme.layout.navBarHeight}); z-index: 99; - visibility: 'hidden'; + visibility: hidden; opacity: 0; -webkit-transition: all 0.5s ease; transition: all 0.5s ease; @@ -87,7 +89,7 @@ export const Overlay = styled.div<{ $visible: boolean }>( @media screen and (max-width: 1023px) { bottom: 0; right: 0; - visibility: 'visible'; + visibility: visible; opacity: 0.7; background-color: ${theme.layout.overlay.backgroundColor}; } @@ -97,6 +99,9 @@ export const Overlay = styled.div<{ $visible: boolean }>( export const Navbar = styled.nav( ({ theme }) => css` + display: flex; + align-items: center; + justify-content: space-between; border-bottom: 1px solid ${theme.layout.stuffBorderColor}; position: fixed; top: 0; @@ -110,13 +115,45 @@ export const Navbar = styled.nav( export const NavbarBrand = styled.div` display: flex; - justify-content: space-between; + justify-content: flex-end; align-items: center !important; flex-shrink: 0; - align-items: stretch; min-height: 3.25rem; `; +export const SocialLink = styled.a( + ({ theme: { layout, icons } }) => css` + display: block; + margin-top: 5px; + cursor: pointer; + fill: ${layout.socialLink.color}; + + &:hover { + ${DiscordIcon} { + fill: ${icons.discord.hover}; + } + ${GitIcon} { + fill: ${icons.git.hover}; + } + } + &:active { + ${DiscordIcon} { + fill: ${icons.discord.active}; + } + ${GitIcon} { + fill: ${icons.git.active}; + } + } + ` +); + +export const NavbarSocial = styled.div` + display: flex; + align-items: center; + gap: 10px; + margin: 10px; +`; + export const NavbarItem = styled.div` display: flex; position: relative; @@ -220,6 +257,6 @@ export const LogoutButton = styled(Button)( export const LogoutLink = styled(Link)( () => css` - margin-right: 16px; + margin-right: 2px; ` ); diff --git a/kafka-ui-react-app/src/components/App.tsx b/kafka-ui-react-app/src/components/App.tsx index 91b74145e4..c26f551483 100644 --- a/kafka-ui-react-app/src/components/App.tsx +++ b/kafka-ui-react-app/src/components/App.tsx @@ -19,6 +19,8 @@ import { import * as S from './App.styled'; import Logo from './common/Logo/Logo'; +import GitIcon from './common/Icons/GitIcon'; +import DiscordIcon from './common/Icons/DiscordIcon'; const App: React.FC = () => { const dispatch = useAppDispatch(); @@ -64,12 +66,26 @@ const App: React.FC = () => { {GIT_TAG && } + + Log out - + + + + + + + diff --git a/kafka-ui-react-app/src/components/common/Icons/DiscordIcon.tsx b/kafka-ui-react-app/src/components/common/Icons/DiscordIcon.tsx new file mode 100644 index 0000000000..0df8701b93 --- /dev/null +++ b/kafka-ui-react-app/src/components/common/Icons/DiscordIcon.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import styled from 'styled-components'; + +const DiscordIcon: React.FC<{ className?: string }> = ({ className }) => ( + + + +); + +export default styled(DiscordIcon)``; diff --git a/kafka-ui-react-app/src/components/common/Icons/GitIcon.tsx b/kafka-ui-react-app/src/components/common/Icons/GitIcon.tsx new file mode 100644 index 0000000000..daecb611ff --- /dev/null +++ b/kafka-ui-react-app/src/components/common/Icons/GitIcon.tsx @@ -0,0 +1,21 @@ +import React from 'react'; +import styled from 'styled-components'; + +const GitIcon: React.FC<{ className?: string }> = ({ className }) => ( + + + +); + +export default styled(GitIcon)``; diff --git a/kafka-ui-react-app/src/theme/theme.ts b/kafka-ui-react-app/src/theme/theme.ts index c9fd10566a..478f0ede49 100644 --- a/kafka-ui-react-app/src/theme/theme.ts +++ b/kafka-ui-react-app/src/theme/theme.ts @@ -33,6 +33,7 @@ export const Colors = { brand: { '5': '#E8E8FC', '10': '#D1D1FA', + '15': '#B8BEF9', '20': '#A3A3F5', '50': '#4C4CFF', '60': '#1717CF', @@ -54,6 +55,8 @@ export const Colors = { '20': '#bbdefb', '30': '#90caf9', '40': '#64b5f6', + '45': '#5865F2', + '50': '#5B67E3', }, }; @@ -67,6 +70,9 @@ const theme = { overlay: { backgroundColor: Colors.neutral[50], }, + socialLink: { + color: Colors.neutral[20], + }, }, panelColor: Colors.neutral[0], breadcrumb: Colors.neutral[30], @@ -493,6 +499,14 @@ const theme = { closeModalIcon: Colors.neutral[25], savedIcon: Colors.brand[50], dropdownArrowIcon: Colors.neutral[30], + git: { + hover: Colors.neutral[70], + active: Colors.neutral[90], + }, + discord: { + hover: Colors.brand[15], + active: Colors.blue[45], + }, }, viewer: { wrapper: Colors.neutral[3],