mirror of
https://git.freesoftwareextremist.com/bloat
synced 2024-10-29 19:40:35 +00:00
Add support for quote reply
This commit is contained in:
parent
14d5eaf6e9
commit
e5bf3159b8
6 changed files with 22 additions and 2 deletions
|
@ -198,6 +198,7 @@ type Toot struct {
|
|||
SpoilerText string `json:"spoiler_text"`
|
||||
Visibility string `json:"visibility"`
|
||||
ContentType string `json:"content_type"`
|
||||
QuoteID string `json:"quote_id"`
|
||||
}
|
||||
|
||||
// Mention hold information for mention.
|
||||
|
|
|
@ -264,6 +264,9 @@ func (c *Client) PostStatus(ctx context.Context, toot *Toot) (*Status, error) {
|
|||
if toot.ContentType != "" {
|
||||
params.Set("content_type", toot.ContentType)
|
||||
}
|
||||
if toot.QuoteID != "" {
|
||||
params.Set("quote_id", toot.QuoteID)
|
||||
}
|
||||
|
||||
var status Status
|
||||
err := c.doAPI(ctx, http.MethodPost, "/api/v1/statuses", params, &status, nil)
|
||||
|
|
|
@ -922,7 +922,7 @@ func (s *service) Signout(c *client) (err error) {
|
|||
}
|
||||
|
||||
func (s *service) Post(c *client, content string, replyToID string,
|
||||
format string, visibility string, isNSFW bool,
|
||||
format string, visibility string, isNSFW bool, isQuote bool,
|
||||
files []*multipart.FileHeader) (id string, err error) {
|
||||
|
||||
var mediaIDs []string
|
||||
|
@ -934,9 +934,16 @@ func (s *service) Post(c *client, content string, replyToID string,
|
|||
mediaIDs = append(mediaIDs, a.ID)
|
||||
}
|
||||
|
||||
var quoteID string
|
||||
if isQuote {
|
||||
quoteID = replyToID
|
||||
replyToID = ""
|
||||
}
|
||||
|
||||
tweet := &mastodon.Toot{
|
||||
Status: content,
|
||||
InReplyToID: replyToID,
|
||||
QuoteID: quoteID,
|
||||
MediaIDs: mediaIDs,
|
||||
ContentType: format,
|
||||
Visibility: visibility,
|
||||
|
|
|
@ -307,10 +307,11 @@ func NewHandler(s *service, verbose bool, staticDir string) http.Handler {
|
|||
format := c.r.FormValue("format")
|
||||
visibility := c.r.FormValue("visibility")
|
||||
isNSFW := c.r.FormValue("is_nsfw") == "true"
|
||||
isQuote := c.r.FormValue("is_quote") == "true"
|
||||
quickReply := c.r.FormValue("quickreply") == "true"
|
||||
files := c.r.MultipartForm.File["attachments"]
|
||||
|
||||
id, err := s.Post(c, content, replyToID, format, visibility, isNSFW, files)
|
||||
id, err := s.Post(c, content, replyToID, format, visibility, isNSFW, isQuote, files)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -77,6 +77,10 @@
|
|||
<td> Post NSFW </td>
|
||||
<td> <kbd>N</kbd> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Quote reply </td>
|
||||
<td> <kbd>Q</kbd> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> Post attachments </td>
|
||||
<td> <kbd>A</kbd> </td>
|
||||
|
|
|
@ -30,6 +30,10 @@
|
|||
</select>
|
||||
<input type="checkbox" id="nsfw-checkbox" name="is_nsfw" value="true" accesskey="N" title="NSFW (N)">
|
||||
<label for="nsfw-checkbox"> NSFW </label>
|
||||
{{if .ReplyContext}}
|
||||
<input type="checkbox" id="quote-checkbox" name="is_quote" value="true" {{if .ReplyContext.ForceVisibility}}disabled{{end}} accesskey="Q" title="Quote (Q)">
|
||||
<label for="quote-checkbox"> Quote </label>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="form-field-s">
|
||||
<input id="post-file-picker" type="file" name="attachments" multiple accesskey="A" title="Attachments (A)">
|
||||
|
|
Loading…
Reference in a new issue