diff --git a/apps/client/src/layouts/desktop_layout.tsx b/apps/client/src/layouts/desktop_layout.tsx
index 3128581a9..479a163f2 100644
--- a/apps/client/src/layouts/desktop_layout.tsx
+++ b/apps/client/src/layouts/desktop_layout.tsx
@@ -30,7 +30,6 @@ import ScrollingContainer from "../widgets/containers/scrolling_container.js";
import ScrollPadding from "../widgets/scroll_padding.js";
import SearchResult from "../widgets/search_result.jsx";
import SharedInfo from "../widgets/shared_info.jsx";
-import SpacerWidget from "../widgets/spacer.js";
import SplitNoteContainer from "../widgets/containers/split_note_container.js";
import SqlResults from "../widgets/sql_result.js";
import SqlTableSchemas from "../widgets/sql_table_schemas.js";
@@ -43,8 +42,8 @@ import UploadAttachmentsDialog from "../widgets/dialogs/upload_attachments.js";
import utils from "../services/utils.js";
import WatchedFileUpdateStatusWidget from "../widgets/watched_file_update_status.js";
import NoteDetail from "../widgets/NoteDetail.jsx";
-import RightPanelWidget from "../widgets/sidebar/RightPanelWidget.jsx";
import PromotedAttributes from "../widgets/PromotedAttributes.jsx";
+import SpacerWidget from "../widgets/launch_bar/SpacerWidget.jsx";
export default class DesktopLayout {
@@ -125,7 +124,7 @@ export default class DesktopLayout {
.cssBlock(".title-row > * { margin: 5px; }")
.child()
.child()
- .child(new SpacerWidget(0, 1))
+ .child()
.child()
.child()
.child()
diff --git a/apps/client/src/widgets/containers/launcher.tsx b/apps/client/src/widgets/containers/launcher.tsx
index 41d7fee9d..4ae82bbcd 100644
--- a/apps/client/src/widgets/containers/launcher.tsx
+++ b/apps/client/src/widgets/containers/launcher.tsx
@@ -1,5 +1,4 @@
import CalendarWidget from "../buttons/calendar.js";
-import SpacerWidget from "../spacer.js";
import ProtectedSessionStatusWidget from "../buttons/protected_session_status.js";
import SyncStatusWidget from "../sync_status.js";
import BasicWidget, { wrapReactWidgets } from "../basic_widget.js";
@@ -14,6 +13,7 @@ import type FNote from "../../entities/fnote.js";
import type { CommandNames } from "../../components/app_context.js";
import AiChatButton from "../buttons/ai_chat_button.js";
import BookmarkButtons from "../launch_bar/BookmarkButtons.jsx";
+import SpacerWidget from "../launch_bar/SpacerWidget.jsx";
interface InnerWidget extends BasicWidget {
settings?: {
@@ -109,7 +109,7 @@ export default class LauncherWidget extends BasicWidget {
const baseSize = parseInt(note.getLabelValue("baseSize") || "40");
const growthFactor = parseInt(note.getLabelValue("growthFactor") || "100");
- return new SpacerWidget(baseSize, growthFactor);
+ return ;
case "bookmarks":
return
case "protectedSession":
diff --git a/apps/client/src/widgets/launch_bar/SpacerWidget.tsx b/apps/client/src/widgets/launch_bar/SpacerWidget.tsx
new file mode 100644
index 000000000..5f89369c2
--- /dev/null
+++ b/apps/client/src/widgets/launch_bar/SpacerWidget.tsx
@@ -0,0 +1,35 @@
+import appContext, { CommandNames } from "../../components/app_context";
+import contextMenu from "../../menus/context_menu";
+import { t } from "../../services/i18n";
+import { isMobile } from "../../services/utils";
+
+interface SpacerWidgetProps {
+ baseSize?: number;
+ growthFactor?: number;
+}
+
+export default function SpacerWidget({ baseSize, growthFactor }: SpacerWidgetProps) {
+ return (
+
{
+ e.preventDefault();
+ contextMenu.show
({
+ x: e.pageX,
+ y: e.pageY,
+ items: [{ title: t("spacer.configure_launchbar"), command: "showLaunchBarSubtree", uiIcon: "bx " + (isMobile() ? "bx-mobile" : "bx-sidebar") }],
+ selectMenuItemHandler: ({ command }) => {
+ if (command) {
+ appContext.triggerCommand(command);
+ }
+ }
+ });
+ }}
+ />
+ )
+}
diff --git a/apps/client/src/widgets/spacer.ts b/apps/client/src/widgets/spacer.ts
deleted file mode 100644
index bb50e90d2..000000000
--- a/apps/client/src/widgets/spacer.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { t } from "../services/i18n.js";
-import BasicWidget from "./basic_widget.js";
-import contextMenu from "../menus/context_menu.js";
-import appContext, { type CommandNames } from "../components/app_context.js";
-import utils from "../services/utils.js";
-
-const TPL = /*html*/``;
-
-export default class SpacerWidget extends BasicWidget {
- private baseSize: number;
- private growthFactor: number;
-
- constructor(baseSize = 0, growthFactor = 1000) {
- super();
-
- this.baseSize = baseSize;
- this.growthFactor = growthFactor;
- }
-
- doRender() {
- this.$widget = $(TPL);
- this.$widget.css("flex-basis", this.baseSize);
- this.$widget.css("flex-grow", this.growthFactor);
- this.$widget.css("flex-shrink", 1000);
-
- this.$widget.on("contextmenu", (e) => {
- this.$widget.tooltip("hide");
-
- contextMenu.show({
- x: e.pageX,
- y: e.pageY,
- items: [{ title: t("spacer.configure_launchbar"), command: "showLaunchBarSubtree", uiIcon: "bx " + (utils.isMobile() ? "bx-mobile" : "bx-sidebar") }],
- selectMenuItemHandler: ({ command }) => {
- if (command) {
- appContext.triggerCommand(command);
- }
- }
- });
-
- return false; // blocks default browser right click menu
- });
- }
-}