Skip to content

Commit a729d29

Browse files
committed
Improve multi submissions for user on quilt
1 parent 893ddbd commit a729d29

1 file changed

Lines changed: 19 additions & 8 deletions

File tree

  • src/app/(main)/quilts/[quiltSlug]

src/app/(main)/quilts/[quiltSlug]/page.tsx

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,6 @@ export default function QuiltDetailPage() {
205205
const isModerator = Boolean(user?.admin || user?.mod);
206206
const isEditing = draft.size > 0 || editingSubmissionId !== null;
207207
const activePreview: CanvasPreview = isEditing ? { type: "current" } : preview;
208-
const ownPendingSubmission = user
209-
? quilt?.pending.find((submission) => submission.author.id === user.id) ?? null
210-
: null;
211208

212209
const loadQuilt = useCallback(async () => {
213210
if (!quiltSlug) return;
@@ -677,9 +674,7 @@ export default function QuiltDetailPage() {
677674
<Text color="textFaded">
678675
{editingSubmissionId
679676
? `${draft.size} pending pixel changes · editing existing submission`
680-
: ownPendingSubmission
681-
? "You already have a pending change. Edit it to submit updates."
682-
: `${draft.size} pending pixel changes`}
677+
: `${draft.size} pending pixel changes`}
683678
</Text>
684679
<Hstack>
685680
<Button
@@ -699,8 +694,7 @@ export default function QuiltDetailPage() {
699694
disabled={
700695
!user ||
701696
draft.size === 0 ||
702-
quilt.isEnded ||
703-
(ownPendingSubmission !== null && editingSubmissionId === null)
697+
quilt.isEnded
704698
}
705699
onClick={submitDraft}
706700
>
@@ -744,6 +738,8 @@ export default function QuiltDetailPage() {
744738
}}
745739
onEdit={startEditingSubmission}
746740
onVote={vote}
741+
isModerator={isModerator}
742+
onRemove={removeSubmission}
747743
/>
748744
<HistoryPanel
749745
title="Rejected"
@@ -858,17 +854,21 @@ function PendingPanel({
858854
selectedId,
859855
currentUserId,
860856
previewDisabled,
857+
isModerator,
861858
onSelect,
862859
onEdit,
863860
onVote,
861+
onRemove,
864862
}: {
865863
submissions: QuiltSubmission[];
866864
selectedId?: number | null;
867865
currentUserId?: number;
868866
previewDisabled?: boolean;
867+
isModerator?: boolean;
869868
onSelect: (id: number) => void;
870869
onEdit: (submission: QuiltSubmission) => void;
871870
onVote: (id: number, value: 1 | -1) => void;
871+
onRemove: (id: number) => void;
872872
}) {
873873
return (
874874
<Card>
@@ -949,6 +949,17 @@ function PendingPanel({
949949
>
950950
<ThumbsDown size={16} />
951951
</button>
952+
{isModerator && (
953+
<Button
954+
size="sm"
955+
icon="trash"
956+
variant="ghost"
957+
onClick={(event) => {
958+
event.stopPropagation();
959+
onRemove(submission.id);
960+
}}
961+
/>
962+
)}
952963
</Hstack>
953964
</Hstack>
954965
</button>

0 commit comments

Comments
 (0)