feat: add PPAC candidate tab and status
Deploy production / deploy (push) Successful in 56s

This commit is contained in:
yuxuanhui
2026-09-13 12:57:38 +08:00
parent e256d6fef1
commit 8444e3055e
10 changed files with 319 additions and 33 deletions
+14 -8
View File
@@ -49,6 +49,7 @@ export function SavedViews({
columns,
submission,
submissionBlocked,
ppacCandidate,
selectedId,
onSelect,
onSubmissionChange,
@@ -61,6 +62,7 @@ export function SavedViews({
columns: string[];
submission: Submission;
submissionBlocked: boolean;
ppacCandidate: boolean;
selectedId: string | null;
onSelect: (id: string | null) => void;
onSubmissionChange: (submission: string) => void;
@@ -75,6 +77,11 @@ export function SavedViews({
const [busy, setBusy] = useState(false);
const [revision, setRevision] = useState(0);
const current = items.find((item) => item.id === selectedId);
const fixedTab = ppacCandidate
? "PPAC_CANDIDATE"
: submissionBlocked
? "SUBMISSION_BLOCKED"
: submission;
const modified =
current &&
(filterSignature(filters) !== filterSignature(current.content.filters) ||
@@ -165,10 +172,7 @@ export function SavedViews({
setItems((previous) =>
previous.filter((item) => item.id !== deleting.id),
);
if (selectedId === deleting.id)
onSubmissionChange(
submissionBlocked ? "SUBMISSION_BLOCKED" : submission,
);
if (selectedId === deleting.id) onSubmissionChange(fixedTab);
setDeleting(null);
Toast.success("视图已删除");
} catch (error) {
@@ -185,10 +189,7 @@ export function SavedViews({
type="card"
collapsible="auto"
tabPaneMotion={false}
activeKey={
selectedId ??
(submissionBlocked ? "SUBMISSION_BLOCKED" : submission)
}
activeKey={selectedId ?? fixedTab}
onChange={(key) => {
const view = items.find((item) => item.id === key);
if (view) {
@@ -212,6 +213,11 @@ export function SavedViews({
tab: "提交受阻",
icon: <IconList aria-hidden="true" />,
},
{
itemKey: "PPAC_CANDIDATE",
tab: "候选PPAC",
icon: <IconList aria-hidden="true" />,
},
...items.map((view) => ({
itemKey: view.id,
icon: <IconList aria-hidden="true" />,