Publish Supermind replies to Twitter

## Goal

As a creator, I want to re-post my Supermind reply on Twitter so that I can satisfy the Supermind offer requirements.

As a creator, I want to re-post my Supermind reply on Twitter so that I can generate more Supermind offers.

## What needs to be done

When a user clicks `Post` on a Supermind reply, they're presented with a confirmation modal. If the user has oauth connected with Twitter, the confirmation modal also displays an option to post the reply to Twitter.

---

Enable users with Twitter oauth to repost the contents of their Supermind reply to their Twitter account.

If the Supermind offer requires the Twitter repost, then the option to repost cannot be disabled.

If the Supermind offer does not require Twitter repost, then the option to repost is toggle-able.

---

When the confirmation is made and posting to Twitter is selected, then a Twitter post is generated, with the content of the Minds reply duplicated as possible.

| Reply content | Twitter post content                                                                                            | Media attachment                | Link                       | UTM parameter                                                |
|---------------|-----------------------------------------------------------------------------------------------------------------|---------------------------------|----------------------------|--------------------------------------------------------------|
| Text only     | Up to 280 characters of the text response. If the response is longer than 280 character, end with ... ellipses. | None                            | Link to the reply on Minds | ?utm_source=twitter&utm_medium=supermind&utm_campaign=repost |
| Media only    | None                                                                                                            | Image or video from Minds reply | Link to the reply on Minds | ?utm_source=twitter&utm_medium=supermind&utm_campaign=repost |
| Text + media  | Up to 280 characters of the text response. If the response is longer than 280 character, end with ... ellipses. | Image or video from Minds reply | Link to the reply on Minds | ?utm_source=twitter&utm_medium=supermind&utm_campaign=repost |

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

[Figma prototype](https://www.figma.com/proto/thrGepQAxmcMGB7MoEEckM/Supermind?page-id=287%3A5127&node-id=2381%3A27571&viewport=470%2C192%2C0.03&scaling=min-zoom&starting-point-node-id=287%3A5128&show-proto-sidebar=1&hide-ui=1)

![image](/uploads/f02c1b0b67932fccb252de33cf0d95f2/image.png)

## Personas

Creators on Minds

## Experiments

n/a

## Acceptance Criteria

- [ ] Given a user has oauth connected to Twitter, when the reply is posted, then the Supermind reply confirmation displays a checkbox option to repost the reply on Twitter.
- [ ] Given the Twitter checkbox appears, by default it is enabled (checked).
- [ ] Given the originating Supermind offer does not require Twitter repost, the checkbox can be disabled.
- [ ] Given the originating Supermind offer requires Twitter repost, the checkbox cannot be disabled.
- [ ] Given the Twitter checkbox is enabled, when the confirmation modal is accepted, then the contents of the Supermind reply are posted to both Minds and Twitter.
- [ ] Do not concern about media uploads to twitter, just use rich embed support

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 5.0