Files
mariani_mobile/types/types.ts
leonardo 44d021891f feat: Add document download and upload. Add NFC support and enhance attendance and permits views
- Improved error message handling in LoginScreen for invalid credentials.
- Added new images: mariani-icon.png and mariani-splash.png.
- Updated AddDocumentModal to handle file extensions and improve UI.
- Enhanced CalendarWidget to support month change callbacks.
- Introduced NfcScanModal for NFC tag scanning with animations.
- Revamped QrScanModal to utilize camera for QR code scanning.
- Removed mock data from data.ts and streamlined Office data.
- Updated package dependencies for expo-camera and react-native-nfc-manager.
- Added utility function to parse seconds to time format.
- Refactored document upload logic to use FormData for server uploads.
2026-01-19 18:10:31 +01:00

75 lines
1.3 KiB
TypeScript

import { DateType } from "react-native-ui-datepicker";
export interface UserData {
name: string;
surname: string;
username: string;
role?: string;
email?: string;
id: string;
}
export interface ActivityItem {
id: string;
type: 'document' | 'attendance' | 'permit';
title: string;
subtitle: string;
date_display: string;
}
export interface AttendanceRecord {
id: number;
site: string;
subactivity: string;
date: string;
in: string;
out: string | null;
time: number | null;
}
export interface DocumentItem {
id: number;
mimetype: string;
title: string;
url: string;
updated_at: string;
}
export interface OfficeItem {
id: number;
name: string;
status: 'online' | 'offline';
temp: number;
lights: boolean;
power: number;
}
export interface TimeOffRequestType {
id: number;
name: string;
color: string;
abbreviation: string;
time_required: number;
deleted: number;
}
export interface TimeOffRequest {
id: number;
id_type: number;
id_user: number;
start_date: DateType;
end_date?: DateType | null;
start_time?: string | null;
end_time?: string | null;
message?: string | null;
status: number;
timeOffRequestType: TimeOffRequestType;
}
export interface ConstructionSite {
id: number;
// id_client: number;
name: string;
code: string;
attachments_count: number;
}