diff options
Diffstat (limited to 'src/frontend/components/Header')
| -rw-r--r-- | src/frontend/components/Header/Header.styled.ts | 55 | ||||
| -rw-r--r-- | src/frontend/components/Header/Header.tsx | 26 | ||||
| -rw-r--r-- | src/frontend/components/Header/index.ts | 4 |
3 files changed, 85 insertions, 0 deletions
diff --git a/src/frontend/components/Header/Header.styled.ts b/src/frontend/components/Header/Header.styled.ts new file mode 100644 index 0000000..39d6240 --- /dev/null +++ b/src/frontend/components/Header/Header.styled.ts @@ -0,0 +1,55 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +import Link from 'next/link'; +import styled from 'styled-components'; + +export const Header = styled.header` + background-color: #853b5c; + color: white; +`; + +export const NavBar = styled.nav` + height: 80px; + background-color: white; + font-size: 15px; + color: #b4b2bb; + border-bottom: 1px solid ${({ theme }) => theme.colors.textGray}; + z-index: 1; + padding: 0; + + ${({ theme }) => theme.breakpoints.desktop} { + height: 100px; + } +`; + +export const Container = styled.div` + display: flex; + justify-content: space-between; + align-items: center; + width: 100%; + height: 100%; + padding: 0 20px; + + ${({ theme }) => theme.breakpoints.desktop} { + padding: 25px 100px; + } +`; + +export const NavBarBrand = styled(Link)` + display: flex; + align-items: center; + padding: 0; +`; + +export const BrandImg = styled.img.attrs({ + src: '/images/opentelemetry-demo-logo.png', +})` + width: 280px; + height: auto; +`; + +export const Controls = styled.div` + display: flex; + height: 60px; +`; diff --git a/src/frontend/components/Header/Header.tsx b/src/frontend/components/Header/Header.tsx new file mode 100644 index 0000000..857fc7b --- /dev/null +++ b/src/frontend/components/Header/Header.tsx @@ -0,0 +1,26 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +import CartIcon from '../CartIcon'; +import CurrencySwitcher from '../CurrencySwitcher'; +import * as S from './Header.styled'; + +const Header = () => { + return ( + <S.Header> + <S.NavBar> + <S.Container> + <S.NavBarBrand href="/"> + <S.BrandImg /> + </S.NavBarBrand> + <S.Controls> + <CurrencySwitcher /> + <CartIcon /> + </S.Controls> + </S.Container> + </S.NavBar> + </S.Header> + ); +}; + +export default Header; diff --git a/src/frontend/components/Header/index.ts b/src/frontend/components/Header/index.ts new file mode 100644 index 0000000..4afb2c7 --- /dev/null +++ b/src/frontend/components/Header/index.ts @@ -0,0 +1,4 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +export {default} from './Header'; |
