feat: Implement document management features

- Added a new DocumentsScreen for managing user documents with search and date filtering capabilities.
- Created AddDocumentModal for uploading documents with file selection and custom title options.
- Introduced SiteDocumentsScreen to display documents related to specific construction sites.
- Implemented SitesScreen for listing construction sites with search functionality.
- Updated ProfileScreen to link to the new DocumentsScreen.
- Refactored RangePickerModal for selecting date ranges in document filtering.
- Improved date formatting utilities for better timestamp handling.
- Added necessary API calls for document and site management.
- Updated types to reflect changes in document structure and site information.
- Added expo-document-picker dependency for document selection functionality.
This commit is contained in:
2025-12-17 18:03:54 +01:00
parent ef88c518d1
commit 6e5b9cde68
15 changed files with 731 additions and 93 deletions

View File

@ -1,5 +1,5 @@
import { Redirect, Tabs } from 'expo-router';
import { Home, Clock, FileText, Zap, CalendarIcon } from 'lucide-react-native';
import { Home, Clock, Zap, CalendarIcon, Building } from 'lucide-react-native';
import { useContext } from 'react';
import { AuthContext } from '@/utils/authContext';
@ -59,10 +59,10 @@ export default function ProtectedLayout() {
}}
/>
<Tabs.Screen
name="documents/index"
name="sites"
options={{
title: 'Moduli',
tabBarIcon: ({ color, size }) => <FileText color={color} size={24} />,
title: 'Cantieri',
tabBarIcon: ({ color, size }) => <Building color={color} size={24} />,
}}
/>
{/* // TODO: Rimuovere all'utente e mostrare solo a admin */}