diff --git a/server/ui-src/components/ListMessages.vue b/server/ui-src/components/ListMessages.vue index 63075d6..6da9525 100644 --- a/server/ui-src/components/ListMessages.vue +++ b/server/ui-src/components/ListMessages.vue @@ -2,6 +2,7 @@ import { mailbox } from '../stores/mailbox' import CommonMixins from '../mixins/CommonMixins' import dayjs from 'dayjs' +import {pagination} from "../stores/pagination"; export default { mixins: [ @@ -99,6 +100,14 @@ export default { } } }, + + toTagUrl: function (t) { + const params = new URLSearchParams({ + start: String(0), + limit: pagination.limit.toString(), + }) + return '/search?q=' + this.tagEncodeURI(t) + '&' + params.toString() + }, } } @@ -143,7 +152,7 @@ export default { {{ message.Snippet }}
- {{ t }} diff --git a/server/ui-src/components/NavMailbox.vue b/server/ui-src/components/NavMailbox.vue index 50a41ec..6dc9fff 100644 --- a/server/ui-src/components/NavMailbox.vue +++ b/server/ui-src/components/NavMailbox.vue @@ -32,6 +32,7 @@ export default { methods: { reloadInbox: function () { pagination.start = 0 + this.$router.push('/') this.loadMessages() }, diff --git a/server/ui-src/components/NavTags.vue b/server/ui-src/components/NavTags.vue index 5b77f86..b023343 100644 --- a/server/ui-src/components/NavTags.vue +++ b/server/ui-src/components/NavTags.vue @@ -67,9 +67,22 @@ export default { if (query == '') { this.$router.push('/') } else { - this.$router.push('/search?q=' + encodeURIComponent(query)) + const params = new URLSearchParams({ + q: query, + start: pagination.start.toString(), + limit: pagination.limit.toString(), + }) + this.$router.push('/search?' + params.toString()) } - } + }, + + toTagUrl(tag) { + const params = new URLSearchParams({ + start: String(0), + limit: pagination.limit.toString(), + }) + return '/search?q=' + this.tagEncodeURI(tag) + '&' + params.toString() + }, } } @@ -91,7 +104,7 @@ export default {
- diff --git a/server/ui-src/components/Notifications.vue b/server/ui-src/components/Notifications.vue index fa89c3d..945e5a1 100644 --- a/server/ui-src/components/Notifications.vue +++ b/server/ui-src/components/Notifications.vue @@ -60,6 +60,13 @@ export default { } else { // update pagination offset pagination.start++ + const path = self.$route.path + const params = new URLSearchParams({ + ...self.$route.query, + start: pagination.start.toString(), + limit: pagination.limit.toString(), + }) + self.$router.push(path + '?' + params.toString()) } } diff --git a/server/ui-src/components/Pagination.vue b/server/ui-src/components/Pagination.vue index a106ae9..9998061 100644 --- a/server/ui-src/components/Pagination.vue +++ b/server/ui-src/components/Pagination.vue @@ -1,7 +1,7 @@