Skip to content

Commit c3cbcda

Browse files
committed
Fix link hover color and add text decoration, update command menus, and show provider based on current model and API key
1 parent 2a6caeb commit c3cbcda

File tree

5 files changed

+40
-27
lines changed

5 files changed

+40
-27
lines changed

src/views/components/MessageMarkdown/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ const useStyles = createStyles((theme) => ({
2424
link: {
2525
"&:hover": {
2626
color: theme.colors.merico[6],
27+
textDecoration: "none",
2728
},
2829
},
2930
codeOverride: {

src/views/pages/ChatPanel.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,10 @@ const chatPanel = observer(() => {
8181
messageUtil.registerHandler(
8282
"regCommandList",
8383
(message: { result: Item[] }) => {
84-
console.log("regCommandList message: ", message);
8584
const commandMenus = message.result?.map((item) => ({
8685
...item,
87-
recommend: item.args ?? -1,
86+
recommend: item.recommend ?? -1,
8887
}));
89-
console.log("regCommandList commandMenus: ", commandMenus);
9088
input.fetchCommandMenus(commandMenus);
9189
if (!isFirstRender.current) {
9290
return;

src/views/pages/Config.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,9 @@ const Config = function () {
170170
};
171171

172172
const disabledSubmit = isEqual(form.values, config.config);
173+
const showProvider =
174+
current.toLowerCase().startsWith("gpt") &&
175+
form.values.providers?.openai?.api_key;
173176

174177
return (
175178
<Drawer
@@ -342,7 +345,7 @@ const Config = function () {
342345
value={form.values?.models[current]?.max_input_tokens}
343346
onChange={(value) => changeModelDetail("max_input_tokens", value)}
344347
/>
345-
{current.toLowerCase().startsWith("gpt") && (
348+
{showProvider && (
346349
<Select
347350
label="Provider"
348351
placeholder="Pick one"

src/views/stores/ConfigStore.ts

Lines changed: 34 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,25 @@ export const ConfigStore = types
6464
}
6565
return "";
6666
},
67-
setConfig: (data) => {
67+
setConfig: function (data) {
6868
self.settle = false;
6969
const newConfig = { ...data };
7070
if (!data.models) {
7171
newConfig.models = {};
7272
}
73+
if (!newConfig.providers?.openai) {
74+
newConfig.providers.openai = {
75+
api_key: "",
76+
api_base: "",
77+
};
78+
}
79+
if (!newConfig.providers?.devchat) {
80+
newConfig.providers.devchat = {
81+
api_key: "",
82+
api_base: "",
83+
};
84+
}
85+
7386
self.modelsTemplate.forEach((item) => {
7487
const currentModel: any = {
7588
...item,
@@ -91,45 +104,35 @@ export const ConfigStore = types
91104
) {
92105
newConfig.models[item.name].provider = currentModel.provider;
93106
}
107+
// 只有之前配置过 openai 的,provider 才可以是 openai
108+
if (
109+
newConfig.models[item.name].provider === "openai" &&
110+
!newConfig.providers.openai.api_key
111+
) {
112+
newConfig.models[item.name].provider = "devchat";
113+
}
94114
});
95115

96-
if (!newConfig.providers?.openai) {
97-
newConfig.providers.openai = {
98-
api_key: "",
99-
api_base: "",
100-
};
101-
}
102-
if (!newConfig.providers?.devchat) {
103-
newConfig.providers.devchat = {
104-
api_key: "",
105-
api_base: "",
106-
};
107-
}
108116
if (!defaultAPIBase.includes(newConfig.providers.devchat.api_base)) {
109117
newConfig.providers.devchat.cumstom_api_base =
110118
newConfig.providers.devchat.api_base;
111119
newConfig.providers.devchat.api_base = "custom";
112120
}
113-
console.log("newConfig: ", newConfig);
114121

115122
self.config = newConfig;
116123
self.settle = true;
117124
self.defaultModel = newConfig.default_model;
125+
126+
this.writeConfig();
118127
},
119128
getModelList: () => {
120129
const modelsArray = self.modelsTemplate.map((item) => {
121130
return item.name;
122131
});
123132
return modelsArray;
124133
},
125-
setConfigValue: (key: string, value: any) => {
126-
if (key === "default_model") {
127-
self.defaultModel = value;
128-
}
129-
const cloneConfig = cloneDeep(self.config);
130-
cloneConfig[key] = value;
131-
self.config = cloneConfig;
132-
134+
writeConfig: function () {
135+
console.log("writeConfig");
133136
const writeConfig = cloneDeep(self.config);
134137
if (
135138
writeConfig.providers.devchat.api_base === "custom" &&
@@ -146,6 +149,15 @@ export const ConfigStore = types
146149
key: "",
147150
});
148151
},
152+
setConfigValue: function (key: string, value: any) {
153+
if (key === "default_model") {
154+
self.defaultModel = value;
155+
}
156+
const cloneConfig = cloneDeep(self.config);
157+
cloneConfig[key] = value;
158+
self.config = cloneConfig;
159+
this.writeConfig();
160+
},
149161
}));
150162

151163
export type IConfigStore = Instance<typeof ConfigStore>;

src/views/stores/InputStore.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ export interface Item {
77
pattern: string;
88
description: string;
99
recommend: number;
10-
args?: number;
1110
}
1211

1312
const regContextMenus = async () => {

0 commit comments

Comments
 (0)