{ 'name': 'POS UI Optimization', 'version': '1.0', 'category': 'Sales/Point of Sale', 'summary': 'Optimize POS UI for low-RAM devices with incremental rendering (Odoo 19).', 'description': """ POS UI Optimization =================== This module optimizes the Point of Sale user interface for resource-constrained devices and introduces a dedicated compact portrait display mode for 6-inch touchscreen terminals. Features -------- 1. Incremental Product Rendering: Progressive loading of product catalogues on scroll. 2. Incremental Order Line Rendering: Progressive loading of order lines in the cart. 3. Portrait Display Mode: Single-pane responsive layout for mobile POS terminals. """, 'author': "Suherdy Yacob", 'depends': ['point_of_sale', 'pos_restaurant', 'pos_loyalty_member_custom'], 'data': [ 'views/res_config_settings_views.xml', 'views/pos_order_view.xml', ], 'assets': { 'point_of_sale._assets_pos': [ # Incremental rendering patches (existing) 'pos_ui_optimization/static/src/app/services/pos_store_patch.js', 'pos_ui_optimization/static/src/app/components/order_display/order_display_patch.js', 'pos_ui_optimization/static/src/app/components/order_display/order_display_patch.xml', 'pos_ui_optimization/static/src/app/screens/product_screen/product_screen_patch.js', 'pos_ui_optimization/static/src/app/screens/product_screen/product_screen_patch.xml', 'pos_ui_optimization/static/src/app/screens/product_screen/order_summary_patch.js', 'pos_ui_optimization/static/src/app/screens/product_screen/order_summary_patch.xml', # Safe multi-device Release table guard 'pos_ui_optimization/static/src/app/screens/product_screen/order_summary/safe_release_patch.js', # Multi-device sync hardening (table-open sync, 30s auto-refresh, visibility refresh) 'pos_ui_optimization/static/src/app/screens/floor_screen/floor_screen_sync_patch.js', # Payment screen patches 'pos_ui_optimization/static/src/app/screens/payment_screen/payment_screen_patch.xml', # Ticket screen patches 'pos_ui_optimization/static/src/app/screens/ticket_screen/ticket_screen_patch.xml', # Portrait mode — service must load first 'pos_ui_optimization/static/src/app/services/portrait_mode.js', # Navbar display-mode toggle 'pos_ui_optimization/static/src/app/components/navbar/navbar_patch.js', 'pos_ui_optimization/static/src/app/components/navbar/navbar_patch.xml', # Category selector patch 'pos_ui_optimization/static/src/app/components/category_selector/category_selector_patch.js', 'pos_ui_optimization/static/src/app/components/category_selector/category_selector_patch.xml', # ProductScreen portrait tab state + layout 'pos_ui_optimization/static/src/app/screens/product_screen/portrait_mode_patch.js', 'pos_ui_optimization/static/src/app/screens/product_screen/portrait_screen.xml', # ProductCard and Orderline optimization patches 'pos_ui_optimization/static/src/app/components/product_card/product_card_patch.xml', 'pos_ui_optimization/static/src/app/components/orderline/orderline_patch.xml', # Note splitting and defensive parsing patches 'pos_ui_optimization/static/src/app/screens/product_screen/notes_patch.js', # Portrait CSS (must load after all XML patches) 'pos_ui_optimization/static/src/scss/portrait.scss', ], 'point_of_sale.customer_display_assets': [ 'pos_ui_optimization/static/src/customer_display/customer_display_patch.js', ], }, 'installable': True, 'application': False, 'license': 'LGPL-3', }