diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e6279cfb..f3a72d2f 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -99,7 +99,7 @@ class ApplicationController < ActionController::Base end def current_theme - return Setting.theme unless Themes.instance.names.include? current_user&.setting_theme + return Setting.theme current_user.setting_theme end diff --git a/app/javascript/gabsocial/actions/tenor.js b/app/javascript/gabsocial/actions/tenor.js index efd2f352..3f0653b1 100644 --- a/app/javascript/gabsocial/actions/tenor.js +++ b/app/javascript/gabsocial/actions/tenor.js @@ -1,5 +1,5 @@ import api from '../api'; -import { me, tenorkey } from '../initial_state' +import { me } from '../initial_state' export const GIFS_CLEAR_RESULTS = 'GIFS_CLEAR_RESULTS' export const GIF_SET_SELECTED = 'GIF_SET_SELECTED' diff --git a/app/javascript/gabsocial/components/error_boundary.js b/app/javascript/gabsocial/components/error_boundary.js index 9d7e696c..4c94ca0e 100644 --- a/app/javascript/gabsocial/components/error_boundary.js +++ b/app/javascript/gabsocial/components/error_boundary.js @@ -1,3 +1,5 @@ +import Layout from '../layouts/layout' + export default class ErrorBoundary extends PureComponent { static propTypes = { diff --git a/app/javascript/gabsocial/components/modal/display_options_modal.js b/app/javascript/gabsocial/components/modal/display_options_modal.js index aa237e12..40244a91 100644 --- a/app/javascript/gabsocial/components/modal/display_options_modal.js +++ b/app/javascript/gabsocial/components/modal/display_options_modal.js @@ -1,24 +1,30 @@ import { injectIntl, defineMessages } from 'react-intl' -import { muteAccount } from '../../actions/accounts' +import ImmutablePureComponent from 'react-immutable-pure-component' +import ImmutablePropTypes from 'react-immutable-proptypes' +import ModalLayout from './modal_layout' +import Button from '../button' +import Text from '../text' +import SettingSwitch from '../setting_switch' const messages = defineMessages({ - muteMessage: { id: 'confirmations.mute.message', defaultMessage: 'Are you sure you want to mute {name}?' }, - cancel: { id: 'confirmation_modal.cancel', defaultMessage: 'Cancel' }, - title: { id: 'display_options', defaultMessage: 'Display Options' }, + message: { id: 'display_options.message', defaultMessage: 'Display settings affect your Gab account on this browser. These settings are only visible to you.' }, + title: { id: 'display_options', defaultMessage: 'Customize your view' }, }) const mapStateToProps = (state) => ({ - + settings: state.getIn(['notifications', 'filter']), }) const mapDispatchToProps = (dispatch) => ({ - + onChange(path, value) { + dispatch(setFilter(path, value)) + }, }) export default @connect(mapStateToProps, mapDispatchToProps) @injectIntl -class DisplayOptionsModal extends PureComponent { +class DisplayOptionsModal extends ImmutablePureComponent { static propTypes = { isSubmitting: PropTypes.bool.isRequired, @@ -26,10 +32,8 @@ class DisplayOptionsModal extends PureComponent { onConfirm: PropTypes.func.isRequired, onClose: PropTypes.func.isRequired, intl: PropTypes.object.isRequired, - } - - componentDidMount() { - this.button.focus() + onChange: PropTypes.func.isRequired, + settings: ImmutablePropTypes.map.isRequired, } handleClick = () => { @@ -37,20 +41,107 @@ class DisplayOptionsModal extends PureComponent { this.props.onConfirm(this.props.account, this.props.notifications) } - handleCancel = () => { - this.props.onClose() - } - // document.documentElement.style.setProperty("--color-surface", "black"); render() { - const { account, intl } = this.props + const { + account, + intl, + settings, + onChange, + onClose, + } = this.props + + // theme - light, muted, dark + // text size - extra small, small, normal, medium, large, extra large + // rounded borders return ( + +
+ + {intl.formatMessage(messages.message)} + +
+ +
+ + Font Size + +
+ test +
+
+ +
+ + Rounded + +
+ + + +
+
+ +
+ + Theme + +
+ +
+
+ + Light + +
+
+ +
+
+ + Muted + +
+
+ +
+
+ + Black + +
+
+ +
+
+ +
+ +
+
) } diff --git a/app/javascript/gabsocial/components/navigation_bar.js b/app/javascript/gabsocial/components/navigation_bar.js index 43279f3d..7c050d92 100644 --- a/app/javascript/gabsocial/components/navigation_bar.js +++ b/app/javascript/gabsocial/components/navigation_bar.js @@ -1,14 +1,15 @@ import ImmutablePropTypes from 'react-immutable-proptypes' import ImmutablePureComponent from 'react-immutable-pure-component' -import { NavLink } from 'react-router-dom' import { BREAKPOINT_EXTRA_SMALL } from '../constants' import { me } from '../initial_state' import { makeGetAccount } from '../selectors' import Responsive from '../features/ui/util/responsive_component' import { CX } from '../constants' -import Search from './search' import Avatar from './avatar' +import Button from './button' import Icon from './icon' +import Search from './search' +import Text from './text' const mapStateToProps = (state) => ({ account: makeGetAccount()(state, me), @@ -48,9 +49,9 @@ class NavigationBar extends ImmutablePureComponent {

- +

@@ -68,12 +69,12 @@ class NavigationBar extends ImmutablePureComponent { - +
@@ -103,7 +104,7 @@ class NavigationBarButton extends PureComponent { title: PropTypes.string, icon: PropTypes.string, to: PropTypes.string, - onClick: PropTypes.func, + href: PropTypes.string, } render() { @@ -111,7 +112,7 @@ class NavigationBarButton extends PureComponent { title, icon, to, - onClick, + href, } = this.props const active = false @@ -131,6 +132,7 @@ class NavigationBarButton extends PureComponent { fs13PX: !!title, fontWeightNormal: !!title, textUppercase: !!title, + noUnderline: 1, }) const iconClasses = CX({ @@ -142,14 +144,21 @@ class NavigationBarButton extends PureComponent { const iconSize = !!title ? 16 : 18 return ( - + { + !!title && + + {title} + + } + ) } diff --git a/app/javascript/gabsocial/components/sidebar.js b/app/javascript/gabsocial/components/sidebar.js index 86e77554..e7498e8c 100644 --- a/app/javascript/gabsocial/components/sidebar.js +++ b/app/javascript/gabsocial/components/sidebar.js @@ -153,11 +153,6 @@ class Sidebar extends ImmutablePureComponent { icon: 'list', to: '/lists', }, - { - title: 'Chat', - icon: 'chat', - href: 'https://chat.gab.com', - }, { title: 'More', icon: 'more', @@ -183,6 +178,11 @@ class Sidebar extends ImmutablePureComponent { ] const exploreItems = [ + { + title: 'Chat', + icon: 'chat', + href: 'https://chat.gab.com', + }, { title: 'Apps', icon: 'apps', diff --git a/app/javascript/gabsocial/components/sidebar_section_item.js b/app/javascript/gabsocial/components/sidebar_section_item.js index f4d590c4..7c063915 100644 --- a/app/javascript/gabsocial/components/sidebar_section_item.js +++ b/app/javascript/gabsocial/components/sidebar_section_item.js @@ -52,7 +52,7 @@ export default class SidebarSectionItem extends PureComponent { const { hovering } = this.state const iconSize = '16px' - const currentPathname = this.context.router.route.location.pathname + const currentPathname = this.context.router ? this.context.router.route.location.pathname : undefined const shouldShowActive = hovering || active || currentPathname === to || currentPathname === href const isNotifications = to === '/notifications' diff --git a/app/javascript/gabsocial/constants.js b/app/javascript/gabsocial/constants.js index e3185252..0086ed65 100644 --- a/app/javascript/gabsocial/constants.js +++ b/app/javascript/gabsocial/constants.js @@ -60,3 +60,27 @@ export const MODAL_STATUS_REVISIONS = 'STATUS_REVISIONS' export const MODAL_UNAUTHORIZED = 'UNAUTHORIZED' export const MODAL_UNFOLLOW = 'UNFOLLOW' export const MODAL_VIDEO = 'VIDEO' + +export const FONT_SIZES_EXTRA_SMALL = '12px' +export const FONT_SIZES_SMALL = '13px' +export const FONT_SIZES_NORMAL = '14px' +export const FONT_SIZES_MEDIUM = '15px' +export const FONT_SIZES_LARGE = '16px' +export const FONT_SIZES_EXTRA_LARGE = '17px' + +export const FONT_SIZES = { + 'extra-small': FONT_SIZES_EXTRA_SMALL, + small: FONT_SIZES_SMALL, + normal: FONT_SIZES_NORMAL, + medium: FONT_SIZES_MEDIUM, + large: FONT_SIZES_LARGE, + 'extra-large': FONT_SIZES_EXTRA_LARGE, +} +export const THEMES = [ + 'light', + 'muted', + 'black', +] + +export const DEFAULT_THEME = 'light' +export const DEFAULT_FONT_SIZE = 'normal' \ No newline at end of file diff --git a/app/javascript/gabsocial/containers/display.js b/app/javascript/gabsocial/containers/display.js new file mode 100644 index 00000000..16035b20 --- /dev/null +++ b/app/javascript/gabsocial/containers/display.js @@ -0,0 +1,92 @@ +import { + FONT_SIZES, + THEMES, + DEFAULT_THEME, + DEFAULT_FONT_SIZE, +} from '../constants' + +export default class Display extends PureComponent { + + static propTypes = { + theme: PropTypes.string.isRequired, + rounded: PropTypes.bool.isRequired, + fontSize: PropTypes.string.isRequired, + } + + state = { + theme: this.props.theme, + rounded: this.props.rounded, + fontSize: this.props.fontSize, + } + + static defaultProps = { + theme: 'BLACK', + rounded: false, + fontSize: 'normal', + } + + componentDidMount() { + this.updateTheme(this.state.theme) + this.updateRounded(this.state.rounded) + this.updateFontSizes(this.state.fontSize) + } + + static getDerivedStateFromProps(nextProps, prevState) { + if (nextProps.theme !== prevState.theme || + nextProps.rounded !== prevState.rounded || + nextProps.fontSize !== prevState.fontSize) { + return { + theme: nextProps.theme, + rounded: nextProps.rounded, + fontSize: nextProps.fontSize, + } + } + + return null + } + + componentDidUpdate(prevProps, prevState) { + if (prevState.theme !== this.state.theme) { + this.updateTheme(this.state.theme) + } + + if (prevState.rounded !== this.state.rounded) { + this.updateRounded(this.state.rounded) + } + + if (prevState.fontSize !== this.state.fontSize) { + this.updateFontSizes(this.state.fontSize) + } + } + + updateRounded(rounded) { + if (rounded) { + document.documentElement.removeAttribute('rounded') + } else { + document.documentElement.setAttribute('rounded', '') + } + } + + updateFontSizes(fontSize) { + let correctedFontSize = fontSize.toUpperCase() + if (!FONT_SIZES.hasOwnProperty(correctedFontSize)) { + correctedFontSize = DEFAULT_FONT_SIZE + } + + document.documentElement.style.setProperty('font-size', FONT_SIZES[correctedFontSize]); + } + + updateTheme(theme) { + let correctedTheme = theme.toLowerCase() + if (!THEMES.hasOwnProperty(correctedTheme)) { + correctedTheme = DEFAULT_THEME + } + + document.documentElement.setAttribute('theme', correctedTheme); + } + + render() { + return this.props.children + } + +} \ No newline at end of file diff --git a/app/javascript/gabsocial/containers/gabsocial.js b/app/javascript/gabsocial/containers/gabsocial.js index cec38e0e..e31acffb 100644 --- a/app/javascript/gabsocial/containers/gabsocial.js +++ b/app/javascript/gabsocial/containers/gabsocial.js @@ -1,55 +1,60 @@ -'use strict'; +'use strict' -import { Provider } from 'react-redux'; -import configureStore from '../store/configureStore'; -import { INTRODUCTION_VERSION } from '../actions/onboarding'; -import { BrowserRouter, Route } from 'react-router-dom'; -import { ScrollContext } from 'react-router-scroll-4'; -import { IntlProvider, addLocaleData } from 'react-intl'; -import { fetchCustomEmojis } from '../actions/custom_emojis'; -import { hydrateStore } from '../actions/store'; +import { Provider } from 'react-redux' +import configureStore from '../store/configureStore' +import { INTRODUCTION_VERSION } from '../actions/onboarding' +import { BrowserRouter, Route } from 'react-router-dom' +import { ScrollContext } from 'react-router-scroll-4' +import { IntlProvider, addLocaleData } from 'react-intl' +import { fetchCustomEmojis } from '../actions/custom_emojis' +import { hydrateStore } from '../actions/store' import { connectUserStream, connectStatusUpdateStream, -} from '../actions/streaming'; -import { getLocale } from '../locales'; -import initialState from '../initial_state'; -import { me } from '../initial_state'; -import UI from '../features/ui'; -// import Introduction from '../features/introduction'; -import ErrorBoundary from '../components/error_boundary'; +} from '../actions/streaming' +import { getLocale } from '../locales' +import initialState from '../initial_state' +import { me } from '../initial_state' +import UI from '../features/ui' +// import Introduction from '../features/introduction' +import ErrorBoundary from '../components/error_boundary' +import Display from './display' -const { localeData, messages } = getLocale(); -addLocaleData(localeData); +const { localeData, messages } = getLocale() +addLocaleData(localeData) -export const store = configureStore(); -const hydrateAction = hydrateStore(initialState); +export const store = configureStore() +const hydrateAction = hydrateStore(initialState) -store.dispatch(hydrateAction); -store.dispatch(fetchCustomEmojis()); +store.dispatch(hydrateAction) +store.dispatch(fetchCustomEmojis()) const mapStateToProps = (state) => { - const account = state.getIn(['accounts', me]); - const showIntroduction = account ? state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION : false; + const account = state.getIn(['accounts', me]) + const showIntroduction = account ? state.getIn(['settings', 'introductionVersion'], 0) < INTRODUCTION_VERSION : false return { showIntroduction, - }; -}; + } +} @connect(mapStateToProps) class GabSocialMount extends PureComponent { static propTypes = { showIntroduction: PropTypes.bool, - }; + } + + componentDidMount() { + + } render () { // Disabling introduction for launch - // const { showIntroduction } = this.props; + // const { showIntroduction } = this.props // // if (showIntroduction) { - // return ; + // return // } return ( @@ -58,7 +63,7 @@ class GabSocialMount extends PureComponent { - ); + ) } } @@ -67,34 +72,36 @@ export default class GabSocial extends PureComponent { static propTypes = { locale: PropTypes.string.isRequired, - }; + } componentDidMount() { if (!!me) { - this.disconnect = store.dispatch(connectUserStream()); - store.dispatch(connectStatusUpdateStream()); + this.disconnect = store.dispatch(connectUserStream()) + store.dispatch(connectStatusUpdateStream()) } } componentWillUnmount () { if (this.disconnect) { - this.disconnect(); - this.disconnect = null; + this.disconnect() + this.disconnect = null } } render () { - const { locale } = this.props; + const { locale } = this.props return ( - - - + + + + + - ); + ) } } diff --git a/app/javascript/gabsocial/features/compose/compose.js b/app/javascript/gabsocial/features/compose/compose.js index 1fa503e4..c445b4d4 100644 --- a/app/javascript/gabsocial/features/compose/compose.js +++ b/app/javascript/gabsocial/features/compose/compose.js @@ -7,7 +7,6 @@ import { mountCompose, unmountCompose, } from '../../actions/compose'; -import { mascot } from '../../initial_state'; import Motion from '../ui/util/optional_motion'; import ComposeFormContainer from './containers/compose_form_container'; import NavigationBar from './components/navigation_bar'; @@ -83,9 +82,6 @@ class Compose extends ImmutablePureComponent { -
- -
} diff --git a/app/javascript/gabsocial/initial_state.js b/app/javascript/gabsocial/initial_state.js index d9e086f9..22d1dfb0 100644 --- a/app/javascript/gabsocial/initial_state.js +++ b/app/javascript/gabsocial/initial_state.js @@ -19,7 +19,6 @@ export const invitesEnabled = getMeta('invites_enabled'); export const repository = getMeta('repository'); export const source_url = getMeta('source_url'); export const version = getMeta('version'); -export const mascot = getMeta('mascot'); export const profile_directory = getMeta('profile_directory'); export const isStaff = getMeta('is_staff'); export const forceSingleColumn = !getMeta('advanced_layout'); @@ -27,6 +26,5 @@ export const promotions = initialState && initialState.promotions; export const unreadCount = getMeta('unread_count'); export const monthlyExpensesComplete = getMeta('monthly_expenses_complete'); export const favouritesCount = getMeta('favourites_count'); -export const tenorkey = getMeta('tenorkey'); export default initialState; diff --git a/app/javascript/gabsocial/layouts/group_layout.js b/app/javascript/gabsocial/layouts/group_layout.js index 7511f24b..d6195063 100644 --- a/app/javascript/gabsocial/layouts/group_layout.js +++ b/app/javascript/gabsocial/layouts/group_layout.js @@ -32,18 +32,18 @@ export default class GroupLayout extends ImmutablePureComponent { actions={actions} showBackBtn={showBackBtn} > -
+
-
+
{children}
-
+
{layout} diff --git a/app/javascript/gabsocial/layouts/profile_layout.js b/app/javascript/gabsocial/layouts/profile_layout.js index 7a0055fe..d6b4e4bd 100644 --- a/app/javascript/gabsocial/layouts/profile_layout.js +++ b/app/javascript/gabsocial/layouts/profile_layout.js @@ -5,6 +5,7 @@ import ProfileHeader from '../components/profile_header' import NavigationBar from '../components/navigation_bar' export default class ProfileLayout extends ImmutablePureComponent { + static propTypes = { children: PropTypes.node.isRequired, account: ImmutablePropTypes.map, diff --git a/app/javascript/gabsocial/pages/notifications_page.js b/app/javascript/gabsocial/pages/notifications_page.js index 90db5f39..a98c90b0 100644 --- a/app/javascript/gabsocial/pages/notifications_page.js +++ b/app/javascript/gabsocial/pages/notifications_page.js @@ -96,8 +96,6 @@ class NotificationsPage extends PureComponent { active: selectedFilter.toLowerCase() === filter.toLowerCase(), })) - console.log("selectedFilter, filter: ", tabs, selectedFilter) - return ( + + + + + + + + diff --git a/app/javascript/images/logo_full.svg b/app/javascript/images/logo_full.svg index c3388334..d59e6fe7 100644 --- a/app/javascript/images/logo_full.svg +++ b/app/javascript/images/logo_full.svg @@ -1 +1,19 @@ - + + + + + + + + diff --git a/app/javascript/styles/global.css b/app/javascript/styles/global.css index fc5e46ca..aea84086 100644 --- a/app/javascript/styles/global.css +++ b/app/javascript/styles/global.css @@ -1,17 +1,4 @@ :root { - --radius-small: 8px; - --radius-circle: 9999px; - - /* Default Font Sizes */ - - --font_size_extra_small: 12px; - --font_size_small: 13px; - --font_size_normal: 14px; - --font_size_medium: 15px; - --font_size_large: 16px; - --font_size_extra_large: 19px; - --font_size_extra_extra_large: 24px; - --color_brand-dark: #378e61; --color_brand-light: #63DA9D; --color_brand-light-opaque: rgb(54, 233, 145, .125); @@ -25,7 +12,26 @@ --color_red: #de2960; --color_red-dark: #c72c5b; - /* LIGHT THEME */ + --fs_xs: 0.8571428571rem; + --fs_s: 0.9285714286rem; + --fs_n: 1rem; + --fs_m: 1.0714285714rem; + --fs_l: 1.1428571429rem; + --fs_xl: 1.3571428571rem; + --fs_xxl: 1.7142857143; +} + +:root { + --radius-small: 0; + --radius-circle: 0; +} + +:root[rounded] { + --radius-small: 8px; + --radius-circle: 9999px; +} + +:root[theme='light'] { --solid_color_primary: #fff; --solid_color_primary-opaque:rgba(255, 255, 255,.6); --solid_color_secondary: #e2e8ec; @@ -38,9 +44,10 @@ --text_color_tertiary: #777; --border_color_secondary: #ececed; +} - /* MUTED THEME */ - /* --solid_color_primary: #222; +:root[theme='muted'] { + --solid_color_primary: #222; --solid_color_primary-opaque:rgba(34, 34, 34, .6); --solid_color_secondary: #4f5050; --solid_color_secondary-dark: #424343; @@ -51,10 +58,11 @@ --text_color_secondary: #7b7b7b; --text_color_tertiary: #656565; - --border_color_secondary: #424141; */ + --border_color_secondary: #424141; +} - /* BLACK THEME */ - /* --solid_color_primary: #13171b; +:root[theme='black'] { + --solid_color_primary: #13171b; --solid_color_primary-opaque:rgba(19, 23, 27, .6); --solid_color_secondary: #4f5050; --solid_color_secondary-dark: #424343; @@ -65,7 +73,7 @@ --text_color_secondary: #61686E; --text_color_tertiary: #656565; - --border_color_secondary: #212020; */ + --border_color_secondary: #212020; } html, @@ -90,10 +98,10 @@ body { .statusContent * { margin-top: 0; margin-bottom: 0; - font-size: var(--font_size_medium); + font-size: var(--fs_m); overflow-wrap: break-word; color: var(--text_color_primary); - font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif; + font-family: system-ui, -apple-system, BlinkMacSystemFont, Roboto, Ubuntu, "Helvetica Neue", sans-serif; } .statusContent p { @@ -114,7 +122,7 @@ body { } .statusContent h1 { - font-size: var(--font_size_extra_large); + font-size: var(--fs_xl); font-weight: 700; margin-top: 0.5rem; margin-bottom: 0.5rem; @@ -131,7 +139,7 @@ body { .dangerousContent * { margin-top: 0; margin-bottom: 0; - font-size: var(--font_size_normal); + font-size: var(--fs_n); overflow-wrap: break-word; color: var(--text_color_primary); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif; @@ -533,13 +541,13 @@ body { .textAlignLeft { text-align: left; } .textAlignCenter { text-align: center; } -.fs24PX { font-size: var(--font_size_extra_extra_large); } -.fs19PX { font-size: var(--font_size_extra_large); } -.fs16PX { font-size: var(--font_size_large); } -.fs15PX { font-size: var(--font_size_medium); } -.fs14PX { font-size: var(--font_size_normal); } -.fs13PX { font-size: var(--font_size_small); } -.fs12PX { font-size: var(--font_size_extra_small); } +.fs24PX { font-size: var(--fs_xxl); } +.fs19PX { font-size: var(--fs_xl); } +.fs16PX { font-size: var(--fs_l); } +.fs15PX { font-size: var(--fs_m); } +.fs14PX { font-size: var(--fs_n); } +.fs13PX { font-size: var(--fs_s); } +.fs12PX { font-size: var(--fs_xs); } .fs0 { font-size: 0; } .fontWeightNormal { font-weight: 400; } @@ -711,7 +719,7 @@ body { .select { height: 42px; line-height: 42px; - font-size: var(--font_size_extra_large); + font-size: var(--fs_xl); -webkit-appearance: none; -moz-appearance: none; appearance: none; @@ -765,7 +773,7 @@ body { /* :global(.public-DraftEditorPlaceholder-inner) { font-weight: 400; - font-size: var(--font_size_large); + font-size: var(--fs_l); } */ :global(.RichEditor-blockquote) { @@ -779,7 +787,7 @@ body { :global(.public-DraftStyleDefault-pre) { background-color: rgba(0,0,0,.05); font-family: 'Inconsolata', 'Menlo', 'Consolas', monospace; - font-size: var(--font_size_large); + font-size: var(--fs_l); padding: 10px 20px; } diff --git a/app/lib/themes.rb b/app/lib/themes.rb deleted file mode 100644 index 243ffb9a..00000000 --- a/app/lib/themes.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -require 'singleton' -require 'yaml' - -class Themes - include Singleton - - def initialize - @conf = YAML.load_file(Rails.root.join('config', 'themes.yml')) - end - - def names - @conf.keys - end -end diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb index 531cb7ea..956dfbe5 100644 --- a/app/serializers/initial_state_serializer.rb +++ b/app/serializers/initial_state_serializer.rb @@ -39,7 +39,6 @@ class InitialStateSerializer < ActiveModel::Serializer store[:unread_count] = unread_count object.current_account store[:monthly_expenses_complete] = Redis.current.get("monthly_funding_amount") || 0 store[:favourites_count] = object.current_account.favourites.count.to_s - store[:tenorkey] = "QHFJ0C5EWGBH" end store diff --git a/app/views/admin/settings/edit.html.haml b/app/views/admin/settings/edit.html.haml index 1c2c00f1..4178729f 100644 --- a/app/views/admin/settings/edit.html.haml +++ b/app/views/admin/settings/edit.html.haml @@ -8,8 +8,6 @@ = f.input :site_title, wrapper: :with_label, label: t('admin.settings.site_title') .fields-row - .fields-row__column.fields-row__column-6.fields-group - = f.input :theme, collection: Themes.instance.names, label_method: lambda { |theme| I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, include_blank: false .fields-row__column.fields-row__column-6.fields-group = f.input :registrations_mode, collection: %w(open approved none), wrapper: :with_label, label: t('admin.settings.registrations_mode.title'), include_blank: false, label_method: lambda { |mode| I18n.t("admin.settings.registrations_mode.modes.#{mode}") } diff --git a/app/views/react/react.html.haml b/app/views/react/react.html.haml index 1154ea83..68e055d3 100644 --- a/app/views/react/react.html.haml +++ b/app/views/react/react.html.haml @@ -10,7 +10,7 @@ #gabsocial{ data: { props: Oj.dump(default_props) } } %noscript - = image_pack_tag 'logo.png', alt: 'Gab Social' - - %div - = t('errors.noscript_html', apps_path: 'https://gab.com/apps') + %div{ :style => "padding: 60px; max-width: 560px;" } + = image_pack_tag 'logo.svg', alt: 'Gab Social', width: '100px' + %div{ :style => "margin-top: 20px; line-height: 2rem; font-family: system-ui, -apple-system, BlinkMacSystemFont, Roboto, sans-serif;" } + = t('errors.noscript_html', apps_path: 'https://apps.gab.com') diff --git a/app/views/settings/preferences/show.html.haml b/app/views/settings/preferences/show.html.haml index c5522ebd..67d41561 100644 --- a/app/views/settings/preferences/show.html.haml +++ b/app/views/settings/preferences/show.html.haml @@ -41,8 +41,6 @@ %hr#settings_web/ .fields-row - .fields-group.fields-row__column.fields-row__column-6 - = f.input :setting_theme, collection: Themes.instance.names, label_method: lambda { |theme| I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, include_blank: false, hint: false .fields-group.fields-row__column.fields-row__column-6 = f.input :setting_display_media, collection: ['default', 'show_all', 'hide_all'], wrapper: :with_label, include_blank: false, label_method: lambda { |item| t("simple_form.hints.defaults.setting_display_media_#{item}") }, hint: false diff --git a/config/themes.yml b/config/themes.yml deleted file mode 100644 index 5bf9ced6..00000000 --- a/config/themes.yml +++ /dev/null @@ -1 +0,0 @@ -default: styles/base.scss \ No newline at end of file