termix / src /modules /ai /lib /modelPrefs.ts
lekmikdok's picture
Prepare Terax for web deployment
50fe3c9 verified
Raw
History Blame Contribute Delete
813 Bytes
import { usePreferencesStore } from "@/modules/settings/preferences";
import {
setFavoriteModelIds,
setRecentModelIds,
} from "@/modules/settings/store";
const RECENTS_MAX = 5;
export async function toggleFavoriteModel(id: string): Promise<void> {
const current = usePreferencesStore.getState().favoriteModelIds;
const next = current.includes(id)
? current.filter((x) => x !== id)
: [...current, id];
await setFavoriteModelIds(next);
}
export async function pushRecentModel(id: string): Promise<void> {
const current = usePreferencesStore.getState().recentModelIds;
const next = [id, ...current.filter((x) => x !== id)].slice(0, RECENTS_MAX);
if (
next.length === current.length &&
next.every((x, i) => x === current[i])
) {
return;
}
await setRecentModelIds(next);
}