demo 20-4-2026
This commit is contained in:
@@ -933,7 +933,7 @@ export default function Page() {
|
||||
|
||||
const handleSubmitSection = async () => {
|
||||
if (!activeSection || !sectionState?.head_commit_id) {
|
||||
setEntityStatus("Chưa có commit để submit.");
|
||||
setEntityStatus("Section hiện tại chưa có head để submit.");
|
||||
return;
|
||||
}
|
||||
if (pendingSaveCount > 0) {
|
||||
@@ -946,7 +946,6 @@ export default function Page() {
|
||||
try {
|
||||
const submission = await submitSection(activeSection.id, {
|
||||
submitted_by: editorUserId,
|
||||
commit_id: sectionState.head_commit_id,
|
||||
});
|
||||
setSectionState((prev) => prev ? { ...prev, status: "submitted" } : prev);
|
||||
setEntityStatus(`Đã submit section, submission ${submission.id}.`);
|
||||
@@ -1001,6 +1000,9 @@ export default function Page() {
|
||||
};
|
||||
|
||||
const pendingSaveCount = editor.changeCount + pendingEntityCreates.length;
|
||||
const headCommit = sectionState?.head_commit_id
|
||||
? sectionCommits.find((commit) => commit.id === sectionState.head_commit_id) || null
|
||||
: null;
|
||||
const timelineDisabled = !isTimelineReady || isSaving || pendingSaveCount > 0;
|
||||
const timelineStatusText =
|
||||
pendingSaveCount > 0
|
||||
@@ -1043,7 +1045,9 @@ export default function Page() {
|
||||
onOpenSection={handleOpenSelectedSection}
|
||||
onCreateSection={handleCreateAndOpenSection}
|
||||
commitCount={sectionCommits.length}
|
||||
latestCommitLabel={sectionCommits[0] ? `Head #${sectionCommits[0].commit_no}` : null}
|
||||
hasHeadCommit={Boolean(sectionState?.head_commit_id)}
|
||||
headCommitId={sectionState?.head_commit_id || null}
|
||||
latestCommitLabel={headCommit ? `Head: ${formatCommitTitle(headCommit)}` : null}
|
||||
commits={sectionCommits}
|
||||
changesCount={pendingSaveCount}
|
||||
undoStack={editor.undoStack}
|
||||
@@ -1398,6 +1402,10 @@ function isYearNumber(value: number | null | undefined): value is number {
|
||||
return typeof value === "number" && Number.isFinite(value);
|
||||
}
|
||||
|
||||
function formatCommitTitle(commit: SectionCommit): string {
|
||||
return commit.title?.trim() || `Commit #${commit.commit_no}`;
|
||||
}
|
||||
|
||||
function getDefaultTypeIdForFeature(feature: Feature): string {
|
||||
const preset = feature.properties.geometry_preset;
|
||||
if (preset === "line") return "defense_line";
|
||||
|
||||
Reference in New Issue
Block a user