Skip to content

Commit 7282924

Browse files
author
smallstone
committed
Update package.json and Header component
This commit updates the "compile" script in package.json to use webpack without specifying a version. In the Header component, it adds functionality to get and update the language setting using messageUtil. It also updates the updateSetting function in ideaBridge to handle language updates.
1 parent 038cec1 commit 7282924

4 files changed

Lines changed: 253 additions & 227 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"typescript"
4545
],
4646
"scripts": {
47-
"compile": "webpack 1",
47+
"compile": "webpack",
4848
"watch": "webpack --watch",
4949
"package": "webpack --mode production --devtool hidden-source-map",
5050
"compile-tests": "tsc -p . --outDir out",

src/util/ideaBridge.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -161,16 +161,19 @@ const JStoIdea = {
161161

162162
window.JSJavaBridge.callJava(JSON.stringify(params));
163163
},
164-
updateSetting: (value: string) => {
165-
// 因为现在只有更换模型,所以直接取 value
164+
updateSetting: (message: { value: string; key2: string }) => {
165+
if (message.key2 === "Language") {
166+
JStoIdea.setLanguage(message.value);
167+
return;
168+
}
166169
const params = {
167170
action: "updateSetting/request",
168171
metadata: {
169172
callback: "IdeaToJSMessage",
170173
},
171174
payload: {
172175
setting: {
173-
currentModel: value,
176+
currentModel: message.value,
174177
},
175178
},
176179
};
@@ -242,14 +245,14 @@ const JStoIdea = {
242245

243246
window.JSJavaBridge.callJava(JSON.stringify(params));
244247
},
245-
setLanguage: (message) => {
248+
setLanguage: (language) => {
246249
const params = {
247250
action: "updateLanguage/request",
248251
metadata: {
249252
callback: "IdeaToJSMessage",
250253
},
251254
payload: {
252-
language: message?.language || "en",
255+
language: language || "en",
253256
},
254257
};
255258
console.log("setLanguage params: ", params);
@@ -405,8 +408,9 @@ class IdeaBridge {
405408
accessKey: setting.apiKey,
406409
keyType: setting.apiKey.startsWith("DC") ? "DevChat" : "OpenAi",
407410
});
408-
this.handle.getLanguage({
409-
language: setting.language,
411+
this.handle.getSetting({
412+
value: setting.language,
413+
key2: "Language",
410414
});
411415
}
412416

@@ -524,7 +528,7 @@ class IdeaBridge {
524528
JStoIdea.viewDiff(message.content);
525529
break;
526530
case "updateSetting":
527-
JStoIdea.updateSetting(message.value);
531+
JStoIdea.updateSetting(message);
528532
break;
529533
case "doCommit":
530534
JStoIdea.commit(message.content);
@@ -544,9 +548,6 @@ class IdeaBridge {
544548
case "openLink":
545549
JStoIdea.openLink(message);
546550
break;
547-
case "setLanguage":
548-
JStoIdea.setLanguage(message);
549-
break;
550551
case "userInput":
551552
JStoIdea.userInput(message);
552553
break;

src/views/components/Header/index.tsx

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,24 @@ export default function Head() {
2525
const { i18n } = useTranslation();
2626

2727
useEffect(() => {
28-
messageUtil.registerHandler("getLanguage", (data: { language: string }) => {
29-
if (data.language && data.language.toLocaleLowerCase() === "en") {
30-
i18n.changeLanguage("en");
31-
} else {
32-
i18n.changeLanguage("zh");
33-
}
28+
messageUtil.sendMessage({
29+
command: "getSetting",
30+
key1: "DevChat",
31+
key2: "Language",
3432
});
33+
messageUtil.registerHandler(
34+
"getSetting",
35+
(data: { key2: string; value: string }) => {
36+
console.log("data: ", data);
37+
if (data.key2 === "Language") {
38+
if (data.value && data.value.toLocaleLowerCase() === "en") {
39+
i18n.changeLanguage("en");
40+
} else {
41+
i18n.changeLanguage("zh");
42+
}
43+
}
44+
}
45+
);
3546
}, []);
3647

3748
const openSetting = () => {
@@ -45,9 +56,12 @@ export default function Head() {
4556
const currentLang = i18n.language;
4657
const newLang = currentLang === "en" ? "zh" : "en";
4758
i18n.changeLanguage(newLang);
59+
4860
messageUtil.sendMessage({
49-
command: "setLanguage",
50-
language: newLang,
61+
command: "updateSetting",
62+
key1: "DevChat",
63+
key2: "Language",
64+
value: newLang,
5165
});
5266
};
5367

0 commit comments

Comments
 (0)