diff --git a/app/gabsocial/containers/gabsocial.js b/app/gabsocial/containers/gabsocial.js
index 77f4509fe..5e1d0675f 100644
--- a/app/gabsocial/containers/gabsocial.js
+++ b/app/gabsocial/containers/gabsocial.js
@@ -4,6 +4,7 @@ import React from 'react';
import { Provider, connect } from 'react-redux';
import PropTypes from 'prop-types';
import Helmet from 'gabsocial/components/helmet';
+import classNames from 'classnames';
import configureStore from '../store/configureStore';
import { INTRODUCTION_VERSION } from '../actions/onboarding';
import { Switch, BrowserRouter, Route } from 'react-router-dom';
@@ -42,6 +43,7 @@ const mapStateToProps = (state) => {
showIntroduction,
me,
theme: state.getIn(['settings', 'theme']),
+ systemFont: state.getIn(['settings', 'systemFont']),
};
};
@@ -52,10 +54,11 @@ class GabSocialMount extends React.PureComponent {
showIntroduction: PropTypes.bool,
me: PropTypes.string,
theme: PropTypes.string,
+ systemFont: PropTypes.bool,
};
render() {
- const { me, theme } = this.props;
+ const { me, theme, systemFont } = this.props;
if (me === null) return null;
// Disabling introduction for launch
@@ -65,9 +68,15 @@ class GabSocialMount extends React.PureComponent {
// return ;
// }
+ const bodyClass = classNames('app-body', {
+ [`theme-${theme}`]: theme,
+ 'system-font': systemFont,
+ });
+
return (
<>
+
{theme && }
diff --git a/app/gabsocial/features/preferences/index.js b/app/gabsocial/features/preferences/index.js
index ce0b75406..9b3a1a0d3 100644
--- a/app/gabsocial/features/preferences/index.js
+++ b/app/gabsocial/features/preferences/index.js
@@ -132,6 +132,10 @@ class Preferences extends ImmutablePureComponent {
label='Reduce motion in animations'
path={['reduceMotion']}
/>
+
diff --git a/app/gabsocial/reducers/settings.js b/app/gabsocial/reducers/settings.js
index c3b30481a..8c6323a3d 100644
--- a/app/gabsocial/reducers/settings.js
+++ b/app/gabsocial/reducers/settings.js
@@ -22,6 +22,8 @@ const initialState = ImmutableMap({
defaultPrivacy: 'public',
theme: 'lime',
+ systemFont: false,
+
home: ImmutableMap({
shows: ImmutableMap({
reblog: true,