Adds IndexedDB and operation queue for robust offline synchronization Introduces SyncManager to handle background data synchronization Supports local event operations with automatic remote sync queuing Enhances application reliability and user experience in low/no connectivity scenarios
132 lines
2.7 KiB
JSON
132 lines
2.7 KiB
JSON
[
|
|
{
|
|
"id": "test-1",
|
|
"title": "Morning Standup",
|
|
"start": "2025-11-04T08:00:00Z",
|
|
"end": "2025-11-04T08:30:00Z",
|
|
"type": "meeting",
|
|
"allDay": false,
|
|
"syncStatus": "synced",
|
|
"metadata": {
|
|
"duration": 30,
|
|
"color": "#ff5722"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-2",
|
|
"title": "Development Sprint",
|
|
"start": "2025-11-04T09:00:00Z",
|
|
"end": "2025-11-04T12:00:00Z",
|
|
"type": "work",
|
|
"allDay": false,
|
|
"syncStatus": "synced",
|
|
"metadata": {
|
|
"duration": 180,
|
|
"color": "#2196f3"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-3",
|
|
"title": "Lunch Break",
|
|
"start": "2025-11-04T12:00:00Z",
|
|
"end": "2025-11-04T13:00:00Z",
|
|
"type": "break",
|
|
"allDay": false,
|
|
"syncStatus": "synced",
|
|
"metadata": {
|
|
"duration": 60,
|
|
"color": "#4caf50"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-4",
|
|
"title": "Client Meeting",
|
|
"start": "2025-11-04T14:00:00Z",
|
|
"end": "2025-11-04T15:30:00Z",
|
|
"type": "meeting",
|
|
"allDay": false,
|
|
"syncStatus": "synced",
|
|
"metadata": {
|
|
"duration": 90,
|
|
"color": "#673ab7"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-5",
|
|
"title": "Code Review Session",
|
|
"start": "2025-11-04T16:00:00Z",
|
|
"end": "2025-11-04T17:00:00Z",
|
|
"type": "meeting",
|
|
"allDay": false,
|
|
"syncStatus": "synced",
|
|
"metadata": {
|
|
"duration": 60,
|
|
"color": "#ff9800"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-6",
|
|
"title": "Public Holiday",
|
|
"start": "2025-11-05T00:00:00Z",
|
|
"end": "2025-11-05T23:59:59Z",
|
|
"type": "holiday",
|
|
"allDay": true,
|
|
"syncStatus": "synced",
|
|
"metadata": {
|
|
"duration": 1440,
|
|
"color": "#f44336"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-7",
|
|
"title": "Team Workshop",
|
|
"start": "2025-11-06T09:00:00Z",
|
|
"end": "2025-11-06T11:30:00Z",
|
|
"type": "meeting",
|
|
"allDay": false,
|
|
"syncStatus": "synced",
|
|
"metadata": {
|
|
"duration": 150,
|
|
"color": "#9c27b0"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-8",
|
|
"title": "Birthday Celebration",
|
|
"start": "2025-11-07T00:00:00Z",
|
|
"end": "2025-11-07T23:59:59Z",
|
|
"type": "personal",
|
|
"allDay": true,
|
|
"syncStatus": "synced",
|
|
"metadata": {
|
|
"duration": 1440,
|
|
"color": "#e91e63"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-9",
|
|
"title": "Sprint Retrospective",
|
|
"start": "2025-11-07T13:00:00Z",
|
|
"end": "2025-11-07T14:30:00Z",
|
|
"type": "meeting",
|
|
"allDay": false,
|
|
"syncStatus": "pending",
|
|
"metadata": {
|
|
"duration": 90,
|
|
"color": "#3f51b5"
|
|
}
|
|
},
|
|
{
|
|
"id": "test-10",
|
|
"title": "Documentation Update",
|
|
"start": "2025-11-08T10:00:00Z",
|
|
"end": "2025-11-08T12:00:00Z",
|
|
"type": "work",
|
|
"allDay": false,
|
|
"syncStatus": "pending",
|
|
"metadata": {
|
|
"duration": 120,
|
|
"color": "#009688"
|
|
}
|
|
}
|
|
]
|