summaryrefslogtreecommitdiff
path: root/src/frontend/components/Header
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/components/Header')
-rw-r--r--src/frontend/components/Header/Header.styled.ts55
-rw-r--r--src/frontend/components/Header/Header.tsx26
-rw-r--r--src/frontend/components/Header/index.ts4
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';