import * as React from 'react'; import { Component, View } from 'reactxp'; import { messages } from '../../shared/gettext'; import * as Cell from './Cell'; import { Container, Layout } from './Layout'; import { BackBarItem, NavigationBar, NavigationContainer, NavigationScrollbars, TitleBarItem, } from './NavigationBar'; import styles from './PreferencesStyles'; import SettingsHeader, { HeaderTitle } from './SettingsHeader'; export interface IPreferencesProps { autoStart: boolean; autoConnect: boolean; allowLan: boolean; monochromaticIcon: boolean; startMinimized: boolean; enableMonochromaticIconToggle: boolean; enableStartMinimizedToggle: boolean; setAutoStart: (autoStart: boolean) => void; setAutoConnect: (autoConnect: boolean) => void; setAllowLan: (allowLan: boolean) => void; setStartMinimized: (startMinimized: boolean) => void; setMonochromaticIcon: (monochromaticIcon: boolean) => void; onClose: () => void; } export default class Preferences extends Component { public render() { return ( {// TRANSLATORS: Back button in navigation bar messages.pgettext('preferences-nav', 'Settings')} {// TRANSLATORS: Title label in navigation bar messages.pgettext('preferences-nav', 'Preferences')} {messages.pgettext('preferences-view', 'Preferences')} {messages.pgettext('preferences-view', 'Launch app on start-up')} {messages.pgettext('preferences-view', 'Auto-connect')} {messages.pgettext( 'preferences-view', 'Automatically connect to a server when the app launches.', )} {messages.pgettext('preferences-view', 'Local network sharing')} {messages.pgettext( 'preferences-view', 'Allows access to other devices on the same network for sharing, printing etc.', )} ); } private onChangeAutoStart = (autoStart: boolean) => { this.props.setAutoStart(autoStart); }; } interface IMonochromaticIconProps { enable: boolean; monochromaticIcon: boolean; onChange: (value: boolean) => void; } class MonochromaticIconToggle extends Component { public render() { if (this.props.enable) { return ( {messages.pgettext('preferences-view', 'Monochromatic tray icon')} {messages.pgettext( 'preferences-view', 'Use a monochromatic tray icon instead of a colored one.', )} ); } else { return null; } } } interface IStartMinimizedProps { enable: boolean; startMinimized: boolean; onChange: (value: boolean) => void; } class StartMinimizedToggle extends Component { public render() { if (this.props.enable) { return ( {messages.pgettext('preferences-view', 'Start minimized')} {messages.pgettext('preferences-view', 'Show only the tray icon when the app starts.')} ); } else { return null; } } }