1
1
mirror of https://github.com/go-gitea/gitea synced 2025-07-04 01:27:20 +00:00

fixed incorrect page navigation with up and down arrow on last item of dashboard repos (#34570)

Previously, pressing the down arrow key on the last item of a list would
incorrectly load the latest page when not release key. This commit
corrects the logic to ensure that the next page is loaded as intended.
This commit is contained in:
metiftikci
2025-06-03 20:55:09 +03:00
committed by GitHub
parent 4e471487fb
commit fe57ee3074

View File

@ -219,7 +219,9 @@ export default defineComponent({
this.searchRepos(); this.searchRepos();
}, },
changePage(page: number) { async changePage(page: number) {
if (this.isLoading) return;
this.page = page; this.page = page;
if (this.page > this.finalPage) { if (this.page > this.finalPage) {
this.page = this.finalPage; this.page = this.finalPage;
@ -229,7 +231,7 @@ export default defineComponent({
} }
this.repos = []; this.repos = [];
this.counts[`${this.reposFilter}:${this.archivedFilter}:${this.privateFilter}`] = 0; this.counts[`${this.reposFilter}:${this.archivedFilter}:${this.privateFilter}`] = 0;
this.searchRepos(); await this.searchRepos();
}, },
async searchRepos() { async searchRepos() {
@ -299,7 +301,7 @@ export default defineComponent({
return commitStatus[status].color; return commitStatus[status].color;
}, },
reposFilterKeyControl(e: KeyboardEvent) { async reposFilterKeyControl(e: KeyboardEvent) {
switch (e.key) { switch (e.key) {
case 'Enter': case 'Enter':
document.querySelector<HTMLAnchorElement>('.repo-owner-name-list li.active a')?.click(); document.querySelector<HTMLAnchorElement>('.repo-owner-name-list li.active a')?.click();
@ -308,7 +310,7 @@ export default defineComponent({
if (this.activeIndex > 0) { if (this.activeIndex > 0) {
this.activeIndex--; this.activeIndex--;
} else if (this.page > 1) { } else if (this.page > 1) {
this.changePage(this.page - 1); await this.changePage(this.page - 1);
this.activeIndex = this.searchLimit - 1; this.activeIndex = this.searchLimit - 1;
} }
break; break;
@ -317,17 +319,17 @@ export default defineComponent({
this.activeIndex++; this.activeIndex++;
} else if (this.page < this.finalPage) { } else if (this.page < this.finalPage) {
this.activeIndex = 0; this.activeIndex = 0;
this.changePage(this.page + 1); await this.changePage(this.page + 1);
} }
break; break;
case 'ArrowRight': case 'ArrowRight':
if (this.page < this.finalPage) { if (this.page < this.finalPage) {
this.changePage(this.page + 1); await this.changePage(this.page + 1);
} }
break; break;
case 'ArrowLeft': case 'ArrowLeft':
if (this.page > 1) { if (this.page > 1) {
this.changePage(this.page - 1); await this.changePage(this.page - 1);
} }
break; break;
} }