All notable changes to this project will be documented in this file.
- Flow Column Resizing: Navigational flow row columns on the left can now be fully resized by horizontally dragging their edges, and are permanently tracked via
localStoragealongside JSON outputs. - Event Duplication: Added a 'Duplicate' button when hovering over events that seamlessly clones the event and places it sequentially into the earliest non-overlapping slot.
- Cross-Flow Drag: Allowed dragging and dropping events vertically between different flows seamlessly.
- Undo/Redo: Integrated
zundofor state management and createdUndoRedoControlscomponent. - Clear All: Added functionality and button to clear all flows and events at once.
- Event Editing: Added inline editing functionality to draggable events allowing users to directly adjust start and end times and save changes.
- Event Deletion: Added a confirmation dialog prompt before deleting an event.
- Data Export & Import: Added
DataExportImportcomponent to Export and Import timeline JSON. - Timeline Grid: Added
TimelineGridcomponent for improved timeline visualization. - Timeline Settings: Added
TimelineSettingscomponent to control zoom and max duration. - App Title: Added
AppTitlecomponent. - Overlap Detection: Implemented event overlap detection preventing conflicting overlapping elements inside flows.
- Color Selection: Added predefined color selection for event customization.
- Event Handles: Added resize handles and delete buttons to draggable events.
- Deployment: Configured GitHub Pages deployment.
- License: Added MIT License for project.
- Color Selection Popover UI: Transformed the static color palette into a dynamic, expandable modal picker to conserve space and enhance the interface flow.
- Event Edit UI: Rewrote the inline editing form to sit atop a crisp, shadowed border background, ensuring maximal legibility against multiple underlying flows.
- Color Selection UI: Replaced native color inputs with robust inline color swatches and expanded predefined palette to 24 colors.
- Responsive Design: Enhanced
DraggableEventdisplay by adding inline-size container type, improving duration title, and adjusting time label visibility, including hiding time range labels on smaller screens. - UI Improvements: Refactored the
DraggableEventcomponent, improving input sizes, button styles, and the styling for the duration label. - Layout Adjustments: Various padding and alignment fixes across TimelineContainer, App, Controls, and AddFlowForm.
- Add Event Form: Refactored AddEventForm to use predefined colors, ref input for better UX focus management, and updated numeric inputs.
- Component Refactors: Separated AddFlowForm and AddEventForm, and integrated
useTimelineLayoutanduseDraggableEventhooks for logic separation. - Performance/State: Eliminated unnecessary
useEffectcalls in flow ID selection and improved event dragging logic.
- CI Builds: Fixed CI proxy and type mapping errors (bypassing tsc on CI and using npm install instead of npm ci).