Skip to content

Commit abcd111

Browse files
committed
fix(desktop): show package version in settings
1 parent ead4e6d commit abcd111

10 files changed

Lines changed: 21 additions & 0 deletions

File tree

apps/desktop/src/App.test.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { act, fireEvent, screen, waitFor, within } from "@testing-library/react";
22
import { defaultMarkdownShortcuts } from "@markra/editor";
3+
import desktopPackage from "../package.json";
34
import { defaultAiQuickActionPrompts } from "./lib/ai-actions";
45
import {
56
dispatchAiEditorPreviewAction,
@@ -532,6 +533,7 @@ describe("Markra workspace", () => {
532533
settingsGroups.forEach((group) => expect(group).not.toHaveClass("border-y"));
533534
expect(settingsGroups[0]).not.toHaveClass("divide-y");
534535
expect(settingsGroups.some((group) => group.classList.contains("divide-y"))).toBe(true);
536+
expect(screen.getByText(`Markra ${desktopPackage.version}`)).toBeInTheDocument();
535537
const categoryButtons = Array.from(container.querySelectorAll(".settings-sidebar nav button"));
536538
expect(categoryButtons).toHaveLength(9);
537539
expect(categoryButtons[0]).toHaveAttribute("aria-current", "page");

apps/desktop/src/components/SettingsSections.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1263,6 +1263,7 @@ function SettingsTitlebarActionsControl({
12631263
}
12641264

12651265
export function GeneralSettings({
1266+
appVersion,
12661267
language,
12671268
onCheckForUpdates,
12681269
onResetWelcomeDocument,
@@ -1272,6 +1273,7 @@ export function GeneralSettings({
12721273
translate,
12731274
welcomeReset
12741275
}: {
1276+
appVersion: string;
12751277
language: AppLanguage;
12761278
onCheckForUpdates: () => unknown;
12771279
onResetWelcomeDocument: () => unknown;
@@ -1333,6 +1335,10 @@ export function GeneralSettings({
13331335
) : null}
13341336

13351337
<SettingsSection label={translate("settings.sections.updates")}>
1338+
<SettingsRow
1339+
title={translate("settings.update.currentVersion")}
1340+
description={`Markra ${appVersion}`}
1341+
/>
13361342
<SettingsRow
13371343
title={translate("settings.update.title")}
13381344
description={translate("settings.update.description")}

apps/desktop/src/components/SettingsWindow.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { SettingsContent, SettingsSidebar } from "./SettingsShell";
1414
import { useSettingsWindowState } from "../hooks/useSettingsWindowState";
1515
import { useAutoUpdater } from "../hooks/useAutoUpdater";
1616
import { useDefaultContextMenuBlocker } from "../hooks/useDefaultContextMenuBlocker";
17+
import { appVersion } from "../lib/app-version";
1718
import { resolveDesktopPlatform } from "../lib/platform";
1819
import { MacWindowControls } from "./MacWindowControls";
1920

@@ -75,6 +76,7 @@ export function SettingsWindow() {
7576
<SettingsContent activeCategory={activeCategory} translate={translate}>
7677
{activeCategory === "general" ? (
7778
<GeneralSettings
79+
appVersion={appVersion}
7880
preferences={editorPreferences}
7981
language={appLanguage.language}
8082
translate={translate}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const appVersion = __MARKRA_APP_VERSION__;

apps/desktop/src/vite-env.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
/// <reference types="vite/client" />
22

3+
declare const __MARKRA_APP_VERSION__: string;
34
declare const __MARKRA_DEBUG__: boolean;

apps/desktop/vite.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
import react from "@vitejs/plugin-react";
22
import tailwindcss from "@tailwindcss/vite";
3+
import { readFileSync } from "node:fs";
34
import { fileURLToPath } from "node:url";
45
import { defineConfig } from "vitest/config";
56
import { stripDebugPlugin } from "./scripts/vite/strip-debug";
67

8+
const desktopPackage = JSON.parse(
9+
readFileSync(new URL("./package.json", import.meta.url), "utf8")
10+
) as { version?: string };
711
const chunkSizeWarningLimitKb = 1200;
812
const fontAssetPattern = /\.(?:otf|ttf|woff2?)$/i;
913
const imageAssetPattern = /\.(?:avif|gif|ico|jpe?g|png|svg|webp)$/i;
@@ -93,6 +97,7 @@ function vendorChunkName(id: string) {
9397

9498
export default defineConfig(({ mode }) => ({
9599
define: {
100+
__MARKRA_APP_VERSION__: JSON.stringify(desktopPackage.version ?? "0.0.0"),
96101
__MARKRA_DEBUG__: JSON.stringify(mode !== "production")
97102
},
98103
resolve: mode === "test"

packages/shared/src/i18n/locales/en.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const messages: BaseLocaleMessages = {
3232
"settings.welcome.buttonLabel": "Show welcome next launch",
3333
"settings.startup.restoreWorkspace": "Restore last workspace",
3434
"settings.startup.restoreWorkspaceDescription": "Reopen the last file and file tree when Markra starts.",
35+
"settings.update.currentVersion": "Current version",
3536
"settings.update.title": "App updates",
3637
"settings.update.description": "Check whether a newer Markra release is available.",
3738
"settings.update.check": "Check for updates",

packages/shared/src/i18n/locales/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ export type I18nKey =
4444
| "settings.welcome.status"
4545
| "settings.startup.restoreWorkspace"
4646
| "settings.startup.restoreWorkspaceDescription"
47+
| "settings.update.currentVersion"
4748
| "settings.update.title"
4849
| "settings.update.description"
4950
| "settings.update.check"

packages/shared/src/i18n/locales/zh-CN.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ const messages: LocaleMessages = {
3232
"settings.welcome.buttonLabel": "下次启动时显示欢迎文档",
3333
"settings.startup.restoreWorkspace": "恢复上次工作区",
3434
"settings.startup.restoreWorkspaceDescription": "启动 Markra 时重新打开上次的文件和文件树。",
35+
"settings.update.currentVersion": "当前版本",
3536
"settings.update.title": "应用更新",
3637
"settings.update.description": "检查是否有新的 Markra 版本可用。",
3738
"settings.update.check": "检查更新",

packages/shared/src/i18n/locales/zh-TW.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ const messages: LocaleMessages = {
2727
"settings.language.title": "語言",
2828
"settings.welcome.title": "歡迎文件",
2929
"settings.welcome.button": "重設",
30+
"settings.update.currentVersion": "目前版本",
3031
"settings.update.title": "應用程式更新",
3132
"settings.update.description": "檢查是否有新的 Markra 版本可用。",
3233
"settings.update.check": "檢查更新",

0 commit comments

Comments
 (0)