+
✅
diff --git a/client/src/pages/Events.jsx b/client/src/pages/Events.jsx
index f0557e0..ad66558 100644
--- a/client/src/pages/Events.jsx
+++ b/client/src/pages/Events.jsx
@@ -11,7 +11,7 @@ export default function Events() {
const [showAddForm, setShowAddForm] = useState(false);
const [genState, setGenState] = useState({});
const [variants, setVariants] = useState({});
- const [selectingSlug, setSelectingSlug] = useState(null);
+ const [selectingVariantKey, setSelectingVariantKey] = useState('');
const [error, setError] = useState('');
const [readyToGenerate, setReadyToGenerate] = useState(false);
@@ -78,8 +78,9 @@ export default function Events() {
}
}
- async function handleSelect(slug, variant) {
- setSelectingSlug(slug);
+ async function handleSelect(slug, variant, variantIndex) {
+ const variantKey = `${slug}:${variantIndex}`;
+ setSelectingVariantKey(variantKey);
setError('');
try {
await apiClient.post(`/api/businesses/${businessId}/templates/${slug}/select`, { selectedVariant: variant });
@@ -89,7 +90,7 @@ export default function Events() {
} catch (err) {
setError(err.response?.data?.error || 'Failed to select template');
} finally {
- setSelectingSlug(null);
+ setSelectingVariantKey('');
}
}
@@ -213,26 +214,38 @@ export default function Events() {
Pick a Variant
- {eventVariants.map((v, i) => (
-
+ {eventVariants.map((v, i) => {
+ const variantKey = `${event.slug}:${i}`;
+ const isSelectingThis = selectingVariantKey === variantKey;
+ const isSelectingAnotherVariant = !!selectingVariantKey
+ && selectingVariantKey !== variantKey
+ && selectingVariantKey.startsWith(`${event.slug}:`);
+
+ return (
+
{v}
160 ? 'bg-red-50 text-red-700' : 'bg-gray-100 text-gray-600'}`}>
{v.length} / 160
- ))}
+ );
+ })}
)}
diff --git a/client/src/pages/Templates.jsx b/client/src/pages/Templates.jsx
index b147bd7..a5ffc18 100644
--- a/client/src/pages/Templates.jsx
+++ b/client/src/pages/Templates.jsx
@@ -190,7 +190,7 @@ export default function Templates() {
{!isBoundProfileMissing && tmpl.status === 'pending_whitelisting' && (