}
onClick={() => setPropertiesPanelOpen(false)}
/>
);
// Une relation selectionnee prend la place du panneau de noeud : les deux
// selections s'excluent, le panneau ne montre donc jamais les deux a la fois.
if (nodes.length === 0 && relation) {
return (
);
}
if (nodes.length === 0) {
return (
);
}
const styleOf = sharedValue;
const commitUrl = () => {
if (!single) return;
const trimmed = url.trim();
if (!trimmed) {
updateNode(single.id, { url: undefined });
return;
}
const safe = sanitizeUrl(trimmed);
if (!safe) {
pushToast('Cette adresse est invalide. Utilisez un lien http(s) ou mailto.', 'error');
setUrl(single.url ?? '');
return;
}
setUrl(safe);
updateNode(single.id, { url: safe });
};
return (
);
}