Skip to content

Commit dd0ad85

Browse files
committed
[[hub]] switching social filters should clear pagination position.
1 parent 2f3530c commit dd0ad85

File tree

1 file changed

+28
-12
lines changed

1 file changed

+28
-12
lines changed

ui/packages/hub/Public.js

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,15 @@ const PublicView = {
1818
let limit = vnode.attrs.limit || false
1919

2020
let opts = {
21-
filter: vnode.state.filter
21+
filter: vnode.state.filter,
2222
}
23+
2324
if (vnode.state.lt.length > 0) {
2425
let lt = Number(vnode.state.lt[vnode.state.lt.length - 1])
2526
opts.lt = lt
2627
patchfox.title(timestamp(lt))
2728
} else {
28-
patchfox.title()
29+
patchfox.title("")
2930
}
3031

3132
if (vnode.state.shouldLoadMessages == true) {
@@ -48,13 +49,21 @@ const PublicView = {
4849
const makeFilterButton = label => {
4950
let selected = vnode.state.filter == label
5051
let selector = selected ? "li.bordered" : "li"
51-
return m(selector, m("a", {
52-
onclick: () => {
53-
vnode.state.filter = label
54-
vnode.state.msgs = []
55-
vnode.state.shouldLoadMessages = true
56-
}
57-
},label))
52+
return m(
53+
selector,
54+
m(
55+
"a",
56+
{
57+
onclick: () => {
58+
vnode.state.filter = label
59+
vnode.state.msgs = []
60+
vnode.state.lt = []
61+
vnode.state.shouldLoadMessages = true
62+
},
63+
},
64+
label
65+
)
66+
)
5867
}
5968

6069
const header = m(".navbar.mb-2.text-base-content", [m(".navbar-start", m("ul.menu.menu-horizontal.bg-secondary.bg-secondary-content", [makeFilterButton("All"), makeFilterButton("Friends"), makeFilterButton("Following")]))])
@@ -64,22 +73,29 @@ const PublicView = {
6473
vnode.state.msgs = []
6574
vnode.state.shouldLoadMessages = true
6675
patchfox.addHistory("hub", "public", { lt: vnode.state.lt[vnode.state.lt.length - 1] })
67-
window.scrollTo(0,0)
76+
window.scrollTo(0, 0)
6877
}
6978

7079
const goPrevious = () => {
7180
vnode.state.msgs = []
7281
vnode.state.shouldLoadMessages = true
7382
vnode.state.lt.pop()
74-
window.scrollTo(0,0)
83+
window.scrollTo(0, 0)
7584
}
7685

7786
if (vnode.state.shouldLoadMessages) {
7887
return m(".flex.justify-center", m("i.fas.fa-spinner.fa-3x.fa-spin"))
7988
}
8089

8190
if (!vnode.state.shouldLoadMessages && vnode.state.msgs.length > 0) {
82-
return [header, ...vnode.state.msgs.map(msg => m(MessageRenderer, { msg })), m("br"), m(".btn-group", [m("button.btn.btn-outline.btn-wide", { onclick: goPrevious }, "Previous"), m("button.btn.btn-outline.btn-wide", { onclick: goNext }, "Next")])]
91+
return [
92+
header,
93+
...vnode.state.msgs.map(msg => m(MessageRenderer, { msg })),
94+
m("br"),
95+
m(".btn-group", [
96+
m("button.btn.btn-outline.btn-wide", { onclick: goPrevious }, "Previous"),
97+
m("button.btn.btn-outline.btn-wide", { onclick: goNext }, "Next")]
98+
)]
8399
}
84100
},
85101
}

0 commit comments

Comments
 (0)