ProcessLog (v1.0) is a static single-page project tracking dashboard built for a user named Lina, a fashion designer. The app renders data from a hardcoded JavaScript object (sampleData) rather than a live API. It presents a single project — "Spring Collection Concept" — organized into three numbered phases with associated artifacts.
The layout is divided into three columns:
- Left sidebar — Project Stats: Displays total projects (1), completed projects (0), phases tracked (3), total artifacts (3), and active projects (1).
- Main content area: Shows the project title, category badge ("Fashion Design"), status badge ("In Progress"), and start date (Jan 31, 2026). Below that, three collapsible Project Phase cards are listed: Research (Moodboard artifact), Ideation (Sketch artifact), and Prototype (Prototype artifact). A "Reflections & Insights" section below the phases shows Key Challenges, Lessons Learned, and Next Steps — all hardcoded notes from the designer.
- Right sidebar — Project Timeline: A simple vertical timeline that lists the three phases (Research, Ideation, Prototype) each labeled with the parent project name.
Improve the ProcessLog app with the following fixes and feature additions:
1. **Fix phase collapse:** When a phase card is clicked, actually toggle the visibility of its description and artifact list. The phase header (number + name + arrow) should remain visible, but the body content should animate open/closed using CSS max-height transitions.
2. **Replace artifact alerts with modals:** When the → arrow on an artifact is clicked, open a styled modal/overlay that shows the artifact type, title, a placeholder image (or an icon if no image), and metadata. Include a close button.
3. **Make the progress bar dynamic:** Calculate the progress bar fill width based on the ratio of completedProjects / totalProjects (or completed phases / total phases). Use a CSS custom property to animate the bar fill.
4. **Add timeline dates:** Pull startDate from the project data and assign estimated phase dates (e.g., evenly distributed across the project duration). Display these next to each timeline item in the right sidebar.
5. **Support multiple projects:** Render all items in the projects[] array and add a left-sidebar project list or tabs so users can switch between projects. Highlight the active project.
6. **Add an "Add Project" / "Add Phase" form:** Include a collapsible form at the bottom of the left sidebar that lets users define a new project (title, category, start date) and add it to the view dynamically using localStorage for persistence.
7. **Status-based color coding:** Color the phase number badges and artifact icons differently based on a phase status field (e.g., "complete" = green, "in-progress" = yellow, "not-started" = gray).