diff --git a/src/app/components/panels/FormSubmissionsPanel.tsx b/src/app/components/panels/FormSubmissionsPanel.tsx
index 35e89ad9..a4757c42 100644
--- a/src/app/components/panels/FormSubmissionsPanel.tsx
+++ b/src/app/components/panels/FormSubmissionsPanel.tsx
@@ -183,11 +183,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 {
@@ -487,32 +494,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 92d6644c..7773d486 100644
--- a/src/app/components/participants/ParticipantBulkDialogs.tsx
+++ b/src/app/components/participants/ParticipantBulkDialogs.tsx
@@ -217,7 +217,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 4b15c987..ede864a7 100644
--- a/src/services/api/types.ts
+++ b/src/services/api/types.ts
@@ -668,8 +668,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 {