Commit Graph
16 Commits
Author SHA1 Message Date
tuan.cna 8f8ee906ca πŸ—‘οΈ Remove Direction Section from Theme Customizer
βœ… Removed Features:
- Removed Direction section (LTR/RTL) from Theme Customizer
- Cleaned up Direction radio buttons and controls
- Removed RTL external link reference
- Fixed JSX structure after removal

πŸ”§ Technical Fixes:
- Fixed missing closing div tag after Direction section removal
- Proper JSX structure maintained
- No ESLint parsing errors
- Clean component structure

πŸ“‹ Changes Made:
- src/InitialPage/themeSettings.jsx: Removed Direction section
- Maintained all other theme customizer functionality
- Layout Mode, Navigation Colors, and other sections preserved
- Clean removal without breaking existing features

🎯 Benefits:
- Simplified theme customizer interface
- Removed unused Direction functionality
- Cleaner user experience
- Focused on essential theme options only

πŸš€ Maintained Features:
- Dark/Light mode switching
- Layout modes (Default, Box, Collapsed, etc.)
- Navigation color options
- Reset and Buy Now buttons
- All existing theme functionality
2025-06-02 09:37:20 +07:00
tuan.cna 7d14e75e7f πŸ”§ Fix ESLint Warnings - Remove Unused Variables
βœ… Fixed ESLint Issues:
- Removed unused isDarkMode variable and theme detection logic
- Removed unused startRecord and endRecord variables
- Cleaned up theme change listeners that are no longer needed
- Removed redundant theme state management

🧹 Code Cleanup:
- All theme handling now done in CustomPagination component
- No duplicate theme detection logic
- Cleaner component structure
- Better separation of concerns

πŸ“‹ Changes Made:
- src/feature-module/inventory/productlist.jsx: Removed unused variables
- All ESLint warnings resolved
- No functional changes to pagination behavior
- Maintained all existing functionality

🎯 Benefits:
- Cleaner code without warnings
- Better maintainability
- Proper component separation
- No unused code bloat
2025-05-30 17:47:03 +07:00
tuan.cna be9da50fc5 πŸ”„ Create Reusable CustomPagination Component
🎯 Component Architecture:
- Created standalone CustomPagination component in src/components/
- Fully reusable across Product and Project Tracker
- Props-based configuration for maximum flexibility
- Built-in theme detection and switching

🎨 Feature-Rich Implementation:
- Compact and full-size modes (compact prop)
- Configurable page size options
- Show/hide info and page size selector
- Custom class names for styling
- Loading states and disabled handling

πŸ“‹ Props Interface:
- currentPage, pageSize, totalCount, totalPages
- loading, onPageChange, onPageSizeChange
- pageSizeOptions, showInfo, showPageSizeSelector
- compact, className for customization

πŸŒ“ Theme Integration:
- Automatic dark/light mode detection
- Redux state, localStorage, and document attribute fallbacks
- Real-time theme switching with MutationObserver
- Force re-render mechanism for theme changes

πŸ”§ Technical Features:
- Built-in theme change listeners
- Proper event cleanup
- Dynamic styling based on theme and compact mode
- Hover effects and animations
- Professional button styling

πŸš€ Usage Examples:
- Project Tracker: compact={true} for smaller size
- Product List: compact={false} for full size
- Consistent API across all components
- Easy to maintain and extend

βœ… Code Quality:
- Clean component separation
- No code duplication
- Proper prop validation
- Consistent styling patterns
- Reusable across entire application
2025-05-30 17:44:47 +07:00
tuan.cna 4784fc8bf5 πŸ“ Make Custom Pagination Compact Size Like Product UI
🎯 Compact Design Implementation:
- Reduced container padding from 16px 24px to 8px 16px
- Smaller border radius from 12px to 8px
- Reduced margins from 16px to 8px
- Compact font size 13px for overall container

πŸ“ Button Size Optimization:
- Pagination buttons: 32px β†’ 24px (25% smaller)
- Font size: 14px β†’ 11px for better fit
- Border width: 2px β†’ 1px for cleaner look
- Reduced gap between buttons: 8px β†’ 4px

πŸ”€ Text and Icon Adjustments:
- Info text: 14px β†’ 12px font size
- Select dropdown: 14px β†’ 12px font size
- Icon size: 24px β†’ 16px (emoji icon)
- Reduced padding on select: 4px 8px β†’ 2px 6px

🎨 Visual Refinements:
- Lighter shadows for compact appearance
- Reduced blur effects: blur(10px) β†’ blur(8px)
- Smaller gaps throughout: 12px β†’ 6px/8px
- Faster transitions: 0.3s β†’ 0.2s

πŸ“± Space Efficiency:
- More compact layout fits better in table
- Maintains all functionality with smaller footprint
- Better proportion matching Product component
- Improved visual hierarchy with smaller elements

πŸš€ User Experience:
- Still fully functional with all features
- Better integration with table layout
- Cleaner, more professional appearance
- Consistent sizing with Product pagination
2025-05-30 15:56:20 +07:00
tuan.cna 766ae95926 🎨 Final Dark Mode Fixes and Optimizations
πŸŒ™ Complete Dark Mode Implementation:
- Fixed React Hooks rules violations
- Enhanced theme detection with multiple fallbacks
- Real-time theme switching with proper re-rendering
- Custom pagination with beautiful dark/light mode styling

πŸ”§ Technical Improvements:
- Proper useSelector usage at component level
- MutationObserver for document attribute changes
- Storage event listeners for localStorage changes
- Force re-render mechanism with themeKey state

🎯 Visual Enhancements:
- Exact color matching with Product component
- Glassmorphism effects in dark mode
- Professional light mode styling
- Smooth transitions and hover effects

πŸš€ Production Ready Features:
- API integration with environment variables
- Custom pagination with page size controls
- Loading states and error handling
- Responsive design for all screen sizes

βœ… Code Quality:
- No React warnings or errors
- Clean component structure
- Proper event listener cleanup
- Comprehensive theme detection
2025-05-30 15:45:04 +07:00
tuan.cna 95edd9d278 πŸ”§ Fix React Hooks Rules Violation
🚨 Fixed Rules of Hooks Error:
- Moved useSelector hook call outside of getIsDarkMode function
- useSelector must be called directly in component, not in nested function
- Proper React hooks usage following React guidelines

πŸ”„ Refactored Theme Detection:
- Direct useSelector call for Redux theme state
- Separate variables for localStorage and document theme detection
- Combined theme detection with logical OR operator
- Maintained same functionality with proper hook usage

βœ… Code Quality Improvements:
- No more React hooks rules violations
- Cleaner code structure
- Better separation of concerns
- Maintained all theme detection functionality

🎯 Technical Details:
- useSelector called at component level
- Theme detection logic simplified
- Debug logging preserved
- All theme sources still checked properly
2025-05-30 15:39:35 +07:00
tuan.cna 59dabf09b9 πŸ”§ Fix Dark Mode Detection and Force Re-render
πŸŒ™ Enhanced Dark Mode Detection:
- Multiple fallback sources for theme detection
- Redux state, localStorage, and document attribute checking
- Real-time theme change detection with MutationObserver
- Force re-render mechanism with themeKey state

οΏ½οΏ½ Theme Change Listeners:
- MutationObserver for data-layout-mode attribute changes
- Storage event listener for localStorage colorschema changes
- Automatic re-render when theme switches
- Debug logging for theme state tracking

🎯 Force Re-render Implementation:
- themeKey state to trigger component updates
- Key prop on pagination container for forced re-mount
- Proper cleanup of event listeners and observers
- Enhanced theme detection reliability

πŸš€ Real-time Theme Switching:
- Immediate visual updates when toggling dark/light mode
- No page reload required for theme changes
- Consistent behavior across all theme switching methods
- Proper fallback chain for theme detection

πŸ” Debug Features:
- Console logging for theme state debugging
- Multiple source checking for theme detection
- Theme change event tracking
- Component re-render monitoring
2025-05-30 15:22:24 +07:00
tuan.cna 25835106e9 🎨 Fix Dark Mode Styling to Match Product Component Exactly
πŸŒ™ Exact Dark Mode Implementation:
- Use inline styles instead of CSS classes like Product component
- Match exact colors and gradients from Product pagination
- Implement proper theme switching with isDarkMode condition
- Remove CSS-only approach for inline style approach

🎯 Visual Consistency:
- Dark mode: #2c3e50 to #34495e gradients
- Light mode: #ffffff to #f8f9fa gradients
- Orange active buttons (#f39c12) in dark mode
- Blue active buttons (#007bff) in light mode
- Proper glassmorphism effects with backdrop blur

πŸ”§ Technical Fixes:
- Dynamic styling based on isDarkMode state
- Proper hover effects for both themes
- Consistent button animations and transitions
- Exact color matching with Product component
- Loading states with proper disabled styling

πŸŒ“ Theme Features:
- Seamless switching between dark and light modes
- Consistent visual language across components
- Professional appearance in both themes
- Enhanced user experience with smooth transitions
- Proper contrast and accessibility

πŸš€ User Experience:
- Immediate visual feedback on theme changes
- Smooth animations and hover effects
- Professional pagination controls
- Consistent styling with existing Product component
- Enhanced readability in both modes
2025-05-30 15:16:23 +07:00
tuan.cna f6cffbd21a πŸŒ“ Enhanced Dark/Light Mode Support for Custom Pagination
🎨 Complete Theme Integration:
- Full dark mode and light mode styling like Product component
- Automatic theme switching based on Redux isDarkMode state
- Consistent styling patterns across the application

πŸŒ™ Dark Mode Features:
- Dark blue/gray gradient backgrounds (#2c3e50, #34495e)
- Neon blue accents and borders (rgba(52, 152, 219, 0.3))
- Glassmorphism effects with backdrop blur
- Orange active page highlighting (#f39c12, #e67e22)
- Blue hover effects (#3498db, #2980b9)
- White text on dark backgrounds

β˜€οΈ Light Mode Features:
- Clean white/gray gradients (#ffffff, #f8f9fa)
- Subtle gray borders and shadows
- Blue active page highlighting (#007bff, #0056b3)
- Professional light theme appearance
- Dark text on light backgrounds

πŸ”§ Technical Improvements:
- Removed all inline styles from pagination components
- CSS-only styling with proper class-based approach
- Smooth transitions between theme modes
- Consistent hover and active states
- Proper disabled states for loading

🎯 Visual Enhancements:
- Enhanced gradient effects for both themes
- Improved shadow and border styling
- Better color contrast for accessibility
- Consistent icon styling across themes
- Professional hover animations

πŸš€ User Experience:
- Seamless theme switching without page reload
- Consistent visual language with Product component
- Improved readability in both modes
- Better visual hierarchy and spacing
- Enhanced interactive feedback
2025-05-30 15:07:41 +07:00
tuan.cna 536fe5f3cc 🎨 Add Custom Pagination Component to Project Tracker
πŸ“Š Custom Pagination Features:
- Beautiful custom pagination UI cloned from Product component
- Dark/Light mode support with dynamic styling
- Animated pagination buttons with hover effects
- Page size selector (10, 20, 50, 100 entries)
- Real-time pagination info display

🎨 Visual Enhancements:
- Gradient backgrounds with glassmorphism effects
- Smooth animations and transitions
- Hover effects with scale and shadow animations
- Active page highlighting with orange gradient
- Loading states with disabled styling

πŸ”§ Technical Implementation:
- Hide default Ant Design pagination completely
- Custom pagination state management
- Proper page change and page size change handlers
- Redux integration for dark mode theme
- Responsive design with flexbox layout

🌈 Styling Features:
- Light mode: Clean white/gray gradients
- Dark mode: Dark blue/gray gradients with neon accents
- Animated hover effects on all interactive elements
- Glassmorphism backdrop blur effects
- Color-coded pagination info (blue for range, red for total)

πŸš€ User Experience:
- Smooth page transitions
- Visual feedback for all interactions
- Disabled states during loading
- Intuitive page size selection
- Clear pagination information display

πŸ“± Responsive Design:
- Flexible layout that adapts to screen size
- Proper spacing and alignment
- Mobile-friendly button sizes
- Wrap-friendly pagination info layout
2025-05-30 15:02:49 +07:00
tuan.cna 704251d57f πŸ”— Use REACT_APP_API_BASE_URL from Environment Variables
🌐 Environment Configuration:
- Use REACT_APP_API_BASE_URL from .env file
- Dynamic API endpoint construction
- Support for different environments (dev, staging, prod)

πŸ”§ Enhanced API Integration:
- Added proper HTTP headers (Content-Type, Accept)
- Improved error handling with HTTP status checks
- Added console logging for debugging
- Fallback pagination when API doesn't provide it
- Better error state management

πŸ“Š API Call Structure:
- URL: \Projects
- Method: GET with proper headers
- Query params: page, pageSize
- Error handling for network issues
- Response validation

πŸš€ Production Ready:
- Environment-based configuration
- Robust error handling
- Debug logging for development
- Graceful fallbacks for missing data
- Clean error states

Current API Base URL: https://trantran.zenstores.com.vn/api/
2025-05-30 14:11:38 +07:00
tuan.cna 83971f3c1a πŸ”Œ Integrate Project Tracker with API /api/Projects
πŸ“Š API Integration Features:
- Load project data from /api/Projects endpoint
- Map API response to table format with proper field mapping
- Implement loading states with Spin component
- Add pagination support from API response

πŸ—‚οΈ Data Mapping:
- categoryName -> Category column
- startDate -> Start Date column
- progressPercentage -> Progress column
- endDate -> Deadline column
- status -> Status column
- budget -> Budget column
- projectName, clientName, createdByName mapped correctly

πŸ”§ Technical Implementation:
- Added useEffect for data loading on component mount
- Implemented loadProjects async function
- Added helper functions for status/category color mapping
- Integrated API pagination with table pagination
- Added error handling for API calls
- Loading spinner during data fetch

🎨 UI Enhancements:
- Maintained existing table design and styling
- Preserved all filter and search functionality
- Added loading states for better UX
- Dynamic status and category color mapping
- Proper date formatting with dayjs

πŸš€ Ready for Backend:
- API endpoint: /api/Projects
- Expected response format documented
- Pagination parameters: page, pageSize
- Error handling implemented
- Loading states managed
2025-05-30 14:02:58 +07:00
tuan.cna 4103d668be �️ Add Comprehensive ProjectTags Sample Data & Templates
οΏ½ ProjectTags Sample Data:
- 80+ sample tags across 4 projects
- Technology stack tags (React, Node.js, .NET, Python)
- Domain-specific tags (E-commerce, Banking, Design, Analytics)
- Methodology tags (Agile, Scrum, TDD, DevOps)
- Quality & compliance tags (Testing, Security, GDPR)

οΏ½οΏ½ Color-Coded Tag System:
- Blue: Frontend technologies, frameworks
- Green: Backend technologies, databases
- Orange: Cloud services, deployment
- Purple: Design tools, methodologies
- Red: Security, testing, compliance
- Yellow: Build tools, utilities
- Cyan: Mobile technologies
- Gray: Documentation, processes

�️ Sample Projects with Tags:
1. E-commerce Website (Web Dev)
   - Tech: React, .NET Core, SQL Server
   - Features: Payment gateway, Shopping cart
   - Process: Agile, Scrum, CI/CD

2. Mobile Banking App (Mobile)
   - Tech: React Native, Node.js, MongoDB
   - Features: Biometric auth, Real-time transactions
   - Security: PCI compliance, Encryption

3. Brand Identity Redesign (Design)
   - Tools: Figma, Adobe Creative Suite
   - Process: Design thinking, User research
   - Output: Logo, Brand guidelines

4. Customer Analytics Platform (Data Science)
   - Tech: Python, Machine Learning, AWS
   - Tools: Pandas, TensorFlow, Tableau
   - Process: Data-driven, MVP approach

οΏ½ Tag Templates & Categories:
- Pre-defined tag categories for form integration
- JSON format for frontend autocomplete
- Popular tags for quick selection
- Usage recommendations by project type
- Integration guidelines for Create Project form

οΏ½ Database Enhancements:
- Verification queries for tag statistics
- Tag usage analytics
- Search functionality by tags
- Tag suggestion algorithms
- Color-based tag organization

οΏ½ Ready for Integration:
- Frontend autocomplete data
- Backend tag validation
- Tag popularity tracking
- Category-based filtering
- Custom tag support with default colors
2025-05-29 22:33:37 +07:00
tuan.cna 321865288a οΏ½ Add Complete SQL Server Database Schema & Scripts
�️ Database Schema Features:
- Complete SQL Server database design for Project Management
- 10 tables with proper relationships and constraints
- Support for Create Project form requirements
- Scalable design with audit trails and time tracking

οΏ½ SQL Scripts Included:
- Database creation with proper sizing and configuration
- Core tables: Projects, Users, ProjectCategories
- Relationship tables: ProjectManagers, ProjectTeamMembers
- Additional tables: ProjectTags, ProjectAttachments, Clients
- Tracking tables: ProjectActivityLogs, ProjectTimeEntries

οΏ½ Advanced Features:
- Computed columns for FullName and Initials
- Triggers for automatic UpdatedAt timestamps
- Comprehensive indexes for performance
- Views for complex queries (ProjectSummary, ProjectTeam)
- Stored procedures for API integration

οΏ½ Stored Procedures:
- sp_CreateProject: Main procedure for form submission
- sp_GetProjectDetails: Complete project information
- sp_GetProjectCategories: Categories for dropdown
- sp_GetManagers: Managers for multi-select
- sp_GetTeamMembers: Team members for assignment
- sp_GetProjects: Project listing with pagination

οΏ½ Sample Data:
- Project categories (Web Dev, Mobile, Design, etc.)
- Sample users with different roles
- Sample clients and projects
- Complete test data for development

οΏ½ Production Ready:
- Error handling and validation
- Transaction management
- Proper foreign key constraints
- Soft delete support
- Full audit trail capability
2025-05-29 22:25:15 +07:00
tuan.cna b6be6c9ec7 οΏ½ Complete Create Project Form with Beautiful UI & Loading Components
✨ Major Features Added:
- Complete Create New Project form with full validation
- Beautiful LoadingButton component with animations
- Enhanced loading components with multiple styles
- Professional form styling with dark mode support

οΏ½ Create Project Form Features:
- Project Information: Name, Client, Description (required)
- Project Settings: Category, Priority, Status with color badges
- Timeline & Budget: Date pickers with validation, Budget input
- Team Assignment: Multi-select for managers and team members
- Form validation with real-time error display
- Responsive design for all screen sizes

οΏ½ Loading Components:
- LoadingButton: Customizable button with loading states
- EnhancedLoader: Multiple loading animation styles
- Smooth transitions and professional animations
- Size variants: small, medium, large
- Color variants: primary, secondary, success, etc.

οΏ½ UI/UX Improvements:
- UserAvatar component with initials fallback
- Gradient backgrounds for avatars (#ff9f43 to #e8890a)
- Professional form sections with icons
- Consistent 42px height for all form controls
- Beautiful hover effects and transitions
- Optimized button sizes (40px height)

οΏ½ Dark Mode Support:
- Complete dark theme for all new components
- Form backgrounds: #1d1d42
- Proper contrast ratios for accessibility
- Smooth theme transitions

οΏ½ Technical Features:
- Route /create-project added to router
- Form state management with React hooks
- Date validation (end date after start date)
- Multi-select with avatar display
- Error handling and user feedback
- Clean component architecture

οΏ½ Ready for Production:
- All ESLint warnings fixed
- Responsive design tested
- Loading states implemented
- Form validation complete
- Dark mode fully supported
2025-05-29 17:29:00 +07:00
tuan.cna a28fcc99ae ✨ Enhance Project Tracker Date Picker & Dark Mode Support
οΏ½ Features Added:
- Fixed date picker display issues in project tracker
- Added default date range (last 7 days to today)
- Implemented beautiful CSS styling for light mode
- Added comprehensive dark mode support
- Fixed CSS conflicts with form-control classes

οΏ½ UI Improvements:
- Modern date picker with orange accent (#ff9f43)
- Smooth hover and focus effects
- Consistent 42px height for all controls
- Better spacing with gap-3 between filters
- Professional box shadows and border radius

οΏ½ Dark Mode Features:
- Dark background (#1d1d42) for date picker
- Gray borders (#67748E) for better contrast
- White text for better readability
- Dark dropdown menus and calendar
- Automatic theme switching via Theme Customizer

οΏ½ Technical Fixes:
- Removed CSS conflicts with Bootstrap
- Added proper state management for date range
- Used dayjs for date handling
- Fixed ESLint warnings
- Improved component performance
2025-05-29 16:21:19 +07:00