Add swipe-to-delete functionality for requests and improve QR Code scanning

This commit is contained in:
2026-02-17 16:12:15 +01:00
parent 68e25fac71
commit ed25c5299d
7 changed files with 249 additions and 73 deletions

View File

@@ -7,7 +7,7 @@ import { TimePickerModal } from './TimePickerModal';
import api from '@/utils/api';
import { formatPickerDate } from '@/utils/dateTime';
import { AppDatePicker } from '@/components/AppDatePicker';
import { KeyboardAvoidingView } from 'react-native-keyboard-controller';
import { KeyboardAwareScrollView } from 'react-native-keyboard-controller';
interface RequestPermitModalProps {
visible: boolean;
@@ -116,13 +116,19 @@ export default function RequestPermitModal({ visible, types, onClose, onSubmit }
</TouchableOpacity>
</View>
<KeyboardAvoidingView
behavior={"padding"}
keyboardVerticalOffset={100}
className='flex-1 mh-600'
<KeyboardAwareScrollView
bottomOffset={Platform.OS === 'ios' ? 50 : 80}
disableScrollOnKeyboardHide={false}
enabled={true}
keyboardShouldPersistTaps="handled"
showsVerticalScrollIndicator={false}
contentContainerStyle={{
paddingBottom: 70,
flexGrow: 1
}}
className="flex-1"
>
<ScrollView showsVerticalScrollIndicator={false} contentContainerStyle={{ paddingBottom: 40 }}>
<View className="space-y-6">
<View className="space-y-6">
{/* Permit Type */}
<View className='mb-6'>
<Text className="text-lg font-bold text-gray-700 mb-3">Tipologia Assenza</Text>
@@ -181,6 +187,7 @@ export default function RequestPermitModal({ visible, types, onClose, onSubmit }
value={startTime}
onChangeText={setStartTime}
editable={false}
pointerEvents="none"
/>
</TouchableOpacity>
</View>
@@ -194,6 +201,7 @@ export default function RequestPermitModal({ visible, types, onClose, onSubmit }
value={endTime}
onChangeText={setEndTime}
editable={false}
pointerEvents="none"
/>
</TouchableOpacity>
</View>
@@ -222,10 +230,12 @@ export default function RequestPermitModal({ visible, types, onClose, onSubmit }
<TextInput
placeholder="Scrivi qui il motivo..."
placeholderTextColor="#9CA3AF"
className="w-full px-3 py-4 bg-white font-bold text-gray-800 rounded-lg border border-orange-200 text-gray-800"
className="w-full px-3 py-3 bg-white font-bold text-gray-800 rounded-lg border border-orange-200"
textAlignVertical="top"
value={message}
onChangeText={setMessage}
multiline
numberOfLines={3}
/>
</View>
</View>
@@ -249,11 +259,10 @@ export default function RequestPermitModal({ visible, types, onClose, onSubmit }
<Text className="text-white text-center font-bold text-lg">Invia Richiesta</Text>
</TouchableOpacity>
</View>
</View>
</ScrollView>
</KeyboardAvoidingView>
</View>
</KeyboardAwareScrollView>
</View>
</View>
</Modal>
);
};
};