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

Function initializeStatsDialog

renderer.js:5938–6109  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

5936
5937 // Helper function to check if a value is empty/null/undefined
5938 const isEmpty = (val) => val === null || val === undefined || val === '';
5939
5940 // Set defaults based on service if values are empty
5941 if (selectedService === 'puter') {
5942 // Load Puter.js when Puter service is selected in the dialog
5943 loadPuterJS().catch(err => {
5944 console.warn('[AI Config] Failed to preload Puter.js:', err);
5945 // Don't block dialog opening if Puter.js fails to load
5946 });
5947
5948 // For Puter.com, always use defaults (endpoint and model are required for Puter.com)
5949 const puterEndpoint = 'https://js.puter.com/v2/';
5950 const puterModel = 'gpt-5-nano';
5951
5952 console.log('[AI Config] Setting Puter.com defaults:', { endpointEl: !!endpointEl, modelEl: !!modelEl, endpointValue, modelValue });
5953
5954 if (endpointEl) {
5955 // Always set the Puter.com endpoint
5956 endpointEl.value = puterEndpoint;
5957 endpointEl.required = false;
5958 console.log('[AI Config] Set endpoint to:', endpointEl.value);
5959 // Save it if it wasn't already saved or if it's different
5960 if (isEmpty(endpointValue) || endpointValue !== puterEndpoint) {
5961 await window.electron.saveSetting('apiEndpoint', puterEndpoint).catch((err) => {
5962 console.error('[AI Config] Error saving endpoint:', err);
5963 });
5964 }
5965 } else {
5966 console.error('[AI Config] endpointEl not found!');
5967 }
5968 if (modelEl) {
5969 // Always set the Puter.com model
5970 modelEl.value = puterModel;
5971 console.log('[AI Config] Set model to:', modelEl.value);
5972 // Save it if it wasn't already saved or if it's different
5973 if (isEmpty(modelValue) || modelValue !== puterModel) {
5974 await window.electron.saveSetting('aiModel', puterModel).catch((err) => {
5975 console.error('[AI Config] Error saving model:', err);
5976 });
5977 }
5978 } else {
5979 console.error('[AI Config] modelEl not found!');
5980 }
5981 if (keyEl) {
5982 keyEl.value = '';
5983 }
5984 } else if (selectedService === 'openai') {
5985 if (endpointEl) {
5986 endpointEl.value = endpointValue || 'https://api.openai.com/v1';
5987 endpointEl.required = true;
5988 }
5989 if (modelEl) {
5990 modelEl.value = modelValue || 'gpt-4o-mini';
5991 }
5992 if (keyEl) {
5993 keyEl.value = apiKeyValue || '';
5994 }
5995 } else if (selectedService === 'claude') {

Callers 1

renderer.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected