zepio/app/theme.js

63 lines
1.2 KiB
JavaScript
Raw Normal View History

2018-11-28 14:02:42 -08:00
// @flow
import React, { Fragment } from 'react';
import theme from 'styled-theming';
2018-11-28 18:45:37 -08:00
import { ThemeProvider, createGlobalStyle } from 'styled-components';
// $FlowFixMe
import { normalize } from 'polished'; // eslint-disable-line
2018-11-28 14:02:42 -08:00
import { DARK } from './constants/themes';
2018-12-05 10:12:50 -08:00
const darkOne = '#7B00DD';
2018-12-04 20:26:03 -08:00
const lightOne = '#ffffff';
const brandOne = '#624cda';
const brandTwo = '#a6ede2';
2018-12-10 09:05:06 -08:00
const activeItem = '#F5CB00';
2018-12-10 12:50:31 -08:00
const text = '#FFF';
const cardBackgroundColor = '#000';
2018-12-04 20:26:03 -08:00
2018-11-28 17:54:08 -08:00
const appTheme = {
2018-11-28 14:02:42 -08:00
mode: DARK,
2018-12-04 20:26:03 -08:00
fontFamily: 'PT Sans',
2018-11-28 14:02:42 -08:00
colors: {
primary: theme('mode', {
2018-12-04 20:26:03 -08:00
light: lightOne,
dark: darkOne,
}),
2018-12-05 10:12:50 -08:00
secondary: theme('mode', {
light: darkOne,
dark: lightOne,
}),
2018-12-04 20:26:03 -08:00
sidebarBg: brandOne,
sidebarItem: brandTwo,
sidebarItemActive: lightOne,
2018-12-10 12:50:31 -08:00
cardBackgroundColor,
text,
2018-12-10 09:05:06 -08:00
activeItem,
2018-11-28 14:02:42 -08:00
},
size: {
title: 18,
paragraph: 12,
},
};
2018-11-28 17:54:08 -08:00
export const GlobalStyle = createGlobalStyle`
${normalize()}
* {
box-sizing: border-box;
}
`;
2018-11-28 17:54:08 -08:00
/* eslint-disable react/prop-types */
// $FlowFixMe
export const DoczWrapper = ({ children }) => (
<ThemeProvider theme={appTheme}>
<Fragment>
<GlobalStyle />
{children()}
</Fragment>
</ThemeProvider>
);
2018-11-28 18:45:37 -08:00
export default appTheme;