fix(new_tab): workspace switcher no longer displayed

Regression of 7f1eb9912708e915eb6048ddb1cd3cfd895d5543
This commit is contained in:
Elian Doran 2025-04-08 12:46:58 +03:00
parent 3a1f1ceedb
commit 0eec8042ca
No known key found for this signature in database
4 changed files with 21 additions and 2 deletions

View File

@ -117,3 +117,17 @@ test("Search works when dismissing a tab", async ({ page, context }) => {
await app.openAndClickNoteActionMenu("Search in note");
await expect(app.findAndReplaceWidget).toBeVisible();
});
test("New tab displays workspaces", async ({ page, context }) => {
const app = new App(page, context);
await app.goto();
const workspaceNotesEl = app.currentNoteSplitContent.locator(".workspace-notes");
await expect(workspaceNotesEl).toBeVisible();
expect(workspaceNotesEl).toContainText("Personal");
expect(workspaceNotesEl).toContainText("Work");
await expect(workspaceNotesEl.locator(".bx.bxs-user")).toBeVisible();
await expect(workspaceNotesEl.locator(".bx.bx-briefcase-alt")).toBeVisible();
await app.closeAllTabs();
});

Binary file not shown.

View File

@ -99,7 +99,7 @@ export default class EmptyTypeWidget extends TypeWidget {
super.doRender();
}
async doRefresh(note: FNote) {
async doRefresh() {
const workspaceNotes = await searchService.searchForNotes("#workspace #!template");
this.$workspaceNotes.empty();

View File

@ -3,6 +3,7 @@ import appContext, { type EventData, type EventNames } from "../../components/ap
import type FNote from "../../entities/fnote.js";
import type NoteDetailWidget from "../note_detail.js";
import type SpacedUpdate from "../../services/spaced_update.js";
import type EmptyTypeWidget from "./empty.js";
/**
* The base class for all the note types.
@ -33,8 +34,12 @@ export default abstract class TypeWidget extends NoteContextAwareWidget {
} else {
this.toggleInt(true);
if (this.note) {
// Avoid passing nullable this.note down to doRefresh().
if (thisWidgetType !== "empty" && this.note) {
await this.doRefresh(this.note);
} else if (thisWidgetType === "empty") {
// EmptyTypeWidget is a special case, since it's used for a new tab where there's no note.
await (this as unknown as EmptyTypeWidget).doRefresh();
}
this.triggerEvent("noteDetailRefreshed", { ntxId: this.noteContext?.ntxId });