diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index b7ed837..0000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "recommendations": ["expo.vscode-expo-tools"] }
diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index e2798e4..0000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "editor.codeActionsOnSave": {
- "source.fixAll": "explicit",
- "source.organizeImports": "explicit",
- "source.sortMembers": "explicit"
- }
-}
diff --git a/app.json b/app.json
index 8872672..83d493c 100644
--- a/app.json
+++ b/app.json
@@ -1,7 +1,7 @@
{
"expo": {
"name": "Mariani",
- "slug": "mariani-app",
+ "slug": "mariani_app",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/images/mariani-icon.png",
@@ -25,7 +25,7 @@
"android.permission.CAMERA",
"android.permission.RECORD_AUDIO"
],
- "package": "com.pcrt.mariani-app"
+ "package": "com.pcrt.mariani_app"
},
"web": {
"output": "static",
diff --git a/app/(protected)/_layout.tsx b/app/(protected)/_layout.tsx
index 42115c5..766bedb 100644
--- a/app/(protected)/_layout.tsx
+++ b/app/(protected)/_layout.tsx
@@ -2,12 +2,12 @@ import { Redirect, Tabs } from 'expo-router';
import { Home, Clock, Zap, CalendarIcon, Building } from 'lucide-react-native';
import { useContext } from 'react';
import { AuthContext } from '@/utils/authContext';
-import { useSafeAreaInsets } from 'react-native-safe-area-context';
+import {useSafeAreaInsets} from "react-native-safe-area-context";
export default function ProtectedLayout() {
const authState = useContext(AuthContext);
const insets = useSafeAreaInsets();
-
+
if (!authState.isReady) {
return null;
}
@@ -24,7 +24,7 @@ export default function ProtectedLayout() {
backgroundColor: '#ffffff',
borderTopWidth: 1,
borderTopColor: '#f3f4f6',
- height: 90,
+ height: 70 + insets.bottom,
paddingBottom: insets.bottom,
paddingTop: 10,
paddingHorizontal: 10,
@@ -43,28 +43,28 @@ export default function ProtectedLayout() {
name="index"
options={{
title: 'Home',
- tabBarIcon: ({ color, size }) => ,
+ tabBarIcon: ({ color, size }) => ,
}}
/>
,
+ tabBarIcon: ({ color, size }) => ,
}}
/>
,
+ tabBarIcon: ({ color, size }) => ,
}}
/>
,
+ tabBarIcon: ({ color, size }) => ,
}}
/>
{/* // TODO: Probably needs to be restricted to admin */}
@@ -72,7 +72,7 @@ export default function ProtectedLayout() {
name="automation"
options={{
title: 'Domotica',
- tabBarIcon: ({ color, size }) => ,
+ tabBarIcon: ({ color, size }) => ,
}}
/>
{/* TODO: Should be removed - move tabs inside (tabs) and refactor _layout */}
@@ -85,4 +85,4 @@ export default function ProtectedLayout() {
/>
);
-}
\ No newline at end of file
+}
diff --git a/app/(protected)/attendance/index.tsx b/app/(protected)/attendance/index.tsx
index 61d02b4..bb8b17c 100644
--- a/app/(protected)/attendance/index.tsx
+++ b/app/(protected)/attendance/index.tsx
@@ -139,7 +139,7 @@ export default function AttendanceScreen() {
{lastScan ? (
-
+
- {scannerType === 'qr' ? : }
+ {scannerType === 'qr' ? : }
Scansiona Codice
diff --git a/app/(protected)/automation/[id].tsx b/app/(protected)/automation/[id].tsx
index 5fcf963..002cb8c 100644
--- a/app/(protected)/automation/[id].tsx
+++ b/app/(protected)/automation/[id].tsx
@@ -84,7 +84,7 @@ export default function AutomationDetailScreen() {
if (!area) {
return (
-
+
Area non trovata
L'area che stai cercando non esiste o è stata rimossa.
router.back()} className="mt-4 bg-[#099499] px-6 py-3 rounded-xl active:scale-95">
@@ -101,7 +101,7 @@ export default function AutomationDetailScreen() {
router.back()} className='rounded-full active:bg-gray-100'>
-
+
{area.name}
@@ -122,7 +122,7 @@ export default function AutomationDetailScreen() {
) : (
-
+
Nessun dispositivo
Non ci sono dispositivi in quest'area.
diff --git a/app/(protected)/automation/index.tsx b/app/(protected)/automation/index.tsx
index 86a30a0..923ca8d 100644
--- a/app/(protected)/automation/index.tsx
+++ b/app/(protected)/automation/index.tsx
@@ -95,7 +95,7 @@ export default function AutomationScreen() {
contentContainerClassName="flex-grow items-center justify-center pb-[100px]"
refreshControl={}
>
-
+
Errore di connessione
{connectionStatus.message}
@@ -162,7 +162,7 @@ export default function AutomationScreen() {
>
-
+
) : (
-
+
Nessuna area trovata
{`Nessuna area per il piano "${selectedFloor}"`}
diff --git a/app/(protected)/index.tsx b/app/(protected)/index.tsx
index 9829d20..9028ac9 100644
--- a/app/(protected)/index.tsx
+++ b/app/(protected)/index.tsx
@@ -79,7 +79,7 @@ export default function HomeScreen() {
router.push('/profile')}>
-
+
@@ -104,7 +104,7 @@ export default function HomeScreen() {
>
-
+
Presenza incompleta
@@ -123,7 +123,7 @@ export default function HomeScreen() {
className="flex-1 bg-white p-6 rounded-3xl shadow-sm items-center justify-center gap-4 border border-gray-100 active:scale-[0.98]"
>
-
+
Nuova Presenza
@@ -133,7 +133,7 @@ export default function HomeScreen() {
className="flex-1 bg-white p-6 rounded-3xl shadow-sm items-center justify-center gap-4 border border-gray-100 active:scale-[0.98]"
>
-
+
Gestisci Permessi
@@ -159,7 +159,7 @@ export default function HomeScreen() {
{/* Icon */}
-
+
{/* Title and Subtitle */}
@@ -206,4 +206,4 @@ export default function HomeScreen() {
);
-}
\ No newline at end of file
+}
diff --git a/app/(protected)/permits/index.tsx b/app/(protected)/permits/index.tsx
index a697f94..58d6851 100644
--- a/app/(protected)/permits/index.tsx
+++ b/app/(protected)/permits/index.tsx
@@ -12,10 +12,10 @@ import { SafeAreaView } from 'react-native-safe-area-context';
// Icon Mapping
const typeIcons: Record JSX.Element> = {
- Ferie: (color) => ,
- Permesso: (color) => ,
- Malattia: (color) => ,
- Assenza: (color) => ,
+ Ferie: (color) => ,
+ Permesso: (color) => ,
+ Malattia: (color) => ,
+ Assenza: (color) => ,
};
export default function PermitsScreen() {
@@ -155,7 +155,7 @@ export default function PermitsScreen() {
onPress={() => setShowModal(true)}
className="absolute bottom-8 right-6 w-16 h-16 bg-[#099499] rounded-full shadow-lg items-center justify-center active:scale-90"
>
-
+
);
diff --git a/app/(protected)/profile/documents.tsx b/app/(protected)/profile/documents.tsx
index 8b32c3c..bcad902 100644
--- a/app/(protected)/profile/documents.tsx
+++ b/app/(protected)/profile/documents.tsx
@@ -110,7 +110,7 @@ export default function DocumentsScreen() {
router.back()} className="p-2 rounded-full active:bg-gray-100">
-
+
Documenti
@@ -126,7 +126,7 @@ export default function DocumentsScreen() {
{/* Search Bar */}
-
+
setShowRangePicker(true)}
className={`p-4 bg-white rounded-2xl shadow-sm border ${range.startDate ? 'border-[#099499]' : 'border-gray-200'}`}
>
-
+
@@ -166,12 +166,12 @@ export default function DocumentsScreen() {
-
+
{doc.title}
-
+
{formatTimestamp(doc.updated_at)}
@@ -179,7 +179,7 @@ export default function DocumentsScreen() {
downloadAndShareDocument(doc.mimetype, doc.title, doc.url)}
className="p-4 bg-gray-50 rounded-2xl active:bg-gray-100">
-
+
))}
@@ -195,7 +195,7 @@ export default function DocumentsScreen() {
onPress={() => setShowUploadModal(true)}
className="absolute bottom-8 right-6 w-16 h-16 bg-[#099499] rounded-full shadow-lg items-center justify-center active:scale-90"
>
-
+
{/* Document Upload Modal */}
diff --git a/app/(protected)/profile/index.tsx b/app/(protected)/profile/index.tsx
index 159eab2..04d6147 100644
--- a/app/(protected)/profile/index.tsx
+++ b/app/(protected)/profile/index.tsx
@@ -22,7 +22,7 @@ export default function ProfileScreen() {
router.back()}
>
-
+
@@ -50,7 +50,7 @@ export default function ProfileScreen() {
-
+
Email
@@ -60,7 +60,7 @@ export default function ProfileScreen() {
-
+
Ruolo
@@ -77,7 +77,7 @@ export default function ProfileScreen() {
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
@@ -104,7 +104,7 @@ export default function ProfileScreen() {
-
+
Esci
@@ -117,4 +117,4 @@ export default function ProfileScreen() {
);
-}
\ No newline at end of file
+}
diff --git a/app/(protected)/sites/[id].tsx b/app/(protected)/sites/[id].tsx
index b78b0f3..bd0a1f3 100644
--- a/app/(protected)/sites/[id].tsx
+++ b/app/(protected)/sites/[id].tsx
@@ -135,7 +135,7 @@ export default function SiteDocumentsScreen() {
router.back()} className="p-2 -ml-2 rounded-full active:bg-gray-100">
-
+
@@ -168,7 +168,7 @@ export default function SiteDocumentsScreen() {
-
+
setShowRangePicker(true)}
className={`p-4 bg-white rounded-2xl shadow-sm border ${range.startDate ? 'border-[#099499]' : 'border-gray-200'}`}
>
-
+
@@ -206,7 +206,7 @@ export default function SiteDocumentsScreen() {
-
+
{doc.title}
@@ -216,7 +216,7 @@ export default function SiteDocumentsScreen() {
handleDownloadAndShare(doc.mimetype, doc.title, doc.url)}
className="p-4 bg-gray-50 rounded-2xl active:bg-gray-100">
-
+
))}
@@ -232,7 +232,7 @@ export default function SiteDocumentsScreen() {
onPress={() => setShowUploadModal(true)}
className="absolute bottom-8 right-6 w-16 h-16 bg-[#099499] rounded-full shadow-lg items-center justify-center active:scale-90"
>
-
+
{/* Upload Document Modal */}
diff --git a/app/(protected)/sites/index.tsx b/app/(protected)/sites/index.tsx
index d6ed88e..61f926c 100644
--- a/app/(protected)/sites/index.tsx
+++ b/app/(protected)/sites/index.tsx
@@ -66,7 +66,7 @@ export default function SitesScreen() {
{/* Search Bar */}
-
+
-
+
{site.code}
{site.name}
-
+
{site.attachments_count} Documenti disponibili
@@ -113,7 +113,7 @@ export default function SitesScreen() {
-
+
))}
diff --git a/app/login.tsx b/app/login.tsx
index da19543..2e1a225 100644
--- a/app/login.tsx
+++ b/app/login.tsx
@@ -85,7 +85,7 @@ export default function LoginScreen() {
Username o Email
-
+
Password
-
+
setShowPassword(!showPassword)}>
{showPassword ? (
-
+
) : (
-
+
)}
@@ -135,7 +135,7 @@ export default function LoginScreen() {
{isLoading ? 'Accesso in corso...' : 'Accedi'}
- {!isLoading && }
+ {!isLoading && }
diff --git a/components/AddDocumentModal.tsx b/components/AddDocumentModal.tsx
index 7fca5d9..2e658ed 100644
--- a/components/AddDocumentModal.tsx
+++ b/components/AddDocumentModal.tsx
@@ -88,7 +88,7 @@ export default function AddDocumentModal({ visible, onClose, onUpload, isUploadi
Carica Documento
-
+
@@ -100,7 +100,7 @@ export default function AddDocumentModal({ visible, onClose, onUpload, isUploadi
className="h-64 border-2 border-dashed border-gray-300 rounded-2xl items-center justify-center bg-gray-50 active:bg-gray-100"
>
-
+
Tocca per selezionare un file
PDF, Immagini, Word
@@ -109,7 +109,7 @@ export default function AddDocumentModal({ visible, onClose, onUpload, isUploadi
// Selected File View
-
+
@@ -120,7 +120,7 @@ export default function AddDocumentModal({ visible, onClose, onUpload, isUploadi
-
+
)}
@@ -163,7 +163,7 @@ export default function AddDocumentModal({ visible, onClose, onUpload, isUploadi
) : (
<>
-
+
Carica
>
)}
diff --git a/components/AlertComponent.tsx b/components/AlertComponent.tsx
index 6420efd..4cf3a10 100644
--- a/components/AlertComponent.tsx
+++ b/components/AlertComponent.tsx
@@ -81,7 +81,7 @@ export const AlertProvider = ({ children }: { children: ReactNode }) => {
{/* Icon Circle */}
-
+
{/* Texts */}
diff --git a/components/AppDatePicker.tsx b/components/AppDatePicker.tsx
index 658a726..7813aad 100644
--- a/components/AppDatePicker.tsx
+++ b/components/AppDatePicker.tsx
@@ -12,8 +12,8 @@ export const AppDatePicker = (props: AppDatePickerProps) => {
{...props}
locale="it"
components={{
- IconPrev: ,
- IconNext: ,
+ IconPrev: ,
+ IconNext: ,
...props.components,
}}
styles={{
diff --git a/components/CalendarWidget.tsx b/components/CalendarWidget.tsx
index 400f4a5..572cc0e 100644
--- a/components/CalendarWidget.tsx
+++ b/components/CalendarWidget.tsx
@@ -57,7 +57,7 @@ export default function CalendarWidget({ events, types, onMonthChange }: Calenda
onPress={() => changeMonth(-1)}
className="p-2 bg-gray-50 rounded-full"
>
-
+
{currentDate.toLocaleString('it-IT', { month: 'long', year: 'numeric' })}
@@ -66,7 +66,7 @@ export default function CalendarWidget({ events, types, onMonthChange }: Calenda
onPress={() => changeMonth(1)}
className="p-2 bg-gray-50 rounded-full"
>
-
+
diff --git a/components/DeviceCard.tsx b/components/DeviceCard.tsx
index bd20096..c523a09 100644
--- a/components/DeviceCard.tsx
+++ b/components/DeviceCard.tsx
@@ -10,21 +10,21 @@ const DeviceCard = ({ device, onToggle }: { device: HaEntity; onToggle: (entityI
switch (domain) {
case 'light':
- return ;
+ return ;
case 'switch':
- return ;
+ return ;
case 'sensor':
- return ;
+ return ;
case 'lock':
- return ;
+ return ;
case 'fan':
- return ;
+ return ;
case 'camera':
- return ;
+ return ;
case 'weather':
- return ;
+ return ;
default:
- return ;
+ return ;
}
};
diff --git a/components/NfcScanModal.tsx b/components/NfcScanModal.tsx
index 2493644..e717b2d 100644
--- a/components/NfcScanModal.tsx
+++ b/components/NfcScanModal.tsx
@@ -112,7 +112,7 @@ export default function NfcScanModal({ visible, onClose, onScan }: NfcScanModalP
onPress={onClose}
className="absolute top-6 right-6 z-10 p-2 bg-gray-50 rounded-full"
>
-
+
{/* NFC Animated Area */}
@@ -132,7 +132,7 @@ export default function NfcScanModal({ visible, onClose, onScan }: NfcScanModalP
{/* Fixed Circle (Foreground) */}
-
+
@@ -147,7 +147,7 @@ export default function NfcScanModal({ visible, onClose, onScan }: NfcScanModalP
{/* Indicator (Wave Simulation) */}
-
+
Ricerca in corso...
diff --git a/components/OfflineScreen.tsx b/components/OfflineScreen.tsx
index b59b02f..d532859 100644
--- a/components/OfflineScreen.tsx
+++ b/components/OfflineScreen.tsx
@@ -14,7 +14,7 @@ export default function OfflineScreen({ onRetry, isRetrying = false }: OfflineSc
{/* Icon */}
-
+
diff --git a/components/QrScanModal.tsx b/components/QrScanModal.tsx
index 2175720..7cd31a8 100644
--- a/components/QrScanModal.tsx
+++ b/components/QrScanModal.tsx
@@ -80,14 +80,14 @@ export default function QrScanModal({ visible, onClose, onScan }: QrScanModalPro
{/* Animated Scan Line or Icon */}
- {!scanned && }
+ {!scanned && }
{/* Footer Overlay */}
-
+
Chiudi
diff --git a/components/RangePickerModal.tsx b/components/RangePickerModal.tsx
index b5b0b9d..a50b809 100644
--- a/components/RangePickerModal.tsx
+++ b/components/RangePickerModal.tsx
@@ -28,7 +28,7 @@ export const RangePickerModal = ({ visible, onClose, onApply }: any) => {
Seleziona Periodo
-
+
@@ -49,7 +49,7 @@ export const RangePickerModal = ({ visible, onClose, onApply }: any) => {
}}
className="mt-6 bg-[#099499] rounded-xl py-4 flex-row justify-center items-center active:bg-[#077d82]"
>
-
+
Applica Filtro
Nuova Richiesta
-
+
diff --git a/components/TimePickerModal.tsx b/components/TimePickerModal.tsx
index 053c7fd..6c64db9 100644
--- a/components/TimePickerModal.tsx
+++ b/components/TimePickerModal.tsx
@@ -40,7 +40,7 @@ export const TimePickerModal = ({ visible, initialDate, title, onConfirm, onClos
{title}
-
+
diff --git a/package-lock.json b/package-lock.json
index eab68c1..b453554 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -33,7 +33,7 @@
"expo-symbols": "~1.0.7",
"expo-system-ui": "~6.0.8",
"expo-web-browser": "~15.0.9",
- "lucide-react-native": "^0.555.0",
+ "lucide-react-native": "^0.563.0",
"nativewind": "^4.2.1",
"prettier-plugin-tailwindcss": "^0.5.14",
"react": "19.1.0",
@@ -111,7 +111,6 @@
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/code-frame": "^7.27.1",
"@babel/generator": "^7.28.5",
@@ -1493,7 +1492,6 @@
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
"integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=6.9.0"
}
@@ -3166,7 +3164,6 @@
"resolved": "https://registry.npmjs.org/@react-navigation/native/-/native-7.1.25.tgz",
"integrity": "sha512-zQeWK9txDePWbYfqTs0C6jeRdJTm/7VhQtW/1IbJNDi9/rFIRzZule8bdQPAnf8QWUsNujRmi1J9OG/hhfbalg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@react-navigation/core": "^7.13.6",
"escape-string-regexp": "^4.0.0",
@@ -3365,7 +3362,6 @@
"integrity": "sha512-Qec1E3mhALmaspIrhWt9jkQMNdw6bReVu64mjvhbhq2NFPftLPVr+l1SZgmw/66WwBNpDh7ao5AT6gF5v41PFA==",
"devOptional": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"csstype": "^3.0.2"
}
@@ -3436,7 +3432,6 @@
"integrity": "sha512-N9lBGA9o9aqb1hVMc9hzySbhKibHmB+N3IpoShyV6HyQYRGIhlrO5rQgttypi+yEeKsKI4idxC8Jw6gXKD4THA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.49.0",
"@typescript-eslint/types": "8.49.0",
@@ -3998,7 +3993,6 @@
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
"license": "MIT",
- "peer": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -4661,7 +4655,8 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
"integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "license": "ISC"
+ "license": "ISC",
+ "peer": true
},
"node_modules/bplist-creator": {
"version": "0.1.0",
@@ -4725,7 +4720,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759",
@@ -5286,6 +5280,7 @@
"resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
"integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"boolbase": "^1.0.0",
"css-what": "^6.1.0",
@@ -5302,6 +5297,7 @@
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
"integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"mdn-data": "2.0.14",
"source-map": "^0.6.1"
@@ -5315,6 +5311,7 @@
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"license": "BSD-3-Clause",
+ "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -5324,6 +5321,7 @@
"resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
"integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
"license": "BSD-2-Clause",
+ "peer": true,
"engines": {
"node": ">= 6"
},
@@ -5591,6 +5589,7 @@
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
"integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
"license": "MIT",
+ "peer": true,
"dependencies": {
"domelementtype": "^2.3.0",
"domhandler": "^5.0.2",
@@ -5610,13 +5609,15 @@
"url": "https://github.com/sponsors/fb55"
}
],
- "license": "BSD-2-Clause"
+ "license": "BSD-2-Clause",
+ "peer": true
},
"node_modules/domhandler": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
"integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"domelementtype": "^2.3.0"
},
@@ -5632,6 +5633,7 @@
"resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
"integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"dom-serializer": "^2.0.0",
"domelementtype": "^2.3.0",
@@ -5714,6 +5716,7 @@
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"license": "BSD-2-Clause",
+ "peer": true,
"engines": {
"node": ">=0.12"
},
@@ -5945,7 +5948,6 @@
"integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.8.0",
"@eslint-community/regexpp": "^4.12.1",
@@ -6142,7 +6144,6 @@
"integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==",
"dev": true,
"license": "MIT",
- "peer": true,
"dependencies": {
"@rtsao/scc": "^1.1.0",
"array-includes": "^3.1.9",
@@ -6381,7 +6382,6 @@
"resolved": "https://registry.npmjs.org/expo/-/expo-54.0.27.tgz",
"integrity": "sha512-50BcJs8eqGwRiMUoWwphkRGYtKFS2bBnemxLzy0lrGVA1E6F4Q7L5h3WT6w1ehEZybtOVkfJu4Z6GWo2IJcpEA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/runtime": "^7.20.0",
"@expo/cli": "54.0.18",
@@ -6469,7 +6469,6 @@
"resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.11.tgz",
"integrity": "sha512-xnfrfZ7lHjb+03skhmDSYeFF7OU2K3Xn/lAeP+7RhkV2xp2f5RCKtOUYajCnYeZesvMrsUxOsbGOP2JXSOH3NA==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@expo/config": "~12.0.11",
"@expo/env": "~2.0.8"
@@ -6576,7 +6575,6 @@
"resolved": "https://registry.npmjs.org/expo-font/-/expo-font-14.0.10.tgz",
"integrity": "sha512-UqyNaaLKRpj4pKAP4HZSLnuDQqueaO5tB1c/NWu5vh1/LF9ulItyyg2kF/IpeOp0DeOLk0GY0HrIXaKUMrwB+Q==",
"license": "MIT",
- "peer": true,
"dependencies": {
"fontfaceobserver": "^2.1.0"
},
@@ -8854,7 +8852,6 @@
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz",
"integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==",
"license": "MIT",
- "peer": true,
"bin": {
"jiti": "bin/jiti.js"
}
@@ -9432,9 +9429,9 @@
}
},
"node_modules/lucide-react-native": {
- "version": "0.555.0",
- "resolved": "https://registry.npmjs.org/lucide-react-native/-/lucide-react-native-0.555.0.tgz",
- "integrity": "sha512-AXEUJdu6e572a2ompVcX/yZDW9z3sulIcVFSdE+sIZltqlw2ltGwtvQ7ODjotn4jh+EXsNfPASCxCd4G8wuF4A==",
+ "version": "0.563.0",
+ "resolved": "https://registry.npmjs.org/lucide-react-native/-/lucide-react-native-0.563.0.tgz",
+ "integrity": "sha512-q4tYoAMorTqv+UXRYc0MyiEAOF+4Bu73zxD63EDrnGCFL+xuj+imBm3E2rIKRmME0heVHlK+98fsi8wbL92LNQ==",
"license": "ISC",
"peerDependencies": {
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0",
@@ -9470,7 +9467,8 @@
"version": "2.0.14",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
"integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
- "license": "CC0-1.0"
+ "license": "CC0-1.0",
+ "peer": true
},
"node_modules/memoize-one": {
"version": "5.2.1",
@@ -10085,6 +10083,7 @@
"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
"integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
"license": "BSD-2-Clause",
+ "peer": true,
"dependencies": {
"boolbase": "^1.0.0"
},
@@ -10663,7 +10662,6 @@
}
],
"license": "MIT",
- "peer": true,
"dependencies": {
"nanoid": "^3.3.7",
"picocolors": "^1.1.1",
@@ -11112,7 +11110,6 @@
"resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
"integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -11132,7 +11129,6 @@
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
"integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
"license": "MIT",
- "peer": true,
"dependencies": {
"scheduler": "^0.26.0"
},
@@ -11169,7 +11165,6 @@
"resolved": "https://registry.npmjs.org/react-native/-/react-native-0.81.5.tgz",
"integrity": "sha512-1w+/oSjEXZjMqsIvmkCRsOc8UBYv163bTWKTI8+1mxztvQPhCRYGTvZ/PL1w16xXHneIj/SLGfxWg2GWN2uexw==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@jest/create-cache-key-function": "^29.7.0",
"@react-native/assets-registry": "0.81.5",
@@ -11510,7 +11505,6 @@
"resolved": "https://registry.npmjs.org/react-native-gesture-handler/-/react-native-gesture-handler-2.28.0.tgz",
"integrity": "sha512-0msfJ1vRxXKVgTgvL+1ZOoYw3/0z1R+Ked0+udoJhyplC2jbVKIJ8Z1bzWdpQRCV3QcQ87Op0zJVE5DhKK2A0A==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@egjs/hammerjs": "^2.0.17",
"hoist-non-react-statics": "^3.3.0",
@@ -11564,7 +11558,6 @@
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-4.1.6.tgz",
"integrity": "sha512-F+ZJBYiok/6Jzp1re75F/9aLzkgoQCOh4yxrnwATa8392RvM3kx+fiXXFvwcgE59v48lMwd9q0nzF1oJLXpfxQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"react-native-is-edge-to-edge": "^1.2.1",
"semver": "7.7.2"
@@ -11593,7 +11586,6 @@
"resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-5.6.2.tgz",
"integrity": "sha512-4XGqMNj5qjUTYywJqpdWZ9IG8jgkS3h06sfVjfw5yZQZfWnRFXczi0GnYyFyCc2EBps/qFmoCH8fez//WumdVg==",
"license": "MIT",
- "peer": true,
"peerDependencies": {
"react": "*",
"react-native": "*"
@@ -11604,7 +11596,6 @@
"resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-4.16.0.tgz",
"integrity": "sha512-yIAyh7F/9uWkOzCi1/2FqvNvK6Wb9Y1+Kzn16SuGfN9YFJDTbwlzGRvePCNTOX0recpLQF3kc2FmvMUhyTCH1Q==",
"license": "MIT",
- "peer": true,
"dependencies": {
"react-freeze": "^1.0.0",
"react-native-is-edge-to-edge": "^1.2.1",
@@ -11656,7 +11647,6 @@
"resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.21.2.tgz",
"integrity": "sha512-SO2t9/17zM4iEnFvlu2DA9jqNbzNhoUP+AItkoCOyFmDMOhUnBBznBDCYN92fGdfAkfQlWzPoez6+zLxFNsZEg==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@babel/runtime": "^7.18.6",
"@react-native/normalize-colors": "^0.74.1",
@@ -11799,7 +11789,6 @@
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz",
"integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=0.10.0"
}
@@ -12997,7 +12986,6 @@
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz",
"integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==",
"license": "MIT",
- "peer": true,
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
"arg": "^5.0.2",
@@ -13204,7 +13192,6 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"license": "MIT",
- "peer": true,
"engines": {
"node": ">=12"
},
@@ -13411,7 +13398,6 @@
"integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true,
"license": "Apache-2.0",
- "peer": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
diff --git a/package.json b/package.json
index 6245914..753025e 100644
--- a/package.json
+++ b/package.json
@@ -36,7 +36,7 @@
"expo-symbols": "~1.0.7",
"expo-system-ui": "~6.0.8",
"expo-web-browser": "~15.0.9",
- "lucide-react-native": "^0.555.0",
+ "lucide-react-native": "^0.563.0",
"nativewind": "^4.2.1",
"prettier-plugin-tailwindcss": "^0.5.14",
"react": "19.1.0",