diff --git a/dealspace b/dealspace
index 4d32885..a5e7829 100755
Binary files a/dealspace and b/dealspace differ
diff --git a/portal/templates/app/project.html b/portal/templates/app/project.html
index df6c44b..f58b5e6 100644
--- a/portal/templates/app/project.html
+++ b/portal/templates/app/project.html
@@ -167,12 +167,15 @@
+
+
+
+
+
-
-
-
-
+
@@ -869,6 +872,7 @@
document.getElementById('addOrgError').classList.add('hidden');
document.getElementById('addOrgName').value = '';
document.getElementById('addOrgId').value = '';
+ document.getElementById('addOrgWebsite').value = '';
pendingMembers = [];
renderMemberBubbles();
setOrgType('buyer', document.querySelector('[data-type="buyer"]'));
@@ -1057,11 +1061,13 @@
try {
let orgId = existingOrgId;
if (!orgId) {
- // Auto-derive domains from member emails
+ // Use manually entered website/domain first, fall back to member email domains
+ const websiteInput = (document.getElementById('addOrgWebsite').value || '').trim().replace(/^https?:\/\//, '').replace(/\/.*$/, '').toLowerCase();
const emailDomains = [...new Set(
members.map(m => m.email ? m.email.split('@')[1] : null).filter(Boolean)
)];
- const createRes = await fetchAPI('/api/orgs', { method: 'POST', body: JSON.stringify({ name, domains: emailDomains, role, website: '' }) });
+ const domains = websiteInput ? [websiteInput, ...emailDomains.filter(d => d !== websiteInput)] : emailDomains;
+ const createRes = await fetchAPI('/api/orgs', { method: 'POST', body: JSON.stringify({ name, domains, role, website: websiteInput ? 'https://' + websiteInput : '' }) });
if (!createRes.ok) { const e = await createRes.json(); throw new Error(e.error || 'Failed to create org'); }
const created = await createRes.json();
orgId = created.entry_id || created.org_id;