Full Pocketbase Integration

This commit is contained in:
2026-03-10 19:42:40 -05:00
parent 39c5021e2f
commit 6906cfe5da
11 changed files with 427 additions and 53 deletions
+67
View File
@@ -0,0 +1,67 @@
import { createSignal } from 'solid-js';
import { createStore } from 'solid-js/store';
import type { ExtractedItem } from '../utils/csv-parser';
import type { TemplateItem, Scope, SubScope, EstimateItem, JobInfo } from '../types';
// Raw CSV Data
const [activeItems, setActiveItems] = createSignal<ExtractedItem[]>([]);
const [activeIgnoredLines, setActiveIgnoredLines] = createSignal<string[][]>([]);
// Estimate Metadata
const [activeEstimateId, setActiveEstimateId] = createSignal<string | null>(null);
const [activeEstimateName, setActiveEstimateName] = createSignal('');
// Estimate Builder State
const [scopes, setScopes] = createStore<Scope[]>([]);
const [subScopes, setSubScopes] = createStore<SubScope[]>([]);
const [estimateItems, setEstimateItems] = createStore<EstimateItem[]>([]);
const [clientInfo, setClientInfo] = createStore({
name: '',
address: '',
phone: '',
fax: ''
});
const [jobInfo, setJobInfo] = createStore<JobInfo>({
number: '',
name: '',
address: '',
workOrder: ''
});
const [generalEstimateNotes, setGeneralEstimateNotes] = createSignal('');
const [generalPreNotes, setGeneralPreNotes] = createSignal('');
// Template Creator State
const [activeTemplateName, setActiveTemplateName] = createSignal('');
const [activeTemplateItems, setActiveTemplateItems] = createSignal<TemplateItem[]>([]);
export const appStore = {
// Raw CSV Extraction
items: activeItems,
setItems: setActiveItems,
ignoredLines: activeIgnoredLines,
setIgnoredLines: setActiveIgnoredLines,
// Estimate Meta
estimateId: activeEstimateId,
setEstimateId: setActiveEstimateId,
estimateName: activeEstimateName,
setEstimateName: setActiveEstimateName,
// Estimate Builder
scopes, setScopes,
subScopes, setSubScopes,
estimateItems, setEstimateItems,
clientInfo, setClientInfo,
jobInfo, setJobInfo,
generalEstimateNotes, setGeneralEstimateNotes,
generalPreNotes, setGeneralPreNotes,
// Templates
templateName: activeTemplateName,
setTemplateName: setActiveTemplateName,
templateItems: activeTemplateItems,
setTemplateItems: setActiveTemplateItems
};