nicolium: Add settings for restoring timeline position and compose form in timelines
Signed-off-by: nicole mikołajczyk <git@mkljczk.pl>
This commit is contained in:
@@ -584,10 +584,13 @@ const getRestoredPosition = (me: string) => {
|
||||
const HomeTimelineColumn: React.FC<IBaseTimeline> = (props) => {
|
||||
const me = useAppSelector((state) => state.me);
|
||||
|
||||
const timelineFilters = useSettings().timelines.home;
|
||||
const {
|
||||
timelines: { home: timelineFilters },
|
||||
rememberTimelinePosition,
|
||||
} = useSettings();
|
||||
|
||||
const maxId = useMemo(() => {
|
||||
if (!me) return undefined;
|
||||
if (!me || !rememberTimelinePosition) return undefined;
|
||||
|
||||
const position = getRestoredPosition(me);
|
||||
|
||||
@@ -608,7 +611,7 @@ const HomeTimelineColumn: React.FC<IBaseTimeline> = (props) => {
|
||||
|
||||
const handleTopItemChanged = (index: number) => {
|
||||
const entry = timelineQuery.entries[index];
|
||||
if (me) savePosition(me, entry, index);
|
||||
if (me && rememberTimelinePosition) savePosition(me, entry, index);
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
@@ -373,6 +373,46 @@ const Preferences = () => {
|
||||
</ListItem>
|
||||
</List>
|
||||
|
||||
<List>
|
||||
<ListItem
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='preferences.fields.remember_timeline_position_label'
|
||||
defaultMessage='Remeber position of home timeline'
|
||||
/>
|
||||
}
|
||||
hint={
|
||||
<FormattedMessage
|
||||
id='preferences.fields.remember_timeline_position_hint'
|
||||
defaultMessage='When enabled, the app will return to the place you left off in the home timeline last time you visited it.'
|
||||
/>
|
||||
}
|
||||
>
|
||||
<SettingToggle
|
||||
settings={settings}
|
||||
settingPath={['rememberTimelinePosition']}
|
||||
defaultValue
|
||||
onChange={onToggleChange}
|
||||
/>
|
||||
</ListItem>
|
||||
|
||||
<ListItem
|
||||
label={
|
||||
<FormattedMessage
|
||||
id='preferences.fields.compose_in_timelines_label'
|
||||
defaultMessage='Display post composer in timelines'
|
||||
/>
|
||||
}
|
||||
>
|
||||
<SettingToggle
|
||||
settings={settings}
|
||||
settingPath={['composeInTimelines']}
|
||||
defaultValue
|
||||
onChange={onToggleChange}
|
||||
/>
|
||||
</ListItem>
|
||||
</List>
|
||||
|
||||
<List>
|
||||
<ListItem label={<FormattedMessage id='preferences.fields.theme' defaultMessage='Theme' />}>
|
||||
<ThemeToggle />
|
||||
|
||||
@@ -1567,6 +1567,7 @@
|
||||
"preferences.fields.boost_modal_label": "Show confirmation dialog before reposting",
|
||||
"preferences.fields.check_emoji_react_supports_hint": "This will expose your IP address to the instances you’re interacting with.",
|
||||
"preferences.fields.check_emoji_react_supports_label": "Check whether remote hosts supports emoji reactions when reacting",
|
||||
"preferences.fields.compose_in_timelines_label": "Display post composer in timelines",
|
||||
"preferences.fields.content_type_label": "Default post format",
|
||||
"preferences.fields.delete_modal_label": "Show confirmation dialog before deleting a post",
|
||||
"preferences.fields.demetricator_label": "Hide social media counters",
|
||||
@@ -1588,6 +1589,8 @@
|
||||
"preferences.fields.preserve_spoilers_label": "Preserve content warning when replying",
|
||||
"preferences.fields.privacy_label": "Default post privacy",
|
||||
"preferences.fields.reduce_motion_label": "Reduce motion in animations",
|
||||
"preferences.fields.remember_timeline_position_hint": "When enabled, the app will return to the place you left off in the home timeline last time you visited it.",
|
||||
"preferences.fields.remember_timeline_position_label": "Remeber position of home timeline",
|
||||
"preferences.fields.render_advanced_mfm_label": "Enable advanced MFM",
|
||||
"preferences.fields.render_animated_mfm_label": "Enable animated MFM",
|
||||
"preferences.fields.render_mfm_hint": "MFM support is experimental, not all node types are supported.",
|
||||
|
||||
@@ -54,6 +54,7 @@ const settingsSchema = v.object({
|
||||
stripMetadata: v.fallback(v.boolean(), false),
|
||||
storeSettingsInNotes: v.fallback(v.boolean(), false),
|
||||
composeInTimelines: v.fallback(v.boolean(), true),
|
||||
rememberTimelinePosition: v.fallback(v.boolean(), true),
|
||||
|
||||
theme: v.optional(
|
||||
coerceObject({
|
||||
|
||||
Reference in New Issue
Block a user