pl-fe: fix default value for reposts/replies setting

Signed-off-by: mkljczk <git@mkljczk.pl>
This commit is contained in:
mkljczk
2025-03-13 19:28:20 +01:00
parent 41f550fa41
commit b2602a0acf
2 changed files with 8 additions and 4 deletions

View File

@ -168,11 +168,11 @@ const Preferences = () => {
<Form>
<List>
<ListItem label={<FormattedMessage id='home.column_settings.show_reblogs' defaultMessage='Show reposts in home timeline' />}>
<SettingToggle settings={settings} settingPath={['timelines', 'home', 'shows', 'reblog']} onChange={onToggleChange} />
<SettingToggle settings={settings} settingPath={['timelines', 'home', 'shows', 'reblog']} defaultValue onChange={onToggleChange} />
</ListItem>
<ListItem label={<FormattedMessage id='home.column_settings.show_replies' defaultMessage='Show replies in home timeline' />}>
<SettingToggle settings={settings} settingPath={['timelines', 'home', 'shows', 'reply']} onChange={onToggleChange} />
<SettingToggle settings={settings} settingPath={['timelines', 'home', 'shows', 'reply']} defaultValue onChange={onToggleChange} />
</ListItem>
</List>

View File

@ -11,6 +11,8 @@ interface ISettingToggle {
settings: Settings;
/** Array of key names leading into the setting map. */
settingPath: string[];
/** Value set if the setting is undefined. */
defaultValue?: boolean;
/** Callback when the setting is toggled. */
onChange: (settingPath: string[], checked: boolean) => void;
/** Whether the toggle is disabled. */
@ -18,16 +20,18 @@ interface ISettingToggle {
}
/** Stateful toggle to change user settings. */
const SettingToggle: React.FC<ISettingToggle> = ({ id, settings, settingPath, onChange, disabled }) => {
const SettingToggle: React.FC<ISettingToggle> = ({ id, settings, settingPath, defaultValue, onChange, disabled }) => {
const handleChange: React.ChangeEventHandler<HTMLInputElement> = ({ target }) => {
onChange(settingPath, target.checked);
};
const checked = !!get(settings, settingPath, defaultValue);
return (
<Toggle
id={id}
checked={!!get(settings, settingPath)}
checked={checked}
onChange={handleChange}
disabled={disabled}
/>