# 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; } } function showWorkDirConfig() { if (!currentProfile?.work_dir) { showError('No work directory selected'); return; } getWorkDirConfig().then(config => { if (config) { const modal = document.createElement('div'); modal.className = 'modal active'; modal.innerHTML = ` `; document.body.appendChild(modal); } }); } function closeModal(button) { const modal = button.closest('.modal'); if (modal) { modal.remove(); } }