commit 9e6156283c543f6202e28b25e64af89110e19e31
parent fa5b5778cdf4ebe4316f8d283d664837eb1cf706
Author: David Eisinger <[email protected]>
Date: Mon, 13 Oct 2025 15:36:25 -0400
Remove pagination links for current params
Diffstat:
2 files changed, 46 insertions(+), 15 deletions(-)
diff --git a/internal/web/styles.css b/internal/web/styles.css
@@ -85,4 +85,5 @@ a { text-decoration: underline; }
.pager .sep { margin: 0 6px; opacity: 0.6; }
.pager .muted { color: #999; text-decoration: none; }
.pager .pages a, .pager .sizes a { margin: 0 4px; }
+.pager .pages .muted, .pager .sizes .muted { margin: 0 4px; }
.pager .sizes > span:first-child { margin-right: 4px; }
diff --git a/internal/web/user.html b/internal/web/user.html
@@ -93,35 +93,50 @@
<div class="pager">
<div v-if="pager && pager.total > 1" class="pages">
<template v-if="pager.page > 1">
- <a :href="pager && pager.query ? `/u:${me.username}?page=${pager.page-1}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${me.username}?page=${pager.page-1}&size=${pager.size}`">Prev</a>
+ <a :href="pager && pager.query ? `/u:${me.username}?page=${pager.page-1}&size=${pager.size}&q=${pager.queryEncoded}&vis=${pager.vis||'all'}` : `/u:${me.username}?page=${pager.page-1}&size=${pager.size}&vis=${pager.vis||'all'}`">Prev</a>
</template>
<template v-else>
- <a class="muted" :href="pager && pager.query ? `/u:${me.username}?page=${pager.page}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${me.username}?page=${pager.page}&size=${pager.size}`">Prev</a>
+ <span class="muted">Prev</span>
</template>
<span class="sep">|</span>
<template v-for="n in pager.total" :key="n">
<template v-if="n === pager.page">
- <a class="muted" :href="pager && pager.query ? `/u:${me.username}?page=${n}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${me.username}?page=${n}&size=${pager.size}`">{{ n }}</a>
+ <span class="muted">{{ n }}</span>
</template>
<template v-else>
- <a :href="pager && pager.query ? `/u:${me.username}?page=${n}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${me.username}?page=${n}&size=${pager.size}`">{{ n }}</a>
+ <a :href="pager && pager.query ? `/u:${me.username}?page=${n}&size=${pager.size}&q=${pager.queryEncoded}&vis=${pager.vis||'all'}` : `/u:${me.username}?page=${n}&size=${pager.size}&vis=${pager.vis||'all'}`">{{ n }}</a>
</template>
</template>
<span class="sep">|</span>
<template v-if="pager.page < pager.total">
- <a :href="pager && pager.query ? `/u:${me.username}?page=${pager.page+1}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${me.username}?page=${pager.page+1}&size=${pager.size}`">Next</a>
+ <a :href="pager && pager.query ? `/u:${me.username}?page=${pager.page+1}&size=${pager.size}&q=${pager.queryEncoded}&vis=${pager.vis||'all'}` : `/u:${me.username}?page=${pager.page+1}&size=${pager.size}&vis=${pager.vis||'all'}`">Next</a>
</template>
<template v-else>
- <a class="muted" :href="pager && pager.query ? `/u:${me.username}?page=${pager.page}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${me.username}?page=${pager.page}&size=${pager.size}`">Next</a>
+ <span class="muted">Next</span>
</template>
</div>
<div class="sizes">
<span>Page size:</span>
- <a :href="pager && pager.query ? `/u:${me.username}?page=1&size=20&q=${pager.queryEncoded}` : `/u:${me.username}?page=1&size=20`" :class="{ muted: pager && pager.size===20 }">20</a>
+ <template v-if="pager && pager.size===20">
+ <span class="muted">20</span>
+ </template>
+ <template v-else>
+ <a :href="pager && pager.query ? `/u:${me.username}?page=1&size=20&q=${pager.queryEncoded}&vis=${pager.vis||'all'}` : `/u:${me.username}?page=1&size=20&vis=${pager.vis||'all'}`">20</a>
+ </template>
<span class="sep">|</span>
- <a :href="pager && pager.query ? `/u:${me.username}?page=1&size=50&q=${pager.queryEncoded}` : `/u:${me.username}?page=1&size=50`" :class="{ muted: pager && pager.size===50 }">50</a>
+ <template v-if="pager && pager.size===50">
+ <span class="muted">50</span>
+ </template>
+ <template v-else>
+ <a :href="pager && pager.query ? `/u:${me.username}?page=1&size=50&q=${pager.queryEncoded}&vis=${pager.vis||'all'}` : `/u:${me.username}?page=1&size=50&vis=${pager.vis||'all'}`">50</a>
+ </template>
<span class="sep">|</span>
- <a :href="pager && pager.query ? `/u:${me.username}?page=1&size=100&q=${pager.queryEncoded}` : `/u:${me.username}?page=1&size=100`" :class="{ muted: pager && pager.size===100 }">100</a>
+ <template v-if="pager && pager.size===100">
+ <span class="muted">100</span>
+ </template>
+ <template v-else>
+ <a :href="pager && pager.query ? `/u:${me.username}?page=1&size=100&q=${pager.queryEncoded}&vis=${pager.vis||'all'}` : `/u:${me.username}?page=1&size=100&vis=${pager.vis||'all'}`">100</a>
+ </template>
</div>
</div>
</section>
@@ -159,12 +174,12 @@
<a :href="pager && pager.query ? `/u:${viewUser}?page=${pager.page-1}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${viewUser}?page=${pager.page-1}&size=${pager.size}`">Prev</a>
</template>
<template v-else>
- <a class="muted" :href="pager && pager.query ? `/u:${viewUser}?page=${pager.page}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${viewUser}?page=${pager.page}&size=${pager.size}`">Prev</a>
+ <span class="muted">Prev</span>
</template>
<span class="sep">|</span>
<template v-for="n in pager.total" :key="n">
<template v-if="n === pager.page">
- <a class="muted" :href="pager && pager.query ? `/u:${viewUser}?page=${n}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${viewUser}?page=${n}&size=${pager.size}`">{{ n }}</a>
+ <span class="muted">{{ n }}</span>
</template>
<template v-else>
<a :href="pager && pager.query ? `/u:${viewUser}?page=${n}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${viewUser}?page=${n}&size=${pager.size}`">{{ n }}</a>
@@ -175,16 +190,31 @@
<a :href="pager && pager.query ? `/u:${viewUser}?page=${pager.page+1}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${viewUser}?page=${pager.page+1}&size=${pager.size}`">Next</a>
</template>
<template v-else>
- <a class="muted" :href="pager && pager.query ? `/u:${viewUser}?page=${pager.page}&size=${pager.size}&q=${pager.queryEncoded}` : `/u:${viewUser}?page=${pager.page}&size=${pager.size}`">Next</a>
+ <span class="muted">Next</span>
</template>
</div>
<div class="sizes">
<span>Page size:</span>
- <a :href="pager && pager.query ? `/u:${viewUser}?page=1&size=20&q=${pager.queryEncoded}` : `/u:${viewUser}?page=1&size=20`" :class="{ muted: pager && pager.size===20 }">20</a>
+ <template v-if="pager && pager.size===20">
+ <span class="muted">20</span>
+ </template>
+ <template v-else>
+ <a :href="pager && pager.query ? `/u:${viewUser}?page=1&size=20&q=${pager.queryEncoded}` : `/u:${viewUser}?page=1&size=20`">20</a>
+ </template>
<span class="sep">|</span>
- <a :href="pager && pager.query ? `/u:${viewUser}?page=1&size=50&q=${pager.queryEncoded}` : `/u:${viewUser}?page=1&size=50`" :class="{ muted: pager && pager.size===50 }">50</a>
+ <template v-if="pager && pager.size===50">
+ <span class="muted">50</span>
+ </template>
+ <template v-else>
+ <a :href="pager && pager.query ? `/u:${viewUser}?page=1&size=50&q=${pager.queryEncoded}` : `/u:${viewUser}?page=1&size=50`">50</a>
+ </template>
<span class="sep">|</span>
- <a :href="pager && pager.query ? `/u:${viewUser}?page=1&size=100&q=${pager.queryEncoded}` : `/u:${viewUser}?page=1&size=100`" :class="{ muted: pager && pager.size===100 }">100</a>
+ <template v-if="pager && pager.size===100">
+ <span class="muted">100</span>
+ </template>
+ <template v-else>
+ <a :href="pager && pager.query ? `/u:${viewUser}?page=1&size=100&q=${pager.queryEncoded}` : `/u:${viewUser}?page=1&size=100`">100</a>
+ </template>
</div>
</div>
</section>