2
0
Fork 0

add option to open conversation view by clicking empty space in posts

This commit is contained in:
notfire 2025-08-14 20:19:36 -04:00
commit fafa399d74
No known key found for this signature in database
7 changed files with 22 additions and 0 deletions

View file

@ -36,6 +36,7 @@
- add support for accepted follow request notifications - add support for accepted follow request notifications
- add option to prevent page from getting pushed when making a new post with streaming api enabled (similar to 3rd "for unreads" option) - add option to prevent page from getting pushed when making a new post with streaming api enabled (similar to 3rd "for unreads" option)
- add link on user card to open profiles in iceshrimp-fe - add link on user card to open profiles in iceshrimp-fe
- add option to open conversation view by clicking empty space in posts
- add a script to download ruffle for flash support (requires python3 and requests library) - add a script to download ruffle for flash support (requires python3 and requests library)
- download by entering `tools/` and running `python3 download_ruffle.py` - download by entering `tools/` and running `python3 download_ruffle.py`

View file

@ -495,6 +495,14 @@
{{ $t('settings.no_rich_text_description') }} {{ $t('settings.no_rich_text_description') }}
</BooleanSetting> </BooleanSetting>
</li> </li>
<li>
<BooleanSetting
path="clickEmptyToOpenConversation"
expert="1"
>
{{ $t('settings.click_empty_to_open_conversation') }}
</BooleanSetting>
</li>
<h3>{{ $t('settings.attachments') }}</h3> <h3>{{ $t('settings.attachments') }}</h3>
<li> <li>
<BooleanSetting <BooleanSetting

View file

@ -531,6 +531,15 @@ const Status = {
window.scrollBy(0, rect.bottom - window.innerHeight + 50) window.scrollBy(0, rect.bottom - window.innerHeight + 50)
} }
} }
},
goToThread (id, e) {
if (this.$store.getters.mergedConfig.clickEmptyToOpenConversation) {
let targetType = e.target.tagName
let targetClasses = e.target.className
if ((targetType !== "DIV" && targetType !== "SPAN") || (targetType === "SPAN" && targetClasses.length === 0) || (targetClasses.includes("userName") || targetClasses.includes("form-bottom") || targetClasses.includes("visibility-tray")))
return
this.$router.push({ name: 'conversation', params: { id: id } })
}
} }
}, },
watch: { watch: {

View file

@ -4,6 +4,7 @@
ref="root" ref="root"
class="Status" class="Status"
:class="[{ '-focused': isFocused }, { '-conversation': inlineExpanded }]" :class="[{ '-focused': isFocused }, { '-conversation': inlineExpanded }]"
@click="(event) => { goToThread(status.id, event) }"
> >
<div <div
v-if="error" v-if="error"

View file

@ -513,6 +513,7 @@
"changed_password": "Password changed successfully!", "changed_password": "Password changed successfully!",
"chatMessageRadius": "Chat message", "chatMessageRadius": "Chat message",
"checkboxRadius": "Checkboxes", "checkboxRadius": "Checkboxes",
"click_empty_to_open_conversation": "Open conversation view by clicking empty parts of posts",
"collapse_subject": "Collapse posts with content warnings", "collapse_subject": "Collapse posts with content warnings",
"columns": "Columns", "columns": "Columns",
"compact_user_info": "Compact user info when enough space", "compact_user_info": "Compact user info when enough space",

View file

@ -133,6 +133,7 @@ export const defaultState = {
showFaviconBadge: true, showFaviconBadge: true,
autoRefreshOnRequired: true, autoRefreshOnRequired: true,
showUnreadInTitle: true, showUnreadInTitle: true,
clickEmptyToOpenConversation: false,
renderMisskeyMarkdown: undefined, renderMisskeyMarkdown: undefined,
renderMfmOnHover: undefined, // instance default renderMfmOnHover: undefined, // instance default
conversationDisplay: undefined, // instance default conversationDisplay: undefined, // instance default

View file

@ -89,6 +89,7 @@ const defaultState = {
showFaviconBadge: true, showFaviconBadge: true,
autoRefreshOnRequired: true, autoRefreshOnRequired: true,
showUnreadInTitle: true, showUnreadInTitle: true,
clickEmptyToOpenConversation: false,
renderMisskeyMarkdown: true, renderMisskeyMarkdown: true,
renderMfmOnHover: false, renderMfmOnHover: false,
conversationDisplay: 'linear', conversationDisplay: 'linear',