Estimate History management added

This commit is contained in:
2026-03-13 14:41:46 -05:00
parent c090c18734
commit e637e0903d
6 changed files with 256 additions and 13 deletions
+6 -1
View File
@@ -14,6 +14,7 @@ import CalculatorPopover from './CalculatorPopover';
import CloudLoadModal from './CloudLoadModal';
import ExportTableModal from './ExportTableModal';
import ApplyTemplateModal from './ApplyTemplateModal';
import HistoryModal from './estimate-builder/HistoryModal';
// Import extracted components & hooks
import { useEstimateCalculations } from './estimate-builder/useEstimateCalculations';
@@ -46,6 +47,7 @@ const EstimateBuilder: Component<EstimateBuilderProps> = (props) => {
// Cloud Modals
const [showSaveModal, setShowSaveModal] = createSignal(false);
const [showLoadModal, setShowLoadModal] = createSignal(false);
const [showHistoryModal, setShowHistoryModal] = createSignal(false);
const [showExportTableModal, setShowExportTableModal] = createSignal(false);
const [applyTemplateScopeId, setApplyTemplateScopeId] = createSignal<string | null>(null);
@@ -58,7 +60,7 @@ const EstimateBuilder: Component<EstimateBuilderProps> = (props) => {
};
const { hoveredScopeId, setHoveredScopeId, handleDragStart, handleDrop } = useDragAndDrop(selectedIds, setSelectedIds, updateItem);
const { exportEstimate, importEstimate, saveToCloud, isCloudLoading } = useEstimateSync(setShowSaveModal);
const { exportEstimate, importEstimate, saveToCloud, saveChangesToCloud, saveAsNewestToCloud, checkoutVersion, isCloudLoading } = useEstimateSync(setShowSaveModal);
onMount(() => {
if (!generalEstimateNotes()) setGeneralEstimateNotes(GENERAL_NOTES_DEFAULT);
@@ -199,6 +201,8 @@ const EstimateBuilder: Component<EstimateBuilderProps> = (props) => {
onExportEstimate={exportEstimate}
onShowLoadModal={() => setShowLoadModal(true)}
onShowSaveModal={() => setShowSaveModal(true)}
onShowHistoryModal={() => setShowHistoryModal(true)}
onSaveChanges={saveChangesToCloud}
/>
<div class="flex flex-1 relative items-start">
@@ -353,6 +357,7 @@ const EstimateBuilder: Component<EstimateBuilderProps> = (props) => {
<CloudLoadModal show={showLoadModal()} onClose={() => setShowLoadModal(false)} />
<ExportTableModal show={showExportTableModal()} onClose={() => setShowExportTableModal(false)} />
<ApplyTemplateModal show={!!applyTemplateScopeId()} scopeId={applyTemplateScopeId()} onClose={() => setApplyTemplateScopeId(null)} />
<HistoryModal show={showHistoryModal()} onClose={() => setShowHistoryModal(false)} onCheckout={checkoutVersion} />
</div>
);
};