From eff9a4d3d0a2eedd73598b05cc039f5ac6630e82 Mon Sep 17 00:00:00 2001 From: Ivanruii Date: Thu, 14 May 2026 12:10:19 +0200 Subject: [PATCH 1/2] feat(vscode-extension): add new wireframe button to status bar --- packages/vscode-extension/src/index.ts | 2 ++ .../vscode-extension/src/status-bar/index.ts | 2 ++ .../src/status-bar/new-wireframe/index.ts | 1 + .../new-wireframe/new-wireframe.status-bar.ts | 20 +++++++++++++++++++ .../src/status-bar/register.ts | 12 +++++++++++ 5 files changed, 37 insertions(+) create mode 100644 packages/vscode-extension/src/status-bar/index.ts create mode 100644 packages/vscode-extension/src/status-bar/new-wireframe/index.ts create mode 100644 packages/vscode-extension/src/status-bar/new-wireframe/new-wireframe.status-bar.ts create mode 100644 packages/vscode-extension/src/status-bar/register.ts diff --git a/packages/vscode-extension/src/index.ts b/packages/vscode-extension/src/index.ts index 233d9683..f3c15c85 100644 --- a/packages/vscode-extension/src/index.ts +++ b/packages/vscode-extension/src/index.ts @@ -2,6 +2,7 @@ import { registerCommands } from '#commands'; import { onAppUrlChange, syncAppUrlFile } from '#core'; import { QuickMockEditorProvider } from '#editor'; import { setupMcp } from '#mcp'; +import { registerStatusBarItems } from '#status-bar'; import * as vscode from 'vscode'; export const activate = (context: vscode.ExtensionContext) => { @@ -10,6 +11,7 @@ export const activate = (context: vscode.ExtensionContext) => { context.subscriptions.push(QuickMockEditorProvider.register(context)); setupMcp(context); registerCommands(context); + registerStatusBarItems(context); }; export const deactivate = () => {}; diff --git a/packages/vscode-extension/src/status-bar/index.ts b/packages/vscode-extension/src/status-bar/index.ts new file mode 100644 index 00000000..c4125238 --- /dev/null +++ b/packages/vscode-extension/src/status-bar/index.ts @@ -0,0 +1,2 @@ +export * from './new-wireframe'; +export * from './register'; diff --git a/packages/vscode-extension/src/status-bar/new-wireframe/index.ts b/packages/vscode-extension/src/status-bar/new-wireframe/index.ts new file mode 100644 index 00000000..e5ec3505 --- /dev/null +++ b/packages/vscode-extension/src/status-bar/new-wireframe/index.ts @@ -0,0 +1 @@ +export * from './new-wireframe.status-bar'; diff --git a/packages/vscode-extension/src/status-bar/new-wireframe/new-wireframe.status-bar.ts b/packages/vscode-extension/src/status-bar/new-wireframe/new-wireframe.status-bar.ts new file mode 100644 index 00000000..bd30313e --- /dev/null +++ b/packages/vscode-extension/src/status-bar/new-wireframe/new-wireframe.status-bar.ts @@ -0,0 +1,20 @@ +import { QUICKMOCK_NEW_WIREFRAME_COMMAND_ID } from '#commands'; +import * as vscode from 'vscode'; + +const STATUS_BAR_PRIORITY = 100; + +export const registerNewWireframeStatusBarItem = ( + context: vscode.ExtensionContext +): void => { + const item = vscode.window.createStatusBarItem( + vscode.StatusBarAlignment.Left, + STATUS_BAR_PRIORITY + ); + item.text = '$(lightbulb) Quickmock'; + item.tooltip = 'Create new Quickmock wireframe'; + item.color = '#309a8a'; + item.command = QUICKMOCK_NEW_WIREFRAME_COMMAND_ID; + item.show(); + + context.subscriptions.push(item); +}; diff --git a/packages/vscode-extension/src/status-bar/register.ts b/packages/vscode-extension/src/status-bar/register.ts new file mode 100644 index 00000000..cd2bc908 --- /dev/null +++ b/packages/vscode-extension/src/status-bar/register.ts @@ -0,0 +1,12 @@ +import * as vscode from 'vscode'; +import { registerNewWireframeStatusBarItem } from './new-wireframe'; + +/** + * Registers all VS Code status bar items exposed by the extension. + * @param context The VS Code extension context. + */ +export const registerStatusBarItems = ( + context: vscode.ExtensionContext +): void => { + registerNewWireframeStatusBarItem(context); +}; From a385bac05a39ec492509a199dc3edf4669d566fe Mon Sep 17 00:00:00 2001 From: Ivanruii Date: Thu, 14 May 2026 12:13:37 +0200 Subject: [PATCH 2/2] chore: added changeset --- .changeset/three-mirrors-begin.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/three-mirrors-begin.md diff --git a/.changeset/three-mirrors-begin.md b/.changeset/three-mirrors-begin.md new file mode 100644 index 00000000..80ceb7f2 --- /dev/null +++ b/.changeset/three-mirrors-begin.md @@ -0,0 +1,5 @@ +--- +'quickmock': minor +--- + +Added create new wireframe button on VSCode status bar.