From 4800f8fb706a092a38255ee70904227238b2a6f6 Mon Sep 17 00:00:00 2001 From: lolka1333 Date: Mon, 5 Jan 2026 05:50:40 +0100 Subject: feat: Real-time Outbound Traffic, UI Improvements & Fix (#3629) * Refactor HTML and JavaScript for improved UI and functionality - Cleaned up JavaScript methods in subscription.js for better readability. - Updated inbounds.html to clarify traffic update handling and removed unnecessary comments. - Enhanced xray.html by correcting casing in routingDomainStrategies. - Added mobile touch scrolling styles in page.html for better tab navigation on small screens. - Streamlined vless.html by removing redundant line breaks and improving form layout. - Refined subscription subpage.html for better structure and user experience. - Adjusted outbounds.html to improve button visibility and functionality. - Updated xray_traffic_job.go to ensure accurate traffic updates and real-time UI refresh. * Refactor client traffic handling in InboundService - Updated addClientTraffic method to initialize onlineClients as an empty slice instead of nil. - Improved clarity and consistency in handling empty onlineUsers scenario. * Add WebSocket support for outbounds traffic updates - Implemented WebSocket connection in xray.html to handle real-time updates for outbounds traffic. - Enhanced xray_traffic_job.go to retrieve and broadcast outbounds traffic updates. - Introduced MessageTypeOutbounds in hub.go for managing outbounds messages. - Added BroadcastOutbounds function in notifier.go to facilitate broadcasting outbounds updates to connected clients. --------- Co-authored-by: lolka1333 --- web/html/common/page.html | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'web/html/common') diff --git a/web/html/common/page.html b/web/html/common/page.html index 0af63afb..058682d5 100644 --- a/web/html/common/page.html +++ b/web/html/common/page.html @@ -24,6 +24,40 @@ body { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Vazirmatn', 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; } + + /* mobile touch scrolling for tabs */ + @media (max-width: 576px) { + .ant-tabs-nav-container { + overflow-x: auto !important; + -webkit-overflow-scrolling: touch; + scroll-behavior: smooth; + overscroll-behavior-x: contain; + white-space: nowrap; + max-width: 100%; + padding: 0 !important; /* Remove padding for arrows */ + } + .ant-tabs-nav-wrap { + overflow: visible !important; + padding: 0 !important; + } + .ant-tabs-nav-scroll { + overflow: visible !important; + box-shadow: none !important; + } + .ant-tabs-nav { + display: flex !important; + transform: none !important; /* Disable JS transform */ + width: auto !important; + margin: 0 !important; + } + .ant-tabs-tab-prev, + .ant-tabs-tab-next { + display: none !important; /* Hide arrows */ + } + .ant-tabs-nav-container::-webkit-scrollbar { + display: none; + } + } {{ .host }} – {{ i18n .title}} {{ end }} -- cgit v1.2.3