Skip to content

Commit 13652f1

Browse files
committed
[core] Add theme support to page base
1 parent 5d77724 commit 13652f1

File tree

6 files changed

+73
-3
lines changed

6 files changed

+73
-3
lines changed

assets.sketch

86.6 KB
Binary file not shown.

src/assets/logo-text-white.svg

Lines changed: 43 additions & 0 deletions
Loading

src/components/PageBase/Header/Header.jsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,26 @@
11
import React from 'react';
22
import { Link } from 'react-router-dom';
3+
import cx from 'classnames';
4+
import { useTheme } from '../../../ThemeProvider';
35
import GithubButton from '../../GithubButton/GithubButton';
46
import logoText from '../../../assets/logo-text.svg';
7+
import logoTextWhite from '../../../assets/logo-text-white.svg';
58
import classes from './Header.styles.less';
69

710
export default function Header() {
11+
const [theme] = useTheme();
12+
813
return (
9-
<header className={classes.header}>
14+
<header className={cx(classes.header, classes[theme])}>
1015
<div className={classes.headerBody}>
1116
<Link to="/">
12-
<img className={classes.logo} src={logoText} alt="" width={340} height={72} />
17+
<img
18+
className={classes.logo}
19+
src={theme === 'light' ? logoText : logoTextWhite}
20+
alt=""
21+
width={340}
22+
height={72}
23+
/>
1324
</Link>
1425
<p className={classes.description}>Open source browser tools for everyday use</p>
1526
</div>

src/components/PageBase/Header/Header.styles.less

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,11 @@
2929
margin-bottom: 18px;
3030
}
3131
}
32+
33+
.dark {
34+
border-bottom-color: @oc-gray-6;
35+
36+
.description {
37+
color: @oc-gray-1;
38+
}
39+
}

src/components/PageBase/PageBase.jsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
import React from 'react';
22
import PropTypes from 'prop-types';
3+
import cx from 'classnames';
4+
import { useTheme } from '../../ThemeProvider';
35
import Footer from './Footer/Footer';
46
import Header from './Header/Header';
57
import classes from './PageBase.styles.less';
68

79
export default function PageBase({ children }) {
10+
const [theme] = useTheme();
11+
812
return (
9-
<main className={classes.wrapper}>
13+
<main className={cx(classes.wrapper, classes[theme])}>
1014
<div className={classes.container}>
1115
<Header />
1216
{children}

src/components/PageBase/PageBase.styles.less

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,7 @@
1111
padding-left: 20px;
1212
padding-right: 20px;
1313
}
14+
15+
.dark {
16+
background-color: @oc-gray-9;
17+
}

0 commit comments

Comments
 (0)