feat(ui): add copy link message action (#210)

This commit is contained in:
ayntgl 2022-09-07 14:31:34 +05:30 • committed by GitHub
parent 277e314146
commit 0257951987
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 8 deletions

4
go.mod
View file

@ -6,7 +6,7 @@ require (
github.com/atotto/clipboard v0.1.4
github.com/diamondburned/arikawa/v3 v3.1.0
github.com/gdamore/tcell/v2 v2.5.3
github.com/rivo/tview v0.0.0-20220812085834-0e6b21a48e96
github.com/rivo/tview v0.0.0-20220906194528-4664d8bf22d9
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
github.com/yuin/gopher-lua v0.0.0-20220504180219-658193537a64
github.com/zalando/go-keyring v0.2.1
@ -26,7 +26,7 @@ require (
github.com/pkg/errors v0.9.1 // indirect
github.com/rivo/uniseg v0.3.4 // indirect
github.com/stretchr/testify v1.7.2 // indirect
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 // indirect
golang.org/x/sys v0.0.0-20220907062415-87db552b00fd // indirect
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect

10
go.sum
View file

@ -33,8 +33,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/tview v0.0.0-20220812085834-0e6b21a48e96 h1:O435d1KIgG6KxpP7NDdmj7SdaLIzq4F+PG8ZB/BHC4c=
github.com/rivo/tview v0.0.0-20220812085834-0e6b21a48e96/go.mod h1:hyzpnqn4KWzZopTEjL1AxvlzOLMH1IuKo4lTw6vyOQc=
github.com/rivo/tview v0.0.0-20220906194528-4664d8bf22d9 h1:/9fqJVVHxLYAqu+6aN4snnlxwyYi2u5NkrWS26WALlo=
github.com/rivo/tview v0.0.0-20220906194528-4664d8bf22d9/go.mod h1:qNg8EdRsWg0Bxcj7npd4dSgxVbYB7kL7Mhk1YSOaVtw=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.3.4 h1:3Z3Eu6FGHZWSfNKJTOUiPatWwfc7DzJRU04jFUqJODw=
github.com/rivo/uniseg v0.3.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
@ -59,10 +59,8 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210819135213-f52c844e1c1c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211001092434-39dca1131b70/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220318055525-2edf467146b5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 h1:UiNENfZ8gDvpiWw7IpOMQ27spWmThO1RwwdQVbJahJM=
golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261 h1:v6hYoSR9T5oet+pMXwUWkbiVqx/63mlHjefrHmxwfeY=
golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220907062415-87db552b00fd h1:AZeIEzg+8RCELJYq8w+ODLVxFgLMMigSwO/ffKPEd9U=
golang.org/x/sys v0.0.0-20220907062415-87db552b00fd/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035 h1:Q5284mrmYTpACcm+eAKjKJH48BBwSyfJqmmGDTtT8Vc=

View file

@ -71,6 +71,7 @@ func NewMessageActionsList(c *Core, m *discord.Message) *MessageActionsList {
mal.AddItem("Copy Content", "", 'c', mal.copyContentAction)
mal.AddItem("Copy ID", "", 'i', mal.copyIDAction)
mal.AddItem("Copy Link", "", 'k', mal.copyLinkAction)
mal.SetTitle("Press the Escape key to close")
mal.SetTitleAlign(tview.AlignLeft)
@ -216,3 +217,13 @@ func (mal *MessageActionsList) copyIDAction() {
mal.core.Application.SetRoot(mal.core.MainFlex, true)
mal.core.Application.SetFocus(mal.core.MessagesPanel)
}
func (mal *MessageActionsList) copyLinkAction() {
err := clipboard.WriteAll(mal.message.URL())
if err != nil {
return
}
mal.core.Application.SetRoot(mal.core.MainFlex, true)
mal.core.Application.SetFocus(mal.core.MessagesPanel)
}