MCPcopy Create free account
hub / github.com/experdot/pointer / useModelConfigs

Function useModelConfigs

src/renderer/src/hooks/useSettings.ts:139–175  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

137}
138
139export function useModelConfigs(): UseModelConfigsResult {
140 const { settings, batchUpdateModelConfigs, batchUpdateModelConfigFolders } = useSettingsStore()
141 const tree = useConfigTree(settings.modelConfigs)
142
143 const batchUpdateItemsOrder = useCallback(
144 (items: (ModelConfig | ConfigFolder)[], parentFolderId?: string) => {
145 const itemUpdates: Array<{ id: string; changes: Partial<ModelConfig> }> = []
146 const folderUpdates: Array<{ id: string; changes: Partial<ConfigFolder> }> = []
147
148 items.forEach((item, index) => {
149 if ('systemPrompt' in item) {
150 itemUpdates.push({ id: item.id, changes: { order: index, parentFolderId } })
151 } else {
152 folderUpdates.push({ id: item.id, changes: { order: index, parentFolderId } })
153 }
154 })
155
156 if (itemUpdates.length) batchUpdateModelConfigs(itemUpdates)
157 if (folderUpdates.length) batchUpdateModelConfigFolders(folderUpdates)
158 },
159 [batchUpdateModelConfigs, batchUpdateModelConfigFolders]
160 )
161
162 return {
163 ...tree,
164 batchUpdateItemsOrder,
165 createConfig: settingsService.createModelConfig,
166 updateConfig: settingsService.updateModelConfig,
167 deleteConfig: settingsService.deleteModelConfig,
168 copyConfig: settingsService.copyModelConfig,
169 createFolder: settingsService.createModelConfigFolder,
170 updateFolder: settingsService.updateModelConfigFolder,
171 deleteFolder: settingsService.deleteModelConfigFolder,
172 clearFolder: settingsService.clearModelConfigFolder,
173 toggleFolderExpanded: settingsService.toggleModelConfigFolderExpanded
174 }
175}

Callers 1

ModelConfigPanelFunction · 0.90

Calls 1

useConfigTreeFunction · 0.85

Tested by

no test coverage detected