From a44dcc3f9591cf2404e2cb51d3be33272a51cad3 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 22 Dec 2025 12:53:21 +0800 Subject: [PATCH 1/3] feat(UniverSheet): add IsDarkMode parameter --- .../Components/UniverSheet.razor.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.cs b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.cs index 466fda9b..1c549e46 100644 --- a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.cs +++ b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.cs @@ -19,11 +19,17 @@ public partial class UniverSheet public Dictionary? Plugins { get; set; } /// - /// 获得/设置 主题颜色 默认 null 未设置 + /// 获得/设置 主题颜色 默认 null 未设置 可设置为 greenTheme /// [Parameter] public string? Theme { get; set; } + /// + /// 获得/设置 是否为暗黑模式 默认 null 未设置 自动 + /// + [Parameter] + public bool? IsDarkMode { get; set; } + /// /// 获得/设置 语言 默认 null 未设置 /// @@ -93,7 +99,15 @@ protected override async Task OnAfterRenderAsync(bool firstRender) /// /// /// - protected override Task InvokeInitAsync() => InvokeVoidAsync("init", Id, Interop, new { Theme, Lang, Plugins, Data, RibbonType = RibbonType.ToDescriptionString() }); + protected override Task InvokeInitAsync() => InvokeVoidAsync("init", Id, Interop, new + { + Theme, + Lang, + Plugins, + Data, + DarkMode = IsDarkMode, + RibbonType = RibbonType.ToDescriptionString() + }); /// /// 推送数据方法 From c63809f7934974197f023e1e9c1dd8febab562be Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 22 Dec 2025 12:53:36 +0800 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=96=B0=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/UniverSheet.razor.js | 5 +++-- .../wwwroot/univer.js | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js index b416df1c..1465e1f1 100644 --- a/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js +++ b/src/components/BootstrapBlazor.UniverSheet/Components/UniverSheet.razor.js @@ -8,7 +8,7 @@ export async function init(id, invoke, options) { return; } - const { theme, lang, plugins, data, ribbonType } = options; + const { theme, lang, plugins, data, ribbonType, darkMode } = options; const univerSheet = { el, invoke, @@ -16,7 +16,8 @@ export async function init(id, invoke, options) { plugins, theme, lang, - ribbonType + ribbonType, + darkMode }; await createUniverSheetAsync(univerSheet); diff --git a/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer.js b/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer.js index 0749c527..cfc51ad4 100644 --- a/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer.js +++ b/src/components/BootstrapBlazor.UniverSheet/wwwroot/univer.js @@ -1,4 +1,4 @@ -import { addScript, addLink } from '../BootstrapBlazor/modules/utility.js' +import { addScript, addLink, getTheme } from '../BootstrapBlazor/modules/utility.js' import DataService from './data-service.js' const loadAssets = async lang => { @@ -42,8 +42,8 @@ export async function createUniverSheetAsync(sheet) { const lang = sheet.lang.replace('-', '') const langStr = lang.charAt(0).toUpperCase() + lang.slice(1) const options = { - theme: UniverDesign[sheet.theme] ?? UniverDesign.defaultTheme, //'defaultTheme' | greenTheme - darkMode: sheet.darkMode ?? false, // false | true + theme: sheet.theme, + darkMode: sheet.darkMode, locale: lang, locales: { [lang]: merge( @@ -87,6 +87,17 @@ export async function createUniverSheetAsync(sheet) { options.plugins.push(plugin); } + if (options.theme === 'greenTheme') { + options.theme = UniverDesign.greenTheme; + } + else { + options.theme = UniverDesign.defaultTheme; + } + + if (options.darkMode === null) { + options.darkMode = getTheme() === 'dark'; + } + const { univer, univerAPI } = createUniver(options); const { workbookData } = sheet.data || {}; From 2abd541dd6d86cff3f9d1a23115707c638a2e50c Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Mon, 22 Dec 2025 12:53:46 +0800 Subject: [PATCH 3/3] chore: bump version 10.0.4 --- .../BootstrapBlazor.UniverSheet.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/BootstrapBlazor.UniverSheet/BootstrapBlazor.UniverSheet.csproj b/src/components/BootstrapBlazor.UniverSheet/BootstrapBlazor.UniverSheet.csproj index bbd6e31c..420129d1 100644 --- a/src/components/BootstrapBlazor.UniverSheet/BootstrapBlazor.UniverSheet.csproj +++ b/src/components/BootstrapBlazor.UniverSheet/BootstrapBlazor.UniverSheet.csproj @@ -1,7 +1,7 @@  - 10.0.3 + 10.0.4