diff --git a/src/app/components/panels/FormSubmissionsPanel.tsx b/src/app/components/panels/FormSubmissionsPanel.tsx
index 57849d15..7447f717 100644
--- a/src/app/components/panels/FormSubmissionsPanel.tsx
+++ b/src/app/components/panels/FormSubmissionsPanel.tsx
@@ -171,11 +171,18 @@ export function FormSubmissionsPanel({ formId, formName, onClose }: Props) {
setReplying(true);
setReplyMessage(null);
try {
- await formsApi.replyToSubmission(formId, { to, subject: replySubject, body: replyBody });
+ // Extend payload with submissionId; backend uses it to persist replied status.
+ await (formsApi as any).replyToSubmission(formId, {
+ submissionId: replyTarget._id,
+ to,
+ subject: replySubject,
+ body: replyBody,
+ });
setReplyMessage("Email sent successfully.");
setReplyTarget(null);
setReplySubject("");
setReplyBody("");
+ await fetchPage();
} catch (e) {
setReplyMessage(e instanceof Error ? e.message : "Failed to send reply.");
} finally {
@@ -456,32 +463,41 @@ export function FormSubmissionsPanel({ formId, formName, onClose }: Props) {
{rows.map((s) => {
- const o = dataToObj(s.data);
- return (
-
- |
-
+ const o = dataToObj(s.data);
+ const hasEmail = participantEmail(s.participant) !== "—";
+
+ const isReplied = !!s.replied;
+ return (
+ |
+ |
+
|
+
{formatWhen(s.submittedAt)}
|
diff --git a/src/app/components/participants/ParticipantBulkDialogs.tsx b/src/app/components/participants/ParticipantBulkDialogs.tsx
index 4aee3999..f8662f14 100644
--- a/src/app/components/participants/ParticipantBulkDialogs.tsx
+++ b/src/app/components/participants/ParticipantBulkDialogs.tsx
@@ -200,7 +200,7 @@ export function ParticipantBulkDialogs({
}}
style={{ padding: "7px 14px", borderRadius: "var(--radius-button)", border: "none", background: "var(--primary)", color: "var(--primary-foreground)", cursor: "pointer", fontSize: "var(--text-sm)" }}
>
- Apply
+ {bulkDialog === "removeTags" ? "Remove" : "Apply"}
)}
>
diff --git a/src/services/api/types.ts b/src/services/api/types.ts
index 27f13aec..7d5a35ea 100644
--- a/src/services/api/types.ts
+++ b/src/services/api/types.ts
@@ -610,8 +610,24 @@ export interface FormSubmissionRecord {
form?: string;
submittedAt: string;
data?: Record;
- participant?: { _id?: string; firstName?: string; lastName?: string; email?: string } | string;
+ participant?: {
+ _id?: string;
+ firstName?: string;
+ lastName?: string;
+ email?: string;
+ } | string;
status?: string;
+
+ replied?: boolean;
+ repliedAt?: string;
+ repliedBy?:
+ | string
+ | {
+ _id?: string;
+ firstName?: string;
+ lastName?: string;
+ email?: string;
+ };
}
export interface SpeakerLogistics {