Skip to content

Commit 020dd85

Browse files
committed
Clarify toolbar collapse counts
1 parent 88169bd commit 020dd85

4 files changed

Lines changed: 18 additions & 9 deletions

File tree

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "show-me-talk",
3-
"version": "0.1.2",
3+
"version": "0.1.3",
44
"description": "Chrome extension that auto-collapses code in GitHub PRs so only the talk stays open.",
55
"type": "module",
66
"private": false,

src/content/pullRequestController.ts

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ interface ScanStats {
88
totalFiles: number;
99
talkFiles: number;
1010
codeFiles: number;
11-
collapsedFiles: number;
11+
collapsedCodeFiles: number;
1212
}
1313

1414
function isPullRequestPage(url: URL): boolean {
@@ -186,7 +186,7 @@ export class GitHubPullRequestController {
186186
totalFiles: files.length,
187187
talkFiles: 0,
188188
codeFiles: 0,
189-
collapsedFiles: 0,
189+
collapsedCodeFiles: 0,
190190
};
191191

192192
for (const file of files) {
@@ -210,10 +210,17 @@ export class GitHubPullRequestController {
210210
}
211211

212212
const toggleButton = file.querySelector<HTMLButtonElement>('.file-header .js-details-target');
213-
if (toggleButton && toggleButton.getAttribute('aria-expanded') === 'true') {
213+
if (!toggleButton) {
214+
continue;
215+
}
216+
217+
if (toggleButton.getAttribute('aria-expanded') === 'true') {
214218
this.programmaticToggleButtons.add(toggleButton);
215219
toggleButton.click();
216-
stats.collapsedFiles += 1;
220+
}
221+
222+
if (toggleButton.getAttribute('aria-expanded') === 'false') {
223+
stats.collapsedCodeFiles += 1;
217224
}
218225
}
219226

@@ -284,7 +291,7 @@ export class GitHubPullRequestController {
284291

285292
const summary = toolbar.querySelector<HTMLElement>('.show-me-talk-toolbar__summary');
286293
if (summary) {
287-
summary.textContent = `${stats.collapsedFiles} collapsed · ${stats.talkFiles} talk files kept open · ${stats.codeFiles} code files detected`;
294+
summary.textContent = `${stats.collapsedCodeFiles}/${stats.codeFiles} code files collapsed · ${stats.talkFiles} talk files kept open`;
288295
}
289296
}
290297

tests/live/github-prs.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ test('keeps docs open on docs-only PRs', async ({ context }) => {
99
const fileHeader = page.locator('.file-header[data-path="docs/src/chrome-extensions-js-python.md"]');
1010
await expect(fileHeader).toBeVisible();
1111
await expect(page.locator('#show-me-talk-toolbar')).toBeVisible();
12-
await expect(page.locator('#show-me-talk-toolbar')).toContainText('1 talk files');
12+
await expect(page.locator('#show-me-talk-toolbar')).toContainText('0/0 code files collapsed · 1 talk files kept open');
1313
await expect(fileHeader.locator('.js-details-target')).toHaveAttribute('aria-expanded', 'true');
1414
await page.close();
1515
});
@@ -23,6 +23,7 @@ test('collapses code on code-only PRs', async ({ context }) => {
2323
const fileHeader = page.locator('.file-header[data-path="packages/playwright-core/src/cli/client/program.ts"]');
2424
await expect(fileHeader).toBeVisible();
2525
await expect(page.locator('#show-me-talk-toolbar')).toBeVisible();
26+
await expect(page.locator('#show-me-talk-toolbar')).toContainText('1/1 code files collapsed');
2627
await expect(fileHeader.locator('.js-details-target')).toHaveAttribute('aria-expanded', 'false');
2728
await page.close();
2829
});
@@ -39,6 +40,7 @@ test('keeps docs open and collapses code on mixed PRs', async ({ context }) => {
3940
await expect(docsHeader).toBeVisible();
4041
await expect(codeHeader).toBeVisible();
4142
await expect(page.locator('#show-me-talk-toolbar')).toBeVisible();
43+
await expect(page.locator('#show-me-talk-toolbar')).toContainText('15/15 code files collapsed · 2 talk files kept open');
4244
await expect(docsHeader.locator('.js-details-target')).toHaveAttribute('aria-expanded', 'true');
4345
await expect(codeHeader.locator('.js-details-target')).toHaveAttribute('aria-expanded', 'false');
4446
await page.close();

0 commit comments

Comments
 (0)