fix: use useMemo for derived rawSettings and remove unused imports in SystemSettings
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import React, { useState, useEffect } from "react";
|
import { useMemo } from "react";
|
||||||
|
|
||||||
interface SystemSettingsProps {
|
interface SystemSettingsProps {
|
||||||
settings: Record<string, any>;
|
settings: Record<string, any>;
|
||||||
@@ -14,17 +14,15 @@ const KNOWN_KEYS = new Set([
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
export default function SystemSettings({ settings, alpacaMode, onSave, saveError }: SystemSettingsProps) {
|
export default function SystemSettings({ settings, alpacaMode, onSave, saveError }: SystemSettingsProps) {
|
||||||
const [rawSettings, setRawSettings] = useState<Array<{ key: string; value: string }>>([]);
|
const rawSettings = useMemo(() =>
|
||||||
|
Object.entries(settings)
|
||||||
useEffect(() => {
|
|
||||||
const others = Object.entries(settings)
|
|
||||||
.filter(([key]) => !KNOWN_KEYS.has(key))
|
.filter(([key]) => !KNOWN_KEYS.has(key))
|
||||||
.map(([key, value]) => ({
|
.map(([key, value]) => ({
|
||||||
key,
|
key,
|
||||||
value: typeof value === "string" ? value : JSON.stringify(value, null, 2),
|
value: typeof value === "string" ? value : JSON.stringify(value, null, 2),
|
||||||
}));
|
})),
|
||||||
setRawSettings(others);
|
[settings]
|
||||||
}, [settings]);
|
);
|
||||||
|
|
||||||
const handleRawSave = async (key: string, newValue: string) => {
|
const handleRawSave = async (key: string, newValue: string) => {
|
||||||
try {
|
try {
|
||||||
|
|||||||
Reference in New Issue
Block a user