feat : use manual save

This commit is contained in:
2026-10-10 02:56:59 +07:00 Unverified
parent 8a16b09ba6
commit 5e75da41c5
18 changed files with 752 additions and 490 deletions
+11 -10
View File
@@ -8,7 +8,7 @@ import { GripVerticalIcon, PlusIcon, Trash2Icon } from "lucide-react";
import { useState } from "react";
import { saveGuideOverview } from "@/app/admin/actions";
import { AutosaveStatus } from "@/components/admin/autosave-status";
import { SaveStatus } from "@/components/admin/save-status";
import { MediaUploader } from "@/components/admin/media-uploader";
import { MaterialPoster, type PosterBlendMode } from "@/components/public/material-poster";
import { Button } from "@/components/ui/button";
@@ -38,7 +38,7 @@ import {
} from "@/components/ui/combobox";
import { Slider } from "@/components/ui/slider";
import { Textarea } from "@/components/ui/textarea";
import { useAutosave } from "@/hooks/use-autosave";
import { useManualSave } from "@/hooks/use-manual-save";
import { adminDraftKey } from "@/lib/editor/local-draft";
import { parseYouTubeUrl } from "@/lib/guides/youtube";
import { detectThemeColorsFromPixels } from "@/lib/overview-image";
@@ -204,7 +204,7 @@ export function GuideOverviewForm({
const invalidCover = !cover.id;
const invalidOverview = !overview.trim();
const localDraft = { overview, youtubeLinks, cover, posterArt, posterArtOffset, posterArtScale, posterArtRotation, posterTopColors, posterBottomColors, bleeding };
const autosave = useAutosave({
const manualSave = useManualSave({
guideId: guide.id,
scope: "overview",
value,
@@ -503,14 +503,15 @@ export function GuideOverviewForm({
</FieldGroup>
</CardContent>
<CardFooter className="justify-end">
<AutosaveStatus
state={autosave.state}
conflictVersion={autosave.conflictVersion}
canOverwrite={autosave.canOverwrite}
onReloadLatest={autosave.reloadLatest}
onOverwrite={autosave.overwrite}
<SaveStatus
state={manualSave.state}
conflictVersion={manualSave.conflictVersion}
canOverwrite={manualSave.canOverwrite}
onReloadLatest={manualSave.reloadLatest}
onOverwrite={manualSave.overwrite}
issues={incompleteIssues}
onSave={autosave.saveNow}
onSave={manualSave.saveNow}
canSave={manualSave.canSave}
/>
</CardFooter>
</Card>