function shareSOSQR(sosUrl, roomName) {
document.getElementById('sos-share-modal')?.remove();
var overlay = document.createElement('div');
overlay.id = 'sos-share-modal';
overlay.dataset.sosUrl = sosUrl;
overlay.dataset.roomName = roomName;
overlay.style.cssText = 'position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.7);padding:20px;';
var card = document.createElement('div');
card.style.cssText = 'background:white;border-radius:20px;padding:28px 24px;max-width:400px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,0.4);';
card.innerHTML =
'
' +
'
' +
'
Text Help Link
' +
'
Send the SOS QR link via SMS through the platform Twilio account.
' +
'
' +
'
' +
'
' +
'' +
'' +
'' +
'
' +
'' +
'' +
'' +
'' +
'' +
'
';
overlay.appendChild(card);
document.body.appendChild(overlay);
document.getElementById('sos-sms-close').onclick = function() { overlay.remove(); };
document.getElementById('sos-sms-cancel').onclick = function() { overlay.remove(); };
document.getElementById('sos-sms-btn').onclick = function() { sendSOSTextLink(); };
document.getElementById('sos-sms-phone').onkeydown = function(e) { if (e.key === 'Enter') sendSOSTextLink(); };
document.getElementById('sos-sms-phone').onfocus = function() { this.style.borderColor = '#3b5ef6'; };
document.getElementById('sos-sms-phone').onblur = function() { this.style.borderColor = '#e5e7eb'; };
overlay.onclick = function(e) { if (e.target === overlay) overlay.remove(); };
setTimeout(function() { var p = document.getElementById('sos-sms-phone'); if(p) p.focus(); }, 60);
}
async function sendSOSTextLink() {
var overlay = document.getElementById('sos-share-modal');
var sosUrl = overlay ? overlay.dataset.sosUrl : '';
var roomName = overlay ? overlay.dataset.roomName : '';
var phoneEl = document.getElementById('sos-sms-phone');
var phone = phoneEl ? phoneEl.value.trim() : '';
var errEl = document.getElementById('sos-sms-err');
var okEl = document.getElementById('sos-sms-ok');
var btn = document.getElementById('sos-sms-btn');
if (!errEl || !btn) return;
errEl.style.display = 'none';
okEl.style.display = 'none';
if (!phone) { errEl.textContent = 'Please enter a phone number.'; errEl.style.display = 'block'; return; }
btn.disabled = true;
btn.textContent = 'Sending...';
try {
var res = await fetch('/api/rooms/sos-text', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + (state.token || '') },
body: JSON.stringify({ phone: phone, sos_url: sosUrl, room_name: roomName })
});
var data = await res.json();
if (!res.ok) throw new Error(data.error || 'Send failed');
okEl.textContent = 'Text sent to ' + phone;
okEl.style.display = 'block';
btn.textContent = 'Sent!';
setTimeout(function() { var m = document.getElementById('sos-share-modal'); if(m) m.remove(); }, 1800);
} catch(e) {
errEl.textContent = e.message;
errEl.style.display = 'block';
btn.disabled = false;
btn.textContent = 'Send Text';
}
}