Add complete planning documentation for CSS architecture refactoring project: - 7-phase implementation plan (92-120 hours) - 123 detailed tasks across all phases - Target: ~3,260 lines CSS reduction (40-50%) - Complete requirements analysis - Progress tracking system - Phase-by-phase breakdown with acceptance criteria Documentation structure: - features/README.md - Project overview and quick start - features/CSS_REFACTORING_PLAN.md - Implementation strategy - features/CSS_REFACTORING_REQUIREMENTS.md - Detailed requirements - features/PROGRESS_TRACKER.md - Live progress tracking - features/phases/*.md - 7 phase documents with tasks Ready to begin Phase 1: Forms Standardization 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
9.8 KiB
ROA2WEB CSS Refactoring - Implementation Plan
Project: CSS Architecture Refactoring
Start Date: TBD
Duration: 5-6 weeks (92-120 hours)
Status: Planning
Branch: feature/css-refactoring
Implementation Strategy
Branch Strategy
- Single feature branch:
feature/css-refactoring - Commit after each phase with detailed commit messages
- Final merge to main after all phases complete and tested
- No intermediate merges to avoid partial states in production
Testing Strategy
- Playwright visual snapshots - Capture baseline before Phase 1
- Snapshot comparison - After each phase completion
- Manual testing checklist - Desktop/tablet/mobile after each phase
- Real device testing - On actual mobile devices (not just browser resize)
Workflow
# Initial setup
git checkout -b feature/css-refactoring
npm run test:e2e -- --update-snapshots # Capture baseline
# For each phase
# 1. Implement changes
# 2. Test with snapshots
npm run test:e2e
# 3. Manual testing
# 4. Commit
git add .
git commit -m "feat(css): Phase X - [description]"
git push origin feature/css-refactoring
# Final merge (after Phase 7)
git checkout main
git merge feature/css-refactoring
git push origin main
Phase Overview
| Phase | Priority | Duration | Lines Saved | Risk | Status |
|---|---|---|---|---|---|
| 1. Standardizare Formulare | 🔥 High | 10-12h | ~150 | Medium | ⏸️ Pending |
| 2. Fundație Pattern-uri | 🏗️ Foundation | 8-10h | 0 (setup) | Low | ⏸️ Pending |
| 3. PrimeVue Centralizare | 🎨 High | 6-8h | ~150 | Medium | ⏸️ Pending |
| 4. Card Components | 📊 High | 16-20h | ~800 | High | ⏸️ Pending |
| 5. DashboardView Major | 🚀 Critical | 24-32h | ~1,710 | Very High | ⏸️ Pending |
| 6. View-uri Rămase | 📄 Medium | 16-20h | ~400 | Medium | ⏸️ Pending |
| 7. Documentare | 📚 High | 12-16h | 0 (docs) | Low | ⏸️ Pending |
| TOTAL | - | 92-120h | ~3,260 | - | 0% Complete |
Detailed Phase Breakdown
Phase 1: Standardizare Formulare ⚡
Priority: User-facing impact Duration: 10-12 hours Files: See phase-1-forms.md
Objectives:
- Eliminate inconsistent form patterns
- Standardize all forms to use
forms.css - Remove duplicate form styling
- Create form template for future use
Key Changes:
- LoginView.vue:
.field→.form-group - InvoicesView.vue:
.filter-group→.form-group - Eliminate ~150 lines of duplicate CSS
Phase 2: Fundație Pattern-uri Globale 🏗️
Priority: Foundation for future phases Duration: 8-10 hours Files: See phase-2-foundation.md
Objectives:
- Create global pattern files
- Establish reusable component classes
- Set up extended design tokens
- Prepare for major refactoring
New Files Created:
assets/css/patterns/interactive.cssassets/css/patterns/dashboard.cssassets/css/patterns/animations.cssassets/css/core/tokens.cssassets/css/vendor/primevue-overrides.css
Phase 3: PrimeVue Centralizare 🎨
Priority: Eliminate anti-patterns Duration: 6-8 hours Files: See phase-3-primevue.md
Objectives:
- Move all
:deep()overrides to global CSS - Eliminate
!importantfrom components - Replace hardcoded colors with design tokens
- Achieve 0 PrimeVue overrides in components
Target: 50+ :deep() instances → 0
Phase 4: Card Components 📊
Priority: High duplication area Duration: 16-20 hours Files: See phase-4-cards.md
Objectives:
- Extract common card patterns
- Refactor 5 card components
- Reduce card CSS by ~70%
- Create reusable card classes
Components:
- MetricCard.vue: 331 → 80 lines
- CashFlowMetricCard.vue: 179 → 60 lines
- ClientiBalanceCard.vue: 260 → 90 lines
- FurnizoriBalanceCard.vue: ~260 → 90 lines
- TreasuryDualCard.vue: ~200 → 60 lines
Phase 5: DashboardView Major Refactoring 🚀
Priority: CRITICAL - Biggest impact Duration: 24-32 hours Files: See phase-5-dashboard.md
Objectives:
- Reduce 2,010 lines to ~300 lines (85% reduction)
- Eliminate table style duplication
- Consolidate 4 responsive breakpoints to 1
- Extract all reusable patterns
⚠️ High Risk:
- Main dashboard view - critical functionality
- Extensive visual regression testing required
- Incremental approach mandatory
Phase 6: View-uri Rămase 📄
Priority: Complete standardization Duration: 16-20 hours Files: See phase-6-views.md
Objectives:
- Apply patterns to remaining views
- Ensure consistency across all pages
- Eliminate view-specific duplications
Views:
- TelegramView.vue: 218 → 80 lines
- BankCashRegisterView.vue
- CacheStatsView.vue
- Other views as needed
Phase 7: Documentare & Finalizare 📚
Priority: Long-term maintainability Duration: 12-16 hours Files: See phase-7-documentation.md
Objectives:
- Create comprehensive pattern library
- Document component styling guidelines
- Create developer onboarding guide
- Performance report and metrics
Deliverables:
docs/CSS_PATTERNS.mddocs/FORM_TEMPLATE.mddocs/COMPONENT_STYLING.mddocs/STYLING_GUIDELINES.md- Performance comparison report
Testing Checklist (Per Phase)
Automated Testing
- Playwright visual regression tests pass
- No snapshot differences (or approved differences)
- Build completes without errors
- No console errors in browser
Manual Testing
- Desktop view (1920x1080) - All functionality works
- Tablet view (768x1024) - Responsive layout correct
- Mobile view (375x667) - Touch interactions work
- All forms validate correctly
- All buttons respond to clicks
- All PrimeVue components styled correctly
- Hover states work on desktop
- Focus states visible (keyboard navigation)
- Loading states display correctly
- Error states display correctly
Browser Compatibility
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
Performance
- CSS bundle size measured (before/after)
- Page load time measured
- Lighthouse score recorded
- No performance degradation
Progress Tracking
See PROGRESS_TRACKER.md for detailed task-level tracking.
Overall Progress
- Phases Completed: 0/7 (0%)
- Total Hours Spent: 0h / 92-120h
- CSS Lines Eliminated: 0 / ~3,260
Current Phase
- Phase: None (Planning)
- Status: Awaiting approval
- Next: Phase 1 - Forms Standardization
Rollback Plan
If any phase causes critical issues:
Immediate Rollback
# Revert to last working commit
git reset --hard <last-good-commit>
git push origin feature/css-refactoring --force
Phase-Specific Rollback
# Revert specific phase commits
git revert <phase-commit-hash>
git push origin feature/css-refactoring
Complete Rollback
# Abandon feature branch
git checkout main
git branch -D feature/css-refactoring
# Redeploy last stable version
Success Criteria
Code Quality
- CSS duplication reduced from 70% to <20%
- Zero
:deep()PrimeVue overrides in components - All forms use standard
.form-grouppattern - Hardcoded values reduced from ~150 to <20
Performance
- CSS bundle size reduced by 30%
- Page load time improved by 15%
- Lighthouse score increased by 10+ points
Functionality
- Zero visual regressions
- All features work identically
- No console errors
- All tests pass
Documentation
- Pattern library complete
- Developer guidelines written
- Examples provided for all patterns
- Onboarding documentation ready
Communication Plan
Daily Updates
- Progress posted in development channel
- Blockers escalated immediately
- Phase completion announced
Phase Reviews
- Demo after each phase completion
- Stakeholder approval before next phase
- Testing results shared
Final Review
- Comprehensive demo of all changes
- Performance metrics presented
- Before/after comparison
- Approval for merge to main
Dependencies & Blockers
Current Blockers
- Plan approval pending
- Testing strategy confirmation needed
- Resource allocation required
External Dependencies
- PrimeVue library (must remain compatible)
- Playwright testing framework
- Vue.js 3 framework
Internal Dependencies
- Frontend development environment
- Access to staging/testing environment
- QA team availability for testing
Timeline
Optimistic: 5 weeks (92 hours @ 18h/week) Realistic: 6 weeks (108 hours @ 18h/week) Pessimistic: 7 weeks (120 hours @ 17h/week)
Week-by-Week Plan
| Week | Phases | Hours | Deliverable |
|---|---|---|---|
| 1 | Phase 1 + Phase 2 | 18-22h | Forms + Foundation |
| 2 | Phase 3 | 6-8h | PrimeVue centralized |
| 3 | Phase 4 | 16-20h | Cards refactored |
| 4 | Phase 5 (start) | 18-20h | Dashboard partial |
| 5 | Phase 5 (complete) + Phase 6 | 18-20h | Dashboard + Views |
| 6 | Phase 7 | 12-16h | Documentation |
Approval & Sign-off
Required Approvals
- Technical Lead - Plan review
- Product Owner - Scope approval
- QA Lead - Testing strategy approval
- Development Team - Resource commitment
Sign-off
- Plan approved for execution
- Resources allocated
- Timeline agreed
- Success metrics confirmed
Approved By: _____________ Date: _____________ Start Date: _____________
Last Updated: 2025-11-18 Document Version: 1.0 Next Review: After Phase 1 completion