Major UI/UX improvements and bug fixes:
• Fixed date formatting bug in ticket receipts (undefined dates)
• Removed clear form button per user request
• Added favicon integration across all pages (apple-touch-icon, favicon variants)
• Implemented auto-collapse for product categories after adding items
• Changed all ticket content alignment to left for better readability
• Made product interface more compact to reduce scrolling
• Enhanced date validation and formatting throughout the system
Technical changes:
- Fixed esc() function regex that was causing date corruption
- Added collapseAllCategories() function for better UX
- Updated cache-busting versions for proper browser refresh
- Improved date handling with proper validation
- Added comprehensive favicon support with web manifest
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Remove browser prompt for anticipo comment and use form field instead to avoid requesting the same information twice.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix category mapping from 'Vanity Lashes'/'PMU Services' to 'Pestañas'/'Microblading'
- Update global products array when loading from API
- Add debug logging for categories and products count
- Add new payment methods: Otros, Interno, GiftCard
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix toggleCategory JavaScript error by adding null checks for productsGrid
- Fix product import persistence by changing from INSERT OR REPLACE to DELETE + INSERT
- Add automatic default product import on server startup when database is empty
- Ensure product data survives server restarts and imports
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add sales subtabs: Ventas and Tickets for better organization
- Implement manual anticipos with confirmation checkbox system
- Add automatic "Público General" for sales without specific client
- Reorganize service order: Clean Girl → Elegant → Mystery → Seduction
- Replace gradient with solid black header background
- Improve price alignment with grid layout
- Add sort_order field to products for consistent ordering
- Move movements section from dashboard to Tickets subtab
- Enhanced JavaScript functionality for subtab navigation
- Remove TASKS.md documentation file
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Refactor date generation to use direct string construction instead of
intermediate variables to prevent undefined values in ticket dates.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed unsafe string concatenation in print.js date function
- Replaced manual padding logic with String().padStart() method
- Updated cache busting to v1757039367 for proper reload
- Fixed default tab routing for regular users to 'Ventas'
- Enhanced ticket layout with right-aligned total and payment method
- Improved print styling with 72mm width and better spacing
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update APP_VERSION to 1.3.7 in app.js
- Update Docker image version to marcogll/ap_pos:1.3.7 in docker-compose.yml
- Minor patch release focusing on user role security improvements
Docker images published:
- marcogll/ap_pos:1.3.7 (new version)
- marcogll/ap_pos:latest (updated)
Security enhancements included:
✅ Proper dashboard/settings access control
✅ Sales deletion restricted to admin only
✅ Correct initial tab routing by role
✅ Fixed UI permission selectors
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix setupUIForRole selector to use correct data-tab attributes
- Hide Dashboard and Settings tabs for regular users (non-admin)
- Remove delete buttons from sales table for regular users
- Set initial tab to 'Ventas' for regular users instead of Dashboard
- Add comprehensive logging for role setup debugging
- Update cache buster to v=101.0 for proper browser refresh
Security improvements:
- Regular users: Access to Ventas, Clientes, Productos only
- Admin users: Full access to all sections including Dashboard/Settings
- Proper enforcement of user role restrictions in UI
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update APP_VERSION to 1.3.6 in app.js
- Update Docker image version to marcogll/ap_pos:1.3.6 in docker-compose.yml
- Published Docker images:
- marcogll/ap_pos:1.3.6
- marcogll/ap_pos:latest
- Includes all ticket date formatting corrections from previous commit
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix ticket date format from "04undefined09undefined2025" to proper "DD/MM/YYYY HH:MM"
- Implement proper date handling using movement's fechaISO timestamp
- Add bold formatting for Folio and Fecha labels in tickets
- Enhance appointment date picker with HTML5 date input
- Implement smart time slot availability checking
- Improve anticipo (advance payment) handling with better UX
- Add comprehensive filtering system for products table
- Update cache busting to v=99.9 for proper browser reload
- Modernize date/time components throughout the application
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added unified table for services, courses, and anticipos in Products tab
- Implemented table sorting by folio, date, appointment, and description
- Added filtering by product type and real-time search functionality
- Created action buttons with icons for edit, cancel/reactivate, and delete
- Added special handling for anticipos with appointment date/time fields
- Fixed JavaScript conflicts and function naming issues
- Integrated with existing product management system
- Added responsive design with category badges and status indicators
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated README.md version references from 1.8 to 1.3.5
- Changed Docker image from marcogll/ap_pos:latest to coderk/ap_pos:1.3.5
- Prepared Docker configuration for coderk deployment
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Se realizan los siguientes cambios:
- Se estandariza el formato de fecha a dd/mm/aaaa en toda la aplicación (tablas, reportes, tickets) para consistencia.
- Se ajusta la versión de la aplicación a 1.3.0.
- Se reduce el tamaño del logo principal para mejorar la proporción visual.
- Se corrige el comportamiento de las pestañas de navegación para que en estado inactivo solo muestren el ícono.
- Se añade una sección discreta para la ubicación y exportación de datos, visible solo para administradores, con instrucciones para acceder a la base de datos en el contenedor Docker.
Se realizan los siguientes cambios:
- Se estandariza el formato de fecha a dd/mm/aaaa en toda la aplicación (tablas, reportes, tickets) para consistencia.
- Se ajusta la versión de la aplicación a 1.3.0.
- Se reduce el tamaño del logo principal para mejorar la proporción visual.
- Se corrige el comportamiento de las pestañas de navegación para que en estado inactivo solo muestren el ícono.
- Created setup.html for the initial configuration of the admin account.
- Implemented setup.js to handle form submission and validation.
- Added logo images for branding.
- Introduced storage.js for API data handling (load, save, remove).
- Added styles.css for consistent styling across the application.