From 71acf9e6f1f62f8f89dbb8698660be99912f1a56 Mon Sep 17 00:00:00 2001 From: wu21-web Date: Thu, 6 Aug 2026 23:40:58 +0900 Subject: [PATCH 1/3] move inline scripts from repos.html to repos.js --- internal/viewer/static/repos.js | 18 ++++++++++++++++++ internal/viewer/templates/repos.html | 18 +----------------- 2 files changed, 19 insertions(+), 17 deletions(-) create mode 100644 internal/viewer/static/repos.js diff --git a/internal/viewer/static/repos.js b/internal/viewer/static/repos.js new file mode 100644 index 000000000..66be94488 --- /dev/null +++ b/internal/viewer/static/repos.js @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: Apache-2.0 +// Copyright 2026 alibaba/open-code-review Contributors + +(() => { + const input = document.getElementById("repository-search-input"); + const table = document.getElementById("repositories-table"); + if (!input || !table) return; + + const rows = table.querySelectorAll("tbody tr"); + input.addEventListener("input", () => { + const query = input.value.trim().toLowerCase(); + rows.forEach((row) => { + const nameCell = row.querySelector("[data-repository-name]"); + const name = nameCell ? nameCell.textContent.trim().toLowerCase() : ""; + row.hidden = !name.includes(query); + }); + }); +})(); diff --git a/internal/viewer/templates/repos.html b/internal/viewer/templates/repos.html index 52f1daaf5..d842aa1ab 100644 --- a/internal/viewer/templates/repos.html +++ b/internal/viewer/templates/repos.html @@ -28,23 +28,7 @@

Repositories

{{end}} - + {{else}}

No session data found. Run a code review first.

{{end}} From cca256298961078480d4072495f63ed5e205ba72 Mon Sep 17 00:00:00 2001 From: wu21-web Date: Thu, 6 Aug 2026 23:41:16 +0900 Subject: [PATCH 2/3] fixup --- internal/viewer/server_extra_test.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/internal/viewer/server_extra_test.go b/internal/viewer/server_extra_test.go index 08e9f82c9..474405ec2 100644 --- a/internal/viewer/server_extra_test.go +++ b/internal/viewer/server_extra_test.go @@ -84,10 +84,7 @@ func TestRenderTemplate_WithRepos(t *testing.T) { `id="repository-search-input"`, `id="repositories-table"`, "data-repository-name", - `addEventListener("input"`, - "toLowerCase()", - "name.includes(query)", - "row.hidden", + `src="/static/repos.js"`, } { if !strings.Contains(body, required) { t.Errorf("rendered repository page missing %q", required) From 2723f8d9e3ca6d3d45392661e896d30e2fc10bfe Mon Sep 17 00:00:00 2001 From: wu21-web Date: Thu, 6 Aug 2026 23:41:37 +0900 Subject: [PATCH 3/3] fix: include repos.js in embedded assets --- internal/viewer/server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/viewer/server.go b/internal/viewer/server.go index 9eef84e8c..2f8aa076d 100644 --- a/internal/viewer/server.go +++ b/internal/viewer/server.go @@ -14,7 +14,7 @@ import ( "time" ) -//go:embed templates/*.html static/style.css static/session.js +//go:embed templates/*.html static/style.css static/session.js static/repos.js var assets embed.FS func StartServer(addr string) error {