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

Function initializeAboutDialog

renderer.js:3837–3887  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

3835
3836 // Small delay to ensure dialog closes before showing welcome
3837 await new Promise(resolve => setTimeout(resolve, 200));
3838
3839 // Show welcome dialog if this is the first run
3840 const hasRunBefore = await window.electron.getSetting('hasRunBefore');
3841 if (!hasRunBefore) {
3842 const welcomeDialog = document.getElementById('welcome-message');
3843 if (welcomeDialog) {
3844 welcomeDialog.showModal();
3845 await window.electron.saveSetting('hasRunBefore', 'true');
3846 }
3847 }
3848
3849 resolve(true); // Resolve promise when accepted
3850 };
3851
3852 const declineHandler = () => {
3853 acceptButton.removeEventListener('click', acceptHandler);
3854 declineButton.removeEventListener('click', declineHandler);
3855 window.electron.quitApp();
3856 resolve(false); // Resolve promise when declined
3857 };
3858
3859 acceptButton.addEventListener('click', acceptHandler);
3860 declineButton.addEventListener('click', declineHandler);
3861 });
3862 }
3863 return true; // Return true if already accepted
3864 } catch (error) {
3865 console.error('Error checking Terms of Service:', error);
3866 return false; // Return false on error
3867 }
3868}
3869
3870// Function to create menu dropdown for server mode
3871function createMenuDropdown(label, items) {
3872 const menuContainer = document.createElement('div');
3873 menuContainer.style.cssText = 'position: relative; margin-right: 15px;';
3874
3875 const menuButton = document.createElement('button');
3876 menuButton.textContent = label;
3877 menuButton.style.cssText = 'background: none; border: none; color: #e0e0e0; padding: 5px 10px; cursor: pointer; font-size: 13px; font-family: inherit;';
3878 menuButton.onmouseover = () => menuButton.style.backgroundColor = '#3a3a3a';
3879 menuButton.onmouseout = () => menuButton.style.backgroundColor = 'transparent';
3880
3881 const dropdown = document.createElement('div');
3882 dropdown.style.cssText = 'display: none; position: absolute; top: 100%; left: 0; background-color: #2c2c2c; border: 1px solid #444; border-radius: 4px; min-width: 180px; box-shadow: 0 4px 6px rgba(0,0,0,0.3); z-index: 10001; margin-top: 2px;';
3883
3884 items.forEach(item => {
3885 if (item.label === '---') {
3886 const separator = document.createElement('div');
3887 separator.style.cssText = 'height: 1px; background-color: #444; margin: 4px 0;';
3888 dropdown.appendChild(separator);
3889 } else {
3890 const menuItem = document.createElement('div');

Callers 2

createServerMenuBarFunction · 0.85
renderer.jsFile · 0.85

Calls 1

bindAboutCloseButtonFunction · 0.85

Tested by

no test coverage detected