fix: save failed

This commit is contained in:
2025-10-14 12:59:52 +08:00
parent 7f2a51c5aa
commit d02874da73
2 changed files with 14 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
import * as dkjson from "@sikongjueluo/dkjson-types"; // import * as dkjson from "@sikongjueluo/dkjson-types";
interface ToastConfig { interface ToastConfig {
title: MinecraftTextComponent; title: MinecraftTextComponent;
@@ -131,9 +131,12 @@ function loadConfig(filepath: string): AccessConfig {
} }
function saveConfig(config: AccessConfig, filepath: string) { function saveConfig(config: AccessConfig, filepath: string) {
const configJson = dkjson.encode(config, { indent: true }) as string; // const configJson = dkjson.encode(config, { indent: true }) as string;
// Not use external lib // Not use external lib
// const configJson = textutils.serializeJSON(config, { unicode_strings: true }); const configJson = textutils.serializeJSON(config, {
allow_repetitions: true,
unicode_strings: true,
});
if (configJson == undefined) { if (configJson == undefined) {
print("Failed to save config"); print("Failed to save config");
} }

View File

@@ -3,6 +3,7 @@
* A text-based user interface for configuring access control settings * A text-based user interface for configuring access control settings
*/ */
import { context } from "@/lib/ccTUI/context";
import { import {
createSignal, createSignal,
createStore, createStore,
@@ -46,8 +47,11 @@ interface ErrorState {
* Main TUI Application Component * Main TUI Application Component
*/ */
const AccessControlTUI = () => { const AccessControlTUI = () => {
// Load configuration on initialization
const configFilepath = `${shell.dir()}/access.config.json`;
const loadedConfig = loadConfig(configFilepath);
// Configuration state // Configuration state
const [config, setConfig] = createStore<AccessConfig>({} as AccessConfig); const [config, setConfig] = createStore<AccessConfig>(loadedConfig);
// UI state // UI state
const [currentTab, setCurrentTab] = createSignal<TabIndex>(TABS.BASIC); const [currentTab, setCurrentTab] = createSignal<TabIndex>(TABS.BASIC);
@@ -60,11 +64,6 @@ const AccessControlTUI = () => {
// New user input for group management // New user input for group management
const [newUserName, setNewUserName] = createSignal(""); const [newUserName, setNewUserName] = createSignal("");
// Load configuration on initialization
const configFilepath = `${shell.dir()}/access.config.json`;
const loadedConfig = loadConfig(configFilepath);
setConfig(() => loadedConfig);
// Tab navigation functions // Tab navigation functions
const tabNames = ["Basic", "Groups", "Welcome", "Warn", "Notice"]; const tabNames = ["Basic", "Groups", "Welcome", "Warn", "Notice"];
@@ -165,6 +164,9 @@ const AccessControlTUI = () => {
} }
// Save configuration // Save configuration
context.logger?.debug(
`Configuration : ${textutils.serialise(currentConfig, { allow_repetitions: true })}`,
);
saveConfig(currentConfig, configFilepath); saveConfig(currentConfig, configFilepath);
showError("Configuration saved successfully!"); showError("Configuration saved successfully!");
} catch (error) { } catch (error) {