diff --git a/apps/web/src/components/CustomerGroupsManager.vue b/apps/web/src/components/CustomerGroupsManager.vue
index 04bfb2e..1661b45 100644
--- a/apps/web/src/components/CustomerGroupsManager.vue
+++ b/apps/web/src/components/CustomerGroupsManager.vue
@@ -423,11 +423,9 @@ watch(
.list {
list-style: none;
margin: 0;
- padding: 0;
+ padding: 0 0 0.25rem;
display: grid;
gap: 0.4rem;
- max-height: 55vh;
- overflow-y: auto;
}
.row {
diff --git a/apps/web/src/components/OrgUserPersonPick.vue b/apps/web/src/components/OrgUserPersonPick.vue
index 80dddd5..59a172d 100644
--- a/apps/web/src/components/OrgUserPersonPick.vue
+++ b/apps/web/src/components/OrgUserPersonPick.vue
@@ -62,14 +62,23 @@ function close() {
open.value = false;
}
+function setIds(next: string[]) {
+ emit('update:modelValue', next);
+ emit('change', next);
+}
+
function toggle(userId: string) {
if (props.disabled) return;
const set = new Set(props.modelValue);
if (set.has(userId)) set.delete(userId);
else set.add(userId);
- const next = [...set];
- emit('update:modelValue', next);
- emit('change', next);
+ setIds([...set]);
+}
+
+function remove(userId: string) {
+ if (props.disabled) return;
+ if (!props.modelValue.includes(userId)) return;
+ setIds(props.modelValue.filter((id) => id !== userId));
}
watch(open, (isOpen) => {
@@ -102,6 +111,21 @@ defineExpose({ close });