MCPcopy Create free account
hub / github.com/TechJeeper/Printventory / createServerMenuBar

Function createServerMenuBar

renderer.js:4337–4578  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4335 }
4336 }
4337 // Verify again
4338 if (serviceEl.value !== selectedService) {
4339 console.error('[AI Config] Failed to set service select to:', selectedService, 'current value:', serviceEl.value);
4340 }
4341 }
4342
4343 // Ensure service is saved if it was undefined
4344 if (!serviceValue || serviceValue !== selectedService) {
4345 await window.electron.saveSetting('aiService', selectedService).catch((err) => {
4346 console.error('[AI Config] Error saving service:', err);
4347 });
4348 console.log('[AI Config] Saved service to database:', selectedService);
4349 }
4350
4351 console.log('[AI Config] Service set to:', selectedService, 'serviceEl.value:', serviceEl.value, 'selectedIndex:', serviceEl.selectedIndex);
4352
4353 // Helper function to check if a value is empty/null/undefined
4354 const isEmpty = (val) => val === null || val === undefined || val === '';
4355
4356 // Set defaults based on service if values are empty
4357 if (selectedService === 'puter') {
4358 // Load Puter.js when Puter service is selected in the dialog
4359 loadPuterJS().catch(err => {
4360 console.warn('[AI Config] Failed to preload Puter.js:', err);
4361 // Don't block dialog opening if Puter.js fails to load
4362 });
4363
4364 // For Puter.com, always use defaults (endpoint and model are required for Puter.com)
4365 const puterEndpoint = 'https://js.puter.com/v2/';
4366 const puterModel = 'gpt-5-nano';
4367
4368 console.log('[AI Config] Setting Puter.com defaults:', { endpointEl: !!endpointEl, modelEl: !!modelEl, endpointValue, modelValue });
4369
4370 if (endpointEl) {
4371 // Always set the Puter.com endpoint
4372 endpointEl.value = puterEndpoint;
4373 endpointEl.required = false;
4374 console.log('[AI Config] Set endpoint to:', endpointEl.value);
4375 // Save it if it wasn't already saved or if it's different
4376 if (isEmpty(endpointValue) || endpointValue !== puterEndpoint) {
4377 await window.electron.saveSetting('apiEndpoint', puterEndpoint).catch((err) => {
4378 console.error('[AI Config] Error saving endpoint:', err);
4379 });
4380 }
4381 } else {
4382 console.error('[AI Config] endpointEl not found!');
4383 }
4384 if (modelEl) {
4385 // Always set the Puter.com model
4386 modelEl.value = puterModel;
4387 console.log('[AI Config] Set model to:', modelEl.value);
4388 // Save it if it wasn't already saved or if it's different
4389 if (isEmpty(modelValue) || modelValue !== puterModel) {
4390 await window.electron.saveSetting('aiModel', puterModel).catch((err) => {
4391 console.error('[AI Config] Error saving model:', err);
4392 });
4393 }
4394 } else {

Callers 1

renderer.jsFile · 0.85

Calls 9

createMenuDropdownFunction · 0.85
loadDuplicateFilesFunction · 0.85
loadAndShowAIConfigFunction · 0.85
showGuideFunction · 0.85
bindAboutCloseButtonFunction · 0.85
initializeAboutDialogFunction · 0.85
initializeSystemReportFunction · 0.85
resetHorizontalScrollFunction · 0.85

Tested by

no test coverage detected