Disable scope selection when replying to a direct post

master
r 2 years ago
parent bd3f9ac966
commit 34c1d087af
  1. 7
      model/post.go
  2. 18
      service/service.go
  3. 2
      templates/postform.tmpl

@ -13,7 +13,8 @@ type PostContext struct {
}
type ReplyContext struct {
InReplyToID string
InReplyToName string
ReplyContent string
InReplyToID string
InReplyToName string
ReplyContent string
ForceVisibility bool
}

@ -313,12 +313,9 @@ func (svc *service) ServeThreadPage(c *model.Client, id string, reply bool) (err
}
}
if c.Session.Settings.CopyScope {
s, err := c.GetStatus(ctx, id)
if err != nil {
return err
}
visibility = s.Visibility
isDirect := status.Visibility == "direct"
if isDirect || c.Session.Settings.CopyScope {
visibility = status.Visibility
} else {
visibility = c.Session.Settings.DefaultVisibility
}
@ -327,9 +324,10 @@ func (svc *service) ServeThreadPage(c *model.Client, id string, reply bool) (err
DefaultVisibility: visibility,
Formats: svc.postFormats,
ReplyContext: &model.ReplyContext{
InReplyToID: id,
InReplyToName: status.Account.Acct,
ReplyContent: content,
InReplyToID: id,
InReplyToName: status.Account.Acct,
ReplyContent: content,
ForceVisibility: isDirect,
},
DarkMode: c.Session.Settings.DarkMode,
}
@ -351,7 +349,7 @@ func (svc *service) ServeThreadPage(c *model.Client, id string, reply bool) (err
idNumbers[statuses[i].ID] = i + 1
statuses[i].IDReplies = replies
addToReplyMap(replies, statuses[i].InReplyToID, statuses[i].ID, i + 1)
addToReplyMap(replies, statuses[i].InReplyToID, statuses[i].ID, i+1)
}
commonData := svc.getCommonData(c, "post by "+status.Account.DisplayName)

@ -24,7 +24,7 @@
{{end}}
<span class="post-form-field">
<label for="post-visilibity"> Scope </label>
<select id="post-visilibity" name="visibility">
<select id="post-visilibity" name="visibility" {{if .ReplyContext}}{{if .ReplyContext.ForceVisibility}}disabled{{end}}{{end}}>
<option value="public" {{if eq .DefaultVisibility "public"}}selected{{end}}>Public</option>
<option value="unlisted" {{if eq .DefaultVisibility "unlisted"}}selected{{end}}>Unlisted</option>
<option value="private" {{if eq .DefaultVisibility "private"}}selected{{end}}>Private</option>

Loading…
Cancel
Save