mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-25 13:45:03 +08:00
fix(profiles): use camelCase keys for current profile ids in frontend
This commit is contained in:
@@ -41,6 +41,13 @@ import {
|
||||
} from "@/lib/query/profiles";
|
||||
import { ProfileManageDialog } from "./ProfileManageDialog";
|
||||
import { APP_PROFILE_SCOPE, hasScopeSnapshot } from "./scope";
|
||||
import type { CurrentProfileIds, ProfileScope } from "@/lib/api/profiles";
|
||||
|
||||
const CURRENT_ID_KEY: Record<ProfileScope, keyof CurrentProfileIds> = {
|
||||
claude: "claude",
|
||||
"claude-desktop": "claudeDesktop",
|
||||
codex: "codex",
|
||||
};
|
||||
|
||||
interface ProfileSwitcherProps {
|
||||
activeApp: AppId;
|
||||
@@ -74,7 +81,7 @@ export function ProfileSwitcher({ activeApp }: ProfileSwitcherProps) {
|
||||
}
|
||||
|
||||
const profiles = data?.profiles ?? [];
|
||||
const currentId = data?.currentIds?.[scope] ?? null;
|
||||
const currentId = data?.currentIds?.[CURRENT_ID_KEY[scope]] ?? null;
|
||||
const currentProfile = profiles.find((p) => p.id === currentId);
|
||||
|
||||
const handleApply = (id: string) => {
|
||||
|
||||
+10
-2
@@ -38,8 +38,16 @@ export interface Profile {
|
||||
updatedAt?: number;
|
||||
}
|
||||
|
||||
/** 每个分组当前激活的项目 id(未使用项目时为 null) */
|
||||
export type CurrentProfileIds = Record<ProfileScope, string | null>;
|
||||
/** 每个分组当前激活的项目 id(未使用项目时为 null)
|
||||
*
|
||||
* 注意:JSON key 是 camelCase(claudeDesktop),与 ProfileScope 的 kebab-case
|
||||
* 字符串不同——后者用于命令参数,前者用于响应字段。
|
||||
*/
|
||||
export interface CurrentProfileIds {
|
||||
claude: string | null;
|
||||
claudeDesktop: string | null;
|
||||
codex: string | null;
|
||||
}
|
||||
|
||||
export interface ProfilesResponse {
|
||||
profiles: Profile[];
|
||||
|
||||
Reference in New Issue
Block a user