// frontend/static/js/workdir_config.js async function getWorkDirConfig() { if (!currentProfile?.work_dir) { showError('No work directory selected'); return null; } try { return await apiRequest(`/workdir-config/${encodeURIComponent(currentProfile.work_dir)}`); } catch (error) { showError('Failed to load work directory configuration'); return null; } } async function getGroupConfig(groupId) { if (!currentProfile?.work_dir) { showError('No work directory selected'); return null; } try { return await apiRequest( `/workdir-config/${encodeURIComponent(currentProfile.work_dir)}/group/${groupId}` ); } catch (error) { showError('Failed to load group configuration'); return null; } } async function updateGroupConfig(groupId, settings) { if (!currentProfile?.work_dir) { showError('No work directory selected'); return false; } try { await apiRequest( `/workdir-config/${encodeURIComponent(currentProfile.work_dir)}/group/${groupId}`, { method: 'PUT', body: JSON.stringify(settings) } ); showSuccess('Group configuration updated successfully'); return true; } catch (error) { showError('Failed to update group configuration'); return false; } } // static/js/workdir_config.js async function showWorkDirConfig() { if (!currentProfile?.work_dir) { showError('No work directory selected'); return; } try { const config = await getWorkDirConfig(); const content = `

Directory

${currentProfile.work_dir}

Version

${config.version}

Group Configurations

${Object.entries(config.group_settings || {}).map(([groupId, settings]) => `
${groupId}
${JSON.stringify(settings, null, 2)}
`).join('')}
`; createModal('Work Directory Configuration', content); } catch (error) { showError('Failed to load work directory configuration'); } } function closeModal(button) { const modal = button.closest('.modal'); if (modal) { modal.remove(); } }