diff options
| author | MHSanaei <ho3ein.sanaei@gmail.com> | 2026-05-05 00:27:57 +0300 |
|---|---|---|
| committer | MHSanaei <ho3ein.sanaei@gmail.com> | 2026-05-05 00:27:57 +0300 |
| commit | 32b7ada54915adc7b6f93e9fef5e468e2fe66f6a (patch) | |
| tree | 340b86a6cc30e0fc841daf0d6fd2ba1605c96028 /sub/subService.go | |
| parent | 6099a07ff0a3f619ace3c7645ee76dce943a97e0 (diff) | |
subpage: enabled state
Track and surface a subscription's enabled state from backend to frontend so the UI can show inactive subscriptions and use it in active-state logic.
Changes:
- sub/subService.go: track hasEnabledClient, set traffic.Enable, add Enabled to PageData and populate it in BuildPageData.
- sub/subController.go: include enabled in the page context.
- web/html/settings/panel/subscription/subpage.html: emit data-enabled attribute and render an "inactive" tag when disabled.
- web/assets/js/subscription.js: read data-enabled and include it in isActive() checks.
This ensures subscriptions with no enabled clients are marked inactive in the UI and excluded from being considered active.
Diffstat (limited to 'sub/subService.go')
| -rw-r--r-- | sub/subService.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sub/subService.go b/sub/subService.go index d9fe0a6b..12d9bfb5 100644 --- a/sub/subService.go +++ b/sub/subService.go @@ -46,6 +46,7 @@ func (s *SubService) GetSubs(subId string, host string) ([]string, int64, xray.C var result []string var traffic xray.ClientTraffic var lastOnline int64 + var hasEnabledClient bool var clientTraffics []xray.ClientTraffic inbounds, err := s.getInboundsBySubId(subId) if err != nil { @@ -78,6 +79,9 @@ func (s *SubService) GetSubs(subId string, host string) ([]string, int64, xray.C } for _, client := range clients { if client.SubID == subId { + if client.Enable { + hasEnabledClient = true + } link := s.getLink(inbound, client.Email) result = append(result, link) ct := s.getClientTraffics(inbound.ClientStats, client.Email) @@ -111,6 +115,7 @@ func (s *SubService) GetSubs(subId string, host string) ([]string, int64, xray.C } } } + traffic.Enable = hasEnabledClient return result, lastOnline, traffic, nil } @@ -1304,6 +1309,7 @@ type PageData struct { Host string BasePath string SId string + Enabled bool Download string Upload string Total string @@ -1453,6 +1459,7 @@ func (s *SubService) BuildPageData(subId string, hostHeader string, traffic xray Host: hostHeader, BasePath: basePath, SId: subId, + Enabled: traffic.Enable, Download: download, Upload: upload, Total: total, |
