Skip to content

Commit 34c4dc5

Browse files
committed
Upgrade gio to v0.7.1
1 parent 829191a commit 34c4dc5

File tree

5 files changed

+82
-79
lines changed

5 files changed

+82
-79
lines changed

go.mod

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
module github.com/psanford/android-media-backup
22

3-
go 1.20
3+
go 1.21
4+
5+
toolchain go1.22.8
46

57
require (
6-
gioui.org v0.3.1
7-
gioui.org/cmd v0.0.0-20230711191157-4128f253e857
8+
gioui.org v0.7.1
9+
gioui.org/cmd v0.7.1
810
git.wow.st/gmp/jni v0.0.0-20200827154156-014cd5c7c4c0
911
github.com/disintegration/imageorient v0.0.0-20180920195336-8147d86e83ec
1012
github.com/dustin/go-humanize v1.0.0
@@ -18,13 +20,13 @@ require (
1820
gioui.org/shader v1.0.8 // indirect
1921
github.com/akavel/rsrc v0.10.1 // indirect
2022
github.com/disintegration/gift v1.1.2 // indirect
21-
github.com/go-text/typesetting v0.0.0-20230803102845-24e03d8b5372 // indirect
22-
golang.org/x/exp v0.0.0-20221012211006-4de253d81b95 // indirect
23-
golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91 // indirect
24-
golang.org/x/image v0.5.0 // indirect
25-
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
26-
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect
27-
golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 // indirect
28-
golang.org/x/text v0.7.0 // indirect
29-
golang.org/x/tools v0.1.12 // indirect
23+
github.com/go-text/typesetting v0.1.1 // indirect
24+
golang.org/x/exp v0.0.0-20240707233637-46b078467d37 // indirect
25+
golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37 // indirect
26+
golang.org/x/image v0.18.0 // indirect
27+
golang.org/x/mod v0.19.0 // indirect
28+
golang.org/x/sync v0.7.0 // indirect
29+
golang.org/x/sys v0.22.0 // indirect
30+
golang.org/x/text v0.16.0 // indirect
31+
golang.org/x/tools v0.23.0 // indirect
3032
)

go.sum

Lines changed: 24 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d h1:ARo7NCVvN2NdhLlJE9xAbKweuI9L6UgfTbYb0YwPacY=
22
eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA=
3-
gioui.org v0.2.0 h1:RbzDn1h/pCVf/q44ImQSa/J3MIFpY3OWphzT/Tyei+w=
4-
gioui.org v0.2.0/go.mod h1:1H72sKEk/fNFV+l0JNeM2Dt3co3Y4uaQcD+I+/GQ0e4=
5-
gioui.org v0.3.1 h1:hslYkrkIWvx28Mxe3A87opl+8s9mnWsnWmPDh11+zco=
6-
gioui.org v0.3.1/go.mod h1:2atiYR4upH71/6ehnh6XsUELa7JZOrOHHNMDxGBZF0Q=
7-
gioui.org/cmd v0.0.0-20230711191157-4128f253e857 h1:5iv2lLC6fkbvqL9ia/V9RyUodLCaREubP65tzBJh3/Y=
8-
gioui.org/cmd v0.0.0-20230711191157-4128f253e857/go.mod h1:Ka3v7oyXel7Kmtuqwtlp05nEQzm9t4wskHnIEWojWNU=
3+
gioui.org v0.7.1 h1:l7OVj47n1z8acaszQ6Wlu+Rxme+HqF3q8b+Fs68+x3w=
4+
gioui.org v0.7.1/go.mod h1:5Kw/q7R1BWc5MKStuTNvhCgSrRqbfHc9Dzfjs4IGgZo=
5+
gioui.org/cmd v0.7.1 h1:kD+/RqPnNnX+i8UBBq9PHVYAs4dfkn1ttpbzXx+hsZo=
6+
gioui.org/cmd v0.7.1/go.mod h1:1xrSBRMYjHAnpheSkswrhtWHhyWtMtriBGm1agL/GdY=
97
gioui.org/cpu v0.0.0-20210808092351-bfe733dd3334/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ=
108
gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2 h1:AGDDxsJE1RpcXTAxPG2B4jrwVUJGFDjINIPi1jtO6pc=
119
gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ=
@@ -25,10 +23,10 @@ github.com/disintegration/imageorient v0.0.0-20180920195336-8147d86e83ec h1:YrB6
2523
github.com/disintegration/imageorient v0.0.0-20180920195336-8147d86e83ec/go.mod h1:K0KBFIr1gWu/C1Gp10nFAcAE4hsB7JxE6OgLijrJ8Sk=
2624
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
2725
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
28-
github.com/go-text/typesetting v0.0.0-20230803102845-24e03d8b5372 h1:FQivqchis6bE2/9uF70M2gmmLpe82esEm2QadL0TEJo=
29-
github.com/go-text/typesetting v0.0.0-20230803102845-24e03d8b5372/go.mod h1:evDBbvNR/KaVFZ2ZlDSOWWXIUKq0wCOEtzLxRM8SG3k=
30-
github.com/go-text/typesetting-utils v0.0.0-20230616150549-2a7df14b6a22 h1:LBQTFxP2MfsyEDqSKmUBZaDuDHN1vpqDyOZjcqS7MYI=
31-
github.com/go-text/typesetting-utils v0.0.0-20230616150549-2a7df14b6a22/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o=
26+
github.com/go-text/typesetting v0.1.1 h1:bGAesCuo85nXnEN5LmFMVGAGpGkCPtHrZLi//qD7EJo=
27+
github.com/go-text/typesetting v0.1.1/go.mod h1:d22AnmeKq/on0HNv73UFriMKc4Ez6EqZAofLhAzpSzI=
28+
github.com/go-text/typesetting-utils v0.0.0-20231211103740-d9332ae51f04 h1:zBx+p/W2aQYtNuyZNcTfinWvXBQwYtDfme051PR/lAY=
29+
github.com/go-text/typesetting-utils v0.0.0-20231211103740-d9332ae51f04/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o=
3230
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0=
3331
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
3432
github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8=
@@ -45,40 +43,19 @@ github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6
4543
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646/go.mod h1:jpp1/29i3P1S/RLdc7JQKbRpFeM1dOBd8T9ki5s+AY8=
4644
github.com/retailnext/unixtime v0.0.0-20171004230528-01070448a2fe h1:6tszg+mIoU26jqX7NmGFgQrgsRaPlQdDrVhZK2LdEFI=
4745
github.com/retailnext/unixtime v0.0.0-20171004230528-01070448a2fe/go.mod h1:F/fNWpeRlKXptxqx1XAC6cTRfLUrQqWosPf9pjhcMJU=
48-
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
49-
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
50-
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
51-
golang.org/x/exp v0.0.0-20221012211006-4de253d81b95 h1:sBdrWpxhGDdTAYNqbgBLAR+ULAPPhfgncLr1X0lyWtg=
52-
golang.org/x/exp v0.0.0-20221012211006-4de253d81b95/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE=
53-
golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91 h1:ryT6Nf0R83ZgD8WnFFdfI8wCeyqgdXWN4+CkFVNPAT0=
54-
golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8=
55-
golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
56-
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
57-
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s=
58-
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
59-
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
60-
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
61-
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
62-
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
63-
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw=
64-
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
65-
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
66-
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
67-
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
68-
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
69-
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
70-
golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64 h1:UiNENfZ8gDvpiWw7IpOMQ27spWmThO1RwwdQVbJahJM=
71-
golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
72-
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
73-
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
74-
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
75-
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
76-
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
77-
golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
78-
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
79-
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
80-
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
81-
golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU=
82-
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
83-
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
84-
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
46+
golang.org/x/exp v0.0.0-20240707233637-46b078467d37 h1:uLDX+AfeFCct3a2C7uIWBKMJIR3CJMhcgfrUAqjRK6w=
47+
golang.org/x/exp v0.0.0-20240707233637-46b078467d37/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY=
48+
golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37 h1:SOSg7+sueresE4IbmmGM60GmlIys+zNX63d6/J4CMtU=
49+
golang.org/x/exp/shiny v0.0.0-20240707233637-46b078467d37/go.mod h1:3F+MieQB7dRYLTmnncoFbb1crS5lfQoTfDgQy6K4N0o=
50+
golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ=
51+
golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E=
52+
golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
53+
golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
54+
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
55+
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
56+
golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
57+
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
58+
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
59+
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
60+
golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg=
61+
golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI=

jgo/jgo.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ func RequestPermission(viewEvt app.ViewEvent) <-chan PermResult {
3232
pendingResults = append(pendingResults, pendingResult)
3333
pendingResultMux.Unlock()
3434

35+
androidViewEvt := viewEvt.(*app.AndroidViewEvent)
36+
3537
go func() {
3638
jvm := jni.JVMFor(app.JavaVM())
3739
err := jni.Do(jvm, func(env jni.Env) error {
@@ -53,7 +55,7 @@ func RequestPermission(viewEvt app.ViewEvent) <-chan PermResult {
5355

5456
mid = jni.GetMethodID(env, cls, "register", "(Landroid/view/View;)V")
5557

56-
jni.CallVoidMethod(env, inst, mid, jni.Value(viewEvt.View))
58+
jni.CallVoidMethod(env, inst, mid, jni.Value(androidViewEvt.View))
5759
return err
5860
})
5961

ui/slider.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func (s *Slider) Layout(gtx layout.Context, w layout.Widget) layout.Dimensions {
6666
}
6767
}
6868

69-
op.InvalidateOp{}.Add(gtx.Ops)
69+
gtx.Execute(op.InvalidateCmd{})
7070
}
7171

7272
var dims layout.Dimensions

ui/ui.go

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"time"
1111

1212
"gioui.org/app"
13-
"gioui.org/io/system"
13+
"gioui.org/io/event"
1414
"gioui.org/layout"
1515
"gioui.org/op"
1616
"gioui.org/op/clip"
@@ -41,7 +41,8 @@ func New() *UI {
4141
}
4242

4343
func (ui *UI) Run() error {
44-
w := app.NewWindow(app.Size(unit.Dp(800), unit.Dp(700)))
44+
w := new(app.Window)
45+
w.Option(app.Size(unit.Dp(800), unit.Dp(700)))
4546
dataDir, err := app.DataDir()
4647
if err != nil {
4748
plog.Printf("DataDir err: %s", err)
@@ -123,6 +124,20 @@ func (ui *UI) loop(w *app.Window) error {
123124
}
124125
recheckStats()
125126

127+
events := make(chan event.Event)
128+
acks := make(chan struct{})
129+
130+
go func() {
131+
for {
132+
ev := w.Event()
133+
events <- ev
134+
<-acks
135+
if _, ok := ev.(app.DestroyEvent); ok {
136+
return
137+
}
138+
}
139+
}()
140+
126141
var ops op.Ops
127142
for {
128143
select {
@@ -136,35 +151,37 @@ func (ui *UI) loop(w *app.Window) error {
136151
case logMsg := <-plog.MsgChan():
137152
logText.Insert(logMsg)
138153

139-
case e := <-w.Events():
154+
case e := <-events:
140155
switch e := e.(type) {
141156
case app.ViewEvent:
142157
viewEvent = e
143-
case system.DestroyEvent:
158+
acks <- struct{}{}
159+
case app.DestroyEvent:
160+
acks <- struct{}{}
144161
return e.Err
145-
case system.StageEvent:
146-
if e.Stage == system.StageRunning {
147-
plog.Printf("recheck files")
148-
upload.ScanFiles(ui.db)
149-
recheckStats()
150-
}
151-
case system.FrameEvent:
152-
gtx := layout.NewContext(&ops, e)
162+
case app.ConfigEvent:
163+
plog.Printf("config event: recheck files")
164+
upload.ScanFiles(ui.db)
165+
recheckStats()
166+
plog.Printf("config event: recheck files done")
167+
acks <- struct{}{}
168+
case app.FrameEvent:
169+
gtx := app.NewContext(&ops, e)
153170

154171
var testUploadClicked bool
155-
for uploadBtn.Clicked() {
172+
if uploadBtn.Clicked(gtx) {
156173
testUploadClicked = true
157174
}
158175

159176
var resetFilesOnce sync.Once
160-
for resetBtn.Clicked() {
177+
if resetBtn.Clicked(gtx) {
161178
resetFilesOnce.Do(func() {
162179
ui.db.ResetFiles()
163180
})
164181
}
165182

166183
var resetFailedFilesOnce sync.Once
167-
for resetFailedBtn.Clicked() {
184+
for resetFailedBtn.Clicked(gtx) {
168185
resetFailedFilesOnce.Do(func() {
169186
ui.db.ResetFailedUploads()
170187
})
@@ -200,12 +217,12 @@ func (ui *UI) loop(w *app.Window) error {
200217
}
201218
}
202219

203-
if wifiOnlyToggle.Changed() {
220+
if wifiOnlyToggle.Update(gtx) {
204221
allowMobile := !wifiOnlyToggle.Value
205222
ui.db.SetAllowMobileUpload(allowMobile)
206223
}
207224

208-
if enabledToggle.Changed() {
225+
if enabledToggle.Update(gtx) {
209226
enabled := enabledToggle.Value
210227
ui.db.SetEnabled(enabled)
211228

@@ -216,6 +233,11 @@ func (ui *UI) loop(w *app.Window) error {
216233

217234
ui.drawTabs(gtx, th)
218235
e.Frame(gtx.Ops)
236+
acks <- struct{}{}
237+
238+
default:
239+
plog.Printf("unhandled event: %+v %T", e, e)
240+
acks <- struct{}{}
219241
}
220242
}
221243
}
@@ -308,7 +330,7 @@ func (ui *UI) drawTabs(gtx layout.Context, th *material.Theme) layout.Dimensions
308330
layout.Rigid(func(gtx C) D {
309331
return tabs.list.Layout(gtx, len(tabs.tabs), func(gtx C, tabIdx int) D {
310332
t := &tabs.tabs[tabIdx]
311-
if t.btn.Clicked() {
333+
if t.btn.Clicked(gtx) {
312334
if tabs.selected < tabIdx {
313335
slider.PushLeft()
314336
} else if tabs.selected > tabIdx {

0 commit comments

Comments
 (0)