From a68c8864b0ab6b3e2249307fb14709fa7a5eb141 Mon Sep 17 00:00:00 2001 From: leonardo Date: Mon, 31 Aug 2026 16:50:53 +0200 Subject: [PATCH] Initial commit --- .env.example | 5 + .gitignore | 48 + README.md | 50 + app.json | 68 + app/(protected)/_layout.tsx | 109 + app/(protected)/activity/[id].tsx | 258 + app/(protected)/activity/_layout.tsx | 11 + app/(protected)/activity/add.tsx | 430 + app/(protected)/activity/index.tsx | 191 + app/(protected)/attendance/index.tsx | 248 + .../construction-site/[id]/documents.tsx | 162 + .../construction-site/[id]/index.tsx | 177 + app/(protected)/construction-site/_layout.tsx | 10 + app/(protected)/dashboard/index.tsx | 337 + app/(protected)/index.tsx | 229 + app/(protected)/invoice/[id].tsx | 148 + app/(protected)/invoice/_layout.tsx | 10 + app/(protected)/invoice/index.tsx | 161 + app/(protected)/permits/index.tsx | 291 + app/(protected)/profile/_layout.tsx | 10 + app/(protected)/profile/documents.tsx | 188 + app/(protected)/profile/index.tsx | 108 + app/(protected)/quality/_layout.tsx | 10 + app/(protected)/quality/add.tsx | 373 + app/(protected)/quality/index.tsx | 169 + app/_layout.tsx | 32 + app/login.tsx | 168 + assets/images/adaptive-icon.png | Bin 0 -> 124016 bytes assets/images/favicon.png | Bin 0 -> 1898 bytes assets/images/icon.png | Bin 0 -> 213172 bytes assets/images/partial-react-logo.png | Bin 0 -> 4725 bytes assets/images/react-logo.png | Bin 0 -> 5714 bytes assets/images/react-logo@2x.png | Bin 0 -> 16993 bytes assets/images/react-logo@3x.png | Bin 0 -> 32175 bytes assets/images/splash-icon.png | Bin 0 -> 198765 bytes assets/images/splash.png | Bin 0 -> 88271 bytes babel.config.js | 9 + components/ActivityLaborCard.tsx | 189 + components/AlertComponent.tsx | 181 + components/AppDatePicker.tsx | 26 + components/AttendanceCard.tsx | 53 + components/CalendarWidget.tsx | 114 + components/CameraAddTile.tsx | 21 + components/ClientFilter.tsx | 154 + components/ConstructionSiteCard.tsx | 41 + components/DocumentListCard.tsx | 51 + components/EchartWrapper.tsx | 64 + components/FileAttachmentCard.tsx | 53 + components/FilterModal.tsx | 152 + components/GenericDropdown.tsx | 167 + components/InvoiceCard.tsx | 42 + components/LoadingScreen.tsx | 10 + components/OfflineScreen.tsx | 43 + components/PlaceFilter.tsx | 154 + components/QrScanModal.tsx | 118 + components/QualityControlCard.tsx | 55 + components/RemovablePhotoTile.tsx | 32 + components/RequestPermitModal.tsx | 286 + components/SetDescriptionModal.tsx | 114 + components/SupplierFilter.tsx | 180 + components/TimePickerModal.tsx | 70 + components/UpdateScreen.tsx | 43 + eas.json | 21 + eslint.config.js | 10 + global.css | 3 + metro.config.js | 19 + nativewind-env.d.ts | 1 + package-lock.json | 14733 ++++++++++++++++ package.json | 81 + tailwind.config.js | 58 + tsconfig.json | 18 + types/types.ts | 105 + utils/api.ts | 65 + utils/authContext.tsx | 124 + utils/configProvider.tsx | 87 + utils/dashboardCharts.ts | 203 + utils/dateTime.ts | 91 + utils/documentUtils.tsx | 111 + utils/networkProvider.tsx | 42 + utils/version.ts | 27 + 80 files changed, 22222 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 README.md create mode 100644 app.json create mode 100644 app/(protected)/_layout.tsx create mode 100644 app/(protected)/activity/[id].tsx create mode 100644 app/(protected)/activity/_layout.tsx create mode 100644 app/(protected)/activity/add.tsx create mode 100644 app/(protected)/activity/index.tsx create mode 100644 app/(protected)/attendance/index.tsx create mode 100644 app/(protected)/construction-site/[id]/documents.tsx create mode 100644 app/(protected)/construction-site/[id]/index.tsx create mode 100644 app/(protected)/construction-site/_layout.tsx create mode 100644 app/(protected)/dashboard/index.tsx create mode 100644 app/(protected)/index.tsx create mode 100644 app/(protected)/invoice/[id].tsx create mode 100644 app/(protected)/invoice/_layout.tsx create mode 100644 app/(protected)/invoice/index.tsx create mode 100644 app/(protected)/permits/index.tsx create mode 100644 app/(protected)/profile/_layout.tsx create mode 100644 app/(protected)/profile/documents.tsx create mode 100644 app/(protected)/profile/index.tsx create mode 100644 app/(protected)/quality/_layout.tsx create mode 100644 app/(protected)/quality/add.tsx create mode 100644 app/(protected)/quality/index.tsx create mode 100644 app/_layout.tsx create mode 100644 app/login.tsx create mode 100644 assets/images/adaptive-icon.png create mode 100644 assets/images/favicon.png create mode 100644 assets/images/icon.png create mode 100644 assets/images/partial-react-logo.png create mode 100644 assets/images/react-logo.png create mode 100644 assets/images/react-logo@2x.png create mode 100644 assets/images/react-logo@3x.png create mode 100644 assets/images/splash-icon.png create mode 100644 assets/images/splash.png create mode 100644 babel.config.js create mode 100644 components/ActivityLaborCard.tsx create mode 100644 components/AlertComponent.tsx create mode 100644 components/AppDatePicker.tsx create mode 100644 components/AttendanceCard.tsx create mode 100644 components/CalendarWidget.tsx create mode 100644 components/CameraAddTile.tsx create mode 100644 components/ClientFilter.tsx create mode 100644 components/ConstructionSiteCard.tsx create mode 100644 components/DocumentListCard.tsx create mode 100644 components/EchartWrapper.tsx create mode 100644 components/FileAttachmentCard.tsx create mode 100644 components/FilterModal.tsx create mode 100644 components/GenericDropdown.tsx create mode 100644 components/InvoiceCard.tsx create mode 100644 components/LoadingScreen.tsx create mode 100644 components/OfflineScreen.tsx create mode 100644 components/PlaceFilter.tsx create mode 100644 components/QrScanModal.tsx create mode 100644 components/QualityControlCard.tsx create mode 100644 components/RemovablePhotoTile.tsx create mode 100644 components/RequestPermitModal.tsx create mode 100644 components/SetDescriptionModal.tsx create mode 100644 components/SupplierFilter.tsx create mode 100644 components/TimePickerModal.tsx create mode 100644 components/UpdateScreen.tsx create mode 100644 eas.json create mode 100644 eslint.config.js create mode 100644 global.css create mode 100644 metro.config.js create mode 100644 nativewind-env.d.ts create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 tailwind.config.js create mode 100644 tsconfig.json create mode 100644 types/types.ts create mode 100644 utils/api.ts create mode 100644 utils/authContext.tsx create mode 100644 utils/configProvider.tsx create mode 100644 utils/dashboardCharts.ts create mode 100644 utils/dateTime.ts create mode 100644 utils/documentUtils.tsx create mode 100644 utils/networkProvider.tsx create mode 100644 utils/version.ts diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..90d5de8 --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +EXPO_PUBLIC_API_URL=[YOUR_API_URL] # backend API URL (used for development, it overrides the one provided by the gateway) + +EXPO_PUBLIC_GW_API_URL=[YOUR_GW_API_URL] # Gateway API URL +EXPO_PUBLIC_GW_UUID=[YOUR_GW_UUID] # Gateway UUID +EXPO_PUBLIC_GW_API_TOKEN=[YOUR_GW_API_TOKEN] # Gateway API Token \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c8b52d1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,48 @@ +# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files + +# dependencies +node_modules/ + +# Expo +.expo/ +dist/ +web-build/ +expo-env.d.ts + +# Native +.kotlin/ +*.orig.* +*.jks +*.p8 +*.p12 +*.key +*.mobileprovision + +# Metro +.metro-health-check* + +# debug +npm-debug.* +yarn-debug.* +yarn-error.* + +# macOS +.DS_Store +*.pem + +# local env files +.env +.env*.local + +# typescript +*.tsbuildinfo + +app-example + +# generated native folders +/ios +/android + +# IDE +.idea +.vscode \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..48dd63f --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# Welcome to your Expo app 👋 + +This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app). + +## Get started + +1. Install dependencies + + ```bash + npm install + ``` + +2. Start the app + + ```bash + npx expo start + ``` + +In the output, you'll find options to open the app in a + +- [development build](https://docs.expo.dev/develop/development-builds/introduction/) +- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/) +- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/) +- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo + +You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction). + +## Get a fresh project + +When you're ready, run: + +```bash +npm run reset-project +``` + +This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing. + +## Learn more + +To learn more about developing your project with Expo, look at the following resources: + +- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides). +- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web. + +## Join the community + +Join our community of developers creating universal apps. + +- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute. +- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions. diff --git a/app.json b/app.json new file mode 100644 index 0000000..045797d --- /dev/null +++ b/app.json @@ -0,0 +1,68 @@ +{ + "expo": { + "name": "Progeco", + "slug": "progeco_app", + "version": "1.6", + "orientation": "portrait", + "icon": "./assets/images/icon.png", + "scheme": "progecoapp", + "userInterfaceStyle": "automatic", + "newArchEnabled": true, + "ios": { + "supportsTablet": true, + "bundleIdentifier": "com.pcrt.progeco-app" + }, + "android": { + "adaptiveIcon": { + "foregroundImage": "./assets/images/adaptive-icon.png", + "backgroundColor": "#ffffff" + }, + "edgeToEdgeEnabled": true, + "predictiveBackGestureEnabled": false, + "permissions": [ + "android.permission.CAMERA", + "android.permission.RECORD_AUDIO" + ], + "package": "com.pcrt.progeco_app" + }, + "web": { + "output": "static", + "favicon": "./assets/images/favicon.png", + "bundler": "metro" + }, + "plugins": [ + "expo-router", + [ + "expo-splash-screen", + { + "image": "./assets/images/splash-icon.png", + "imageWidth": 200, + "resizeMode": "contain", + "backgroundColor": "#ffffff", + "dark": { + "backgroundColor": "#ffffff" + } + } + ], + [ + "expo-camera", + { + "cameraPermission": "Allow $(PRODUCT_NAME) to access your camera", + "microphonePermission": "Allow $(PRODUCT_NAME) to access your microphone", + "recordAudioAndroid": true + } + ], + "expo-font" + ], + "experiments": { + "typedRoutes": true, + "reactCompiler": true + }, + "extra": { + "router": {}, + "eas": { + "projectId": "51cde1ca-e1b5-46c6-b9b4-0f17bf95693c" + } + } + } +} diff --git a/app/(protected)/_layout.tsx b/app/(protected)/_layout.tsx new file mode 100644 index 0000000..7f09287 --- /dev/null +++ b/app/(protected)/_layout.tsx @@ -0,0 +1,109 @@ +import { Redirect, Tabs } from 'expo-router'; +import { Home, Clock, ShoppingBag, CircleCheckBig, CalendarRange } from 'lucide-react-native'; +import { useContext } from 'react'; +import { AuthContext } from '@/utils/authContext'; +import { useSafeAreaInsets } from "react-native-safe-area-context"; + +export default function ProtectedLayout() { + const authState = useContext(AuthContext); + const insets = useSafeAreaInsets(); + + if (!authState.isReady) { + return null; + } + + if (!authState.isAuthenticated) { + return ; + } + + return ( + + , + }} + /> + , + }} + /> + , + }} + /> + , + }} + /> + , + }} + /> + + + + + + ); +} diff --git a/app/(protected)/activity/[id].tsx b/app/(protected)/activity/[id].tsx new file mode 100644 index 0000000..966ac61 --- /dev/null +++ b/app/(protected)/activity/[id].tsx @@ -0,0 +1,258 @@ +import { useAlert } from '@/components/AlertComponent'; +import LoadingScreen from '@/components/LoadingScreen'; +import api from '@/utils/api'; +import { Image } from 'expo-image'; +import ImageView from "react-native-image-viewing"; +import { useLocalSearchParams, useRouter, useFocusEffect } from 'expo-router'; +import { ChevronLeft, ImageIcon, Users, HardHat, MapPin, Calendar as CalendarIcon, Briefcase, TextAlignStart, CheckCircle2, Wrench, Pencil } from 'lucide-react-native'; +import React, { useCallback, useEffect, useState } from 'react'; +import { Dimensions, RefreshControl, ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView, useSafeAreaInsets } from 'react-native-safe-area-context'; +import { StatusBar } from 'expo-status-bar'; + +export default function ActivityDetailScreen() { + const router = useRouter(); + const alert = useAlert(); + const params = useLocalSearchParams(); + const insets = useSafeAreaInsets(); + + const [activityData, setActivityData] = useState(null); + const [placeName, setPlaceName] = useState(''); + const [photos, setPhotos] = useState<{uri: string}[]>([]); + + // Labor states + const [operatorLabor, setOperatorLabor] = useState([]); + const [subcontractorLabor, setSubcontractorLabor] = useState([]); + const [otherOperatorLabor, setOtherOperatorLabor] = useState([]); + const [equipmentLabor, setEquipmentLabor] = useState([]); + + const [isLoading, setIsLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + + // Image Viewer states + const [isVisible, setIsVisible] = useState(false); + const [currentIndex, setCurrentIndex] = useState(0); + + const fetchDetails = useCallback(async (isRefreshing = false) => { + try { + if (!isRefreshing) setIsLoading(true); + + const paramsData = JSON.stringify({ id: params.id }); + const [activityRes, subactivitiesRes] = await Promise.all([ + api.post('/activity/get-activity-data', { params: paramsData }), + api.get('/subactivity/get-subactivities') + ]); + + if (activityRes.data?.success) { + const data = activityRes.data; + setActivityData(data.activity); + setPhotos(data.attachments || []); + setOperatorLabor(data.operator_labor || []); + setSubcontractorLabor(data.subcontractor_labor || []); + setOtherOperatorLabor(data.other_operator_labor || []); + setEquipmentLabor(data.materials || []); + + if (subactivitiesRes.data?.success) { + const subactivities = subactivitiesRes.data.subactivities; + const match = subactivities.find((s: any) => s.id === data.activity.id_subactivity); + if (match) { + setPlaceName(match.label); + } else { + setPlaceName('Cantiere Non Specificato'); + } + } + } else { + alert.showAlert('error', 'Errore', 'Impossibile caricare i dettagli dell\'attività.'); + } + } catch (error) { + console.error('Errore nel recupero del dettaglio attività:', error); + alert.showAlert('error', 'Errore', 'Si è verificato un errore di rete.'); + } finally { + setIsLoading(false); + setRefreshing(false); + } + }, [params.id]); + + useFocusEffect( + useCallback(() => { + if (params.id) { + fetchDetails(true); + } + }, [params.id, fetchDetails]) + ); + + const onRefresh = () => { + setRefreshing(true); + fetchDetails(true); + }; + + if (isLoading && !refreshing) { + return ; + } + + // Calculate dimensions for the grid layout of photos + const windowWidth = Dimensions.get('window').width; + const padding = 40; + const gap = 8; + const itemSize = (windowWidth - padding - (gap * 2)) / 3; + + const imageSource = photos.map(photo => ({ uri: photo.uri })); + + const renderLaborSection = (title: string, icon: React.ReactNode, laborData: any[]) => { + if (!laborData || laborData.length === 0) return null; + + return ( + + + + {icon} + + {title} + + + {laborData.map((labor, idx) => ( + + + {labor.name} + + + + + {labor.hours}h {labor.minutes}m + + + {labor.sync && ( + + )} + + + ))} + + + ); + }; + + return ( + + + + {/* Header */} + + + + router.back()} className="p-2 -ml-2 rounded-full active:bg-gray-100 w-12 items-center justify-center"> + + + + + Dettaglio Attività + + + router.push(`/activity/add?id=${params.id}`)} className="p-2 -mr-2 active:bg-gray-100 rounded-full w-12 items-center justify-center"> + + + + + + + } + > + {/* General Info */} + + + + + + + Cantiere + + {placeName} + + + + + + + + + + Data + + {activityData?.date ? new Date(activityData.date).toLocaleDateString('it-IT') : '-'} + + + + + + + + Descrizione + + + {activityData?.description || 'Nessuna descrizione.'} + + + + + {/* Labor and Materials Sections */} + {renderLaborSection('Operai', , operatorLabor)} + {renderLaborSection('Subappaltatori', , subcontractorLabor)} + {renderLaborSection('Operai Distaccati', , otherOperatorLabor)} + {renderLaborSection('Attrezzature', , equipmentLabor)} + + {/* Photos */} + + Allegati + + + {photos.length === 0 ? ( + + + Nessun allegato presente per questa attività. + + ) : ( + + {photos.map((item, index) => ( + { + setCurrentIndex(index); + setIsVisible(true); + }} + style={{ width: itemSize }} + className="mb-2" + > + + + + + ))} + + )} + + + setIsVisible(false)} + swipeToCloseEnabled={true} + doubleTapToZoomEnabled={true} + presentationStyle="overFullScreen" + /> + + ); +} diff --git a/app/(protected)/activity/_layout.tsx b/app/(protected)/activity/_layout.tsx new file mode 100644 index 0000000..073fc45 --- /dev/null +++ b/app/(protected)/activity/_layout.tsx @@ -0,0 +1,11 @@ +import {Stack} from 'expo-router'; + +export default function JournalLayout() { + return ( + + + + + + ); +} diff --git a/app/(protected)/activity/add.tsx b/app/(protected)/activity/add.tsx new file mode 100644 index 0000000..59d8800 --- /dev/null +++ b/app/(protected)/activity/add.tsx @@ -0,0 +1,430 @@ +import React, { useState, useEffect } from 'react'; +import { View, Text, TouchableOpacity, TextInput, KeyboardAvoidingView, ScrollView, Platform, Dimensions, ActivityIndicator, Modal } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useLocalSearchParams, useRouter } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { ChevronLeft, ImageIcon, Calendar as CalendarIcon } from 'lucide-react-native'; +import { AppDatePicker } from '@/components/AppDatePicker'; +import { DateType } from 'react-native-ui-datepicker'; +import { formatDate, formatPickerDate } from '@/utils/dateTime'; +import { Image } from 'expo-image'; +import * as ImagePicker from 'expo-image-picker'; + +import api from '@/utils/api'; +import { uploadDocument } from '@/utils/documentUtils'; +import { useAlert } from '@/components/AlertComponent'; +import GenericDropdown from '@/components/GenericDropdown'; +import ActivityLaborCard from '@/components/ActivityLaborCard'; +import RemovablePhotoTile from '@/components/RemovablePhotoTile'; +import CameraAddTile from '@/components/CameraAddTile'; +import { KeyboardAwareScrollView } from 'react-native-keyboard-controller'; + +export default function ActivityFormScreen() { + const router = useRouter(); + const alert = useAlert(); + const { id } = useLocalSearchParams(); + const isEditing = !!id; + + // Data lists + const [subactivities, setSubactivities] = useState([]); + + // Form states + const [date, setDate] = useState(new Date()); + const [showDatePicker, setShowDatePicker] = useState(false); + const [selectedSubactivityUuid, setSelectedSubactivityUuid] = useState(null); + const [selectedSubactivityId, setSelectedSubactivityId] = useState(null); + const [description, setDescription] = useState(''); + + // Labor states + const [operatorLabor, setOperatorLabor] = useState([]); + const [subcontractorLabor, setSubcontractorLabor] = useState([]); + const [otherOperatorLabor, setOtherOperatorLabor] = useState([]); + const [equipmentLabor, setEquipmentLabor] = useState([]); + + // Photos + const [photos, setPhotos] = useState([]); // New photos + const [existingPhotos, setExistingPhotos] = useState([]); // Existing (readonly) + + const [isLoading, setIsLoading] = useState(true); + const [isSubmitting, setIsSubmitting] = useState(false); + + // Initial load + useEffect(() => { + loadInitialData(); + }, []); + + const loadInitialData = async () => { + setIsLoading(true); + try { + // Load subactivities + const subRes = await api.get('/subactivity/get-subactivities'); + if (subRes.data?.success) { + setSubactivities(subRes.data.subactivities); + } + + // If editing, load activity data + if (isEditing) { + const actRes = await api.post('/activity/get-activity-data', { + params: JSON.stringify({ id: id }) + }); + + if (actRes.data?.success) { + const data = actRes.data; + const activity = data.activity; + + setDate(new Date(activity.date)); + setDescription(activity.description || ''); + + if (subRes.data?.success) { + const match = subRes.data.subactivities.find((s: any) => s.id === activity.id_subactivity); + if (match) { + setSelectedSubactivityUuid(match.uuid); + setSelectedSubactivityId(match.id); + } + } + + setOperatorLabor(data.operator_labor || []); + setSubcontractorLabor(data.subcontractor_labor || []); + setOtherOperatorLabor(data.other_operator_labor || []); + setEquipmentLabor(data.materials || []); + setExistingPhotos(data.attachments || []); + } else { + alert.showAlert('error', 'Errore', 'Impossibile caricare i dati dell\'attività.'); + } + } + } catch (error) { + console.error('Error loading data:', error); + alert.showAlert('error', 'Errore', 'Si è verificato un errore di connessione.'); + } finally { + setIsLoading(false); + } + }; + + const handleDateChange = (params: any) => { + setDate(params.date); + setShowDatePicker(false); + }; + + const pickFromGallery = async () => { + const permissionResult = await ImagePicker.requestMediaLibraryPermissionsAsync(); + if (permissionResult.granted === false) { + alert.showAlert('error', 'Permessi Negati', 'È necessario consentire l\'accesso alla galleria.'); + return; + } + + const limit = 50 - photos.length; + if (limit <= 0) return; + + try { + const result = await ImagePicker.launchImageLibraryAsync({ + mediaTypes: ['images'], + allowsMultipleSelection: true, + selectionLimit: limit, + quality: 0.8, + }); + + if (!result.canceled && result.assets) { + setPhotos(prev => [...prev, ...result.assets]); + } + } catch (error) { + console.error('Errore gallery:', error); + } + }; + + const takePhoto = async () => { + const permissionResult = await ImagePicker.requestCameraPermissionsAsync(); + if (permissionResult.granted === false) { + alert.showAlert('error', 'Permessi Negati', 'È necessario consentire l\'accesso alla fotocamera.'); + return; + } + + if (photos.length >= 50) return; + + try { + const result = await ImagePicker.launchCameraAsync({ + mediaTypes: ['images'], + quality: 0.8, + }); + + if (!result.canceled && result.assets && result.assets.length > 0) { + setPhotos(prev => [...prev, result.assets[0]]); + } + } catch (error) { + console.error('Errore fotocamera:', error); + } + }; + + const removePhoto = (index: number) => { + setPhotos(prev => prev.filter((_, i) => i !== index)); + }; + + const handleSave = async () => { + if (!selectedSubactivityUuid) { + alert.showAlert('error', 'Campi obbligatori', 'Selezionare un Cantiere.'); + return; + } + + setIsSubmitting(true); + + try { + // Se in edit mode dobbiamo passare subactivity_id, se in add mode subactivity_uuid. + let subactivity_id = selectedSubactivityId; + if (!subactivity_id) { + const match = subactivities.find(s => s.uuid === selectedSubactivityUuid); + if (match) subactivity_id = match.id; + } + + const payload: any = { + description: description, + date: date ? formatPickerDate(date) : new Date().toISOString().split('T')[0], // YYYY-MM-DD + n_files: photos.length, + operator_labor: operatorLabor, + subcontractor_labor: subcontractorLabor, + other_operators_labor: otherOperatorLabor, + equipment_labor: equipmentLabor, + }; + + if (isEditing) { + payload.id = id; + payload.subactivity_id = subactivity_id; + } else { + payload.subactivity_uuid = selectedSubactivityUuid; + } + + const params = { + post: JSON.stringify(payload) + }; + + const endpoint = isEditing ? '/activity/edit' : '/activity/add'; + const res = await api.post(endpoint, params); + + if (res.data?.success) { + const savedId = res.data.id; + + // Upload new photos sequentially + if (photos.length > 0) { + for (const file of photos) { + const fileName = file.fileName || file.uri.split('/').pop() || 'photo.jpg'; + const mimeType = file.mimeType || 'image/jpeg'; + + await uploadDocument({ + uri: file.uri, + name: fileName, + mimeType: mimeType + }, { + endpoint: '/activity/upload', + fileKey: 'files', + extraData: { + model_classname: 'Activity', + model_id: savedId.toString(), + method: 'put', + name: fileName, + type: mimeType + } + }); + } + } + + alert.showAlert('success', 'Salvato', 'Attività salvata con successo.'); + if (isEditing) { + router.back(); + } else { + router.push('/(protected)/activity'); + } + } else { + alert.showAlert('error', 'Errore', res.data?.message || 'Impossibile salvare l\'attività.'); + } + } catch (error) { + console.error('Errore salvataggio:', error); + alert.showAlert('error', 'Errore di connessione', 'Verifica la connessione e riprova.'); + } finally { + setIsSubmitting(false); + } + }; + + if (isLoading) { + return ( + + + + ); + } + + const windowWidth = Dimensions.get('window').width; + const itemsPerRow = 4; + const padding = 20; + const gap = 12; + const tileWidth = (windowWidth - (padding * 2) - (gap * (itemsPerRow - 1))) / itemsPerRow; + + return ( + + + + {/* Header */} + + + + router.back()} className="p-2 -ml-2 rounded-full active:bg-gray-100 w-12 items-center justify-center"> + + + + + {isEditing ? 'Modifica Attività' : 'Nuova Attività'} + + + + + + + + + {/* General Info Card */} + + + Cantiere * + + ({ id: s.uuid, label: s.label }))} + selectedId={selectedSubactivityUuid} + onSelect={(id) => setSelectedSubactivityUuid(id as string)} + placeholder="Seleziona il cantiere" + searchPlaceholder="Cerca cantiere" + /> + + + + + Data + setShowDatePicker(true)} + className="bg-gray-50 border border-gray-200 p-3 rounded-2xl flex-row items-center justify-between" + > + {date ? formatDate(formatPickerDate(date) || undefined) : ''} + + + + {showDatePicker && ( + + + + + setShowDatePicker(false)} + className="mt-4 p-3 rounded-xl items-center border border-gray-200 active:bg-gray-50" + > + Chiudi + + + + + )} + + + + Descrizione + + + + + {/* Labor Cards */} + + setOperatorLabor([...operatorLabor, labor])} + onRemoveLabor={(idx) => setOperatorLabor(operatorLabor.filter((_, i) => i !== idx))} + /> + + setSubcontractorLabor([...subcontractorLabor, labor])} + onRemoveLabor={(idx) => setSubcontractorLabor(subcontractorLabor.filter((_, i) => i !== idx))} + /> + + setOtherOperatorLabor([...otherOperatorLabor, labor])} + onRemoveLabor={(idx) => setOtherOperatorLabor(otherOperatorLabor.filter((_, i) => i !== idx))} + /> + + setEquipmentLabor([...equipmentLabor, labor])} + onRemoveLabor={(idx) => setEquipmentLabor(equipmentLabor.filter((_, i) => i !== idx))} + /> + + + {/* Photos */} + + Allegati + + + {/* Existing Photos (Read-only) */} + {existingPhotos.map((photo, index) => ( + + + + ))} + + {/* New Photos */} + {photos.map((photo, index) => ( + removePhoto(index)} size={tileWidth} /> + ))} + + {/* Add Buttons */} + {(photos.length + existingPhotos.length) < 50 && ( + <> + + + + + + )} + + + + {/* Submit */} + + {isSubmitting ? ( + + ) : ( + + {isEditing ? 'Salva Modifiche' : 'Salva Attività'} + + )} + + + + ); +} diff --git a/app/(protected)/activity/index.tsx b/app/(protected)/activity/index.tsx new file mode 100644 index 0000000..446924c --- /dev/null +++ b/app/(protected)/activity/index.tsx @@ -0,0 +1,191 @@ +import { useAlert } from '@/components/AlertComponent'; +import LoadingScreen from '@/components/LoadingScreen'; +import api from '@/utils/api'; +import { Plus, Filter, Newspaper, ShoppingBag } from 'lucide-react-native'; +import React, { useEffect, useState } from 'react'; +import { RefreshControl, ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import FilterModal from '@/components/FilterModal'; +import { Place, ActivityItem } from '@/types/types'; +import { useRouter, useFocusEffect } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { useCallback } from 'react'; + +export default function JournalScreen() { + const router = useRouter(); + const alert = useAlert(); + const [updates, setUpdates] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + + // Filters state + const [showFilterModal, setShowFilterModal] = useState(false); + const [places, setPlaces] = useState([]); + const [filterRange, setFilterRange] = useState<{ startDate: string | null; endDate: string | null }>({ startDate: null, endDate: null }); + const [filterPlace, setFilterPlace] = useState(null); + + const activeFiltersCount = (filterRange.startDate ? 1 : 0) + (filterPlace ? 1 : 0); + + const fetchPlaces = async () => { + try { + const response = await api.get('/construction-site/get-construction-sites'); + if (response.data?.success) { + setPlaces(response.data.constructionSites || []); + } + } catch (error) { + console.error('Errore nel recupero dei cantieri:', error); + } + }; + + const fetchUpdates = async (currentRange = filterRange, currentPlace = filterPlace) => { + try { + if (!refreshing) setIsLoading(true); + + const rangeParam = currentRange.startDate ? currentRange : null; + const params = { range: rangeParam, constructionSite: currentPlace }; + const response = await api.post('/activity/list', { params }); + + if (response.data?.success) { + setUpdates(response.data.result || []); + } + } catch (error) { + console.error('Errore nel recupero del giornale:', error); + alert.showAlert('error', 'Errore', 'Impossibile recuperare il giornale di cantiere.'); + } finally { + setIsLoading(false); + setRefreshing(false); + } + }; + + useEffect(() => { + fetchPlaces(); + }, []); + + useFocusEffect( + useCallback(() => { + fetchUpdates(); + }, [filterRange, filterPlace]) + ); + + const onRefresh = () => { + setRefreshing(true); + fetchUpdates(); + }; + + // The fetch is triggered by useFocusEffect, which reacts to filter changes: + // calling fetchUpdates here too would fire a second, identical request. + const handleApplyFilters = (range: any, place: any) => { + setFilterRange(range); + setFilterPlace(place); + setShowFilterModal(false); + }; + + const handleResetFilters = () => { + setFilterRange({ startDate: null, endDate: null }); + setFilterPlace(null); + setShowFilterModal(false); + }; + + if (isLoading && !refreshing) { + return ; + } + + return ( + + + {/* Header */} + + + + Lista delle attività nei cantieri + Attività Cantieri + + + + + + + + + {/* List */} + } + > + {updates.length === 0 ? ( + + Nessun invio registrato alla lista delle attività di cantiere + + ) : ( + + {updates.map((item, index) => ( + router.push(`/activity/${item.id}`)} + > + + + + + + + {item.constructionSite} + + + {item.subactivity ?? '-'} + + + {item.date} + + + + + {item.description ? ( + + + {item.description} + + + ) : null} + + ))} + + )} + + + {/* FAB Add Journal */} + router.push('/activity/add')} + className="absolute bottom-[6.5rem] right-6 w-16 h-16 bg-white border border-[#1071C2] rounded-full shadow-lg items-center justify-center active:scale-90" + > + + + + {/* FAB Filter */} + setShowFilterModal(true)} + className="absolute bottom-8 right-6 w-16 h-16 bg-[#1071C2] rounded-full shadow-lg items-center justify-center active:scale-90" + > + + {activeFiltersCount > 0 && ( + + {activeFiltersCount} + + )} + + + setShowFilterModal(false)} + onApply={handleApplyFilters} + onReset={handleResetFilters} + /> + + + ); +} diff --git a/app/(protected)/attendance/index.tsx b/app/(protected)/attendance/index.tsx new file mode 100644 index 0000000..c222941 --- /dev/null +++ b/app/(protected)/attendance/index.tsx @@ -0,0 +1,248 @@ +import { useAlert } from '@/components/AlertComponent'; +import AttendanceCard from '@/components/AttendanceCard'; +import FilterModal from '@/components/FilterModal'; +import LoadingScreen from '@/components/LoadingScreen'; +import QrScanModal from '@/components/QrScanModal'; +import api from '@/utils/api'; +import { formatTime } from '@/utils/dateTime'; +import { StatusBar } from 'expo-status-bar'; +import { CheckCircle2, Filter, IdCardLanyard, QrCode } from 'lucide-react-native'; +import React, { useEffect, useState } from 'react'; +import { RefreshControl, ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { Place, AttendanceRecord } from '@/types/types'; +import { useLocalSearchParams } from 'expo-router'; + +export default function AttendanceScreen() { + const alert = useAlert(); + const { autoScan } = useLocalSearchParams(); + const [showScanner, setShowScanner] = useState(false); + const [lastScan, setLastScan] = useState<{ type: string; time: string; site: string } | null>(null); + const [attendances, setAttendances] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + + // Filters state + const [isFilterVisible, setIsFilterVisible] = useState(false); + const [places, setPlaces] = useState([]); + const [filterRange, setFilterRange] = useState<{ startDate: string | null; endDate: string | null }>({ startDate: null, endDate: null }); + const [filterPlace, setFilterPlace] = useState(null); + + const activeFiltersCount = (filterRange.startDate ? 1 : 0) + (filterPlace ? 1 : 0); + + const fetchPlaces = async () => { + try { + const response = await api.get('/construction-site/get-construction-sites'); + if (response.data?.success) { + setPlaces(response.data.constructionSites || []); + } + } catch (error) { + console.error('Errore nel recupero dei cantieri:', error); + } + }; + + const fetchAttendances = async (currentRange = filterRange, currentPlace = filterPlace) => { + try { + if (!refreshing) setIsLoading(true); + + // Pass range directly as an object { startDate, endDate } or null + const rangeParam = currentRange.startDate ? currentRange : null; + const params = { range: rangeParam, constructionSite: currentPlace }; + const response = await api.post('/attendance/list', { params }); + + if (response.data?.success) { + setAttendances(response.data.result || []); + } + } catch (error) { + console.error('Errore nel recupero delle presenze:', error); + alert.showAlert('error', 'Errore', 'Impossibile recuperare le presenze. Riprova più tardi.'); + } finally { + setIsLoading(false); + setRefreshing(false); + } + }; + + useEffect(() => { + fetchPlaces(); + fetchAttendances(); + setLastScan(null); + }, []); + + useEffect(() => { + if (autoScan === 'true') { + setShowScanner(true); + } + }, [autoScan]); + + const onRefresh = () => { + setRefreshing(true); + fetchAttendances(); + setLastScan(null); + }; + + const handleStartScan = () => { + setShowScanner(true); + }; + + const onScan = async (data: string) => { + console.log('Scanned data:', data); + try { + const response = await api.post('/attendance/scan', { uuid: data }); + if (response.data?.success) { + console.log('Scan data sent successfully:', response.data); + fetchAttendances(); + setLastScan({ + type: response.data.type, + time: formatTime(response.data.time), + site: response.data.site + }); + } else { + alert.showAlert('error', 'Errore', response.data?.message || 'Impossibile registrare la presenza.'); + } + } catch (error) { + console.error('Errore nell\'invio dei dati di scansione:', error); + alert.showAlert('error', 'Errore', 'Impossibile registrare la presenza. Riprova più tardi.'); + return; + } + }; + + if (isLoading && !refreshing) { + return ; + } + + return ( + + + {/* Header */} + + + + Elenco delle tue presenze + Presenze + + + + + + + + + + } + > + + + {/* Feedback Card */} + {lastScan ? ( + + + + + + + {lastScan.type} Registrata + + + + {lastScan.site} alle {lastScan.time} + + + + + ) : null} + + {/* Scanner Section */} + + + Scansione QR Code + + + + Scansiona Codice + + + + Posiziona il codice QR davanti alla fotocamera per registrare l'ingresso o l'uscita dal cantiere + + + + + {/* History using AttendanceCard component */} + + Ultime Presenze + {attendances.length === 0 ? ( + + Nessuna presenza registrata + + ) : ( + + {attendances.map((item, index) => ( + + ))} + + )} + + + + + + {/* FAB Filter */} + setIsFilterVisible(true)} + className="absolute bottom-8 right-6 w-16 h-16 bg-[#1071C2] rounded-full shadow-lg items-center justify-center active:scale-90" + > + + {activeFiltersCount > 0 && ( + + {activeFiltersCount} + + )} + + + {/* Filter Modal */} + setIsFilterVisible(false)} + onApply={(range, place) => { + setFilterRange(range); + setFilterPlace(place); + setIsFilterVisible(false); + fetchAttendances(range, place); + }} + onReset={() => { + const emptyRange = { startDate: null, endDate: null }; + setFilterRange(emptyRange); + setFilterPlace(null); + setIsFilterVisible(false); + fetchAttendances(emptyRange, null); + }} + /> + + {/* Qr Scanner Modal */} + setShowScanner(false)} + onScan={onScan} + /> + + + ); +} diff --git a/app/(protected)/construction-site/[id]/documents.tsx b/app/(protected)/construction-site/[id]/documents.tsx new file mode 100644 index 0000000..3e9f9b8 --- /dev/null +++ b/app/(protected)/construction-site/[id]/documents.tsx @@ -0,0 +1,162 @@ +import DocumentListCard from '@/components/DocumentListCard'; +import LoadingScreen from '@/components/LoadingScreen'; +import { DocumentItem } from '@/types/types'; +import api from '@/utils/api'; +import * as DocumentPicker from 'expo-document-picker'; +import { useLocalSearchParams, useRouter } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { ChevronLeft, AlertCircle } from 'lucide-react-native'; +import { useAlert } from '@/components/AlertComponent'; +import { uploadDocument } from '@/utils/documentUtils'; +import React, { useCallback, useEffect, useState } from 'react'; +import { ActivityIndicator, RefreshControl, ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +export default function ConstructionSiteDocumentsScreen() { + const { id, name } = useLocalSearchParams(); + const router = useRouter(); + const alert = useAlert(); + const [documents, setDocuments] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [isRefreshing, setIsRefreshing] = useState(false); + const [isUploading, setIsUploading] = useState(false); + + const fetchDocuments = useCallback(async () => { + try { + const response = await api.get(`/construction-site/get-attachments?id=${id}`); + if (response.data?.success) { + setDocuments(response.data.result || []); + } + } catch (error) { + console.error('Errore nel recupero dei documenti:', error); + alert.showAlert('error', 'Errore', 'Impossibile recuperare la lista dei documenti.'); + } finally { + setIsLoading(false); + setIsRefreshing(false); + } + }, [id]); + + useEffect(() => { + if (id) { + fetchDocuments(); + } + }, [id, fetchDocuments]); + + const onRefresh = () => { + setIsRefreshing(true); + fetchDocuments(); + }; + + const handleUpload = async () => { + try { + const result = await DocumentPicker.getDocumentAsync({ + type: '*/*', + copyToCacheDirectory: true, + multiple: false, + }); + + if (result.canceled || !result.assets || result.assets.length === 0) { + return; + } + + const file = result.assets[0]; + setIsUploading(true); + + await uploadDocument(file, { + endpoint: '/construction-site/upload-attachment', + fileKey: 'files', + extraData: { + model_classname: 'ConstructionSite', + model_id: id as string, + method: 'put', + name: file.name, + type: file.mimeType || 'application/octet-stream' + } + }); + + alert.showAlert('success', 'Successo', 'Documento caricato con successo.'); + onRefresh(); // reload list + } catch (error: any) { + console.error('Errore durante l\'upload:', error); + alert.showAlert('error', 'Errore', error.message || 'Si è verificato un errore durante l\'upload del documento.'); + } finally { + setIsUploading(false); + } + }; + + if (isLoading && !isRefreshing) { + return ; + } + + return ( + + + + {/* Header */} + + router.back()} + className="p-2 -ml-2 rounded-full active:bg-white/20 w-12 items-center justify-center" + > + + + + + + {name || 'Allegati Cantiere'} + + + + + + + + {/* Content */} + + {isUploading && ( + + + Caricamento in corso... + + )} + + + } + > + + Documenti + + {isUploading ? ( + + ) : ( + Aggiungi + )} + + + + {documents.length > 0 ? ( + + {documents.map((item, index) => ( + + ))} + + ) : ( + + + + + + Nessun documento caricato per questo cantiere. + + + )} + + + + ); +} diff --git a/app/(protected)/construction-site/[id]/index.tsx b/app/(protected)/construction-site/[id]/index.tsx new file mode 100644 index 0000000..e14182b --- /dev/null +++ b/app/(protected)/construction-site/[id]/index.tsx @@ -0,0 +1,177 @@ +import LoadingScreen from '@/components/LoadingScreen'; +import api from '@/utils/api'; +import { useLocalSearchParams, useRouter } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { Building2, ChevronLeft, Paperclip, AlertCircle, FileText } from 'lucide-react-native'; +import React, { useEffect, useState } from 'react'; +import { ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +const InfoRow = ({ + label, + value, + isLast = false, + isCode = false +}: { + label: string; + value?: string | number | null; + isLast?: boolean; + isCode?: boolean +}) => ( + + {label} + + {value || '-'} + + +); + +export default function ConstructionSiteDetailsScreen() { + const { id } = useLocalSearchParams(); + const router = useRouter(); + const [isLoading, setIsLoading] = useState(true); + const [siteData, setSiteData] = useState(null); + + const fetchDetails = async () => { + try { + const response = await api.get(`/construction-site/get-info?id=${id}`); + if (response.data?.success) { + setSiteData(response.data.result); + } + } catch (error) { + console.error('Errore nel recupero dei dettagli del cantiere:', error); + } finally { + setIsLoading(false); + } + }; + + useEffect(() => { + if (id) { + fetchDetails(); + } + }, [id]); + + if (isLoading) { + return ; + } + + if (!siteData) { + return ( + + + Impossibile caricare i dettagli. + router.back()} className="mt-4 px-6 py-2 bg-primary-dark rounded-full"> + Indietro + + + ); + } + + const { constructionSite, client, subactivities } = siteData; + + return ( + + + + {/* Header */} + + router.back()} + className="p-2 -ml-2 rounded-full active:bg-white/20 w-12 items-center justify-center" + > + + + + + + {constructionSite?.name || 'Dettaglio Cantiere'} + + + + router.push(`/construction-site/${id}/documents?name=${encodeURIComponent(constructionSite?.name || '')}`)} + className="p-2 -mr-2 rounded-full active:bg-white/20 w-12 items-center justify-center" + > + + + + + + {/* Content */} + + + {/* Info Card */} + + + + + + Informazioni + + + + + + + + + + + + {/* Subactivities */} + {subactivities && subactivities.length > 0 && ( + + Sottocommesse + + + {subactivities.map((sub: any, index: number) => { + const hasCodes = sub.cig || sub.cup; + return ( + + + + + + + {sub.code} - {sub.description} + + + + {hasCodes && ( + + {sub.cig && ( + + CIG + {sub.cig} + + )} + {sub.cup && ( + + CUP + {sub.cup} + + )} + + )} + + ); + })} + + + )} + + + + ); +} diff --git a/app/(protected)/construction-site/_layout.tsx b/app/(protected)/construction-site/_layout.tsx new file mode 100644 index 0000000..326a5d6 --- /dev/null +++ b/app/(protected)/construction-site/_layout.tsx @@ -0,0 +1,10 @@ +import { Stack } from 'expo-router'; + +export default function ConstructionSiteLayout() { + return ( + + + + + ); +} diff --git a/app/(protected)/dashboard/index.tsx b/app/(protected)/dashboard/index.tsx new file mode 100644 index 0000000..b18a7ed --- /dev/null +++ b/app/(protected)/dashboard/index.tsx @@ -0,0 +1,337 @@ +import React, { useState, useEffect, useMemo, useRef } from 'react'; +import { View, Text, ScrollView, TouchableOpacity, ActivityIndicator, Dimensions } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useRouter } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { ChevronDown, ChevronUp, LayoutDashboard } from 'lucide-react-native'; +import api from '@/utils/api'; +import { useAlert } from '@/components/AlertComponent'; +import EchartWrapper from '@/components/EchartWrapper'; +import { + CHART_ENDPOINTS, + CHART_DATA_KEY, + cumulate, + formatEuro, + buildPieOption, + buildSoaBarOption, + commesseLine, + buildAperteChiuseOption +} from '@/utils/dashboardCharts'; + +const TOOLTIP_BASE = { + renderMode: 'richText', + confine: true, + textStyle: { fontSize: 10 } +}; + +const screenWidth = Dimensions.get("window").width; + +export default function DashboardScreen() { + const router = useRouter(); + const alert = useAlert(); + + const [chartData, setChartData] = useState({ + costiRicavi: null, + fatturatoCliente: null, + aperteChiuseCliente: null, + aperteChiuseFornitore: null, + fatturatoSoa: null, + partiteCliente: null, + marginalitaMediaSoa: null, + aggregatiSoa: null + }); + + const [loadingCharts, setLoadingCharts] = useState>({}); + const [expandedCards, setExpandedCards] = useState>({ + costiRicavi: false, + costiRicaviCum: false, + aperteChiuseCliente: false, + aperteChiuseFornitore: false, + fatturatoSoa: false, + fatturatoCliente: false, + apertoCliente: false, + chiusoCliente: false, + marginalitaMediaSoa: false, + marginalitaCategoriaSoa: false, + pesoFatturatoSoa: false + }); + + const chartRichiesti = useRef(new Set()); + + const isLoading = (key: string) => !!loadingCharts[CHART_DATA_KEY[key] || key]; + + const fetchChart = (key: keyof typeof CHART_ENDPOINTS) => { + const dataKey = CHART_DATA_KEY[key] || key; + const endpoint = CHART_ENDPOINTS[key]; + if (!endpoint || chartRichiesti.current.has(dataKey)) { return Promise.resolve(); } + + chartRichiesti.current.add(dataKey); + setLoadingCharts(prev => ({ ...prev, [dataKey]: true })); + return api.get(endpoint).then(res => { + if (res.data && res.data.success) { + setChartData((prev: any) => ({ ...prev, [dataKey]: res.data.result })); + } + }).catch(err => { + chartRichiesti.current.delete(dataKey); + console.log("Errore caricamento dashboard:", err); + }).finally(() => { + setLoadingCharts(prev => ({ ...prev, [dataKey]: false })); + }); + }; + + // Sequential Prefetching + useEffect(() => { + let cancelled = false; + + const prefetch = async () => { + const richieste: string[] = []; + const visti = new Set(); + Object.keys(CHART_ENDPOINTS).forEach(key => { + const dataKey = CHART_DATA_KEY[key] || key; + if (visti.has(dataKey)) { return; } + visti.add(dataKey); + richieste.push(key); + }); + + for (const key of richieste) { + if (cancelled) { return; } + await fetchChart(key as keyof typeof CHART_ENDPOINTS); + } + }; + + prefetch(); + return () => { cancelled = true; }; + }, []); + + const toggleCard = (key: string) => { + const isCurrentlyExpanded = expandedCards[key]; + setExpandedCards(prev => ({ ...prev, [key]: !prev[key] })); + + const dataKey = CHART_DATA_KEY[key] || key; + + if (!isCurrentlyExpanded && !chartData[dataKey] && !isLoading(key)) { + fetchChart(key as keyof typeof CHART_ENDPOINTS); + } + }; + + // --- Chart Options --- + const costiRicaviOption = useMemo(() => !chartData.costiRicavi ? null : { + tooltip: { + ...TOOLTIP_BASE, + trigger: 'axis', + valueFormatter: formatEuro + }, + legend: { + bottom: 0, + itemGap: 6, + itemWidth: 14, + itemHeight: 10, + textStyle: { fontSize: 12 }, + data: [ + `Costi Materiali(${chartData.costiRicavi.current_year})`, + `Costi Manodopera(${chartData.costiRicavi.current_year})`, + `Ricavi(${chartData.costiRicavi.current_year})`, + `Utile(${chartData.costiRicavi.current_year})`, + `Costi Materiali(${chartData.costiRicavi.prev_year})`, + `Costi Manodopera(${chartData.costiRicavi.prev_year})`, + `Ricavi(${chartData.costiRicavi.prev_year})`, + `Utile(${chartData.costiRicavi.prev_year})` + ], + selected: { + [`Utile(${chartData.costiRicavi.prev_year})`]: false, + [`Ricavi(${chartData.costiRicavi.prev_year})`]: false, + [`Costi Materiali(${chartData.costiRicavi.prev_year})`]: false, + [`Costi Manodopera(${chartData.costiRicavi.prev_year})`]: false + }, + }, + grid: { + left: '3%', + right: '4%', + top: '8%', + bottom: 95, + containLabel: true + }, + xAxis: { + type: 'category', + data: chartData.costiRicavi.mesi + }, + yAxis: { + type: 'value' + }, + series: [ + { name: `Costi Materiali(${chartData.costiRicavi.current_year})`, type: 'bar', data: chartData.costiRicavi.costi }, + { name: `Costi Manodopera(${chartData.costiRicavi.current_year})`, type: 'bar', data: chartData.costiRicavi.costi_mdo }, + { name: `Ricavi(${chartData.costiRicavi.current_year})`, type: 'bar', data: chartData.costiRicavi.ricavi }, + { name: `Utile(${chartData.costiRicavi.current_year})`, type: 'bar', lineStyle: { width: 2.5, type: 'dashed' }, data: chartData.costiRicavi.utile }, + { name: `Costi Materiali(${chartData.costiRicavi.prev_year})`, type: 'bar', itemStyle: { color: '#b3b3b3' }, data: chartData.costiRicavi.costi_prev }, + { name: `Costi Manodopera(${chartData.costiRicavi.prev_year})`, type: 'bar', itemStyle: { color: '#b3b3b3' }, data: chartData.costiRicavi.costi_mdo_prev }, + { name: `Ricavi(${chartData.costiRicavi.prev_year})`, type: 'bar', itemStyle: { color: '#b3b3b3' }, data: chartData.costiRicavi.ricavi_prev }, + { name: `Utile(${chartData.costiRicavi.prev_year})`, type: 'bar', lineStyle: { width: 1.5, type: 'dashed', color: '#b3b3b3' }, data: chartData.costiRicavi.utile_prev } + ] + }, [chartData.costiRicavi]); + + const costiRicaviCumOption = useMemo(() => { + if (!chartData.costiRicavi) return null; + const d = chartData.costiRicavi; + return { + tooltip: { + ...TOOLTIP_BASE, + trigger: 'axis', + valueFormatter: formatEuro + }, + legend: { + bottom: 0, + itemGap: 6, + itemWidth: 14, + itemHeight: 10, + textStyle: { fontSize: 12 }, + data: [ + `Costi Materiali(${d.current_year})`, + `Costi Manodopera(${d.current_year})`, + `Ricavi(${d.current_year})`, + `Utile(${d.current_year})`, + `Costi Materiali(${d.prev_year})`, + `Costi Manodopera(${d.prev_year})`, + `Ricavi(${d.prev_year})`, + `Utile(${d.prev_year})` + ], + selected: { + [`Utile(${d.prev_year})`]: false, + [`Ricavi(${d.prev_year})`]: false, + [`Costi Materiali(${d.prev_year})`]: false, + [`Costi Manodopera(${d.prev_year})`]: false + }, + }, + grid: { + left: '3%', + right: '4%', + top: '8%', + bottom: 95, + containLabel: true + }, + xAxis: { + type: 'category', + data: d.mesi + }, + yAxis: { + type: 'value' + }, + series: [ + { name: `Costi Materiali(${d.current_year})`, type: 'bar', data: cumulate(d.costi) }, + { name: `Costi Manodopera(${d.current_year})`, type: 'bar', data: cumulate(d.costi_mdo) }, + { name: `Ricavi(${d.current_year})`, type: 'bar', data: cumulate(d.ricavi) }, + { name: `Utile(${d.current_year})`, type: 'bar', lineStyle: { width: 2.5, type: 'dashed' }, data: cumulate(d.utile) }, + { name: `Costi Materiali(${d.prev_year})`, type: 'bar', itemStyle: { color: '#b3b3b3' }, data: cumulate(d.costi_prev) }, + { name: `Costi Manodopera(${d.prev_year})`, type: 'bar', itemStyle: { color: '#b3b3b3' }, data: cumulate(d.costi_mdo_prev) }, + { name: `Ricavi(${d.prev_year})`, type: 'bar', itemStyle: { color: '#b3b3b3' }, data: cumulate(d.ricavi_prev) }, + { name: `Utile(${d.prev_year})`, type: 'bar', lineStyle: { width: 1.5, type: 'dashed', color: '#b3b3b3' }, data: cumulate(d.utile_prev) } + ] + }; + }, [chartData.costiRicavi]); + + const aperteChiuseClienteOption = useMemo(() => chartData.aperteChiuseCliente ? buildAperteChiuseOption(chartData.aperteChiuseCliente) : null, [chartData.aperteChiuseCliente]); + const aperteChiuseFornitoreOption = useMemo(() => chartData.aperteChiuseFornitore ? buildAperteChiuseOption(chartData.aperteChiuseFornitore) : null, [chartData.aperteChiuseFornitore]); + const fatturatoClienteOption = useMemo(() => chartData.fatturatoCliente ? buildPieOption(chartData.fatturatoCliente) : null, [chartData.fatturatoCliente]); + const fatturatoSoaOption = useMemo(() => chartData.fatturatoSoa ? buildPieOption(chartData.fatturatoSoa) : null, [chartData.fatturatoSoa]); + const apertoClienteOption = useMemo(() => chartData.partiteCliente ? buildPieOption(chartData.partiteCliente.aperto) : null, [chartData.partiteCliente]); + const chiusoClienteOption = useMemo(() => chartData.partiteCliente ? buildPieOption(chartData.partiteCliente.chiuso) : null, [chartData.partiteCliente]); + + const numItems = chartData.fatturatoCliente?.length || 0; + const dynamicPieHeight = Math.max(260, 200 + (Math.ceil(numItems / 2) * 26)); + const numItemsSoa = chartData.fatturatoSoa?.length || 0; + const dynamicSoaHeight = Math.max(260, 200 + (numItemsSoa * 26)); + const pieHeightFor = (arr: any) => Math.max(260, 200 + (Math.ceil((arr?.length || 0) / 2) * 26)); + const dynamicApertoHeight = pieHeightFor(chartData.partiteCliente?.aperto); + const dynamicChiusoHeight = pieHeightFor(chartData.partiteCliente?.chiuso); + + const marginalitaMediaSoaOption = useMemo(() => chartData.marginalitaMediaSoa + ? buildSoaBarOption(chartData.marginalitaMediaSoa, { color: '#5470c6', valueLabel: 'Marginalità media', extraLines: commesseLine }) + : null, [chartData.marginalitaMediaSoa]); + + const marginalitaCategoriaOption = useMemo(() => chartData.aggregatiSoa + ? buildSoaBarOption(chartData.aggregatiSoa.marginalitaCategoria, { color: '#3ba272', valueLabel: 'Marginalità categoria', extraLines: commesseLine }) + : null, [chartData.aggregatiSoa]); + + const pesoFatturatoSoaOption = useMemo(() => chartData.aggregatiSoa + ? buildSoaBarOption(chartData.aggregatiSoa.pesoFatturato, { + color: '#fac858', valueLabel: 'Peso', extraLines: (r: any) => [ + `Fatturato categoria: ${formatEuro(r.fatturato_tot)}`, + `Commesse: ${r.n_commesse}` + ] + }) : null, [chartData.aggregatiSoa]); + + const soaBarHeight = (arr: any) => Math.max(280, (arr?.length || 0) * 36 + 80); + const dynamicMarginalitaHeight = soaBarHeight(chartData.marginalitaMediaSoa); + const dynamicMarginalitaCatHeight = soaBarHeight(chartData.aggregatiSoa?.marginalitaCategoria); + const dynamicPesoSoaHeight = soaBarHeight(chartData.aggregatiSoa?.pesoFatturato); + + // Render Card Helper + const renderCard = (key: string, title: string, option: any, height: number) => { + const isExpanded = expandedCards[key]; + const loading = isLoading(key); + + return ( + + toggleCard(key)} + > + {title} + {isExpanded ? : } + + + {isExpanded && ( + + {loading ? ( + + ) : option ? ( + + + + ) : ( + Nessun dato disponibile + )} + + )} + + ); + }; + + return ( + + + + + + + Grafici e Statistiche + Dashboard + + + + + + + + + + {renderCard('costiRicavi', 'Costi / Ricavi', costiRicaviOption, 390)} + {renderCard('costiRicaviCum', 'Costi / Ricavi (Cumulati)', costiRicaviCumOption, 390)} + {renderCard('aperteChiuseCliente', 'Aperto / Chiuso Clienti', aperteChiuseClienteOption, 330)} + {renderCard('aperteChiuseFornitore', 'Aperto / Chiuso Fornitori', aperteChiuseFornitoreOption, 330)} + {renderCard('fatturatoSoa', 'Fatturato per SOA', fatturatoSoaOption, dynamicSoaHeight)} + {renderCard('fatturatoCliente', 'Fatturato per Cliente', fatturatoClienteOption, dynamicPieHeight)} + {renderCard('apertoCliente', 'Aperto per Cliente', apertoClienteOption, dynamicApertoHeight)} + {renderCard('chiusoCliente', 'Chiuso per Cliente', chiusoClienteOption, dynamicChiusoHeight)} + {renderCard('marginalitaMediaSoa', 'Marginalità media per SOA', marginalitaMediaSoaOption, dynamicMarginalitaHeight)} + {renderCard('marginalitaCategoriaSoa', 'Marginalità % di categoria SOA', marginalitaCategoriaOption, dynamicMarginalitaCatHeight)} + {renderCard('pesoFatturatoSoa', 'Peso fatturato SOA', pesoFatturatoSoaOption, dynamicPesoSoaHeight)} + + + + ); +} diff --git a/app/(protected)/index.tsx b/app/(protected)/index.tsx new file mode 100644 index 0000000..eea6321 --- /dev/null +++ b/app/(protected)/index.tsx @@ -0,0 +1,229 @@ +import ConstructionSiteCard from '@/components/ConstructionSiteCard'; +import FilterModal from '@/components/FilterModal'; +import LoadingScreen from '@/components/LoadingScreen'; +import api from '@/utils/api'; +import { AuthContext } from '@/utils/authContext'; +import { useRouter } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { FileText, Filter, QrCode, User, ShoppingBag, ChartNoAxesCombined } from 'lucide-react-native'; +import React, { useContext, useEffect, useState } from 'react'; +import { RefreshControl, ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { Client, ConstructionSite } from '@/types/types'; + +export default function HomeScreen() { + const router = useRouter(); + const { user } = useContext(AuthContext); + const [isLoading, setIsLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + + // Construction Sites & Filters state + const [constructionSites, setConstructionSites] = useState([]); + const [clients, setClients] = useState([]); + const [filterClient, setFilterClient] = useState(null); + const [isFilterVisible, setIsFilterVisible] = useState(false); + + const activeFiltersCount = filterClient ? 1 : 0; + + const fetchClients = async () => { + try { + const response = await api.get('/construction-site/get-clients'); + if (response.data?.success) { + setClients(response.data.clients || []); + } + } catch (error) { + console.error('Errore nel recupero dei committenti:', error); + } + }; + + const fetchConstructionSites = async (clientId = filterClient) => { + try { + if (!refreshing) setIsLoading(true); + + const params = { id_client: clientId }; + const response = await api.post('/construction-site/list', { params }); + + if (response.data?.success) { + setConstructionSites(response.data.result || []); + } + + } catch (error) { + console.error('Errore nel recupero dei cantieri:', error); + } finally { + setIsLoading(false); + setRefreshing(false); + } + }; + + useEffect(() => { + fetchClients(); + fetchConstructionSites(); + }, []); + + const onRefresh = () => { + setRefreshing(true); + fetchConstructionSites(); + }; + + if (isLoading && !refreshing) { + return ( + + ); + } + + return ( + + + + {/* Custom Banner */} + + + + + + Progeco Costruzioni Generali S.R.L. + + + Ciao {user?.firstName} + + + + + {/* Profile Avatar */} + router.push('/profile')}> + + + + + + + + {/* Scrollable Content */} + + + } + > + {/* Quick Actions / Centro di Controllo */} + + + {user?.isAdmin ? 'Centro di Controllo' : 'Azioni Rapide'} + + + {user?.isAdmin ? ( + + router.push('/dashboard')} + className="flex-1 bg-white p-6 rounded-3xl shadow-sm items-center justify-center gap-4 border border-slate-100 active:scale-[0.98]" + > + + + + Dashboard + + + router.push('/invoice')} + className="flex-1 bg-white p-6 rounded-3xl shadow-sm items-center justify-center gap-4 border border-slate-100 active:scale-[0.98]" + > + + + + Fatture + + + ) : ( + + router.push('/attendance?autoScan=true')} + className="flex-1 bg-white p-6 rounded-3xl shadow-sm items-center justify-center gap-4 border border-slate-100 active:scale-[0.98]" + > + + + + Nuova Presenza + + + router.push('/activity/add')} + className="flex-1 bg-white p-6 rounded-3xl shadow-sm items-center justify-center gap-4 border border-slate-100 active:scale-[0.98]" + > + + + + Nuova{'\n'}Attività + + + )} + + + {/* Cantieri */} + + + Lista Cantieri + + + + {constructionSites.map((item, index) => ( + router.push(`/construction-site/${item.id}`)} + /> + ))} + + {!isLoading && constructionSites.length === 0 && ( + + Nessun cantiere trovato. + + )} + {isLoading && constructionSites.length === 0 && ( + + Caricamento... + + )} + + + + + {/* FAB Filter */} + setIsFilterVisible(true)} + className="absolute bottom-8 right-6 w-16 h-16 bg-[#1071C2] rounded-full shadow-lg items-center justify-center active:scale-90" + > + + {activeFiltersCount > 0 && ( + + {activeFiltersCount} + + )} + + + {/* Filter Modal */} + setIsFilterVisible(false)} + onApply={(_, __, client) => { + setFilterClient(client); + setIsFilterVisible(false); + fetchConstructionSites(client); + }} + onReset={() => { + setFilterClient(null); + setIsFilterVisible(false); + fetchConstructionSites(null); + }} + /> + + + ); +} diff --git a/app/(protected)/invoice/[id].tsx b/app/(protected)/invoice/[id].tsx new file mode 100644 index 0000000..6a6d0cb --- /dev/null +++ b/app/(protected)/invoice/[id].tsx @@ -0,0 +1,148 @@ +import React, { useState, useEffect } from 'react'; +import { View, Text, ScrollView, TouchableOpacity, Linking } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useRouter, useLocalSearchParams } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { ChevronLeft, Download, CheckCircle2, XCircle, Calendar, CreditCard } from 'lucide-react-native'; +import api from '@/utils/api'; +import { useAlert } from '@/components/AlertComponent'; +import LoadingScreen from '@/components/LoadingScreen'; +import { InvoiceInfo, InvoiceAccounting } from '@/types/types'; + +export default function InvoiceDetailScreen() { + const router = useRouter(); + const { id } = useLocalSearchParams(); + const alert = useAlert(); + + const [invoiceInfo, setInvoiceInfo] = useState(null); + const [partite, setPartite] = useState([]); + const [isLoading, setIsLoading] = useState(true); + + const fetchInvoiceInfo = async () => { + try { + const response = await api.get(`/invoice-supplier/get-info?id=${id}`); + if (response.data?.success) { + setInvoiceInfo(response.data.result.info); + + // Map backend keys to our frontend types + const mappedPartite: InvoiceAccounting[] = (response.data.result.partite || []).map((p: any) => ({ + expiry: p.scadenza, + tpa_description: p.tpa_descrizione, + amount: p.importo_dovuto, + isPaid: p.pagata + })); + setPartite(mappedPartite); + } + } catch (error) { + console.error('Error fetching invoice info:', error); + alert.showAlert('error', 'Errore', 'Impossibile recuperare il dettaglio della fattura.'); + } finally { + setIsLoading(false); + } + }; + + useEffect(() => { + if (id) { + fetchInvoiceInfo(); + } + }, [id]); + + const handleDownload = () => { + if (invoiceInfo?.link) { + Linking.openURL(invoiceInfo.link); + } else { + alert.showAlert('error', 'Nessun Documento', 'Non è presente un documento allegato per questa fattura.'); + } + }; + + if (isLoading || !invoiceInfo) { + return ; + } + + return ( + + + {/* Header */} + + + router.back()} className="p-2 bg-gray-50 rounded-full active:bg-gray-100"> + + + Dettaglio Fattura + + + + + + + + {/* General Info Card */} + + Informazioni + + + Numero Documento + {invoiceInfo.documentNumber} + + + + Fornitore + {invoiceInfo.supplier} + + + + Cantiere + {invoiceInfo.placeName} + + + + + Data Documento + {invoiceInfo.date} + + + Importo + {invoiceInfo.totalAmount} + + + + + {/* Expiries */} + {partite && partite.length > 0 && ( + + Scadenze + + + {partite.map((item, idx) => ( + + + + + {item.expiry} + + + {item.isPaid ? : } + + {item.isPaid ? 'Pagata' : 'Da Pagare'} + + + + + + + + {item.tpa_description} + + + {item.amount} + + + + ))} + + + )} + + + ); +} diff --git a/app/(protected)/invoice/_layout.tsx b/app/(protected)/invoice/_layout.tsx new file mode 100644 index 0000000..659f3e9 --- /dev/null +++ b/app/(protected)/invoice/_layout.tsx @@ -0,0 +1,10 @@ +import {Stack} from 'expo-router'; + +export default function InvoiceLayout() { + return ( + + + + + ); +} diff --git a/app/(protected)/invoice/index.tsx b/app/(protected)/invoice/index.tsx new file mode 100644 index 0000000..8349711 --- /dev/null +++ b/app/(protected)/invoice/index.tsx @@ -0,0 +1,161 @@ +import React, { useState, useEffect, useCallback } from 'react'; +import { View, Text, FlatList, TouchableOpacity, RefreshControl } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { useRouter } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { Filter, ReceiptText } from 'lucide-react-native'; +import api from '@/utils/api'; +import { useAlert } from '@/components/AlertComponent'; +import LoadingScreen from '@/components/LoadingScreen'; +import FilterModal from '@/components/FilterModal'; +import InvoiceCard from '@/components/InvoiceCard'; +import { InvoiceItem, Place } from '@/types/types'; + +export default function InvoiceScreen() { + const router = useRouter(); + const alert = useAlert(); + const [invoices, setInvoices] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + + // Filters state + const [showFilterModal, setShowFilterModal] = useState(false); + const [places, setPlaces] = useState([]); + const [filterRange, setFilterRange] = useState<{ startDate: string | null; endDate: string | null }>({ startDate: null, endDate: null }); + const [filterPlace, setFilterPlace] = useState(null); + const [filterSupplier, setFilterSupplier] = useState(null); + + const activeFiltersCount = (filterRange.startDate ? 1 : 0) + (filterPlace ? 1 : 0) + (filterSupplier ? 1 : 0); + + const fetchPlaces = async () => { + try { + const response = await api.get('/construction-site/get-construction-sites'); + if (response.data?.success) { + setPlaces(response.data.constructionSites || []); + } + } catch (error) { + console.error('Errore nel recupero dei cantieri:', error); + } + }; + + const fetchInvoices = async (currentRange = filterRange, currentPlace = filterPlace, currentSupplier = filterSupplier) => { + try { + if (!refreshing) setIsLoading(true); + const rangeParam = currentRange.startDate ? currentRange : null; + // The backend's construction_site_code matches the name (label) of the construction site + const placeCode = currentPlace ? places.find(p => p.id === currentPlace)?.label : null; + const params = { date: rangeParam, place: placeCode, supplier: currentSupplier }; + const response = await api.post('/invoice-supplier/list', { params }); + if (response.data?.success) { + // The backend already returns data matching InvoiceItem mostly + setInvoices(response.data.result || []); + } + } catch (error) { + console.error('Error fetching invoices:', error); + alert.showAlert('error', 'Errore', 'Impossibile recuperare la lista delle fatture.'); + } finally { + setIsLoading(false); + setRefreshing(false); + } + }; + + useEffect(() => { + fetchPlaces(); + fetchInvoices(); + }, []); + + const onRefresh = () => { + setRefreshing(true); + fetchInvoices(); + }; + + // Stable reference: keeps InvoiceCard memoization effective across page re-renders + const handleInvoicePress = useCallback((id: number) => { + router.push(`/invoice/${id}`); + }, [router]); + + const handleApplyFilters = (range: any, place: any, supplier: any) => { + setFilterRange(range); + setFilterPlace(place); + setFilterSupplier(supplier); + setShowFilterModal(false); + fetchInvoices(range, place, supplier); + }; + + const handleResetFilters = () => { + const emptyRange = { startDate: null, endDate: null }; + setFilterRange(emptyRange); + setFilterPlace(null); + setFilterSupplier(null); + setShowFilterModal(false); + fetchInvoices(emptyRange, null, null); + }; + + if (isLoading && !refreshing) { + return ; + } + + return ( + + + {/* Header */} + + + + Elenco delle fatture + Fatture Fornitori + + + + + + + + + {/* List */} + item.id.toString()} + className="flex-1" + contentContainerStyle={{ padding: 20, paddingBottom: 100, gap: 16 }} + showsVerticalScrollIndicator={true} + scrollIndicatorInsets={{ right: 1 }} + refreshControl={} + renderItem={({ item }) => ( + + )} + ListEmptyComponent={ + + Nessuna fattura trovata + + } + /> + + {/* FAB Filter */} + setShowFilterModal(true)} + className="absolute bottom-8 right-6 w-16 h-16 bg-[#1071C2] rounded-full shadow-lg items-center justify-center active:scale-90" + > + + {activeFiltersCount > 0 && ( + + {activeFiltersCount} + + )} + + + setShowFilterModal(false)} + onApply={handleApplyFilters} + onReset={handleResetFilters} + /> + + + ); +} diff --git a/app/(protected)/permits/index.tsx b/app/(protected)/permits/index.tsx new file mode 100644 index 0000000..d15531d --- /dev/null +++ b/app/(protected)/permits/index.tsx @@ -0,0 +1,291 @@ +import { useAlert } from '@/components/AlertComponent'; +import CalendarWidget from '@/components/CalendarWidget'; +import LoadingScreen from '@/components/LoadingScreen'; +import RequestPermitModal from '@/components/RequestPermitModal'; +import { TimeOffRequest, TimeOffRequestType } from '@/types/types'; +import api from '@/utils/api'; +import { formatDate, formatTime } from '@/utils/dateTime'; +import { StatusBar } from 'expo-status-bar'; +import { Calendar as CalendarIcon, CalendarRange, CalendarX, Clock, CloudRainWind, Cross, Plus, Thermometer, Trash2, Users, FileText } from 'lucide-react-native'; +import React, { JSX, useEffect, useMemo, useState } from 'react'; +import { RefreshControl, ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import Swipeable from 'react-native-gesture-handler/ReanimatedSwipeable'; + +// Icon Mapping +const typeIcons: Record JSX.Element> = { + Ferie: (color) => , + Permesso: (color) => , + Malattia: (color) => , + Assenza: (color) => , + Maltempo: (color) => , + Infortunio: (color) => , + CongedoFamiliare: (color) => , +}; + +export default function PermitsScreen() { + const [showModal, setShowModal] = useState(false); + const alert = useAlert(); + const [permits, setPermits] = useState([]); + const [types, setTypes] = useState([]); + const [currentMonthDate, setCurrentMonthDate] = useState(new Date()); + const [isLoading, setIsLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + + const fetchPermits = async () => { + try { + const typesRes = await api.get('/time-off-request/get-types'); + const fetchedTypes: TimeOffRequestType[] = (typesRes.data.types || []).map((t: any) => ({ + id: t.id, + name: t.label, + time_required: t.time_required, + color: t.label === 'Infortunio' ? '#EAB308' : (t.color || '#8F9BB3') + })); + + const response = await api.post('/time-off-request/list', { params: { range: '' } }); + + const mappedPermits: TimeOffRequest[] = (response.data.result || []).map((r: any) => ({ + id: r.id, + type: r.type, + start_date: r.start_date, + end_date: r.end_date, + start_time: r.start_time, + end_time: r.end_time, + message: r.message, + status: r.status, + timeOffRequestType: fetchedTypes.find(t => t.name === r.type) || fetchedTypes[0], + })); + + setPermits(mappedPermits); + setTypes(fetchedTypes); + } catch (error) { + console.error('Errore nel recupero dei permessi:', error); + alert.showAlert('error', 'Errore', 'Impossibile recuperare i permessi. Riprova più tardi.'); + } finally { + setIsLoading(false); + setRefreshing(false); + } + }; + + const filteredPermits = useMemo(() => { + if (!permits.length) return []; + + // Calculate start and end of the current month + const year = currentMonthDate.getFullYear(); + const month = currentMonthDate.getMonth(); + + const startOfMonth = new Date(year, month, 1); + // Day 0 of the next month = last day of the current month + const endOfMonth = new Date(year, month + 1, 0, 23, 59, 59); + + return permits.filter(item => { + const itemStart = new Date(item.start_date?.toString() ?? ''); + // If there's no end_date, assume it's a single day (so end = start) + const itemEnd = item.end_date ? new Date(item.end_date?.toString() ?? '') : new Date(item.start_date?.toString() ?? ''); + + // The permit is visible if it starts before the end of the month + // And ends after the start of the month. + return itemStart <= endOfMonth && itemEnd >= startOfMonth; + }); + }, [permits, currentMonthDate]); + + useEffect(() => { + fetchPermits(); + }, []); + + const onRefresh = () => { + setRefreshing(true); + fetchPermits(); + }; + + // Funzione per eliminare una richiesta + const deletePermitRequest = async (id: number, itemRef?: React.ElementRef | null) => { + try { + itemRef?.close(); + const res = await api.post('/time-off-request/delete', { id }); + if (res.data?.success) { + // Optimistic update + setPermits(prevPermits => prevPermits.filter(p => p.id !== id)); + alert.showAlert('success', 'Richiesta eliminata', 'La richiesta è stata eliminata con successo.'); + } else { + alert.showAlert('error', 'Errore', res.data?.message || 'Impossibile eliminare la richiesta.'); + } + // Refresh + fetchPermits(); + } catch (error: any) { + console.error('Errore eliminazione richiesta:', error); + + const errorMessage = error?.response?.data?.message || 'Impossibile eliminare la richiesta.'; + alert.showAlert('error', 'Errore', errorMessage); + + fetchPermits(); // Ripristina stato corretto + } + }; + + // Dialogo di conferma + const confirmDelete = (item: TimeOffRequest, itemRef?: React.ElementRef | null) => { + const requestType = item.timeOffRequestType.name; + const dateRange = item.end_date + ? `${formatDate(item.start_date?.toLocaleString())} - ${formatDate(item.end_date.toLocaleString())}` + : formatDate(item.start_date?.toLocaleString()); + + alert.showConfirm( + 'Conferma eliminazione', + `Sei sicuro di voler eliminare questa richiesta?\n\n${requestType}\n${dateRange}`, + [ + { + text: 'Annulla', + style: 'cancel', + onPress: () => itemRef?.close() + }, + { + text: 'Elimina', + style: 'destructive', + onPress: () => deletePermitRequest(item.id, itemRef) + } + ] + ); + }; + + // Renderizza pulsante DELETE al swipe + const renderRightActions = ( + progress: any, + dragX: any, + item: TimeOffRequest, + swipeableRef: React.RefObject | null> + ) => { + return ( + confirmDelete(item, swipeableRef.current)} + className="bg-red-500 justify-center items-center px-6 rounded-3xl ml-3" + activeOpacity={0.7} + style={{ margin: 2 }} + > + + + Elimina + + + ); + }; + + if (isLoading && !refreshing) { + return ; + } + + return ( + + + setShowModal(false)} + onSubmit={(data) => { console.log('Richiesta:', data); fetchPermits(); }} + /> + + {/* Header */} + + + + Elenco delle tue richieste + Ferie e Permessi + + + + + + + + + + } + > + + {/* Calendar Widget */} + setCurrentMonthDate(date)} /> + + {/* Recent Requests List */} + + {filteredPermits.length === 0 ? ( + Nessuna richiesta di permesso questo mese + ) : ( + + Le tue richieste + {filteredPermits.map((item) => { + const swipeableRef = React.createRef>(); + const canDelete = item.status === null; // Solo "In Attesa" + const cardContent = ( + + + + {(typeIcons[item.timeOffRequestType.name] || ((color: string) => ))(item.timeOffRequestType.color)} + + + + {item.timeOffRequestType.name} + + + {item.status === 1 ? 'Approvata' : item.status === 0 ? 'Rifiutata' : 'In Attesa'} + + + + + {item.message ? ( + {item.message} + ) : null} + + {formatDate(item.start_date?.toLocaleString())} {item.end_date ? `- ${formatDate(item.end_date.toLocaleString())}` : ''} + + {item.timeOffRequestType.name === 'Permesso' && ( + + {formatTime(item.start_time)} - {formatTime(item.end_time)} + + )} + + + + + ); + + // Wrappa solo richieste "In Attesa" con Swipeable + if (canDelete) { + return ( + + renderRightActions(progress, dragX, item, swipeableRef) + } + rightThreshold={40} + friction={2} + overshootFriction={8} + containerStyle={{ padding: 2 }} + > + {cardContent} + + ); + } + + // Richieste approvate senza swipe + return {cardContent}; + })} + + )} + + + + {/* FAB */} + setShowModal(true)} + className="absolute bottom-8 right-6 w-16 h-16 bg-white border border-[#1071C2] rounded-full shadow-lg items-center justify-center active:scale-90" + > + + + + + ); +} diff --git a/app/(protected)/profile/_layout.tsx b/app/(protected)/profile/_layout.tsx new file mode 100644 index 0000000..b16564f --- /dev/null +++ b/app/(protected)/profile/_layout.tsx @@ -0,0 +1,10 @@ +import { Stack } from "expo-router"; + +export default function ProfileLayout() { + return ( + + + + + ); +} \ No newline at end of file diff --git a/app/(protected)/profile/documents.tsx b/app/(protected)/profile/documents.tsx new file mode 100644 index 0000000..aea3a64 --- /dev/null +++ b/app/(protected)/profile/documents.tsx @@ -0,0 +1,188 @@ +import { useAlert } from '@/components/AlertComponent'; +import LoadingScreen from '@/components/LoadingScreen'; +import api from '@/utils/api'; +import DocumentListCard from '@/components/DocumentListCard'; +import { useRouter } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { ChevronDown, ChevronLeft, X } from 'lucide-react-native'; +import React, { useEffect, useState } from 'react'; +import { Modal, RefreshControl, FlatList, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +export default function DocumentsScreen() { + const router = useRouter(); + const alert = useAlert(); + const [documents, setDocuments] = useState([]); + const [categories, setCategories] = useState([]); + const [selectedCategory, setSelectedCategory] = useState(null); + const [isLoading, setIsLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + const [showPicker, setShowPicker] = useState(false); + + // Fetch document categories + const fetchCategories = async () => { + try { + const response = await api.get('/documents/get-types'); + if (response.data?.success) { + setCategories([{ label: 'Tutte le tipologie', value: null }, ...response.data.categories]); + } + } catch (error) { + console.error('Errore nel recupero delle categorie:', error); + } + }; + + // Fetch user documents based on selected category + const fetchUserDocuments = async (filterValue: any = null) => { + try { + if (!refreshing) setIsLoading(true); + const params = { filter: filterValue }; + const response = await api.get(`/documents/list`, { params }); + if (response.data?.success) { + setDocuments(response.data.result || []); + } + } catch (error) { + console.error('Errore nel recupero dei documenti utente:', error); + alert.showAlert('error', 'Errore', 'Impossibile recuperare i documenti. Riprova più tardi.'); + } finally { + setIsLoading(false); + setRefreshing(false); + } + }; + + useEffect(() => { + const init = async () => { + setIsLoading(true); + await fetchCategories(); + await fetchUserDocuments(selectedCategory); + }; + init(); + }, []); + + const onRefresh = () => { + setRefreshing(true); + fetchUserDocuments(selectedCategory); + }; + + const handleCategorySelect = (value: any) => { + setSelectedCategory(value); + fetchUserDocuments(value); + setShowPicker(false); + }; + + if (isLoading && !refreshing) { + return ( + + ); + } + + // Get label for the selected category or default text + const selectedLabel = selectedCategory + ? categories.find(c => c.value === selectedCategory)?.label + : 'Filtra per tipologia...'; + + return ( + + + {/* Header */} + + + + router.back()} className="p-2 rounded-full active:bg-gray-100"> + + + + Documenti + + + + {/* Select / Dropdown Trigger and Reset */} + + setShowPicker(true)} + className="flex-1 flex-row items-center justify-between bg-white px-5 py-3 rounded-2xl border border-gray-200 shadow-sm" + > + + {selectedLabel} + + + + + {selectedCategory !== null && ( + handleCategorySelect(null)} + className="bg-gray-50 p-3.5 rounded-2xl border border-gray-200 shadow-sm justify-center items-center" + > + + + )} + + + + + + {/* Documents List */} + index.toString()} + contentContainerStyle={{ gap: 16}} + showsVerticalScrollIndicator={false} + refreshControl={ + + } + initialNumToRender={10} + maxToRenderPerBatch={15} + windowSize={5} + removeClippedSubviews={true} + renderItem={({ item: doc }) => ( + + )} + ListEmptyComponent={() => ( + !isLoading ? ( + + Nessun documento trovato in questa categoria + + ) : null + )} + /> + + + {/* Modal Picker (Dropdown Custom) */} + setShowPicker(false)}> + setShowPicker(false)} + className="flex-1 bg-black/50 justify-end" + > + true}> + + Filtra per tipologia + setShowPicker(false)} className="p-2 bg-gray-100 rounded-full"> + + + + index.toString()} + initialNumToRender={10} + maxToRenderPerBatch={15} + windowSize={5} + removeClippedSubviews={true} + renderItem={({ item: cat }) => ( + handleCategorySelect(cat.value)} + > + + {cat.label} + + + )} + /> + + + + + ); +} \ No newline at end of file diff --git a/app/(protected)/profile/index.tsx b/app/(protected)/profile/index.tsx new file mode 100644 index 0000000..a18f9b1 --- /dev/null +++ b/app/(protected)/profile/index.tsx @@ -0,0 +1,108 @@ +import { AuthContext } from '@/utils/authContext'; +import { useRouter } from 'expo-router'; +import { ChevronLeft, FileText, LogOut, Mail, User } from 'lucide-react-native'; +import { StatusBar } from 'expo-status-bar'; +import React, { useContext } from 'react'; +import { ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; + +export default function ProfileScreen() { + const authContext = useContext(AuthContext); + const { user } = authContext; + const router = useRouter(); + + // Generate user initials + const initials = `${user?.firstName?.[0] ?? ''}${user?.lastName?.[0] ?? ''}`.toUpperCase(); + + return ( + + + + {/* Header Section */} + + + router.back()} + > + + + + + {initials} + + + Profilo + {user?.firstName} {user?.lastName} + + + + + + + + {/* Info Card - Enlarged Texts */} + + {/* Section title */} + Informazioni + + + + + + + + Email + {user?.email} + + + + + + + + + Ruolo + {user?.isAdmin ? 'Amministratore' : 'Utente'} + + + + + + {/* Actions */} + + Azioni + + router.push('/profile/documents')} className="bg-white p-4 rounded-3xl shadow-sm flex-row items-center justify-between border border-gray-100 mb-4"> + + + + + + I miei documenti + Visualizza i tuoi documenti + + + Apri + + + + + + + + + Esci + Chiudi la sessione corrente + + + Esci + + + + + ); +} diff --git a/app/(protected)/quality/_layout.tsx b/app/(protected)/quality/_layout.tsx new file mode 100644 index 0000000..7d4e489 --- /dev/null +++ b/app/(protected)/quality/_layout.tsx @@ -0,0 +1,10 @@ +import {Stack} from 'expo-router'; + +export default function QualityLayout() { + return ( + + + + + ); +} diff --git a/app/(protected)/quality/add.tsx b/app/(protected)/quality/add.tsx new file mode 100644 index 0000000..181e8e4 --- /dev/null +++ b/app/(protected)/quality/add.tsx @@ -0,0 +1,373 @@ +import { useAlert } from '@/components/AlertComponent'; +import { AppDatePicker } from '@/components/AppDatePicker'; +import GenericDropdown from '@/components/GenericDropdown'; +import FileAttachmentCard from '@/components/FileAttachmentCard'; +import api from '@/utils/api'; +import { formatDate, formatPickerDate } from '@/utils/dateTime'; +import { DateType } from 'react-native-ui-datepicker'; +import { useRouter } from 'expo-router'; +import { StatusBar } from 'expo-status-bar'; +import { Calendar, CheckSquare, ChevronLeft, Square } from 'lucide-react-native'; +import React, { useEffect, useState } from 'react'; +import { ActivityIndicator, KeyboardAvoidingView, Modal, Platform, ScrollView, Text, TextInput, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import * as DocumentPicker from 'expo-document-picker'; + +export default function AddQualityControlScreen() { + const router = useRouter(); + const alert = useAlert(); + + const [isSubmitting, setIsSubmitting] = useState(false); + const [showDatePicker, setShowDatePicker] = useState(false); + + // Form fields + const [date, setDate] = useState(new Date()); + const [subactivityId, setSubactivityId] = useState(null); + const [workType, setWorkType] = useState(null); + const [refDoc, setRefDoc] = useState(null); + const [controlType, setControlType] = useState(''); + const [instrument, setInstrument] = useState(null); + const [result, setResult] = useState(null); + + // Attachments + const [attachments, setAttachments] = useState([]); + + // Checkboxes + const [checkSegnaletica, setCheckSegnaletica] = useState(false); + const [checkSoggettiTerzi, setCheckSoggettiTerzi] = useState(false); + const [checkUtilizzoDPI, setCheckUtilizzoDPI] = useState(false); + const [checkControlloVisivo, setCheckControlloVisivo] = useState(false); + const [checkControlloDim, setCheckControlloDim] = useState(false); + const [checkConformita, setCheckConformita] = useState(false); + const [checkControlloFunz, setCheckControlloFunz] = useState(false); + + // Lists + const [subactivities, setSubactivities] = useState<{id: number | string, label: string}[]>([]); + const [workTypeList, setWorkTypeList] = useState<{id: number, label: string}[]>([]); + const [refDocList, setRefDocList] = useState<{id: number, label: string}[]>([]); + const [instrumentList, setInstrumentList] = useState<{id: number, label: string}[]>([]); + + const results = [ + { id: 1, label: 'Positivo' }, + { id: 0, label: 'Negativo' }, + ]; + + useEffect(() => { + loadData(); + }, []); + + const loadData = async () => { + try { + // Load Subactivities + const subRes = await api.get('/subactivity/get-subactivities'); + if (subRes.data?.success) { + const mappedSubs = subRes.data.subactivities.map((s: any) => ({ + id: s.id, + uuid: s.uuid, + label: s.label + })); + setSubactivities(mappedSubs); + } + + // Load Related Tables + const relRes = await api.get('/quality-control/get-related-tables'); + if (relRes.data?.success) { + setWorkTypeList(relRes.data.data.workType || []); + setRefDocList(relRes.data.data.refDocument || []); + setInstrumentList(relRes.data.data.instrument || []); + } + } catch (error) { + console.error('Errore nel caricamento dei dati iniziali:', error); + alert.showAlert('error', 'Errore', 'Impossibile caricare i dati per il form.'); + } + }; + + const pickDocument = async () => { + try { + const result = await DocumentPicker.getDocumentAsync({ + multiple: true, + copyToCacheDirectory: true, + }); + if (!result.canceled && result.assets) { + setAttachments(prev => [...prev, ...result.assets]); + } + } catch (error) { + console.error('Errore durante la selezione del documento:', error); + alert.showAlert('error', 'Errore', 'Impossibile selezionare il documento.'); + } + }; + + const removeAttachment = (index: number) => { + setAttachments(prev => prev.filter((_, i) => i !== index)); + }; + + const handleSave = async () => { + if (!subactivityId || !date || result === null) { + alert.showAlert('warning', 'Dati Mancanti', 'Compila tutti i campi obbligatori (Cantiere, Data, Esito).'); + return; + } + + setIsSubmitting(true); + try { + const formattedDate = formatPickerDate(date); + const selectedSub = subactivities.find(s => s.id === subactivityId) as any; + const payload = { + subactivity_uuid: selectedSub?.uuid, + id_subactivity: subactivityId, + subactivity_id: subactivityId, // just in case + id_work_type: workType, + date: formattedDate, + id_ref_document: refDoc, + control_type: controlType, + id_instrument: instrument, + result: result, + check_segnaletica: checkSegnaletica ? 1 : 0, + check_soggetti_terzi: checkSoggettiTerzi ? 1 : 0, + check_utilizzo_dpi: checkUtilizzoDPI ? 1 : 0, + check_controllo_visivo: checkControlloVisivo ? 1 : 0, + check_controllo_dim: checkControlloDim ? 1 : 0, + check_conformita: checkConformita ? 1 : 0, + check_controllo_funz: checkControlloFunz ? 1 : 0, + }; + + const response = await api.post('/quality-control/add', { post: JSON.stringify(payload) }); + if (response.data?.success) { + const qcId = response.data.id; + + // Upload attachments if present + if (attachments.length > 0) { + for (let i = 0; i < attachments.length; i++) { + const file = attachments[i]; + const formData = new FormData(); + + const fileName = file.name || `document_${i}`; + const fileType = file.mimeType || 'application/octet-stream'; + const fileUri = Platform.OS === 'android' ? file.uri : file.uri.replace('file://', ''); + + formData.append("files", { + name: fileName, + type: fileType, + uri: fileUri + } as any); + + formData.append('model_classname', 'QualityControl'); + formData.append('model_id', qcId); + formData.append('method', 'put'); + formData.append('name', fileName); + formData.append('type', fileType); + + await api.post('/quality-control/upload', formData, { + headers: { 'Content-Type': 'multipart/form-data' } + }); + } + } + + alert.showAlert('success', 'Salvato', 'Controllo di Qualità salvato con successo.'); + router.back(); + } else { + alert.showAlert('error', 'Errore', response.data?.message || 'Salvataggio non riuscito.'); + } + } catch (error) { + console.error('Errore durante il salvataggio:', error); + alert.showAlert('error', 'Errore', 'Impossibile completare il salvataggio.'); + } finally { + setIsSubmitting(false); + } + }; + + const CheckboxRow = ({ label, value, onChange }: { label: string, value: boolean, onChange: (v: boolean) => void }) => ( + onChange(!value)} + className="flex-row items-center bg-white border border-gray-100 rounded-xl px-4 py-4 mb-3 active:bg-gray-50 shadow-sm" + > + {value ? : } + {label} + + ); + + return ( + + + + {/* Header */} + + + + router.back()} className="p-2 -ml-2 rounded-full active:bg-gray-100"> + + + + + Nuovo Controllo + + + + + + + + {/* Date */} + Data * + setShowDatePicker(true)} + className="flex-row items-center bg-white border border-gray-200 rounded-2xl px-5 py-4 mb-6 active:bg-gray-50 shadow-sm" + > + + {date ? formatDate(formatPickerDate(date)) : 'Seleziona data...'} + + + + + {/* Subactivity / Cantiere */} + Cantiere * + + setSubactivityId(id as number)} + placeholder="Seleziona cantiere..." + searchPlaceholder="Cerca cantiere..." + /> + + + {/* Work Type */} + Tipologia Lavorazione + + + + + {/* Reference Document */} + Documento di Riferimento + + + + + {/* Control Type */} + Tipo di Controllo + + + + + {/* Instrument */} + Strumento Utilizzato + + + + + {/* Checkboxes */} + Checklist Controlli + + + + + + + + + {/* Result */} + Esito * + + + + + {/* Attachments Section */} + + + + Allegati ({attachments.length}) + + + Aggiungi + + + + + {attachments.map((file, index) => ( + removeAttachment(index)} + /> + ))} + {attachments.length === 0 && ( + + Nessun file allegato + + )} + + + + {/* Save Button */} + + {isSubmitting ? ( + + ) : ( + Salva + )} + + + + + {/* Date Picker Modal */} + + + + Seleziona Data + setDate(d.date || new Date())} + /> + setShowDatePicker(false)} + className="mt-6 w-full py-4 bg-[#1071C2] rounded-xl active:scale-[0.98]" + > + Conferma + + + + + + ); +} diff --git a/app/(protected)/quality/index.tsx b/app/(protected)/quality/index.tsx new file mode 100644 index 0000000..c6aac2d --- /dev/null +++ b/app/(protected)/quality/index.tsx @@ -0,0 +1,169 @@ +import { useAlert } from '@/components/AlertComponent'; +import FilterModal from '@/components/FilterModal'; +import LoadingScreen from '@/components/LoadingScreen'; +import QualityControlCard from '@/components/QualityControlCard'; +import { StatusBar } from 'expo-status-bar'; +import api from '@/utils/api'; +import { ClipboardCheck, Filter, Plus } from 'lucide-react-native'; +import React, { useCallback, useEffect, useState } from 'react'; +import { RefreshControl, ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { Place, QualityControlItem } from '@/types/types'; +import { useRouter, useFocusEffect } from 'expo-router'; + +export default function QualityControlScreen() { + const router = useRouter(); + const alert = useAlert(); + const [qualityControls, setQualityControls] = useState([]); + const [isLoading, setIsLoading] = useState(true); + const [refreshing, setRefreshing] = useState(false); + + // Filters state + const [isFilterVisible, setIsFilterVisible] = useState(false); + const [places, setPlaces] = useState([]); + const [filterRange, setFilterRange] = useState<{ startDate: string | null; endDate: string | null }>({ startDate: null, endDate: null }); + const [filterPlace, setFilterPlace] = useState(null); + + const activeFiltersCount = (filterRange.startDate ? 1 : 0) + (filterPlace ? 1 : 0); + + const fetchPlaces = async () => { + try { + const response = await api.get('/construction-site/get-construction-sites'); + if (response.data?.success) { + setPlaces(response.data.constructionSites || []); + } + } catch (error) { + console.error('Errore nel recupero dei cantieri:', error); + } + }; + + const fetchQualityControls = async (currentRange = filterRange, currentPlace = filterPlace, isSilent = false) => { + try { + if (!refreshing && !isSilent) setIsLoading(true); + + const rangeParam = currentRange.startDate ? currentRange : null; + // The API expects 'constructionSite' which is likely the ID. The filterPlace stores the ID or the Place object? + // According to PlaceFilter and InvoiceScreen, currentPlace is the selectedPlaceId. + const params = { range: rangeParam, constructionSite: currentPlace }; + const response = await api.post('/quality-control/list', { params }); + + if (response.data?.success) { + setQualityControls(response.data.result || []); + } + } catch (error) { + console.error('Errore nel recupero dei controlli qualità:', error); + alert.showAlert('error', 'Errore', 'Impossibile recuperare i dati. Riprova più tardi.'); + } finally { + setIsLoading(false); + setRefreshing(false); + } + }; + + useEffect(() => { + fetchPlaces(); + }, []); + + useFocusEffect( + useCallback(() => { + fetchQualityControls(filterRange, filterPlace, true); + }, [filterRange, filterPlace]) + ); + + const onRefresh = () => { + setRefreshing(true); + fetchQualityControls(); + }; + + if (isLoading && !refreshing) { + return ; + } + + return ( + + + + {/* Header */} + + + + Lista dei controlli di qualità + Controlli di Qualità + + + + + + + + + + } + > + + + {qualityControls.length === 0 ? ( + + Nessun controllo registrato + + ) : ( + + {qualityControls.map((item, index) => ( + + ))} + + )} + + + + + {/* FAB Add */} + router.push('/quality/add')} + className="absolute bottom-[6.5rem] right-6 w-16 h-16 bg-white border border-[#1071C2] rounded-full shadow-lg items-center justify-center active:scale-90" + > + + + + {/* FAB Filter */} + setIsFilterVisible(true)} + className="absolute bottom-8 right-6 w-16 h-16 bg-[#1071C2] rounded-full shadow-lg items-center justify-center active:scale-90" + > + + {activeFiltersCount > 0 && ( + + {activeFiltersCount} + + )} + + + + {/* Filter Modal */} + { + setFilterRange(range); + setFilterPlace(place); + setIsFilterVisible(false); + fetchQualityControls(range, place); + }} + onReset={() => { + setFilterRange({ startDate: null, endDate: null }); + setFilterPlace(null); + setIsFilterVisible(false); + fetchQualityControls({ startDate: null, endDate: null }, null); + }} + onClose={() => setIsFilterVisible(false)} + /> + + ); +} diff --git a/app/_layout.tsx b/app/_layout.tsx new file mode 100644 index 0000000..75c57c5 --- /dev/null +++ b/app/_layout.tsx @@ -0,0 +1,32 @@ +import '../global.css'; +import { AuthProvider } from '@/utils/authContext'; +import { Stack } from 'expo-router'; +import { AlertProvider } from '@/components/AlertComponent'; +import { NetworkProvider } from '@/utils/networkProvider'; +import { SafeAreaProvider } from 'react-native-safe-area-context'; +import { KeyboardProvider } from "react-native-keyboard-controller"; +import { GestureHandlerRootView } from "react-native-gesture-handler"; +import { ConfigProvider } from '@/utils/configProvider'; + +export default function AppLayout() { + return ( + + + + + + + + + + + + + + + + + + + ); +} diff --git a/app/login.tsx b/app/login.tsx new file mode 100644 index 0000000..1df9efe --- /dev/null +++ b/app/login.tsx @@ -0,0 +1,168 @@ +import { useAlert } from '@/components/AlertComponent'; +import api from '@/utils/api'; +import { AuthContext } from '@/utils/authContext'; +import { Eye, EyeOff, Lock, LogIn, User } from 'lucide-react-native'; +import { StatusBar } from 'expo-status-bar'; +import React, { useContext, useState } from 'react'; +import { Image, Platform, Text, TextInput, TouchableOpacity, View } from 'react-native'; +import { KeyboardAwareScrollView } from 'react-native-keyboard-controller'; + +export default function LoginScreen() { + const alert = useAlert(); + const authContext = useContext(AuthContext); + const [username, setUsername] = useState(''); + const [password, setPassword] = useState(''); + const [showPassword, setShowPassword] = useState(false); + const [isLoading, setIsLoading] = useState(false); + + // Login Handler function + const handleLogin = async () => { + if (!username || !password) { + alert.showAlert('error', 'Attenzione', 'Inserisci username e password'); + return; + } + setIsLoading(true); + + try { + username.trim(); + password.trim(); + + // Execute login request + const response = await api.post("/user/login", { + username: username, + password: password + }); + + if (response.data && response.data.success === false) { + alert.showAlert('error', 'Login Fallito', 'Credenziali non valide.'); + setIsLoading(false); + return; + } + + const token = response.data.auth_key; + const user = { + firstName: response.data.nome, + lastName: response.data.cognome, + email: response.data.email, + isAdmin: response.data.isAdmin + }; + + console.log("Login riuscito. Token:", token); + console.log("Dati utente:", user); + + // Pass token and user data to the context which will handle saving and redirect + authContext.logIn(token, user); + } catch (error: any) { + let message = "Si è verificato un errore durante l'accesso."; + + if (error.response) { + if (error.response.status === 401) { + message = "Credenziali non valide." + } else { + console.error("Login Error:", error); + message = `Errore Server: ${error.response.data.message || error.response.status}`; + } + } else if (error.request) { + // Server not reachable + console.error("Login Error:", error); + message = "Impossibile contattare il server. Controlla la connessione."; + } else { + console.error("Login Error:", error); + } + + alert.showAlert('error', "Login Fallito", message); + } finally { + setIsLoading(false); + } + }; + + return ( + + + {/* Header with Logo/Title */} + + + + + + + {/* Form Container */} + + + + + Accedi + + Inserisci le tue credenziali per accedere + + + + {/* Input Username */} + + + + + + + + {/* Input Password */} + + + + + setShowPassword(!showPassword)}> + {showPassword ? ( + + ) : ( + + )} + + + + + + + {/* Login Button */} + + + + {isLoading ? 'ACCESSO IN CORSO...' : 'LOGIN'} + + {!isLoading && } + + + + + + + ); +} \ No newline at end of file diff --git a/assets/images/adaptive-icon.png b/assets/images/adaptive-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a710fad7287e651c702667612714e161b7681377 GIT binary patch literal 124016 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�#;Cn=q?2`aI94W}iBSzO3g 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 literal 0 HcmV?d00001 diff --git a/assets/images/icon.png b/assets/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aa04698069587c8483653a558371a43fc52bd469 GIT binary patch literal 213172 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

&XAl~d{muecHX(LFV zRtsoDKXfaNK}|=2+?m*Rr*zFSy0n{*e*G4%ymT*DowzGDO25s;Ri~7!lSV8699y{5dtL-EJ@LX*R9!M4ZnF&+b&#fgys!-3d4{3|B7>?i^ zIRiNtx?BPgrrI*mhNf9YnDX&&-o*nCKF0fg_Hy2G<+(J@F;0;-gi=n-TkcafC&4>s zx%>dCc<~Ip2~9OQ@sd-Q+55g%bJi)l`S3Nja`)p0Sz6gmhewl9kHrNOZ`0fxP&N09 zl7EI;MP#EP)q+CAjrv-fh>O%KxyS4lLCS$dIC9B63M+6nTZ;3iVV@5&%=a>S%9rDfZKg_4D{Q=X#PBINK#{%4x7^d?`n)9(U zXsMJSHM&{oIVQ@K(JBV&%pndWn&~0VJ7vhfeCNx#cz0kqb_7v!*O|^ii3T~fpC+kP zjD{zR8a&Z3n6vB6Oc5(FrjSZ>zjclvLW^gVr@Z%N=OHoj+kf?C#$h)y95U&O#(B<` z>Lf)sy{ySaM)DXJFw1|ef3--eRVJ7w7!0=Y&}PS9fA%{}rkjN29dtcF>C7mk3PO6b zb~PU3TywWQ&m6(7H>QklTYM1cHaKI~HcnX^T8(zpqB$z&OrSjgaMEZyesld#OD|d6 z59+*_0|4fn|6{fKel9*)PBw=(#~m=Rvc6E#THwe1Y_{so)JQ$pI;vv(q7_Xu_|Cv{ zZxt^D9zHzgw)-DsLmFrrq!U};%YK$pE*fZcFD&bD@2yuhQTa>-?!|x>Ejj{i(~>qe zSZS5B_Ka8&1C^`UG@GHuDyrQluDZfM2?W@=wQ$R$ujWBc*+6#}xaqD3_{wefkyrPz zks5H0FtGFsX?#ibF;C7Mz68D2N_hrU=3y0qad_{D;|+W}WY{$5k;7bc$_l^vt`~FR z4qPmvHdV z5&q(u@3XSfa46Y&YnPJAxvswkIwa_g!Ws9^^{1#diKqj$AeLxEC7?dwR(5gw{rB?O zZ`{tMr@w^lA`F1gk8_wYub!qWrgg7z1+d73Ane(_n>ZQMh*bv4DvSn0Ha8B_V1T1@ z#t!b1mH3rpW5VSM$QKYBDd2N9@WM65W~e$0v}nom0#CN*ZaWD8JZIZ% z+5FKr*CTx9r<8I!sz4y(=u}AU3e67T2M^uPfBch=^1y?a^G|;EO78_!~{q*Yl%FVV`olL=pB=%+vf8!x0+e5m&X1PJdYA3aw1mxFH>m6kn*uj zJdxSGEf{HAKYYw&VN;ZH_41{Du>cT~$&yGYS)GZ>sFX5n!W2jHo^RcBKY#bRZ?ier zhZ`(2El9SymZ+UM`hw{<;HaKtuJmOJs!z7uX{_vy3b+vL^Eu(gNMtoakTmqUXeEZx zM=OriDri)nXI3j2WvW_~I_uU~#&*yj&orwb02x(>YADZLaR?*eiWgqQ)i>V9w1e!y zA4l)uSb~`L^c;@H47y_2=9FkXkd>w3kio#p9X&EmeEu8X<>7UqSzF^sOe7VgwKSew zA}ICPwe@-!s%W;_$w~k>MKoE&1tDw1bqN;_a_aJw5B%a)yy(;=T+DbUcr|f9skC+6 z!nl@d_CJ&8^A?;)D87S8f9_hs2vLFvIVtac)rCB?f5IPs`Z|t;A&w>RLsIPQF}h^q z$JLa8r|yVZWduj3Fl?9Dzj1`N8Q{XOP%uk5N1P9s7A$}j3*cXV8@iQU+C;?&$w+JJ5SE~=(%@g9fz8Nf@se&yYJB>-2LDq z_|X}RqiH7qR&o^wIUWO~x7Is*G6&68A=VNEFqVwfk)KXBIb-i$&OdX9rDn)X)V05_ zh3WC5>b+;H&Ai24+qTE-ooNSYMqR_Bl~E+!_EDb6>flCutG zZ&dbGO;@sxD(OpL5nXLS8xjzjAubDP{c(1ag&5*&RP#BC_ z>;kv2Agas&nRyKjTT87vmMy`N&GijNtGoEl47Lt|FAkC>*!!21G$I0L4%1iqef z2bAZO&5qXsPB>uu&h4~=2G<702~z6V+?b%7hwvLya!M$UwryDnjREFjl`|Y#N(N_A z%za-75!DW5KqrBeHf?>%Elyjyyh&Q!Ppei2G^uG+_>*O2p0n*F0PtLG{jPN)QOE^I z@d-cKixTxYP6hzfm`0Y8hw3~B$5V!GK)ZH2n`wpL|M<1sa>rx*(|5g=OU~ZLFl9y* z)qhcQCJOwnVlZj0lr0=hwwzfPEsyeTFWklXXTF_3{lvHV)HiSEz;uio?!dJpHm4B@ z0k6rb4PYW?PE39|N((fm8BkowN{Iha7_b(pE|ChEQ9%3BU(d*fnA^BYq~D3d`_Nx} zja)1^rxpC3i^?2z9SfcthSV}M-Rk?*z_PMDLQlmM`^}4xQ)V0!xgB!tT?hGtk9?Ww zU>AOQ57TJ^AMuSRCI`|K0W)K5I5j6*#Uik7&LHkD!HLoDQ$p1tIpSPr=zAwLgHRlG z6UfR^H{e;$^Hxm(=iCgnFPmyDwIwB&eHy#Ivn;|^`}oJ;`e>n^I;+iGBk6)L1< zbRsM3Q(se@WvP^yGN-jTr5^1|IoWuOXtuIw&ShFRVY?giPk#0#yy1e~47$Wh@D_>C zOmIz!fat;yuJcx&=?t#N6!1MYz8I%-hDcL%Jc1K^5?X~{d*h`%^w=Rjdi`Cnd?p(? zm-3(3*w##@C_!tbU_Zg791F<_R%&mmfe@DIoDgHVHdi2>LVH!UK7XR(kjFd+TGlL2 zN{QecI@#dNeJku3*!&1Z7r;`m3stl32Pf(OvsUKof+Gfm5DJyQ_r_4IY4?^^SHZM- z5I{?=ZJuNJSZTgliNBZ=lc`a*omBDJ8CX-k^dniWjxKNc#LvFMgME+mx#CKfGgEm`oETgvM%!A9L*5@vAeVC6cT?SXByrW`UIO8ae;;J)FLM zXkvtOjtJ|jT!AG|HDhh^)g(yP4yuHldh-@WT0KJ$%RaBF8X&JE*91{d(53g@wq z=4Sg+u|=vqfbFXev3z@HW#dew(b74G-64MI?U(Vk%THxRm614Ho{jlxO)kQgTVFrD z=H}MiV+Ts=dCGk`dhLpsI?h}T{HyoAn)@I5IJX>nn09#&o7jG)$v}`^Wknq`;hE!K zzU_@g7sm@K9!(v?(FmrieD{vq`TBPs~PqybyI|%?hhg-k&6ww_y){@spz2{>C z$F~d?qY?FMzS#e^;JK35s|YcScyu#yFfOsO{UWZp{Za1vy^r($x4w+GzVtlW&=$It zEo!q!iJHS!RDCN&*)y>Slsa4zp1eqCm;J7H{5%KwDT-B zV`J35w23&yYhxfnL7!#L$}orBgdNdpFjl<*+hm*Awzo87wgbB&fvyP6NFJxDO?qaRI^g;&z&w~9c_rc^(2j-k(tg5ay3ToGfc zhHDkXJnkLW<2r~r;?(24M{}gxJj|}OoeV~S$5B4}ty|e_cQI*JNZDC_u{S5#XrQIv zs`J0~ykc|9l>0qSJ*Y=Cf@T`8gvmi(bJiTI;E2LJ}KxR(G zkEG+v5bU#nMGEt#jCaHKNI5YSqe1Rz8-Dd2S8(_Kb-sD`<7l(X1f84_p4HVzr&eG6 z#4f4NH!gy#&XH&h^it3eK%GU-3ff}Ex{Y<0Wuar9sE_8yeb!762VKWVGH34zY!~oJ zi(%}T(SmBHDL;az@YB;4*8159bMUl zS6QtK2vEQ3Q5xqsbypqN7(-`n{rqWab5N53gqR*t_Qpi{%(rggkgPIkb`W($j3$QY z#M7m&U;Av|Eyt?54kf72+Y#yuxCMxXz2u+sS)gcOI)*Swm?x;hpr(xs<&_ zwnl#EjjJbUC+aL7`&0IA4Rm>DMoF4Z8G1*G%JX(D@vA@oGXB@U`aJhf_tUjINsLPW z7`UsF`ydvoY}H@c+H5;B+euSIvJw%38{tMf`REsJ;#Ds=n_W8`T}|iGviv%GCKY@? z(feNLPQ}vIvf{mR+EUBAU-f*J_MXG;)Aq1q=L)Cp-pQVALq;BkKnsNpHp|wpcUf1j zx=i`G_o`i-fUf+Dz!b=F!mbeU9W>6WMx1p1pS$fO0PqvidZF^8TAf_S$yq+0LcSA= za07@CYr-#(bXpd1C1sC>0TT_Rc8JrK9M}2nzqp25e((VQ{GG4lylsvlhQ`~bA^jo& z77Z3G6@Wr34`RmmAi;H4>>9O;8Bc>L=85L;)cW-3==Rf-l*W7Uc*?T^nU!|LNXxw1v1L%aQ zf_PW1+0hG@m-AFZRXYUnD6aaZiR+K>xA`ax%7@& zv11monZZPJcUS`xSy2xunh;rbj!a}aS?Am{m)O<_cRfDko8NnoNxO^9Y^gL}=X;?5 zGgZyIIvJv~C?BS}VPKrMIqeKEl-!XHALNYDlwW=8W$Yxg>|x+DF-JrK!G~gL=2=vA z9+3P|bo=~4`bX;K-jG^i!vKO}^f~G9s$9HtiJ!mf`F!uszJi3rMvlbnO|PJoTO^;j zVADb?=ghtGd278|a&TQ0{gfiCW*H=aKE=^l#!g`urOAX{t3yuTvqS(|k-`X)xp5^Y zegEUMc}xtfo1F7=i>~WGXM%w^`)E^lx;b)ih&GZ)=OVTc%c$fBIhj$A9rYQsWs=^lN}XDM6?PpgHZ(oXp-R%)V5E76r&OVN-`EAu_f#t}=8G zrXnN_BysqV8K%Utv;^mV0w&i#?shUc<0rkzlW(TSYG%}%!D;#5nMfjH!X74QqU4ys z1!TCwrZkL4s~ij~93JiFBj5TV|I-IQ#^-K+kWCuK8i+Yjv%6gu6XmHJL~vvmh-wPr zjq?m#VwfZQn#^VUmia&bi?{L5-}(}E#zz@WAEOlmBOJjL#x)~MaWcW@F(FTp5?z?( zmH!C36^@GjEV$247{PdwR=VEuo>c}ym+2K=S7&rKhcU;BA zyIa~02GXIaqji>FSUcU7sGu_cjGo0-B3smmq?$&-z-3(Sc+=%)@|G)~&tUvGBRV8o z4F`v__3Rl<{h6SprCWI$966WCpPzUtKb70WQcfI^vrgN|8GCjVN7B-C=5-|uZ2Zxj z_ouxH2HuIYy{&3m%y(j+F1Do|Rn0?7bi1d?I>fsob2o!+kA5`AjR^esS|4iM`nFiG z0A)N)99*9w%?QMklii!KB`TP5f)QR_{8`U#POMr~Hwe48tpX-?=Kdk65zj)?`Tw&q zsImy3{KD6Gc$|4W1!QTJ>>QhubrXea{S3t2GG=TuapRq0g|%7n&s=wv^y zzv4Wuyud0#tqJ&)aXK6G&-$3$(vF&QVxpBDf*&oD6_y+6N>>s4Cq3u9c2pmr5llSS8z|O=HLkz?eh#9H6%)M9CcdgVTQ9aky-#Lm_MaEq z`%Pmb;nRd2jj%0eTW8?#k2m|M7MHq>&B*HSnFez<@ zpr-HD=ENXIMzLds#9GR%sj>rD$uLsE%WS!LMz-?F_G4`)0f3)?W=QzV1+7bxlsrxm zL)GiXIvuu2vgP4sAIy3-*Wug+)?kGaGx+|i^-OMPWso*i~SQ2 z38*#%97BcOWZwJwi#UHZz~RSPZj26_yGRfl%TFXi`9#f;EoGuyt*RMNDRfM^nu$AV$NB~(k>;&<4OH1vuC3HIeJ>cv(}!#mMD52g5${M zg#8CM@qTC`V8sTh{iK@v*H6@{y(5&hDa+iNp2=B>F|xGe`Tw)`pHY@&*L^4W+xwh* z-+K{}8EGraTL4us1y2A3K!PAh5Cn}#iWDieL>Wr0ZmD|;agxOV0RR9=L_t)oF{{^_ zo|!dk&CG|H)%v8>PA#<=nc+~DMkGam1RY3%Bs@@XRVZ)MRN8Rw-FwcS5Br?^UPMM_ zWhM$$kx=ehSs5Ae;+k{MJ!kL#{_p?Zx3W|;fIR!JwT`=7*DKGIc$v+LPf~OvQtJKd zpje1JzqZAnKJ+lNW`!v&Nuy_U>%L+xIw?|hlFFY#%BXre-qN{xOe zHVMk_lAK$^BRd5IAtnl8}h5lv{l zJJ5Ci;(h1ajS_%8Z1vTz*}z3AZe6r<_SPSB@vI@*Sy-=jM>6w3-LirNm-FR9L&^g& z7_10tWzWU-M9y1avU&$kUO2`7@Ef1y%inyKzxL7h@Xk9{vA##m9c;5isP&R)q4W9v zoW->R8WhVj_DM@H;iGT6mHTe}2>;u!eTq+g?K#%+3Vl3)gfV>*qBN-VsDN5eP94%L zxj2y2yMFn$ngL9y!}~3msw<>g%9!flESk-mA7M3(dW&HZQZaa)1rnM-C&;YFDO$ zDM&k~WeQ+*7Va3JY)Fjcz9Xo&6f(aen01KExa+1Be)RnhayPIq_e_`}C^PZeYs2fV zC2Oh8yUIZ?bE3AVxw7B6)<9GSXTdcRV36k(A(^-ckic}-v9UQLj#?yz!gIJ%&<-C9 zilAHSJ^LSoJe_iAbw9V=e1y+^`J0@#F?}-zjWjiorv?*OrkXLZC<175=WrAwVK!wS z9Y6D-@8-@)V3e~v;ToX|rP;jo z!bVz0WK3*Y`rMPnRh+fd=wHp1>CocPJ3|yI&>(0jMem|YQE|1WfT5zLKGks>Sy_s- zxG`>;HEEzm~lAy%{&mx(*4-B#w}^<9y`%-oyh($1Gtq6*P!a){^Ss4H&*+HQq_hR7mwWn-`!rqT7S66FevBL zsy*!ps@DxEISHl^Vhh@Eq3>yyj&a@&@LOMfnrF}c9zXZNH}ZpTe=P?ijLZY{P&VgE zmnsR9q4z34%tjN8u?pwA#5<3Tx$Wn_kAL-vhxnC0e~3rUZZO(^JJV9Hg=V^LiUc8B zM^l`##ZI$+e^=&yEPkrevbK%?%T#ySr-TGwTn)vtE2~REnLYDUtNom6@0ffQLYlYP z$u<|V^A=N9`T`5FiC{CbrJ)|O$0^Lc`mweO-Sq1(tnvGwd5F(^?PO+|_`QPu=Wj8vJey~z9CaUbt_;2=w8w174ZIVj1Xl}dXr zaNNO=tI$?5OoLV znlG|+%#cMuR|+$SfmREY_Ku75;-&AOiZ_uMH^TmXZQ1N=9dOACZUc_LBf_O!?OO>- zDm}ku-UWZ3C1}C67Jzrl7wy~IFQojh1oX8PqhrhEKbdO)*uq3rY#|u2`LSLR^ZT2x zN+o@4C1-3tLti*~maR@m0v2i#qJk9*_j4Jm_wDUu4T?B!t-rR)qRE-bxM9?KJ6UH{ z%}dN)YBFC}^IRC_M#hsq9o|XiQ(yWfPn_B!99?CrOH?uEZTp1mvij|4qhnSZkz~5r zln?`HmY~nvad4Rry!B=dMVRDFM7=|v=HVDM=w8%Ed3n+=S8t2z^NJF2K}jj1#EKHL zaoei$!S8xKU;huEBjpvM?xRbMcVxW~glgSej}mR&-D#-EusAQLWZ8h`es zuk#}hzK<1LBwNLGj=VK611Nh%_vlwK-@`Lr*4G<-9I=(XJGbJ=zDXRB^VCZZtTvu; zac&`#ZHh$L%staE=EWKO@u$DS=N^8HC(c~p>@1OpXjTp`FLBS&{k-G;+xg&I?_(8c zdSe_sMsc817rH^*u)SzE0DwJgPMclqy=$dMsiTm z7U8dK=9#yJUagpe3c2er>se_U`efV^g}?RD2f6=&+xf@8`bi#s;S|U!ecVq9BWMC$ zKc#5`Hk+b3Q{_wQ!eh*xxXan4`~@GOm(N|OzDdR~@tW|8oDSD3V7aKkyG-mHAeNf( zFMgFd(r;o;XO3P{oO?sFZ+H>{goxs*t?R(4sqxtHb9~}cpXJkEe~#zR&Dhj2dF4(v zYyx>gS9%8rOAg{#CZqHsoaA|~1uq_o0kkWijCscmo1Nk4r02UHILxh0D58@t z^5>b&svkVBZ(Mvgza38a0Fv%)I4xXj@jUz*{m8?#rsU@Qkm1oQAG3X-1=&m2vCio(iBK^_e<#+TG9Vr6TZJ zbZ@Qr!AP_}_V zuhdvb0gdWiE(G+ZWcBj2XOF)~Z;`Bl9Q37!;u4l64{w7O|HDks=tx7(JtB!118rpJ zJhQFk;x*jmUNrY#%KQ)^=j6h&ZOb>FJIhy}JWW47L`OsJjbnYCk*jj{X_10Us z?a)DvE-Qz}%1tXRk{zCi1$d*51pN1)~ju2Z}#5~)i1G`X=5^s5pYKTrx%qGMT=%+J8pl!yS zo^H~Pjv%(g|MuIT<162MlE40A@8#Y19AcCkayCd)-#|zRv512e8evLk3V zM7iI4??G<*n?J(8`@OI5iO)R6@vWXTIlxv{L|bx(ws^R*`*M6GgFfVLYHe1vn#h>f zcwW;97FYxsAq-(r2ujnm{ygfQY?+*#GOmR_F4@N_mpaIxuBFhI=Wmj|^-6TtF)|?o zQ-jUkIJ-6DvE%D}^~vY>gHJ!i6E9xif{odf5%Iun%yMAXH<*l=_J%~~QJtpXHQkgAkfXubCuP0wd-n zDrL%EMOkzi%lZZLAbapv%2TM$&璼xh21iOA$pmXgY#My-tB*0wEjb&>s#Y(% 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