mirror of
https://github.com/rgrgogu/new_starr.git
synced 2026-09-27 00:12:54 +08:00
implemented task more
This commit is contained in:
@@ -35,7 +35,7 @@ import { useTask } from '@/contexts/ClientTaskContext';
|
||||
import { PageMeta } from '@/contexts/MetadataContext';
|
||||
import { useTaskProgress } from '@/contexts/ClientTaskProgressContext';
|
||||
import { useGroup } from '@/contexts/ClientGroupContext';
|
||||
import { formatDate } from '@/utils/table.util';
|
||||
import { formatDate, formatDateTime } from '@/utils/table.util';
|
||||
import api from '@/utils/api.util';
|
||||
|
||||
// ─── Status badge ─────────────────────────────────────────────────────────────
|
||||
@@ -215,7 +215,7 @@ const FileRow = ({ file, onClick }) => {
|
||||
};
|
||||
|
||||
// ─── Submission panel (Your Work) — upload_file and/or submit_text ────────────
|
||||
const SubmissionPanel = ({ latestCompletion, onAddAttachment, submitting, onFileClick, requiresReview, hasTextRequirement }) => {
|
||||
const SubmissionPanel = ({ latestCompletion, onAddAttachment, submitting, onFileClick, requiresReview, hasTextRequirement, acceptsSubmissions }) => {
|
||||
const files = latestCompletion?.files ?? [];
|
||||
|
||||
return (
|
||||
@@ -264,9 +264,15 @@ const SubmissionPanel = ({ latestCompletion, onAddAttachment, submitting, onFile
|
||||
) : null}
|
||||
|
||||
<div className="flex flex-col gap-3">
|
||||
<Button className="w-full" onClick={onAddAttachment} disabled={submitting}>
|
||||
<Plus /> {latestCompletion ? 'Resubmit' : 'Turn In'}
|
||||
</Button>
|
||||
{acceptsSubmissions ? (
|
||||
<Button className="w-full" onClick={onAddAttachment} disabled={submitting}>
|
||||
<Plus /> {latestCompletion ? 'Resubmit' : 'Turn In'}
|
||||
</Button>
|
||||
) : (
|
||||
<p className="text-sm text-center text-muted-foreground py-2">
|
||||
This task no longer accepts submissions
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@@ -498,7 +504,7 @@ const ViewTask = () => {
|
||||
<div className="flex items-center gap-4 text-sm [&_svg]:size-4">
|
||||
{task?.deadline && (
|
||||
<span className="flex items-center gap-1.5">
|
||||
<Clock /> Due {formatDate(task.deadline)}
|
||||
<Clock /> Due {formatDateTime(task.deadline)}
|
||||
</span>
|
||||
)}
|
||||
</div>
|
||||
@@ -623,6 +629,7 @@ const ViewTask = () => {
|
||||
onFileClick={(file) => setPreviewFile(file)}
|
||||
requiresReview={requiresReview}
|
||||
hasTextRequirement={hasTextReq}
|
||||
acceptsSubmissions={task?.accepts_submissions !== false}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
@@ -638,6 +645,7 @@ const ViewTask = () => {
|
||||
onFileClick={(file) => setPreviewFile(file)}
|
||||
requiresReview={requiresReview}
|
||||
hasTextRequirement={hasTextReq}
|
||||
acceptsSubmissions={task?.accepts_submissions !== false}
|
||||
/>
|
||||
)}
|
||||
<RequirementsStatusPanel
|
||||
|
||||
Reference in New Issue
Block a user