Fix mobile TypeScript errors and add package-lock.json

Fix tsconfig.json (remove rootDir/outDir, add noEmit), fix useRef
type error, fix navigation type cast, add @types/react-native-vector-icons,
and generate package-lock.json for CI.
This commit is contained in:
Adam Moussa 2026-05-18 15:23:28 -04:00
parent cd088b67f4
commit b410d50692
5 changed files with 5951 additions and 4 deletions

5947
mobile/package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -36,6 +36,7 @@
"@react-native/babel-preset": "^0.79.0", "@react-native/babel-preset": "^0.79.0",
"@react-native/metro-config": "^0.79.0", "@react-native/metro-config": "^0.79.0",
"@types/react": "^19.0.0", "@types/react": "^19.0.0",
"@types/react-native-vector-icons": "^6.4.18",
"typescript": "~5.7.0" "typescript": "~5.7.0"
} }
} }

View file

@ -10,7 +10,7 @@ export function useOfflineDraft<T extends Record<string, unknown>>(
) { ) {
const [draft, setDraft] = useState<T>(initialData); const [draft, setDraft] = useState<T>(initialData);
const [isLoaded, setIsLoaded] = useState(false); const [isLoaded, setIsLoaded] = useState(false);
const saveTimeout = useRef<ReturnType<typeof setTimeout>>(); const saveTimeout = useRef<ReturnType<typeof setTimeout>>(null);
useEffect(() => { useEffect(() => {
AsyncStorage.getItem(DRAFT_KEY).then((stored) => { AsyncStorage.getItem(DRAFT_KEY).then((stored) => {

View file

@ -207,7 +207,7 @@ export function ProposalWorkspaceScreen() {
onPress={ onPress={
!isLocked !isLocked
? () => ? () =>
navigation.navigate('LineItemEdit' as never, { (navigation as any).navigate('LineItemEdit', {
proposalId, proposalId,
lineItemId: item.id, lineItemId: item.id,
description: item.description, description: item.description,

View file

@ -9,8 +9,7 @@
"skipLibCheck": true, "skipLibCheck": true,
"resolveJsonModule": true, "resolveJsonModule": true,
"allowJs": true, "allowJs": true,
"outDir": "./dist", "noEmit": true,
"rootDir": ".",
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"@proposal-system/api-contracts": ["../shared/api-contracts/src"] "@proposal-system/api-contracts": ["../shared/api-contracts/src"]