// Package imports import PropTypes from "prop-types"; import { PureComponent } from "react"; import { defineMessages, FormattedMessage, injectIntl } from "react-intl"; import ImmutablePropTypes from "react-immutable-proptypes"; // Our imports import LocalSettingsPageItem from "./item"; import LanguageSelector from "./language_selector"; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * const messages = defineMessages({ layout_auto: { id: "layout.auto", defaultMessage: "Auto" }, layout_auto_hint: { id: "layout.hint.auto", defaultMessage: "Automatically chose layout based on “Enable advanced web interface” setting and screen size." }, layout_desktop: { id: "layout.desktop", defaultMessage: "Desktop" }, layout_desktop_hint: { id: "layout.hint.desktop", defaultMessage: "Use multiple-column layout regardless of the “Enable advanced web interface” setting or screen size." }, layout_mobile: { id: "layout.single", defaultMessage: "Mobile" }, layout_mobile_hint: { id: "layout.hint.single", defaultMessage: "Use single-column layout regardless of the “Enable advanced web interface” setting or screen size." }, side_arm_none: { id: "settings.side_arm.none", defaultMessage: "None" }, side_arm_keep: { id: "settings.side_arm_reply_mode.keep", defaultMessage: "Keep its set privacy" }, side_arm_copy: { id: "settings.side_arm_reply_mode.copy", defaultMessage: "Copy privacy setting of the toot being replied to" }, side_arm_restrict: { id: "settings.side_arm_reply_mode.restrict", defaultMessage: "Restrict privacy setting to that of the toot being replied to" }, regexp: { id: "settings.content_warnings.regexp", defaultMessage: "Regular expression" }, rewrite_mentions_no: { id: "settings.rewrite_mentions_no", defaultMessage: "Do not rewrite mentions" }, rewrite_mentions_acct: { id: "settings.rewrite_mentions_acct", defaultMessage: "Rewrite with username and domain (when the account is remote)" }, rewrite_mentions_username: { id: "settings.rewrite_mentions_username", defaultMessage: "Rewrite with username" }, pop_in_left: { id: "settings.pop_in_left", defaultMessage: "Left" }, pop_in_right: { id: "settings.pop_in_right", defaultMessage: "Right" }, public: { id: "privacy.public.short", defaultMessage: "Public" }, unlisted: { id: "privacy.unlisted.short", defaultMessage: "Unlisted" }, private: { id: "privacy.private.short", defaultMessage: "Followers only" }, direct: { id: "privacy.direct.short", defaultMessage: "Mentioned people only" }, }); class LocalSettingsPage extends PureComponent { static propTypes = { index : PropTypes.number, intl : PropTypes.object.isRequired, onChange : PropTypes.func.isRequired, settings : ImmutablePropTypes.map.isRequired, }; pages = [ ({ intl, onChange, settings }) => (